Skip to content

Commit

Permalink
chore(dev-server): improve closing dev server worker
Browse files Browse the repository at this point in the history
  • Loading branch information
adamdbradley committed Aug 21, 2020
1 parent 1048c68 commit 90bf372
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 24 deletions.
57 changes: 33 additions & 24 deletions src/dev-server/index.ts
Expand Up @@ -143,36 +143,38 @@ function startServer(
}
};

const serverError = (msg: DevServerMessage) => {
const serverError = async (msg: DevServerMessage) => {
if (hasStarted) {
logger.error(msg.error.message + ' ' + msg.error.stack);
} else {
close();
await close();
reject(msg.error.message);
}
};

const requestBuildResults = () => {
// we received a request to send up the latest build results
if (lastBuildResults != null) {
// we do have build results, so let's send them to the child process
const msg: DevServerMessage = {
buildResults: { ...lastBuildResults },
isActivelyBuilding: isActivelyBuilding,
};

// but don't send any previous live reload data
delete msg.buildResults.hmr;
sendToWorker(msg);
} else {
sendToWorker({
isActivelyBuilding: true,
});
if (sendToWorker) {
if (lastBuildResults != null) {
// we do have build results, so let's send them to the child process
const msg: DevServerMessage = {
buildResults: { ...lastBuildResults },
isActivelyBuilding: isActivelyBuilding,
};

// but don't send any previous live reload data
delete msg.buildResults.hmr;
sendToWorker(msg);
} else {
sendToWorker({
isActivelyBuilding: true,
});
}
}
};

const compilerRequest = async (compilerRequestPath: string) => {
if (watcher) {
if (watcher && watcher.request && sendToWorker) {
const compilerRequestResults = await watcher.request({ path: compilerRequestPath });
sendToWorker({ compilerRequestResults });
}
Expand All @@ -193,21 +195,28 @@ function startServer(
requestLog(msg);
} else if (msg.error) {
serverError(msg);
} else {
logger.debug(`server msg not handled: ${JSON.stringify(msg)}`);
}
} catch (e) {
logger.error('receiveFromWorker: ' + e);
}
};

if (watcher) {
removeWatcher = watcher.on(emit);
}
try {
if (watcher) {
removeWatcher = watcher.on(emit);
}

sendToWorker = initServerProcess(receiveFromWorker);
sendToWorker = initServerProcess(receiveFromWorker);

sendToWorker({
startServer: devServerConfig,
});
sendToWorker({
startServer: devServerConfig,
});
} catch (e) {
close();
reject(e);
}
}

export { DevServer, StencilDevServerConfig as DevServerConfig, Logger };
2 changes: 2 additions & 0 deletions src/dev-server/server-worker-main.ts
Expand Up @@ -22,6 +22,8 @@ export function initServerProcessWorkerProxy(sendToMain: (msg: d.DevServerMessag
// get a message from main to send to the worker
if (serverProcess) {
serverProcess.send(msg);
} else if (msg.closeServer) {
sendToMain({ serverClosed: true });
}
};

Expand Down

0 comments on commit 90bf372

Please sign in to comment.