Spec-Zone.ru › ESLint

Справочник по интерфейсу командной строки

Интерфейс командной строки (CLI) ESLint позволяет запускать проверку кода из терминала. CLI поддерживает множество параметров, с помощью которых можно настроить ESLint.

Запуск CLI

Для установки ESLint требуется Node.js. Чтобы установить ESLint, следуйте инструкциям в руководстве по началу работы.

Большинство пользователей запускают ESLint из командной строки с помощью npx, например:

npm

npx eslint [options] [file|dir|glob]* 

yarn

yarn dlx eslint [options] [file|dir|glob]* 

pnpm

pnpm dlx eslint [options] [file|dir|glob]* 

bun

bunx eslint [options] [file|dir|glob]* 

Например:

npm

# Run on two files
npx eslint file1.js file2.js 

yarn

# Run on two files
yarn dlx eslint file1.js file2.js 

pnpm

# Run on two files
pnpm dlx eslint file1.js file2.js 

bun

# Run on two files
bunx eslint file1.js file2.js 

или

npm

# Run on multiple files
npx eslint lib/** 

yarn

# Run on multiple files
yarn dlx eslint lib/** 

pnpm

# Run on multiple files
pnpm dlx eslint lib/** 

bun

# Run on multiple files
bunx eslint lib/** 

Обратите внимание: если передать в качестве параметра шаблон glob, его развернёт оболочка командной строки. Результаты развертывания могут различаться в зависимости от используемой оболочки и её конфигурации. Если вы хотите использовать синтаксис node glob, параметр нужно заключить в кавычки (используйте двойные кавычки, если команда должна запускаться в Windows), например:

npm

npx eslint "lib/**" 

yarn

yarn dlx eslint "lib/**" 

pnpm

pnpm dlx eslint "lib/**" 

bun

bunx eslint "lib/**" 

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

npm

npx eslint . 

yarn

yarn dlx eslint . 

pnpm

pnpm dlx eslint . 

bun

bunx eslint . 

npm

npx eslint 

yarn

yarn dlx eslint 

pnpm

pnpm dlx eslint 

bun

bunx eslint 

Примечание: для запуска ESLint можно также использовать другие менеджеры пакетов, например Yarn или pnpm. Для pnpm используйте pnpm dlx eslint, а для Yarn — yarn dlx eslint.

Передача нескольких значений параметру

Параметры, принимающие несколько значений, можно указывать повторно или передавать список значений, разделённых запятыми (кроме --ignore-pattern, который не поддерживает второй способ).

Примеры параметров, принимающих несколько значений:

npm

npx eslint --global describe --global it tests/ 

yarn

yarn dlx eslint --global describe --global it tests/ 

pnpm

pnpm dlx eslint --global describe --global it tests/ 

bun

bunx eslint --global describe --global it tests/ 

ИЛИ

npm

npx eslint --global describe,it tests/ 

yarn

yarn dlx eslint --global describe,it tests/ 

pnpm

pnpm dlx eslint --global describe,it tests/ 

bun

bunx eslint --global describe,it tests/ 

Параметры

Просмотреть все параметры CLI можно, выполнив npx eslint -h.

eslint [options] file.js [file.js] [dir]

Basic configuration:
  --no-config-lookup               Disable look up for eslint.config.js
  -c, --config path::String        Use this configuration instead of eslint.config.js, eslint.config.mjs, or eslint.config.cjs
  --inspect-config                 Open the config inspector with the current configuration
  --ext [String]                   Specify additional file extensions to lint
  --global [String]                Define global variables
  --parser String                  Specify the parser to be used
  --parser-options Object          Specify parser options

Specify Rules and Plugins:
  --plugin [String]                Specify plugins
  --rule Object                    Specify rules

Fix Problems:
  --fix                            Automatically fix problems
  --fix-dry-run                    Automatically fix problems without saving the changes to the file system
  --fix-type Array                 Specify the types of fixes to apply (directive, problem, suggestion, layout)

Ignore Files:
  --no-ignore                      Disable use of ignore files and patterns
  --ignore-pattern [String]        Patterns of files to ignore

Use stdin:
  --stdin                          Lint code provided on <STDIN> - default: false
  --stdin-filename String          Specify filename to process STDIN as

Handle Warnings:
  --quiet                          Report errors only - default: false
  --max-warnings Int               Number of warnings to trigger nonzero exit code - default: -1

Output:
  -o, --output-file path::String   Specify file to write report to
  -f, --format String              Use a specific output format - default: stylish
  --color, --no-color              Force enabling/disabling of color

Inline configuration comments:
  --no-inline-config               Prevent comments from changing config or rules
  --report-unused-disable-directives  Adds reported errors for unused eslint-disable and eslint-enable directives
  --report-unused-disable-directives-severity String  Chooses severity level for reporting unused eslint-disable and eslint-enable directives - either: off, warn, error, 0, 1, or 2
  --report-unused-inline-configs String  Adds reported errors for unused eslint inline config comments - either: off, warn, error, 0, 1, or 2

Caching:
  --cache                          Only check changed files - default: false
  --cache-file path::String        Path to the cache file. Deprecated: use --cache-location - default: .eslintcache
  --cache-location path::String    Path to the cache file or directory
  --cache-strategy String          Strategy to use for detecting changed files in the cache - either: metadata or content - default: metadata

Suppressing Violations:
  --suppress-all                   Suppress all violations - default: false
  --suppress-rule [String]         Suppress specific rules
  --suppressions-location path::String  Specify the location of the suppressions file
  --prune-suppressions             Prune unused suppressions - default: false
  --pass-on-unpruned-suppressions  Ignore unused suppressions - default: false

Miscellaneous:
  --init                           Run config initialization wizard - default: false
  --env-info                       Output execution environment information - default: false
  --no-error-on-unmatched-pattern  Prevent errors when pattern is unmatched
  --exit-on-fatal-error            Exit with exit code 2 in case of fatal error - default: false
  --no-warn-ignored                Suppress warnings when the file list includes ignored files
  --pass-on-no-patterns            Exit with exit code 0 in case no file patterns are passed
  --debug                          Output debugging information
  -h, --help                       Show help
  -v, --version                    Output the version number
  --print-config path::String      Print the configuration for the given file
  --stats                          Add statistics to the lint report - default: false
  --flag [String]                  Enable a feature flag
  --mcp                            Start the ESLint MCP server
  --concurrency Int|String         Number of linting threads, auto to choose automatically, off for no multithreading - default: off

Основная конфигурация

--no-config-lookup

Отключает использование конфигурации из файлов.

  • Тип аргумента: без аргумента.
Пример использования --no-config-lookup

npm

npx eslint --no-config-lookup file.js 

yarn

yarn dlx eslint --no-config-lookup file.js 

pnpm

pnpm dlx eslint --no-config-lookup file.js 

bun

bunx eslint --no-config-lookup file.js 

-c, --config

Этот параметр позволяет указать дополнительный файл конфигурации ESLint (подробнее см. раздел Настройка ESLint).

  • Тип аргумента: строка. Путь к файлу.
  • Несколько аргументов: нет
Пример использования -c, --config

npm

npx eslint -c ~/my.eslint.config.js file.js 

yarn

yarn dlx eslint -c ~/my.eslint.config.js file.js 

pnpm

pnpm dlx eslint -c ~/my.eslint.config.js file.js 

bun

bunx eslint -c ~/my.eslint.config.js file.js 

В этом примере используется файл конфигурации ~/my.eslint.config.js вместо поиска файла eslint.config.js.

--inspect-config

Этот параметр запускает npx @eslint/config-inspector@latest для открытия инспектора конфигурации. С его помощью можно лучше понять, что делает конфигурация и к каким файлам она применяется. При использовании этого флага CLI не выполняет проверку кода.

  • Тип аргумента: без аргумента.
Пример использования --inspect-config

npm

npx eslint --inspect-config 

yarn

yarn dlx eslint --inspect-config 

pnpm

pnpm dlx eslint --inspect-config 

bun

bunx eslint --inspect-config 

--ext

Этот параметр позволяет указать дополнительные расширения файлов для проверки.

  • Тип аргумента: строка. Расширение файла.
  • Несколько аргументов: да
  • Значение по умолчанию: по умолчанию ESLint проверяет файлы с расширениями .js, .mjs, .cjs, а также дополнительные расширения, указанные в файле конфигурации.

Этот параметр в первую очередь предназначен для использования вместе с параметром --no-config-lookup, поскольку в этом случае файл конфигурации, в котором можно было бы указать дополнительные расширения, отсутствует.

Пример использования --ext

npm

# Include .ts files
npx eslint . --ext .ts 

yarn

# Include .ts files
yarn dlx eslint . --ext .ts 

pnpm

# Include .ts files
pnpm dlx eslint . --ext .ts 

bun

# Include .ts files
bunx eslint . --ext .ts 

npm

# Include .ts and .tsx files
npx eslint . --ext .ts --ext .tsx 

yarn

# Include .ts and .tsx files
yarn dlx eslint . --ext .ts --ext .tsx 

pnpm

# Include .ts and .tsx files
pnpm dlx eslint . --ext .ts --ext .tsx 

bun

# Include .ts and .tsx files
bunx eslint . --ext .ts --ext .tsx 

npm

# Also include .ts and .tsx files
npx eslint . --ext .ts,.tsx 

yarn

# Also include .ts and .tsx files
yarn dlx eslint . --ext .ts,.tsx 

pnpm

# Also include .ts and .tsx files
pnpm dlx eslint . --ext .ts,.tsx 

bun

# Also include .ts and .tsx files
bunx eslint . --ext .ts,.tsx 

--global

Этот параметр определяет глобальные переменные, чтобы правило no-undef не считало их неопределёнными.

  • Тип аргумента: строка. Имя глобальной переменной. По умолчанию все указанные глобальные переменные считаются доступными только для чтения, но если добавить :true к имени переменной, no-undef также разрешит запись.
  • Несколько аргументов: да
Пример использования --global

npm

npx eslint --global require,exports:true file.js 

yarn

yarn dlx eslint --global require,exports:true file.js 

pnpm

pnpm dlx eslint --global require,exports:true file.js 

bun

bunx eslint --global require,exports:true file.js 

npm

npx eslint --global require --global exports:true 

yarn

yarn dlx eslint --global require --global exports:true 

pnpm

pnpm dlx eslint --global require --global exports:true 

bun

bunx eslint --global require --global exports:true 

--parser

Этот параметр позволяет указать анализатор, который будет использовать ESLint.

  • Тип аргумента: строка. Анализатор, который будет использовать ESLint.
  • Несколько аргументов: нет
  • Значение по умолчанию: espree
Пример использования --parser

npm

# Use TypeScript ESLint parser
npx eslint --parser @typescript-eslint/parser file.ts 

yarn

# Use TypeScript ESLint parser
yarn dlx eslint --parser @typescript-eslint/parser file.ts 

pnpm

# Use TypeScript ESLint parser
pnpm dlx eslint --parser @typescript-eslint/parser file.ts 

bun

# Use TypeScript ESLint parser
bunx eslint --parser @typescript-eslint/parser file.ts 

--parser-options

Этот параметр позволяет задать параметры анализатора, который будет использовать ESLint. Доступные параметры зависят от используемого анализатора.

  • Тип аргумента: пара «ключ/значение», разделённая двоеточием (:).
  • Несколько аргументов: да
Пример использования --parser-options

npm

# fails with a parsing error
echo '3 ** 4' | npx eslint --stdin --parser-options ecmaVersion:6 

yarn

# fails with a parsing error
echo '3 ** 4' | yarn dlx eslint --stdin --parser-options ecmaVersion:6 

pnpm

# fails with a parsing error
echo '3 ** 4' | pnpm dlx eslint --stdin --parser-options ecmaVersion:6 

bun

# fails with a parsing error
echo '3 ** 4' | bunx eslint --stdin --parser-options ecmaVersion:6 

npm

# succeeds, yay!
echo '3 ** 4' | npx eslint --stdin --parser-options ecmaVersion:7 

yarn

# succeeds, yay!
echo '3 ** 4' | yarn dlx eslint --stdin --parser-options ecmaVersion:7 

pnpm

# succeeds, yay!
echo '3 ** 4' | pnpm dlx eslint --stdin --parser-options ecmaVersion:7 

bun

# succeeds, yay!
echo '3 ** 4' | bunx eslint --stdin --parser-options ecmaVersion:7 

Указание правил и плагинов

--plugin

Этот параметр указывает плагин для загрузки.

  • Тип аргумента: строка. Название плагина. При желании из названия плагина можно опустить префикс eslint-plugin-.
  • Несколько аргументов: да

Перед использованием плагин необходимо установить с помощью npm.

Пример использования --plugin

npm

npx eslint --plugin jquery file.js 

yarn

yarn dlx eslint --plugin jquery file.js 

pnpm

pnpm dlx eslint --plugin jquery file.js 

bun

bunx eslint --plugin jquery file.js 

npm

npx eslint --plugin eslint-plugin-mocha file.js 

yarn

yarn dlx eslint --plugin eslint-plugin-mocha file.js 

pnpm

pnpm dlx eslint --plugin eslint-plugin-mocha file.js 

bun

bunx eslint --plugin eslint-plugin-mocha file.js 

--rule

Этот параметр указывает используемые правила.

  • Тип аргумента: правила и их настройки в формате levn.
  • Несколько аргументов: да

Эти правила объединяются с правилами, заданными в файлах конфигурации. Если правило определено в плагине, перед его идентификатором нужно указать имя плагина и /.

Чтобы игнорировать правила из файлов конфигурации и запускать только правила, указанные в командной строке, используйте флаг --rule вместе с флагом --no-config-lookup.

Пример использования --rule

npm

# Apply single rule
npx eslint --rule 'quotes: [error, double]' 

yarn

# Apply single rule
yarn dlx eslint --rule 'quotes: [error, double]' 

pnpm

# Apply single rule
pnpm dlx eslint --rule 'quotes: [error, double]' 

bun

# Apply single rule
bunx eslint --rule 'quotes: [error, double]' 

npm

# Apply multiple rules
npx eslint --rule 'guard-for-in: error' --rule 'brace-style: [error, 1tbs]' 

yarn

# Apply multiple rules
yarn dlx eslint --rule 'guard-for-in: error' --rule 'brace-style: [error, 1tbs]' 

pnpm

# Apply multiple rules
pnpm dlx eslint --rule 'guard-for-in: error' --rule 'brace-style: [error, 1tbs]' 

bun

# Apply multiple rules
bunx eslint --rule 'guard-for-in: error' --rule 'brace-style: [error, 1tbs]' 

npm

# Apply rule from jquery plugin
npx eslint --rule 'jquery/dollar-sign: error' 

yarn

# Apply rule from jquery plugin
yarn dlx eslint --rule 'jquery/dollar-sign: error' 

pnpm

# Apply rule from jquery plugin
pnpm dlx eslint --rule 'jquery/dollar-sign: error' 

bun

# Apply rule from jquery plugin
bunx eslint --rule 'jquery/dollar-sign: error' 

npm

# Only apply rule from the command line
npx eslint --rule 'quotes: [error, double]' --no-config-lookup 

yarn

# Only apply rule from the command line
yarn dlx eslint --rule 'quotes: [error, double]' --no-config-lookup 

pnpm

# Only apply rule from the command line
pnpm dlx eslint --rule 'quotes: [error, double]' --no-config-lookup 

bun

# Only apply rule from the command line
bunx eslint --rule 'quotes: [error, double]' --no-config-lookup 

Исправление проблем

--fix

Этот параметр указывает ESLint попытаться исправить как можно больше проблем. Исправления вносятся непосредственно в файлы, а в вывод попадают только оставшиеся неисправленные проблемы.

  • Тип аргумента: без аргумента.

Не все проблемы можно исправить с помощью этого параметра. Он не работает в следующих ситуациях:

  1. При передаче кода в ESLint через конвейер этот параметр вызывает ошибку.
  2. Этот параметр не влияет на код, обрабатываемый процессором, если только процессор не поддерживает автоматическое исправление.

Чтобы исправить код из stdin или получить исправления, не записывая их в файл, используйте параметр --fix-dry-run.

Пример --fix

npm

npx eslint --fix file.js 

yarn

yarn dlx eslint --fix file.js 

pnpm

pnpm dlx eslint --fix file.js 

bun

bunx eslint --fix file.js 

--fix-dry-run

Этот параметр действует так же, как --fix, но исправления не сохраняются в файловой системе. Поскольку форматтер по умолчанию не выводит исправленный код, для получения исправлений необходимо использовать другой форматтер (например, --format json).

  • Тип аргумента: без аргумента.

Это позволяет исправлять код из stdin при использовании флага --stdin.

Этот флаг может быть полезен для интеграций (например, плагинов редактора), которым нужно автоматически исправлять текст из командной строки, не сохраняя его в файловой системе.

Пример --fix-dry-run

npm

getSomeText | npx eslint --stdin --fix-dry-run --format json 

yarn

getSomeText | yarn dlx eslint --stdin --fix-dry-run --format json 

pnpm

getSomeText | pnpm dlx eslint --stdin --fix-dry-run --format json 

bun

getSomeText | bunx eslint --stdin --fix-dry-run --format json 

--fix-type

Этот параметр позволяет указать тип исправлений, которые нужно применить при использовании --fix или --fix-dry-run.

  • Тип аргумента: строка. Один из следующих типов исправлений:
    1. problem — исправить потенциальные ошибки в коде
    2. suggestion — применить исправления, улучшающие код
    3. layout — применить исправления, не меняющие структуру программы (AST)
    4. directive — применить исправления к встроенным директивам, например // eslint-disable
  • Несколько аргументов: да

Этот параметр пригодится, если вы используете другую программу для форматирования кода, но хотите, чтобы ESLint применял исправления других типов.

Пример --fix-type

npm

npx eslint --fix --fix-type suggestion . 

yarn

yarn dlx eslint --fix --fix-type suggestion . 

pnpm

pnpm dlx eslint --fix --fix-type suggestion . 

bun

bunx eslint --fix --fix-type suggestion . 

npm

npx eslint --fix --fix-type suggestion --fix-type problem . 

yarn

yarn dlx eslint --fix --fix-type suggestion --fix-type problem . 

pnpm

pnpm dlx eslint --fix --fix-type suggestion --fix-type problem . 

bun

bunx eslint --fix --fix-type suggestion --fix-type problem . 

npm

npx eslint --fix --fix-type suggestion,layout . 

yarn

yarn dlx eslint --fix --fix-type suggestion,layout . 

pnpm

pnpm dlx eslint --fix --fix-type suggestion,layout . 

bun

bunx eslint --fix --fix-type suggestion,layout . 

Игнорирование файлов

--no-ignore

Отключает исключение файлов с помощью флагов --ignore-pattern и свойства ignores в конфигурации.

  • Тип аргумента: без аргумента.
Пример --no-ignore

npm

npx eslint --no-ignore file.js 

yarn

yarn dlx eslint --no-ignore file.js 

pnpm

pnpm dlx eslint --no-ignore file.js 

bun

bunx eslint --no-ignore file.js 

--ignore-pattern

Этот параметр позволяет указать шаблоны файлов, которые нужно игнорировать.

  • Тип аргумента: строка. Поддерживается тот же синтаксис, что и для шаблонов ignores, использующих синтаксис minimatch. Заключайте шаблоны в кавычки, чтобы избежать интерпретации шаблонов glob командной оболочкой.
  • Несколько аргументов: да
Пример --ignore-pattern

npm

npx eslint --ignore-pattern "/lib/" --ignore-pattern "/src/vendor/*" . 

yarn

yarn dlx eslint --ignore-pattern "/lib/" --ignore-pattern "/src/vendor/*" . 

pnpm

pnpm dlx eslint --ignore-pattern "/lib/" --ignore-pattern "/src/vendor/*" . 

bun

bunx eslint --ignore-pattern "/lib/" --ignore-pattern "/src/vendor/*" . 

Использование stdin

--stdin

Этот параметр указывает ESLint считывать и проверять исходный код из STDIN, а не из файлов. С его помощью можно передавать код в ESLint через конвейер.

  • Тип аргумента: без аргумента.
Пример --stdin

npm

cat myFile.js | npx eslint --stdin 

yarn

cat myFile.js | yarn dlx eslint --stdin 

pnpm

cat myFile.js | pnpm dlx eslint --stdin 

bun

cat myFile.js | bunx eslint --stdin 

--stdin-filename

Этот параметр позволяет указать имя файла, под которым следует обработать STDIN.

  • Тип аргумента: строка. Путь к файлу.
  • Несколько аргументов: нет

Это полезно при обработке файлов из STDIN, если у вас есть правила, зависящие от имени файла.

Пример --stdin-filename

npm

cat myFile.js | npx eslint --stdin --stdin-filename myfile.js 

yarn

cat myFile.js | yarn dlx eslint --stdin --stdin-filename myfile.js 

pnpm

cat myFile.js | pnpm dlx eslint --stdin --stdin-filename myfile.js 

bun

cat myFile.js | bunx eslint --stdin --stdin-filename myfile.js 

Обработка предупреждений

--quiet

Этот параметр позволяет отключить вывод предупреждений и запуск правил, настроенных на предупреждение. Если включить этот параметр, ESLint будет выводить только ошибки и запускать только правила, настроенные на ошибку.

  • Тип аргумента: без аргумента.
Пример --quiet

npm

npx eslint --quiet file.js 

yarn

yarn dlx eslint --quiet file.js 

pnpm

pnpm dlx eslint --quiet file.js 

bun

bunx eslint --quiet file.js 

--max-warnings

Этот параметр позволяет задать порог предупреждений. Его можно использовать, чтобы ESLint завершал работу с ошибкой, если в проекте слишком много нарушений правил с уровнем предупреждения.

  • Тип аргумента: целое число. Максимальное допустимое количество предупреждений. Чтобы отключить такое поведение, не используйте этот параметр или укажите -1 в качестве аргумента.
  • Несколько аргументов: нет

Обычно, если ESLint запускается и не находит ошибок (только предупреждения), он завершает работу с кодом успешного завершения. Однако если указан --max-warnings и общее количество предупреждений превышает заданный порог, ESLint завершает работу с ошибкой.

Важно

При использовании вместе с --quiet правила, отмеченные как предупреждения, будут выполняться, но не выводиться.

Пример --max-warnings

npm

npx eslint --max-warnings 10 file.js 

yarn

yarn dlx eslint --max-warnings 10 file.js 

pnpm

pnpm dlx eslint --max-warnings 10 file.js 

bun

bunx eslint --max-warnings 10 file.js 

Вывод

-o, --output-file

Записывает результаты проверки в указанный файл.

  • Тип аргумента: строка. Путь к файлу.
  • Несколько аргументов: нет
Пример -o, --output-file

npm

npx eslint -o ./test/test.html 

yarn

yarn dlx eslint -o ./test/test.html 

pnpm

pnpm dlx eslint -o ./test/test.html 

bun

bunx eslint -o ./test/test.html 

-f, --format

Этот параметр задаёт формат вывода для консоли.

  • Тип аргумента: строка. Один из встроенных форматтеров или пользовательский форматтер.
  • Несколько аргументов: нет
  • Значение по умолчанию: stylish

Если используется пользовательский форматтер, определённый в локальном файле, можно указать путь к этому файлу.

Форматтер, установленный через npm, разрешается как с префиксом eslint-formatter-, так и без него.

При указании заданный формат выводится в консоль. Чтобы сохранить этот вывод в файл, можно выполнить в командной строке следующее:

npm

# Saves the output into the `results.json` file.
npx eslint -f json file.js > results.json 

yarn

# Saves the output into the `results.json` file.
yarn dlx eslint -f json file.js > results.json 

pnpm

# Saves the output into the `results.json` file.
pnpm dlx eslint -f json file.js > results.json 

bun

# Saves the output into the `results.json` file.
bunx eslint -f json file.js > results.json 
Пример -f, --format

Используйте встроенный форматтер json:

npm

npx eslint --format json file.js 

yarn

yarn dlx eslint --format json file.js 

pnpm

pnpm dlx eslint --format json file.js 

bun

bunx eslint --format json file.js 

Используйте локальный пользовательский форматтер:

npm

npx eslint -f ./customformat.js file.js 

yarn

yarn dlx eslint -f ./customformat.js file.js 

pnpm

pnpm dlx eslint -f ./customformat.js file.js 

bun

bunx eslint -f ./customformat.js file.js 

Используйте форматтер, установленный через npm:

npm

npm install eslint-formatter-pretty

yarn

yarn add eslint-formatter-pretty

pnpm

pnpm add eslint-formatter-pretty

bun

bun add eslint-formatter-pretty

Затем выполните одну из следующих команд

npm

npx eslint -f pretty file.js 

yarn

yarn dlx eslint -f pretty file.js 

pnpm

pnpm dlx eslint -f pretty file.js 

bun

bunx eslint -f pretty file.js 

или, альтернативно,

npm

npx eslint -f eslint-formatter-pretty file.js 

yarn

yarn dlx eslint -f eslint-formatter-pretty file.js 

pnpm

pnpm dlx eslint -f eslint-formatter-pretty file.js 

bun

bunx eslint -f eslint-formatter-pretty file.js 

--color и --no-color

Эти параметры принудительно включают или отключают цветной вывод.

  • Тип аргумента: без аргумента.

Эти параметры позволяют переопределить поведение по умолчанию: цветной вывод включён, если не обнаружен TTY, например при передаче eslint через cat или less.

Предупреждение

Если не указан ни --color, ни --no-color, форматтер может решить, использовать ли цветной вывод, исходя из среды выполнения. Например, при использовании форматтера stylish по умолчанию в Node.js на использование цветов могут влиять переменные среды FORCE_COLOR, NO_COLOR или NODE_DISABLE_COLORS.

Пример --color и --no-color

npm

npx eslint --color file.js | cat 

yarn

yarn dlx eslint --color file.js | cat 

pnpm

pnpm dlx eslint --color file.js | cat 

bun

bunx eslint --color file.js | cat 

npm

npx eslint --no-color file.js 

yarn

yarn dlx eslint --no-color file.js 

pnpm

pnpm dlx eslint --no-color file.js 

bun

bunx eslint --no-color file.js 

Встроенные комментарии конфигурации

--no-inline-config

Этот параметр не позволяет встроенным комментариям, например /*eslint-disable*/ или /*global foo*/, оказывать какое-либо влияние.

  • Тип аргумента: без аргумента.

