import { serve } from "@hono/node-server"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { logger } from "hono/logger"; import { aboutRouter } from "./routes/about.js"; import { apotheosisRouter } from "./routes/apotheosis.js"; import { authRouter } from "./routes/auth.js"; import { bossRouter } from "./routes/boss.js"; import { craftRouter } from "./routes/craft.js"; import { exploreRouter } from "./routes/explore.js"; import { gameRouter } from "./routes/game.js"; import { prestigeRouter } from "./routes/prestige.js"; import { transcendenceRouter } from "./routes/transcendence.js"; import { profileRouter } from "./routes/profile.js"; const app = new Hono(); app.use("*", logger()); app.use( "*", cors({ origin: process.env["CORS_ORIGIN"] ?? "http://localhost:5173", allowHeaders: ["Authorization", "Content-Type"], allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], }), ); app.route("/about", aboutRouter); app.route("/auth", authRouter); app.route("/game", gameRouter); app.route("/boss", bossRouter); app.route("/explore", exploreRouter); app.route("/craft", craftRouter); app.route("/prestige", prestigeRouter); app.route("/transcendence", transcendenceRouter); app.route("/apotheosis", apotheosisRouter); app.route("/profile", profileRouter); app.get("/health", (context) => context.json({ status: "ok" })); const port = Number(process.env["PORT"] ?? 3001); serve({ fetch: app.fetch, port }, () => { console.log(`Elysium API running on port ${port}`); });