エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

npm-check-updatesでGithubのDependabot alertsに対応する

きっかけ

Githubにてセキュリティアラート(dependency alert)が来てたので、「対応してみっか!」と思い、まずは現時点のバージョンを知りたいのだが、どうしたらいいのか分からなかったので調べた

環境

バージョン: 1.63.2 (system setup)
コミット: 899d46d82c4c95423fb7e10e68eba52050e30ba3
 日付: 2021-12-15T09:40:02.816Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043

準備

npm-check-updates っていうのを使うと、現時点のバージョンと、最新バージョンを表示してくれるらしいから、下記のコマンドでインストール。
プロジェクトに欲しいというよりは、環境的に欲しい感じだったので、グローバルにインストール。

$ npm install -g npm-check-updates

調査

対象のプロジェクト直下に移動して、$ ncu を叩くだけ。
そうすると、以下のような結果が帰る。

$ ncu
Checking E:\dev\java\GaleWings\src\main\javascript\package.json
[====================] 33/33 100%

 @popperjs/core             ^2.9.3  →   ^2.11.2     
 @types/bootstrap           ^5.1.2  →    ^5.1.9     
 axios                     ^0.21.1  →   ^0.25.0     
 bootstrap                  ^5.1.0  →    ^5.1.3     
 @types/jest               ^27.0.2  →   ^27.4.0     
 @types/react             ^17.0.20  →  ^17.0.39     
 @types/react-dom          ^17.0.9  →  ^17.0.11     
 @webpack-cli/generators    ^2.3.0  →    ^2.4.2
 css-loader                 ^6.2.0  →    ^6.6.0
 html-webpack-plugin        ^5.3.2  →    ^5.5.0
 jest                      ^27.2.5  →   ^27.5.0
 less                       ^4.1.1  →    ^4.1.2
 less-loader               ^10.0.1  →   ^10.2.0
 prettier                   ^2.3.2  →    ^2.5.1
 style-loader               ^3.2.1  →    ^3.3.1
 ts-jest                   ^27.0.5  →   ^27.1.3
 ts-loader                  ^9.2.5  →    ^9.2.6
 ts-node                   ^10.2.1  →   ^10.4.0
 typescript                 ^4.3.5  →    ^4.5.5
 webpack                   ^5.51.1  →   ^5.68.0
 webpack-cli                ^4.8.0  →    ^4.9.2

Run ncu -u to upgrade package.json

利用しているモジュールをアップデート

前述のncuコマンドの最後に出力されていた通り$ ncu -uを実行する。

$ ncu -u
Upgrading E:\dev\java\GaleWings\src\main\javascript\package.json
[====================] 33/33 100%

 @popperjs/core             ^2.9.3  →   ^2.11.2     
 @types/bootstrap           ^5.1.2  →    ^5.1.9
 axios                     ^0.21.1  →   ^0.25.0
 bootstrap                  ^5.1.0  →    ^5.1.3
 @types/jest               ^27.0.2  →   ^27.4.0
 @types/react             ^17.0.20  →  ^17.0.39
 @types/react-dom          ^17.0.9  →  ^17.0.11
 @webpack-cli/generators    ^2.3.0  →    ^2.4.2
 css-loader                 ^6.2.0  →    ^6.6.0
 html-webpack-plugin        ^5.3.2  →    ^5.5.0
 jest                      ^27.2.5  →   ^27.5.0
 less                       ^4.1.1  →    ^4.1.2
 less-loader               ^10.0.1  →   ^10.2.0
 prettier                   ^2.3.2  →    ^2.5.1
 style-loader               ^3.2.1  →    ^3.3.1
 ts-jest                   ^27.0.5  →   ^27.1.3
 ts-loader                  ^9.2.5  →    ^9.2.6
 ts-node                   ^10.2.1  →   ^10.4.0
 typescript                 ^4.3.5  →    ^4.5.5
 webpack                   ^5.51.1  →   ^5.68.0
 webpack-cli                ^4.8.0  →    ^4.9.2

Run npm install to install new versions.

確認

最後は、ちゃんとnpm installして、挙動確認しましょう。
※俺は面倒くさいから、ビルド通ればOKにするけど、皆はガンバってね!

参考サイト

npm のパッケージを最新版に更新する – ラボラジアン