Как исправить ошибки eslint

2 Answers

A slight change to the answer to work -as in my case it didn’t- would be adding the directory which has the js files which you want to apply linting to, or the file itself .

npm i -g eslint

eslint --fix .

OR

npm i -g eslint
eslint --fix file.js

answered Oct 5, 2020 at 5:04

Ahmed Maher's user avatar

Ahmed MaherAhmed Maher

1,54117 silver badges23 bronze badges

you can use eslint cli directly which would be faster, just run eslint --fix in the terminal

just make sure you installed eslint globally npm i -g eslint

answered Apr 3, 2019 at 22:48

Abdallatif Sulaiman's user avatar

Fixing problems

--fix

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

  1. Эта опция вызывает ошибку,когда код передается в ESLint.
  2. Эта опция не влияет на код,использующий процессор,если только процессор не разрешает автоисправление.

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

--fix-dry-run

Этот параметр имеет тот же эффект, что и --fix , с одним отличием: исправления не сохраняются в файловой системе. Это позволяет исправить код из stdin (при использовании с флагом --stdin ).

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

getSomeText | npx eslint 

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

--fix-type

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

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

В командной строке можно указать один или несколько типов исправлений.Приведем несколько примеров:

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

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

Ignoring files

--ignore-path

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

Example:

npx eslint --ignore-path tmp/.eslintignore file.jsnpx eslint --ignore-path .gitignore file.js

--no-ignore

Отключает исключение файлов из .eslintignore , --ignore-path , --ignore-pattern и ignorePatterns в файлах конфигурации.

Example:

npx eslint --no-ignore file.js

--ignore-pattern

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

Example:

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

Using stdin

--stdin

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

Example:

cat myfile.js | npx eslint --stdin

--stdin-filename

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

Example

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

Handling warnings

--quiet

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

Example:

npx eslint --quiet file.js

--max-warnings

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

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

Example:

npx eslint --max-warnings 10 file.js

Output

-o, --output-file

Включите запись отчета в файл.

Example:

npx eslint -o ./test/test.html

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

-f, --format

Эта опция задает выходной формат консоли.Возможные форматы:

  • checkstyle
  • compact
  • html
  • jslint-xml
  • json
  • junit
  • стильный (по умолчанию)
  • tap
  • unix
  • visualstudio

Example:

npx eslint -f compact file.js

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

Example:

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

Установленный npm форматтер разрешается с eslint-formatter- или без него .

Example:

npm install eslint-formatter-prettynpx eslint -f pretty file.js

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

npx eslint -f compact file.js > results.txt

Результат будет сохранен в файле results.txt .

--color, --no-color

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

Examples:

npx eslint 

--no-inline-config

Этот параметр предотвращает любые действия встроенных комментариев, таких как /*eslint-disable*/ или /*global foo*/ . Это позволяет вам установить конфигурацию ESLint без изменения файлов. Все встроенные комментарии к конфигурации игнорируются, например:

  • /*eslint-disable*/
  • /*eslint-enable*/
  • /*global*/
  • /*eslint*/
  • /*eslint-env*/
  • // eslint-disable-line
  • // eslint-disable-next-line

Example:

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

--report-unused-disable-directives

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

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

Example:

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

Caching

--cache

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

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

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

--cache-file

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

--cache-location

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

Если указан каталог, в указанной папке будет создан файл кеша. Имя файла будет основано на хеш-коде текущего рабочего каталога (CWD). например: .cache_hashOfCWD

Важное примечание: если каталог для кеша не существует, убедитесь, что вы добавили конечный / on * nix systems или \ in windows. В противном случае путь будет считаться файлом.

Example:

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

--cache-strategy

Стратегия использования кеша для обнаружения измененных файлов. Могут быть либо metadata либо content . Если стратегия не указана, будут использоваться metadata .

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

Example:

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

Miscellaneous

--init

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

Полученный конфигурационный файл будет создан в текущем каталоге.

--env-info

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

--no-error-on-unmatched-pattern

Эта опция предотвращает ошибки, когда шаблон глобуса в кавычках или --ext не имеет соответствия. Это не предотвратит ошибки, когда ваша оболочка не может сопоставить глобус.

--exit-on-fatal-error

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

--debug

Эта опция выводит отладочную информацию на консоль. Эта информация полезна, когда вы видите проблему и вам трудно ее точно определить. Команда ESLint может запросить эту отладочную информацию, чтобы помочь устранить ошибки. Добавьте этот флаг в вызов командной строки ESLint, чтобы получить дополнительную отладочную информацию при выполнении команды (например npx eslint --debug test.js и npx eslint test.js --debug эквивалентны)

