SemVer 計算ツール

セマンティックバージョンの解析・比較・範囲チェック・インクリメント・強制変換をブラウザ内で。入力したバージョンは端末上に留まります。

入力したバージョンと範囲はブラウザ内でローカルに評価され、アップロードされることはありません。

手早く一意なIDが必要ですか?UUIDジェネレーターをお試しください。

SemVer 計算ツール について

このsemver計算ツールは、バージョン番号にまつわるあらゆる作業のためのセマンティックバージョニング(Semantic Versioning)ツールキットです。1.2.3-beta.1+build.42 のようなバージョンを major・minor・patch・プレリリース・ビルドメタデータに解析できます。2つのバージョンを比較してどちらが新しくどのレベルで異なるかを確認し、^1.2.3・~1.2・1.x・>=1.0.0 <2.0.0 といったnpm範囲をバージョンが満たすかをチェックし、major・minor・patch や任意のプレリリースのステップでバージョンを上げ、v1.2 のような緩い文字列をきれいなsemverに強制変換できます。依存関係の範囲を日々扱う開発者・パッケージ作者・リリースエンジニアのために作られています。npmが使うのと同じsemverライブラリを利用し、すべての計算はブラウザ内で動作するため、入力したバージョンは端末上に留まります。

機能

SemVer 計算ツール の使い方

  1. モードを選びます:Parse・Compare・Range・Increment・Coerce。
  2. バージョン(モードに応じて2つ目のバージョンや範囲)を入力します。
  3. 入力の下の情報行とバッジでライブ結果を読みます。
  4. 上げたバージョンや差分レベルなど、必要な値をコピーします。

入力

version: 1.5.0
range:   ^1.2.3

出力

1.5.0 satisfies ^1.2.3  ✓
1.6.0 → pass   2.0.0 → fail

キャレット範囲 ^1.2.3 は、次のメジャー(2.0.0)の手前までを許可します。

よくあるエラーとトラブルシューティング

よくある質問

^1.2.3 の範囲は何を許可しますか。
キャレット範囲 ^1.2.3 は、左端のゼロでない桁を変えないバージョンを許可するので、1.2.3 から 2.0.0 の手前までにマッチします。0.x バージョンではルールが厳しくなり、^0.2.3 は 0.2.3 から 0.3.0 の手前までを許可します。
プレリリースバージョンは安定版とどう比較されますか。
プレリリースは対応するリリースより優先度が低いので、1.0.0-rc.1 は 1.0.0 より小さくなります。プレリリースはフィールドごとに比較されます。識別子はソートされ、数値の識別子はより長い、または英数字の識別子より下位になります。
~1.2 と ^1.2 の違いは何ですか。
チルダ ~1.2 は 1.2 内のpatchレベルの変更(>=1.2.0 <1.3.0)を許可し、キャレット ^1.2 は次のメジャーまでのminorとpatchの変更(>=1.2.0 <2.0.0)を許可します。サンプルバージョンの合否はRangeモードで確認できます。
このsemver計算ツールはビルドメタデータをどう扱いますか。
プラス記号の後のビルドメタデータ(たとえば +build.42)は解析されて表示されますが、優先度の比較では無視されるため、1.0.0+a と 1.0.0+b は等しいバージョンとみなされます。
バージョンを強制変換すると何が起きますか。
強制変換は、見つけられる最初の major.minor.patch の並びを使って緩い文字列を有効なsemverに変えます。v1.2 は 1.2.0 に、1.2.3.4 は 1.2.3 に、release-3.1 は 3.1.0 になり、欠けている要素はゼロを既定値とします。
どのリリースタイプでインクリメントできますか。
major・minor・patch・premajor・preminor・prepatch・prerelease で上げられます。pre- 系は選んだ部分でプレリリースのラインを開始します。たとえば 1.2.3 への premajor は 2.0.0-0 になります。

関連ツール

すべての ArrayKit ツール