2016-03-26 17 views
9

The Story:Rozszerzanie stwardnienie zalecane konfiguracje w ESLint

Obecnie jesteśmy rozszerzenie zalecaną konfigurację ESLint:

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

A także za pomocą angular, jasmine i protractor ESLint wtyczek, które również statek z ich własnymi zalecanymi konfiguracjami (domyślne poziomy dokładności reguł i domyślne parametry reguł).

Pytanie:

Jak możemy użyć wszystkich zalecanych konfiguracjach w tym samym czasie - ten, który ESLint i wszystkie używane wtyczki statek z?


próbowałem następujące:

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

ale uzyskałem następujący błąd:

Cannot read property 'recommended' of undefined

Odpowiedz

19

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

Twój składnia jest poprawna, a wiele rozszerzeń są ładowane tak:

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

Wymaga to jednak, aby wtyczki rzeczywiście zawierały zalecane ustawienia. eslint-plugin-angulardoes not, i trzeba go zainstalować siebie:

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

Zmień ustawienia eslint do

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

i powinno działać.

+0

Czy nie powinien to być raczej komentarz niż odpowiedź? –

+1

@Daenu Tak, prawdopodobnie. Zaktualizowano moją odpowiedź, aby lepiej podkreślić prawidłowe rozwiązanie. – dannyjolie