「我正在参与掘金会员专属活动-源码共读第一期,点击参与」
这篇文章主要讲的是npm
包如通过release-it
做版本号提升、自动tag
和changelog
生成以及它是如何做到的。
我们研究一个东西是什么之前,首先的知道如何使用它?
使用步骤:
- 首先我们
npm init -y
,生成一个空项目。 - 运行命令
npm init release-it
,选择指定的配置文件.release-it.json
- 然后接着会自动安装该
npm
包的其他依赖。 - 我们还要安装
npm i @release-it/conventional-changelog -D
这个是用来生成changelog
的。 - 运行
npm run release
看看效果,结果报了如下图的错误。
提示我们需要登录, 运行
npm login
登录一下, 没有账号的注册一下
在我们开发过程中,就是这样的一步步试错,一步步解决问题,然后最终达到自己的目的,整个过程应该是最珍贵的,因为此时的我们正在成长。
- 登录之后,我们再次运行
npm release
,接着选择升级的版本版本号的语义标准这篇文章讲的很详细了,最后,我们的包就发布成功了。
npm init release-it干了啥?
在npm官网我们了解到npm init <initializer>
可以用来建立新的项目或执行已经存在的包.
initializer
如果有值,这个时候npx就开始安装create-<initializer>
,执行包内的脚本,创建或更新package.json
;- 如果
npm init
,忽略了initializer
输入,则它会问你一系列问题(-y/--yes可以忽略这些问题),创建package.json
;
npm init release-it
对应的是第一种情况,通过npx 安装 create-release-it
,
选择配置文件,生成 .release-it.json
或者 package.json
的 release-it
配置
写入
{
"scripts": {
"release": "release-it"
}
}
到package.json
里,最后执行 npm install release-it --save-dev
也就是源码里的 await execa('npm', ['install', 'release-it', '--save-dev'], { stdio: 'inherit' });
。
接着我们执行npm run release
,release-it
开始执行,node_modules/release-it/bin/release-it.js
,一切从release()
函数开始
顺着这个函数就可以探索
release-it
如何给我们做版本管理了。
结束语
好了release-it
就讲到这里了