Skip to content

chore(deps): use pnpm default minimumReleaseAge - #457

Merged
miyaoka merged 1 commit into
mainfrom
chore/drop-minimum-release-age
Oct 3, 2026
Merged

miyaoka merged 1 commit into
mainfrom
chore/drop-minimum-release-age

Conversation

@miyaoka

@miyaoka miyaoka commented Oct 3, 2026

Copy link
Copy Markdown
Owner

目的

pnpm がインストールする版の公開からの経過時間の条件を、リポジトリで明示せず pnpm の既定値に任せる。

lefthook 2.1.15 は provenance なしで npm に公開されたため、trustPolicy: no-downgrade に止められ #456 が失敗している。provenance 付きの 2.1.16 が 2026-10-01 に公開されたが、明示している 3 日の minimumReleaseAge のため pnpm がまだ解決できない。待つ期間は pnpm の既定値で足りると判断した。

pnpm がインストールする版の公開からの経過時間の条件の変更前後

変更内容

  • pnpm-workspace.yaml から minimumReleaseAge: 4320 を削除する
  • pnpm install で lockfile に差分は出ない

設計判断

minimumReleaseAge: 1440 と値を明示する形は採らない。目的は値を選ぶことではなく pnpm の既定値に従うことであり、明示すると pnpm が既定値を変えても追従しない。

挙動の変化

種別 変化 内容
改善 pnpm が待つ時間が 3 日から 1 日になる pnpm 12.8.1 の既定値は 1440 分(pnpm/crates/config/src/settings.rs の minimum_release_age が Some(24 * 60))。合意事項による
改善 条件を満たす版が範囲内に無いとき、pnpm はインストールを失敗させず、公開から 1 日未満の版をインストールする pnpm 12.8.1 は minimumReleaseAge を明示したときだけ strict を既定で有効にする(resolved_minimum_release_age_strict が explicit_settings に minimumReleaseAge があるかで決める)。設定を外すと既定値の非 strict になる。合意事項による。失われる旧実装の性質: 固定版で指定した公開直後の版を pnpm が拒否すること

合意事項

  • minimumReleaseAge の待つ時間と strict の有無はどちらも pnpm の既定値に任せる
  • trustPolicy: no-downgrade などの他の設定は残す
  • Renovate の設定は変更しない

未合意の判断

なし

スコープ外

  • Renovate の待つ時間: config:best-practices が security:minimumReleaseAgeNpm(npm に 3 日、internalChecksFilter: 'strict')を含むため、Renovate は npm の版を 3 日待ってから PR を作る。pnpm 側の 1 日とは揃わない。lefthook 2.1.16 の Renovate PR は 2026-10-04 以降に作られる。行き先: 揃える必要が生じたときに renovate.json で扱う

完了条件

  • pnpm-workspace.yaml に minimumReleaseAge が無い
  • CI が通る

検証

  • pnpm 12.8.1(mise.toml で指定)の既定値を pnpm/pnpm の v12.8.1 タグのソースで確認した: pnpm/crates/config/src/settings.rs の #[default(_code = "Some(24 * 60)")]
  • pnpm install を pnpm v12.8.1 で実行し、git status で lockfile に差分が無いことを確認した

確認事項

なし

🤖 Generated with Claude Code

intent(pnpm-config): rely on pnpm defaults for release maturity instead of an explicit 3-day wait
decision(pnpm-config): drop the setting entirely so both the wait (1440 minutes) and the non-strict mode follow pnpm defaults
rejected(pnpm-config): minimumReleaseAge: 1440 to keep strict mode — the goal is to follow pnpm defaults, not pin a value
learned(pnpm): pnpm 12 enables minimumReleaseAgeStrict by default only when minimumReleaseAge is explicitly set; the built-in default falls back to immature versions when no mature one satisfies the range

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@miyaoka miyaoka self-assigned this Oct 3, 2026
@miyaoka
miyaoka marked this pull request as ready for review October 3, 2026 06:33
@miyaoka
miyaoka merged commit 839ad06 into main Oct 3, 2026
4 checks passed
@miyaoka
miyaoka deleted the chore/drop-minimum-release-age branch October 3, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant