固定包
此翻译已由@nnecec修订
固定包允许你指定一个或多个包的组合,这些包应该一起进行版本控制和发布。
与
链接包不同,即使某些成员包没有进行任何更改,固定包组中的所有包也会一起进行版本升级并发布。
示例
假设有三个包,分别是 pkg-a、pkg-b 和 pkg-c。其中 pkg-a 和 pkg-b 是固定的,而 pkg-c 不是,因此配置如下所示:
json
{
"fixed": [["pkg-a", "pkg-b"]]
}pkg-a版本为1.0.0pkg-b版本为1.0.0pkg-c版本为1.0.0
如果我有一个 changeset 对 pkg-a 进行了补丁更新,对 pkg-b 进行了次要版本更新,并对 pkg-c 进行了主要版本更新,然后我进行了发布,那么最终的版本将会是:
pkg-a版本为1.1.0pkg-b版本为1.1.0pkg-c版本为2.0.0
现在我又有了一个对 pkg-a 进行次要版本更新的 changeset,然后我进行了发布,那么最终的版本将会是:
pkg-a版本为1.2.0pkg-b版本为1.2.0pkg-c版本为2.0.0
使用通配符表达式
有时候你可能希望在项目中(例如在一个 monorepo 配置中)固定很多或所有的包,在这种情况下你需要保持固定包列表的最新状态。
为了简化维护这个列表的工作,你可以在列表中提供通配符表达式,这些表达式将匹配并解析为你想要包含的所有包。
例如:
json
{
"fixed": [["pkg-*"]]
}它将匹配所有以 pkg- 开头的包。
通配符表达式必须按照 micromatch 的格式定义。