パッケージのバージョンを管理(更新)する

package.jsonのパッケージのバージョンは、定期的にバージョンアップすることが望ましいが意外と手間なことが多い。便利なyarnコマンドを使って効率的に作業するメモ。

yarn upgrade-interactive

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ページで、各バージョンでの変更内容を確認して影響範囲を確認する。

例)GitHub上のReact releases

Patch / Minor リリース

  • 基本的に 後方互換性がある ため、既存コードに大きな影響を与える可能性は低い。
  • 変更内容は、バグ修正や新機能の追加に留まる。
  • テストの網羅性が高く維持されているプロジェクトでは、容易にバージョンアップすることが期待される。

Major リリース

  • 後方互換性のない変更(破壊的変更) が含まれる可能性が高い。
  • 既存コードの修正が必要になるケースがあるため、スケジュールに余裕を持った対応が望ましい。
  • メジャーバージョンアップ直後は、
    • ライブラリ自体の不具合
    • 他のパッケージとの依存関係の問題が発生することがあるため、プロダクトへの適用は慎重に検討する。

参考

GitHub dependabotを使ってpackageを管理する

About semantic versioning

コードステータスステージルール例バージョン
初回リリース新製品1.0.0 から開始1.0.0
後方互換性のあるバグ修正パッチリリース第3位(パッチ番号)をインクリメント1.0.1
後方互換性のある新機能追加マイナーリリース第2位(マイナー番号)をインクリメントし、第3位を 01.1.0
後方互換性のない変更(破壊的変更)メジャーリリース第1位(メジャー番号)をインクリメントし、他を 02.0.0