Генератор конфигурации ESLint

Выберите язык, среду выполнения и несколько популярных правил — и скопируйте готовый eslint.config.js для ESLint 9 и новее. В первой строке — команда npm, которая ставит ровно те пакеты, что импортирует конфиг.

Язык
Где выполняется код
Модули в файлах .js
Через пробел или запятую. Косая черта в конце означает папку.

Сохраните в корне проекта и запустите npx eslint . — для CommonJS назовите файл eslint.config.mjs, как указано в первой строке.

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Выберите JavaScript или TypeScript и где выполняется код.
  2. Укажите, что используют файлы .js — import или require.
  3. Отметьте нужные правила, а если форматируете кодом Prettier — и пункт про Prettier.
  4. Выполните команду npm install --save-dev … из первой строки, сохраните файл в корне проекта и запустите npx eslint ..

Как это работает

Результат — массив, экспортируемый через export default:

  • объект только с ignores — глобальные исключения для папок сборки;
  • js.configs.recommended из @eslint/js (и ...tseslint.configs.recommended для TypeScript);
  • ваш блок: шаблоны файлов, ecmaVersion: 'latest', глобальные переменные и выбранные правила;
  • для CommonJS — блок с sourceType: 'commonjs' для файлов .js (.cjs ESLint и так считает CommonJS);
  • в конце eslintConfigPrettier, если выбран.

Пример

Настройки по умолчанию (JavaScript, браузер, ES-модули, рекомендуемые правила, eqeqeq, prefer-const, неиспользуемые переменные как предупреждения) дают:

// npm install --save-dev eslint @eslint/js globals
import js from '@eslint/js';
import globals from 'globals';

export default [
  { ignores: ['dist/', 'build/', 'coverage/'] },
  js.configs.recommended,
  {
    files: ['**/*.{js,mjs,cjs}'],
    languageOptions: {
      ecmaVersion: 'latest',
      globals: globals.browser,
    },
    rules: {
      eqeqeq: ['error', 'always'],
      'prefer-const': 'error',
      'no-unused-vars': 'warn',
    },
  },
];

Советы

  • Добавьте "lint": "eslint ." в scripts файла package.json, чтобы все запускали одну и ту же команду.
  • npx eslint . --fix исправляет то, что можно исправить автоматически, например let, который должен быть const.
  • Оставьте форматирование Prettier, а ESLint — качество кода: для этого и нужен пункт про Prettier.

Частые вопросы

Что такое формат flat config?

С ESLint 9 конфигурация — это JavaScript-файл eslint.config.js, который экспортирует массив объектов. Каждый объект может указать, к каким файлам он относится, какой парсер и глобальные переменные использовать и какие правила включить. Старые файлы .eslintrc по умолчанию больше не читаются.

Зачем конфиг импортирует пакет globals?

ESLint не знает, какие глобальные переменные есть в вашей среде. Пакет globals перечисляет их — например, window и document для браузера или process и __dirname для Node.js, — чтобы правило no-undef на них не ругалось.

Что добавляет typescript-eslint?

Парсер, понимающий синтаксис TypeScript, и набор рекомендуемых правил. Он же отключает базовые правила, которые уже проверяет TypeScript, — поэтому правило о неиспользуемых переменных становится @typescript-eslint/no-unused-vars.

Почему конфиг Prettier стоит последним?

eslint-config-prettier отключает правила форматирования, которые спорили бы с Prettier. Поздние элементы массива переопределяют ранние, поэтому он должен идти после всех наборов, правила которых выключает.

Почему для CommonJS файл называется eslint.config.mjs?

Конфиг написан через import и export. Node.js считает файл .js модулем CommonJS, если в package.json нет "type": "module", поэтому в CommonJS-проекте файлу нужно расширение .mjs.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 4 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.