Oxlint v0.10 — руководство по миграции
Это руководство по миграции для более старой версии Oxlint. Информацию о последнем стабильном релизе v1.0 см. в анонсе Oxlint v1.0 Stable.
Вышел Oxlint v0.10.0! В этом релизе несколько важных возможностей, в том числе заметные улучшения файлов конфигурации.
Новые возможности
Новые правила
В релиз входят следующие новые правила:
promise/no-callback-in-promisereact/iframe-missing-sandboxnode/no-new-require
А также автоматические исправления и предложения для:
eslint/no-plusplus
Включение и отключение правил по категориям
Теперь можно включать или отключать целые категории правил полем categories в файле конфигурации.
Вместо такой команды:
oxlint -D correctness -W suspicious -c oxlint.jsonможно добавить в oxlint.json поле categories:
{
"categories": {
"correctness": "deny",
"suspicious": "warn",
},
"rules": {
"no-const-assign": "error",
"import/no-cycle": "error",
},
}и убрать флаги -D и -W.
В файлах конфигурации поддерживаются plugins
Конфигурационные файлы теперь поддерживают массив plugins из конфигов ESLint v8. Это позволяет включать плагины без аргументов CLI и использовать плагины в VSCode.
{
"plugins": ["import"],
"categories": {
"correctness": "deny",
"suspicious": "warn",
},
"rules": {
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off",
},
}Это хорошо сочетается с categories: включённые и отключённые категории затрагивают и плагины.
{
"plugins": ["import"],
// `categories` влияет на все включённые плагины
"categories": {
"correctness": "allow",
"suspicious": "warn",
},
"rules": {
"no-const-assign": "error",
"import/no-cycle": "error",
},
}Критические изменения и миграция
Приоритет правил: CLI и конфиг
Раньше конфиг переопределял правила из аргументов CLI. Например, при запуске:
oxlint -A correctness -c oxlintrc.jsonс таким конфигом
{
"rules": {
"no-const-assign": "error",
},
}получалось одно правило no-const-assign на уровне error, а все остальные были отключены (т.е. в состоянии «allow»).
Теперь аргументы CLI переопределяют конфиг. Та же команда с тем же конфигом даст полное отключение всех правил. Чтобы получить прежнее поведение, включайте и отключайте категории в конфиге, а не только через CLI.
oxlint -c oxlint.json{
"categories": {
"correctness": "allow",
},
"rules": {
"no-const-assign": "error",
},
}