Turborepo

Advanced Ecosystem 🟡 Mid

Définition

Outil de build incrémental pour monorepos créé par Vercel : il met en cache les sorties des tâches et n'exécute que ce qui a changé. Turborepo 2.0, publié le 4 juin 2024, renommé la clé « pipeline » de turbo.json en « tasks », passe sous licence MIT, ajoute un mode watch et une interface terminal interactive ; la migration se fait avec npx @turbo/codemod migrate.

Analogie

Un chef cuisinier qui ne recuit que les plats dont les ingrédients ont changé, servant les autres depuis le frigo.

Exemple de code

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

Cas d'usage

Accélérer les builds CI/CD d'un monorepo en ne rebuild que les packages modifiés.

Anti-pattern

Ne pas activer le cache distant en CI, ou garder une clé « pipeline » : Turborepo 2 exige « tasks ».
#tooling#monorepo#performance

Fiche mise à jour le 2026-09-27

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