Lors de l'installation d'un package NPM, pouvez-vous dire à utiliser une version différente de l'une de ses dépendances?

Dites que vous voulez installer une bibliothèque lib-a qui a des dépendances dep-1 et dep-2. Si lib-a a déclaré dans son paquet.json pour utiliser une version de dep-2 qui est obsolète (dire qu'il ne fonctionne pas sur le nœud 0.8.0 qui vient de sortir), mais il y a une branche de dep-2 qui fonctionne avec nœud 0.8.0 - nom de la branche node0.8.0.

Donc les paquets dans l'équation sont:

git://github.com/user-a/lib-a
git://github.com/user-b/dep-1
git://github.com/user-c/dep-2
git://github.com/user-c/dep-2#node0.8.0

Est-il un moyen de dire NPM pour installer lib-a, mais l'utilisation dep-2#node0.8.0 au lieu de dep-2?

Avec NPM vous pouvez installer une branche spécifique d'un projet comme celui-ci:

npm install git://github.com/user-c/dep-2#node0.8.0

Et si j'étais à personnaliser le package.json de lib-a, vous pourriez dire à utiliser dep-2#node0.8.0 comme ceci:

{
  "name": "lib-a",
  "dependencies": {
    "dep-1": ">= 1.5.0",
    "dep-2": "git://github.com/user-c/dep-2#node0.8.0"
  }
}

En modifiant le paquet.json vous pouvez ensuite exécuter

npm install lib-a

et il va installer le nœud 0.8.0 compatible dep-2 branche. Mais, qui nécessite que j'ai accès à la modification de lib-a, qui, pour mon cas précis je n'ai pas. Techniquement, je pourrais fourche lib-a et de faire le changement ci-dessus sur l'emballage.json. Mais dans mon cas précis, lib-a est une dépendance de un autre de la bibliothèque, alors j'aimerais avoir la fourche à la fourchette le projet il est référencé dans la, et sur et sur...

Donc la question est, est-il un moyen de dire aux MNP pour installer lib-a, et dites-lui d'utiliser le node0.8.0 branche de dep-2? Quelque chose comme ceci:

npm install lib-a --overrides dep-2:git://github.com/user-c/dep-2#node0.8.0

Ce serait génial. Si il n'est pas possible, qu'il serait bon de savoir si je peux me préparer à avoir à fourche/personnaliser la chaîne de projets.