Lerna
Advanced Ecosystem 🟡 MidDefinition
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.