1. ホーム
  2. node.js

[解決済み] gulp-eslintでファイルを修正する方法は?

2022-02-07 02:06:12

質問

gulpを使用しています。 eslint .

gulpを使わずに、ただ eslint ./src --fix . gulpでこれを実現する方法がわかりません。以下のように、fixを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...
});