Azure-Samples / Azure-Samples/tutor

[P2] frontend: Finish ADR-007 tooling modernization

Open
#224 3 comments 0 reactions 0 assignees View on GitHub
frontend priority:P2 type:tech-debt
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.