Qu'est-ce que Monorepo
Dépôt unique pour tous les projets
Monorepo est une stratégie de gestion de code où plusieurs projets sont stockés dans un seul dépôt.
Avantages
- Base de code unifiée
- Modifications atomiques entre projets
- Réutilisation du code
- Gestion des dépendances simplifiée
- Standards et linters unifiés
Outils
- Nx — pour Angular, React, Node.js
- Turborepo — par Vercel
- Lerna — pour les packages npm
- Bazel — par Google
- Rush — par Microsoft
Exemples d'Entreprises
- Google (tout le code dans un repo)
- Meta (Facebook, Instagram)
- Microsoft (Windows)
- Uber
Quand Utiliser
- Microservices d'une équipe
- Frontend + backend + bibliothèques partagées
- Plusieurs produits liés