このツールに問題がありますか?
「Semver Compare Online」について
このツールは 2 つの SemVer(セマンティックバージョニング)バージョン(例:1.2.3 と 1.3.0-beta)を比較し、どちらが新しいか、どれだけ違うか、どの種類の変化(major/minor/patch/prerelease)が間にあるかを示します。
SemVer はライブラリ・パッケージ・API の標準的なバージョン体系で、変化の影響を示します:major は互換性破壊、minor は機能追加、patch はバグ修正、prerelease は不安定なビルドのマーク。依存関係の更新では正しく読み取れることが重要。
SemVer 2.0 仕様に厳密に従い、prerelease の順序ルールも反映。バージョン更新計画、CI/CD でのリリースタグ比較、バージョン制約評価が必要なツール開発などに便利。
このツールの使い方
2 つの SemVer バージョンを比較する手順
2 つのバージョンを入力
「Version A」「Version B」はそれぞれ `1.2.3` のような SemVer 文字列。先頭の `v` は除去され、patch が無いと 0 とみなされます(`1.2` → `1.2.0`)。pre-release/ビルドメタデータは無視され、major/minor/patch のみ比較。
「実行」
結果は `cmp` のみ — A < B なら -1、等しければ 0、A > B なら 1。比較は要素単位で major → minor → patch の順。
例
`1.0.0` vs `1.0.1` → cmp -1。`2.0.0` vs `1.99.99` → cmp 1(major が勝つ)。`1.2.3` vs `1.2.3-rc.1` → cmp 0(このツールでは pre-release を無視、厳密 SemVer と異なる)。
厳密 SemVer との違い
厳密 SemVer(semver.org)では `1.2.3` > `1.2.3-rc.1`(pre-release はリリース前として並ぶ)。本ツールは patch 以降を無視 — sanity check には十分ですが、npm の `^/~` レンジには本物の semver ライブラリを使用してください。