Встроенные плагины
В Oxlint встроены реализации многих популярных наборов правил ESLint-плагинов. Большинство правил из конфигов recommended уже доступны — дополнительная настройка часто не нужна.
Поддерживаются и плагины на JavaScript с API, совместимым с ESLint. См. JS-плагины.
Что означает «плагин» в Oxlint
Плагин — это именованная группа правил. Включение плагина делает его правила доступными, а флаги категорий задают, какие правила включены и с какой строгостью.
При миграции с ESLint плагины соответствуют привычным экосистемам: import, react, jsx-a11y, jest, unicorn и др.
Включить плагин
Настоятельно рекомендуется включать плагины через файл конфигурации — так проще сопровождать настройки и делиться ими в команде.
В файле конфигурации
Включение плагинов полем plugins:
{
"plugins": ["import"]
}import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["import"],
});Указание plugins заменяет набор плагинов по умолчанию. В списке должны быть все нужные плагины.
Через CLI
Плагин можно включить флагом --<имя-плагина>-plugin.
Пример — плагин import:
oxlint --import-pluginДальше уровень включения задают флаги категорий.
Пример: правила import в категории correctness — ошибки, suspicious — предупреждения:
oxlint --import-plugin -D correctness -W suspiciousПравила correctness включены по умолчанию.
Подсказка: полный список флагов плагинов — в oxlint --help.
Отключить плагины по умолчанию
В конфиге
Чтобы отключить все встроенные плагины по умолчанию, задайте пустой массив plugins:
{
"plugins": []
}import { defineConfig } from "oxlint";
export default defineConfig({
plugins: [],
});Остаётся только базовый набор правил.
Через CLI
Несколько плагинов включены по умолчанию. Отключить конкретный можно флагом --disable-<имя>-plugin.
Пример — отключить unicorn:
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.