パッケージのバージョンを管理(更新)する
package.jsonのパッケージのバージョンは、定期的にバージョンアップすることが望ましいが意外と手間なことが多い。便利なyarnコマンドを使って効率的に作業するメモ。
yarn upgrade-interactive
This is similar to npm-check interactive update mode. It provides an easy way to update outdated packages.
これは npm-check インタラクティブアップデートモードに似ています。古くなったパッケージをアップデートする簡単な方法を提供します。
バージョンアップ時の影響と対応方針
Github上に公開されているReleasesページで、各バージョンでの変更内容を確認して影響範囲を確認する。
Patch / Minor リリース
- 基本的に 後方互換性がある ため、既存コードに大きな影響を与える可能性は低い。
- 変更内容は、バグ修正や新機能の追加に留まる。
- テストの網羅性が高く維持されているプロジェクトでは、容易にバージョンアップすることが期待される。
Major リリース
- 後方互換性のない変更(破壊的変更) が含まれる可能性が高い。
- 既存コードの修正が必要になるケースがあるため、スケジュールに余裕を持った対応が望ましい。
- メジャーバージョンアップ直後は、
- ライブラリ自体の不具合
- 他のパッケージとの依存関係の問題が発生することがあるため、プロダクトへの適用は慎重に検討する。
参考
GitHub dependabotを使ってpackageを管理する
コードステータス | ステージ | ルール | 例バージョン |
---|---|---|---|
初回リリース | 新製品 | 1.0.0 から開始 | 1.0.0 |
後方互換性のあるバグ修正 | パッチリリース | 第3位(パッチ番号)をインクリメント | 1.0.1 |
後方互換性のある新機能追加 | マイナーリリース | 第2位(マイナー番号)をインクリメントし、第3位を 0 に | 1.1.0 |
後方互換性のない変更(破壊的変更) | メジャーリリース | 第1位(メジャー番号)をインクリメントし、他を 0 に | 2.0.0 |