UNPKG

jdm-react-router-cli

Version:

A CLI tool to generate Express.js routers, models, middleware, and controllers

57 lines (49 loc) 1.73 kB
module.exports = ({ config = {}, author = "JDM" }) => { const { models = "models" } = config; return ` // Author: ${author} // Created on: ${new Date().toISOString()} const express = require("express"); const cors = require("cors"); const serverless = require("serverless-http"); const path = require("path"); const { sequelize } = require("../${models}/models.js"); const bodyParser = require("body-parser"); const app = express(); const router = express.Router(); // ------------------------------------------------------------------------------- // CORS CONFIGURATION // ------------------------------------------------------------------------------- const DEVELOPMENT = false; if (DEVELOPMENT) { app.use( cors({ origin: "", credentials: true, optionSuccessStatus: 200, }) ); } else { app.use(cors()); } // ------------------------------------------------------------------------------- // ALL ROUTES // ------------------------------------------------------------------------------- router.get("/test", async (req, res) => { res.status(200).json("This is a test endpoint."); }); router.get("/reset", async (req, res) => { await sequelize.sync({ force: true }); res.send("Database reset successful."); }); // ------------------------------------------------------------------------------- // APP MIDDLEWARE // ------------------------------------------------------------------------------- app.use(bodyParser.json()); app.use(express.json()); app.use(express.static(path.join(__dirname, "../client/build"))); // Set base path for serverless functions app.use("/.netlify/functions/api", router); module.exports.handler = serverless(app); `; };