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
このコマンドは:
package.jsonのバージョンを更新- gitコミットを作成
- 新バージョンでコミットをタグ付け
適切なバンプの選択
| 変更タイプ | バンプ | 例 |
|---|---|---|
| バグ修正 | patch | パーサーのnullポインタを修正 |
| 機能追加 | minor | 新しいエクスポートフォーマットオプション |
| APIシグネチャ変更 | major | 非推奨メソッドを削除 |
| セキュリティ修正 | patch | XSS脆弱性をパッチ |
ユースケース
CI/CDパイプラインでのリリースワークフローの自動化、バージョンバンプスクリプトの実装、またはパッケージ更新の公開前に次のバージョン番号を手動で計算する場合。