diff --git a/apps/desktop/src/main/index.ts b/apps/desktop/src/main/index.ts index eeaf345..06e1551 100644 --- a/apps/desktop/src/main/index.ts +++ b/apps/desktop/src/main/index.ts @@ -1,5 +1,4 @@ import { spawn } from 'node:child_process' -import type { AddressInfo } from 'node:net' import { createServer } from 'node:net' import { join } from 'node:path' import { app, BrowserWindow, shell } from 'electron' @@ -13,8 +12,13 @@ const getAvailablePort = (): Promise => new Promise((resolve, reject) => { const server = createServer() server.listen(0, () => { - const { port } = server.address() as AddressInfo - server.close(() => resolve(port)) + const addr = server.address() + if (!addr || typeof addr === 'string') { + server.close() + reject(new Error('Failed to resolve port')) + return + } + server.close(() => resolve(addr.port)) }) server.on('error', reject) })