Lerna

Advanced Ecosystem 🟡 Mid

Definition

Outil historique de gestion de monorepos JS pour le versioning et la publication de packages NPM. Désormais maintenu par Nx avec cache et graphe de tâches intégrés.

Analogie

Un éditeur de livres qui gère les versions et la publication coordonnée de toute une collection.

Exemple de code

// lerna.json
{
  "version": "independent",
  "npmClient": "pnpm",
  "command": {
    "publish": { "conventionalCommits": true }
  }
}

Cas d'usage

Publier et versionner des packages NPM interdépendants depuis un monorepo avec changelog automatique.

Anti-pattern

Utiliser Lerna seul sans Nx ou Turborepo pour le caching, subissant des builds lents.
#tooling#monorepo#npm