Como usar: Calculadora Semver
- Comparar: informe duas versões para ver qual é a mais nova e o motivo (prerelease e metadados de build incluídos).
- Incrementar: informe a versão atual e clique no tipo de mudança para gerar a próxima versão, copiada automaticamente.
- Verificar range: informe um range do npm como
^1.2.0,~1.2,1.xou>=1.2 <2e uma lista de versões. - Leia a explicação em linguagem simples e veja quais versões satisfazem o range.
Versionamento semântico: MAJOR.MINOR.PATCH
| Parte | Aumente quando… | Exemplo |
|---|---|---|
| MAJOR | você faz mudanças que quebram compatibilidade | 1.4.2 → 2.0.0 |
| MINOR | você adiciona funcionalidades, mantendo compatibilidade | 1.4.2 → 1.5.0 |
| PATCH | você corrige bugs, mantendo compatibilidade | 1.4.2 → 1.4.3 |
| Prerelease | você publica uma versão de teste | 2.0.0-beta.1 |
| Metadados de build | você marca um build (ignorado na precedência) | 1.4.2+sha.5114f85 |
Cola rápida de ranges do npm
| Range | Significa | Permite |
|---|---|---|
^1.2.3 | Compatível com 1.2.3 | >=1.2.3 <2.0.0 |
^0.2.3 | Para 0.x, o minor é “major” | >=0.2.3 <0.3.0 |
~1.2.3 | Apenas atualizações de patch | >=1.2.3 <1.3.0 |
1.x / 1 | Qualquer 1.y.z | >=1.0.0 <2.0.0 |
1.2.3 - 2.3 | Range com hífen | >=1.2.3 <2.4.0 |
>=1.2 <1.5 || 2.x | Um dos dois conjuntos | 1.2.0–1.4.x ou 2.x |
Prereleases só entram em um range se algum comparador do mesmo conjunto tiver prerelease no mesmo major.minor.patch. Assim, ^1.2.0 não casa com 1.3.0-beta.1, mas ^1.3.0-beta.0 casa. Isso evita instalar versões instáveis por acidente.
Os ranges ficam no seu package.json. Para decidir a próxima versão a partir dos seus commits, use o Gerador de Changelog; para marcar o release, use o Gerador de Comandos Git.
Também pesquisado como: verificar range semver, range de versão npm, diferença entre ^ e ~, versionamento semântico, incrementar versão, comparar versões, semver prerelease, testador semver.
Ferramentas que combinam com: Calculadora Semver
- Gerador de fluxos de trabalho do GitHub Actions — Escolha sua pilha, gatilhos e etapas e receba um arquivo .github/workflows/ci.yml — instalação, cache, verificação de código, teste, compilação, uma matriz de versões e, opcionalmente, implantação no GitHub Pages, Vercel ou em um registro de contêineres.
- Conversor de Bases — Digite um número em qualquer base e veja instantaneamente o valor em todas as outras.
- Verificador de Diferenças — Cole uma versão original e uma versão alterada para ver lado a lado as linhas adicionadas, removidas e modificadas — com as palavras exatas que mudaram destacadas dentro de cada linha.
- Validador YAML — Cole um arquivo Docker Compose, manifesto Kubernetes, workflow do GitHub Actions ou qualquer YAML para localizar erros, evitar armadilhas comuns e obter uma versão bem formatada.
Perguntas frequentes
Posso usar isto como testador de semver?
Qual a diferença entre ^ e ~ no package.json?
^1.2.3 permite atualizações de minor e patch (até, sem incluir, 2.0.0). ~1.2.3 permite apenas atualizações de patch (até 1.3.0). Para versões 0.x, o ^ é mais restrito: ^0.2.3 permite apenas 0.2.x.