Root cause: apps/api declared react@18 but @types/react@19, creating a nested
apps/api/node_modules/@types/react@19.2.17 that conflicted with @react-pdf/renderer's
type resolution from root node_modules/@types/react.
Changes:
- Removed react-dom from apps/api dependencies (unused)
- Removed @types/react and @types/react-dom from apps/api devDependencies
- Both API code and @react-pdf/renderer now resolve @types/react from a single
root copy (v19), eliminating the TS2769 contextType incompatibility errors
- Regenerated package-lock.json with deduped dependency tree
Validation:
- npm ls shows single @types/react installation
- No nested @types/react under apps/api/node_modules
- API type-check (tsc --noEmit): 0 errors
- API build: succeeds
- Docker build (Dockerfile.production): all 6 packages build successfully
- Remove 'medium' theme from dashboard and marketplace; keep only light/dark
- Marketplace: move public pages into (public)/ route group so header/footer
persist across navigations without re-rendering (eliminates usePathname)
- MarketplaceShell is now a pure context provider; chrome lives in
(public)/layout.tsx which Next.js holds stable across navigations
- WorkspaceFrame: remove history.replaceState and standalone-route logic
- Docker API: bypass npm run dev to avoid node --env-file in containers
- Add scripts/run-with-env-file.cjs for Node.js < 20.6 compatibility;
update apps/api/package.json dev script to use it
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>