在ESLint中扩展多个推荐配置

ale*_*cxe 13 javascript static-code-analysis jasmine angularjs eslint

故事:

目前,我们正在扩展推荐的ESLint配置:

{
  "extends": "eslint:recommended",
  ...
  "plugins": [
    "angular",
    "jasmine",
    "protractor"
  ],
  "rules": {
    "no-multiple-empty-lines": 2,
    "no-trailing-spaces": 2,
    "jasmine/valid-expect": 2
  }
}
Run Code Online (Sandbox Code Playgroud)

并且还使用angular,jasmineprotractorESLint插件,这也与船自己的推荐配置(默认规则的严格水平和默认规则参数).

问题:

我们如何使用在同一时间所有的推荐配置 - 在一个ESLint和所有使用的插件附带?


尝试以下方法:

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "plugin:angular/recommended"
  ],
  ...
}
Run Code Online (Sandbox Code Playgroud)

但得到以下错误:

无法读取未定义的"推荐"属性

dan*_*lie 28

我们如何同时使用所有推荐的配置 - ESLint和所有使用过的插件附带的配置?

您的语法是正确的,并且加载了多个扩展,如下所示:

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "plugin:angular/recommended"
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,这要求所讨论的插件实际上捆绑了推荐的设置.eslint-plugin-angular 没有,你必须自己安装:

npm install --save-dev eslint-config-angular

将您的eslint设置更改为

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "angular"
  ]
}
Run Code Online (Sandbox Code Playgroud)

它应该工作.