npm pnpm 11.0.0-alpha.0
pnpm 11 Alpha 0

latest releases: 11.0.0-dev.1003, 11.0.0-dev.1002, 11.0.0-dev.1001...
16 hours ago

Major Changes

  • pnpm config get (without --json) no longer print INI formatted text.
    Instead, it would print JSON for both objects and arrays and raw string for
    strings, numbers, booleans, and nulls.
    pnpm config get --json would still print all types of values as JSON like before.

  • pnpm config list and pnpm config get (without argument) now hide auth-related settings.

  • This package is now pure ESM.

  • pnpm no longer loads non-auth and non-registry settings from rc files. Other settings must be defined in pnpm-workspace.yaml.

  • The pnpm CLI now gets installed with a specific version of Node.js, which it uses for its runtime. This makes pnpm more stable and it doesn't rely on your globally install Node.js anymore.

  • Node.js v18 and 19 support discontinued.

  • pnpm config get <array> now prints a JSON array.

  • The default value of the type field in the package.json file of the project initialized by pnpm init command has been changed to module.

  • pnpm config list and pnpm config get (without argument) now show top-level keys as camelCase.
    Exception: Keys that start with @ or // would be preserved (their cases don't change).

  • The standalone exe version of pnpm requires at least glibc 2.27.

  • pnpm config list now prints a JSON object instead of INI formatted text.

  • pnpm config get and pnpm config list no longer load non camelCase options from the workspace manifest (pnpm-workspace.yaml).

  • JSON files in the store and cache are replaced with binary files generated with v8.serialize.

    Reading and deserializing a binary file generated with v8.serialize appears to be about 23% faster than reading and parsing a JSON file. Other operations are similar in speed. Therefore, we have switched to V8 binary files for storing data in pnpm’s global store and cache. The disadvantage of this approach is that V8 files generated by newer versions of Node.js cannot be deserialized by older versions. In such cases, we ignore the cache.

    Related PR: #9971.

Minor Changes

  • Load environment variables whose names start with pnpm_config_ into config. These environment variables override settings from pnpm-workspace.yaml but not the CLI arguments.

  • Add support for a global YAML config file named config.yaml.

    Now configurations are divided into 2 categories:

    • Registry and auth settings which can be stored in INI files such as global rc and local .npmrc.
    • pnpm-specific settings which can only be loaded from YAML files such as global config.yaml and local pnpm-workspace.yaml.
  • Added support for pnpmfiles written in ESM. They should have the .mjs extension: .pnpmfile.mjs #9730.

Patch Changes

  • Explicitly tell npm the path to the global rc config file.

Platinum Sponsors

Bit

Gold Sponsors

Discord CodeRabbit Workleap
Stackblitz Vite

Don't miss a new pnpm release

NewReleases is sending notifications on new releases.