完全なバージョンと範囲を入力すると、一致するかどうかを確認できます。範囲は完全一致(1.2.3)、比較(>=1.2.3)、開いた指定(1.x)、ハイフン(1.2.3 - 2.0.0)、または代替(^1.2.3 || ~2.0.0)で書けます。
ブラウザ内でローカルに実行バージョンと範囲を入力して「バージョンを検査」を押すと、2.4.1-beta.2+build.19 がメジャー・マイナー・パッチ・プレリリース・ビルドメタデータに分解され、その範囲が判定されます。処理はすべてこのブラウザ内で完結し、レジストリへの問い合わせもパッケージのインストールも行いません。
判定は npm の semver(すべてのパッケージマネージャーが使う実装)に合わせています。npm がそのバージョンをインストールする範囲が、ここで一致する範囲です。プレリリースを名指ししない範囲にプレリリースを通さない規則も同じです。ページが読み取れない範囲は、推測せずに例を示して拒否します。
1.2.3 と v1.2.3 は 1 つのリリースを指します。>、>=、<、<=、= はそれを基準に比較し、演算子の後の空白も認めます(>= 1.2.3)。同じ欄の 2 つの比較子は両方を満たす必要があり(>=1.2.3 <2.0.0)、|| はいずれか一方を満たせば成立します。^1.2.3 は 1.2.3 から 2.0.0 まで、~1.2.3 は 1.2.3 から 1.3.0 までを受け付けます。部を省略した書き方は区間になり、1.2 は 1.2.0 から 1.3.0 まで、1.x は 1.0.0 から 2.0.0 まで、* はプレリリースを含まないすべてのバージョンを受け付けます。
プレリリース付きのバージョンは、範囲側が同じ major.minor.patch のプレリリースを名指ししている場合にのみ一致します。^2.4.0 は 2.4.1-beta.2 に一致せず、^2.4.0-beta.1 は 2.4.0-beta.2 に一致し、* は 1.2.3-beta にまったく一致しません。比較ではビルドメタデータを無視するため、2.4.1+build.19 は 2.4.1 に一致します。プレリリース識別子の先頭に 0 は使えず(1.2.3-01 は無効)、適用されるのは npm と同じ規則です。
レジストリを参照しないため、あるパッケージが公開したバージョン、バージョンの存在、npm が実際にインストールするものは分かりません。latest のような dist-tag は範囲ではないので、推測せずその旨を返します。判定の対象は入力した 1 つのバージョンだけで、取得・保存・送信は行いません。