diff --git a/src/api/dev.ts b/src/api/dev.ts index 5c6742e..81912f3 100644 --- a/src/api/dev.ts +++ b/src/api/dev.ts @@ -148,7 +148,14 @@ class Watcher extends EventEmitter { }); const restart = () => { - ports.wait(this.port).then(this.deferreds.server.fulfil); + ports.wait(this.port).then((() => { + this.emit('ready', { + port: this.port, + process: this.proc + }); + + this.deferreds.server.fulfil(); + })); }; if (this.proc) { @@ -165,11 +172,6 @@ class Watcher extends EventEmitter { }, process.env), stdio: ['ipc'] }); - - this.emit('ready', { - port: this.port, - process: this.proc - }); }); } }); @@ -190,7 +192,7 @@ class Watcher extends EventEmitter { result: info => { fs.writeFileSync(path.join(dest, 'client_info.json'), JSON.stringify(info)); - fs.writeFileSync(path.join(dest, 'client_info.json'), JSON.stringify(info.assetsByChunkName, null, ' ')); + fs.writeFileSync(path.join(dest, 'client_assets.json'), JSON.stringify(info.assetsByChunkName, null, ' ')); this.deferreds.client.fulfil(); const client_files = info.assets.map((chunk: { name: string }) => `client/${chunk.name}`); diff --git a/src/cli/dev.ts b/src/cli/dev.ts index fbd743b..daf1306 100644 --- a/src/cli/dev.ts +++ b/src/cli/dev.ts @@ -17,6 +17,16 @@ export function dev(opts: { port: number, open: boolean }) { if (opts.open) child_process.exec(`open http://localhost:${event.port}`); 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: events.InvalidEvent) => {