依存する npm パッケージのバージョンを上げ続けるために ci-npm-update を導入した
題の通りなんですが、導入。
プロジェクトが依存する npm パッケージのバージョンを上げるのを、忙しさにかまけてサボりがちになっていた。意識が低くてもいいかんじにできないかなぁ、と思っていたところ、ci-npm-update を見つけた。
GitHub - bitjourney/ci-npm-update: Keeps npm dependencies up-to-date, making pull-requests from CI
npm-shrinkwrap.json
(Ruby の Bundler でいう Gemfile.lock
に相当するもの) を再生成して差分があったら、GitHub に PullRequest を出してくれるコマンド。PullRequest には、パッケージのリポジトリの Compare View の URL が書かれていて、バージョン間でどんな変更があったかすぐ確認できて便利。
今のところ、Jenkins で週に1回程度 ci-npm-update を実行するジョブを実行させて、差分を確認したり、自動化テストが通るか、手元で動かして問題ないか調べて、良さそうだったらマージ。その後、テストエンジニアの人が週に1回おこなっているリグレッションテストで問題がないか確認してもらっている。
ただ、package.json
に書かれた範囲内でしかアップデートできないので、ライブラリのメジャーバージョンアップがあった場合は気づけないのが難点。それは半月に一回くらい、npm outdated
や npm-check-updates
の出力を通知したり、package.json
の dependencies
や devDependencies
を更新する PullRequest を出させると良いのかなぁ、とぼんやりと考えている。