/ / Passes de lixa quando executados a partir de uma tarefa gulp, mas deve falhar - javascript, gulp, eslint

Passagem de lixa quando executada a partir de uma tarefa de gulp, mas deve falhar - javascript, gulp, eslint

Eu estou fazendo linting no meu código JavaScript com este comando:

eslint src/**/*.js

Isso encontra centenas de erros de lintagem.

Estou tentando fazer com que o linting seja parte de um pipeline. Portanto, eu fiz uma tarefa de gole para isso.

const gulp = require("gulp");
const eslint = require("gulp-eslint");

gulp.task("lint", () => {
gulp.src(["src/**/*.js"])
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});

No entanto, quando corro gulp lint, passa:

Starting "lint"...
Finished "lint" after 35 ms

Eu não entendo porque isso passa. Eu também tentei isso:

gulp.task("lint", () => {
gulp.src(["src/**/*.js"])
.pipe(eslint())
});

Mas isso também passa.

Qualquer ideia porque gulp lint não falha com um erro de lintagem?

Respostas:

1 para resposta № 1

Se você precisar que o Gulp chame a tarefa e espere a conclusão, você precisa retornar um Promessa JavaScript de tarefa função.

Neste caso, adicionando a palavra-chave return antes do seu gulp.src ligue para o seu fiapos funciton significa que a promessa de que o gulp.src retorna é passado para o mecanismo subjacente que Gulp usa e, como tal, Gulp pode obter o resultado do seu processo de linting.

const gulp = require("gulp");
const eslint = require("gulp-eslint");

gulp.task("lint", () => {
return gulp.src(["src/**/*.js"])
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});