npm
Testing 🟢 JuniorDéfinition
Node Package Manager, le gestionnaire de paquets par défaut de Node.js. Gère les dépendances, les scripts et le registre de packages le plus vaste au monde.
Analogie
Comme un supermarché géant ou vous trouvez tous les ingrédients (packages) pour votre recette (projet).
Exemple de code
npm init -y # creer package.json
npm install express # ajouter une dep
npm install -D jest # dep de dev
npm run test # lancer un script
npm ci # install propre en CI
npm audit # scanner les vulns
Cas d'usage
Comme gestionnaire de paquets standard pour tout projet Node.js, surtout en CI avec npm ci.
Anti-pattern
Utiliser npm install en CI au lieu de npm ci, risquant des installations non reproductibles.
Termes liés
Dans l'actu
- 07/10 Node.js 26.11.0 (Current) : node:sqlite gagne le support des tables virtuelles via createModule(), le module http ajoute isValidHeaderName() et isValidHeaderValue(), process.ref/unref passent stables, npm monte en 11.20.0 et Alpine Linux passe en support tier 2. Semaine 41 (1re moitié) · 5 – 7 octobre 2026 →
- 03/10 pnpm 12.9.1 déporte les builds WebAssembly dans un paquet séparé @pnpm/wasm : le paquet npm principal passe d'environ 55 Mo à environ 4 Mo décompressé, et l'exécutable perd ~10 % (45,1 → 40,3 Mo sur macOS arm64). Semaine 40 (2e moitié) · 1er – 4 octobre 2026 →
- 30/09 Le trusted publishing de npm (via OIDC) peut maintenant gérer les dist-tags (`latest`, `next`, `beta`) avec des identifiants à courte durée de vie. Semaine 40 (1re moitié) · 28 – 30 septembre 2026 →
- 22/09 L'attaque supply chain « GHAPPIER » est rendue publique : le 9 septembre, en 105 minutes, un attaquant a compromis un compte mainteneur, réécrit un workflow de release et publié le paquet npm @dforge-core/dforge-mcp 0.2.21 empoisonné (loader en 4 étapes auto-effaçant), touchant 65 dépôts GitHub sur 22 comptes. Semaine 39 · 21 – 27 septembre 2026 →
- 30/09 Le trusted publishing de npm (OIDC) gère désormais les dist-tags (`latest`, `next`…) avec des identifiants à courte durée de vie, via la permission « Allow npm dist-tag » désactivée par défaut : plus besoin d'un token longue durée pour promouvoir ou faire un rollback. Bilan septembre 2026 →