Browse Source

docs: add v6.1.0 release plan (#11830)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
pull/11844/head
afc163 4 months ago
committed by GitHub
parent
commit
8d51e5040c
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 149
      docs/roadmap/v6.1.0-release-plan.md

149
docs/roadmap/v6.1.0-release-plan.md

@ -0,0 +1,149 @@
# 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**:
1. Add `vitest` and `@vitest/coverage-v8` dependencies
2. Create `vitest.config.ts` using Umi plugin compatibility
3. Migrate `tests/` setup files (`setupTests.jsx`, `__mocks__/`)
4. Migrate `src/pages/user/login/login.test.tsx` → Vitest syntax
5. Update `package.json` scripts: `test`, `test:coverage`, `test:ui`
6. Remove Jest dependencies: `jest`, `@testing-library/jest-dom`, related config
7. 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_modules` and 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 ./src` to 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 lint` passes (Biome + tsc)
- [ ] `npx antd lint ./src` passes
- [ ] `npm run build` succeeds
- [ ] All tests pass
- [ ] `npm start` dev 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.
Loading…
Cancel
Save