idk if you've ever run into it, but `process.exit` has been a bit of a footgun in our node apps due to broken pipes and (sometimes) async io with `console`
we instead use
process.on('unhandledRejection', (reason) => {
throw reason;
});
which, as long as you havent handled `uncaughtException`, prints the stack trace and aborts.