Dopasowywanie kapelusza można uznać za „zepsute”, ponieważ nie zostanie zaktualizowane ^0.1.2
do 0.2.0
. Kiedy pojawi się oprogramowanie, użyj 0.x.y
wersji i dopasowuj hat dopasuje tylko ostatnią zmienną cyfrę ( y
). Odbywa się to celowo. Powodem jest to, że gdy oprogramowanie ewoluuje, interfejs API zmienia się gwałtownie: pewnego dnia masz te metody, a drugiego masz te metody i starych już nie ma. Jeśli nie chcesz łamać kodu osobom, które już korzystają z twojej biblioteki, idź i zwiększ wersję główną: np. 1.0.0
-> 2.0.0
-> 3.0.0
. Tak więc, zanim Twoje oprogramowanie będzie w 100% gotowe i będzie w pełni funkcjonalne, będzie to jak wersja, 11.0.0
która nie będzie wyglądać na znaczącą i faktycznie będzie myląca. Jeśli natomiast używałeś0.1.x
->0.2.x
-> 0.3.x
wersje, zanim oprogramowanie zostanie w 100% gotowe i będzie w pełni funkcjonalne, zostanie wydane jako wersja, 1.0.0
co oznacza: „To wydanie jest usługą długoterminową, możesz kontynuować korzystanie z tej wersji biblioteki w swojej produkcji kodu, a autor nie zmieni wszystkiego jutro lub w przyszłym miesiącu i nie porzuci pakietu ".
Zasada jest taka: używaj 0.x.y
wersji, gdy oprogramowanie nie jest jeszcze dojrzałe, i zwolnij ją, zwiększając środkową cyfrę, gdy zmienia się publiczny interfejs API (dlatego osoby, ^0.1.0
które nie otrzymają 0.2.0
aktualizacji i nie złamią swojego kodu). Następnie, gdy oprogramowanie dojrzeje, zwolnij go 1.0.0
i zwiększaj lewą cyfrę za każdym razem, gdy zmienia się twój publiczny interfejs API (dlatego ludzie ^1.0.0
nie otrzymają 2.0.0
aktualizacji i nie złamie ich kodu).
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
npm config set save-prefix=''
. (Wstaw~
cytaty, jeśli tak wolisz.) Ja osobiście to robię i pakuję rzeczy do produkcji.