-
本文参加了由公众号@若川视野 发起的每周源码共读活动, 点击了解详情一起参与。
-
这是源码共读的第39期,链接:【若川视野 x 源码共读】第39期 | 如何发布一个 npm 库,自动化管理版本号、生成 changelog、tag 等 - 掘金 (juejin.cn)
安装release-it
在使用npm init -y初始化一个项目之后,使用npm install -D release-it安装release-it
这是安装之后的package.json内容
使用release-it
在package.json中的scripts字段中添加"release": "release-it"以供下面用npm run来运行release-it
然后可以在项目根目录下运行npm run release 或者 npx release-it
npm run用于运行项目中已定义在package.json中的自定义脚本。
npx用于在项目依赖中运行命令行工具,无需全局安装。它还可以确保使用最新版本的软件包来执行命令。
node_modules/.bin目录存放的是本地安装的npm软件包的命令行工具。这些命令可以直接在命令行中运行,而无需指定完整的路径。它包含的是项目的开发依赖或通过npm scripts来使用的依赖的命令行工具。运行npm run时,npm会自动将node_modules/.bin目录添加到PATH中,以便执行package.json中定义的脚本命令。
创建配置文件.releate-it.js
module.exports = {
// git的提交信息
"git": {
"commitMessage": "chore: release v${version}"
},
// 发布github上的release包
"github": {
"release": true
},
// 发布到npm
"npm": {
"publish": true
},
//
"hooks": {
"after:git:release": "echo git更新成功",
"after:bump": "echo 更新版本成功 ${version}"
},
// 生成changelog
"plugins": {
"@release-it/conventional-changelog": {
"preset": "angular",
"infile": "CHANGELOG.md"
}
}
}
安装plugins,这里配置文件中使用了生成CHANGELOG的插件,所以需要安装npm i -D @release-it/conventional-changelog, 生成的Changelog将会基于最近的Git提交消息,并遵循约定式提交规范。
还需要登录npm,在github上简历仓库并与本地进行关联
- npm login
根据提示输入账号,密码,邮箱等
- 在github上新建仓库,然后再本地进行关联
git remote add origin git@github.com:tisou1/test_release-it.git
git branch -M main
git push -u origin main
执行release-it
执行npm run release
根据prompt确认要执行的操作, 执行成功后,就可以在npm和github上看到我们刚刚发布的包了
安装git-cz
使用git-cz来规范commit信息
npm add -D git-cz
在我们将本次改动提交到暂存区之后, 就可以使用npx git-cz来代替git commit来进行本次的提交.
本剧命令行的提示,输入本次提交的相关信息即可,最终就会得到类似这样的git log
总结
- 使用
release-it进行项目的自动发包,管理版本,提交远端仓库,CHANGELOG的生成. - 使用
git-cz来创建有一定规范性的提交信息,这样方便以后的代码审查等. - 英文很重要,看README.md的时候还是要有一定的英语水平的,不然看得慢不说,还容易理解偏差.