Это позволяет задать конфигурацию ESLint, которую не могут изменить файлы. Игнорируются все встроенные комментарии конфигурации, например:

  • /*eslint-disable*/
  • /*eslint-enable*/
  • /*global*/
  • /*eslint*/
  • // eslint-disable-line
  • // eslint-disable-next-line
Пример --no-inline-config

npm

npx eslint --no-inline-config file.js 

yarn

yarn dlx eslint --no-inline-config file.js 

pnpm

pnpm dlx eslint --no-inline-config file.js 

bun

bunx eslint --no-inline-config file.js 

--report-unused-disable-directives

Этот параметр заставляет ESLint сообщать о комментариях-директивах, например // eslint-disable-line, если в этой строке в любом случае не было бы ошибок.

  • Тип аргумента: без аргумента.

Это может помочь предотвратить неожиданное подавление будущих ошибок: достаточно удалить устаревшие комментарии eslint-disable и eslint-enable, которые больше не применимы.

Предупреждение

При использовании этого параметра после обновления ESLint или пользовательских правил могут начать сообщаться новые ошибки.

Например, предположим, что в правиле есть ошибка, из-за которой оно сообщает о ложном срабатывании, и для подавления неверного сообщения добавлен комментарий eslint-disable. Если затем ошибка исправлена в патч-релизе ESLint, комментарий eslint-disable становится неиспользуемым, поскольку ESLint больше не сообщает об ошибке. Если используется параметр --report-unused-disable-directives, это приведёт к новому сообщению об ошибке из-за неиспользуемой директивы.

