1.2.3 es menor que 1.2.10
satisface1.2.5 ∈ ^1.2.0
Qué hace
El comprobador de SemVer trabaja con cadenas de Semantic Versioning 2.0.0. Compara dos versiones para ver cuál es mayor (con la precedencia correcta de prereleases - 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0), comprueba si una versión satisface un rango al estilo npm (^, ~, comparadores, rangos con guion, ||) e incrementa major / minor / patch / prerelease con un clic. Todo se ejecuta 100% en el cliente - ninguna cadena de versión sale nunca de tu navegador.
Cómo usarlo
- Compare - introduce dos versiones en Version A y Version B. La flecha entre ellas y la línea de veredicto te dicen cuál es mayor (o que son iguales).
- Range check - introduce una versión y una expresión de rango (p. ej.
^1.2.0,~1.0.0,>=1.2.3 <2.0.0,1.0.0 || 2.0.0). Una insignia verde de satisfies o roja de no match muestra el resultado. - Bump - introduce una versión y pulsa Major, Minor, Patch o Prerelease para calcular la siguiente versión y copiarla.
- Copy share link para enviar las entradas exactas a otra persona.
Ejemplos
Comparar (orden de prereleases)
1.0.0 vs 1.0.0-beta → 1.0.0 es mayor que 1.0.0-beta (una versión final siempre supera a sus prereleases).
1.2.3 vs 1.2.10 → 1.2.3 es menor que 1.2.10 (numérico, no lexicográfico - 10 > 3).
Comprobación de rango
1.5.0 contra ^1.2.0 → satisfies (compatible-with se mantiene dentro de la major 1).
1.2.2 contra ^1.2.3 → no match (^1.2.3 exige >=1.2.3).
1.5.0 contra >=1.2.0 <2.0.0 || 3.0.0 → satisfies (se cumple la primera cláusula AND).
Bump
1.2.3 → Major 2.0.0 · Minor 1.3.0 · Patch 1.2.4 · Prerelease 1.2.4-0
1.2.3-beta.2 → Prerelease 1.2.3-beta.3 (incrementa el identificador numérico final).
Buen saber
- La precedencia de prereleases sigue la especificación de semver.org: los identificadores numéricos se comparan por valor y clasifican por debajo de los alfanuméricos; una versión sin prerelease es siempre mayor que una con ella. Los metadatos de construcción (
+…) se ignoran a efectos de orden. - Los rangos admiten
^(caret),~(tilde),>= > <= < =, comodines*/x, parciales (1,1.2), rangos con guion (1.2.3 - 2.3.4), AND separado por espacios y OR con||- la misma gramática que npm usa enpackage.json. - La entrada inválida se reporta en línea en lugar de lanzar una excepción: una versión o un rango mal formados muestran un aviso rojo en lugar de un veredicto.
- Compartible: las entradas de las tres secciones se codifican en la URL.
- Privado: todo el análisis sintáctico ocurre localmente - seguro para cualquier cadena de versión.
- Herramientas relacionadas: Statistics Calculator, Markdown Table Generator, ASCII Table.