4

プロジェクトの TSLint チェックを実行するための gulp タスクがいくつかあります。新しく変更されたファイルのみを監視し、変更されたときに(ファイルの保存時に)これらのチェックを実行するタスクがあります。現在、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

1 回実行すると、エラーが検出されます。もう一度実行するために何かをしますが、タスクを終了したり、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"]);
});
4

0 に答える 0