Пример --report-unused-disable-directives

npm

npx eslint --report-unused-disable-directives file.js 

yarn

yarn dlx eslint --report-unused-disable-directives file.js 

pnpm

pnpm dlx eslint --report-unused-disable-directives file.js 

bun

bunx eslint --report-unused-disable-directives file.js 

--report-unused-disable-directives-severity

То же, что и --report-unused-disable-directives, но позволяет указать уровень серьезности (error, warn, off) сообщаемых ошибок. Одновременно можно использовать только один из этих двух параметров.

  • Тип аргумента: строка. Одно из следующих значений:
    1. off (или 0)
    2. warn (или 1)
    3. error (или 2)
  • Несколько аргументов: нет
  • Значение по умолчанию: по умолчанию используется параметр конфигурации linterOptions.reportUnusedDisableDirectives (значение по умолчанию — "warn").
Пример --report-unused-disable-directives-severity

npm

npx eslint --report-unused-disable-directives-severity warn file.js 

yarn

yarn dlx eslint --report-unused-disable-directives-severity warn file.js 

pnpm

pnpm dlx eslint --report-unused-disable-directives-severity warn file.js 

bun

bunx eslint --report-unused-disable-directives-severity warn file.js 

--report-unused-inline-configs

Этот параметр заставляет ESLint сообщать о встроенных комментариях конфигурации, например /* eslint rule-name: "error" */, если уровень серьезности правила и любые его параметры совпадают с уже настроенными.

  • Тип аргумента: строка. Одно из следующих значений:
    1. off (или 0)
    2. warn (или 1)
    3. error (или 2)
  • Несколько аргументов: нет
  • Значение по умолчанию: по умолчанию используется параметр конфигурации linterOptions.reportUnusedInlineConfigs (значение по умолчанию — "off").

Это может быть полезно для поддержания чистоты файлов и избавления от вводящего в заблуждение лишнего содержимого. Встроенные комментарии конфигурации предназначены для изменения поведения ESLint: если они ничего не меняют, нет причин оставлять их в коде.

Пример --report-unused-inline-configs
npx eslint --report-unused-inline-configs error file.js

Кэширование

--cache

Сохраняет сведения об обработанных файлах, чтобы выполнять проверку только для измененных файлов. Включение этого параметра может значительно повысить производительность ESLint, поскольку проверяться будут только измененные файлы. По умолчанию кэш хранится в .eslintcache.

  • Тип аргумента: аргумент не требуется.

Если запустить ESLint с --cache, а затем без --cache, файл .eslintcache будет удален. Это необходимо, поскольку результаты проверки могут измениться, из-за чего .eslintcache станет недействительным. Если вы хотите самостоятельно контролировать момент удаления файла кэша, используйте --cache-location, чтобы указать другое расположение файла кэша.

Файлы, автоматически исправленные, не помещаются в кэш. При последующей проверке, которая не приводит к автоматическому исправлению, файл будет помещен в кэш.

Пример --cache

npm

npx eslint --cache file.js 

yarn

yarn dlx eslint --cache file.js 

pnpm

pnpm dlx eslint --cache file.js 

bun

bunx eslint --cache file.js 

--cache-file

Устарело: используйте вместо этого --cache-location.

Путь к файлу кэша. Если путь не указан, используется .eslintcache. Файл создается в каталоге, из которого выполняется команда eslint.

--cache-location

Укажите путь к расположению кэша. Это может быть файл или каталог.

  • Тип аргумента: строка. Путь к файлу или каталогу. Если указан каталог, файл кэша создается в указанной папке. Имя файла определяется на основе хеша текущего рабочего каталога, например: .cache_hashOfCWD.
  • Несколько аргументов: нет
  • Значение по умолчанию: если расположение не указано, используется .eslintcache. Файл создается в каталоге, из которого выполняется команда eslint.

Если каталог для кэша не существует, не забудьте добавить завершающий символ / в системах *nix или \ в Windows. В противном случае путь будет считаться путем к файлу.

Пример --cache-location

npm

npx eslint "src/**/*.js" --cache --cache-location "/Users/user/.eslintcache/" 

yarn

yarn dlx eslint "src/**/*.js" --cache --cache-location "/Users/user/.eslintcache/" 

pnpm

pnpm dlx eslint "src/**/*.js" --cache --cache-location "/Users/user/.eslintcache/" 

bun

bunx eslint "src/**/*.js" --cache --cache-location "/Users/user/.eslintcache/" 

