Dopasowywanie kapelusza można uznać za „zepsute”, ponieważ nie zostanie zaktualizowane ^0.1.2do 0.2.0. Kiedy pojawi się oprogramowanie, użyj 0.x.ywersji 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.0któ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.xwersje, zanim oprogramowanie zostanie w 100% gotowe i będzie w pełni funkcjonalne, zostanie wydane jako wersja, 1.0.0co 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.ywersji, 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.0które nie otrzymają 0.2.0aktualizacji i nie złamią swojego kodu). Następnie, gdy oprogramowanie dojrzeje, zwolnij go 1.0.0i zwiększaj lewą cyfrę za każdym razem, gdy zmienia się twój publiczny interfejs API (dlatego ludzie ^1.0.0nie otrzymają 2.0.0aktualizacji 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.