Skip to content
React edition

React edition

Vite, React 19 and TypeScript — installs, builds and runs on its own: no workspace, no path alias reaching outside the folder, no shared node_modules.

Install and build

In react
pnpm install --frozen-lockfile
pnpm run build

Developing

In react
pnpm dev              # syncs shared/, then Vite on :5173
pnpm run preview      # serves dist/
pnpm run typecheck

Verifying a clean build

In react — Full repository only
pnpm run check

pnpm run check runs node ../tools/sync-shared.mjs --check from inside react/, which fails the moment react/src/shared/ has been edited by hand instead of shared/ at the repository root — see Generated folders.

Where the shared code lives

src/shared/ is generated — a mirror of the repository's shared/, written by tools/sync-shared.mjs, which dev and build run first. Editing a file there appears to work and then vanishes at the next sync. Edit shared/ at the repository root instead.

What comes from there: the design tokens and the component CSS, the ICU catalogues, the icon sprite, the brand marks, the demo dataset and the mock API, plus three modules this edition would otherwise have written for itself — shared/i18n/format.mjs (numbers, money, relative dates), shared/charts/base.mjs (the ApexCharts defaults this design language turns off) and shared/ui/preferences.mjs (the option lists and the storage key).

Each has a hand-written .d.mts beside it. The implementations cannot be TypeScript — one of the five editions has no build step at all — but nothing here is any because of that.