--cache-strategy

Стратегия кэширования для обнаружения измененных файлов.

  • Тип аргумента: строка. Одно из следующих значений:
    1. metadata
    2. content
  • Несколько аргументов: нет
  • Значение по умолчанию: metadata

Стратегия content может быть полезна в случаях, когда время изменения файлов меняется, даже если их содержимое осталось прежним. Например, это может происходить при выполнении операций git, таких как git clone, поскольку git не отслеживает время изменения файлов.

Пример --cache-strategy

npm

npx eslint "src/**/*.js" --cache --cache-strategy content 

yarn

yarn dlx eslint "src/**/*.js" --cache --cache-strategy content 

pnpm

pnpm dlx eslint "src/**/*.js" --cache --cache-strategy content 

bun

bunx eslint "src/**/*.js" --cache --cache-strategy content 

Подавление нарушений

--suppress-all

Подавляет существующие нарушения, чтобы они не отображались при последующих запусках. Это позволяет включить одно или несколько правил линтинга и получать уведомления только о новых нарушениях. По умолчанию подавления сохраняются в eslint-suppressions.json, если другое расположение не задано с помощью --suppressions-location. Файл обновляется с учетом новых подавлений.

  • Тип аргумента: аргумент не требуется.
Пример --suppress-all

npm

npx eslint "src/**/*.js" --suppress-all 

