P

pnpm

Outils de build & Runtime · Depuis 2017

2017

Creation

Package manager Node.js qui utilise un content-addressable store partage pour eviter la duplication de packages sur le disque. Economise 50-70% d'espace disque par rapport a npm et installe les deps 2-3x plus vite grace aux hard links. Son node_modules strict empeche l'acces aux dependances non declarees (phantom dependencies), forcant un package.json correct.

package-managerefficientfast
Avantages & Inconvenients

Avantages

  • Economise 50-70% d'espace disque grace au content-addressable store partage
  • Installations 2-3x plus rapides que npm grace aux hard links (pas de copie)
  • node_modules strict : empeche l'import de phantom dependencies non declarees

Inconvenients

  • Symlinks/hard links peuvent poser probleme avec certains outils (Docker COPY, esbuild)
  • Adoption moindre que npm : certains guides et templates ne supportent que npm/yarn
  • Workspace protocol (workspace:*) non compatible avec la publication npm directe
Cas d'usage
  • Monorepos avec pnpm workspaces (alternative a Lerna/Nx pour la gestion des packages)
  • CI/CD optimise : cache pnpm store entre les builds pour des installs en <5s
  • Projets avec +500 dependances ou l'espace disque et la vitesse comptent

Autres dans Outils de build & Runtime