Zum Inhalt springen

SemVer Sorter und Komparator

Sortieren Sie eine Liste von Versionsnummern nach der Vorrang des Semantic Versioning.

Eingabe
Ausgabe

SemVer Sorter und Komparator

Fügen Sie eine Liste von Versionsnummern ein und dieses Tool sortiert sie nach der Vorrang des Semantic Versioning (SemVer), nicht nach reiner Textordnung. Eine Textsortierung würde "1.10.0" vor "1.9.0" platzieren, weil "1" vor "9" im Zeichenvergleich kommt; dieses Tool vergleicht die Zahlen für Major, Minor und Patch als Zahlen, daher landet "1.10.0" korrekt nach "1.9.0". Vorabversionen werden ebenfalls behandelt: "1.0.0-rc.1" sortiert vor dem eigentlichen Release "1.0.0", genau wie die SemVer-Spezifikation definiert, und Build-Metadaten nach "+" werden gelesen, beeinflussen aber niemals die Sortierung.

Aktivieren Sie "Ignoriere Präfix v", um Git-Tag-artige Versionen wie "v1.2.3" neben normalen zu akzeptieren. "Vorabversionen ausschließen" entfernt alle Zeilen mit einem "-Suffix" vollständig aus der Ausgabe, praktisch wenn Sie nur veröffentlichte Releases möchten. "Nur die höchste Version pro" reduziert die Liste auf einen Eintrag pro Major- oder Major.Minor-Branch — fügen Sie jeden Tag ein, den ein Projekt je hatte, und erhalten Sie zurück nur den neuesten Patch jeder Release-Linie. Zeilen, die keine gültige SemVer sind, können mit "Zeilen markieren, die keine gültige SemVer sind" gekennzeichnet werden, damit ein abweichender "latest" oder fehlerhafter Tag nicht stumm aus einer langen Liste verschwindet; lassen Sie sie ausgeschaltet, um sie stattdessen zu entfernen. Der Modus schaltet auf den Vergleich zweier Versionen je Zeile um oder auf das Zerlegen in Teile, Fehler und einen Bereich wie ^1.2.

Dies ist die Art von Prüfung, die beim Triaging eines Changelogs auftritt, beim Entscheiden, welche Git-Tags eines Projekts tatsächliche Releases sind, oder beim Auswählen der höchsten kompatiblen Abhängigkeitsversion aus einer Sperrdatei oder Registerliste. Die Richtungsoption wechselt mit einem Klick zwischen aufsteigender und absteigender Reihenfolge, sodass Neueste zuerst genauso einfach wie Älteste zuerst ist.

Alles läuft lokal in Ihrem Browser: die Liste der Versionen verlässt nie Ihr Gerät. Kopieren Sie das sortierte Ergebnis, laden Sie es als .txt-Datei herunter oder senden Sie es direkt an ein anderes Tool, um weiter zu arbeiten.

Häufige Fragen

Warum sortiert "1.10.0" nach "1.9.0" hier, aber nicht bei einer normalen Textsortierung?
Eine Textsortierung vergleicht Zeichen für Zeichen, also schlägt "1" die "9" und "1.10.0" landet zuerst. Dieses Tool vergleicht die Felder Major, Minor und Patch stattdessen als Zahlen, was der tatsächlichen SemVer-Versionsdefinition entspricht.
Warum sortiert eine Vorabversion wie "1.0.0-rc.1" vor "1.0.0"?
Die SemVer-Spezifikation gibt einer Vorabversion niedrigere Vorrang als ihrer finalen Version. "1.0.0-rc.1", "1.0.0-beta" und ähnliche suffixierte Versionen gelten als früher als das reine "1.0.0", auf das sie hinführen.
Was macht "Nur die höchste Version pro"?
Es reduziert die sortierte Liste auf eine Zeile pro Gruppe — entweder pro Major-Version (1.x.x) oder pro Major.Minor-Version (1.2.x) — und behält nur die Highest-Precedence-Version in jeder Gruppe, während der Rest verworfen wird.
Was passiert mit Zeilen, die keine gültige SemVer sind?
Sie können nicht in numerische Ordnung gebracht werden, daher werden sie von der Sortierung isoliert. Aktivieren Sie "Zeilen markieren, die keine gültige SemVer sind", um sie mit Anmerkung am Ende der Ausgabe zu behalten; lassen Sie sie ausgeschaltet, um sie aus dem Ergebnis zu entfernen.
Wird meine Liste von Versionen irgendwo hochgeladen?
Nein. Sortieren und Vergleichen erfolgen vollständig in Ihrem Browser — die Versionen, die Sie einfügen, werden niemals an einen Server gesendet.