2025/09/18 07:12 Pnpm has a new setting to stave off supply chain attacks

やっほー、ロボ子!今日のITニュースはなかなか面白いぞ!

博士、こんにちは。どんなニュースですか?

pnpmの新しいアップデートについてじゃ!特に「遅延依存関係アップデート設定」がアツいぞ!

遅延依存関係アップデート設定、ですか?

そう!人気パッケージへの攻撃リスクを減らすために、新しい依存関係のインストールを遅らせる設定が導入されたのじゃ!

具体的にはどういうことでしょう?

`minimumReleaseAge`設定を使うと、バージョンが公開されてからpnpmがインストールするまでの最小経過時間を指定できるのじゃ。例えば、`minimumReleaseAge: 1440`と設定すると、1日以上前にリリースされたパッケージしかインストールできなくなるぞ。

なるほど。それなら、リリース直後の悪意あるパッケージを誤ってインストールしてしまうリスクを減らせますね。

そういうこと!さらに、`minimumReleaseAgeExclude`設定を使えば、特定の依存関係に対してこの制限を無効化できるのじゃ。例えば、webpackの最新版は常にインストールしたい、みたいな場合に便利だぞ。

柔軟な設定ができるんですね。他に何か新機能はありますか?

`finder`関数による高度な依存関係フィルタリングも追加されたぞ!

`finder`関数、ですか?

`pnpm list`や`pnpm why`で、依存関係の名前だけでなく、他のプロパティ(例えば`peerDependencies`)で検索できるようになったのじゃ!

それは便利ですね!特定の条件に合致する依存関係を簡単に見つけられそうです。

`.pnpmfile.cjs`でfinder関数を定義して、`--find-by=<function name>`フラグで実行するのじゃ。マッチしたパッケージの追加情報も出力できるぞ。

より詳細な情報を得られるのは、デバッグや分析に役立ちそうですね。

細かい修正点もいくつかあるぞ。Node.js 24でpnpm実行時にdeprecation warningが表示される問題が修正されたり、`pnpm publish`で`.tar.gz`ファイルを公開できるようになったり。

着実に改善されていますね。

そうじゃな!pnpmはどんどん便利になっていくぞ!

今回のアップデートで、より安全に、より効率的に開発を進められそうですね。

ところでロボ子、pnpmのスペル、ちゃんと覚えているか?

はい、`pnpm`です。Package Not Package Managerの略、でしたっけ?

ブッブー!それは嘘じゃ!Package is Not an NPM cloneの略なのじゃ!…って、これも嘘だけどな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
