fix: use fixed versioning group for all published packages#456
fix: use fixed versioning group for all published packages#456
Conversation
The experimental onlyUpdatePeerDependentsWhenOutOfRange option cannot prevent 0.x minor bumps from triggering major bumps in dependents — workspace:* resolves to an exact version internally, so any minor bump is always "out of range". Replace with a fixed group: all published packages share a single version number, eliminating the peer-dep cascade entirely.
|
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-playground | fadeaf6 | Apr 11 2026, 04:51 PM |
@emdash-cms/admin
@emdash-cms/auth
@emdash-cms/blocks
@emdash-cms/cloudflare
emdash
create-emdash
@emdash-cms/gutenberg-to-portable-text
@emdash-cms/x402
@emdash-cms/plugin-ai-moderation
@emdash-cms/plugin-atproto
@emdash-cms/plugin-audit-log
@emdash-cms/plugin-color
@emdash-cms/plugin-embeds
@emdash-cms/plugin-forms
@emdash-cms/plugin-webhook-notifier
commit: |
There was a problem hiding this comment.
Pull request overview
Updates Changesets configuration to avoid peer-dependency major-bump cascades for 0.x packages by moving from experimental “out-of-range” options to a fixed versioning group.
Changes:
- Add a
fixedversioning group intended to keep selected published packages on the same version. - Remove
___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCHoptions previously used to limit dependent bumps.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "fixed": [ | ||
| [ | ||
| "emdash", | ||
| "@emdash-cms/admin", | ||
| "@emdash-cms/blocks", | ||
| "@emdash-cms/cloudflare", | ||
| "@emdash-cms/plugin-ai-moderation", | ||
| "@emdash-cms/plugin-atproto", | ||
| "@emdash-cms/plugin-audit-log", | ||
| "@emdash-cms/plugin-color", | ||
| "@emdash-cms/plugin-embeds", | ||
| "@emdash-cms/plugin-forms", | ||
| "@emdash-cms/plugin-webhook-notifier" | ||
| ] |
There was a problem hiding this comment.
The PR description/title says the fixed group contains all published packages, but this list omits several non-private workspaces that appear publishable (e.g. @emdash-cms/auth, @emdash-cms/gutenberg-to-portable-text, create-emdash, @emdash-cms/x402). If the intent is truly “all published packages share one version”, add them to this fixed group; otherwise, update the PR description/title to reflect the narrower scope (e.g. only core + plugin packages).
Adds auth, gutenberg-to-portable-text, x402, and create-emdash which were missing from the fixed group.
What does this PR do?
Replaces the experimental
onlyUpdatePeerDependentsWhenOutOfRange/updateInternalDependentsconfig (from #447) with afixedversioning group containing all published packages.Why #447 didn't work:
workspace:*is internally resolved to the exact current version (e.g.0.1.1) when changesets evaluates range satisfaction. Since0.2.0never satisfies0.1.1, the "out of range" check always fires — the experimental options can't help for 0.x packages. This is a known upstream issue (changesets/changesets#822, #1797).What
fixeddoes: All packages in the group always share the same version number. A changeset touching any one of them bumps them all together, eliminating the peer-dep major-bump cascade entirely.Type of change
Checklist
pnpm typecheckpassespnpm --silent lint:json | jq '.diagnostics | length'returns 0pnpm testpasses (or targeted tests for my change)pnpm formathas been runAI-generated code disclosure
Screenshots / test output
N/A — config-only change.