Skip to content

Встроенные плагины

В Oxlint встроены реализации многих популярных наборов правил ESLint-плагинов. Большинство правил из конфигов recommended уже доступны — дополнительная настройка часто не нужна.

Поддерживаются и плагины на JavaScript с API, совместимым с ESLint. См. JS-плагины.

Что означает «плагин» в Oxlint

Плагин — это именованная группа правил. Включение плагина делает его правила доступными, а флаги категорий задают, какие правила включены и с какой строгостью.

При миграции с ESLint плагины соответствуют привычным экосистемам: import, react, jsx-a11y, jest, unicorn и др.

Включить плагин

Настоятельно рекомендуется включать плагины через файл конфигурации — так проще сопровождать настройки и делиться ими в команде.

В файле конфигурации

Включение плагинов полем plugins:

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

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

Указание plugins заменяет набор плагинов по умолчанию. В списке должны быть все нужные плагины.

Через CLI

Плагин можно включить флагом --<имя-плагина>-plugin.

Пример — плагин import:

bash
oxlint --import-plugin

Дальше уровень включения задают флаги категорий.

Пример: правила import в категории correctness — ошибки, suspicious — предупреждения:

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

Правила correctness включены по умолчанию.

Подсказка: полный список флагов плагинов — в oxlint --help.

Отключить плагины по умолчанию

В конфиге

Чтобы отключить все встроенные плагины по умолчанию, задайте пустой массив plugins:

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

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

Остаётся только базовый набор правил.

Через CLI

Несколько плагинов включены по умолчанию. Отключить конкретный можно флагом --disable-<имя>-plugin.

Пример — отключить unicorn:

bash
oxlint --disable-unicorn-plugin

Отключать можно только плагины по умолчанию. Остальные просто не добавляйте.

Поддерживаемые плагины

Встроенные плагины и их происхождение.

Имя плагинаПо умолчаниюИсточник
eslintДаПравила ядра ESLint
typescriptДаПравила TypeScript из typescript-eslint (он же @typescript-eslint/plugin). Правила с типами — в режиме с типами.
unicornДаeslint-plugin-unicorn
reactНетeslint-plugin-react, eslint-plugin-react-hooks и eslint-plugin-react-refresh
react-perfНетeslint-plugin-react-perf
nextjsНет@next/eslint-plugin-next
oxcДаПравила, специфичные для Oxc, и отобранные правила из deepscan
importНетeslint-plugin-import (аналог eslint-plugin-import-x)
jsdocНетeslint-plugin-jsdoc
jsx-a11yНетeslint-plugin-jsx-a11y
nodeНетeslint-plugin-n
promiseНетeslint-plugin-promise
jestНетeslint-plugin-jest
vitestНет@vitest/eslint-plugin, он же eslint-plugin-vitest
vueНетПравила eslint-plugin-vue, работающие с тегами script

Актуальный статус покрытия правил — в issue с планом линтера. Поддержка фреймворков и типов файлов — в матрице совместимости.

Новые плагины

Oxlint развивает экосистему через встроенные плагины и JS-плагины, совместимые с ESLint. Приветствуются вклады с правилами в существующие встроенные плагины.

Если считаете, что набор правил стоит добавить как встроенный плагин, сначала откройте обсуждение на GitHub.