Генератор ESLintrc
Этот генератор создаёт готовую конфигурацию .eslintrc.json на основе четырёх выборов: окружение браузера или Node, поддержка TypeScript и поддержка React. Он подключает eslint:recommended, соответствующие плагины TypeScript или React и несколько разумных перезаписей правил, чтобы вы могли сразу вставить результат в свой проект.
Как создать конфигурацию ESLint
-
1
Выберите окружение
Укажите, где выполняется код: в браузере, в Node.js или в обоих. Генератор устанавливает соответствующие записи `env`, плюс `es2022`.
-
2
Включите TypeScript
Отметьте TypeScript, и генератор добавит `@typescript-eslint/parser` и рекомендуемый плагин TypeScript.
-
3
Включите React
Отметьте React, и генератор добавит `eslint-plugin-react` с его рекомендуемым пресетом.
-
4
Сгенерировать
Нажмите кнопку, и конфигурация будет создана в виде аккуратно отформатированного JSON.
-
5
Скопируйте в свой проект
Вставьте результат в `.eslintrc.json` и установите плагины, на которые он ссылается.
Что содержит сгенерированная конфигурация
Генератор всегда начинает с eslint:recommended и добавляет ровно то, что подразумевает ваш выбор:
envсbrowserи/илиnode, плюсes2022@typescript-eslint/parserиplugin:@typescript-eslint/recommended, когда TypeScript включёнplugin:react/recommended, когда React включёнno-consoleиno-unused-vars, установленные вwarn
Результат: это обычный JSON-объект в классическом формате .eslintrc.json, готовый к вставке и дополнению вашими правилами.
Плоский формат против устаревшего
ESLint 9 отказался от формата .eslintrc.* в пользу плоской конфигурации (eslint.config.js). Основные различия:
| Аспект | Устаревший (.eslintrc) | Плоский (eslint.config.js) |
|---|---|---|
| Формат | JSON, YAML или CommonJS | Модуль JavaScript ESM или CommonJS |
| Расширение | extends: ["plugin:react/recommended"] |
Развёртывание в массив: ...reactPlugin.configs.recommended |
| Переопределения | Массив overrides с glob-шаблонами |
Несколько объектов в экспортируемом массиве |
| Глобальные переменные | env: { browser: true } |
languageOptions.globals с явными импортами |
| Игнорирование | Файл .eslintignore |
Поле ignores в массиве конфигурации |
Новые проекты должны использовать плоскую конфигурацию. Существующие проекты могут оставаться на устаревшем формате вплоть до линейки 10.x, однако рекомендуется провести миграцию.
Экосистема плагинов
Типичные плагины для проектов React/TS:
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier
Это шесть пакетов для умеренно строгой настройки. Генератор добавляет те, которые вы выбрали, поэтому вы устанавливаете только то, на что ссылается конфигурация.
Сосуществование с Prettier
Prettier занимается форматированием; ESLint, проверкой корректности кода и его стиля помимо форматирования. Для предотвращения конфликтов:
- Установите
eslint-config-prettierи добавьте его ПОСЛЕДНИМ элементом в вашем extends/config. - Он отключает все правила ESLint, которые конфликтуют с выводом Prettier.
- Запускайте Prettier отдельно (при сохранении в редакторе, в pre-commit-хуке, в CI).
Не используйте eslint-plugin-prettier в новых проектах: он замедляет работу ESLint за счёт запуска инструмента Prettier внутри ESLint. Используйте два инструмента отдельно.
Советы по настройке правил
- Начинайте мягко, затягивайте постепенно. Включайте предупреждения раньше ошибок.
- Переопределяйте для тестов. В тестовых файлах часто нужно ослабить
no-unused-expressionsи сделать доступными глобальные переменные Jest. - Переопределяйте для скриптов. Скриптам сборки могут понадобиться глобальные переменные Node без глобального добавления
env: node. - Документируйте переопределения. Каждое переопределение правила заслуживает комментария с объяснением причины.
Конфигурация, соответствующая вашему редактору
Для использования VS Code необходимо установить и настроить расширение ESLint. Добавьте его в настройки рабочего пространства для автоматического исправления ошибок при сохранении файла.
{
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
Часто задаваемые вопросы
Для новых проектов используется плоская конфигурация (eslint.config.js). Этот генератор выдаёт классический формат .eslintrc.json, который ESLint читает нативно в устаревшем режиме; таблица сравнения выше показывает, что изменится при последующей миграции.
Да, если вы используете TypeScript: параметры @typescript-eslint/parser и @typescript-eslint/eslint-plugin поддерживают проверку кода с учётом особенностей TypeScript. Для правил, связанных с типами данных (а не только с синтаксисом), также необходимо настроить парсер с использованием параметра project: './tsconfig.json'.
Как правило, в среде автоматизированной интеграции (CI) отсутствуют необходимые зависимости. Убедитесь, что версии файлов @typescript-eslint/*, плагинов и инструмента ESLint совпадают между локальной средой и средой CI. В среде CI используйте версию npm ci (а не npm install), чтобы соблюдать требования файла блокировки.
Нет. Ваши выборы используются только для генерации конфигурации; они не сохраняются и не передаются третьим лицам.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Шпаргалка по Markdown
Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.
Инструмент доступен на других языках
- Bộ tạo ESLintrc [VI]
- Generator ESLintrc [ID]
- เครื่องสร้าง ESLintrc [TH]
- ESLintrc-generator [SV]
- Generador de ESLintrc [ES]
- ESLintrc-Generator [DE]
- ESLintrc-generator [NL]
- ESLintrc 생성기 [KO]
- Generator .eslintrc [PL]
- ESLintrc Üreticisi [TR]
- مولد ESLintrc [AR]
- Générateur d'ESLintrc [FR]
- ESLintrc ジェネレーター [JA]
- Gerador de ESLintrc [PT]
- ESLintrc生成器 [ZH]
- ESLintrc Generator [EN]
- Generatore ESLintrc [IT]