O que é Monorepo
Repositório único para todos os projetos
Monorepo é uma estratégia de gerenciamento de código onde múltiplos projetos são armazenados em um único repositório.
Benefícios
- Base de código unificada
- Mudanças atômicas entre projetos
- Reutilização de código
- Gerenciamento de dependências simplificado
- Padrões e linters unificados
Ferramentas
- Nx — para Angular, React, Node.js
- Turborepo — da Vercel
- Lerna — para pacotes npm
- Bazel — do Google
- Rush — da Microsoft
Empresas de Exemplo
- Google (todo código em um repo)
- Meta (Facebook, Instagram)
- Microsoft (Windows)
- Uber
Quando Usar
- Microsserviços de uma equipe
- Frontend + backend + bibliotecas compartilhadas
- Múltiplos produtos relacionados