Rollup vs esbuild para CI: qualidade de saída vs velocidade pura
No CI o trade-off é velocidade vs saída: o esbuild faz bundle mais rápido, o Rollup produz uma saída altamente otimizada com um ecossistema de plugins mais rico.
O Rollup é um bundler maduro, preferido para bibliotecas e saída com tree-shaking. O esbuild (Go) é valorizado pela velocidade pura. Notavelmente, o Vite usa esbuild em dev e Rollup para builds de produção, então muitos times usam os dois indiretamente.
| Rollup | esbuild | |
|---|---|---|
| Velocidade | Mais lento | Muito mais rápido |
| Otimização de saída | Excelente (tree-shaking) | Muito boa, menos ajustes |
| Ecossistema de plugins | Grande, maduro | Menor |
| Melhor para | Bibliotecas, saída ajustada | Apps, builds críticos em velocidade |
| Complexidade de config | Maior | Menor |
Em CI
O esbuild minimiza o tempo de build, ideal quando você faz bundle com frequência e quer o pipeline mais curto. O Rollup é a escolha quando qualidade de saída, nuances de code-splitting ou um plugin específico importam - especialmente para publicar bibliotecas. Muitos times ganham os dois via Vite (esbuild em dev, Rollup em prod) sem escolher diretamente.
Acelere
Faça cache das dependências e do build com chave no seu lockfile para evitar rebuilds a frio. Ambos rodam em runners de CI; runners gerenciados mais rápidos encurtam etapas pesadas de bundling.
O veredito
Bundling de app com velocidade em primeiro lugar: esbuild. Saída de biblioteca e maturidade de plugins: Rollup. Para muitos times, a divisão esbuild-mais-Rollup do Vite elimina a necessidade de escolher.