rnegron/cc-api

View on GitHub
src/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import * as path from 'path';

import { resolve } from 'path';
import { config } from 'dotenv';

config({ path: resolve(path.join(__dirname, '..', '.env')) });

import serverConnect from './server';
import dbConnect from './database';

process.on('uncaughtException', (err: Error) => {
  console.error(`uncaughtException ${err.message}`);
  process.exit(1);
});

process.on('unhandledRejection', (err) => {
  console.error(`unhandledRejection ${err}`);
  process.exit(1);
});

let server;

async function init() {
  try {
    await dbConnect();
    const server = await serverConnect();
    await server.start();
    server.log(['info', 'boot'], `Server running at: ${server.info.uri}`);
  } catch (err) {
    console.log(err);
    process.exit(1);
  }
}

init();

// Return the server singleton
export default server;