2016-03-26 19 views
9

La Storia:estensione multipla raccomandato configurazioni in ESLint

Attualmente, siamo estendere la configurazione ESLint consigliata:

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

e anche utilizzando angular, jasmine e protractor plugin ESLint che anche spedire con le proprie configurazioni raccomandate (livelli di rigore delle regole predefiniti e parametri delle regole predefinite).

la domanda:

Come possiamo utilizzare tutte le configurazioni consigliate, allo stesso tempo - quella che ESLint e tutti i plugin utilizzati nave con?


provato quanto segue:

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

ma ottenuto il seguente errore:

Cannot read property 'recommended' of undefined

risposta

19

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

la sintassi è corretta, e più estensioni vengono caricati in questo modo:

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

Tuttavia, ciò richiede che i plugin in questione vengano forniti in bundle con le impostazioni consigliate. eslint-plugin-angulardoes not, ed è necessario installare da soli:

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

modificare le impostazioni eslint a

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

e dovrebbe funzionare.

+0

Non dovrebbe essere piuttosto un commento che una risposta? –

+1

@Daenu Sì, probabilmente. Aggiornato la mia risposta per evidenziare meglio la soluzione corretta. – dannyjolie