Ir para o conteúdo

Ordenador SemVer

Ordene uma lista de números de versão pela precedência do versionamento semântico.

Entrada
Saída

Ordenador SemVer

Cole uma lista de números de versão e esta ferramenta os ordena pela precedência do versionamento semântico (SemVer), não por ordem de texto simples. Uma classificação textual colocaria "1.10.0" antes de "1.9.0" porque "1" vem antes de "9" carácter por carácter; esta ferramenta compara os números major, minor e patch como números, portanto "1.10.0" termina corretamente depois de "1.9.0". As versões de pré-lançamento também são tratadas: "1.0.0-rc.1" ordena-se antes do seu próprio lançamento "1.0.0", exatamente como a especificação SemVer define, e os metadados de compilação após "+" são lidos mas nunca afectam a ordenação.

Ative "Ignorar prefixo v" para aceitar versões estilo git-tag como "v1.2.3" juntamente com as normais. "Excluir versões de pré-lançamento" remove completamente qualquer linha com um sufixo "-" da saída, útil quando pretende apenas lançamentos publicados. "Manter apenas a versão mais alta por" reduz a lista a uma entrada por ramo principal ou por ramo major.minor — cole cada tag que um projeto já teve e obtenha apenas o patch mais recente de cada linha de lançamento. As linhas que não são SemVer válido podem ser marcadas com "Marcar linhas que não são SemVer válido" para que um "latest" fora do lugar ou uma tag mal formada não desapareça silenciosamente de uma lista longa; deixe desactivado para as remover. O modo muda para comparar duas versões por linha, ou para analisar partes, falhas e um intervalo como ^1.2.

Este é o tipo de verificação que surge ao triagem de um changelog, ao decidir quais tags git de um projeto são lançamentos reais, ou ao escolher a versão de dependência compatível mais alta de um arquivo de bloqueio ou listagem de registo. A opção de direcção alterna entre ordem ascendente e descendente com um clique, portanto mais recente primeiro é tão fácil quanto mais antigo primeiro.

Tudo é executado localmente no seu navegador: a lista de versões nunca sai do seu dispositivo. Copie o resultado ordenado, descarregue-o como ficheiro .txt ou envie-o directamente para outra ferramenta para continuar a trabalhar.

FAQ

Porque é que "1.10.0" se ordena depois de "1.9.0" aqui mas não numa classificação de texto simples?
Uma classificação textual compara carácter por carácter, portanto "1" vence "9" e "1.10.0" termina em primeiro. Esta ferramenta compara os campos major, minor e patch como números, que é como SemVer realmente define a ordem das versões.
Porque é que uma versão de pré-lançamento como "1.0.0-rc.1" se ordena antes de "1.0.0"?
A especificação SemVer atribui uma versão de pré-lançamento precedência inferior ao seu lançamento final. "1.0.0-rc.1", "1.0.0-beta" e versões suffixadas similares são consideradas anteriores ao "1.0.0" simples a que levam.
O que faz "Manter apenas a versão mais alta por"?
Reduz a lista ordenada a uma linha por grupo — por versão principal (1.x.x) ou por versão major.minor (1.2.x) — mantendo apenas a versão com maior precedência encontrada em cada grupo e descartando o resto.
O que acontece às linhas que não são SemVer válido?
Não podem ser colocadas em ordem numérica, pelo que são segregadas da classificação. Active "Marcar linhas que não são SemVer válido" para as manter, anotadas, no final da saída; deixe desactivado para as remover do resultado.
A minha lista de versões é carregada para algum lugar?
Não. A classificação e comparação executam-se integralmente no seu navegador — as versões que cola nunca são enviadas para um servidor.