发行新版本时,Lerna是否会破坏依赖版本?

时间:2020-02-10 16:07:12

标签: npm yarnpkg lerna

如果我有一个packageApackageB的monorepo,而后者则依赖于前者。例如,如果我随后运行lerna version major,导致packageA的版本号被修改,那么在packageB的{​​{1}}中对其依赖项的列表是否也会得到自动碰碰,还是应该手动完成?

(我尝试设置测试存储库来执行此操作,但是Lerna抱怨它还没有远程控制,因此我希望有Lerna使用经验的人知道答案。)

1 个答案:

答案 0 :(得分:2)

为了这个答案,我将假设您没有使用常规的Commit。如果我认为有误,请随时提供更多细节。

TL; DR

是的,如果您运行lerna version major,则回购中的所有软件包都将更新为新的主版本,而package.json的{​​{1}}文件将使用{ {1}}。

详细信息

假设您的Monorepo中有packageBpackageA软件包,它们中的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