Skip to content

Commit a469af3

Browse files
authored
fix(server): error if port is in use (#2418)
1 parent da8a216 commit a469af3

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

packages/cli/src/cli/server/action.serve.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { CommandLineAction, CommandLineIntegerParameter, CommandLineStringParame
22

33
import { createServer } from '@basemaps/server';
44
import { Const, Env, LogConfig } from '@basemaps/shared';
5+
56
const DefaultPort = 5000;
67

78
export class CommandServe extends CommandLineAction {
@@ -48,8 +49,12 @@ export class CommandServe extends CommandLineAction {
4849
process.env[Env.PublicUrlBase] = ServerUrl;
4950

5051
const server = await createServer({ config, assets }, logger);
51-
server.listen(port ?? DefaultPort, '0.0.0.0', () => {
52-
logger.info({ url: ServerUrl }, 'ServerStarted');
52+
await new Promise<void>((resolve, reject) => {
53+
server.listen(port ?? DefaultPort, '0.0.0.0', (err) => {
54+
if (err) reject(err);
55+
logger.info({ url: ServerUrl }, 'ServerStarted');
56+
resolve();
57+
});
5358
});
5459
}
5560
}

packages/server/src/cli.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,12 @@ export class BasemapsServerCommand extends BaseCommandLine {
4545
process.env[Env.PublicUrlBase] = ServerUrl;
4646

4747
const server = await createServer({ config, assets }, logger);
48-
server.listen(port ?? DefaultPort, '0.0.0.0', () => {
49-
logger.info({ url: ServerUrl }, 'ServerStarted');
48+
await new Promise<void>((resolve, reject) => {
49+
server.listen(port ?? DefaultPort, '0.0.0.0', (err) => {
50+
if (err) reject(err);
51+
logger.info({ url: ServerUrl }, 'ServerStarted');
52+
resolve();
53+
});
5054
});
5155
}
5256
}

0 commit comments

Comments
 (0)