Back to catalog

managing-dependencies

Manages npm dependencies (audit, updates, breaking changes, lockfile). Use before releases, after adding packages, or monthly for maintenance

  • Category: discovered
  • Tags: github, community
  • Version: 1.0.0
  • Author: walid
  • Downloads: 0
  • GitHub stars: 1
  • Updated: 2025-11-21

Download the latest version (v1.0.0) from this page.

SKILL.md

---
name: managing-dependencies
description: Manages npm dependencies (audit, updates, breaking changes, lockfile). Use before releases, after adding packages, or monthly for maintenance
allowed-tools: Read, Grep, Glob, Bash
---

# Gestion des Dépendances

Gère dépendances npm de manière sécurisée (audit, mises à jour, lockfile).

## Table des matières

- [Quand utiliser](#quand-utiliser)
- [Scripts npm](#scripts-npm)
- [Workflows essentiels](#workflows-essentiels)
- [Gestion vulnérabilités](#gestion-vulnérabilités)
- [Migrations majeures](#migrations-majeures)
- [Bonnes pratiques](#bonnes-pratiques)
- [Checklist](#checklist)
- [En cas de doute](#en-cas-de-doute)

## 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 à jour
- `npm update` - Update patches/minors
- `npm 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 :**

1. Lire CHANGELOG (breaking changes)
2. Estimer impact code
3. Créer branche dédiée

**Exécution :**

1. Update package.json
2. Adapter code aux breaking changes
3. Corriger erreurs TS/ESLint
4. 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 audit` sans CRITICAL/HIGH
- [ ] `npm outdated` vé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 :**

1. `npm audit` AVANT release obligatoire
2. Tester APRÈS mise à jour
3. Jamais ignorer lockfile
4. CHANGELOG pour majors
5. CRITICAL/HIGH fix immédiat

**Workflow mensuel :**

```bash
npm outdated
npm audit
npm update
npm test
```

**Workflow avant release :**

```bash
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