-h, --help

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

-v, --version

Эта опция выводит текущую версию ESLint на консоль.Все остальные опции при их наличии игнорируются.

--print-config

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

Example:

npx eslint --print-config file.js

Игнорирование файлов из подшивки

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

temp.js**/vendor/*.js

Более подробную разбивку поддерживаемых шаблонов и каталогов, которые ESLint игнорирует по умолчанию, можно найти в Ignoring Code .

Exit codes

При перетаскивании файлов 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/user-guide/command-line-interface


ESLint

8.30

  • yoda

    Требовать или запрещать условия «Йода» Некоторые проблемы, о которых сообщает это правило, автоматически устраняются с помощью параметра командной строки. Условия Йоды названы так.

  • Интерфейс командной строки

    Для установки ESLint требуется Node.js.

  • Configuration Files

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

  • Использование конфигурации из плагина

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

ESLint — это инструмент, помогающий анализировать написанный на JavaScript код, находить синтаксические ошибки и автоматически их исправлять, писать аккуратный код в едином стиле по определённым правилам.

ESLint в терминале

Если у вас пока нет ESLint, его нужно установить из npm.

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

npm run lint

ESLint показывает, что нашёл 6 ошибок в файле main.js. Цифры слева говорят на какой строке, на каком символе, была найдена ошибка. Дальше в строке идёт описание ошибки. Например:

Текст 5 errors and 0 warnings potentially fixable with the —fix option после списка ошибок говорит о том, что пять из шести найденных ошибок ESLint сможет исправить автоматически.

Обратите внимание, что требования, по которым ESLint проверяет код, на каждом проекте могут быть свои, всё зависит от правил, принятых в команде. Например, в команде может быть принято использование двойных кавычек, в таком случае ESLint не будет ругаться на двойные кавычки, а вот при использовании одинарных возникнет ошибка. Такие правила описываются в специальном файле .eslintrc.

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

Для исправления ошибок у ESLint есть опция fix. Чтобы воспользоваться этой опцией, выполним в терминале команду

npm run lint -- --fix

Ключ --fix говорит о том, что мы хотим исправить ошибки автоматически, а два подчёркивания -- перед ключом помогают понять терминалу, что ключ относится не к команде npm run lint , а к тому, что за ней скрывается — к eslint.

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

ESLint в редакторе

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

Установка расширения для ESLint в VS Code

Расширение для ESLint в VS Code может попросить подтвердить его запуск, если пакет eslint установлен локально (наш случай). Когда расширение спросит, откуда брать пакет eslint, нужно нажать «Allow», чтобы разрешить использовать eslint в текущем проекте.

С помощью расширения для ESLint в редакторе можно автоматически исправить ошибки. Для этого нужно навести на подсвеченную ошибку, нажать кнопку Quick fix во всплывающем окошке и выбрать один из предложенных вариантов. Например, можно исправить только конкретную ошибку, а можно и все доступные разом. Если ошибка не может быть автоматически исправлена, вместо кнопки Quick fix появится текст No quick fixes available или будут предложены альтернативные варианты решения.

Установка расширения для ESLint в Atom

В Atom тоже требуется специальное расширение linter-eslint для работы ESLint. Чтобы в Atom установить расширение, нужно перейти в раздел настроек «Install Packages». Открыть его можно из окна команд (сочетание клавиш Ctrl + Shift + P на Windows и Command + Shift + P на macOS), введя в поиске «Install Packages».

Также нужный раздел настроек можно открыть через меню: Edit → Preferences → Install — на Windows, Atom → Preferences → Install — в macOS.

Далее ищем нужное расширение и устанавливаем его:

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

Теперь можно приступить к исправлению ошибок, исправить большинство ошибок можно автоматически, наведя на ошибку и нажав «Fix» или снова использовать окно команд, где выполнить Linter Eslint: Fix File.

Включение поддержки ESLint в WebStorm

В WebStorm не нужно устанавливать отдельное расширение, ESLint работает в этом редакторе «из коробки», достаточно только включить поддержку ESLint. Откройте окно Preferences с настройками, перейдите на вкладку ESLint (Languages and Frameworks → JavaScript → Code Quality Tools → ESLint) и выберете автоматическую конфигурацию ESLint — Automatic ESLint configuration. При автоматической конфигурации ESLint всегда будет искать в директории проекта файл .eslintrc с правилами оформления кода и ориентироваться на него.

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


«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Many React projects have ESLint set up and devs are fixing lint errors as they code. This is great for reducing bugs, and keeping code cleanly formatted.

However, sometimes there’s a situation where a project can have a lot of linting errors (i.e. adding ESLint to an existing project) and it would be tedious for a dev to fix them manually. Don’t worry, ESLint has a command for auto-fixing: eslint --fix!

In this article I’ll discuss the flags available for ‘fix’, the types of issues (problemsuggestionlayout) that ‘fix’ can resolve automatically, and options such as how to limit the amount of warnings, print to a file, and more.

Whether or not you have experience with ESLint, the primary thing you need to know for using ESLint commands is that it will only lint and fix according to the rules set in your .eslintrc.json file*. An .eslintrc.json file with lots of preconfigured rules can be found here at this ESLint playground (scroll to the bottom for the download).


Related: Test your TypeScript knowledge against these 50 difficult TypeScript questions.


*If you are running ‘fix’ from the eslint-cli, you can set rules with the --rule option.

There are three ways that ESLint fix can be run:

  • eslint --fix
  • eslint --fix-dry-run
  • eslint --fix --fix-type

eslint --fix will fix every rule violation it is capable of fixing, actually overwrite the code, and print out any warnings or errors it was incapable of fixing.

Most errors are not actually automatically fixable. Take a look at this documentation, the items with the ‘wrench’ image can be auto-fixed.

Here’s an interesting example: 0 == 0 can be automatically fixed (to 0 === 0), but comparing a variable likely won’t be fixed (i.e. x == 0). The linter has to err on the side of caution. It generally fixes redundancies and situations where typing can be certain.

The output from eslint --fix will be a list of errors and warnings. If desired, warnings can be silenced with the --quiet flag. Conversely, if desired, a maximum number of errors can be specified as ‘too many’ (--max-warnings [number]), and the linter will succeed but end with exit code 1 (more on that below).

eslint --fix-dry-run acts like fix but will not actually overwrite the file. Instead, specify an output location and a formatting option such as eslint --fix-dry-run --format=json -o ./test.test.json. This output will be quite verbose, naming the files that were linted and results.

eslint --fix --fix-type enables targeting of specific categories of issues to fix. We’ll discuss the types in more detail below, but an example command would be eslint --fix --fix-type layout. This would fix an issue such as having too much whitespace before a line of code, if the rule is designated in your .eslintrc.json file (this rule in particular would be “indent”: [“error”, 4] to limit whitespace to four characters).

Below is output from my project when I ran eslint --fix --fix-type problem \”src/**/*.tsx” . This command targeted all problems in my .tsx files under src folder.

