>_devtools-hub

Semver Calculator

セマンティックバージョンのパース・バンプ・比較・範囲チェック

npmバージョン管理開発者向け

バージョン文字列を入力するだけで major/minor/patch/prerelease を分解表示。patch/minor/major バンプ後のバージョンを即計算。2バージョンの大小比較と、^1.2.0 や ~1.2.0 などの範囲指定チェックにも対応。

広告

Semver Calculator

バージョン解析 & バンプ

✓ valid
major1
minor2
patch3
patch→1.2.4
minor→1.3.0
major→2.0.0

バージョン比較

<

1.2.3 は 1.3.0 より 古いです


バージョン範囲チェック

がの範囲内か
✓1.2.5 は ^1.2.0 の範囲に含まれます

読み替え:>=1.2.0 <2.0.0-0

Features

  • semver 文字列のバリデーション・パース
  • major / minor / patch / prerelease / build の分解表示
  • patch / minor / major バンプ後バージョンを即計算
  • 2バージョンの大小比較
  • 範囲指定の判定:^ ~ >= < * に加え、空白区切り(かつ)・||(または)・1.x・1.2.3 - 2.0.0 にも対応
  • npm と同じ規則で判定(プレリリースの扱い・数値で比べる識別子)。node-semver と照合済み
  • 範囲を比較子に読み替えて表示(^1.2.0 → >=1.2.0 <2.0.0-0)

この作業の手順ガイド


セマンティックバージョニングの仕様と実践

Semantic Versioning(semver)はソフトウェアのバージョン番号に意味を持たせる標準仕様です。MAJOR.MINOR.PATCHの3番号で互換性の変化を伝え、依存関係の管理を安全にします。npm・pip・Cargo など主要パッケージマネージャーが採用されています。

MAJOR・MINOR・PATCH の意味

MAJOR(メジャー): 後方互換性のない変更(破壊的変更)。APIの削除・変更、動作の根本的な変化など。MINOR(マイナー): 後方互換性のある機能追加。新APIの追加、既存機能の拡張など。PATCH(パッチ): 後方互換性のあるバグ修正のみ。バージョン1.0.0から始め、MAJORが上がったらMINOR/PATCHは0にリセット、MINORが上がったらPATCHは0にリセットします。

プレリリース版とビルドメタデータ

ハイフン付きはプレリリース版: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1。プレリリース版は正式版より優先度が低く、1.0.0-alpha < 1.0.0-rc.1 < 1.0.0 となります。プラス記号後はビルドメタデータ: 1.0.0+20240101。ビルドメタデータはバージョン比較で無視されます。

npm の範囲指定記法

^1.2.3 はMAJORを固定してMINOR以上のアップデートを許可(>=1.2.3 <2.0.0)。~1.2.3 はMAJOR・MINORを固定してPATCHのみ許可(>=1.2.3 <1.3.0)。>=1.0.0 <2.0.0 のような明示的な範囲も使えます。* や latest は最新版。MAJORが0の場合(0.x.y)は開発中として扱われ、^0.2.3は>=0.2.3 <0.3.0と解釈されます。

バージョン管理のベストプラクティス

バージョン1.0.0を公開したら仕様変更を最小限に。破壊的変更がある場合は必ずMAJORを上げます。CHANGELOGを整備してバージョン間の差分を記録します。リリース前に0.x.yで実験的リリースを行い安定したら1.0.0に移行。Git タグとバージョンを一致させる(v1.2.3)と管理が楽になります。

広告

Related Tools

Lockfile Diff

package-lock.json の更新前後を比較 — 版の動きをメジャー/マイナー/パッチで分類

npmバージョン管理開発者向け

使ってみる →

Text Encoding Checker

文字コードを判定して UTF-8 に変換 — 化けた文字列の復元も

テキストエンコード開発者向け

使ってみる →

Line Ending Inspector

改行コードを検査 — CRLF / LF / CR の内訳と混在、BOMの有無

テキストエンコード開発者向け

使ってみる →

このツールを共有する