package.jsonに記載されていないパッケージをアップグレードする方法メモ

package.jsonに記載されていないパッケージをアップグレードする方法メモ

この記事は、package.jsonに記載されていないパッケージをアップグレードする方法について調べたときのメモになります。

Reactのプロジェクトを作成し、GItHubに上げたところ、

screenshot
いくつか脆弱性があると指摘されました。

しかしReactプロジェクト内にあるpackage.jsonにはそれらのパッケージは記載されていません。(package.jsonに記載されているパッケージがまた別のパッケージに依存しているため。)

package.jsonに記載されていないパッケージをアップグレードする方法

yarn auditを使用して脆弱性のあるパッケージをチェックすることができます。


yarn audit

実行結果


> yarn audit
yarn audit v1.22.10
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ moderate      │  Inefficient Regular Expression Complexity in                │
│               │ chalk/ansi-regex                                             │
├───────────────┼──────────────────────────────────────────────────────────────┤

~~~

├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ react-scripts                                                │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ react-scripts > react-dev-utils > browserslist               │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1002655                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
97 vulnerabilities found - Packages audited: 1689
Severity: 66 Moderate | 30 High | 1 Critical
Done in 2.12s.

>

アップグレードする


yarn upgrade xxx

と指定してパッケージのアップグレードが可能です。

今回は以下のコマンドで一括で全てアップグレードを行いました。


yarn upgrade --latest

また、パッケージ1つづつ確認しながらアップグレードができるコマンドyarn upgrade-interactiveもあります。

どちらのコマンドも、--latestをつけることでpackage.jsonを無視して最新にアップグレードされます。

package.jsonに記載されているパッケージのアップグレード方法

package.jsonに記載されているパッケージであれば、


yarn outdated

を実行することでバージョンの情報を教えてくれます。

アップグレードしたいパッケージがあれば、


yarn add xxx@1.6

などバージョンを指定してインストールしなおす方法や、


yarn upgrade xxx --latest

で最新にアップグレードする方法があります。

その他、


npx npm-check-updates

などでもアップグレード可能なパッケージを確認することができます。(npxを使用しているのは、npm-check-updatesをインストールしていないためです。)

また、


npx -p npm-check-updates  -c "ncu -u"

でアップグレードも可能です。

React