2017-09-16 90 views
5

Jedna z naszych zależności aplikacji (my-app) to npm lib, które publikujemy na npm (my-lib).zarządzanie 2 wydaniami lib npm - tej samej biblioteki - w jednym rejestrze?

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

Jako firma zobowiązaliśmy się do wspierania obecnej wersji i 1 starszej wersji. my-app 1.0.0 zależy od mojego-lib 1.0.0

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

my-app 2.0.0 zależy najnowszy my-lib, który jest 3.1.0

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

Mamy bug w my-lib, które musimy naprawić dla zarówno. Łatwo byłoby naprawić w wersji 3.1.0, , ale my-app 1.0.0 nie może przyjąć wersji 3.1.0, ponieważ wprowadza zmiany łamania i musi pozostać w wersji 1.X.X. Jaki jest standardowy sposób na naprawienie my-lib w obu?

Odpowiedz

1

Jeśli zdecydujesz się na aktualizację obu wersji 1.x.x i 3.x.x, możesz nadal pracować na dwóch oddzielnych gałęziach GIT i publikować 2 oddzielne wydania poprawek na NPM.

+0

ale npm nie zezwala na publikowanie poprawek do starej wersji; gdy już masz wersję 2.X.X, nie możesz opublikować czegoś na 1.X.X. –

+1

Witaj Mattan, Powinieneś być w stanie publikować do starszych wersji bez problemów. Przetestowałem to na instalacji NPME w wersji 3.x i 5.x npm CLI. Nadzieja, która pomaga :) –

+0

@MattanBitner o ile mi wiadomo, nie można zastąpić ISTNIEJĄCYCH starszych wersji, ale nawet jeszcze nie próbowałem, czytając dokumentację npm, myślę, że zrozumiałem, że można publikować łatki do starszych wersji . Na przykład, jeśli ostatnia wersja 1.x.x to 1.1.3, powinieneś być w stanie opublikować wersje 1.1.4 nawet wersji 2.0.0 lub 3.0.0. – bitifet