import 'reflect-metadata'; import { config as setupEnv } from 'dotenv-flow'; import { connectToDB } from './config'; import logger from './logger'; import { setupServer } from './server'; // local env setupEnv(); async function main(): Promise { await connectToDB(); const app = await setupServer(); app.listen(process.env.PORT, () => { console.info( `🚀 Server ready at ${ process.env.NODE_ENV === 'production' ? 'https' : 'http' }://${process.env.HOST}:${process.env.PORT}` ); }); } main().catch((error) => { logger.error(error ?? 'Something went wrong'); // kill node process process.exit(1); });