Add frontend packages to pcconfig (#91)
* Fix pc init print * Specify frontend packages to pcconfig
This commit is contained in:
parent
20286062d6
commit
30b482666c
@ -1,6 +1,6 @@
|
|||||||
"""The Pynecone config."""
|
"""The Pynecone config."""
|
||||||
|
|
||||||
from typing import Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from pynecone import constants
|
from pynecone import constants
|
||||||
from pynecone.base import Base
|
from pynecone.base import Base
|
||||||
@ -32,3 +32,6 @@ class Config(Base):
|
|||||||
|
|
||||||
# The path to the bun executable.
|
# The path to the bun executable.
|
||||||
bun_path: str = constants.BUN_PATH
|
bun_path: str = constants.BUN_PATH
|
||||||
|
|
||||||
|
# Additional frontend packages to install.
|
||||||
|
frontend_packages: List[str] = []
|
||||||
|
@ -60,7 +60,7 @@ def init():
|
|||||||
utils.rm(os.path.join(constants.WEB_TEMPLATE_DIR, constants.NODE_MODULES))
|
utils.rm(os.path.join(constants.WEB_TEMPLATE_DIR, constants.NODE_MODULES))
|
||||||
utils.rm(os.path.join(constants.WEB_TEMPLATE_DIR, constants.PACKAGE_LOCK))
|
utils.rm(os.path.join(constants.WEB_TEMPLATE_DIR, constants.PACKAGE_LOCK))
|
||||||
utils.cp(constants.WEB_TEMPLATE_DIR, constants.WEB_DIR)
|
utils.cp(constants.WEB_TEMPLATE_DIR, constants.WEB_DIR)
|
||||||
utils.console.log("[bold green]Finished Initializing: {app_name}")
|
utils.console.log(f"[bold green]Finished Initializing: {app_name}")
|
||||||
|
|
||||||
|
|
||||||
@cli.command()
|
@cli.command()
|
||||||
|
@ -316,10 +316,17 @@ def get_app() -> Any:
|
|||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
def install_dependencies():
|
def install_frontend_packages():
|
||||||
"""Install the dependencies."""
|
"""Install the frontend packages."""
|
||||||
|
# Install the base packages.
|
||||||
subprocess.call([get_bun_path(), "install"], cwd=constants.WEB_DIR, stdout=PIPE)
|
subprocess.call([get_bun_path(), "install"], cwd=constants.WEB_DIR, stdout=PIPE)
|
||||||
|
|
||||||
|
# Install the app packages.
|
||||||
|
for package in get_config().frontend_packages:
|
||||||
|
subprocess.call(
|
||||||
|
[get_bun_path(), "add", package], cwd=constants.WEB_DIR, stdout=PIPE
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def is_initialized() -> bool:
|
def is_initialized() -> bool:
|
||||||
"""Check whether the app is initialized.
|
"""Check whether the app is initialized.
|
||||||
@ -350,9 +357,9 @@ def setup_frontend(app):
|
|||||||
# Initialize the web directory if it doesn't exist.
|
# Initialize the web directory if it doesn't exist.
|
||||||
cp(constants.WEB_TEMPLATE_DIR, constants.WEB_DIR, overwrite=False)
|
cp(constants.WEB_TEMPLATE_DIR, constants.WEB_DIR, overwrite=False)
|
||||||
|
|
||||||
# Install the frontend dependencies.
|
# Install the frontend packages.
|
||||||
console.rule("[bold]Installing Dependencies")
|
console.rule("[bold]Installing frontend packages")
|
||||||
install_dependencies()
|
install_frontend_packages()
|
||||||
|
|
||||||
# Link the assets folder.
|
# Link the assets folder.
|
||||||
ln(src=os.path.join("..", constants.APP_ASSETS_DIR), dest=constants.WEB_ASSETS_DIR)
|
ln(src=os.path.join("..", constants.APP_ASSETS_DIR), dest=constants.WEB_ASSETS_DIR)
|
||||||
|
Loading…
Reference in New Issue
Block a user