Skip to content

pnpm dlx attempts to read project manifest in 10.6.x #9263

@collinsauve

Description

@collinsauve

Last pnpm version that worked

10.5.2

pnpm version

10.6.1

Code to reproduce the issue

Run a dlx command that includes --allow-build:

pnpm --allow-build=core-js --package=hello-world-npm dlx hello-world-npm

Expected behavior

Outputs "Hello World NPM"

Actual behavior

Receive the following error:

ERR_INVALID_ARG_TYPE  The "path" argument must be of type string. Received undefined

pnpm [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at Object.join (node:path:1268:7)
    at tryReadProjectManifest (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:13211:45)
    at readProjectManifest (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:13199:29)
    at createProjectManifestWriter (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:134112:96)
    at Object.handler (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188972:106)
    at Object.handler [as dlx] (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:210803:50)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async /usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:221052:23
    at async main (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:221010:34)
    at async runPnpm (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:221277:5)

Additional information

Looks like pnpm is attempting to read the project manifest when using dlx, but only when using allow-build.

I have put together an easy reproduction in various Dockerfiles at:

https://github.com/collinsauve/pnpm-dlx-manifest

Node.js version

22.14.0

Operating System

Linux

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions