Change8

v10.14.0

📦 pnpmView on GitHub →
2 features🐛 6 fixes🔧 5 symbols

Summary

This release adds JavaScript runtime installation support and new CLI flags for architecture selection, plus several bug fixes and integrity improvements.

Migration Steps

  1. To use the new JavaScript runtime installation, add a devEngines.runtime object to your package.json with name, version range, and onFail set to "download".
  2. If you rely on previous Node-only settings (useNodeVersion or executionEnv.nodeVersion), migrate to devEngines.runtime for Deno/Bun support or version ranges.
  3. No other migration required.

✨ New Features

  • Added support for JavaScript runtime installation via devEngines.runtime in package.json, allowing pnpm to download and pin Node.js, Deno, or Bun runtimes automatically.
  • Added CLI flags --cpu, --libc, and --os to pnpm install, pnpm add, and pnpm dlx to customize supportedArchitectures.

🐛 Bug Fixes

  • Fixed bug where pnpm add downloaded packages whose libc differed from pnpm.supportedArchitectures.libc.
  • Verified integrity of downloaded Node.js artifacts.
  • Allowed dlx to parse CLI flags and options placed between the dlx command and the command to run or between dlx and '--'.
  • Fixed pnpm install --prod to correctly remove hoisted dev dependencies.
  • Fixed edge case where local tarballs were not re-linked into the virtual store after content changes without renaming the file during a filtered install.
  • Fixed bug where pnpm install incorrectly assumed the lockfile was up to date after changing a local tarball that has peer dependencies.

🔧 Affected Symbols

devEngines.runtimepnpm.installpnpm.addpnpm.dlxpnpm.supportedArchitectures