一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情。
看到Changesets
,请你马上放弃lerna
吧哈哈哈,而且lerna
也不在维护了.
Changesets
是用于管理版本及变更日志的工具,专注多包管理。
1. 使用
1.1 安装依赖
yarn add @changesets/cli
or npm install @changesets/cli
1.2 changesets初始化
npx changeset init
完成命令后,会在项目的根目录生成.changeset
文件夹,里面就有其配置文件,对于大多数项目,使用初始化命令后生成的文件基本上是能够满足我们的需求的
这样就完成了项目中changesets的引入。
2. 常用changesets命令
2.1 changeset
这个是用来添加更改集合的,也就是用了这个命令,他会将你的包全部列出来,然后你去选择你要更改发布的包,这样就添加到了本次的更改集合
2.2 changeset version
改命令就是来修改发布包的版本的。里面对应了这样几个版本约束(版本号按0.0.0这样的三段式):
- patch 更新小版本号,代表fix补丁
- minor 更新中版本号,代表小功能改动
- major 更新大版本号,代表功能大跨步升级
运行该命令,选择适合的版本约束后,就要输入更新摘要,这样就生成了更新的log日志文件,或更新log日志文件
2.3 changeset publish
发布包到npm上,如果是发布到npm私服,一般要给命令加上登录后缀
changeset publish --registry=npm私服
在做这一步的时候别忘记登录npm,如果没有登录,这步一定报错
3. 整合命令
这部就是整合简化命令,主要是在package.json
当中处理
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev --parallel",
"changeset": "changeset",
"changeset:version": "changeset version",
"changeset:publish": "changeset publish",
"release": "npm run build && npm run changeset && npm run changeset:version && npm run changeset:publish",
},