Serve the standalone editor under a CMMS sub-path with no change to
@pcbjam/shared or the wasm/C++ side. No-op for a root deploy (BASE_URL='/').
- main.tsx: <BrowserRouter basename={import.meta.env.BASE_URL}>
- lib/base-path.ts (new): stripBase() for raw location.pathname reads,
hardNav() for the cross-document window.location.assign() navs (the
process-global wasm runtime means a tool switch / File->Quit is a full
page load, and @pcbjam/shared's projectPath() is origin-absolute)
- config.ts currentScope(): stripBase() before splitting for the scope segment
- WasmTool.tsx quit-path: stripBase() for the projects/libs segment test
- tool-navigation.ts (x2), NewFileDialog.tsx, ProjectView.tsx, quit-hook.ts:
window.location.assign(projectPath(...)) -> hardNav(...)
- .env.production: VITE_API_BASE_URL=/pcb-project-api.php, PROJECT_SOURCE=remote,
DOC_SOURCE=api, LIBS_SOURCE=off, WASM_ROOT=/vendor/pcbjam/wasm,
YJS_PROVIDER=broadcastchannel; APP_URL/USER/SCOPE unset
Build: vite build --base=/vendor/pcbjam/
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
1.2 KiB
Shell
28 lines
1.2 KiB
Shell
# CMMS embed (cmms-embed branch). Consumed by `vite build` (mode=production).
|
|
# Pair with `vite build --base=/vendor/pcbjam/`. All values are public (they ship
|
|
# in the bundle) — no secrets here.
|
|
|
|
# The PHP adapter. Relative so it resolves against the CMMS origin. The adapter
|
|
# handles PATH_INFO, so /api/scopes/... and /api/me land as
|
|
# /pcb-project-api.php/api/scopes/... and /pcb-project-api.php/api/me.
|
|
VITE_API_BASE_URL=/pcb-project-api.php
|
|
|
|
# Projects come from the REST adapter above; file bytes fetched + saves PUT back.
|
|
VITE_PROJECT_SOURCE=remote
|
|
VITE_DOC_SOURCE=api
|
|
|
|
# No library backend for v1 — the editor boots with empty sym/fp-lib-tables.
|
|
VITE_LIBS_SOURCE=off
|
|
|
|
# Flat WASM layout, served static by Apache under the mount (no per-tool subdir,
|
|
# VITE_WASM_MANIFEST intentionally unset). Files: kicad_editor.{js,wasm}, wx.js,
|
|
# wx-dom.js, images.tar.gz.
|
|
VITE_WASM_ROOT=/vendor/pcbjam/wasm
|
|
|
|
# Cross-tab only; no collab server.
|
|
VITE_YJS_PROVIDER=broadcastchannel
|
|
|
|
# VITE_APP_URL deliberately UNSET — with it set, every non-editor route would
|
|
# redirect away from the mount (lib/redirect.ts).
|
|
# VITE_USER / VITE_SCOPE deliberately UNSET — identity comes from
|
|
# /pcb-project-api.php/api/me, scope from the URL path segment after the mount.
|