概要
依存関係の解決・カタログ・更新まわり。解決中に見つかった互換なバージョンをまとめる自動重複排除(autoDedupe)、カタログエントリでの file:/link: プロトコル対応、pnpm update --peer による peerDependencies の更新に対応している。重複排除では catalog: が固定するバージョンも直接指定と同じく優先されるようになった。lockfile の再利用判定はプレリリースと安定版の範囲を厳密に区別し、npm エイリアスも保持する。minimumReleaseAge まわりでは、レジストリから消えたバージョンを pnpm update <pkg> で置き換えられるようになり、時間ベースの解決で成熟したバージョンが優先されるよう修正中(未リリース)。pnpm dedupe の収束性の修正が続き、ハッシュ化された peer 接尾辞の読み戻し(v12.8.1)と、変種の統合後のキーの付け直し(未リリース)で pnpm dedupe --check が通るようになった。minimumReleaseAge で latest が隠れたときは、同じメジャーのプレリリースを下位メジャーの安定版より優先する(未リリース)。
主な API・オプション
autoDedupe—pnpm-workspace.yamlまたはコマンドラインの--auto-dedupe/--no-auto-dedupeで有効化。frozen install はロックファイルを変えない- カタログエントリの
file:/link:プロトコル — 相対パスはpnpm-workspace.yamlの位置を基準に解決 pnpm update --peer/pnpm up --peer --latest/pnpm up --peer <name>— peerDependencies の更新(オプトイン)catalog:指定 — 重複排除の優先バージョン計算で、カタログが固定するバージョンに直接指定と同じ重みを与えるminimumReleaseAgeの dist-tag フォールバック — 同じメジャーの安定版 → 同じメジャーのプレリリース(対象より前)→ 下位メジャー(latestのみ)の順
変更履歴
- 2026-09-30 —
minimumReleaseAgeでlatestが隠れたとき同じメジャーのプレリリースに戻る(#16407)⏳ 未リリース · 変更 - 2026-09-30 — injected なワークスペース依存を peer 変種の統合後に重複排除し
link:で記録(#16361)⏳ 未リリース · 変更 - 2026-09-30 — 変種の統合後に peer 依存側のキーを付け直し
pnpm dedupeを冪等に(#16359)⏳ 未リリース · 変更 - 2026-09-30 — ハッシュ化された peer 接尾辞でも
pnpm dedupeが収束(#16335)📦 v12.8.1 · 変更 - 2026-09-28 — 時間ベースの解決で成熟したバージョンを優先(#16304)⏳ 未リリース · 変更
- 2026-09-28 — 再利用した子の再解決で npm エイリアスを保持(#16310)⏳ 未リリース · 変更
- 2026-09-28 — lockfile の tarball URL から既定ポート(
:443/:80)を除去(#15540)📦 pnpr@0.1.0-alpha.13 · 変更 - 2026-09-28 — プレリリースから安定版の範囲へ変えたときに再解決(#15532)📦 pnpr@0.1.0-alpha.13 · 変更
- 2026-09-28 — レジストリから消えたバージョンが lockfile にあっても
pnpm update <pkg>できるように(#15450)📦 pnpr@0.1.0-alpha.13 · 変更 - 2026-09-28 — 重複排除で
catalog:が固定するバージョンを優先(#15518)📦 pnpr@0.1.0-alpha.13 · 変更 - 2026-09-24 — 依存関係の自動重複排除(
autoDedupe)を追加(#15218)📦 v12.6.0 · 変更 - 2026-09-24 — カタログのエントリで
file:/link:プロトコルを使えるように(#15108)📦 v12.6.0 · 変更 - 2026-09-24 —
pnpm update --peerで peerDependencies も更新可能に(#11031)📦 v12.6.0 · 変更