2016-05-09 19 views
6

Sto usando il gulp con eslint.Come risolvere i file con gulp-eslint?

Senza sorso, ho appena eseguito eslint ./src --fix. Non riesco a capire come farlo accadere con Gulp. Ho cercato qui di seguito, l'impostazione correzione per essere vero, ma non risolve alcun file:

gulp.task('lint', ['./src/**.js'],() => { 
return gulp.src() 
    .pipe($.eslint({fix:true})) 
    .pipe($.eslint.format()) 
    .pipe($.eslint.failAfterError()); 
}); 

Voglio che tutti i file sotto ./src da fissare. Come ottengo questo?

risposta

7

Ecco la strada giusta che sta lavorando nel mio progetto:

var gulp = require('gulp'), 
    eslint = require('gulp-eslint'), 
    gulpIf = require('gulp-if'); 


function isFixed(file) { 
    // Has ESLint fixed the file contents? 
    return file.eslint != null && file.eslint.fixed; 
} 


gulp.task('lint', function() { 
    // ESLint ignores files with "node_modules" paths. 
    // So, it's best to have gulp ignore the directory as well. 
    // Also, Be sure to return the stream from the task; 
    // Otherwise, the task may end before the stream has finished. 
    return gulp.src(['./src/**.js','!node_modules/**']) 
     // eslint() attaches the lint output to the "eslint" property 
     // of the file object so it can be used by other modules. 
     .pipe(eslint({fix:true})) 
     // eslint.format() outputs the lint results to the console. 
     // Alternatively use eslint.formatEach() (see Docs). 
     .pipe(eslint.format()) 
     // if fixed, write the file to dest 
     .pipe(gulpIf(isFixed, gulp.dest('../test/fixtures'))) 
     // To have the process exit with an error code (1) on 
     // lint error, return the stream and pipe to failAfterError 
     // last. 
     .pipe(eslint.failAfterError()); 
}); 

gulp.task('default', ['lint'], function() { 
    // This will only run if the lint task is successful... 
}); 
+1

_perché_ è questo il "modo giusto"? In particolare, perché "FailAfterError()" deve essere rimosso? –

+1

Stai utilizzando il pacchetto "gulp-if", corretto? Non è referenziato nel tuo esempio. Con questo in mente, e con lo stile di denominazione usato nell'esempio dei pacchetti, ho il seguente codice di lavoro per l'output: '.pipe (gulpif (isFixed, gulp.dest ('./')));' –