- 所有测试通过 (57/57)
- 代码质量检查通过 (ESLint)
- 类型检查通过 (TypeScript)
- 构建成功 (Rollup)
- 性能基准满足要求 (>250,000 ops/sec)
- 文档完整且更新
- CHANGELOG.md 更新
- package.json 版本号正确
根据变更类型选择合适的版本号更新:
- 主版本号 (X.0.0): 重大API变更或不兼容更新
- 次版本号 (X.Y.0): 向后兼容的新功能
- 修订版本 (X.Y.Z): 向后兼容的错误修复
# 使用 release-it 自动发布
npm run release如果需要手动发布:
npm version [major|minor|patch] -m "Release: v%s"npm run buildnpm publishgit push origin --tags当前使用 release-it 工具自动化发布流程,配置项包括:
- 自动更新 package.json 版本
- 自动创建 Git tag
- 自动推送到远程仓库
- 遵活的提交消息模板
- 仅发布必要的文件 (dist/, README.md, LICENSE 等)
- 排除开发文件和临时文件
- 确保类型定义文件正确发布
- 为新版本创建 GitHub Release
- 附上 CHANGELOG 中的变更说明
- 附加构建后的文件 (如果需要)
- 在相关社区发布更新通知
- 更新项目网站或文档站点
- 通知依赖此库的项目
- 监控 npm 下载量
- 关注用户反馈和 issue
- 监控性能指标
如果发布后发现问题,需要快速回滚:
# 取销发布 (如果立即发现问题)
npm unpublish [package]@[version]
# 或者发布修复版本
npm version patch -m "Fix: quick fix for critical issue"
npm run release# 回滚到上一个稳定版本的 tag
git reset --hard v[previous.version]
# 创建新的修复版本
npm version patch- 遵循 SemVer 2.0.0 规范
- 主版本变更前需要发布候选版本
- 重要变更需要提供迁移指南
对于可能包含 breaking changes 的主版本:
npm version preminor --preid=beta # 2.0.0-beta.0
npm run release -- --preRelease=beta- 修订版本: 按需发布 (bug 修复)
- 次版本: 每月一次 (新功能)
- 主版本: 每季度一次 (重大更新)
对于安全漏洞或严重 bug,可以随时发布紧急修复版本。
# 一次性运行所有发布前检查
npm test && npm run lint && npm run typecheck && npm run build && npm run security# 验证所有内容准备发布
npm run prepublishOnly- 为旧版本提供安全补丁
- 在相应分支上维护
- 为 LTS 版本提供长期支持
- 最新两个主版本获得完整支持
- 旧版本仅提供安全修复
- 提供明确的 EOL (End of Life) 通知