UNPKG

@ancxkush/create-ts-express-mongo-starter-code

Version:

NodeJS/Express starter code with - TypeScript, MongoDB setup, Exception Handler, Logger, HTTP testing example, Swagger Docs example, Mongoose model example, JOI validation example, CRUD operations example

35 lines (26 loc) 1.04 kB
import helmet from 'helmet' import createHttpError from 'http-errors' import swaggerUi from 'swagger-ui-express' import exampleRoutes from './routes/example.routes' import swaggerDocument from './swagger.example.json' import morganLogger from './middlewares/morganLogger' import { errorHandler } from './middlewares/errorHandler' import express, { NextFunction, Request, Response } from 'express' import rateLimiter from './middlewares/rateLimiter' const app = express() app.use(helmet()) app.use(rateLimiter) app.use(express.json()) app.use(express.urlencoded({ extended: true })) app.use(morganLogger) app.get('/', (_req: Request, res: Response) => res.status(200).send(' server is running...') ) app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)) app.use('/api/books', exampleRoutes) //if route doesnot exit (unknown route) app.use('*', (_req: Request, _res: Response, next: NextFunction) => { next(new createHttpError.NotFound()) }) app.use(errorHandler) export default app