我正在使用
eslint一口气.
没有gulp,我只是运行eslint ./src –fix.我无法弄清楚如何用gulp实现这一点.我尝试下面,将修复设置为true,但它不修复任何文件:
gulp.task('lint',['./src/**.js'],() => { return gulp.src() .pipe($.eslint({fix:true})) .pipe($.eslint.format()) .pipe($.eslint.failAfterError()); });
我希望修复./src下的所有文件.我该如何实现这一目标?
解决方法
这是在我的项目中正常工作的方式:
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... });