前端工程化 词条目录
前端Wiki/词条/standard-version 版本

standard-version 版本

定义基于 Conventional Commits 自动生成版本号与 CHANGELOG 的工具,提交即版本

只要提交信息符合 Conventional Commits 规范(feat:、fix:、BREAKING CHANGE 等),standard-version 就能自动算出下一个版本号:feat 升 minor、fix 升 patch、带 BREAKING CHANGE 升 major,同时按提交记录生成 CHANGELOG.md、打 Git tag。版本管理从「开会定版本」变成「跑一条 npx standard-version」。

它是纯本地工具,只做版本计算与 changelog 生成,不发 npm 也不推 tag——推与不推由你决定(会提示你手动 git push --follow-tags)。生态里它正被它的后继者 release-please(Google)与语义化发布全自动方案 semantic-release 替代,但后者更重、 CI 侵入更强,中小项目 standard-version 仍是简单够用的选择。

JavaScript
// 用法:提交信息规范先行,然后一条命令出版本
// git commit -m "feat: 支持暗色模式"
// git commit -m "fix: 修复列表滚动丢失"   → 自动号升 patch
// 包含 BREAKING CHANGE 的提交会触发 major 升级

// package.json
{
  "scripts": {
    "release": "standard-version",
    "release:beta": "standard-version --prerelease beta"
  },
  "devDependencies": { "standard-version": "^9.5.0" }
}

// 执行 npm run release 会:
// 1) 依据提交类型计算下一个 semver
// 2) 更新 package.json 版本号
// 3) 生成/补充 CHANGELOG.md
// 4) 提交并存为一个 git tag v1.2.0
// 之后手动:git push --follow-tags origin main
⚠ 常见误区
🔗 相关词条提交信息规范依赖与版本号管理
← 返回来源章节提交信息规范