import express from "express"; import cors from "cors"; import { createServer } from "http"; import { Server } from "socket.io"; import { setupSocket } from "./socket.js"; import campaignRoutes from "./routes/campaigns.js"; import characterRoutes from "./routes/characters.js"; const app = express(); const httpServer = createServer(app); const io = new Server(httpServer, { cors: { origin: "*" }, }); app.use(cors()); app.use(express.json()); // Make io accessible to route handlers app.set("io", io); setupSocket(io); app.use("/api/campaigns", campaignRoutes); app.use("/api/campaigns/:campaignId/characters", characterRoutes); app.use("/api/characters", characterRoutes); const PORT = process.env.PORT || 3000; httpServer.listen(PORT, () => { console.log(`Shadowdark server running on http://localhost:${PORT}`); }); export { io };