Building
How to build OpenPRA packages using Nx and pnpm.
Build all packages
bash
pnpm nx run-many -t buildBuild individual packages
Examples:
bash
# Frontend web app (React)
pnpm nx build frontend-web-editor
# Backend (NestJS)
pnpm nx build web-backend
# Microservice (Job Broker)
pnpm nx build microservice-job-broker
# Shared libraries
a) pnpm nx build shared-types
b) pnpm nx build shared-sdk
c) pnpm nx build mef-typesServe (dev mode)
bash
# Serve all
yarn nx run-many -t serve --all
# or
pnpm nx run-many -t serve --all
# Serve individual
pnpm nx serve frontend-web-editor
pnpm nx serve web-backendDocs site
Build the unified documentation site (TypeScript + C++):
bash
pnpm nx run docs-md:site:build --no-cloudPreview locally:
bash
pnpm nx run docs-md:site:dev --no-cloudThe static site is emitted to packages/docs-md/.vitepress/dist and published by GitHub Pages (see .github/workflows/docs.yml).
Notes
- Production images use dependencies from the root
pnpm-lock.yaml; server apps (e.g., web-backend, job-broker) don’t generate pruned lockfiles indist/. - Nx Cloud is optional; local caching works fine. If you see 401 messages about Nx Cloud, you can ignore them locally.
