管理版本:巧用release-it并生成CHANGELOG文件
- 本文参加了由[公众号@若川视野](lxchuan12.gitee.io/) 发起的每周源码共读活动,点击了解详情一起参与。
- 第39期 | 如何发布一个 npm 库,自动化管理版本号、生成 changelog、tag 等。
你还在手动更新版本号么?你还在手动写changelog么?是时候解放你的双手,让你的工作更高效,更happy地摸鱼,下面隆重推出release-it,请将掌声送给release-it~
release-it 功能与使用
1. 该工具官网详见,罗列部分功能:
- 解决版本冲突
- Git提交、tag、推送
- 生成changelog
- 推送npm仓库
2. 准备工作
- 安装前请务必先查询node版本,如果是12或者以下的,请使用 npm i release-it@14 --save-dev
- 本人在已有项目上进行安装,安装完成后,请在package.json中填入:
"scripts": {
"release": "release-it" // 这条命令
},
- 可以直接在package.json中添加release-it的配置,但本人是新建.releast-it.json文件,在这里填写相关配置:
{
"npm": {
"publish": false // 禁止发布至 npm 仓库
},
"git": {
"commitMessage": "chore(tag): release v${version}"
}
}
- 到这一步其实已经可以使用 release-it 命令了,但是日志的变化,只能在控制台看见,不能让所有人都看见,接下去我们来安装 plugins,如果node版本12或以下,请执行 npm i @release-it/conventional-changelog@4 --save-dev 操作,配置详见插件地址
- 在.release-it.json中添加配置:
"plugins": {
"@release-it/conventional-changelog": {
"preset": {
"name": "conventionalcommits",
// 此处可定义需要哪些放至进 CHANGELOG.md 里,
// 默认只将 feat、fix写入日志
"types": [
{
"type": "feat",
"section": "✨新功能"
},
{
"type": "fix",
"section": "🐞问题修复"
},
{
"type": "style",
"section": "🌈样式"
},
{
"type": "docs",
"section": "📃文档"
}
]
},
"infile": "CHANGELOG.md"
}
},
- 当执行 npm run release 时,会自动生成 CHANGELOG.md文件,内容如下:
总结与思考
- 该工具个人感觉主要是为发布npm包使用,可以让人清晰了解该包的更新迭代等
- 提高工作效率,增加摸鱼时间~哈哈哈