import express from 'express'; import { createServer as createHttpServer } from 'http'; import { Server } from 'socket.io'; import cors from 'cors'; import { setupSocketHandlers } from './socket/handlers.js'; import { apiRoutes } from './api/routes.js'; export function createServer(port: number | string) { const app = express(); app.use(cors({ origin: process.env.CORS_ORIGIN || '*' })); app.use(express.json()); app.use('/api', apiRoutes); const httpServer = createHttpServer(app); const io = new Server(httpServer, { cors: { origin: process.env.CORS_ORIGIN || '*' }, transports: ['websocket', 'polling'], }); setupSocketHandlers(io); httpServer.listen(port, () => { console.log(`[RPS Server] Listening on port ${port}`); }); }