Skip to content

chore: stop vitest bumps from releasing every package#2964

Merged
christianhg merged 2 commits into
mainfrom
chore/renovate-vitest-no-changesets
Jul 9, 2026
Merged

chore: stop vitest bumps from releasing every package#2964
christianhg merged 2 commits into
mainfrom
chore/renovate-vitest-no-changesets

Conversation

@christianhg

@christianhg christianhg commented Jul 9, 2026

Copy link
Copy Markdown
Member

Renovate's vitest bump #2962 merged with a changeset that patch-bumps all 23 publishable packages, for a dev-tooling update that changes nothing any consumer installs. The pending Version Packages PR (#2963) is currently proposing exactly that release. This PR removes the merged changeset and prevents the next one.

The chain: racejar peer-depends on vitest, so the update matched the dependencies/peerDependencies packageRule and the PR was titled fix(deps). The changeset workflow (mscharley/dependency-changesets-action via portabletext/.github, conventional-commits mode) maps fix to a patch changeset, and it attributes the pnpm-catalog bump to every package that consumes the catalog entry, which for test tooling is the entire workspace. The action has no dep-type filtering inputs (v1.2.4 is current), so the only sanctioned lever is the commit type: it generates changesets only for fix/feat and skips everything else.

Commit 1 pins the existing vitest group rule to semanticCommitType: chore. It's the last entry in packageRules, so it overrides the peer-dependencies fix rule for the vitest group; vitest PRs stop producing changesets entirely. Commit 2 deletes .changeset/dependencies-GH-2962.md, shrinking #2963 back to real changes.

One deliberate suppression: racejar's vitest peer range (^4.1.9^4.1.10) also stops generating a changeset, and the merged ratchet ships silently with racejar's next real release. An in-range floor bump is not consumer-observable, so nothing is lost; if anything, releasing it would be mildly hostile (consumers on 4.1.9 would start failing strict peer resolution). A future vitest major that moves the peer range for real is a genuine manifest change and needs a manual changeset for racejar; majors are already gated behind dashboard approval.

A vitest bump (e.g. #2962) produced a changeset patch-bumping all 23
publishable packages. The chain: `racejar` peer-depends on vitest, so
the update matched the `dependencies`/`peerDependencies` rule and the
PR became `fix(deps)`; the changeset workflow
(`mscharley/dependency-changesets-action`, conventional-commits mode)
maps `fix` to a patch changeset and attributes the pnpm-catalog bump to
every package consuming the catalog entry, which for test tooling is
the entire workspace.

Pin the vitest group to `semanticCommitType: chore`. The action maps
anything but `fix`/`feat` to no changeset at all, so vitest updates no
longer release-bump anything. The rule is last in `packageRules`, so it
overrides the peer-dependencies `fix` rule for the vitest group.

vitest is devDependencies everywhere except `racejar`'s peer range;
suppressing that range bump's changeset is deliberate (a caret patch
bump is not consumer-observable). A future vitest major that moves the
peer range for real needs a manual changeset for `racejar`.
@changeset-bot

changeset-bot Bot commented Jul 9, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 519e664

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercel Bot commented Jul 9, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
portable-text-editor-documentation Ready Ready Preview, Comment Jul 9, 2026 2:34pm
portable-text-example-basic Ready Ready Preview, Comment Jul 9, 2026 2:34pm
portable-text-playground Ready Ready Preview, Comment Jul 9, 2026 2:34pm

Request Review

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Stats — @portabletext/editor

Compared against main (f0eeb73b)

@portabletext/editor

Metric Value vs main (f0eeb73)
Internal (raw) 800.0 KB -
Internal (gzip) 153.3 KB -
Bundled (raw) 1.41 MB -
Bundled (gzip) 317.5 KB -
Import time 98ms +1ms, +1.0%

@portabletext/editor/behaviors

Metric Value vs main (f0eeb73)
Internal (raw) 467 B -
Internal (gzip) 207 B -
Bundled (raw) 424 B -
Bundled (gzip) 171 B -
Import time 2ms +0ms, +1.0%

@portabletext/editor/plugins

Metric Value vs main (f0eeb73)
Internal (raw) 2.7 KB -
Internal (gzip) 894 B -
Bundled (raw) 2.5 KB -
Bundled (gzip) 827 B -
Import time 7ms -0ms, -0.0%

@portabletext/editor/selectors

Metric Value vs main (f0eeb73)
Internal (raw) 81.2 KB -
Internal (gzip) 14.9 KB -
Bundled (raw) 76.7 KB -
Bundled (gzip) 13.8 KB -
Import time 8ms +0ms, +1.7%

@portabletext/editor/traversal

Metric Value vs main (f0eeb73)
Internal (raw) 28.1 KB -
Internal (gzip) 5.6 KB -
Bundled (raw) 27.9 KB -
Bundled (gzip) 5.5 KB -
Import time 6ms -0ms, -1.2%

@portabletext/editor/utils

Metric Value vs main (f0eeb73)
Internal (raw) 29.7 KB -
Internal (gzip) 6.2 KB -
Bundled (raw) 27.1 KB -
Bundled (gzip) 5.8 KB -
Import time 6ms +0ms, +0.2%

🗺️ . · ./behaviors · ./plugins · ./selectors · ./traversal · ./utils · Artifacts

Details
  • Import time regressions over 10% are flagged with ⚠️
  • Sizes shown as raw / gzip 🗜️. Internal bytes = own code only. Total bytes = with all dependencies. Import time = Node.js cold-start median.

📦 Bundle Stats — @portabletext/markdown

Compared against main (f0eeb73b)

Metric Value vs main (f0eeb73)
Internal (raw) 53.8 KB -
Internal (gzip) 9.8 KB -
Bundled (raw) 348.9 KB -
Bundled (gzip) 96.3 KB -
Import time 39ms -2ms, -4.6%

🗺️ View treemap · Artifacts

Details
  • Import time regressions over 10% are flagged with ⚠️
  • Sizes shown as raw / gzip 🗜️. Internal bytes = own code only. Total bytes = with all dependencies. Import time = Node.js cold-start median.

@christianhg christianhg marked this pull request as ready for review July 9, 2026 14:34
`.changeset/dependencies-GH-2962.md` (merged with #2962) patch-bumps all
23 publishable packages for a vitest devDependency update; nothing any
consumer installs changed. `racejar`'s vitest peer range moved
`^4.1.9` -> `^4.1.10`, but an in-range floor ratchet is not
consumer-observable either, so no package needs a release. Removing the
changeset shrinks the pending Version Packages PR back to real changes.
@christianhg christianhg changed the title chore: mark vitest updates as chore so no changesets are generated chore: stop vitest bumps from releasing every package Jul 9, 2026
@christianhg christianhg enabled auto-merge (rebase) July 9, 2026 14:35
@christianhg christianhg merged commit 0457885 into main Jul 9, 2026
17 checks passed
@christianhg christianhg deleted the chore/renovate-vitest-no-changesets branch July 9, 2026 14:36
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