L'année 2022 pour pnpm
C'est la fin de l'année. Une année vraiment difficile. Comme vous le savez peut-être, je vis en Ukraine, donc en raison de l'invasion russe contre nous, il était plus difficile de diriger ce projet comparé aux années précédentes. Néanmoins, ce fut une bonne année pour pnpm. Nous avons eu beaucoup de nouveaux utilisateurs, contributeurs, et nous avons implément é de nombreuses fonctionnalités intéressantes.
(l'illustration ci-dessus a été générée par Midjourney. Le tigre symbolise l'année du tigre)
Utilisation
Statistiques de téléchargement
Mon objectif cette année était de battre Lerna en nombre de téléchargements. Nous avons pu atteindre cet objectif en août :
pnpm a été téléchargé plus de 5 fois plus en 2022 qu'en 2021 :
Visites des documents
Nous recueillons des statistiques non personnalisées sur nos documentations à l'aide de Google Analytics. En 2022, nous avions parfois eu plus de 20 000 visiteurs uniques par semaine. C'est 10 fois plus qu'en 2021 !
Étoiles GitHub
Notre dépot GitHub principal a presque reçu plus de 7 000 étoiles cette année.
Nos contributeurs
Nous avons eu beaucoup de contributeurs nouveux et actifs cette année. Voici les personnes qui ont eu au moins une PR d'intégrée dans pnpm en 2022 :
- Zoltan Kochan
- chlorine
- await-ovo
- Brandon Cheng
- Dominic Elm
- MCMXC
- 那里好脏不可以
- Homyee King
- Shinobu Hayashi
- Black-Hole
- Kenrick
- Weyert de Boer
- Glen Whitney
- Cheng
- zoomdong
- thinkhalo
- 子瞻 Luci
- spencer17x
- liuxingbaoyu
- 장지훈
- Jon de la Motte
- Jack Works
- milahu
- David Collins
- nikoladev
- Igor Bezkrovnyi
- Lev Chelyadinov
- javier-garcia-meteologica
Fonctionnalités marquantes
Support d'un node_modules
standard sans liens symboliques (depuis la v6.25.0)
Dès le début de 2022, nous avons ajouté la prise en charge du "traditionnel" node_modules
(aussi appelé node_modules
plat). Nous utilisons l'algorithme de hissage de Yarn pour créer un node_modules
plat correct. Cette nouvelle fonctionnalité a essentiellement rendu pnpm compatible avec toutes les piles Node.js qui sont compatibles avec la CLI npm.
Pour utiliser la structure de node_modules
plat, utilisez le paramètre node-linker=hoisted
dans un fichier .npmrc
.
Cache d'effets secondaires (depuis la v7.0.0)
Depuis la v7, le cache d'effets secondaires (side-effect-cache) est activé par défaut. Les dépendances qui doivent être compilées ne le sont donc qu'une seule fois sur une machine. Cela améliore considérablement la vitesse d'installation dans les projets qui ont des dépendances avec des scripts de compilation.
Correction des dépendances (depuis la v7.4.0)
La commande pnpm patch
a été ajoutée pour corriger les dépendances dans votre node_modules
.
Stratégie de résolution basée sur le temps (depuis la v7.10.0)
Un nouveau mode de résolution a été ajouté à pnpm, ce qui devrait rendre plus sécurisée la mise à jour de dépendances. Vous pouvez changer le mode de résolution avec le paramètre resolution-mode.
Liste des licences des dépendances (depuis la v7.17.0)
Vous pouvez maintenant utiliser la commande pnpm licences list
pour afficher les licences des dépendances installées.