Skip to content

Oxlint v0.10 — guia de migração

Este é um guia de migração para uma versão mais antiga do Oxlint. Para o release estável v1.0 mais recente, veja Oxlint v1.0 Stable.

Lançamos o Oxlint v0.10.0! O release inclui mudanças importantes, especialmente nos arquivos de configuração.

Novidades

Novas regras

Este release acrescenta, entre outras:

  • promise/no-callback-in-promise
  • react/iframe-missing-sandbox
  • node/no-new-require

E correções automáticas ou sugestões para:

  • eslint/no-plusplus

Ligando e desligando regras por categoria

Agora você pode aplicar níveis a categorias inteiras com o campo categories na configuração.

Em vez de:

sh
oxlint -D correctness -W suspicious -c oxlint.json

adicione em oxlint.json:

jsonc
{
  "categories": {
    "correctness": "deny", 
    "suspicious": "warn", 
  }, 
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

e pode omitir -D/-W na linha de comando.

Suporte a plugins nos arquivos de configuração

Os configs agora aceitam um array plugins no estilo ESLint v8. Assim você ativa plugins sem flags de CLI e os usa também no VS Code.

jsonc
{
  "plugins": ["import"], 
  "categories": {
    "correctness": "deny",
    "suspicious": "warn",
  },
  "rules": {
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off",
  },
}

Combinado com categories, os níveis por categoria valem também para plugins.

jsonc
{
  "plugins": ["import"],
  // `categories` se aplica a todos os plugins listados
  "categories": {
    "correctness": "allow",
    "suspicious": "warn",
  },
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

Breaking changes e migração

Prioridade: CLI versus configuração

Antes, a configuração sobrescrevia os argumentos da CLI. Por exemplo, com:

sh
oxlint -A correctness -c oxlintrc.json

e:

jsonc
{
  "rules": {
    "no-const-assign": "error",
  },
}

ficava só no-const-assign em nível erro e todas as outras regras de correctness desligadas (allow).

Agora a CLI sobrescreve o arquivo. O mesmo comando com o mesmo config desativa todas as regras. Para comportamento parecido com o anterior, prefira mover categorias para o arquivo.

sh
oxlint -c oxlint.json
jsonc
{
  "categories": {
    "correctness": "allow", 
  }, 
  "rules": {
    "no-const-assign": "error",
  },
}