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

1.8 KiB

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)

  • #37 React migration kickoff commands are exposed in root package.json.
  • #37 Dual-run operational doc exists for legacy + React side-by-side local execution.
  • #37 CI includes a React-path quality command (frontend:react:check) that is safe before scaffold and active after scaffold.
  • #38 Deterministic command wiring established for React quality gates (lint/test/build) via a single stub-aware runner.
  • #38 Legacy and React paths are explicitly separated in command names to reduce migration ambiguity.