Pular para o conteúdo principal

pnpm 10.14

· Leitura de 2 minutos
Zoltan Kochan
Lead maintainer of pnpm

Added support for JavaScript runtime installation

Declare Node.js, Deno, or Bun in devEngines.runtime (inside package.json) and let pnpm download and pin it automatically.

Exemplos de uso:

{
"devEngines": {
"runtime": {
"name": "node",
"version": "^24.4.0",
"onFail": "download" // we only support the "download" value for now
}
}
}

How it works:

  1. pnpm install resolves your specified range to the latest matching runtime version.
  2. The exact version (and checksum) is saved in the lockfile.
  3. Scripts use the local runtime, ensuring consistency across environments.

Why this is better:

  1. This new setting supports also Deno and Bun (vs. our Node-only settings useNodeVersion and executionEnv.nodeVersion)
  2. Supports version ranges (not just a fixed version).
  3. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity.
  4. It can be used on any workspace project (like executionEnv.nodeVersion). So, different projects in a workspace can use different runtimes.
  5. For now 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.

Other new features

  • Added --cpu, --libc, and --os to pnpm install, pnpm add, and pnpm dlx to customize supportedArchitectures via the CLI #7510.

Bug Fixes

  • Fix a bug in which pnpm add downloads packages whose libc differ from pnpm.supportedArchitectures.libc.
  • The integrities of the downloaded Node.js artifacts are verified #9750.
  • Allow 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.
  • Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install.
  • Fix a bug causing pnpm install to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies.

O ano de 2022 para o pnpm

· Leitura de 3 minutos
Zoltan Kochan
Lead maintainer of pnpm

É o final do ano. Um ano muito difícil. Como você deve saber, moro na Ucrânia, então devido à guerra da Rússia contra nós, foi mais difícil liderar este projeto do que nos anos anteriores. Ainda assim, foi um bom ano para o pnpm. Temos muitos novos usuários, colaboradores e implementamos muitos recursos excelentes.

(a ilustração acima foi gerada pela Midjourney. O tigre simboliza o ano do tigre)

O ano de 2021 para pnpm

· Leitura de 3 minutos
Zoltan Kochan
Lead maintainer of pnpm

Estamos no final do ano e foi um bom ano para o pnpm, vamos ver como foi.

Opções de configuração com pnpm

· Leitura de 2 minutos
Zoltan Kochan
Lead maintainer of pnpm

Existem diversas maneiras de criar um diretório node_modules. Seu objetivo deve ser criar o mais estrito, mas caso não seja possível, há opções para criar um node_modules solto também.

node_modules planos não são a única maneira

· Leitura de 3 minutos
Zoltan Kochan
Lead maintainer of pnpm

Novos usuários do pnpm frequentemente me perguntam acerca da estranha estrutura do node_modules que o pnpm cria. Por que não é plano? Onde estão todas as sub-dependências?