Changesets v3 crashes on workspace package name collisions
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 176
- Forks
- 66
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 52
Description
Expected Behavior
Changesets should report a workspace dependency graph mismatch with an actionable package name.
Current Behavior
Changesets 3 crashes in node:util.styleText when a private workspace package has the same name as a registry dependency and no version.
Possible Solution
Detect duplicate workspace and registry package names before formatting the expected version, or safely format undefined values.
Minimal Reproducible Example
Create a private workspace package named stripe without a version and give it a dependency on the registry package stripe, then run pnpm changeset status.
Context
The crash appeared after rebasing onto the Changesets 3 upgrade and hid the underlying workspace-name collision.
Logged by Brendan Ryan in wevm/mppx at 07c59cf. Filed by Frog.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with pnpm changeset status using a private workspace package named stripe without a version and a registry dependency named stripe. Trace the Changesets v3 path that formats the expected version after the workspace and registry names collide, especially the node:util.styleText call. Done means the command reports an actionable workspace dependency graph mismatch instead of crashing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100