介绍
简单来说 changesets
就是生成 changelog的工具,有助于自动化发布流程,适用于管理版本及变更日志的工具,专注于多包管理,适合 Monorepo 项目的版本更新、管理和更新日志管理
它主要关心 [[monorepo]]
项目下子项目版本的更新、changelog 文件的生成、包的发布,它包含的信息有:
- 需要发布的包
- 包版本的更新层级(遵循 semver 规范)
- CHANGELOG 信息
工作流程
Transclude of Changesets-包版本工具工作流程
命令
init
changeset init
再当前项目根目录生成一个 .changeset
目录,里面会生成一个 changeset 的 config 文件
add
可以直接执行 changeset
不带 add
根据 monorepo
下的项目生成一个changeset
文件,里面会包含
- 更新包的名称
- 版本层级
- CHANGELOG 信息
version
消耗 changeset 文件并且修改对应包版本以及依赖该包的包版本,同时会根据之前 changeset 文件里面的信息来生成对应的 CHANGELOG 信息
publish
会执行包的发布,并消耗掉 .changeset 目录下开发者生成的 changeset 文件,并自动写入根目录下的 CHANGELOG 文件