ESLint Error Examples
Example output…had I specified -fix-type layout, it would have auto fixed the indentation error.

*A note on these commands: notice that--fix-type is preceded by -fix , while --fix-dry-run is not.

The Three Types of Fixable Issues

The three types of issue either fixed or reported by --fix are:

  • problem
  • suggestion
  • layout

According to the ESLint documentation:

  • a problem is code that will cause an error or confusion
  • a suggestion is code that could be done in a better way
  • layout deals with how the code looks

Now that we are familiar with the fix-type flag, let’s look again at the 0 == 0 issue. This is fixable as a suggestion. Issues such as whitespace count before the start of a code statement or extra parenthesis are fixable as layout.

ESLint –fix Warnings

When running eslint --fix, some rule violations result in warnings instead of errors. Take a look at the below TypeScript rule violations:

warning IObservableArray is defined but never used @typescript-eslint/no-unused-varswarning Unexpected any. Specify a different type @typescript-eslint/no-explicit-any

Generally, warnings don’t directly result in problems at runtime. However, many rules can be configured to show errors instead of warnings (or vice versa). For example, both of the issues listed above are included as warnings when extending @typescript-eslint/recommended like below in .eslintrc.json:

extends: [
  'plugin:@typescript-eslint/recommended'
]

However, I could have specified the below instead:

rules: [
"no-unused-vars": "error"
]

This would make the IObservableArray violation appear as an error instead of a warning. Error vs warning is partly a difference in what rules a particular team finds most critical to enforce.

The Three Exit Codes of ESLint fix Command

ESLint’s fix command has three possible exit codes:

  • 0: success and no lint errors, less warnings than max warnings
  • 1: linting was successful, at least one lint error or more warnings than max-warnings
  • 2: linting unsuccessful due to config error or internal error

