pnpm 8.0 released, the package manager

pnpm is a fast, disk space efficient package manager. It uses a content-addressable filesystem to store all files for all module directories on disk. When using npm or Yarn, if you have 100 projects using lodash, you will have 100 copies of lodash on disk, whereas with pnpm lodash will be stored in a content-addressable memory.

pnpm 8.0 is officially released, the updates are as follows:

major changes

  • End of support for Node.js 14
  • configuration update
    • auto-install-peers: enabled by default
    • dedupe-peer-dependents: Enabled by default.
    • resolve-peers-from-workspace-root: Enabled by default.
    • save-workspace-protocol: The default setting is rolling.
    • resolution-mode: The default setting is lowest-direct.
    • publishConfig.linkDirectory: Enabled by default.
  • Modification of Lockfile
    • Lockfile v6 is adopted. This new format improves the readability of Lockfiles by removing the hash from the bundle ID. It also does some rearranging of the fields in importersthe section . New pnpm-lock.yamlfiles are more resistant to git merge conflicts
    • The registry pnpm-lock.yamlfield resolutionis removed from the object in it.
    • Even for projects with no dependencies, a Lockfile is generated.
  • other changes
    • When therepackage.json is filesa field in it, only the files listed in it will be deployed. The same logic applies to injecting packages. This behavior can be changed by [deploy-all-files](<https://pnpm.io/8.x/npmrc#deploy-all-files>)setting thetrue
    • Direct dependencies are removed. If a dependency exists in both the project and the workspace root, it will only be linked against the workspace root.
  • pnpm v7 support
    • pnpm v7 probably won't get any new features after that, but it will continue to get bugfixes for a few months and bugfixes for at least a year.

For more details, please check: https://github.com/pnpm/pnpm/releases/tag/v8.0.0

 

Guess you like

Origin www.oschina.net/news/234492/pnpm-8-0-released