Vite vs esbuild: qual build tool para o CI?
Eles se sobrepõem mas não fazem o mesmo trabalho: o esbuild é um bundler puro e ultrarrápido, enquanto o Vite é um build tool completo que usa o esbuild (e o Rollup) internamente.
O esbuild (Go) é um bundler/transpiler de baixo nível valorizado pela velocidade. O Vite é um build tool e dev server de mais alto nível que usa o esbuild para transformações de dev e o Rollup para builds de produção, adicionando HMR, plugins e integração com frameworks.
| Vite | esbuild | |
|---|---|---|
| Camada | Build tool completo + dev server | Bundler/transpiler de baixo nível |
| Velocidade | Rápido (esbuild + Rollup) | Extremamente rápido |
| Dev server / HMR | Sim | Não (apenas bundler) |
| Saída de produção | Rollup (otimizada) | esbuild (menos ajustes) |
| Plugins / encaixe com framework | Grande (plugins do Rollup) | Menor, de mais baixo nível |
No CI
A maioria dos apps quer o Vite: ele oferece um pipeline completo (dev server, HMR, plugins, presets de framework) e produz builds otimizados do Rollup enquanto ainda usa o esbuild para ganhar velocidade. Recorra ao esbuild diretamente quando precisar de uma etapa mínima e ultrarrápida de bundling/transpilação em um script ou ferramenta e não precisar de um build ciente do framework. Na prática, usar o Vite já significa que você está se apoiando no esbuild por baixo dos panos.
Deixe mais rápido
Faça cache das dependências e do build cache com chave no seu lockfile para evitar rebuilds a frio. Ambos rodam igual em runners de CI; runners gerenciados mais rápidos encurtam a etapa de build em apps grandes.
O veredito
Construindo um app ou projeto de framework: Vite para o pipeline completo e otimizado. Precisando de um bundler mínimo e ultrarrápido em um script: esbuild diretamente. São camadas diferentes - o Vite já usa o esbuild por você.