Repository navigation
fix(dependabot): ungroup msw/vitest majors from auto-merged dev-dependencies - #59
Merged
Merged
Conversation
|
🎉 This PR is included in version 1.0.6 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
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.
What
Excludes
msw,vitest, and@vitest/*from the auto-mergeddev-dependenciesDependabotgroup's major bumps. Minor/patch bumps of these packages are unaffected -- they stay
grouped and auto-merged exactly as before, via a second, narrower group.
Why
A grouped Dependabot PR that bundles a
mswmajor bump (2.x -> 3.x) together with avitestmajor bump (4.x -> 5.x) can produce an internally-inconsistent lockfile:
npm cifails withEUSAGEbecause the nestedmsw@2.xsubtree that@vitest/mocker's peer dependency stillneeds is missing. Dependabot's own version-resolution step doesn't catch this at PR-creation
time, and a casual local
npm cican falsely look clean -- a newer local npm version silentlyauto-heals the same gap, so the bug only reproduces reliably against CI's exact npm version in
a clean container.
Confirmed independently across 8 repos during the 2026-10-08 fleet burn-down (rootly-mcp#65,
node-syncro#72, node-it-glue#83, node-threatlocker#34, node-domotz#51, ironscales-mcp#57,
node-halopsa#86, node-datto-saas-protection#57) -- same root cause every time, not an edge case.
Fix
Majors for
msw/vitest/@vitest/*now fall through ungrouped into individual PRs, held forhuman review -- the same treatment production-dependency majors already get. This stops the
auto-merge-on-green janitor from landing an unverified, potentially-broken lockfile. Minor/patch
updates to these packages remain grouped and auto-merged, so routine PR volume is unaffected.
Config-only change, fleet-wide rollout across the 30
*-mcp/node-*repos confirmed to carryboth
mswandvitestas direct devDependencies with this dependabot.yml template. Noapplication code touched.
Ref: task_1791494841949 (murph)
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by CodeRabbit