wevm / wevm/mppx

Changesets v3 crashes on workspace package name collisions

Open
#833 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

friction
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.