The exit code will be at the end of the output and appear like this:

ESLint Exit Code

It’s best to fix the errors of course. However, keep in mind there is also the option (preferably only during testing) to ignore rules for individual lines. For example, // eslint-disable-next-line @typescript-eslint/no-explicit-any could be used to bypass the no-explicit-any warning mentioned previously.

TSLint –fix Differences

Even though TSLint is deprecated in favor of ESLint, many devs are still using TSLint (based on how many Google searches are still happening for TSLint topics).

TSLint has a --fix option, but it has no flags (i.e. no --dry-run option). TSLint also has different exit codes. From Palantir’s docs:

0: Linting succeeded without errors (warnings may have occurred)

1: An invalid command line argument or combination thereof was used

2: Linting failed with one or more rule violations with severity error

If you are still using TSLint, consider upgrading to typescript-eslint. Many of the commands and directives are the same, such as the directives for ignoring lines or rules.

Resources

Here’s how and when to specify global variables in your .eslintrc file.

Here’s how to configure the @typescript-eslint/ban-types rule in your project.

Expand your JavaScript knowledge with these 50 difficult JavaScript questions!

Normally I link to example React code and show screenshots of a working app. This article is different: the codebase doesn’t matter much, it’s all about the ESLint commands and the output. In addition to the code snippets and screenshots above, take a look at the below docs. They provide very detailed information about all the capabilities of ESLint fix.

  • ESLint docs: https://eslint.org/docs/user-guide/command-line-interface#fixing-problems
  • Old TSLint ‘fix’ command: https://palantir.github.io/tslint/usage/cli/
  • This is a good start to your .eslintrc.json file:
parser: '@typescript-eslint/parser',
extends: [
  'eslint:recommended',
  'plugin:react/recommended',
  'plugin:@typescript-eslint/recommended'
],
plugins: [
  'react-hooks'
]
  • This is an excellent resource: https://eslint.org/demo. You can scroll to the bottom and download the .eslintrc.json used for the rules in the demo. You likely will want to incorporate some of these rules in your own project.

Aug 7, 2020

ESLint’s --fix option tells ESLint to fix whatever
errors in your code that it knows how to fix.

Getting Started

For example, ESLint’s recommended config uses the no-extra-boolean-cast rule, which removes unnecessary !! in if statements. For example, suppose you have the
below test.js file. The !! in the if statement is unnecessary, because JavaScript if statements already check
for truthy values.

if (!!(typeof window === 'undefined')) {
  console.log('Hello from Node.js!');
}

Suppose you have the below .eslintrc.json config file:

{ 
  "parserOptions": {
    "ecmaVersion": 2020
  },
  "rules": {
    "no-extra-boolean-cast": "error"
  }
}

ESLint will report a «Redundant double negation» error:

$ ./node_modules/.bin/eslint ./test.js 

/scratch/test.js
  1:5  error  Redundant double negation  no-extra-boolean-cast

✖ 1 problem (1 error, 0 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.

$ cat ./test.js 

Notice the 1 error and 0 warnings potentially fixable with the --fix option line. That tells you that ESLint knows
how to fix this error. Run ./node_modules/.bin/eslint --fix ./test.js and that error goes away.

$ ./node_modules/.bin/eslint --fix ./test.js 
$ 
$ cat ./test.js
if (typeof window === 'undefined') {
  console.log('Hello from Node.js!');
}

Note that ESLint removed the unnecessary !!.

ESLint can only automatically fix violations for certain ESLint rules. ESLint’s rules page has a complete list of built-in ESLint rules and explains which
rules it can automatically apply fixes for.

With npm Scripts

Developers often run ESLint using npm run. How to run ESLint with fix via npm script is a common question on StackOverflow.

For example, suppose your package.json file includes the below lines:

"scripts": {
  "lint": "eslint ."
}

In order to run eslint --fix, you need to run npm run lint -- --fix. Note the extra --. You only need the -- if you’re running ESLint in an npm script!


More Eslint Tutorials

  • Intro to ESLint Config Files
  • Understanding ESLint Rules
  • Disable ESLint for a Single Line
  • Ignore Lines and Files In ESLint

Понравилась статья? Поделить с друзьями:
  • Как исправить ошибки на ноутбуке виндовс 10
  • Как исправить ошибки на системном жестком диске
  • Как исправить ошибки 1с через конфигуратор
  • Как исправить ошибка 651 на компьютере
  • Как исправить лексическую ошибку заменив неверно употребленное слово