6.4 KiB
Ant Design Pro v6.1.0 Release Plan
Date: 2026-06-01 Status: Draft Approach: Layered progression — cleanup first, then engineering, then upgrades
Overview
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.
Layer 1: Cleanup & Bug Fixes
1.2 Clean up ant-legacy-form-item CSS class references
antd 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.
1.3 Clean up typings.d.ts legacy module declarations
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.
1.4 Bug fixes
| # | 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 |
1.5 Clean up request interceptor demo placeholder
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.
Layer 2: Testing & Engineering
2.1 Migrate Jest → Vitest (#11742)
Rationale: Vitest offers native ESM, instant HMR, and Vite-native config. Jest startup is slow and ESM support is fragile.
Steps:
- Add
vitestand@vitest/coverage-v8dependencies - Create
vitest.config.tsusing Umi plugin compatibility - Migrate
tests/setup files (setupTests.jsx,__mocks__/) - Migrate
src/pages/user/login/login.test.tsx→ Vitest syntax - Update
package.jsonscripts:test,test:coverage,test:ui - Remove Jest dependencies:
jest,@testing-library/jest-dom, related config - Verify CI pipeline
Breaking change: Test authoring API changes (minimal — Vitest is Jest-compatible).
2.2 Expand test coverage
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%+.
2.3 CI pipeline optimization
- Enable GitHub Actions cache for
node_modulesand build output - Parallelize PR checks: lint | typecheck | test (instead of sequential)
- Evaluate Codecov upload — remove if coverage data remains below actionable threshold
2.4 Code quality enforcement
- Add
npx antd lint ./srcto CI pipeline (currently only enforced manually) - Tighten Biome rules: audit warnings and elevate to errors where appropriate
Layer 3: Dependency Upgrades
3.1 Core dependencies
| 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) | — |
3.2 Toolchain dependencies
| 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 |
3.3 Evaluation items (investigate before upgrading)
- Node.js 22: Currently requires >= 20. Assess whether raising to >= 22 is warranted.
- utoopack: Check for significant updates or breaking changes in the build toolchain.
- @tanstack/react-query v6: If released, evaluate migration path.
3.4 Post-upgrade validation checklist
npm run lintpasses (Biome + tsc)npx antd lint ./srcpassesnpm run buildsucceeds- All tests pass
npm startdev server works- Visual spot-check of key pages (login, dashboard, table-list, forms)
- Update CLAUDE.md if version requirements change
Risk Assessment
| 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 |
Execution Order
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.