-
Couldn't load subscription status.
- Fork 130
Closed
Description
Expected behavior:
Expected that failed builds would not force gulp watch to shutdown.
Actual behavior:
Failed builds throw uncaught exceptions.
Your gulpfile:
gulpfile.babel.js (using Gulp 4)
import gulp from 'gulp';
import gulpTypescript from 'gulp-typescript';
import pumpPromise from 'pump-promise';
gulp.task('build', async function task() {
const project = gulpTypescript.createProject('tsconfig.json', {
declaration: true
});
const ts = project(gulpTypescript.reporter.fullReporter(true));
await pumpPromise(
gulp.src('index.ts'),
ts
);
await pumpPromise(
ts.js,
gulp.dest('lib')
);
await pumpPromise(
ts.dts,
gulp.dest('lib')
);
});
gulp.task('watch', async function() {
gulp.watch('index.ts', {}, gulp.parallel('build'));
});tsconfig.json
Include your tsconfig, if related to this issue.
{}Here's a Gits to demonstrate the error
First run:
yarn install
yarn run gulp watchThen edit index.ts and replace class Greeter with class GreeterBad and see:
[17:38:44] Starting 'build'...
[gulp-typescript] 2552 Cannot find name 'Greeter'. Did you mean 'greeter'?
> file: /projects/74a0da2e5b0b0625585743f2b9725a46/index.ts:
> [10] let greeter = new Greeter("world");
[gulp-typescript] 2552 Cannot find name 'Greeter'. Did you mean 'greeter'?
> file: /projects/74a0da2e5b0b0625585743f2b9725a46/index.ts:
> [10] let greeter = new Greeter("world");
TypeScript: 1 semantic error
TypeScript: emit succeeded (with errors)
[17:38:46] 'build' errored after 1.9 s
[17:38:46] Error [ERR_STREAM_PUSH_AFTER_EOF]: stream.push() after EOF
at readableAddChunk (_stream_readable.js:246:30)
at CompileOutputStream.Readable.push (_stream_readable.js:213:10)
at Output.writeJs (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/output.js:25:23)
at ProjectCompiler.emitFile (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/compiler.js:144:33)
at ProjectCompiler.inputDone (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/compiler.js:76:22)
at CompileStream.end (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/project.js:136:31)
at DestroyableTransform.onend (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/readable-stream/lib/_stream_readable.js:577:10)
at Object.onceWrapper (events.js:255:19)
at DestroyableTransform.emit (events.js:165:20)
at endReadableNT (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/readable-stream/lib/_stream_readable.js:1000:12)
events.js:137
throw er; // Unhandled 'error' event
^
Error [ERR_STREAM_PUSH_AFTER_EOF]: stream.push() after EOF
at readableAddChunk (_stream_readable.js:246:30)
at CompileOutputStream.Readable.push (_stream_readable.js:213:10)
at Output.writeDts (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/output.js:35:24)
at ProjectCompiler.emitFile (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/compiler.js:147:33)
at ProjectCompiler.inputDone (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/compiler.js:76:22)
at CompileStream.end (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/gulp-typescript/release/project.js:136:31)
at DestroyableTransform.onend (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/readable-stream/lib/_stream_readable.js:577:10)
at Object.onceWrapper (events.js:255:19)
at DestroyableTransform.emit (events.js:165:20)
at endReadableNT (/projects/74a0da2e5b0b0625585743f2b9725a46/node_modules/readable-stream/lib/_stream_readable.js:1000:12)
error An unexpected error occurred: "Command failed.
Exit code: 1
If a watch task fails, it shouldn't kill the watch, as that's a huge pain to restart every time it fails.
Metadata
Metadata
Assignees
Labels
No labels