Eslint 允许在测试中使用无关的依赖项

Posted

技术标签:

【中文标题】Eslint 允许在测试中使用无关的依赖项【英文标题】:Eslint allow extraneous dependencies in tests 【发布时间】:2018-01-02 22:57:33 【问题描述】:

在我的测试文件中,我在某些导入时遇到 eslint 错误,例如

'import/no-extraneous-dependencies': ["error", devDependencies: 真的,],

这只发生在我的第二个测试目录中的某个子文件夹中 在我的根测试目录中,我没有收到此错误 我在 package.json 或 .eslintrc 中没有发现任何可能导致差异化的设置。 目前我必须使用

/* eslint-disable import/no-extraneous-dependencies*/

在我不喜欢的测试文件中 如果我添加

"import/no-extraneous-dependencies": ["error",  "devDependencies": true ]

到 .eslintrc th 规则在所有地方都关闭,而不仅仅是在测试中 我如何切换这个规则,除了将 .eslintrc 放置到测试文件夹?哪些文件夹使用 devDependencies?

【问题讨论】:

【参考方案1】:

您可以按如下方式使用 glob 数组,这将允许从文件名与 **/*.test.js 匹配的测试文件中访问无关的依赖项

"import/no-extraneous-dependencies": ["error", "devDependencies": ["**/*.test.js"]]

【讨论】:

【参考方案2】:

您可以在项目根目录中创建.eslintignore 文件,以禁用特定文件或目录的 ESLint。

并在其中放入以下行:

test/*

参考:http://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories


编辑:

如果您想忽略特定目录的特定规则,可以在该目录中放置另一个 .eslintrc 文件。

参考:http://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy

【讨论】:

但这会忽略此文件夹中的所有 linting 规则

以上是关于Eslint 允许在测试中使用无关的依赖项的主要内容,如果未能解决你的问题,请参考以下文章

eslint 'html-webpack-plugin' 应该列在项目的依赖项中,而不是 devDependencies 中。 (导入/无外部依赖项)

在项目中如何使用ESLint提高代码质量

无法 npm 使用 eslint 依赖项启动我的 React 项目

在基于 TypeScript/eslint/Webpack 的构建环境中检测未使用的导出符号

eslint 应该列在项目的依赖项中,而不是 devDependencies

如何修复对等依赖项安装问题