Introduce una versión completa y un rango para ver si coinciden. El rango puede ser exacto (1.2.3), comparativo (>=1.2.3), abierto (1.x), con guion (1.2.3 - 2.0.0) o alternativo (^1.2.3 || ~2.0.0).
Se ejecuta localmente en tu navegadorEscribe una versión y un rango y pulsa «Inspeccionar versión»: 2.4.1-beta.2+build.19 se separa en mayor, menor, parche, versión preliminar y metadatos de compilación, y el rango se prueba contra ella. Todo se ejecuta en este navegador, así que no se consulta ningún registro ni se instala ningún paquete.
El resultado sigue el semver de npm, la implementación que usan todos los gestores de paquetes: los rangos con los que npm instalaría una versión son los que coinciden aquí, incluida la regla que deja fuera las versiones preliminares de los rangos que no nombran ninguna. Un rango que la página no sabe leer se rechaza con un ejemplo en lugar de adivinarse.
1.2.3 y v1.2.3 nombran una sola versión; >, >=, <, <= y = se comparan con ella y se admite un espacio después del operador (>= 1.2.3). Dos comparadores en el mismo campo deben cumplirse a la vez (>=1.2.3 <2.0.0), mientras que || se satisface con cualquiera de las dos partes. ^1.2.3 acepta desde 1.2.3 hasta 2.0.0, ~1.2.3 acepta desde 1.2.3 hasta 1.3.0, y una parte abierta es un intervalo: 1.2 significa de 1.2.0 hasta 1.3.0, 1.x de 1.0.0 hasta 2.0.0, y * acepta cualquier versión sin versión preliminar.
Una versión preliminar solo coincide si el rango nombra una preliminar con el mismo major.minor.patch: ^2.4.0 no coincide con 2.4.1-beta.2, ^2.4.0-beta.1 sí coincide con 2.4.0-beta.2 y * no coincide con 1.2.3-beta. Los metadatos de compilación se ignoran al comparar versiones, por lo que 2.4.1+build.19 coincide con 2.4.1, y un identificador preliminar no puede empezar por cero (1.2.3-01 no es válido): las reglas que aplica npm son las que se aplican aquí.
No consulta ningún registro, así que no puede decir qué versiones ha publicado un paquete, si una versión existe o qué instalaría npm. Una dist-tag como latest no es un rango y la página lo indica en lugar de adivinar. El resultado se calcula sobre la versión que escribes: no se descarga, se guarda ni se envía nada.