Deployment
Quality gates
Section titled “Quality gates”| Gate | Command | What it checks |
|---|---|---|
| Typecheck | pnpm typecheck | TypeScript across library + demo |
| Unit tests | pnpm test | Vitest (render plans, views, helpers) |
| Library build | pnpm build | ESM dist/ + declaration emit |
| npm surface | pnpm pack:check | Tarball contains only publishable files; bundle badge |
| Docs build | pnpm docs:build | Starlight site compiles |
| Full verify | pnpm verify | All of the above |
| E2E demo | pnpm test:e2e | Playwright against the Vite demo (WebGPU required) |
For WebGPU or demo changes, also smoke-test pnpm dev in a browser with native WebGPU. The e2e suite fails in CI when Chromium cannot start the WebGPU demo — it does not treat a missing GPU as a passing fallback.
Local docs commands
Section titled “Local docs commands”pnpm docs:dev # Starlight dev serverpnpm docs:build # production build (included in verify)pnpm docs:preview # preview the built siteDemo build for Pages embedding:
pnpm run build:demo:docsGitHub Pages
Section titled “GitHub Pages”The Astro config uses the repository Pages URL:
export default defineConfig({ site: "https://tonyblu331.github.io", base: "/threejs-debug-view",})The workflow at .github/workflows/quality.yml validates package and docs builds on pull requests and master pushes. The workflow at .github/workflows/deploy-docs.yml builds the live demo, builds packages/docs, and deploys the generated site with GitHub Pages.