eslint не игнорирует node_modules и получает ошибку при попытке lint
Я пытаюсь реализовать
eslint
в
Next.js
файловая структура выглядит так, как показано ниже.
.eslintignore
.eslintrc.js
.next
.prettierrc
.stylelintrc.js
components
forms
modals
modules
node_modules
И я имею
node_modules/*
в моем
.eslintignore
файл. Когда я пытаюсь разложить их
eslint --fix /sources/**/*.js
Я получаю ошибку ниже
You are linting "/sources/node_modules/ally.js", but all of the files matching the glob pattern "/sources/node_modules/ally.js" are ignored.
Кто-нибудь может помочь мне решить эту проблему? Спасибо
3 ответа
Проблема может возникнуть из вашей командной строки.
Если вы забудете одинарные кавычки, ваш терминал оценит глобальные кавычки (**/*
), нет . Таким образом , это пропустит все настройки игнорирования eslint .
Если вы включитеeslint
журналы отладки с--debug
, вы увидите это в действии:
- Без одинарных кавычек:
$ eslint **/*.ts --debug 2>&1 | grep "CLI args"
eslint:cli CLI args: [ 'a.ts', 'b.ts', 'node_modules/package/a.ts', 'node_modules/package/b.ts', '--debug' ]
- С одинарными кавычками:
$ eslint '**/*.ts' --debug 2>&1 | grep "CLI args"
eslint:cli CLI args: [ '**/*.ts', '--debug' ]
линтеры не работают одинаково с разными версиями узлов
в этом случае обновление узла доv16.x
отv14.x
работал на меня.
если у вас не работает конфигурация ignorefile. проверьте версию вашего узла.
Если он находится в том же каталоге, что и вы, можете указать его как
node_modules
.
# .eslintignore
node_modules
**/.next/**
**/_next/**
**/dist/**
.eslintignore
следует
.gitignore
синтаксис. Подробнее см. Спецификации .gitignore .