Skip to content

chore: gate yarn installs by 3-day minimum release age#18

Open
karlkeppner1 wants to merge 2 commits into
mainfrom
chore/min-release-age-gate
Open

chore: gate yarn installs by 3-day minimum release age#18
karlkeppner1 wants to merge 2 commits into
mainfrom
chore/min-release-age-gate

Conversation

@karlkeppner1
Copy link
Copy Markdown

Summary

  • Adds npmMinimalAgeGate: 4320 (3 days, in minutes) to .yarnrc.yml as a supply-chain defense — yarn will refuse to install package versions younger than 3 days, giving the community time to spot and yank malicious releases
  • Pins yarn to 4.15.0 via the packageManager field (was previously unset); npmMinimalAgeGate requires Yarn Berry ≥ 4.10

Note for reviewer

This repo currently contains both yarn.lock and package-lock.json. Only yarn is configured here; the stray package-lock.json should be deleted in a separate change once a maintainer confirms yarn is the chosen tool.

Test plan

  • corepack prepare yarn@4.15.0 --activate
  • yarn install --immutable — confirm lockfile still resolves cleanly under 4.15
  • yarn build succeeds (lerna monorepo build)
  • yarn test passes

🤖 Generated with Claude Code

karlkeppner1 and others added 2 commits May 20, 2026 13:35
Adds npmMinimalAgeGate (4320 minutes = 3 days) to .yarnrc.yml to
defend against fresh malicious package versions getting pulled in
before the community has time to spot and yank them. Pins yarn to
4.15.0 via packageManager (the field was previously unset);
npmMinimalAgeGate was added in Yarn Berry 4.10.

Note: this repo contains both yarn.lock and package-lock.json. Only
yarn is configured here; the stray package-lock.json should be
deleted separately once a maintainer confirms yarn is the chosen
tool.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Layers additional defenses on top of the release-age gate:
- audit-level=high (npm audit fails CI on high-severity findings)
- engine-strict=true (refuse to install if Node engines field mismatches)
- registry pin (defense against tampered .npmrc redirecting installs)

All settings are no-ops on older package managers; safe to merge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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