gracefully report on busy port

Massimo Melina committed Dec 31, 2021 at 12:14 UTC 1b3d471b0f4786780e50b6fa46a4c9b3dcb0bf0b
1 file changed +7 -2
src/index.ts
+7 -2
@@ -98,9 +98,14 @@ async function listenOn(port: number) {
98 resolve(err)
99 })
100 })
101 - await new Promise(resolve =>
101 + await new Promise(resolve => {
102 srv = app.listen(port, () => {
103 console.log('running on port', port, DEV, new Date().toLocaleString())
104 resolve(null)
105 - }))
105 + }).on('error', e => {
106 + const { code } = e as any
107 + if (code === 'EADDRINUSE')
108 + console.error(`couldn't listen on busy port ${port}`)
109 + })
110 + })
111 }