Changesets,超级方便的多包管理

2,341 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 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",
},