UNPKG

sequelize-ts-boilerplate

Version:

A REST API scaffolding tool designed to scale and easily generate CRUD endpoints based on database schema design

58 lines (50 loc) 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fse = require("fs-extra"); const routeUsingMiddlewareWriter = require("./write-route-use"); function generate(tables, config) { const routing = routeUsingMiddlewareWriter.get(tables, config); const serverFile = (` import * as path from "path"; import * as http from "http"; import * as logger from "morgan"; import * as cookieParser from 'cookie-parser'; import * as bodyParser from 'body-parser'; import * as cors from 'cors'; import * as helmet from 'helmet'; import * as express from 'express' import {Request, Response, NextFunction} from 'express' ${routing.imports} const app = express(); require("./datasources/sequelize"); // initialize sequelize connection // routes ${routing.usingStatement} app.use(logger()); app.use(cors()); app.use(bodyParser.json({limit: '50mb'})); // app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(helmet()); /*** Add custom Middlewares here ***/ process.on('uncaughtException', (err) => { console.log("Uncaught Exception!", err); }); process.on('unhandledRejection', (err) => { console.error(err); }) app.use((req, res, next) => { next({message: "Not Found", status: 404}); }); app.use((err, req: Request, res: Response, next: NextFunction): void => { console.log("err: ", err); res.status(400).json({message: "Route not found"}); // or server 404 template }); const port = process.env.PORT || 3000; app.listen(port, () => { console.log("listening on port: ", port); }) `); fse.outputFileSync(`./src/server.ts`, serverFile, "utf8"); } exports.generate = generate; //# sourceMappingURL=write-server.js.map