/ / Linting pasa cuando se ejecuta desde una tarea de trago, pero debería fallar - javascript, gulp, eslint

Linting pasa cuando se ejecuta desde una tarea de trago, pero debería fallar - javascript, gulp, eslint

Estoy haciendo borrón en mi código de JavaScript con este comando:

eslint src/**/*.js

Esto encuentra cientos de errores de pelusas.

Estoy tratando de hacer que linting sea parte de una tubería. Por lo tanto, hice una gran tarea para ello.

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

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

Sin embargo, cuando corro gulp lint, pasó:

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

No entiendo por qué pasa. También intenté esto:

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

Pero esto también pasa.

Alguna idea de por qué gulp lint no falla con un error de pelusa?

Respuestas

1 para la respuesta № 1

Si necesita que Gulp llame a la tarea y espere a que se complete, debe devolver un Promesa de JavaScript desde el tarea función.

En este caso, agregar la palabra clave return antes de su gulp.src llama a tu hilas funciton significa que la promesa de que el gulp.src los retornos se pasan al mecanismo subyacente que utiliza Gulp y, como tal, Gulp puede obtener el resultado de su proceso de pelusas.

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());
});