yarn

yarn dlx eslint "src/**/*.js" --suppress-all 

pnpm

pnpm dlx eslint "src/**/*.js" --suppress-all 

bun

bunx eslint "src/**/*.js" --suppress-all 

--suppress-rule

Подавляет нарушения для определенных правил, чтобы они не отображались при последующих запусках. Как и в случае с --suppress-all, по умолчанию подавления сохраняются в eslint-suppressions.json, если другое расположение не задано с помощью --suppressions-location. Файл обновляется с учетом новых подавлений.

  • Тип аргумента: строка. Идентификатор правила.
  • Несколько аргументов: да
Пример --suppress-rule

npm

npx eslint "src/**/*.js" --suppress-rule no-console --suppress-rule indent 

yarn

yarn dlx eslint "src/**/*.js" --suppress-rule no-console --suppress-rule indent 

pnpm

pnpm dlx eslint "src/**/*.js" --suppress-rule no-console --suppress-rule indent 

bun

bunx eslint "src/**/*.js" --suppress-rule no-console --suppress-rule indent 

--suppressions-location

Укажите путь к расположению файла подавлений. Это может быть файл или каталог.

  • Тип аргумента: строка. Путь к файлу. Если указан каталог, файл кэша создается в указанной папке. Имя файла определяется на основе хеша текущего рабочего каталога, например: suppressions_hashOfCWD
  • Несколько аргументов: нет
  • Значение по умолчанию: если расположение не указано, используется eslint-suppressions.json. Файл создается в каталоге, из которого выполняется команда eslint.
Пример --suppressions-location

npm

npx eslint "src/**/*.js" --suppressions-location ".eslint-suppressions-example.json" 

yarn

yarn dlx eslint "src/**/*.js" --suppressions-location ".eslint-suppressions-example.json" 

pnpm

pnpm dlx eslint "src/**/*.js" --suppressions-location ".eslint-suppressions-example.json" 

bun

bunx eslint "src/**/*.js" --suppressions-location ".eslint-suppressions-example.json" 

--prune-suppressions

Удаляет неиспользуемые подавления из файла подавлений. Этот параметр полезен, если вы исправили одно или несколько подавленных нарушений.

  • Тип аргумента: аргумент не требуется.
Пример --prune-suppressions

npm

npx eslint "src/**/*.js" --prune-suppressions 

yarn

yarn dlx eslint "src/**/*.js" --prune-suppressions 

pnpm

pnpm dlx eslint "src/**/*.js" --prune-suppressions 

bun

bunx eslint "src/**/*.js" --prune-suppressions 

--pass-on-unpruned-suppressions

Игнорирует неиспользуемые подавления. По умолчанию ESLint завершается с кодом выхода 2 и отображает сообщение об ошибке, если в файле подавлений есть неиспользуемые подавления. При использовании этого флага неиспользуемые подавления не влияют на код выхода, и ESLint не сообщает об ошибке из-за неиспользуемых подавлений.

  • Тип аргумента: аргумент не требуется.
Пример --pass-on-unpruned-suppressions

npm

npx eslint "src/**/*.js" --pass-on-unpruned-suppressions 

yarn

yarn dlx eslint "src/**/*.js" --pass-on-unpruned-suppressions 

pnpm

pnpm dlx eslint "src/**/*.js" --pass-on-unpruned-suppressions 

bun

bunx eslint "src/**/*.js" --pass-on-unpruned-suppressions 

Прочее

--init

Этот параметр запускает npm init @eslint/config, чтобы открыть мастер настройки конфигурации. Он предназначен для помощи новым пользователям в быстром создании файла eslint.config.js путем ответа на несколько вопросов. При использовании этого флага CLI не выполняет линтинг.

  • Тип аргумента: аргумент не требуется.

Созданный файл конфигурации помещается в текущий каталог.

Пример --init

npm

npx eslint --init 

yarn

yarn dlx eslint --init 

pnpm

pnpm dlx eslint --init 

bun

bunx eslint --init 

--env-info

Этот параметр выводит сведения о среде выполнения, включая версии Node.js и npm, а также локальные и глобальные установки ESLint.

  • Тип аргумента: аргумент не требуется.

Команда ESLint может запросить эти сведения, чтобы помочь устранить ошибки. При использовании этого флага CLI не выполняет линтинг.

Пример --env-info

npm

npx eslint --env-info 

yarn

yarn dlx eslint --env-info 

pnpm

pnpm dlx eslint --env-info 

bun

bunx eslint --env-info 

--no-error-on-unmatched-pattern

Этот параметр предотвращает появление ошибок, если заключенный в кавычки шаблон glob не соответствует ни одному файлу. Он не предотвращает появление ошибок, если оболочка не может сопоставить шаблон glob.

  • Тип аргумента: аргумент не требуется.
Пример --no-error-on-unmatched-pattern

npm

npx eslint --no-error-on-unmatched-pattern --ext .ts "lib/*" 

yarn

yarn dlx eslint --no-error-on-unmatched-pattern --ext .ts "lib/*" 

pnpm

pnpm dlx eslint --no-error-on-unmatched-pattern --ext .ts "lib/*" 

bun

bunx eslint --no-error-on-unmatched-pattern --ext .ts "lib/*" 

--exit-on-fatal-error

Этот параметр заставляет ESLint завершаться с кодом выхода 2, если произошла одна или несколько критических ошибок разбора. Без этого параметра ESLint сообщает о критических ошибках разбора как о нарушениях правил.

  • Тип аргумента: аргумент не требуется.
Пример --exit-on-fatal-error

npm

npx eslint --exit-on-fatal-error file.js 

yarn

yarn dlx eslint --exit-on-fatal-error file.js 

pnpm

