2016-05-09 1 views
6

Я использую глоток с eslint.Как исправить файлы с помощью gulp-eslint?

Без глотки я просто запускаю eslint ./src --fix. Я не могу понять, как это сделать с глотком. Я попытался ниже, установив исправление, чтобы быть правдой, но это не исправить любые файлы:

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

Я хочу, чтобы все файлы в ./src быть исправлены. Как мне это достичь?

ответ

7

Вот это правильный путь, который работает в моем проекте:

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

_WHY_ это «правильный путь»? В частности, почему нужно удалить «FailAfterError()»? –

+1

Вы используете пакет "gulp-if", исправьте? В вашем примере это не указано. Имея это в виду и с помощью стиля именования, используемого в примере пакетов, у меня есть следующий рабочий код для вывода: '.pipe (gulpif (isFixed, gulp.dest ('./')));' –

 Смежные вопросы

  • Нет связанных вопросов^_^