2016-03-26 6 views
9

Die Story:Erweiterung mehrere empfohlenen Konfigurationen in ESLint

Derzeit sind wir die empfohlene ESLint Konfiguration erstreckt:

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

Und auch mit angular, jasmine und protractor ESLint Plugins auch die im Lieferumfang mit ihre eigenen empfohlenen Konfigurationen (Standard Regel Striktheit Ebenen und Standard-Regel-Parameter).

Die Frage:

Wie können wir alle empfohlenen Konfigurationen zugleich - derjenige, der ESLint und alle verwendeten Plug-ins Schiff mit?


folgendes versucht:

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

bekam aber den folgenden Fehler:

Cannot read property 'recommended' of undefined

Antwort

19

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

Ihre Syntax korrekt ist, und mehrere Erweiterungen werden wie folgt geladen:

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

Dies erfordert jedoch, dass die fraglichen Plugins tatsächlich mit den empfohlenen Einstellungen geliefert werden. eslint-plugin-angulardoes not, und Sie haben es selbst zu installieren:

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

Ihre eslint Einstellungen ändern zu

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

und sollte es funktionieren.

+0

Sollte das nicht eher ein Kommentar als eine Antwort sein? –

+1

@Daenu Ja, wahrscheinlich. Meine Antwort wurde aktualisiert, um die richtige Lösung besser hervorzuheben. – dannyjolie