Build & preview
Production build
pnpm build
Like dev, the build compiles the WASM module and the vanilla logger first,
then runs vite build:
package.json
"build": "pnpm run build:wasm && pnpm run build:vanilla-logger && vite build"
The output goes to dist/. The Vite config builds three HTML entry points:
| Entry | Source | Purpose |
|---|---|---|
main | index.html | The modern EXEPERT app. |
vanilla | vanilla.html | A pristine legacy three.js r70 reference. |
v1 | v1.html | The legacy renderer inside the modern UI shell. |
The three package is split into its own chunk (manualChunks), the build
targets es2022, emits source maps, and minifies with Terser. See
Reference Pages for what the vanilla and
v1 entries are for.
Preview
Serve the built dist/ locally:
pnpm preview
This runs vite preview --port 9001.
Server-side render (optional)
An SSR entry exists for producing a static HTML shell:
pnpm build:ssr
It runs vite build --ssr src/entry-server.ts --outDir dist/server.
src/entry-server.ts returns a static shell that hydrates on the client; it is
opt-in and not part of the default build.
Verifying a change
| Command | Checks |
|---|---|
pnpm typecheck | tsc --noEmit over the TypeScript sources. |
pnpm test | Vitest: currently the telemetry-contract test. |
cargo test --workspace | The Rust unit tests in both crates. |
See Testing & CI for details on what each suite covers.