在ESLint中扩展多个推荐配置

时间:2016-03-26 17:42:04

标签: javascript angularjs jasmine static-code-analysis eslint

故事:

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

{
  "extends": "eslint:recommended",
  ...
  "plugins": [
    "angular",
    "jasmine",
    "protractor"
  ],
  "rules": {
    "no-multiple-empty-lines": 2,
    "no-trailing-spaces": 2,
    "jasmine/valid-expect": 2
  }
}

还使用angularjasmineprotractor ESLint插件,这些插件还附带他们自己推荐的配置(默认规则严格级别和默认规则参数) 。

问题:

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

尝试以下方法:

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "plugin:angular/recommended"
  ],
  ...
}

但出现以下错误:

  

无法阅读属性'推荐'未定义的

1 个答案:

答案 0 :(得分:25)

  

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

您的语法是正确的,并且加载了多个扩展名:

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "plugin:angular/recommended"
  ]
}

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

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

将您的eslint设置更改为

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "angular"
  ]
}

它应该有用。