只要提交信息符合 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 仍是简单够用的选择。
// 用法:提交信息规范先行,然后一条命令出版本 // 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