2016-03-26 3 views
9

История:Расширение множественным рекомендуемые конфигурации в ESLint

В настоящее время мы простирающийся рекомендуемая конфигурация ESLint:

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

А также с помощью angular, jasmine и protractor ESLint плагинов, которые также грузит с их собственные рекомендуемые конфигурации (уровни строгости правила правила и параметры правила по умолчанию).

Вопрос:

Как мы можем использовать все рекомендуемые конфигурации в то же время - тот, который ESLint и все используемые плагины корабля с?


Пробовал следующее:

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

но получил следующее сообщение об ошибке:

Cannot read property 'recommended' of undefined

ответ

19

How can we use all the recommended configurations at the same time - the one that ESLint and all the used plugins ship with?

Ваш синтаксис является правильным, и несколько расширений будут загружены, как это:

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

Однако для этого требуется, чтобы соответствующие плагины были в комплекте с рекомендованными настройками. eslint-plugin-angulardoes not, и вы должны установить его самостоятельно:

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

Изменить параметры eslint для

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

и он должен работать.

+0

Разве это не комментарий, а ответ? –

+1

@ Даену Да, наверное. Обновленный мой ответ, чтобы лучше выделить правильное решение. – dannyjolie