Biome: O Formatador e Lint Unificado que Está Substituindo ESLint e Prettier com 10x de Performance

O Problema do Ecossistema Fragmentado
Se você desenvolve com JavaScript ou TypeScript, provavelmente já enfrentou a dança das ferramentas: ESLint para análise estática, Prettier para formatação, talvez um Stylelint para CSS, e ainda ferramentas auxiliares como eslint-config-prettier para evitar conflitos entre elas. Esse ecossistema fragmentado funciona, mas tem um custo: configuração verbosa, dependências pesadas e performance cada vez mais lenta à medida que o projeto cresce.
Foi pensando nisso que surgiu o Biome — uma ferramenta unificada escrita em Rust que combina formatador, linter e analisador em um único binário. Inspirado pelo trabalho do falecido Rome Tools (criado por Sebastian McKenzie, o mesmo autor do Babel e Yarn), o Biome renasceu como um fork mantido pela comunidade e hoje é um dos projetos que mais cresce no ecossistema JavaScript.
Empresas como Vercel, Sentry e Netlify já adotaram o Biome em seus pipelines de CI, reportando reduções drásticas no tempo de execução das tarefas de lint e formatação.
Por que Biome é Diferente?
Performance Excepcional
A principal vantagem do Biome está na sua implementação em Rust. Enquanto ESLint e Prettier são escritos em JavaScript e executam em Node.js, o Biome compila para código nativo. O resultado é impressionante:
- Formatação: até 10x mais rápida que o Prettier em projetos de médio e grande porte.
- Linting: até 20x mais rápido que o ESLint em monorepos com centenas de milhares de linhas.
- Inicialização instantânea: sem cold start do runtime Node.js — o comando biome responde em milissegundos.
Em benchmarks reais, um monorepo com 50 mil arquivos TypeScript que levava 45 segundos para ser lintado com ESLint é processado em menos de 4 segundos com Biome.
Configuração Zero (e quando precisa, é simples)
O Biome adota a filosofia de sane defaults. Você pode executar biome check em qualquer projeto sem nenhum arquivo de configuração e ele já aplicará regras sensatas de formatação e linting.
Quando você precisa customizar, o arquivo biome.json usa um formato limpo e intuitivo. Comparado com a configuração do ESLint + Prettier — que frequentemente exige uma dúzia de dependências, plugins, extends e overrides — a simplicidade do Biome é um alívio.
Funcionalidades Principais
Formatador Inteligente
O formatador do Biome não apenas aplica regras de estilo: ele entende a estrutura da linguagem. Diferente de ferramentas baseadas em regex, o formatador do Biome usa uma AST (Árvore Sintática Abstrata) completa, garantindo que a formatação nunca quebre o código.
- Suporte nativo: JavaScript, TypeScript, JSX, TSX, CSS, JSON e JSONC.
- Preserva comentários: diferente de alguns formatadores, o Biome lida corretamente com comentários aninhados e blocos condicionais.
- Importações organizadas: o comando
biome check --applypode ordenar e agrupar importações automaticamente.
Linter com Regras Recomendadas e Extensíveis
O linter do Biome cobre mais de 170 regras, organizadas em categorias:
- Correctness: detecta bugs reais, como variáveis não utilizadas, expressões sempre verdadeiras/falsas e parâmetros duplicados.
- Style: regras de estilo de código que vão além da formatação, como preferência por
constsobreletquando possível. - Complexity: sugere simplificações, como remover parênteses desnecessários ou usar optional chaining.
- Performance: detecta padrões que podem causar lentidão, como loops ineficientes ou manipulação excessiva do DOM.
- Security: alerta sobre práticas inseguras, como uso de
eval()ou injeção de HTML.
Integração Contínua e Editor
O Biome oferece extensões oficiais para VS Code e IntelliJ, além de integração com sistemas de CI como GitHub Actions. Sua CLI aceita formatação de saída compatível com GitHub, permitindo anotações automáticas em pull requests.
Migrando do ESLint + Prettier para o Biome
Migrar para o Biome é surpreendentemente simples. O projeto oferece um guia de migração oficial e uma ferramenta que analisa sua configuração atual do ESLint para sugerir regras equivalentes no Biome.
- Instale o Biome:
npm install --save-dev @biomejs/biomeoupnpm add -D @biomejs/biome. - Inicialize a configuração:
npx @biomejs/biome init— isso gera umbiome.jsonbásico. - Remova dependências antigas: desinstale ESLint, Prettier, plugins e configurações associadas.
- Formate e lint: execute
npx @biomejs/biome check --apply .para formatar todo o projeto. - Configure o CI: substitua os comandos de lint antigos por
biome check --ci.
Um dos pontos fortes do Biome é a compatibilidade: o formatador produz código que segue as mesmas convenções do Prettier na maioria dos casos, o que significa que o diff da migração é mínimo ou inexistente.
Biome vs. Alternativas
No cenário atual, Biome compete com três abordagens principais: ESLint + Prettier (JavaScript, dois binários separados, performance moderada), dprint (Rust, formatador plugável, excelente performance) e Oxlint (Rust, linter apenas, excelente performance). O grande diferencial do Biome é ser uma ferramenta completa e unificada — você não precisa gerenciar múltiplas ferramentas, configurações ou pipelines de CI separados.
Conclusão
O Biome representa uma mudança de paradigma no ecossistema JavaScript/TypeScript. Em vez de aceitar a fragmentação como algo inevitável, ele propõe uma alternativa integrada que não sacrifica performance por funcionalidade.
Se você está começando um projeto novo, o Biome é a escolha óbvia. Se está mantendo um projeto legado com milhares de linhas de configuração de ESLint, a migração vale cada minuto investido — o ganho de performance no CI e na experiência do desenvolvedor é imediato.
Com uma comunidade ativa, releases frequentes e adoção por grandes empresas, o Biome não é apenas uma moda passageira: é o futuro da qualidade de código no ecossistema JavaScript.







