ForHosting KIT · Ferramentas para dev

Verifique uma versão em um intervalo SemVer

Verifique em um passo se uma versão cabe em um intervalo: 1.5.2 atende a >=1.0.0 <2.0.0, enquanto 1.5.0-beta.1 não, porque um intervalo amplo nunca deixa passar uma versão instável por acidente. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Teste uma versão de pacote em relação a um intervalo de versões semânticas sem instalar um gerenciador de pacotes nem depender de comparação textual. Esta capacidade valida uma versão estrita de Semantic Versioning 2.0.0, interpreta a restrição informada e retorna diretamente verdadeiro ou falso. Ela aceita versões exatas, comparadores de desigualdade, compatibilidade caret e tilde, interseções separadas por espaços e alternativas com barra vertical dupla. Versões e expressões de intervalo malformadas geram um erro de entrada, tornando o verificador adequado para ferramentas de lançamento, auditorias de dependências, políticas de implantação e diagnóstico interativo.

Escolha a forma de intervalo que representa sua política de compatibilidade

Um intervalo deve descrever as versões que seu software realmente aceita, e não apenas se parecer com um rótulo de versão. Informe uma versão semântica completa, como 1.4.7, e escolha uma das formas de restrição disponíveis. Um intervalo exato como 1.4.7 aceita somente a mesma precedência SemVer.

Comparadores como >=1.0.0, <2.0.0 e <=3.5.1 definem limites explícitos. Separe os termos comparadores com espaços para exigir todos eles, como em >=1.0.0 <2.0.0. Use uma barra vertical dupla para permitir alternativas, por exemplo ^1.8.0 || ^2.2.0.

O verificador trata metadados de compilação conforme o SemVer: eles são validados, mas não mudam a precedência. As entradas precisam conter números major, minor e patch, portanto versões abreviadas ou flexíveis são recusadas em vez de interpretadas de maneira ambígua. O campo satisfies retornado é um booleano próprio para uso direto em condições; a resposta também repete a versão e o intervalo enviados para que registros e interfaces mostrem exatamente qual política foi avaliada.

Entenda o comportamento de caret, tilde e versões de pré-lançamento

Intervalos caret e tilde expressam duas políticas comuns de compatibilidade. Um intervalo caret normalmente permite mudanças que não alteram o componente não zero mais à esquerda. Assim, ^1.2.3 aceita versões desde 1.2.3 até antes de 2.0.0.

Versões com major zero recebem limites mais estreitos: ^0.2.3 termina antes de 0.3.0, e ^0.0.3 antes de 0.0.4. Um intervalo tilde permite alterações de patch dentro da linha minor indicada; portanto, ~1.2.3 começa em 1.2.3 e termina antes de 1.3.0. Pré-lançamentos exigem atenção especial, pois um intervalo amplo comum não deve aceitar compilações instáveis por acidente.

Uma versão de pré-lançamento só satisfaz um conjunto de comparadores quando esse conjunto contém um comparador de pré-lançamento com o mesmo núcleo major, minor e patch. Por exemplo, 2.0.0-beta.2 pode corresponder a >=2.0.0-beta.1 <2.0.0, mas 1.5.0-beta.1 não corresponde a >=1.0.0 <2.0.0. Isso preserva o comportamento seguro conhecido dos gerenciadores de pacotes e a precedência SemVer estrita entre identificadores de pré-lançamento.

Esses limites deixam explícita a política de estabilidade pretendida.

Aplique verificações determinísticas em fluxos de lançamento e dependências

Este verificador é útil sempre que uma política de versões precisa se transformar em uma decisão repetível. Uma tarefa de integração contínua pode confirmar que a versão do ambiente atende ao requisito de um pacote antes do início dos testes. Um serviço de implantação pode recusar um artefato fora de uma linha de lançamentos aprovada.

Um inventário de dependências pode avaliar versões registradas em relação a uma meta de migração, enquanto uma equipe de suporte pode reproduzir no navegador um resultado de compatibilidade contestado. A implementação não faz solicitações de rede, não consulta o relógio e não gera valores aleatórios; assim, entradas idênticas sempre produzem saídas idênticas. Componentes numéricos são comparados como sequências de dígitos, e não como números JavaScript, preservando resultados corretos além do limite de inteiros seguros.

Essa diferença importa: falso indica que uma política válida recusou a versão, enquanto um erro indica que a política precisa ser corrigida.

Aplique requisitos do ambiente de execução

Verifique uma versão detectada do ambiente ou de uma ferramenta em relação ao intervalo aceito antes de continuar uma compilação ou implantação.

Audite a compatibilidade de pacotes

Avalie versões de dependências instaladas em relação às políticas de compatibilidade declaradas sem executar um gerenciador de pacotes.

Investigue a seleção de lançamentos

Reproduza decisões de caret, tilde, comparadores e pré-lançamentos com um resultado booleano claro.

Quais operadores de intervalo são aceitos?

São aceitos versões exatas, <, <=, >, >=, =, caret, tilde, termos E separados por espaços e alternativas OU com barra vertical dupla.

Os metadados de compilação afetam o resultado?

Não. Os metadados de compilação são validados, mas o SemVer os exclui da precedência entre versões.

Por que um pré-lançamento não atende a um intervalo amplo?

Um pré-lançamento só é aceito quando seu conjunto de comparadores inclui outro pré-lançamento com o mesmo núcleo major, minor e patch.

Versões abreviadas ou intervalos com curingas são aceitos?

Não. As versões precisam conter componentes major, minor e patch; sintaxes flexíveis ou com curingas não aceitas geram um erro de entrada.

Até onde vai um intervalo com circunflexo como ^1.2.3?

De 1.2.3 até 2.0.0, sem incluí-la. Com o número principal igual a zero ele é mais estreito: ^0.2.3 para antes de 0.3.0 e ^0.0.3 antes de 0.0.4. Um intervalo com til como ~1.2.3 para antes de 1.3.0.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev2/package-version-range-check

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev2/package-version-range-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"version":"1.5.2","range":">=1.0.0 <2.0.0"}'
{
  "version": "1.5.2",
  "range": ">=1.0.0 <2.0.0"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.package_version_range_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_chars_per_input2048
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Aplique verificações determinísticas em fluxos de lançamento e dependências

Uma sintaxe de intervalo inválida produz um erro invalid_input, não um resultado falso. Use o executor interativo para uma consulta rápida ou chame a API por US$ 0,002 quando a decisão fizer parte de uma automação.

O que acontece quando o intervalo está malformado?

A capacidade retorna um erro invalid_input em vez de tratar uma política malformada como um intervalo válido sem correspondência.

Ver a documentação completa do KIT →