Monorepo Tools

Testing 🔴 Senior

Définition

Outils pour gérer plusieurs packages/apps dans un seul repo (Turborepo, Nx, Lerna). Offrent caching, parallélisme et graphes de dépendances intelligents.

Analogie

Comme un chef de chantier qui coordonne plusieurs équipes sur un même site : il optimise l'ordre des travaux et évite les doublons.

Exemple de code

// turbo.json (Turborepo 2 : "tasks" remplace "pipeline")
{
  "$schema": "https://turborepo.dev/schema.json",
  "tasks": {
    "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
    "test":  { "dependsOn": ["build"] },
    "dev":   { "cache": false, "persistent": true }
  }
}

Cas d'usage

Pour les organisations avec plusieurs packages partageant du code (design system, shared utils, apps).

Anti-pattern

Utiliser un monorepo sans outil de gestion, rebuilder tout le repo a chaque changement.
#tooling#architecture#senior

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre