diff --git a/server/package.json b/server/package.json index c79e7d2..d41c2e3 100644 --- a/server/package.json +++ b/server/package.json @@ -16,7 +16,7 @@ "scripts": { "build": "tsc", "start": "node build/index.js", - "dev": "tsx watch --clear-screen=false src/index.ts" + "dev": "node --import tsx --watch --watch-preserve-output src/index.ts" }, "devDependencies": { "@types/cors": "^2.8.17", diff --git a/server/src/index.ts b/server/src/index.ts index 9662009..0e1f2f7 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -152,4 +152,36 @@ app.get("/config", (req, res) => { }); const PORT = process.env.PORT || 3000; -app.listen(PORT, () => {}); + +try { + const server = app.listen(PORT); + + server.on('listening', () => { + const addr = server.address(); + const port = typeof addr === 'string' ? addr : addr?.port; + console.log(`Server listening on port ${port}`); + }); + + server.on('error', (error: any) => { + if (error.code === 'EADDRINUSE') { + console.error(`Port ${PORT} is already in use`); + process.exit(1); + } else { + console.error('Error starting server:', error); + process.exit(1); + } + }); + + process.on('uncaughtException', (error) => { + console.error('Uncaught exception:', error); + process.exit(1); + }); + + process.on('unhandledRejection', (error) => { + console.error('Unhandled rejection:', error); + process.exit(1); + }); +} catch (error) { + console.error('Failed to start server:', error); + process.exit(1); +}