| name | Gestion des Dépendances |
| description | Gestion des dépendances npm (audit, mises à jour, breaking changes, lockfile). Utiliser avant release, après ajout packages, ou mensuellement pour maintenance |
Gestion des Dépendances
Gère dépendances npm de manière sécurisée (audit, mises à jour, lockfile).
Quand utiliser
- Avant chaque release production
- Après ajout nouvelles dépendances
- Mensuellement maintenance proactive
- Quand vulnérabilités signalées
- Migrations versions majeures
Scripts npm
npm audit- Vue d'ensemble sécuriténpm audit --json- Rapport détaillénpm audit fix- Fix auto (patch/minor)npm outdated- Packages à mettre à journpm update- Update patches/minorsnpm ls/npm ls --depth=0- Arbre dépendances
Workflows essentiels
Audit sécurité :
- CRITICAL/HIGH → Corriger immédiatement
- MODERATE → Corriger avant release
- LOW → Corriger quand possible
Types mises à jour (SemVer) :
- Patch (1.0.x) → Bugs, sécurisé
- Minor (1.x.0) → Features, rétrocompatible
- Major (x.0.0) → Breaking, nécessite tests
Stratégie :
- Patches → Auto si tests passent
- Minors → Manuel vérification
- Majors → Manuel migration plan
Lockfile :
- Garantit versions exactes
- Commit toujours avec package.json
- Désynchronisé →
npm install - Conflit merge → Résoudre +
npm install
Gestion vulnérabilités
Critiques/Hautes : Fix immédiat, tester, déployer rapidement
Sans fix : Package alternatif, fork + patch, monitorer, désactiver si possible
Packages deprecated : Chercher alternatives maintenues, planifier migration
Migrations majeures
Préparation :
- Lire CHANGELOG (breaking changes)
- Estimer impact code
- Créer branche dédiée
Exécution :
- Update package.json
- Adapter code aux breaking changes
- Corriger erreurs TS/ESLint
- Tests exhaustifs
Validation :
- Tests passent
- Lighthouse score OK
- Performance stable
- Pas régressions visuelles
Bonnes pratiques
Do's :
- Commit lockfile toujours
- Audit hebdomadaire minimum
- Tests après update
- Un update à la fois
- Lire CHANGELOG majors
- Respecter SemVer
Don'ts :
- Pas
npm install --force(sauf urgence) - Pas updates aveugles
- Pas lockfile .gitignore
- Pas updates avant release
- Pas dépendances non maintenues
Checklist
-
npm auditsans CRITICAL/HIGH -
npm outdatedvérifié - Lockfile synchronisé
- Tests passent après update
- Build OK
- Performance stable
- Pas deprecated packages
- CHANGELOG lu (majors)
- Lockfile committé
En cas de doute
Règles absolues :
npm auditAVANT release obligatoire- Tester APRÈS mise à jour
- Jamais ignorer lockfile
- CHANGELOG pour majors
- CRITICAL/HIGH fix immédiat
Workflow mensuel :
npm outdated
npm audit
npm update
npm test
Workflow avant release :
npm audit --audit-level=moderate
npm outdated
npm test
npm run build
Références :
- package.json - Versions actuelles
- package-lock.json - Lockfile
- npm docs - Documentation