import { createServer } from "http"; import app from "./app.js"; import { attachWebSocketServer } from "./routes/events.js"; import { rootLogger } from "./lib/logger.js"; const rawPort = process.env["PORT"]; if (!rawPort) { throw new Error("PORT environment variable is required but was not provided."); } const port = Number(rawPort); if (Number.isNaN(port) || port <= 0) { throw new Error(`Invalid PORT value: "${rawPort}"`); } const server = createServer(app); attachWebSocketServer(server); server.listen(port, () => { rootLogger.info("server started", { port }); const domain = process.env["REPLIT_DEV_DOMAIN"]; if (domain) { rootLogger.info("public url", { url: `https://${domain}/api/ui` }); rootLogger.info("tower url", { url: `https://${domain}/tower` }); rootLogger.info("ws url", { url: `wss://${domain}/api/ws` }); } });