Repository navigation
Conversation
JPeer264
added this pull request to stack #25528
October 19, 2026 13:44
JPeer264
force-pushed
the
jp/node-modules-pnpm-isolated
branch
from
October 19, 2026 14:33
aab2593 to
220ad81
Compare
JPeer264
marked this pull request as ready for review
October 19, 2026 14:57
JPeer264
requested review from
isaacs and
mydea
and removed request for
a team
October 19, 2026 14:57
JPeer264
requested review from
andreiborza and
s1gr1d
and removed request for
mydea
October 19, 2026 14:57
isaacs
reviewed
Oct 19, 2026
isaacs
left a comment
Member
There was a problem hiding this comment.
There's a surprising load-order issue, and we should perhaps add support for @scope/pkg while we're changing it.
JPeer264
force-pushed
the
jp/node-modules-pnpm-isolated
branch
from
October 21, 2026 17:10
220ad81 to
db2c9e6
Compare
Contributor
size-limit report 📦Compared: 9c36187 (PR test merge using develop at ded8524) Against: ded8524 (develop) · base run #63088 ✅ Baseline matches: this diff contains only this PR's changes.
|
Contributor
Optional E2E testsSome optional checks were not successful. They do not block the merge. 1 failing, 49 successful. See the run.
Successful checks
|
isaacs
approved these changes
Oct 21, 2026
isaacs
force-pushed
the
jp/node-modules-pnpm-isolated
branch
from
October 21, 2026 21:01
db2c9e6 to
7515a54
Compare
`modulesIntegration` reads the version of each CJS module in `require.cache` from its package.json in a node_modules folder of the main module. The isolated pnpm layout keeps the package files in `node_modules/.pnpm/<package id>/node_modules/<name>`, so the integration found no version there. Events got only the version ranges from the app's package.json, and no packages that the app does not declare. Read these folders like the node_modules folders of the main module. The new test writes a package into this layout, because the monorepo installs its packages with the hoisted layout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
JPeer264
force-pushed
the
jp/node-modules-pnpm-isolated
branch
from
October 22, 2026 08:25
7515a54 to
c1d41c2
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes
modulesIntegrationfor CJS apps that pnpm or Bun install with the isolated layout. The integration reads the version of each module inrequire.cachefrom itspackage.json, but only for packages directly in anode_modulesfolder of the app. pnpm and Bun keep them innode_modules/<.pnpm or .bun>/<package id>/node_modules/<name>, soevent.moduleshad only the version ranges from the app'spackage.json. This also fixes scoped packages (@scope/name), which the integration did not read in any layout.The store keeps every version of a package. When more than one version is loaded,
event.moduleshas the one thatrequire('<name>')in the main module loads.Known issues
The new
suites/modulestest writes packages into these layouts, because the monorepo installs with the hoisted layout.