eslint 不会忽略 node_modules 并在尝试 lint 时出现错误

问题描述 投票:0回答:3

我正在尝试在

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.

谁能帮我解决这个问题?谢谢

javascript node.js next.js eslint eslintignore
3个回答
2
投票

问题可能来自您的命令行。

如果您忘记了单引号,您的终端将评估 glob (

**/*
),而不是
eslint
。所以这将跳过所有 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' ]

1
投票

如果

.eslintignore
node_modules
位于同一目录中,您可以将其指定为
node_modules

# .eslintignore
node_modules
**/.next/**
**/_next/**
**/dist/**

.eslintignore
遵循
.gitignore
语法。 有关更多详细信息,请参阅 .gitignore 规范


0
投票

Linter 在不同的节点版本中工作方式不同。

在这种情况下,将节点从

v14.x
更新为
v16.x
对我有用。


如果

.eslintignore
配置不适合您,请考虑检查您的节点版本。

© www.soinside.com 2019 - 2024. All rights reserved.