Comparador y Calculadora de Rangos Semver

Parsea versiones SemVer 2.0.0, compara dos con el conjunto completo de operadores, y emparéjalas con rangos estilo npm — caret (^1.2.3), tilde (~1.2.3), hyphen (1.2.3 - 2.0.0), x-ranges, conjuntos OR y los seis comparadores. Incluye un buscador de máximo satisfaciente en masa y un incrementador de versiones. Puramente del lado del cliente, sin subir nada.

Parsear una versión

SemVer 2.0.0 estricto — rechaza ceros a la izquierda, partes vacías, falta del núcleo y otras violaciones del spec.

Comparar dos versiones

Precedencia según el spec — una versión sin pre-release tiene precedencia sobre una con pre-release en el mismo M.m.p; los metadatos de build se ignoran.

Emparejar una versión con un rango

Estilo npm: caret, tilde, hyphen, x-ranges, OR y los seis comparadores. El rango se parsea y se imprime de nuevo para que veas lo que significa realmente.

Rangos predefinidos

Encontrar la versión más alta que satisface un rango

Pega una versión por línea, define un rango y mira cada coincidencia y la de mayor precedencia. Las líneas no válidas se marcan en contexto. Las líneas vacías y los comentarios # se ignoran.

Incrementar una versión

Bumps compatibles con npm. El id de pre-release por defecto es rc.

Cheatsheet de sintaxis de rangos
SintaxisSignificadoEjemplo
1.2.3exacto1.2.3 solo coincide con 1.2.3
>1.2.3 etc.comparador>=1.0.0 <2.0.0
^1.2.3compatible (según npm)^1.2.3>=1.2.3 <2.0.0
~1.2.3nivel de patch (según npm)~1.2.3>=1.2.3 <1.3.0
1.x / 1.2.xx-range1.x>=1.0.0 <2.0.0
1.2.3 - 2.0.0hyphen range>=1.2.3 <=2.0.0
A || BOR^1.0.0 || ^2.0.0
*cualquieracoincide con todas las versiones

Puramente del lado del cliente, funciona sin conexión una vez cargado, sin subir nada, sin tracking. Construido sobre el spec SemVer 2.0.0 y la gramática de rangos de npm.