fix(core): prevent undefined importer crash in pnpm lockfile parsing#33223
Merged
AgentEnder merged 1 commit intomasterfrom Oct 27, 2025
Merged
fix(core): prevent undefined importer crash in pnpm lockfile parsing#33223AgentEnder merged 1 commit intomasterfrom
AgentEnder merged 1 commit intomasterfrom
Conversation
✅ Deploy Preview for nx-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
View your CI Pipeline Execution ↗ for commit 065c8c7
☁️ Nx Cloud last updated this comment at |
When stringifying a pnpm v9 lockfile with workspace packages, Nx crashes with: "Cannot destructure property 'specifiers' of 'projectSnapshot' as it is undefined." This occurs when: - The lockfile has a root importer with `link:` references to workspace packages - But the lockfile is missing the workspace package importer entries - The code tries to access `importers[importerPath]` which returns undefined - This undefined value gets added to the output lockfile - During serialization, it crashes when trying to destructure undefined Workspace packages with missing importers are now silently skipped during lockfile serialization. This prevents the crash and allows Nx to continue operating with out-of-sync lockfiles. The fix adds a null check before adding workspace dependency importers to the output lockfile. Closes NXC-3244
000860c to
065c8c7
Compare
Coly010
approved these changes
Oct 27, 2025
AgentEnder
approved these changes
Oct 27, 2025
FrozenPandaz
pushed a commit
that referenced
this pull request
Oct 27, 2025
…33223) When stringifying a pnpm v9 lockfile with workspace packages, Nx crashes with: "Cannot destructure property 'specifiers' of 'projectSnapshot' as it is undefined." This occurs when: - The lockfile has a root importer with `link:` references to workspace packages - But the lockfile is missing the workspace package importer entries - The code tries to access `importers[importerPath]` which returns undefined - This undefined value gets added to the output lockfile - During serialization, it crashes when trying to destructure undefined Workspace packages with missing importers are now silently skipped during lockfile serialization. This prevents the crash and allows Nx to continue operating with out-of-sync lockfiles. The fix adds a null check before adding workspace dependency importers to the output lockfile. Closes NXC-3244 (cherry picked from commit 514005a)
FrozenPandaz
pushed a commit
that referenced
this pull request
Oct 27, 2025
…33223) When stringifying a pnpm v9 lockfile with workspace packages, Nx crashes with: "Cannot destructure property 'specifiers' of 'projectSnapshot' as it is undefined." This occurs when: - The lockfile has a root importer with `link:` references to workspace packages - But the lockfile is missing the workspace package importer entries - The code tries to access `importers[importerPath]` which returns undefined - This undefined value gets added to the output lockfile - During serialization, it crashes when trying to destructure undefined Workspace packages with missing importers are now silently skipped during lockfile serialization. This prevents the crash and allows Nx to continue operating with out-of-sync lockfiles. The fix adds a null check before adding workspace dependency importers to the output lockfile. Closes NXC-3244 (cherry picked from commit 514005a)
FrozenPandaz
pushed a commit
that referenced
this pull request
Oct 27, 2025
…33223) When stringifying a pnpm v9 lockfile with workspace packages, Nx crashes with: "Cannot destructure property 'specifiers' of 'projectSnapshot' as it is undefined." This occurs when: - The lockfile has a root importer with `link:` references to workspace packages - But the lockfile is missing the workspace package importer entries - The code tries to access `importers[importerPath]` which returns undefined - This undefined value gets added to the output lockfile - During serialization, it crashes when trying to destructure undefined Workspace packages with missing importers are now silently skipped during lockfile serialization. This prevents the crash and allows Nx to continue operating with out-of-sync lockfiles. The fix adds a null check before adding workspace dependency importers to the output lockfile. Closes NXC-3244 (cherry picked from commit 514005a)
Contributor
|
This pull request has already been merged/closed. If you experience issues related to these changes, please open a new issue referencing this pull request. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
When stringifying a pnpm v9 lockfile with workspace packages, Nx crashes with: "Cannot destructure property 'specifiers' of 'projectSnapshot' as it is undefined."
This occurs when:
link:references to workspace packagesimporters[importerPath]which returns undefinedWorkspace packages with missing importers are now silently skipped during lockfile serialization. This prevents the crash and allows Nx to continue operating with out-of-sync lockfiles.
The fix adds a null check before adding workspace dependency importers to the output lockfile.
Closes NXC-3244