import express from "express"; import cors from "cors"; import helmet from "helmet"; import morgan from "morgan"; import { config } from "./config/index.js"; import { authMiddleware } from "./middleware/auth.js"; import { rateLimitMiddleware } from "./middleware/rateLimit.js"; import { errorHandler } from "./middleware/errorHandler.js"; import { apiRouter } from "./routes/index.js"; export function createApp() { const app = express(); app.disable("x-powered-by"); app.use(helmet()); app.use( cors({ origin: config.corsOrigin, credentials: true }) ); app.use(express.json({ limit: "10mb" })); app.use(morgan("dev")); app.get("/health", (_req, res) => { res.json({ ok: true }); }); app.use("/api", rateLimitMiddleware, authMiddleware, apiRouter); app.use(errorHandler); return app; }