Saltar al contenido

Comprobador de rangos semver

Escribe una versión y un rango para ver si coinciden y qué significa realmente el rango.

Semver

¿Qué hace?

Responde a la pregunta «¿esta versión cumple este rango?» con las mismas reglas que npm, y explica el rango con comparadores simples: ^1.2.3 pasa a ser >=1.2.3 <2.0.0-0. También te da la versión mínima que cumple el rango y ordena listas de versiones semánticamente, para que 1.10.0 vaya después de 1.9.0 y no después de 1.1.0.

El versionado semántico en una línea

MAYOR.MENOR.PARCHE: sube la mayor para cambios incompatibles, la menor para funciones nuevas compatibles y el parche para correcciones. Las prerelease añaden un sufijo: 2.0.0-rc.1.

Rangos que verás en package.json

RangoAcepta
^1.2.3>=1.2.3 <2.0.0
~1.2.3>=1.2.3 <1.3.0
1.x>=1.0.0 <2.0.0
>=18 <21Node 18, 19 y 20
^16 || ^18cualquiera de las dos mayores

Preguntas frecuentes

›¿Qué diferencia hay entre ^ y ~?

^1.2.3 acepta cualquier 1.x.x desde la 1.2.3 (funciones nuevas, sin cambios incompatibles). ~1.2.3 solo acepta parches 1.2.x. npm install usa ^ por defecto.

›¿Por qué ^0.2.3 no acepta la 0.3.0?

Por debajo de la 1.0.0 la versión menor se considera incompatible, así que ^0.2.3 significa >=0.2.3 <0.3.0. Y ^0.0.3 solo acepta la 0.0.3.

›¿Se incluyen las prerelease como 2.0.0-beta.1?

No por defecto: un rango solo acepta prerelease del mismo major.minor.patch que menciona. Activa Incluir prerelease para aceptarlas igualmente, como hace npm con --include-prerelease.