Skip to content

Oxlint v1.0 Stable



Em resumo: chegou a primeira versão estável do Oxlint! Com cerca de 50–100× mais rápido que o ESLint, mais de 500 regras no estilo ESLint e adoção em grandes empresas como Shopify, Airbnb e Mercedes-Benz, vale experimentar. Comece agora.


O Oxlint é um linter em Rust para JavaScript e TypeScript, pensado para velocidade e adoção simples. Desde o primeiro anúncio em dezembro de 2023 o projeto cresceu muito e agora lança a versão estável 1.0. Além do release estável, anunciamos um mantenedor em tempo integral dedicado ao Oxlint, Cameron, e um núcleo de equipe em expansão para manter e evoluir o linter.

Impacto no mundo real

Valorizamos o desempenho do Oxlint e o impacto em grandes bases — inclusive redução de custo de CI.

Agradecemos aos mais de 5 200 projetos dependentes precoces e a empresas e projetos como:

  • Shopify, onde a equipe de plataforma frontend usa Oxlint no admin da Shopify.
  • Airbnb, com análise multi-arquivo oxc/no-barrel-file e import/no-cycle em mais de 126 000 arquivos — cerca de 7 s na CI. A implementação ESLint equivalente não cabia no tempo limite.
  • Mercedes-Benz, onde a migração do ESLint para Oxlint cortou ~71% do tempo de lint; em alguns projetos até 97%.
  • Grandes projetos open source — de runtimes como Bun a frameworks como Preact.

No maior repositório que encontramos, o Oxlint produziu:

Finished in 22.5s on 264925 files with 101 rules using 10 threads.

Com base em casos reais em X e Bluesky, o Oxlint processa da ordem de 10 000 arquivos por segundo, conforme o número de threads.

Comece agora

O Oxlint serve para quem quer lint sem passar horas configurando ferramentas. Sem config já dá para achar problemas:

É só rodar — config não é obrigatório.

sh
$ npx oxlint@latest
sh
$ pnpm dlx oxlint@latest
sh
$ yarn dlx oxlint@latest
sh
$ bunx oxlint@latest
sh
$ deno run npm:oxlint@latest

Dá para começar sem nada configurado; em projetos grandes ou específicos ajuda usar .oxlintrc.json. O formato segue o flat config do ESLint v8, o que torna a migração familiar. Cada arquivo é lintado pela config mais próxima; dá para usar overrides com globs e estender configs compartilhadas para uniformizar times.

Para quem já usa ESLint, oxlint-migrate ajuda a portar um flat config existente para o Oxlint. Além disso, eslint-plugin-oxlint desliga regras duplicadas do ESLint quando os dois rodam juntos. Recomendamos oxlint && eslint para combinar a velocidade do Oxlint com o alcance do ESLint.

Veja o guia de instalação.

Versionamento

Diferente de bibliotecas com código de runtime, um linter só muda os diagnósticos que devolve. O Oxlint segue versionamento semântico:

  • Patch: apenas correções de bugs.
  • Minor: mais regras e diagnósticos, sem exigir mudança obrigatória de configuração.
  • Major: mudanças na CLI ou no formato de config, podendo exigir migração.

Atenção: releases minor ainda podem quebrar a CI se novas regras revelarem problemas antes ocultos. Detalhes no guia de versionamento.

Destaques

Cobertura ampla de regras

Mais de 500 regras de várias fontes:

  • Conjunto completo do ESLint, inclusive regras TypeScript do typescript-eslint (exceto as que exigem checagem de tipos).
  • Regras de plugins populares: eslint-plugin-unicorn, eslint-plugin-jsdoc, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-jest, eslint-plugin-import.
  • Regras próprias do Oxlint, como bad comparison sequence, const comparisons e only used in recursion.

Configuração flexível

Via .oxlintrc.json:

  • Configs aninhadas por diretório
  • Overrides por tipo de arquivo ou caminho
  • Extensão de configs compartilhadas para o time

Integração com editores

Diagnósticos claros

Mensagens acionáveis — não só o que está errado, mas visualização e como corrigir.

CLI DemoOxlint no terminal com relatório detalhado

Benchmark

No nosso benchmark, o Oxlint fica na faixa de 50–100× mais rápido que o ESLint com setup equivalente.

FerramentaTempo
oxlint (multi thread)615,3 ms
oxlint (single thread)1,840 s
eslint33,481 s

Roteiro

O Oxlint 1.0 é só o começo. Com estabilidade, ainda há recursos importantes:

Regras customizadas — em breve suporte a plugins em JavaScript para regras no ecossistema do Oxlint.

Otimizações de performance — parsing e análise ainda mais rápidos.

Configuração fina por glob — estilo ESLint v9.

Agradecimentos

O Oxlint 1.0 é fruto do esforço de mais de 200 contribuidores. Obrigado por issues, pedidos de recurso e patches.

Menção especial:

Comunidade

Queremos o seu feedback sobre o Oxlint.

O feedback molda a evolução do Oxlint.

Experimente

Comece pelo guia de instalação ou saiba mais sobre o projeto Oxc.