release-it 能做什么?
- 增加版本号并提交
Git
- 生成变更日志(
Changelog
)并提交到Git
- 创建
Git
标签并推送到远程仓库 - 发布到
npm
等软件仓库 - 在
GitHub
、GitLab
等平台创建发行版
前置知识
在看这篇文章之前,我们有必要了解一下 SemVer规范
安装依赖
- 执行命令
pnpm add release-it @release-it/conventional-changelog -D
- 根目录添加
.release-it.json
配置文件,具体配置请参考:conventional-changelog
{
"plugins": {
"@release-it/conventional-changelog": {
"preset": {
"name": "conventionalcommits",
"types": [
{ "type": "feat", "section": "✨ Features | 新功能" },
{ "type": "fix", "section": "🐛 Bug Fixes | Bug 修复" },
{ "type": "chore", "section": "🎫 Chores | 其他更新" },
{ "type": "docs", "section": "📝 Documentation | 文档" },
{ "type": "style", "section": "💄 Styles | 风格" },
{ "type": "refactor", "section": "♻ Code Refactoring | 代码重构" },
{ "type": "perf", "section": "⚡ Performance Improvements | 性能优化" },
{ "type": "test", "section": "✅ Tests | 测试" },
{ "type": "revert", "section": "⏪ Reverts | 回退" },
{ "type": "build", "section": "👷 Build System | 构建" },
{ "type": "ci", "section": "🔧 Continuous Integration | CI 配置" },
{ "type": "config", "section": "🔨 CONFIG | 配置" }
]
},
"infile": "CHANGELOG.md",
"ignoreRecommendedBump": true,
"strictSemVer": true
}
},
"git": {
"commitMessage": "chore: Release v${version}"
},
"github": {
"release": true,
"draft": false
}
}
配置说明:
git
:配置Git
相关的任务,如自动提交代码、打标签等github
:配置GitHub
相关的任务,如创建发行版npm
:配置npm
相关的任务,如发布到npm
仓库plugins
:配置使用的插件
本文并没有发布到
npm
,需要的朋友可自己配置
- 向
package.json
的scripts
中添加命令:
"release": "release-it"
上面命令默认更新次版本号,如果想每次更新修订号,可执行 pnpm release patch
# 更新主版本号
pnpm release major
# 更新次版本号
pnpm release minor
# 更新修订号
pnpm release patch
- 在我们开发完代码后,执行
pnpm release
命令,控制台会自动帮我们打包版本号并生成CHANGELOG
:
效果预览
git
打的标签Tag
CHANGELOG
Todo
- 安装 Nuxt UI 和配置
Typescript
类型检查