Oxlint Beta
Este post anuncia o Oxlint em beta. O Oxlint já chegou ao v1.0 estável! Veja Oxlint v1.0 Stable para recursos e melhorias atuais.
Temos o prazer de anunciar que o Oxlint entrou em beta após mais de um ano de trabalho da comunidade!
É um passo importante em funcionalidades, desempenho e estabilidade.
Como usar
Nesta fase o Oxlint pode substituir totalmente o ESLint em projetos pequenos e médios.
Em bases grandes recomendamos desativar no ESLint as regras cobertas com eslint-plugin-oxlint e rodar o Oxlint antes do ESLint (localmente ou na CI) para feedback mais rápido.
Para testar, na raiz do projeto, com qualquer gerenciador:
$ npx oxlint@latest$ pnpm dlx oxlint@latest$ yarn dlx oxlint@latest$ bunx oxlint@latest$ deno run npm:oxlint@latestMais detalhes em guia de instalação.
Principais novidades desde o GA
- Ganho grande de desempenho — até 2× mais rápido que o release anterior
- Mais de 500 regras sem instalar plugins extras
- Muitas regras dos plugins
typescript,unicorn,react,react-perf,nextjs,import,jsdoc,jsx-a11y,node,promise,jest,vitestimplementadas de ponta a ponta - Configuração via arquivos
.oxlintrc.json, com configs aninhados,extends,overridese mais - Lint do conteúdo de
<script>em.astro,.sveltee.vuesem config extra - Correções automáticas e sugestões em lote
Mais regras, mais velocidade
Queremos o Oxlint completo, com muitas regras e plugins comuns do ESLint, e ainda bem mais rápido.
No primeiro anúncio de GA do Oxlint havia 205 regras, 70 ligadas por padrão. Na beta são 502 regras, 99 por padrão (+41% nas regras padrão).
| Tipo de regra | Quantidade (GA) | Quantidade (beta) | Crescimento |
|---|---|---|---|
| Padrão | 70 | 99 | +29 regras |
| Correctness | 88 | 173 | +88 regras |
| Performance | 0 | 9 | +9 regras |
| Restrictions | 15 | 64 | +49 regras |
| Pedantic | 43 | 79 | +36 regras |
| Style | 38 | 137 | +99 regras |
| Suspicious | 7 | 28 | +21 regras |
| Total | 205 | 502 | +297 regras |
Mesmo com mais regras padrão, o Oxlint está mais rápido que nunca. Abaixo, benchmarks em repositórios conhecidos:
| Repositório | Arquivos | Tempo (GA) | Tempo (beta) | Aceleração |
|---|---|---|---|---|
elastic/kibana | 68 591 | 6,02 s | 3,11 s | 1,94× |
microsoft/vscode | 5 703 | 1,697 s | 0,792 s | 2,14× |
vitest-dev/vitest | 1 732 | 105 ms | 50 ms | 2,1× |
vuejs/core | 1 063 | 217 ms | 89 ms | 2,44× |
Roteiro
Um dos pedidos mais frequentes é suportar plugins ESLint customizados. Estamos preparando a base para isso e para plugins JS rápidos no Oxlint. Esperamos incluir no próximo major e compartilhar detalhes em breve.
Também vamos melhorar integrações com IDE: VS Code, Zed, coc.nvim e plugins IntelliJ.
Agradecimentos
A beta do Oxlint não existiria sem mais de 200 contribuidores.
Em especial:
- @cam314, @mysteryven e @shulaoda por regras difíceis, testes e melhorias contínuas.
- @Sysix pela manutenção do
eslint-plugin-oxlint. - @DonIsaac por config, documentação e site, e por representar o Oxc na SquiggleConf 2024.
- @leaysgur pelo parser RegExp e plugin JSDoc.
- @u9g e @rzvxa por análise de fluxo de controle.
- @branchseer pelo runtime de análise multi-arquivo.
- @camchenry por configuração aninhada.

