Skip to content

Plugins embutidos

O Oxlint traz implementações nativas em Rust de vários plugins ESLint populares. Grande parte das regras dos configs recommended já existe — resultado útil sem setup extra.

Também há plugins escritos em JavaScript com API compatível com ESLint: Plugins JS.

O que é “plugin” no Oxlint

Plugin é um conjunto nomeado de regras. Habilitar o plugin disponibiliza regras; flags de categoria ligam/desligam e definem severidade.

Migrando do ESLint, os nomes são familiares: import, react, jsx-a11y, jest, unicorn etc.

Habilitar plugin

Recomendado: use arquivo de config para listar plugins e compartilhar com o time.

Na config

Campo plugins:

json
{
  "plugins": ["import"]
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["import"],
});

Definir plugins substitui o conjunto padrão — inclua todos os que precisa.

Na CLI

--<nome-do-plugin>-plugin, por exemplo:

bash
oxlint --import-plugin

Flags de categoria (-D, -W, -A) controlam o que fica ligado:

bash
oxlint --import-plugin -D correctness -W suspicious

Regras de correctness já vêm ligadas por padrão.

oxlint --help lista todos os flags de plugin.

Desativar plugins padrão

Na config

plugins: [] desliga todos os padrão — só o conjunto base de regras.

json
{
  "plugins": []
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: [],
});

Na CLI

--disable-<nome>-plugin para plugins que vêm ligados por padrão:

bash
oxlint --disable-unicorn-plugin

Só plugins padrão têm esse “disable”; os demais basta omitir.

Plugins suportados

Nome pluginPadrãoOrigem
eslintSimRegras do ESLint
typescriptSimtypescript-eslint (@typescript-eslint/plugin); regras com tipo em modo type-aware
unicornSimeslint-plugin-unicorn
reactNãoeslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-refresh
react-perfNãoeslint-plugin-react-perf
nextjsNão@next/eslint-plugin-next
oxcSimRegras Oxc e parte portada do deepscan
importNãoeslint-plugin-import (equivalente a eslint-plugin-import-x)
jsdocNãoeslint-plugin-jsdoc
jsx-a11yNãoeslint-plugin-jsx-a11y
nodeNãoeslint-plugin-n
promiseNãoeslint-plugin-promise
jestNãoeslint-plugin-jest
vitestNão@vitest/eslint-plugin
vueNãoRegras eslint-plugin-vue que funcionam com tags script

Status de cobertura: issue product plan. Frameworks/arquivos: matriz de compatibilidade.

Novos plugins

Foco em plugins nativos e plugins JS compatíveis. Contribuições que adicionam regras a plugins existentes são bem-vindas.

Novo conjunto como plugin nativo: abra uma discussion no GitHub.