Principaux changements de pnpm 11
- Node.js 22+ requis : la version 22 ou supérieure de Node.js est désormais obligatoire. La prise en charge de Node 18, 19, 20 et 21 a été abandonnée. Pour le fichier autonome (standalone),
glibc 2.27 ou version ultérieure est requis.
- Protection de la chaîne d’approvisionnement activée par défaut : pour renforcer la sécurité, la valeur par défaut de
minimumReleaseAge est définie sur 1440 (1 jour). (Les paquets nouvellement publiés ne peuvent être installés qu’après 24 heures.) De plus, blockExoticSubdeps passe par défaut à true.
- Introduction de
allowBuilds : les paramètres de build auparavant complexes (onlyBuiltDependencies, onlyBuiltDependenciesFile, neverBuiltDependencies, ignoredBuiltDependencies, ignoreDepScripts) sont tous supprimés et gérés de façon unifiée via allowBuilds.
- Isolation des installations globales : lors d’une installation via
pnpm add -g, chaque paquet est installé dans un répertoire indépendant avec son propre package.json, node_modules et lockfile. Cela évite les conflits de dépendances entre paquets globaux.
- Index du store basé sur SQLite (Store v11) : SQLite a été adopté pour la gestion de l’index afin de réduire les appels système et d’améliorer considérablement la vitesse d’installation.
- Flux de publication natif : les commandes
pnpm publish, login, logout, view, deprecate, unpublish, dist-tag et version fonctionnent désormais nativement dans pnpm sans dépendre de la CLI npm.
- Rôle limité de
.npmrc : désormais, .npmrc est utilisé uniquement pour l’authentification (auth) et les paramètres de registre. Tous les autres réglages doivent être déplacés vers pnpm-workspace.yaml ou le nouveau config.yaml global, et le préfixe des variables d’environnement devient pnpm_config_*.
Aucun commentaire pour le moment.