Node.js 如何在package.json中动态选择依赖项的特定分支
场景: 我们有一个依赖结构,有3个独立的私人回购:Node.js 如何在package.json中动态选择依赖项的特定分支,node.js,dependencies,package.json,Node.js,Dependencies,Package.json,场景: 我们有一个依赖结构,有3个独立的私人回购: 利巴 服务A 服务B 这两项服务都需要使用libA(一个共享的私有库)。此外,serviceA在测试的依赖项中有serviceB。树的视觉表示如下图所示 serviceA ---> libA |--> serviceB ---> libA 要使用SSH克隆的package.json中列出了所有私有repo git+ssh://git@github.com:{ORG}/{repo}.git 问题: 在很多
serviceA ---> libA
|--> serviceB ---> libA
要使用SSH克隆的package.json中列出了所有私有repo
git+ssh://git@github.com:{ORG}/{repo}.git
问题:
在很多情况下,我们希望同时更改所有3个回购协议中的代码(通过创建分支和PR)。为了通过测试,必须使用指定的分支克隆所有repo,如果没有克隆,则使用默认分支。在本地运行测试时,我们将手动sym链接DEP,或使用npm链接
在CI中运行serviceA的测试时,可以运行预构建脚本来编辑package.json和新分支(对于libA和serviceB)。不幸的是,这并不能解决这样一个事实:serviceB的deps需要编辑,以便在安装libA时使用正确的新分支
最好的办法是什么