Deploying these docs
The documentation site is a standard Docusaurus 3 static build. This page covers how to build it and the available deployment options.
Building
pnpm docs:build
This runs Docusaurus's production build and emits a fully static site to
docs/build/. The build performs broken-link checking (onBrokenLinks: 'throw'
in docs/docusaurus.config.ts) — the command fails if any internal link is
broken.
Under the hood, pnpm docs:build delegates to
pnpm --filter @pace-e2e/docs build, scoping the command to the docs workspace
package. Always run it from the repo root, not from inside docs/.
Other docs scripts:
| Script | Purpose |
|---|---|
pnpm docs:start | Start the Docusaurus dev server with hot reload |
pnpm docs:serve | Serve the production build locally for smoke-testing |
Before publishing: configure the URL
The current url in docs/docusaurus.config.ts is a placeholder:
https://pace-e2e-docs.example.com
Replace it (and baseUrl if the site will not live at the domain root) with
the real values before your first public deploy. These fields affect the sitemap
and any absolute URLs the framework emits — the broken-link check itself only
uses relative paths, so the wrong url will not fail the build, but it will
produce incorrect sitemap entries.
Deployment options
Vercel or Netlify
Both platforms support monorepo / pnpm workspace setups:
| Setting | Value |
|---|---|
| Install command | (run at repo root — let the platform detect pnpm from packageManager) |
| Build command | pnpm docs:build |
| Output directory | docs/build |
The install step must run at the repo root (not inside docs/) so that
pnpm resolves the workspace and installs all packages, including the
@pace-e2e/docs workspace member.
On Vercel, set the "Root Directory" to . (the repo root) and override the
build command and output directory as above. On Netlify, use the same values in
netlify.toml or the site settings.
Any static host
Upload the contents of docs/build/ to any static file host (GitHub Pages,
S3 + CloudFront, Cloudflare Pages, etc.). No server-side logic is required —
the output is plain HTML, CSS, and JS.
If the site lives at a sub-path (e.g., https://example.com/e2e-docs/), set
baseUrl: '/e2e-docs/' in docs/docusaurus.config.ts before building.
Local smoke-test
After building, verify the static output before deploying:
pnpm docs:build
pnpm docs:serve
docs:serve starts a local HTTP server on the static docs/build/ output,
letting you check navigation, search, and any deep links before pushing.