Skip to main content
Glama
design.md4.72 kB
## Context 当前项目需要支持多个 Ant Design 版本的用户: - Ant Design 5.0 用户需要稳定的 1.0.x 版本 - Ant Design 6.0 用户需要当前的 2.0.x 版本 - 未来 Ant Design 7.0 用户将需要 3.0.x 版本 需要建立清晰的版本映射关系和同步策略。 ## Goals / Non-Goals ### Goals - 建立 Ant Design 主版本号与项目主版本号的对应关系 - 在文档中明确说明版本映射关系 - 描述未来版本同步升级方案 - 确保用户可以根据使用的 Ant Design 版本选择正确的包版本 ### Non-Goals - 不实现自动版本检测和切换(用户手动选择) - 不改变现有的数据提取和发布流程(仅添加版本说明) - 不实现多版本并行维护的自动化工具(保持手动管理) ## Decisions ### Decision: 版本号映射策略 **选择**: Ant Design 主版本号 + 1 = 项目主版本号 - Ant Design 5.0 → 项目 1.0.x - Ant Design 6.0 → 项目 2.0.x - Ant Design 7.0 → 项目 3.0.x(未来) **理由**: - 简单明了,易于理解和记忆 - 与 Ant Design 主版本号保持同步,便于用户选择 - 符合语义化版本规范 **替代方案考虑**: - 使用相同的版本号:可能造成混淆,因为这是不同的包 - 使用日期版本:不够直观,用户难以理解对应关系 ### Decision: 版本发布方式 **选择**: 1. 基于历史 commit 创建 1.0.0 版本(通过 git tag) 2. 当前代码发布为 2.0.0 版本 3. **不维护独立的分支**:所有版本在同一主分支上通过标签管理 **理由**: - 保持版本历史连续性 - 允许用户回退到稳定版本 - 符合语义化版本规范(主版本号变更表示不兼容变更) - 简化维护流程,避免多分支管理的复杂性 ### Decision: peerDependencies 配置 **选择**: 在 `package.json` 中添加 `peerDependencies` 来提示用户 Ant Design 版本要求 **理由**: - 帮助用户在安装时了解所需的 Ant Design 版本 - npm/yarn/pnpm 会在安装时提示版本不匹配 - 提升用户体验,减少版本选择错误 **实现方式**: - 1.0.x 版本:`"peerDependencies": { "antd": "^5.0.0" }` - 2.0.x 版本:`"peerDependencies": { "antd": "^6.0.0" }` - 未来 3.0.x 版本:`"peerDependencies": { "antd": "^7.0.0" }` ## Risks / Trade-offs ### 风险 - **版本维护复杂度增加**: 需要管理多个主版本 - **缓解**: 不维护独立分支,通过 git tag 管理版本,简化维护流程 - **用户混淆**: 用户可能不知道应该使用哪个版本 - **缓解**: - 在文档中明确说明版本映射关系,并在 README 中突出显示 - 通过 peerDependencies 在安装时提示用户 - **npm 包管理**: 需要确保两个版本都可以正常安装 - **缓解**: 在发布前进行充分测试 - **peerDependencies 警告**: 用户可能看到版本不匹配警告 - **缓解**: 这是预期行为,帮助用户选择正确版本 ### 权衡 - **文档清晰度 vs 维护成本**: 选择在文档中详细说明,虽然增加了文档维护成本,但能显著提升用户体验 - **版本同步频率**: 仅在 Ant Design 主版本升级时同步,避免过于频繁的版本变更 ## Migration Plan ### 步骤 1. **准备阶段** - 检查历史 commit 内容 - 基于 commit `a60f13488a8dacbac25d15933c92582ff354739e` 创建 1.0.0 版本标签 - 在该 commit 的 package.json 中添加 peerDependencies(antd ^5.0.0) 2. **发布阶段** - 发布 1.0.0 版本(基于历史 commit) - 更新当前代码版本号为 2.0.0 - 在当前代码的 package.json 中添加 peerDependencies(antd ^6.0.0) - 发布 2.0.0 版本 3. **文档更新** - 在 README 中添加版本映射说明 - 描述未来升级方案 4. **验证** - 确保两个版本都可以正常安装和使用 - 验证 peerDependencies 正确配置 - 验证文档说明清晰准确 ### 回滚计划 如果出现问题,可以: - 删除错误的 npm 版本发布(如果尚未被广泛使用) - 更新文档纠正错误信息 - 重新发布正确版本 ## Resolved Questions - [x] **是否需要为每个主版本维护独立的分支?** - **答案**: 不需要。通过 git tag 管理版本,所有版本在同一主分支上。 - [x] **未来 Ant Design 7.0 发布时,是否需要自动化工具辅助版本升级?** - **答案**: 不需要。保持手动管理,确保版本升级的准确性和可控性。 - [x] **是否需要在 package.json 中添加 peerDependencies 来提示用户 Ant Design 版本要求?** - **答案**: 需要。添加 peerDependencies 可以帮助用户在安装时了解所需的 Ant Design 版本,减少版本选择错误。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zhixiaoqiang/antd-components-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server