Przejdź do treści

SemVer sorter i komparator

Posortuj listę numerów wersji według precedencji semantycznego wersjonowania.

Wejście
Wynik

SemVer sorter i komparator

Wklej listę numerów wersji a to narzędzie posortuje je według precedencji semantycznego wersjonowania (SemVer), a nie zwykłego tekstu. Sortowanie tekstu umieściłoby "1.10.0" przed "1.9.0", ponieważ "1" poprzedza "9" znak po znaku; to narzędzie porównuje numery major, minor i patch jako liczby, więc "1.10.0" prawidłowo skończy się za "1.9.0". Obsługiwane są również wersje przedpremierowe: "1.0.0-rc.1" sortuje przed własnym wydaniem "1.0.0", dokładnie tak, jak definiuje to specyfikacja SemVer, a metadane kompilacji po "+" są odczytywane, ale nigdy nie wpływają na kolejność.

Włącz "Ignoruj przedrostek v" aby zaakceptować wersje w stylu git-tag, takie jak "v1.2.3" obok zwykłych. Wyklucz wersje przedpremierowe usuwa wszystkie wiersze z przyrostkiem "-" z wyniku, co jest przydatne, gdy chcesz tylko wydane wydania. Zachowaj tylko najwyższą wersję na zredukuje listę do jednego wpisu na gałąź główną lub major.minor — wklej każdy tag, jaki projekt kiedykolwiek miał, i wróć tylko do najnowszej poprawki każdej gałęzi wydania. Wiersze, które nie są prawidłową wersją SemVer, można oznaczyć za pomocą "Oznacz wiersze, które nie są prawidłową wersją SemVer", aby zapobiec cichemu zniknięciu błędnie wpisanego "latest" lub źle sformułowanego tagu z długiej listy; pozostaw ją wyłączoną, aby je odrzucić. Tryb przełącza narzędzie na porównywanie dwóch wersji w wierszu albo na rozbiór części, błędów i zakresu w rodzaju ^1.2.

Jest to rodzaj sprawdzenia, które pojawia się przy sortowaniu dziennika zmian, decydowaniu, które tagi git projektu to rzeczywiste wydania, lub wybieraniu najwyższej kompatybilnej wersji zależności z pliku blokady lub listy rejestrów.

Częste pytania

Dlaczego "1.10.0" sortuje się po "1.9.0" tutaj, ale nie w zwykłym sortowaniu tekstu?
Sortowanie tekstu porównuje znak po znaku, więc "1" bije "9" i "1.10.0" kończy się na początku. To narzędzie porównuje pola major, minor i patch jako liczby, co jest sposobem, w jaki SemVer faktycznie definiuje kolejność wersji.
Dlaczego wersja przedpremierowa taka jak "1.0.0-rc.1" sortuje się przed "1.0.0"?
Specyfikacja SemVer przyznaje wersji przedpremierowej niższy priorytet niż jej finalne wydanie. Wersje "1.0.0-rc.1", "1.0.0-beta" i podobne wersje z przyrostkami są uważane za wcześniejsze niż zwykłe "1.0.0", któremu poprzedzają.
Co robi "Zachowaj tylko najwyższą wersję na"?
Zmniejsza posortowaną listę do jednego wiersza na grupę — albo na wersję główną (1.x.x), albo na wersję major.minor (1.2.x) — zachowując tylko wersję o najwyższym priorytecie znalezioną w każdej grupie i odrzucając resztę.
Co się dzieje z wierszami, które nie są prawidłową wersją SemVer?
Nie mogą być umieszczone w porządku numerycznym, więc są oddzielone od sortowania. Włącz "Oznacz wiersze, które nie są prawidłową wersją SemVer", aby je zachować, z adnotacją, na koniec wyniku; pozostaw ją wyłączoną, aby je odrzucić z rezultatu.
Czy moja lista wersji jest przesyłana gdziekolwiek?
Nie. Sortowanie i porównanie odbywa się całkowicie w Twojej przeglądarce — wersje, które wklejasz, nigdy nie są wysyłane na serwer.