Skip to content

feat: improve yarn pnp compatibility#176

Open
leegeunhyeok wants to merge 1 commit intocallstackincubator:mainfrom
leegeunhyeok:feat/yarn-pnp
Open

feat: improve yarn pnp compatibility#176
leegeunhyeok wants to merge 1 commit intocallstackincubator:mainfrom
leegeunhyeok:feat/yarn-pnp

Conversation

@leegeunhyeok
Copy link

@leegeunhyeok leegeunhyeok commented Feb 8, 2026

Description

Improves Rozenite integration to support Yarn PnP environments.

The current auto-discovery implementation for installed plugins assumes a node_modules linker environment and does not work in Yarn PnP setups. In PnP environments, plugins need to be discovered from the PnP virtual paths of installed dependencies.

Solution

This PR modifies the plugin discovery logic to handle Yarn PnP environments. When running in a PnP environment, the implementation now searches for plugins in the PnP virtual paths of installed dependencies.

Other logic, such as patching the devtools-frontend path, already works correctly in PnP environments. This is because Yarn PnP patches the fs module to resolve virtual paths automatically.

Compatibility

This change has no impact on non-PnP environments. The existing behavior remains unchanged for traditional node_modules setups.

Related Issue

Context

Discussion: #174
Discord: https://discord.com/channels/426714625279524876/1397852261736255528/1468831055808172055

Testing

A test environment is available in the following repository. Please refer to the README for verification and testing instructions:

https://github.com/leegeunhyeok/rozenite-pnp

pnpm build:all
pnpm --filter @rozenite/middleware pack --out package.tgz

# Copy the generated `package.tgz` to the root of `rozenite-pnp`
Screenshot 2026-02-08 at 19 14 50 Screenshot 2026-02-08 at 19 09 48

Unit tests

pnpm --filter @rozenite/middleware test
image

@vercel
Copy link

vercel bot commented Feb 8, 2026

@leegeunhyeok is attempting to deploy a commit to the Callstack Team on Vercel.

A member of the Team first needs to authorize it.

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

Comments