如果我有一个packageA
和packageB
的monorepo,而后者则依赖于前者。例如,如果我随后运行lerna version major
,导致packageA
的版本号被修改,那么在packageB
的{{1}}中对其依赖项的列表是否也会得到自动碰碰,还是应该手动完成?
(我尝试设置测试存储库来执行此操作,但是Lerna抱怨它还没有远程控制,因此我希望有Lerna使用经验的人知道答案。)
答案 0 :(得分:2)
为了这个答案,我将假设您没有使用常规的Commit。如果我认为有误,请随时提供更多细节。
是的,如果您运行lerna version major
,则回购中的所有软件包都将更新为新的主版本,而package.json
的{{1}}文件将使用{ {1}}。
假设您的Monorepo中有packageB
和packageA
软件包,它们中的packageA
文件如下所示:
packageB
package.json
当您运行`lerna version major:
# packageA/package.json
{
"name": "packageA",
"version": "1.0.0,"
}
中的# packageB/package.json
{
"name": "packageB",
"version": "1.0.0",
"dependencies": {
"packageA": "^1.0.0"
}
}
字段将更新为version
packageA/package.json
中的2.0.0
字段将更新为version
packageB/package.json
中的2.0.0
字段将更新为dependencies.packageA
packageB/package.json
^2.0.0