pnpm Workspaces

Advanced Ecosystem 🟡 Mid

Définition

Fonctionnalité native de pnpm pour gérer un monorepo avec symlinks et content-addressable store. Économise l'espace disque en partageant les dépendances identiques.

Analogie

Une bibliothèque partagée où chaque bureau a un raccourci vers le livre au lieu d'une copie complète.

Exemple de code

# pnpm-workspace.yaml
packages:
  - 'apps/*'
  - 'packages/*'
# Using workspace protocol
{ "dependencies": { "@myorg/ui": "workspace:*" } }

Cas d'usage

Structurer un monorepo avec gestion efficace des dépendances partagées et résolution rapide.

Anti-pattern

Utiliser npm/yarn classique dans un monorepo avec duplication massive des node_modules.
#tooling#monorepo

Dans l'actu

  • 18/09 pnpm 12.5.0 fait de Python un écosystème de première classe : pnpm install sélectionne (et télécharge au besoin) l'interpréteur Python par projet, stocké dans le store, et pnpm add accepte les Package URLs multi-écosystèmes (pkg:npm/[email protected], pkg:pypi/[email protected]). Semaine 38 · 14 – 20 septembre 2026 →
  • 26/08 pnpm 12.0 est publié : réécriture de pnpm en Rust, bins globaux conscients de la version de Node/Deno/Bun pinée par le projet, capacité d'installer npm, Yarn et Bun, révisions de registre (tarballs de remplacement), cache distant… Bilan août 2026 →

← → au clavier pour passer d'une fiche à l'autre