npm outdated
npm update は
セマンティック バージョニングに従った package.json で指定されたバージョン範囲内で最新のバージョンを探します。
たとえば、^1.0.0 と指定されている場合、1.x.x の最新バージョンにアップデートしますが、2.0.0 にはアップデートしません。
また メジャーバージョンが変わるような大きな変更(破壊的変更)は行いません。依存関係を最新の状態に保ちつつ、プロジェクトの互換性を保つために使用されます。
npm audit
npm audit --json | jq -r 'if .advisories then .advisories | to_entries[] | .value.module_name else .vulnerabilities | keys[] end' | sort -u
実際に修正を行う場合は、次のコマンドを実行する
npm audit fix
これでも 修正が完了しない場合は、メジャーバージョンをまたいだアップデートを行う必要があります。
npm audit fix の 結果、出力に、例えば以下のような出力があります。
Severity: high
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix --force`
Will install @storybook/preset-create-react-app@4.1.0, which is a breaking change
@storybook/preset-create-react-app@4.1.0 という バージョンにする必要があるよという意味です。
npm install -g npm-check-updates
ncu --version
ncu
ncu -u
npm i