概要

モノレポ(ワークスペース)固有の挙動まわり。--filter "[<since>]" は <since> とのマージベースと比較するようになり、分岐後に <since> 側で変わったプロジェクトが選ばれなくなった。lockfile を共有しない設定(shared-workspace-lockfile: false)では injected なワークスペース依存の変更が反映されるようになり、未リリースの変更でこのモードのインストールが高速化された。frozen install はマニフェストが消えたワークスペースプロジェクトを検出して失敗する。pnpm-workspace.yaml への除外エントリの書き込みは既存の引用符スタイルに合わせる。injected なワークスペース依存(injectWorkspacePackages)まわりでは、peer をワークスペースから提供すると frozen install が lockfile を拒否する問題が v12.8.1 で直り、毎回フルインストールになっていた問題も修正された(未リリース)。v11 ではプロジェクトの共通の祖先が / や C:\ のとき何もインストールされない問題が v11.28.2 で直った。

主な API・オプション

  • --filter "[<since>]" — git merge-base <since> HEAD と作業ツリーを比較(マージベースが無ければ従来どおり <since> と比較)
  • shared-workspace-lockfile: false / sharedWorkspaceLockfile: false — injected 依存の変更で再解決。グローバル仮想ストアでは各プロジェクトが自分の .pnpm を持つ
  • pnpm install --frozen-lockfile — lockfile の importer にマニフェストが無いと ERR_PNPM_OUTDATED_LOCKFILE(ワークスペース全体を対象にしたときのみ)
  • minimumReleaseAgeExclude / trustPolicyExclude の書き込み — ダブルクォートが多数派ならダブルクォートで書く
  • injectWorkspacePackages: true / dependenciesMeta.*.injected — 共有 lockfile なら再インストールの高速経路を使う(未リリース)

変更履歴

  • 2026-09-30 — injected なワークスペース依存でも再インストールの高速経路を使う(#16404)⏳ 未リリース · 変更
  • 2026-09-30 — injected 依存の peer がワークスペースのリンクでも frozen install を通す(#16346)📦 v12.8.1 · 変更
  • 2026-09-30 — 共通の祖先がファイルシステムのルートのとき何もインストールしない問題を修正(v11、#16334)📦 v12.8.1 · 変更
  • 2026-09-28 — sharedWorkspaceLockfile: false のインストールを高速化(#16286)⏳ 未リリース · 変更
  • 2026-09-28 — pnpm-workspace.yaml の除外エントリを既存の引用符スタイルに合わせる(#15533)📦 pnpr@0.1.0-alpha.13 · 変更
  • 2026-09-28 — マニフェストが消えたワークスペースプロジェクトがあると frozen install を失敗させる(#15427)📦 pnpr@0.1.0-alpha.13 · 変更
  • 2026-09-28 — --filter "[<since>]" をマージベースと比較(#15442)📦 pnpr@0.1.0-alpha.13 · 変更
  • 2026-09-28 — lockfile を共有しないワークスペースで injected 依存の変更を反映(#15356)📦 pnpr@0.1.0-alpha.13 · 変更

関連