Skip to content

[pull] latest from npm:latest#148

Merged
pull[bot] merged 2 commits into
soloinovator:latestfrom
npm:latest
Mar 3, 2026
Merged

[pull] latest from npm:latest#148
pull[bot] merged 2 commits into
soloinovator:latestfrom
npm:latest

Conversation

@pull

@pull pull Bot commented Mar 3, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Michael Smith and others added 2 commits March 3, 2026 09:41
#9051)

When `legacyPeerDeps` is enabled and a workspace has a peer dependency
on another workspace, `node.resolve()` in `assignCommonProperties`
returns the Link node (at `node_modules/<ws>`) rather than its target
(at `packages/<ws>`). The normal edge-based path correctly unwraps via
`e.to.target`, but the legacyPeerDeps fallback pushed the raw resolved
node directly.

This caused `workspaceProxy` to be called with the Link (a different
object from the fsChild), creating a second workspace proxy with
`localLocation="node_modules/<ws>"`. Store links for that workspace's
deps were then placed at `node_modules/<ws>/node_modules/<dep>` instead
of `packages/<ws>/node_modules/<dep>`, racing with the workspace symlink
at `node_modules/<ws>` and hitting EEXIST on subsequent installs.

Fix: use `resolved.target` to unwrap Link nodes, consistent with the
edge-based path.

## References

Fixes #9050
@pull pull Bot locked and limited conversation to collaborators Mar 3, 2026
@pull pull Bot added the ⤵️ pull label Mar 3, 2026
@pull
pull Bot merged commit 10d5302 into soloinovator:latest Mar 3, 2026
7 of 8 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant