Files
directus/api/src/start.ts
Pascal Jufer acd41eb0be Syntax fixes (#5367)
* Declare return types on functions

And a very few other type related minor fixes

* Minor syntax fixes

* Remove unnecessary escape chars in regexes
* Remove unnecessary awaits
* Replace deprecated req.connection with req.socket
* Replace deprecated upload with uploadOne
* Remove unnecessary eslint-disable-next-line comments
* Comment empty functions / catch or finally clauses
* Fix irregular whitespaces
* Add missing returns (null)
* Remove unreachable code
* A few logical fixes
* Remove / Handle non-null assertions which are certainly unnecessary (e.g. in
tests)
2021-04-29 12:11:43 -04:00

33 lines
754 B
TypeScript

import emitter, { emitAsyncSafe } from './emitter';
import env from './env';
import logger from './logger';
// If this file is called directly using node, start the server
if (require.main === module) {
start();
}
export default async function start(): Promise<void> {
const createServer = require('./server').default;
const server = await createServer();
await emitter.emitAsync('server.start.before', { server });
const port = env.PORT;
server
.listen(port, () => {
logger.info(`Server started at port ${port}`);
emitAsyncSafe('server.start');
})
.once('error', (err: any) => {
if (err?.code === 'EADDRINUSE') {
logger.error(`Port ${port} is already in use`);
process.exit(1);
} else {
throw err;
}
});
}