no notes
no notes
Added support for JavaScript runtime resolution
Declare Node.js, Deno, or Bun in devEngines.runtime (inside package.json) and let pnpm download and pin it automatically.
Usage example:
{
"devEngines": {
"runtime": {
"name": "node",
"version": "^24.4.0",
"onFail": "download" // we only support the "download" value for now
}
}
}
How it works:
pnpm install resolves your specified range to the latest matching runtime version.Why this is better:
useNodeVersion and executionEnv.nodeVersion)executionEnv.nodeVersion). So, different projects in a workspace can use different runtimes.devEngines.runtime setting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer.Related PR: #9755.
Add --cpu, --libc, and --os to pnpm install, pnpm add, and pnpm dlx to customize supportedArchitectures via the CLI #7510.
pnpm add downloads packages whose libc differ from pnpm.supportedArchitectures.libc.dlx to parse CLI flags and options between the dlx command and the command to run or between the dlx command and -- #9719.pnpm install --prod should removing hoisted dev dependencies #9782.pnpm install to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies.