我有一些 gulp 任务来运行我的 TSLint 检查项目。我的任务是只查看新更改的文件并在它们更改时运行检查(在文件保存时)。目前,当我运行watchTS
任务时,它将在我保存/更改的第一个文件时运行并正常工作。在下一次文件更改时,它将运行任务但实际上并未完成或执行任何 TSLint 验证。
吞咽输出
[09:49:34] Starting 'watchTS'...
[09:49:35] Finished 'watchTS' after 692 ms
[09:49:36] Starting 'tslint:newer'...
Running - tslint:newer
[09:49:36] [gulp-tslint] error example.controller.ts[13, 8]: unused variable: 'x'
[09:49:36] Finished 'tslint:newer' after 738 ms
[09:53:38] Starting 'tslint:newer'...
Running - tslint:newer
它运行一次,发现错误。我做了一些事情让它再次运行,它永远不会完成任务或运行 TSLint。
以下是相关的 gulp 任务
var BIN = "bin";
var TYPE_SCRIPT_FILES = ["app/**/*.ts"];
var TYPE_SCRIPT_CONFIG = tslint({
rulesDirectory: "tslint-rules/"
});
var TYPE_SCRIPT_REPORT = tslint.report("prose", {
emitError: false,
reportLimit: 50
});
gulp.task("tslint:newer", function () {
console.log("Running - tslint:newer");
return gulp.src(TYPE_SCRIPT_FILES)
.pipe(plumber())
.pipe(newer(BIN))
.pipe(TYPE_SCRIPT_CONFIG)
.pipe(TYPE_SCRIPT_REPORT)
.pipe(gulp.dest(BIN));
});
gulp.task("watchTS", [], function () {
gulp.watch(TYPE_SCRIPT_FILES, ["tslint:newer"]);
});