2016-07-03 71 views
9

Recentemente, abbiamo aggiornato a ESLint 3.0.0 e ha iniziato a ricevere il seguente messaggio di esecuzione dell'attività grunt eslint:"Configurazione No ESLint trovato" errore

> $ grunt eslint 
Running "eslint:files" (eslint) task 
Warning: No ESLint configuration found. Use --force to continue. 

Ecco la configurazione grunt-eslint:

var lintTargets = [ 
    "<%= app.src %>/**/*/!(*test|swfobject)+(.js)", 
    "test/e2e/**/*/*.js", 
    "!test/e2e/db/models/*.js" 
]; 
module.exports.tasks = { 
    eslint: { 
     files: { 
      options: { 
       config: 'eslint.json', 
       fix: true, 
       rulesdir: ['eslint_rules'] 
      }, 
      src: lintTargets 
     } 
    } 
}; 

Cosa dovremmo fare per correggere l'errore?

risposta

13

Provare a scambiare config con configFile. Poi:

  1. Crea eslint.json di file e
  2. punto la giusta posizione di esso (rispetto al Gruntfile.js file)
  3. posto qualche configurazione nel file (eslint.json), vale a dire:

.

{ 
    "rules": { 
     "eqeqeq": "off", 
     "curly": "warn", 
     "quotes": ["warn", "double"] 
    } 
} 

per ulteriori esempi, vai a here.

+2

Sì, 'configFile' funzionato pure. Sembra che stessimo usando 'config' che non ha avuto alcun effetto, ma ha funzionato da quando Eslint 2 lo ha cercato per impostazione predefinita. Ora che abbiamo migrato su eslint 3 ei nomi dei file di configurazione di default sono stati modificati, eslint non trova automaticamente la configurazione e questo rivela che avremmo dovuto usare 'configFile' dall'inizio. Questa è la teoria che ho ora. Grazie! – alecxe

+1

Prego. Ho appena affrontato la configurazione di recente, quindi ho evitato problemi legacy. –

4

Per coloro che hanno lo stesso problema, questo è il modo in cui l'abbiamo risolto.

Seguendo la procedura di migrazione Requiring Configuration to Run, abbiamo dovuto rinominare eslint.json-.eslintrc.json, che è uno dei nomi di file di configurazione di default ESLint ora.

Abbiamo anche rimosso l'opzione config grunt-eslint.

10

Ho lo stesso problema con Gulp ed eseguo "gulp-eslint": versione "^ 3.0.1". ho dovuto rinominare config: a configFile nel task Gulp

.pipe(lint({configFile: 'eslint.json'})) 
0
gulp.task('eslint',function(){ 
return gulp.src(['src/*.js']) 
    .pipe(eslint()) 
    .pipe(eslint.format()) 
}); 


`touch .eslintrc` instead of .eslint 

questi due passaggi possono aiutare!

1

Basta seguire i passi
1.Creare nome del file di configurazione eslint eslintrc.json
2.place il codice come indicato di seguito

gulp.src(jsFiles) 
     // eslint() attaches the lint output to the "eslint" property 
     // of the file object so it can be used by other modules. 
     .pipe(eslint({configFile: 'eslintrc.json'})) 
     // eslint.format() outputs the lint results to the console. 
     // Alternatively use eslint.formatEach() (see Docs). 
     .pipe(eslint.format()) 
     // To have the process exit with an error code (1) on 
     // lint error, return the stream and pipe to failAfterError last. 
     .pipe(eslint.failAfterError()); 
11

L'errore si trovano ad affrontare è perché la configurazione non è presente . Per configurare il tipo eslint

eslint --init

quindi configurare come vostro requisito.

quindi eseguire di nuovo il progetto.

0

Webpack

ho avuto il file eslint.rc nella mia directory principale del progetto, ma anche evento mi stavo errore.
soluzione era quella di aggiungere escludere proprietà regola "eslint-loader" config:

module.exports = { 
    // ... 
    module: { 
    rules: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: "eslint-loader", 
     options: { 
      // eslint options (if necessary) 
     } 
     }, 
    ], 
    }, 
    // ... 
}