Move start functionality to server.ts

This commit is contained in:
rijkvanzanten
2020-10-15 12:31:57 -04:00
parent 2c1b031288
commit a39b762c81
3 changed files with 27 additions and 28 deletions

View File

@@ -1,27 +1,5 @@
import logger from '../../logger';
import emitter from '../../emitter';
export default async function start() {
const env = require('../../env').default;
const { validateDBConnection } = require('../../database');
await validateDBConnection();
const port = env.PORT;
const startServer = require('../../server').start;
const server = require('../../server').default;
await emitter.emitAsync('server.start.before', { server });
server
.listen(port, () => {
logger.info(`Server started at port ${port}`);
emitter.emitAsync('server.start').catch((err) => logger.warn(err));
})
.once('error', (err: any) => {
if (err?.code === 'EADDRINUSE') {
logger.fatal(`Port ${port} is already in use`);
process.exit(1);
} else {
throw err;
}
});
await startServer();
}