Saisissez une version complète et une plage pour voir si elles correspondent. La plage peut être exacte (1.2.3), comparative (>=1.2.3), ouverte (1.x), avec tiret (1.2.3 - 2.0.0) ou alternative (^1.2.3 || ~2.0.0).
Fonctionne localement dans votre navigateurSaisissez une version et une plage puis cliquez sur « Inspecter la version » : 2.4.1-beta.2+build.19 est décomposée en majeure, mineure, correctif, pré-version et métadonnées de build, et la plage est testée contre elle. Tout s’exécute dans ce navigateur : aucun registre n’est interrogé et aucun paquet n’est installé.
Le verdict suit le semver de npm, l’implémentation qu’utilisent tous les gestionnaires de paquets : les plages avec lesquelles npm installerait une version sont celles qui correspondent ici, y compris la règle qui exclut les pré-versions des plages qui n’en nomment aucune. Une plage que la page ne sait pas lire est refusée avec un exemple au lieu d’être devinée.
1.2.3 et v1.2.3 nomment une seule version ; >, >=, <, <= et = se comparent à elle, et un espace après l’opérateur est accepté (>= 1.2.3). Deux comparateurs dans un même champ doivent être vrais ensemble (>=1.2.3 <2.0.0), alors que || est satisfait par l’un ou l’autre côté. ^1.2.3 accepte de 1.2.3 à 2.0.0, ~1.2.3 accepte de 1.2.3 à 1.3.0, et une partie ouverte est un intervalle : 1.2 signifie de 1.2.0 à 1.3.0, 1.x de 1.0.0 à 2.0.0, et * accepte toute version sans pré-version.
Une pré-version ne correspond que si la plage nomme une pré-version sur les mêmes majeur.mineur.correctif : ^2.4.0 ne correspond pas à 2.4.1-beta.2, ^2.4.0-beta.1 correspond à 2.4.0-beta.2, et * ne correspond pas du tout à 1.2.3-beta. Les métadonnées de build sont ignorées dans la comparaison : 2.4.1+build.19 correspond donc à 2.4.1, et un identifiant de pré-version ne peut pas commencer par un zéro (1.2.3-01 est invalide) : les règles appliquées sont celles de npm.
Aucun registre n’est interrogé : la page ne peut pas dire quelles versions un paquet a publiées, si une version existe ou ce que npm installerait. Une dist-tag comme latest n’est pas une plage, et la page le dit au lieu de deviner. Le verdict porte sur la version que vous saisissez : rien n’est téléchargé, mis en cache ni envoyé.