Skip to content
Latchkey

Nx vs Lerna: qual ferramenta de monorepo para CI?

Nx é uma plataforma de build de monorepo completa com cache e execuções afetadas; Lerna foca em versionamento e publicação - e o Lerna moderno roda sobre o Nx por baixo.

Nx é um sistema de monorepo rico em recursos com um grafo de tasks, cache de computação (local e remoto), generators e plugins. Lerna gerencia versionamento e publicação de monorepo; desde que o time do Nx assumiu, o Lerna moderno usa o Nx para a execução de tasks.

NxLerna
EscopoPlataforma de build (cache, plugins)Versionamento + publicação
Cache de task/computaçãoSim (local + remoto)Via Nx (Lerna moderno)
Execuções afetadasSim (nx affected)Sim (via Nx)
PublicaçãoExterna / pluginsRecurso central
RelaçãoAlimenta o Lerna modernoConstruído sobre o Nx agora

No CI

Para cache, o grafo de tasks e execuções apenas do que foi afetado, o Nx é o motor - e o Lerna moderno já o usa por baixo. A força distinta do Lerna continua sendo o versionamento e a publicação coordenados. Muitos times usam Nx para tasks de CI rápidos e Lerna para releases, ou Nx sozinho com um passo de publicação separado. Eles cooperam mais do que competem agora.

Acelere

Habilite o cache remoto do Nx entre jobs de CI e restrinja aos projetos afetados - o maior ganho de velocidade. Tasks que ainda rodam em um cache miss executam em runners de CI; runners gerenciados mais rápidos encurtam essas.

O veredito

Quer uma plataforma de build de monorepo completa com cache e execuções afetadas: Nx. Precisa de versionamento e publicação coordenados: Lerna (que agora roda sobre o Nx). Muitos monorepos usam Nx para tasks e Lerna para releases.

Guias relacionados