Biome vs ESLint: qual linter para CI?
O Biome é um linter-e-formatter baseado em Rust que roda muito mais rápido que o ESLint, que mantém o ecossistema de plugins mais amplo e a configurabilidade completa.
O ESLint é o linter padrão de JavaScript/TypeScript com um enorme ecossistema de regras e plugins. O Biome é um toolchain baseado em Rust que faz lint e format em uma passagem rápida, com um conjunto de regras embutido em crescimento e configuração mínima.
| Biome | ESLint | |
|---|---|---|
| Implementação | Rust | JavaScript |
| Velocidade | Muito rápida | Mais lenta |
| Escopo | Lint + format | Lint (Prettier para format) |
| Ecossistema de regras/plugins | Em crescimento, embutido | O maior |
| Config | Mínima | Flexível, pode ser complexa |
No CI
O Biome faz lint (e format) dramaticamente mais rápido que o ESLint e precisa de pouca configuração, o que encurta a etapa de lint em repos grandes. A vantagem do ESLint é seu enorme ecossistema: regras específicas de framework, de acessibilidade e custom que o Biome pode ainda não cobrir. Se você depende de plugins de nicho do ESLint, o Biome pode não substituí-los totalmente; se você quer principalmente lint e format padrão e rápido, o Biome é atraente.
Esforço de migração
Audite suas regras e plugins custom do ESLint antes de trocar; muitas equipes adotam o Biome incrementalmente ou mantêm o ESLint para plugins específicos. O linting roda em managed runners; runners gerenciados mais rápidos encurtam qualquer linter que você use em bases de código grandes.
O veredito
Quer uma ferramenta rápida e de baixa config para lint-e-format e suas regras estão cobertas: Biome. Depende de um conjunto amplo ou custom de plugins do ESLint: fique no ESLint (ou rode ambos). Verifique a cobertura de plugins antes de migrar.