Skip to content
Latchkey

O Que É o Rollup? O Bundler de Módulos JavaScript Explicado

O Rollup é um bundler JavaScript que se destaca em produzir saída pequena, limpa e com tree-shaking, o que o torna favorito para bibliotecas e o motor por trás dos builds de produção do Vite.

O Rollup popularizou o tree-shaking, a prática de descartar código que nunca é usado, apoiando-se na análise estática de módulos ES. Ele produz bundles enxutos em múltiplos formatos, e é por isso que é o bundler preferido para publicar bibliotecas e o bundler de produção dentro do Vite.

O que o Rollup é

O Rollup é um bundler de módulos para JavaScript que pega módulos ES e os combina em um único arquivo ou um pequeno conjunto de arquivos. Ele gera saída em vários formatos (ESM, CommonJS, UMD) para que uma biblioteca possa ser distribuída para muitos consumidores, e é estendido através de uma API de plugins focada.

Tree-shaking e saída limpa

Como os módulos ES são analisáveis estaticamente, o Rollup consegue determinar quais exports são realmente usados e excluir o resto, produzindo bundles menores. Ele também tende a gerar saída plana e legível, sem o boilerplate de wrapper que bundlers mais pesados adicionam, o que importa ao distribuir uma biblioteca que outros vão inspecionar.

Um exemplo de config

Uma config de biblioteca emite múltiplos formatos a partir de um único input.

A minimal rollup.config.js
export default {
  input: "src/index.js",
  output: [
    { file: "dist/lib.cjs", format: "cjs" },
    { file: "dist/lib.mjs", format: "es" }
  ]
};

Papel no CI/CD

No CI, o Rollup constrói os artifacts distribuíveis de uma biblioteca antes de publicar, ou roda como o bundler de produção do Vite para aplicações. O passo de build faz parte do pipeline de release, muitas vezes seguido por um publish no npm. Fazer cache de node_modules e reutilizar a saída de build onde possível mantém esses passos rápidos.

Alternativas

O Webpack tem mais recursos para aplicações complexas, mas é mais pesado. O esbuild é mais rápido, mas produz saída menos otimizada para publicação de bibliotecas. O tsup encapsula o esbuild para builds simples de bibliotecas. O Rollup continua sendo a escolha preferida quando a qualidade da saída e o tree-shaking importam, como na distribuição de bibliotecas.

Principais conclusões

  • O Rollup produz bundles pequenos, limpos e com tree-shaking em múltiplos formatos.
  • É o padrão para publicar bibliotecas e alimenta os builds de produção do Vite.
  • No CI ele constrói os artifacts de release, muitas vezes logo antes de publicar no npm.

Guias relacionados