Prevent process.exit()

This commit is contained in:
Asher
2019-10-11 17:00:17 -05:00
parent 567010e163
commit 56ce780522
2 changed files with 11 additions and 5 deletions

View File

@ -250,13 +250,19 @@ const main = async(): Promise<boolean | void | void[]> => {
return startCli() || new WrapperProcess().start();
};
const exit = process.exit;
process.exit = function (code?: number) {
const err = new Error(`process.exit() was prevented: ${code || "unknown code"}.`);
console.warn(err.stack);
} as (code?: number) => never;
// It's possible that the pipe has closed (for example if you run code-server
// --version | head -1). Assume that means we're done.
if (!process.stdout.isTTY) {
process.stdout.on("error", () => process.exit());
process.stdout.on("error", () => exit());
}
main().catch((error) => {
logger.error(error.message);
process.exit(typeof error.code === "number" ? error.code : 1);
exit(typeof error.code === "number" ? error.code : 1);
});