Monorepo
Un monorepo est un dépôt de code unique qui contient plusieurs projets logiquement distincts (applications, services, librairies partagées), par opposition à une organisation polyrepo où chaque projet vit dans son propr…
Un monorepo est un dépôt de code unique qui contient plusieurs projets logiquement distincts (applications, services, librairies partagées), par opposition à une organisation polyrepo où chaque projet vit dans son propre dépôt.
Les avantages : refactoring atomique à travers tout le code, partage facile de code et de configuration, visibilité globale, CI/CD coordonnée. Les inconvénients : taille du dépôt, complexité des outils de build qui doivent comprendre les dépendances internes pour ne rebuilder/retest que ce qui a changé.
L'écosystème JavaScript/TypeScript dispose d'outils dédiés : Turborepo, Nx, Pnpm workspaces, Yarn workspaces. Bazel et Pants couvrent les monorepos polyglottes à grande échelle (Google, Meta, Stripe, Shopify…).
