Semver ツール(パーサー・比較・バンプ)
npm・Cargo・Go モジュールなど、どのパッケージエコシステムを扱ってもセマンティックバージョン文字列を読むことになる — 1.10.0 を 1.9.0 より小さいと誤判定したり、prerelease タグを見落としたりするミスは、何時間も無駄にする類のもの。本ツールは 2 つのバージョンをコンポーネント(major・minor・patch・prerelease・build)にパースし、semver.org の公式仕様(prerelease 順序を含む)に従って比較、各バージョンにワンクリックのバンプボタンを提供する。その下の範囲展開機は、最もよく使われる npm の範囲構文(^1.2.3・~1.2.3・~1.2・不安定 API 用の ^0.x.y)を明示的な ≥下限 <上限 に変換 — 比較演算子形式しか受け付けないツールにそのままコピーできる。
比較
B は A より大きい
マッチ
≥ 1.2.3·< 2.0.0使い方
- Version A・B にバージョン文字列を入力 — パース結果と比較がライブ更新される。
- 各バージョンの下のバンプボタン(メジャー / マイナー / パッチ / プレリリース)をクリックして次のバージョンを計算 — リリース計画に便利。
- 範囲展開機に ^1.2.3 や ~1.2 のような範囲を入力 → 下限・上限が表示、Copy で ≥a.b.c <x.y.z 文字列をコピー。
よくある質問
- プレリリースの順序は?
- 仕様上、プレリリース付き(1.0.0-alpha)は同じバージョンのプレリリース無し(1.0.0)より小さい。プレリリース内部では識別子を左から比較 — 数値は数値同士で、英数字は辞書順で、同位置で数値は常に英数字より低い順位。よって 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0。
- なぜ ^0.2.3 が <0.3.0 に展開? <1.0.0 ではなく?
- npm のキャレットは 0.x.y を特別扱い — pre-1.0 API は不安定とみなし、0.x のバンプは破壊的として扱う。よって ^0.2.3 は 0.2.x のみに、^0.0.3 は 0.0.3 のみにマッチ。npm 自体と同じ挙動。
- ビルドメタデータは比較に影響する?
- いいえ — 仕様上 +build メタデータは情報目的のみで、バージョン比較時には無視。1.0.0+abc と 1.0.0+xyz は同じ。
- ここでサポートされる範囲構文は?
- 展開機は ^x[.y[.z]]、~x[.y[.z]]、および単独の x・x.y(それぞれ ~x・~x.y のように動作)を処理。'>=1.0.0 <2.0.0' のような組合せ範囲や '1.x' のようなワイルドカードは展開されない — 各バージョンを個別にパースすることは引き続き可能。
関連ツール
単価比較
スーパーや買い物の商品を「g当たり・mL当たり・個当たり」価格で比較。質量・体積・個数グループ、メートル法とヤードポンド法に対応。
リスト比較 — 共通・和集合・差集合
2つのリストを行単位で比較:共通項目、各リスト固有の項目、和集合や対称差をブラウザ上で見つけます。
UUID インスペクタ (バージョン・バリアント・時刻)
任意の UUID を貼り付けてバージョン(1〜8)・バリアント、そして時刻ベースの v1・v6・v7 では埋め込まれた生成タイムスタンプ・クロックシーケンス・ノード(MAC)まで復号 — ブラウザ内で。
Conventional Commit メッセージビルダー
タイプ、スコープ、破壊的変更、フッターを含む Conventional Commits メッセージをブラウザ上で作成します。
JSON Patch ビルダー (RFC 6902)
source/targetペアからRFC 6902 JSON Patchを生成、または既存のpatchをドキュメントに適用。add·remove·replace·move·copy·test op対応。
JSON Diff ビューア
2 つの JSON を構造的に比較 — 追加 / 削除 / 変更されたキーが正確に分かります。