Skip to content

chore(deps): stop Dependabot proposing React bumps it cannot land - #611

Open
JakubAnderwald wants to merge 1 commit into
mainfrom
chore/dependabot-ignore-react-family
Open

JakubAnderwald wants to merge 1 commit into
mainfrom
chore/dependabot-ignore-react-family

Conversation

@JakubAnderwald

Copy link
Copy Markdown
Owner

Follow-up to #610, which fixed the drift but not the mechanism that recreates it.

The problem

React's version lives in the root package.json's pnpm.overrides — the mechanism that forces the single shared React instance ADR-0027 / #558 require. Dependabot cannot edit that key. It can only rewrite pnpm-lock.yaml's overrides: block, so every React PR it opens takes one of two useless shapes:

shape what happens seen in
inert bumps apps/*/package.json while the override silently overrules it — nothing actually moves #593
unmergeable lockfile-only override edit; aborts every install with ERR_PNPM_LOCKFILE_CONFIG_MISMATCH #609

#609 is the one that generated the failed-preview-deployment email: it took down the Vercel preview and all six CI jobs, and could never have been fixed by rebasing or retrying.

Without this rule the exact same PR reappears on the next React patch release.

The change

Ignore react, react-dom, react-test-renderer by exact name — deliberately not a react* wildcard, which would swallow the react-native family that has its own carefully tuned minor/major rules directly above in the same file.

Why this doesn't contradict ADR-0027 §5

§5 says "Do not freeze the rnm/React pair from Dependabot permanently; instead upgrade the pair deliberately, together." That forbids freezing React so it silently rots. This suppresses a mechanism structurally incapable of moving it correctly — the deliberate cadence §5 asks for is exactly what remains:

edit pnpm.overrides → regenerate the lockfile → verify

which is how React last moved in #441 and #610, and remains the prerequisite for adopting react-native-macos@0.83.

Recorded as a dated update note on ADR-0027 rather than a new ADR, matching how the RN-family ignore was recorded there in July. ADR body left otherwise untouched (append-only).

Verification

check result
dependabot.yml parses ✅ 14 ignore entries
no wildcard leakage into react-native* ✅ exact names only
pnpm format:check
scripts tests ✅ 783/783

No code changes — config and docs only.

🤖 Generated with Claude Code

React's version lives in the root package.json's `pnpm.overrides` — the
mechanism that forces the single shared React instance ADR-0027 / #558 require.
Dependabot cannot edit that key. It can only rewrite pnpm-lock.yaml's
`overrides:` block, so every React PR it opens takes one of two useless shapes:

- inert: bumps apps/*/package.json while the override silently overrules it,
  so nothing actually moves (#593), or
- unmergeable: a lockfile-only override edit that aborts every install with
  ERR_PNPM_LOCKFILE_CONFIG_MISMATCH (#609, which also failed the Vercel preview
  deployment and all six CI jobs).

Ignore react, react-dom and react-test-renderer by exact name — deliberately not
a `react*` wildcard, which would swallow the react-native family that has its own
tuned rules directly above.

This does not contradict ADR-0027 §5. That decision forbids freezing React so it
silently rots; this suppresses a mechanism structurally incapable of moving it
correctly. React still moves as one deliberate coordinated step — edit
pnpm.overrides, regenerate the lockfile, verify (#441, #610) — which remains the
prerequisite for adopting react-native-macos@0.83. Recorded as a dated update
note on ADR-0027, matching how the RN-family ignore was recorded there.

Verified: dependabot.yml parses (14 ignore entries, no wildcard leakage into the
react-native family), format:check, scripts tests 783/783.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
drafto Ready Ready Preview Aug 19, 2026 8:07pm

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 751a455d-f1b9-4859-abd8-0680a82f4649


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch was successfully deployed

1 active deployment
Preview 3ba96d8e Deployed Aug 19, 2026 by vercel[bot]
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