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
类型检查