pnpm dlx eslint --exit-on-fatal-error file.js 

bun

bunx eslint --exit-on-fatal-error file.js 

--no-warn-ignored

Этот параметр подавляет предупреждения File ignored by default и File ignored because of a matching ignore pattern, когда явно передается имя файла, который игнорируется. Он полезен в сочетании с --max-warnings 0, поскольку предотвращает завершение с кодом 1 из-за упомянутого предупреждения.

  • Тип аргумента: аргумент не требуется.
Пример --no-warn-ignored

npm

npx eslint --no-warn-ignored --max-warnings 0 ignored-file.js 

yarn

yarn dlx eslint --no-warn-ignored --max-warnings 0 ignored-file.js 

pnpm

pnpm dlx eslint --no-warn-ignored --max-warnings 0 ignored-file.js 

bun

bunx eslint --no-warn-ignored --max-warnings 0 ignored-file.js 

--pass-on-no-patterns

Этот параметр позволяет ESLint завершиться с кодом 0, если шаблоны файлов или каталогов не указаны. Без этого параметра ESLint предполагает, что в качестве шаблона следует использовать ..

  • Тип аргумента: аргумент не требуется.
Пример --pass-on-no-patterns

npm

npx eslint --pass-on-no-patterns 

yarn

yarn dlx eslint --pass-on-no-patterns 

pnpm

pnpm dlx eslint --pass-on-no-patterns 

bun

bunx eslint --pass-on-no-patterns 

--debug

Этот параметр выводит отладочную информацию в консоль. Добавьте этот флаг в команду ESLint, чтобы получать дополнительные отладочные сведения во время ее выполнения.

  • Тип аргумента: аргумент не требуется.

Эти сведения полезны, если вы столкнулись с проблемой и не можете определить ее причину. Команда ESLint может запросить эту отладочную информацию, чтобы помочь устранить ошибки.

Пример --debug

npm

npx eslint --debug test.js 

yarn

yarn dlx eslint --debug test.js 

pnpm

pnpm dlx eslint --debug test.js 

bun

bunx eslint --debug test.js 

-h, --help

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

  • Тип аргумента: аргумент не требуется.
Пример -h, --help

npm

npx eslint --help 

yarn

yarn dlx eslint --help 

pnpm

pnpm dlx eslint --help 

bun

bunx eslint --help 

-v, --version

Этот параметр выводит текущую версию ESLint в консоль. При его указании все остальные параметры игнорируются. При использовании этого флага CLI не выполняет линтинг.

  • Тип аргумента: аргумент не требуется.
Пример -v, --version

npm

npx eslint --version 

yarn

yarn dlx eslint --version 

pnpm

pnpm dlx eslint --version 

bun

bunx eslint --version 

--print-config

Этот параметр выводит конфигурацию, которая будет применяться к указанному файлу. При его использовании линтинг не выполняется, и допустимы только параметры, связанные с конфигурацией. При использовании этого флага CLI не выполняет линтинг.

  • Тип аргумента: строка. Путь к файлу.
  • Несколько аргументов: нет
Пример --print-config

npm

npx eslint --print-config file.js 

yarn

yarn dlx eslint --print-config file.js 

pnpm

pnpm dlx eslint --print-config file.js 

bun

bunx eslint --print-config file.js 

--stats

Этот параметр добавляет серию подробных показателей производительности (см. Тип статистики), например время разбора, исправления и проверки (время выполнения каждого правила), в объекты result, передаваемые форматтеру (см. Использование статистики в CLI).

  • Тип аргумента: без аргумента.

Этот параметр предназначен для использования с пользовательскими форматтерами, отображающими статистику. Его также можно использовать со встроенным форматтером json.

Пример --stats

npm

npx eslint --stats --format json file.js 

yarn

yarn dlx eslint --stats --format json file.js 

pnpm

pnpm dlx eslint --stats --format json file.js 

bun

bunx eslint --stats --format json file.js 

--flag

Этот параметр включает один или несколько флагов функций ESLint.

  • Тип аргумента: строка. Идентификатор функции.
  • Несколько аргументов: да
Пример --flag

npm

npx eslint --flag x_feature file.js 

yarn

yarn dlx eslint --flag x_feature file.js 

pnpm

pnpm dlx eslint --flag x_feature file.js 

bun

bunx eslint --flag x_feature file.js 

--mcp

Этот параметр запускает MCP-сервер ESLint для использования с ИИ-агентами.

  • Тип аргумента: без аргумента.
  • Несколько аргументов: нет
Пример --mcp

npm

npx eslint --mcp 

yarn

yarn dlx eslint --mcp 

pnpm

pnpm dlx eslint --mcp 

bun

bunx eslint --mcp 

--concurrency

Этот параметр задаёт количество рабочих потоков, используемых для проверки файлов.

  • Тип аргумента: Int|String. Положительное целое число, auto или off.
  • Несколько аргументов: нет
  • Значение по умолчанию: off

Значение off приводит к тому, что все файлы проверяются в основном потоке. Значение auto позволяет автоматически определить оптимальную настройку.

Пример --concurrency

npm

npx eslint --concurrency auto 

yarn

yarn dlx eslint --concurrency auto 

pnpm

pnpm dlx eslint --concurrency auto 

bun

bunx eslint --concurrency auto 

Коды завершения

При проверке файлов ESLint завершается с одним из следующих кодов:

  • 0: проверка выполнена успешно, ошибок нет. Если флаг --max-warnings имеет значение n, количество предупреждений не превышает n.
  • 1: проверка выполнена, но обнаружена как минимум одна ошибка либо количество предупреждений превышает допустимое значение параметра --max-warnings.
  • 2: проверка не выполнена из-за проблемы с конфигурацией или внутренней ошибки.

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/use/command-line-interface

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API