使ESLint仅将规则应用于某些文件名模式

wap*_*300 25 eslint

是否可以以仅将规则应用于名称与特定模式匹配的文件的方式配置ESLint?我知道在目录中可以有单独的规则表,但如果结构如下:

app
|
|- module1
|     |- module1.js
|     |- module1.spec.js
|
|- module2
|     |- module2.js
|     |- module2.spec.js
Run Code Online (Sandbox Code Playgroud)

我想要一个只适用于*.spec.js文件的项目范围的规则.我希望有一个类似的设置

"include-pattern": "*.spec.js"
Run Code Online (Sandbox Code Playgroud)

以.eslintrc或任何其他类似方式指定应针对特定规则考虑哪些文件名.

Gya*_*eep 35

更新的答案:

是的,现在有可能.在你的例子中它可能看起来像

{
  "rules": {
    "quotes": [ 2, "double" ]
  },

  "overrides": [
    {
      "files": [ "app/module1/*.js" ],
      "excludedFiles": "*.spec.js",
      "rules": {
        "quotes": [ 2, "single" ]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

您可以在eslint doc页面上阅读更多内容.

老答案:

目前不支持此功能.但对于2.0.0版本,我们正在积极致力于此功能.

跟踪进度:https://github.com/eslint/eslint/issues/3611


tib*_*alt 8

临时解决方法是使用.eslintignore内部包含类似内容的文件:

*.js !*.spec.js