import * as Koa from 'koa' import { Loader } from './loader' import * as version from '@tng/version' import * as bodyParser from 'koa-bodyparser' import * as config from 'config' import * as listener from './listener' import { limiter } from './service/limiter' import * as serve from 'koa-static' import { App } from './types' const app = new Koa() app.use(version.koa1('/version')) app.use(version.koa1(`${config.APP.ROUTE}/version`)) app.use(serve('api/tis/')) app.use(require('koa-cors')({ credentials: true })) app.use(bodyParser()) app.use(limiter) const loader = new Loader(app) app.use(loader.loadRouter()) export const server = app.listen(process.env.PORT || config.APP.PORT, function () { console.info(`Server listen on ${process.env.PORT || config.APP.PORT}`) }) listener.wrap(app)