Repository navigation
chore: group release-it with its changelog plugin in dependabot - #1247
Closed
Naturalclar wants to merge 1 commit into
Closed
Naturalclar wants to merge 1 commit into
Naturalclar wants to merge 1 commit into
Conversation
release-it and @release-it/conventional-changelog are coupled through a peer range: the plugin declares `release-it: ^18 || ^19 || ^20`, so bumping release-it alone to 21 produces a combination the plugin refuses. This is not hypothetical. #1245 bumps release-it 18.1.2 -> 21.1.2 on its own and cannot be merged for exactly this reason, and nothing in CI catches it: yarn treats the peer mismatch as a warning, and no CI job runs the release path, so the failure would only surface on a real publish. Grouping them means dependabot offers the pair together, at versions that satisfy each other. No exclude-patterns needed -- `release-it` and `@release-it/conventional-changelog` are the only dependencies either pattern can match, so the group is identical under either reading of non-wildcard pattern matching. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Naturalclar
added a commit
that referenced
this pull request
Nov 15, 2026
release-it and @release-it/conventional-changelog are coupled through a peer range: the plugin declares `release-it: ^18 || ^19 || ^20`, so bumping release-it alone to 21 produces a combination the plugin refuses. This is not hypothetical. #1245 bumps release-it 18.1.2 -> 21.1.2 on its own and cannot be merged for exactly this reason, and nothing in CI catches it: yarn treats the peer mismatch as a warning, and no CI job runs the release path, so the failure would only surface on a real publish. Grouping them means dependabot offers the pair together, at versions that satisfy each other. No exclude-patterns needed -- `release-it` and `@release-it/conventional-changelog` are the only dependencies either pattern can match, so the group is identical under either reading of non-wildcard pattern matching. Replaces #1247, which GitHub closed when its base branch was deleted on the merge of #1246. Content is byte-identical; only the base differs. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Stacked on #1246 — based on that branch so the diff here is only the new group. GitHub will retarget this to
masterautomatically once #1246 merges.Why
release-itand@release-it/conventional-changelogare coupled through a peer range. The plugin at^11.0.1declares:So bumping
release-italone past 20 produces a combination the plugin refuses.This is not hypothetical — it is the current state of the repo. #1245 bumps
release-it18.1.2 → 21.1.2 on its own and is unmergeable for precisely this reason.What makes it worth a config rule rather than a one-off fix is that nothing catches it:
yarn install --immutablepasseslint,tsc,android,iosI verified the peer range against the published tarball rather than reading changelogs.
The rule
No
exclude-patternshere, unlike thereact-nativegroup.release-itand@release-it/conventional-changelogare the only dependencies either pattern can match, so the group is identical whether non-wildcard patterns match exactly or by substring — the ambiguity that made excludes necessary in #1246 has no effect here.Verification
release-it+@release-it/conventional-changeloggroups:@biomejs/biome,jest,@types/jest,pod-install,typescript, plus the five excluded from the RN groupAs with #1246 and #1237: CI does not parse
dependabot.yml, so green checks here are not evidence about this file. GitHub validates it on push to the default branch (Insights → Dependency graph → Dependabot).Follow-on
Once this is in, dependabot should supersede #1245 with a grouped PR moving
release-itand the plugin together — likely release-it 21 with plugin 12.x, which does support it. Note that a grouped bump to release-it 21 will also need.tool-versionsraised: release-it 21 requires Node^22.22.2 || ^24.15.0 || >=26.0.0and the repo pinsnodejs 22.11.0. That is a separate change and not part of this PR.🤖 Generated with Claude Code