docs/roadmap/v6.1.0-release-plan.md
Date: 2026-06-01 Status: Draft Approach: Layered progression — cleanup first, then engineering, then upgrades
v6.1.0 is a quality + upgrade release focusing on test infrastructure, bug fixes, legacy cleanup, and dependency alignment. Breaking changes are allowed where justified with migration notes.
ant-legacy-form-item CSS class referencesantd v6 removed these legacy class names. Three files still reference them:
src/components/StandardFormRow/index.style.ts (8 references)src/pages/form/advanced-form/style.style.ts (1 reference)src/pages/account/settings/components/index.style.ts (1 reference)Action: Replace .ant-legacy-form-item selectors with current antd v6 equivalents (.ant-form-item). Verify visual parity after changes.
src/typings.d.ts declares modules for slash2 and omit.js — v5-era dependencies no longer in use.
Action: Grep for actual imports. If none found, remove the declarations.
| # | Issue | Description | Approach |
|---|---|---|---|
| 1 | #11772 | valtio undefined error | Trace dependency chain; fix initialization or remove unused valtio import |
| 2 | #11764 | OpenAPI link text visible in collapsed sidebar | CSS fix to hide text or truncate when sidebar is collapsed |
| 3 | #11747 | Windows 11 "Can't resolve 'tailwindcss'" | Investigate path resolution; likely needs module resolution config fix |
| 4 | #11575 | OpenAPI generated file first-letter case inconsistency | Review openapi config camel2Line/naming options; add normalization |
| 5 | #11286 | Language switcher cannot be disabled in non-mix layouts | Fix disableLocal prop propagation in layout config |
| 6 | #11597 | Mask layer bug with pagination and sidebar | z-index / overlay stacking fix |
src/requestErrorConfig.ts appends ?token=123 to every request URL as a demo artifact.
Action: Replace with commented example or conditional (dev-only) guard. Do not remove the pattern entirely — it serves as a reference for token attachment.
Rationale: Vitest offers native ESM, instant HMR, and Vite-native config. Jest startup is slow and ESM support is fragile.
Steps:
vitest and @vitest/coverage-v8 dependenciesvitest.config.ts using Umi plugin compatibilitytests/ setup files (setupTests.jsx, __mocks__/)src/pages/user/login/login.test.tsx → Vitest syntaxpackage.json scripts: test, test:coverage, test:uijest, @testing-library/jest-dom, related configBreaking change: Test authoring API changes (minimal — Vitest is Jest-compatible).
Current: 1 test file, 2 test cases, ~1% file coverage.
Priority test targets:
| Target | File | What to test |
|---|---|---|
| ProTable page | src/pages/list/table-list/index.tsx | Data loading, search, pagination, CRUD operations |
| Dashboard | src/pages/dashboard/analysis/index.tsx | Chart rendering, layout, chart data flow |
| Basic form | src/pages/form/basic-form/index.tsx | Form validation, submission, field interactions |
| Auth flow | src/access.ts, src/app.tsx | canAdmin logic, getInitialState 401 redirect |
| Request interceptor | src/requestErrorConfig.ts | Error handling paths, 401 redirect, token attachment |
Coverage target: Core pages 50%+, overall 20%+.
node_modules and build outputnpx antd lint ./src to CI pipeline (currently only enforced manually)| Package | From | To | Risk |
|---|---|---|---|
| antd | ^6.4.3 | 6.x latest | Low |
| @ant-design/pro-components | ^3.1.12-0 | 3.x stable | Low |
| @ant-design/x | ^2.7.0 | 2.x latest | Low |
| @ant-design/x-markdown | ^2.7.0 | 2.x latest | Low |
| @ant-design/x-sdk | ^2.7.0 | 2.x latest | Low |
| @umijs/max | ^4.6.51 | 4.x latest | Medium — check breaking notes |
| React / React DOM | ^19.2.5 | Stay (React 20 not released) | — |
| Package | From | To |
|---|---|---|
| TypeScript | ^6.0.3 | 6.x latest |
| Biome | ^2.4.13 | 2.x latest |
| Tailwind CSS | ^4.2.4 | 4.x latest |
| Express (mock) | ^5.2.1 | 5.x latest |
| @tanstack/react-query | ^5.100.6 | 5.x latest |
| d3 | ^7.9.0 | 7.x latest or evaluate alternatives |
npm run lint passes (Biome + tsc)npx antd lint ./src passesnpm run build succeedsnpm start dev server works| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| Umi Max upgrade breaks build | Medium | High | Pin version; test in CI before merge |
| Vitest + Umi plugin compatibility | Medium | Medium | Research existing Umi + Vitest integrations; may need adapter |
| Windows compatibility regression | Low | Medium | Test on Windows or add Windows CI |
| antd v6 minor API changes | Low | Low | Review antd changelog; run npx antd lint |
| Test coverage effort exceeds estimate | Medium | Low | Prioritize core pages; defer edge cases |
Layer 1 (cleanup + bugs) → Layer 2 (testing) → Layer 3 (upgrades)
Each layer produces a shippable state. If time constrains, lower layers deliver more value per effort.
Within each layer, items can be parallelized across contributors.