有没有办法忽略 eslint-plugin-security 的测试文件?

Jim*_*Jim 8 node.js eslint eslintignore

对于 node.js 项目,我添加了 eslint-plugin-security 并且它在我的测试/规范文件(使用 mochajs)中为代码提供了很多警告。由于测试代码不会在生产环境中运行,这些看起来不像在项目的实际代码中那样有用。(很多通用对象注入接收器警告)

除了放在/* eslint-disable */每个规范文件的顶部之外,有没有办法让安全插件忽略某些文件?

Hug*_*sse 10

有三种方法可以忽略文件或文件夹:

1..eslintignore在你的项目根文件夹上创建一个你想忽略的东西:

**/*.js

2. 使用 eslint cli & the--ignore-path来指定忽略规则所在的另一个文件

eslint --ignore-path .jshintignore file.js
Run Code Online (Sandbox Code Playgroud)

3. 使用你的 package.json

{
  "name": "mypackage",
  "version": "0.0.1",
  "eslintConfig": {
      "env": {
          "browser": true,
          "node": true
      }
  },
  "eslintIgnore": ["*.spec.ts", "world.js"]
}
Run Code Online (Sandbox Code Playgroud)

官方文档

在我这边,我遇到了 Intellij IDEA 的问题,其中 eslint 正在检查一个专用于 Typescript (+tslint) 的文件夹中的文件,这很痛苦,所以我选择了解决方案 3。


小智 10

我发现处理此案的最佳方法是基于此答案。您可以覆盖子文件夹中的部分 eslint 文件。就我而言,我从 e2e 测试文件夹中的 jest 插件中禁用了有问题的规则。/e2e-tests/ 中的 .eslintrc.js 示例:

module.exports = {
  overrides: [
    {
      files: ["*.spec.js"],

      rules: {
        "jest/valid-expect": 0
      }
    }
  ]
};
Run Code Online (Sandbox Code Playgroud)