2017-09-16 1 views
5

L'une des dépendances de nos applications (my-app) est une bibliothèque npm que nous publions sur npm (my-lib).gérer 2 libérations npm lib - de la même lib - dans un registre?

name: my-app; 
version: <my-app-version> 
dependencies: { 
    my-lib: <my-lib-version> 
} 

En tant que société nous tenons à soutenir la version actuelle et 1 ancienne version. my-app 1.0.0 dépend de my-lib 1.0.0

name: my-app; 
version: 1.0.0 
dependencies: { 
    my-lib: 1.0.0 
} 

my-app 2.0.0 dépend de mon dernier-lib qui est 3.1.0

name: my-app; 
version: 2.0.0 
dependencies: { 
    my-lib: 3.1.0 
} 

Nous avons un bug dans my-lib que nous devons corriger pour les deux. La chose facile à faire serait de fixer dans 3.1.0, mais my-app 1.0.0 ne peut pas adopter 3.1.0 car il introduit des changements de rupture, et doit rester dans la version 1.X.X. Quelle est la méthode standard pour corriger my-lib dans les deux cas?

Répondre

1

Si vous décidez de mettre à jour à la fois les versions 1.x.x et 3.x.x, vous pouvez continuer à travailler sur 2 branches GIT séparées et publier 2 versions de patch distinctes sur NPM.

+0

mais npm ne permet pas de publier des correctifs pour l'ancienne version; Une fois que vous avez la version 2.X.X, vous ne pouvez pas publier quelque chose à 1.X.X. –

+1

Hi Mattan, Vous devriez être en mesure de publier des versions plus anciennes sans problèmes. J'ai testé cela par rapport à une installation npmE avec les versions 3.x et 5.x de la CLI npm. J'espère que cela aide :) –

+0

@MattanBitner autant que je sache, vous ne pouvez pas remplacer les anciennes versions EXISTING mais, même si je n'ai pas encore essayé, en lisant la documentation npm, je pense avoir compris que vous pouviez publier des correctifs . Ainsi, par exemple, si votre dernière version 1.x.x était 1.1.3, vous devriez être en mesure de publier 1.1.4 même les versions 2.0.0 ou 3.0.0 existantes. – bitifet