Files
azure-image-chooser/migration-plan/version-manifest.md

2.6 KiB

Version Manifest: React + Vite + MUI Rewrite

Environment and container tooling

  • macOS: 26 (host requirement)
  • Container CLI: apple/container (latest release observed: 0.11.0)
  • Container runtime command: container (Docker unavailable by constraint)
  • Base image: node:24-trixie-slim (Node 24 LTS on Debian trixie-slim; OCI-compatible)

Frontend stack

  • Node.js runtime: 24.x LTS
  • React: 19.2.5
  • React DOM: 19.2.5
  • TypeScript: 6.0.3
  • Vite: 8.0.8
  • @vitejs/plugin-react: 6.0.1
  • @types/react: 19.2.14
  • @types/react-dom: 19.2.3
  • Material UI core: @mui/material 9.0.0
  • Material UI styling engine: @emotion/react 11.14.0, @emotion/styled 11.14.1
  • Optional state-fetching utility selected in plan: @tanstack/react-query 5.99.2

Backend stack (planned)

  • Node.js runtime: 24.x LTS
  • Express: 5.2.1
  • Zod: 4.3.6
  • TypeScript: 6.0.3

MUI knowledge/tooling

Compatibility Audit

Hard compatibility checks

  1. Node 24 vs Vite 8: compatible (Vite requires Node 20.19+ or 22.12+).
  2. React 19.2.x vs MUI 9: compatible (MUI supports React ^17 || ^18 || ^19).
  3. React 19.2.x vs react-dom 19.2.5: compatible (same major/minor line).
  4. TypeScript 6 vs MUI 9: compatible (MUI requires TS >=4.9).
  5. Node 24 vs Express 5.2.1: compatible (Express requires Node >=18).
  6. Apple container vs Dockerfile workflow: compatible (container build supports Dockerfile and Containerfile).

Environment-specific incompatibilities / risks

  1. Docker command compatibility: incompatible by environment constraint.
    • Any script that assumes docker build/run must be translated to container build/run.
  2. Apple container stability: medium risk.
    • Project is pre-1.0 and may introduce breaking changes in minor releases.
    • Mitigation: pin CLI release during execution and document upgrade policy.
  3. Slim Debian runtime package availability: low-to-medium operational risk.
    • trixie-slim is smaller than full images and may omit convenience packages.
    • Mitigation: install only required OS packages explicitly and validate build/runtime dependencies.
  4. @mui/mcp@latest floating version: reproducibility risk.
    • Mitigation: pin exact MCP package version for CI/repeatable local behavior once selected.

Migration-policy compatibility with user constraints

  1. Latest stable React only: satisfied by React 19.2.x.
  2. No legacy/migration support tracks: satisfied; no React 18 fallback assumptions included.
  3. MUI usage policy: satisfied with plain Material UI v9.x.x and mui-mcp-first guidance.