pnpm est un gestionnaire de paquets rapide et économe en espace disque. Il utilise un système de fichiers adressable par le contenu pour stocker tous les fichiers de tous les répertoires de module sur le disque. Lorsque vous utilisez npm ou Yarn, si vous avez 100 projets qui utilisent lodash, vous aurez 100 copies de lodash sur disque, alors qu'avec pnpm, lodash sera stocké dans une mémoire adressable par le contenu.
pnpm 8.0 est officiellement sorti, les mises à jour sont les suivantes :
changements majeurs
- Fin du support de Node.js 14
- mise à jour de la configuration
auto-install-peers
: activé par défautdedupe-peer-dependents
: Activé par défaut.resolve-peers-from-workspace-root
: Activé par défaut.save-workspace-protocol
: Le paramètre par défaut estrolling
.resolution-mode
: Le paramètre par défaut estlowest-direct
.publishConfig.linkDirectory
: Activé par défaut.
- Modification du fichier de verrouillage
- Lockfile v6 est adopté. Ce nouveau format améliore la lisibilité des fichiers de verrouillage en supprimant le hachage de l'ID du bundle. Il réorganise également les champs de
importers
la section . Les nouveauxpnpm-lock.yaml
fichiers sont plus résistants aux conflits de git merge - Le
pnpm-lock.yaml
champresolution
est supprimé de l'objet qu'il contient. - Même pour les projets sans dépendances, un Lockfile est généré.
- Lockfile v6 est adopté. Ce nouveau format améliore la lisibilité des fichiers de verrouillage en supprimant le hachage de l'ID du bundle. Il réorganise également les champs de
- autres changements
- Lorsqu'il
package.json
contientfiles
un champ, seuls les fichiers qui y sont répertoriés seront déployés. La même logique s'applique à l'injection de packages. Ce comportement peut être modifié en[deploy-all-files](<https://pnpm.io/8.x/npmrc#deploy-all-files>)
définissant letrue
- Les dépendances directes sont supprimées. Si une dépendance existe à la fois dans le projet et dans la racine de l'espace de travail, elle ne sera liée qu'à la racine de l'espace de travail.
- Lorsqu'il
- Prise en charge de pnpm v7
- pnpm v7 n'obtiendra probablement aucune nouvelle fonctionnalité après cela, mais il continuera à recevoir des corrections de bogues pendant quelques mois et des corrections de bogues pendant au moins un an.
Pour plus de détails, veuillez consulter : https://github.com/pnpm/pnpm/releases/tag/v8.0.0