- A ferramenta de lint para JavaScript/TypeScript Oxlint, desenvolvida em Rust, foi oficialmente lançada na versão 1.0
- Desempenho 50 a 100 vezes mais rápido que o ESLint, com suporte a mais de 500 regras do ESLint e casos reais de adoção em grandes empresas (Shopify, Airbnb, Mercedes-Benz etc.)
- Pronto para uso imediato sem configuração e também com suporte à portabilidade e ao uso em conjunto com configurações existentes do ESLint
- Integração com os principais editores (VSCode, IntelliJ, Zed etc.) e fornecimento de LSP, com mensagens de diagnóstico de erro detalhadas e visualmente claras
- Também foi divulgado o roadmap futuro, incluindo regras personalizadas, otimização de desempenho e configurações mais granulares
Principais destaques do Oxlint 1.0
Desempenho e adoção em larga escala
- Implementado em Rust, faz lint de dezenas de milhares de arquivos em altíssima velocidade com execução simultânea
- Exemplo: na Airbnb, faz lint de 126 mil arquivos em 7 segundos; na Mercedes-Benz, houve ganho de velocidade de 71% a 97%
- No maior repositório testado, analisou 265 mil arquivos e 101 regras em apenas 22,5 segundos
Uso imediato e adoção fácil
- Basta instalar para executar imediatamente sem necessidade de configuração
- Pode ser usado diretamente com
npx oxlint@latest ou pnpm/yarn/bun/deno
- Suporte a configuração personalizada em
.oxlintrc.json para grandes projetos e ambientes de equipe
- Baseado no formato flat config do ESLint v8, em um estilo já familiar
- Com
oxlint-migrate, é possível migrar configurações existentes do ESLint, e com eslint-plugin-oxlint dá para desativar regras duplicadas
- Forma recomendada: executar oxlint e eslint juntos para obter feedback mais rápido
Amplo suporte a regras
- Suporte a todas as regras do ESLint e também a muitas regras dos plugins typescript-eslint, unicorn, jsdoc, react, jest e import
- Inclui também regras próprias, como bad comparison sequence e const comparisons
Configuração flexível
- Suporte a configuração aninhada por pasta, overrides por glob e extensão de configurações compartilhadas
- Permite manter padrões consistentes de qualidade de código entre equipes
Integração com editores
- Fornece extensões para VSCode, IntelliJ/WebStorm, Zed etc. e suporte a LSP
- Em várias IDEs, oferece diagnóstico imediato de erros e sugestões de correção
Mensagens de diagnóstico
- Vai além de simples descrições de erro, com explicações visualizadas da causa e orientações de como resolver
Benchmark
| Ferramenta |
Tempo de execução |
| oxlint(multi-thread) |
615ms |
| oxlint(single-thread) |
1.8 s |
| eslint |
33.5 s |
Roadmap
- Está previsto suporte a regras personalizadas em JavaScript
- Também estão planejadas otimizações contínuas de desempenho e configurações por glob mais detalhadas no estilo do ESLint v9
4 comentários
Rust é o cheat code para melhorar performance?
Parece que ainda não há suporte completo para Vue ou NestJS.
https://github.com/oxc-project/oxc/issues/481
Oxlint - linter de JS 50~100 vezes mais rápido que o ESLint