Azure-Samples / Azure-Samples/tutor
[P2] frontend: Finish ADR-007 tooling modernization
- Dominant language
- Python
- Stars
- 17
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
## Problem inventory
The frontend has made partial modernization progress but still drifts from the accepted ADR-007 target stack.
Type: tech debt / modernization drift
## Evidence
- frontend/package.json uses next 15.5.10 and pnpm, but still uses react/react-dom 18.3.1, @types/react 18, TypeScript 5.6.3, Tailwind 3.4.14, ESLint 8, and Zustand 4.
- ADR-007 targets React 19, TypeScript 5.7+, Tailwind 4, ESLint 9, and Zustand 5.
- frontend/package-lock.json still exists and contains stale Next 14-era lock data while pnpm-lock.yaml is the declared package manager lockfile.
## Impact assessment
User impact: medium/high. Tooling drift slows feature delivery and makes design modernization riskier, especially once Playwright and React 19 behavior are introduced.
Blast radius: frontend dependency graph, build pipeline, styling tokens, React hydration/runtime behavior, and CI reproducibility.
## Acceptance criteria
- [ ] Decide whether ADR-007 still targets React 19/Tailwind 4 immediately or needs an explicit phased migration note; document the decision.
- [ ] Upgrade React, React DOM, TypeScript, Tailwind, ESLint/Biome-adjacent tooling, Zustand, and type packages according to the chosen migration path.
- [ ] Remove stale package-lock.json if pnpm is the only supported package manager, or document why dual locks are intentionally retained.
- [ ] Fix any React 19, Tailwind 4, or strict TypeScript regressions introduced by the upgrade.
- [ ] pnpm --dir frontend install, lint, and build pass on Node 22.
- [ ] Update frontend README and modernization documentation if commands or requirements change.
## Agent assignment
Primary specialist: TypeScriptDeveloper
Supporting specialist: PlatformEngineer
## Dependency notes
Can run in parallel with design inventory, but should avoid broad UI rewrites until the route/functionality map is stable.
## Related backlog
- ADR-007 is the primary source of truth for the target stack.
Contributor guide
Assessment
This issue has not been assessed yet.