📚
pnpmのminimumReleaseAgeをグローバルとプロジェクトそれぞれに設定する方法
はじめに
パッケージマネージャーのpnpmに、脆弱性のあるパッケージのインストールリスクを軽減するため、新規に公開されたバージョンのインストールを遅延させるminimumReleaseAgeが追加されました
今回は、minimumReleaseAgeをグローバルに設定する方法、プロジェクト内で設定する方法をそれぞれ紹介します
グローバルに設定する方法
以下のコマンドを実行してください
1440の部分は分数なので、任意の数字を指定してください(1440で公開から1日以上経過しているバージョンのみインストールする指定)
pnpm config set --location=global minimumReleaseAge 1440
以下のコマンドを実行し、実行結果にminimumReleaseAgeが指定した数値で設定されていれば完了です
pnpm config list --location=global
プロジェクト内で設定する方法
pnpm-workspace.yamlに以下の記述を追加してください
minimumReleaseAge: 1440
もしくはプロジェクトルートで以下のコマンドを実行してください
pnpm-workspace.yamlが作成されていない状態で実行すると、pnpm-workspace.yamlが新規作成され上記の記述が追加されます
pnpm config set --location=project minimumReleaseAge 1440
以下のコマンドを実行し、実行結果にminimumReleaseAgeが指定した数値で設定されていれば完了です
pnpm config list --location=project
まとめ
最近、npmパッケージ関連の脆弱性やサプライチェーン攻撃が話題です
minimumReleaseAgeの説明部分に「通常、悪意のあるリリースは発見後1時間以内にレジストリから削除されます」とあり、これで完全に防げるわけではないですが、インストールを一定遅らせることで少しは対策が出来るのではないかと思います
誰かの参考になれば幸いです、間違っている箇所や質問があれば気軽にコメントください
Discussion