import Koa from 'koa'; import bodyparser from 'koa-bodyparser'; import cookie from 'koa-cookie'; import session from 'koa-session'; import passport from './passport'; import { performanceLogger, performanceTimer } from './middleware/performance'; import { errorHandler } from './middleware/errorHandler'; import { authRouter } from './controllers/auth'; import { SESSION_KEY } from '../constants/env'; const app: Koa = new Koa(); app.use(errorHandler); app.use(performanceTimer); app.use(performanceLogger); app.use(bodyparser()); app.use(cookie()); app.keys = [SESSION_KEY]; app.use(session({}, app)); app.use(passport.initialize()); app.use(passport.session()); app.use(authRouter.routes()); app.use(authRouter.allowedMethods()); // Application error logging. app.on('error', console.error); export default app;