30 lines
800 B
TypeScript
30 lines
800 B
TypeScript
import consola from "consola";
|
|
import * as dotenvSafe from "dotenv-safe";
|
|
import "reflect-metadata";
|
|
import { createExpressServer } from "routing-controllers";
|
|
import authchecker from "./authchecker";
|
|
import loaders from "./loaders/index";
|
|
import { ErrorHandler } from './middlewares/ErrorHandler';
|
|
|
|
dotenvSafe.config();
|
|
const PORT = process.env.APP_PORT || 4010;
|
|
|
|
const app = createExpressServer({
|
|
authorizationChecker: authchecker,
|
|
middlewares: [ErrorHandler],
|
|
development: process.env.NODE_ENV === "production",
|
|
cors: true,
|
|
routePrefix: "/api",
|
|
controllers: [__dirname + "/controllers/*.ts"],
|
|
});
|
|
|
|
async function main() {
|
|
await loaders(app);
|
|
app.listen(PORT, () => {
|
|
consola.success(
|
|
`⚡️[server]: Server is running at http://localhost:${PORT}`
|
|
);
|
|
});
|
|
}
|
|
main();
|