Merge pull request #500 from sveltejs/dont-buffer-logs

don't buffer stdout/stderr
This commit is contained in:
Rich Harris
2018-10-27 11:18:50 -04:00
committed by GitHub
4 changed files with 12 additions and 20 deletions

View File

@@ -214,12 +214,9 @@ class Watcher extends EventEmitter {
// TODO watch the configs themselves?
const compilers: Compilers = await create_compilers(this.bundler, cwd, src, dest, false);
let log = '';
const emitFatal = () => {
this.emit('fatal', <FatalEvent>{
message: `Server crashed`,
log
message: `Server crashed`
});
this.crashed = true;
@@ -236,7 +233,6 @@ class Watcher extends EventEmitter {
handle_result: (result: CompileResult) => {
deferred.promise.then(() => {
const restart = () => {
log = '';
this.crashed = false;
ports.wait(this.port)
@@ -260,8 +256,7 @@ class Watcher extends EventEmitter {
if (this.crashed) return;
this.emit('fatal', <FatalEvent>{
message: `Server is not listening on port ${this.port}`,
log
message: `Server is not listening on port ${this.port}`
});
});
};
@@ -292,12 +287,10 @@ class Watcher extends EventEmitter {
});
this.proc.stdout.on('data', chunk => {
log += chunk;
this.emit('stdout', chunk);
});
this.proc.stderr.on('data', chunk => {
log += chunk;
this.emit('stderr', chunk);
});

View File

@@ -64,6 +64,14 @@ prog.command('dev')
let first = true;
watcher.on('stdout', data => {
process.stdout.write(data);
});
watcher.on('stderr', data => {
process.stderr.write(data);
});
watcher.on('ready', async (event: ReadyEvent) => {
if (first) {
console.log(colors.bold.cyan(`> Listening on http://localhost:${event.port}`));
@@ -73,16 +81,6 @@ prog.command('dev')
}
first = false;
}
// TODO clear screen?
event.process.stdout.on('data', data => {
process.stdout.write(data);
});
event.process.stderr.on('data', data => {
process.stderr.write(data);
});
});
watcher.on('invalid', (event: InvalidEvent) => {

View File

@@ -69,7 +69,6 @@ export type ErrorEvent = {
export type FatalEvent = {
message: string;
log?: string;
};
export type InvalidEvent = {

View File

@@ -127,9 +127,11 @@ describe('errors', function() {
await prefetchRoutes();
await page.click('[href="enhance-your-calm"]');
await wait(50);
assert.equal(await title(), '420');
await page.goBack();
await wait(50);
assert.equal(await title(), 'No error here');
});
});