schemeta/docs/phase8-dual-run-kickoff.md
2026-02-19 19:18:27 -05:00

36 lines
1.8 KiB
Markdown

# Phase 8 Kickoff: Dual-Run Frontend (Legacy + React)
## Purpose
Define how to run the current legacy frontend and the incoming React frontend side-by-side during migration kickoff.
## Frontend Paths
- Legacy frontend: served by `src/server.js` at `http://localhost:8787/`
- React frontend (target): expected in `frontend-react/` (Vite default expected at `http://localhost:5173/`)
## Commands
- Legacy dev server: `npm run frontend:legacy:dev`
- Legacy start (non-watch): `npm run frontend:legacy:start`
- React dev (stub-aware): `npm run frontend:react:dev`
- React quality stubs:
- `npm run frontend:react:lint`
- `npm run frontend:react:test`
- `npm run frontend:react:build`
- `npm run frontend:react:check`
If `frontend-react/package.json` does not exist, lacks the requested script, or `frontend-react/node_modules` is missing, React commands exit successfully with a deterministic skip message.
## Side-by-Side Local Run
1. Terminal A: `npm run frontend:legacy:dev`
2. Terminal B: `npm run frontend:react:dev`
3. Verify legacy UI responds on `http://localhost:8787/`
4. Verify React command behavior:
- pre-scaffold: skip message (expected)
- post-scaffold: starts actual React dev server
## Milestone Kickoff Checklist (`#37`, `#38`)
- [x] `#37` React migration kickoff commands are exposed in root `package.json`.
- [x] `#37` Dual-run operational doc exists for legacy + React side-by-side local execution.
- [x] `#37` CI includes a React-path quality command (`frontend:react:check`) that is safe before scaffold and active after scaffold.
- [x] `#38` Deterministic command wiring established for React quality gates (`lint/test/build`) via a single stub-aware runner.
- [x] `#38` Legacy and React paths are explicitly separated in command names to reduce migration ambiguity.