323文字
2分
編集

pnpm 11

pnpm 11 がリリースされた。Node.js 18〜21 のサポートは終了し、実行には Node.js 22 以上が必要になる。スタンドアロン実行ファイルは glibc 2.27 以上を前提とする。v10 からの設定移行は pnpm-v10-to-v11 codemod と公式の移行ガイドで補われる。

主な変更は次のとおり。

  • minimumReleaseAge の既定は 1 日(1440 分)で、blockExoticSubdeps は true が既定。従来のビルド依存まわりの設定は allowBuilds のマップへ集約された。
  • グローバルインストールはグローバル仮想ストア上で分離され、pnpm install -g(引数なし)は廃止され pnpm add -g <pkg> に寄せられた。
  • ストアは SQLite ベースのインデックス(store v11)に刷新され、マニフェスト同梱などで I/O を減らしている。
  • pnpm publish / login / view / dist-tag などは npm CLI への委譲をやめた。
  • .npmrc は認証とレジストリ中心に整理され、pnpm 固有の設定は pnpm-workspace.yaml または ~/.config/pnpm/config.yaml に置く。環境変数の接頭辞は pnpm_config_* に統一された。
  • pnpm audit は bulk advisories エンドポイントを使うため、auditConfig.ignoreCvesignoreGhsas(GHSA ベース)へ移行する。

minimumReleaseAge を無効化するには pnpm-workspace.yaml で 0 を指定する。

yaml
# pnpm-workspace.yaml
minimumReleaseAge: 0

ビルド許可は allowBuilds で名前パターンごとに true / false を書く。

yaml
# pnpm-workspace.yaml
allowBuilds:
  electron: true
  core-js: false
  esbuild: false

#参考文献