Ferramentas de desenvolvimento

Calculadora SemVerSepare precedência e correspondência

Verifique uma dependência, compare duas versões ou calcule o próximo número.

Calculadora SemVer

Versões (uma por linha)

A entrada é processada neste navegador e não é enviada a um servidor.

Resultado

Insira dados ou carregue um exemplo.

Opções

Apenas versões SemVer 2.0.0 estritas: sem espaços externos, prefixo v ou partes omitidas. Os números principais e os identificadores de pré-lançamento puramente numéricos não aceitam zeros à esquerda; os identificadores de build aceitam.

Intervalos npm aceitam ^, ~, comparadores, x, hífens e ||. Intervalos vazios e ramos OR vazios funcionam como curingas.

Pré-lançamentos são excluídos, exceto quando um comparador do mesmo grupo cita um com o mesmo major.minor.patch.

Metadados de build não alteram a precedência. Versões equivalentes mantêm a ordem original.

Limites da ferramenta: 1000 linhas, 100000 unidades UTF-16, 256 caracteres por versão e 4096 por intervalo. Os números principais e os identificadores de pré-lançamento puramente numéricos não podem exceder 9007199254740991. Esse limite numérico não se aplica aos identificadores de build.

A entrada ou as opções mudaram. Atualize os resultados antes de exportar.

A Calculadora SemVer ajuda quando uma versão beta mais recente não atende ao intervalo de uma dependência. Confira a precedência e as condições do intervalo separadamente antes de alterar a restrição.

Comparar versões não é ordenar texto: 1.10.0 vem depois de 1.9.0. O versionamento semântico também define como comparar identificadores numéricos e alfanuméricos de pré-lançamento.

Por que usar a Calculadora SemVer?

Entenda por que uma beta foi excluída

A Calculadora SemVer mostra os comparadores npm expandidos ao lado de cada resultado. Uma versão pode respeitar os limites numéricos e ainda ser excluída pela regra de pré-lançamento.

Versões estáveis passam por um intervalo enquanto uma beta segue outro caminho.

Preserve os rótulos de build

1.2.3+build.1 e 1.2.3+build.7 têm a mesma precedência. A ordem original é mantida, sem tratar um número de build como uma versão mais recente.

Dois rótulos de build ocupam o mesmo degrau em uma escala de versões.

Três verificações antes de continuar

01

Separe versão e intervalo

Versões precisam dos três números. Intervalos aceitam formas curtas como 1.2 e ^0.2.3. Um intervalo vazio ou ramo OR vazio funciona como curinga.

02

Confira os pré-lançamentos

A opção começa desativada. Ativá-la altera a correspondência, sem flexibilizar a sintaxe. Confira os comparadores expandidos, especialmente nos intervalos 0.x.

03

Revise antes de substituir

Exemplo e Limpar abrem uma prévia completa das entradas e opções. Aplicar confirma a troca; Desfazer restaura o estado anterior. O modo automático espera 350 ms; no manual, use Ctrl/Cmd+Enter.

Quatro verificações de lançamento

Correspondência em lote

Teste uma versão por linha com comparadores npm, ^, ~, curingas, intervalos com hífen e grupos OR.

Comparação de precedência

Compare major, minor, patch e identificadores de pré-lançamento. Metadados de build não decidem qual versão é mais recente.

Ordenação estável

Ordene de forma crescente ou decrescente. Linhas inválidas ficam no final com seus números originais; versões equivalentes mantêm a ordem de entrada.

Bump de versão em sete tipos

major, minor, patch, premajor, preminor, prepatch e prerelease calculam uma nova versão sem substituir automaticamente a original.

Sintaxe e limites do cálculo

Versões estritas
Apenas versões SemVer 2.0.0 estritas: sem espaços externos, prefixo v ou partes omitidas. Os números principais e os identificadores de pré-lançamento puramente numéricos não aceitam zeros à esquerda; os identificadores de build aceitam. Metadados de build não alteram a precedência. Versões equivalentes mantêm a ordem original.
Semântica dos intervalos npm
Intervalos npm aceitam ^, ~, comparadores, x, hífens e ||. Intervalos vazios e ramos OR vazios funcionam como curingas. Pré-lançamentos são excluídos, exceto quando um comparador do mesmo grupo cita um com o mesmo major.minor.patch.
Entradas limitadas
Limites da ferramenta: 1000 linhas, 100000 unidades UTF-16, 256 caracteres por versão e 4096 por intervalo. Os números principais e os identificadores de pré-lançamento puramente numéricos não podem exceder 9007199254740991. Esse limite numérico não se aplica aos identificadores de build.
Comportamento do incremento
O incremento remove os metadados de build. Novos contadores começam em 0. Deixe o identificador vazio para manter o existente e incrementar seu número.
Sem instalar dependências
Não consulta registros, instala dependências nem altera projetos. Linhas vazias são inválidas; uma única quebra final apenas encerra o texto. Uma correspondência não comprova compatibilidade de API.

Perguntas sobre a Calculadora SemVer

Qual a diferença entre ~ e ^ no package.json?

~1.2.3 permite versões estáveis de 1.2.3 até antes de 1.3.0; ^1.2.3 vai até antes de 2.0.0. ^ preserva o primeiro componente diferente de zero: ^0.2.3 exclui 0.3.0 e ^0.0.3 exclui 0.0.4.

O caret aceita o pré-lançamento mais recente?

Normalmente não. A Calculadora SemVer segue o npm: com a opção desativada, o mesmo grupo deve citar um pré-lançamento com o mesmo major.minor.patch. Ser a versão publicada mais recente não muda o resultado.

Para que servem os metadados de build?

Podem identificar um build ou commit, mas não alteram a precedência. Versões que diferem apenas depois de + são equivalentes e mantêm sua ordem na classificação.

Posso ordenar tags de formatos diferentes?

Somente versões SemVer estritas são ordenadas. v1.2.3 ou 1.10-alpine3 ficam no final como linhas inválidas; não há conversão silenciosa para outras strings.

Como adiciono um sufixo alpha?

Escolha um incremento de pré-lançamento e o identificador alpha. premajor transforma 1.2.3 em 2.0.0-alpha.0. Deixe o identificador vazio para manter o existente e aumentar seu contador.

Resultado inesperado?

Experimente a Calculadora SemVer

Use a Calculadora SemVer com sua lista de versões, confira a explicação do intervalo e salve o relatório atual.