Files
rio/scripts/build_frontend.py

43 lines
1.0 KiB
Python

import subprocess
import sys
from pathlib import Path
import rio.utils
PROJECT_ROOT_DIR = rio.utils.PROJECT_ROOT_DIR
INPUT_DIR = PROJECT_ROOT_DIR / "frontend"
OUTPUT_DIR = PROJECT_ROOT_DIR / "rio" / "frontend files"
ASSETS_DIR = OUTPUT_DIR / "assets"
def build(*extra_args: str) -> None:
# Build with vite
npx(
"vite",
"build",
INPUT_DIR,
"--outDir",
OUTPUT_DIR,
"--config",
PROJECT_ROOT_DIR / "vite.config.mjs",
# The real base URL is only known at runtime, and may differ for each
# session. This string here is an intentionally easy-to-replace
# placeholder.
"--base",
"/rio-base-url-placeholder/rio/frontend/",
"--emptyOutDir",
*extra_args,
)
def dev_build() -> None:
build("--mode", "development", "--minify", "false")
def npx(*args: str | Path) -> None:
subprocess.run(
["npx", *map(str, args)],
check=True,
shell=sys.platform == "win32",
)