Как настроить package.json для запуска скрипта eslint

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

Я могу сделать это через скрипт:

"lint": "eslint back/*.js && eslint backTest/*.js && eslint front/actions/*.js"

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

"lint": "eslint -r *.js"

Это избавило бы меня от необходимости вводить каждый файл отдельно.

Заранее спасибо за помощь


person Sam Houston    schedule 30.03.2016    source источник


Ответы (4)


eslint "**/*.js" для рекурсивного запуска всех файлов js во всех папках (в текущей папке)

Вы также можете сделать: AnyFolder/**/*.js

И игнорировать папку: eslint "**/*.js" --ignore-pattern node_modules/

Узнайте больше на eslint/command-line-interface.

person Community    schedule 30.03.2016
comment
Я установил eslint, используя крачку в своем кислороде затмения. Он удаляет все файлы, я должен настроить его только на файлы *.js. Что здесь можно сделать? - person Nikita Dhiman; 27.09.2017
comment
@Colin @Hadrian Разве eslint по умолчанию не анализирует ТОЛЬКО файлы *.js? Также читая документы, если вы добавите ., достаточно просмотреть все поддеревья в поисках js-файлов. - person Saba Ahang; 29.05.2018
comment
ESLint всегда игнорирует файлы в /node_modules/* и /bower_components/*. Документация Редактировать: Хорошо, я понял, что ваш ответ также игнорирует node_modules в дочернем пути, мой плохой. - person user5532169; 04.09.2018

eslint . --ext .js для проверки файлов с расширением .js.

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

Чтобы включить другие расширения файлов, eslint . --ext .js,.jsx или eslint . --ext .js --ext .jsx.

Этот параметр описан в документации eslint.

person TranBrian10    schedule 06.12.2017

Я не уверен, что принятый ответ устарел, но, посмотрев на документы,

По умолчанию в качестве единственного расширения файла используется .js.

Кроме того, согласно комментарию к проекту на Github, с использованием . равно работает во всех подкаталогах. Мне кажется, что запуска eslint . должно быть достаточно (хотя это не распространяется на новые файлы модуля ES .mjs).

person Saba Ahang    schedule 29.05.2018

Чтобы добавить к решению TranBrian10, я установил eslint локально, поэтому вызов eslint в терминале приводит к ошибке command not found.

Я смог обойти это, используя вместо этого npx eslint:

`eslint . --ext .js` -> `npx eslint . --ext .js`

И, как заметил GollyJer, это не будет работать для Windows из-за синтаксиса .

person Mark Thompson    schedule 30.01.2020