[P2] frontend: Finish ADR-007 tooling modernization
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- eslint, next.js, react, tailwindcss, typescript
- Lĩnh vực
- build-system, ci-cd, frontend, tooling
Hướng nghiên cứu
Bắt đầu bằng cách đọc ADR-007 và kiểm tra frontend/package.json, frontend/pnpm-lock.yaml, frontend/package-lock.json cùng frontend README. Chạy pnpm --dir frontend install, lint và build trên Node 22 để xác định trạng thái hiện tại, sau đó ghi lại lộ trình migration đã chọn và cập nhật cấu hình dependency và lockfile. Công việc được xem là hoàn tất khi các bản nâng cấp đã chọn vượt qua các bước kiểm tra này mà không gây regression trong React, Tailwind hoặc strict TypeScript.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 17
- Fork
- 8
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Azure-Samples/tutor
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Azure-Samples/tutor#230 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Azure-Samples/tutor#229 · 1 bình luận ·
-
component:ci-cd frontend priority:P1 type:tech-debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Azure-Samples/tutor#223 · 2 bình luận ·
-
frontend priority:P1 type:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
Azure-Samples/tutor#222 · 1 bình luận ·
-
frontend priority:P1 type:tech-debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Azure-Samples/tutor#221 · 2 bình luận ·
Tất cả issue của Azure-Samples/tutor
Issue tương tự
-
documentation pkg: sphinx-needs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
useblocks/sphinx-needs#2255 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 60/100
home-assistant/core#186538 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
btclib-org/btclib-secp256k1#1181 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
pyrite-wiki/pyrite#917 ·
Maintainer thường phản hồi trong vòng 1 ngày