Ce qui se passe
pnpm 12 est une réécriture complète du gestionnaire de paquets en Rust. Les commandes et les réglages restent rétrocompatibles ; ce sont les temps d'installation qui changent d'échelle.
L'équipe Turborepo, chez Vercel, a mesuré sous Linux des gains de 64 à 90 % face à pnpm 10.28. Corepack démarre 74 % plus vite avec un cache rempli, mais 11 % plus lentement avec un cache vide. Les testeurs préviennent : d'autres systèmes d'exploitation, avec d'autres méthodes de liens, donneront d'autres résultats.
Le réglage packageImportMethod: auto privilégie désormais les liens durs sous
Linux, ce qui divise par deux les temps d'installation sous btrfs — sans
bénéfice sur ext4.
Les deux ruptures à connaître
Plus de SSH. GitHub, GitLab et Bitbucket ne sont plus joignables qu'en HTTP. Pour un dépôt privé, il faut passer par la réécriture d'URL de git :
git config --global url."git@github.com:".insteadOf https://github.com/Plus de tolérance sur la configuration. Une clé inconnue dans
pnpm-workspace.yaml n'est plus ignorée en silence : elle lève désormais
ERR_PNPM_UNRECOGNIZED_WORKSPACE_SETTINGS. Au passage, l'option
pnpm install --resolution-only disparaît.
Ce qui s'ajoute
pnpm 12 sait piloter les autres gestionnaires — npm, Yarn Classic, Yarn Berry,
Yarn 6 et Bun — au lieu de les installer. pnpm add yarn n'installe plus le
paquet Yarn dans le système : il enregistre Yarn comme packageManager pour
l'utiliser ensuite comme outil pnpm.
devEngines.runtime permet en outre de fixer une version locale de Node, Deno ou
Bun par projet, tout en gardant la version globale ailleurs.
À retenir
- Le gain de vitesse est réel mais dépend du système de fichiers : mesurez chez vous avant d'annoncer un chiffre à l'équipe.
- C'est le SSH qui cassera vos pipelines et vos images de build, pas la vitesse. Testez sur une branche.
- Une mise à jour 12.1 a suivi de peu ; le projet publie une page dédiée aux écarts avec la version 11.
Source : heise Developer