もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

yarn audit fixがないの知らなかった。

はじめに

yarnでパッケージ管理しているプロジェクトでセキュリティチェックをしたところ、だいぶ色々でてきたので対応した備忘録です。

本題

ある日 yarn audit すると、色々でてきました。

おもむろに yarn audit fix すると存在しないと言われました。

npmなら npm audit fix 叩いてたのでyarnでも出来ると勝手に思い込んでました。

調べてただこの問題は2019年から議論されているようらしい。

参考: GitHub Issue #7075

まぁあんまりフロントエンド界隈はわからないので、ざっと調べなので間違ってたらすいません。

解決方法

なんか色々と解決できそうな方法があったけど

自分が使った方法は npmを一時的に使う方法にしました。

手順は以下の通り:

# 1. npmの管理ファイル(package-lock.json)を一時的に作成
npm i --package-lock-only

# 2. yarn.lockを削除
rm yarn.lock

# 3. npmで脆弱性を修正
npm audit fix

# 4. npmの管理ファイルをyarnに変換
yarn import

# 5. 不要になったnpmの管理ファイルを削除
rm package-lock.json

これで、yarnを使いつつnpmの機能を借りて脆弱性を修正できるみたい。

他の選択肢

yarn-audit-fix というnpmパッケージも存在するみたい。

github.com

ただ、これは公式のソリューションではなく、サードパーティ製のようなので、ちょっと怖くて辞めました。

更新はされてるっぽいけどね。

終わりに

久しぶりに yarn管理のプロジェクト触ったのでちょいハマりました。

ではでは。