How to fix files using gulp-eslint?

I am using gulp with eslint .

Without gulp, I just ran eslint ./src --fix . I can not understand how this happened with gulp. I tried below, setting fix as true, but it does not fix any files:

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

I want all the files in ./src be fixed. How to achieve this?

+6
source share
1 answer

Here is the correct way that works in my project:

 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 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... }); 
+7
source

All Articles