Vai al contenuto

Ordinatore e comparatore SemVer

Ordina un elenco di numeri di versione secondo la precedenza del versionamento semantico.

Ingresso
Uscita

Ordinatore e comparatore SemVer

Incolla un elenco di numeri di versione e questo strumento li ordina in base alla precedenza del versionamento semantico (SemVer), non in ordine di testo semplice. Un ordinamento di testo metterebbe "1.10.0" prima di "1.9.0" perché "1" viene prima di "9" carattere per carattere; questo strumento confronta i numeri principali, secondari e di patch come numeri, quindi "1.10.0" termina correttamente dopo "1.9.0". Anche le versioni pre-release vengono gestite: "1.0.0-rc.1" si ordina prima della sua stessa versione "1.0.0", esattamente come definisce la specifica SemVer, e i metadati di build dopo "+" vengono letti ma non influiscono mai sull'ordinamento.

Attiva "Ignora prefisso v" per accettare versioni stile git-tag come "v1.2.3" insieme a quelle normali. "Escludi versioni pre-release" rimuove completamente dall'output qualsiasi riga con un suffisso "-", utile quando vuoi solo i rilasci pubblicati. "Mantieni solo la versione più alta per" riduce l'elenco a una voce per ramo principale o per ramo major.minor — incolla ogni tag che un progetto ha mai avuto e recupera solo l'ultima patch di ogni linea di rilascio. Le righe che non sono valide SemVer possono essere contrassegnate con "Contrassegna le righe che non sono valide SemVer" quindi un "latest" fuori posto o un tag malformato non scompare silenziosamente da un elenco lungo; disattivalo per scartarli invece. La modalità passa al confronto di due versioni per riga, o all'analisi di parti, errori e un intervallo come ^1.2.

Questo è il tipo di controllo che si presenta quando si ordina un changelog, si decide quali tag git di un progetto sono veri rilasci, o si sceglie la versione di dipendenza compatibile più alta da un file di blocco o da un elenco di registro. L'opzione di direzione alterna tra ordine crescente e decrescente in un clic, quindi il più recente per primo è facile come il più vecchio per primo.

Tutto viene eseguito localmente nel tuo browser: l'elenco delle versioni non lascia mai il tuo dispositivo. Copia il risultato ordinato, scaricalo come file .txt o invialo direttamente a un altro strumento per continuare a lavorare.

FAQ

Perché "1.10.0" si ordina dopo "1.9.0" qui ma non in un ordinamento di testo semplice?
Un ordinamento di testo confronta carattere per carattere, quindi "1" batte "9" e "1.10.0" finisce per primo. Questo strumento confronta invece i campi principale, secondario e patch come numeri, che è come SemVer effettivamente definisce l'ordine delle versioni.
Perché una versione pre-release come "1.0.0-rc.1" si ordina prima di "1.0.0"?
La specifica SemVer dà a una versione pre-release precedenza inferiore rispetto al suo rilascio finale. "1.0.0-rc.1", "1.0.0-beta" e versioni suffissate simili sono considerate anteriori al semplice "1.0.0" che precedono.
Cosa fa "Mantieni solo la versione più alta per"?
Riduce l'elenco ordinato a una riga per gruppo — sia per versione principale (1.x.x) che per versione major.minor (1.2.x) — mantenendo solo la versione con la più alta precedenza trovata in ogni gruppo e scartando il resto.
Cosa succede alle righe che non sono valide SemVer?
Non possono essere poste in ordine numerico, quindi vengono messe da parte dall'ordinamento. Attiva "Contrassegna le righe che non sono valide SemVer" per mantenerle, annotate, alla fine dell'output; disattivalo per scartarle dal risultato.
Il mio elenco di versioni viene caricato da qualche parte?
No. L'ordinamento e il confronto vengono eseguiti interamente nel tuo browser — le versioni che incolli non vengono mai inviate a un server.