Semverバージョンインクリメント — 次のバージョンを計算

指定されたsemver文字列から次のメジャー、マイナー、パッチバージョンを計算します。インクリメントルール、プレリリースバンプ、バージョンリセット動作を解説。

Practical Scenarios

詳細な説明

次のSemverバージョンの計算

バージョンインクリメント(「バンプ」)は、行った変更の種類に基づいて次のバージョン番号を決定するプロセスです。

基本インクリメントルール

1.4.7から開始:

バンプタイプ 結果 ルール
patch 1.4.8 PATCHを1増加
minor 1.5.0 MINORを1増加、PATCHを0にリセット
major 2.0.0 MAJORを1増加、MINORとPATCHを0にリセット

リセット動作

上位のバンプは常に下位コンポーネントをリセットします:

1.4.7  --patch-->  1.4.8
1.4.7  --minor-->  1.5.0   (パッチがリセット)
1.4.7  --major-->  2.0.0   (マイナーとパッチがリセット)

プレリリースインクリメント

プレリリースバージョンのインクリメントは複雑さが増します:

開始バージョン バンプタイプ 結果
1.2.3-alpha.1 prerelease 1.2.3-alpha.2
1.2.3-alpha.1 prepatch 1.2.4-0
1.2.3-alpha.1 preminor 1.3.0-0
1.2.3-alpha.1 premajor 2.0.0-0

npm versionによる自動化

npm versionコマンドはインクリメントを自動化します:

npm version patch    # 1.4.7 → 1.4.8
npm version minor    # 1.4.7 → 1.5.0
npm version major    # 1.4.7 → 2.0.0

このコマンドは:

  1. package.jsonのバージョンを更新
  2. gitコミットを作成
  3. 新バージョンでコミットをタグ付け

適切なバンプの選択

変更タイプ バンプ
バグ修正 patch パーサーのnullポインタを修正
機能追加 minor 新しいエクスポートフォーマットオプション
APIシグネチャ変更 major 非推奨メソッドを削除
セキュリティ修正 patch XSS脆弱性をパッチ

ユースケース

CI/CDパイプラインでのリリースワークフローの自動化、バージョンバンプスクリプトの実装、またはパッケージ更新の公開前に次のバージョン番号を手動で計算する場合。

試してみる — Semver Calculator

フルツールを開く