From c1383044d18c70b430b8a6fbee1ef745aefc09cc Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Tue, 25 Jan 2022 16:38:30 +0200 Subject: [PATCH] fix(core): don't try to read the name prop of manifest that is null --- .changeset/hungry-pens-know.md | 5 +++++ packages/core/src/install/index.ts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changeset/hungry-pens-know.md diff --git a/.changeset/hungry-pens-know.md b/.changeset/hungry-pens-know.md new file mode 100644 index 0000000000..695f0f7f2a --- /dev/null +++ b/.changeset/hungry-pens-know.md @@ -0,0 +1,5 @@ +--- +"@pnpm/core": patch +--- + +Fixed an exception that was caused by reading the name property from a manifest that was not defined. diff --git a/packages/core/src/install/index.ts b/packages/core/src/install/index.ts index 6a2811e933..32f27690ac 100644 --- a/packages/core/src/install/index.ts +++ b/packages/core/src/install/index.ts @@ -873,10 +873,14 @@ const _installInContext: InstallFunction = async (projects, ctx, opts) => { await Promise.all( directPkgs.map(async (dep) => { const manifest = await dep.fetchingBundledManifest?.() ?? await safeReadProjectManifestOnly(dep.dir) + let nodeExecPath: string | undefined + if (manifest?.name) { + nodeExecPath = project.manifest.dependenciesMeta?.[manifest.name]?.node + } return { location: dep.dir, manifest, - nodeExecPath: project.manifest.dependenciesMeta?.[manifest!.name!]?.node, + nodeExecPath, } }) )