Ga naar inhoud

SemVer Sorter en Comparator

Sorteer een lijst met versienummers op volgorde van semantische versiebeheer.

Invoer
Uitvoer

SemVer Sorter en Comparator

Plak een lijst met versienummers en dit hulpmiddel sorteert deze volgens semantische versierangschikking (SemVer), niet op gewone tekstorde. Een tekstsortering zou "1.10.0" voor "1.9.0" plaatsen omdat "1" voor "9" in tekenverband komt; dit hulpmiddel vergelijkt de major-, minor- en patch-nummers als nummers, dus "1.10.0" eindigt correct na "1.9.0". Voorlopige versies worden ook verwerkt: "1.0.0-rc.1" sorteert voor de eigen release "1.0.0", precies zoals de SemVer-specificatie definieert, en build-metadata na "+" wordt gelezen maar beïnvloedt de volgorde nooit.

Schakel "Negeer voorvoegsel v" in om git-tag-stijlversies zoals "v1.2.3" naast normale versies te accepteren. "Sluit voorlopige versies uit" verwijdert alle rijen met een "-achtervoegsel" volledig uit de uitvoer, handig als u alleen uitgebrachte releases wilt. "Behoud alleen de hoogste versie per" verkleint de lijst tot één vermelding per major- of major.minor-tak — plak elke tag die een project ooit had en krijg terug alleen de nieuwste patch van elke releaselijn. Rijen die geen geldige SemVer zijn, kunnen met "Markeer regels die geen geldige SemVer zijn" worden gemarkeerd, zodat een afwijkende "latest" of misvormd label niet zwijgend uit een lange lijst verdwijnt; laat uit om ze in plaats daarvan neer te zetten. De modus schakelt over naar twee versies per regel vergelijken, of naar het ontleden van delen, fouten en een bereik als ^1.2.

Dit is het type controle dat voorkomt bij het controleren van een changelog, het bepalen welke git-tags van een project werkelijke releases zijn, of het kiezen van de hoogste compatibele afhankelijkingsversie uit een vergrendelingsbestand of registerlijst. De richtingsoptie wisselt met één klik tussen oplopende en aflopende volgorde, dus nieuwste eerst is net zo gemakkelijk als oudste eerst.

Alles draait lokaal in uw browser: de versienummers verlaten nooit uw apparaat. Kopieer het gesorteerde resultaat, download het als .txt-bestand of stuur het rechtstreeks naar een ander hulpmiddel om verder te gaan.

FAQ

Waarom sorteert "1.10.0" na "1.9.0" hier, maar niet in een gewone tekstsortering?
Een tekstsortering vergelijkt teken voor teken, dus "1" slaat "9" en "1.10.0" eindigt eerst. Dit hulpmiddel vergelijkt de major-, minor- en patch-velden als nummers, wat hoe SemVer daadwerkelijk versievolgorde definieert.
Waarom sorteert een voorlopige versie zoals "1.0.0-rc.1" voor "1.0.0"?
De SemVer-specificatie geeft een voorlopige versie lagere prioriteit dan de uiteindelijke release. "1.0.0-rc.1", "1.0.0-beta" en soortgelijke versies met achtervoegsel worden eerder beschouwd dan de gewone "1.0.0" waarop zij voorafgaan.
Wat doet "Behoud alleen de hoogste versie per"?
Het verkleint de gesorteerde lijst tot één regel per groep — ofwel per major-versie (1.x.x) of per major.minor-versie (1.2.x) — en behoudt alleen de hoogste-prioriteitsversie die in elke groep is gevonden en verwijdert de rest.
Wat gebeurt er met rijen die geen geldige SemVer zijn?
Ze kunnen niet in numerieke volgorde worden geplaatst, dus worden ze van de sortering afgescheiden. Schakel "Markeer regels die geen geldige SemVer zijn" in om ze geannoteerd aan het einde van de uitvoer te houden; laat uit om ze uit het resultaat te verwijderen.
Wordt mijn versienummerlijst ergens geüpload?
Nee. Sorteren en vergelijken worden volledig in uw browser uitgevoerd — de versies die u plakt worden nooit naar een server verzonden.