release it 源码学习与笔记


theme: hydrogen

我正在参与掘金会员专属活动-源码共读第一期,点击参与

前言

相信很多人都不知道 release it 这个东西,我也是通过看了这篇文章后

image.png

运行 release

准备好以上这些,我们便可以运行 release 了。首次运行可能会提示我们登录 npm

npm run release

通过运行 release 更新了项目版本号,并推送到 npm

源码解读

还是和之前一样,在源码里通过 package.json 找到入口文件,如下所示:

image.png

不难发现入口文件为 lib 目录下的 index.js

不过这里我们主要是来研究一下 npm init release-it 的原理。通过阅读文档以及源码可以知道,npm init 命令在执行的时候会转换成 npx 命令,所以 npm init release-it 其实等于 npx create-release-it

image.png

从源码中不难发现,npm init release-it 之后会生成 .release-it.json 或者 package.json 的 release-it 配置。

const RELEASE_IT_CONFIG = '.release-it.json';
const PACKAGE_CONFIG = 'package.json';

在源码的最后一行可以看到如下代码,这段代码表示的意思是 npm install release-it --save-dev 这段命令。

image.png

import { execa } from 'execa';
....
....
await execa('npm', ['install', 'release-it', '--save-dev'], { stdio: 'inherit' });

这里引入的 execa 包可以调用 shell 和本地外部程序的 javascript 封装。

总结

关于 release-it 的学习还在继续,这次浅析了一下 release-it 源码,学会使用 release-it 管理版本号,并了解其原理。除此之外,通过 release-it 还可以进行发包(),总之多看源码多看文档。

参考文章:若川大佬的 源码地址

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容