Node.js 如何在package.json中动态选择依赖项的特定分支

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 问题: 在很多

场景:

我们有一个依赖结构,有3个独立的私人回购:

  • 利巴
  • 服务A
  • 服务B
  • 这两项服务都需要使用libA(一个共享的私有库)。此外,serviceA在测试的依赖项中有serviceB。树的视觉表示如下图所示

    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时使用正确的新分支

    最好的办法是什么