ci(dependabot): stop proposing Mantine and React majors (locked decision §2) - #106
Merged
tyler-rich merged 1 commit intoJul 26, 2026
Conversation
…ion §2) The npm entry now ignores major updates for @mantine/*, react, react-dom, @types/react and @types/react-dom. Minor and patch updates inside Mantine v7 and React 18 still flow as before, and no other ecosystem entry changes. CLAUDE.md locked decision §2 fixes the frontend at React 18 + Mantine v7, but Dependabot had no way to know that, so the weekly grouped frontend PR proposed @mantine/* 7.15.2 -> 9.4.2 and react/react-dom 18.3.1 -> 19.2.8 alongside a dozen updates that were fine. One unmergeable entry makes the whole grouped PR unmergeable, and closing it discards the mergeable bumps with it — so the lock has to be expressed in the config or it gets re-litigated every week. @types/react* are included because their major tracks React's: @types/react 19 against react 18 fails the type-aware ESLint gate enabled 2026-07-24. See docs/ARCHIVE.md § Deviations for the dated entry.
tyler-rich
deleted the
claude/dependabot-triage-v0.2.0-w714if-dependabot-ignores
branch
July 26, 2026 07:31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependabot #86 proposes
@mantine/*7.15.2 → 9.4.2 andreact/react-dom18.3.1 → 19.2.8. Both are breaches of CLAUDE.md locked decision §2 (React 18 + Mantine v7), so #86 is not mergeable and should be closed by hand. This PR stops it recurring.What changed
.github/dependabot.yml's npm entry gains anignore:block for major updates only:@mantine/*react,react-dom@types/react,@types/react-domMinor and patch updates inside Mantine v7 and React 18 are untouched and still open weekly. No other ecosystem entry changes. A comment above the block cites locked decision §2, so the reason is visible where the rule lives.
Why config and not just closing #86
Because Dependabot groups the entire npm ecosystem into one branch, a single unmergeable entry makes the whole PR unmergeable — and closing it discards the dozen mergeable bumps sitting next to it. Without the ignores, next week's run rebuilds the same PR and the same manual close happens again. The lock has to be expressed in the config or it gets re-litigated every week.
Why
@types/react*are in the listBeyond what a literal reading of "Mantine and React" covers, and deliberately so: their major version tracks React's.
@types/react19 againstreact18 is a type-level mismatch, and with type-aware ESLint enabled (2026-07-24) that mismatch is a failing lint gate, not a quiet inconsistency. Ignoring the runtime majors while letting their@typesmajors through would leave the group unmergeable for the same reason it already is.What this deliberately does not do
It does not touch the frontend tooling majors #86 also proposes — TypeScript 5.7 → 7.0, ESLint 9 → 10,
typescript-eslint8.19 → 8.65, Vite 6 → 8, Vitest 3 → 4, jsdom 26 → 29. Those are not locked and are wanted, but every one of them lands on the type-aware ESLint gate, so they are real work with real churn potential in the lint config. They belong in their own scoped PR, not folded into a config change.It is also not a permanent verdict on React 19 / Mantine v9. An ignore rule says a bot may not make this decision, not that the decision can never be made — lifting either line is a locked-decision change and goes through the maintainer first.
See
docs/ARCHIVE.md§ Deviations for the dated entry.