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

时间:2016-07-13 05:35:05

标签: node.js dependencies package.json

情境:

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

  1. 利巴
  2. serviceA
  3. serviceB
  4. 两种服务都需要使用libA(共享的私有库)。此外,serviceA在devDependencies中具有serviceB用于测试。树的直观表示如下所示。

    serviceA ---> libA 
             |--> serviceB ---> libA
    

    所有私有存储库都列在package.json中,使用SSH克隆

    git+ssh://git@github.com:{ORG}/{repo}.git
    

    问题:

    我们有很多场景需要同时在所有3个回购中更改代码(通过创建分支和PR)。为了使测试通过,必须使用指定的分支克隆所有repos,如果不是,则使用默认值。在本地运行测试时,我们将手动sym链接deps,或使用npm link。

    在CI中运行serviceA的测试时,可以运行预构建脚本来编辑带有新分支的package.json(对于libA和serviceB)。不幸的是,这并没有解决这样一个事实,即需要编辑serviceB的deps,以便在安装libA时它使用正确的新分支。

    最好的方法是什么?

0 个答案:

没有答案