yoi/web/workspace/README.md

1.3 KiB

Workspace web UI

SvelteKit static SPA for the Yoi workspace control plane.

The frontend is intentionally static. Workspace authority, validation, and API behavior live in the Rust yoi-workspace-server backend.

Development

Use two terminals from the repository checkout.

Backend terminal:

cd web/workspace
deno task dev:backend

Frontend terminal:

cd web/workspace
deno task dev

The Vite dev server proxies /api/* to http://127.0.0.1:8787, so frontend hot reload works while the Rust backend serves the workspace API. Open the Vite URL printed by deno task dev.

If you want to run the backend from the repository root instead:

cargo run -p yoi-workspace-server -- serve \
  --workspace . \
  --db .yoi/workspace.db \
  --listen 127.0.0.1:8787

Static build served by Rust backend

Build the SPA:

deno task build

Then serve the static build and API from the Rust backend:

cargo run -p yoi-workspace-server -- serve \
  --workspace ../.. \
  --db ../../.yoi/workspace.db \
  --frontend build \
  --listen 127.0.0.1:8787

From the repository root, the equivalent command is:

cargo run -p yoi-workspace-server -- serve \
  --workspace . \
  --db .yoi/workspace.db \
  --frontend web/workspace/build \
  --listen 127.0.0.1:8787

Checks

deno task check
deno task build