@@ -30,6 +30,7 @@ commander.version(process.env.VERSION || "development")
30
30
. option ( "-H, --allow-http" , "Allow http connections." , false )
31
31
. option ( "-P, --password <value>" , "DEPRECATED: Use the PASSWORD environment variable instead. Specify a password for authentication." )
32
32
. option ( "--disable-telemetry" , "Disables ALL telemetry." , false )
33
+ . option ( "--socket <value>" , "Listen on a UNIX socket. Host and port will be ignored when set." )
33
34
. option ( "--install-extension <value>" , "Install an extension by its ID." )
34
35
. option ( "--bootstrap-fork <name>" , "Used for development. Never set." )
35
36
. option ( "--extra-args <args>" , "Used for development. Never set." )
@@ -63,6 +64,7 @@ const bold = (text: string | number): string | number => {
63
64
readonly open ?: boolean ;
64
65
readonly cert ?: string ;
65
66
readonly certKey ?: string ;
67
+ readonly socket ?: string ;
66
68
67
69
readonly installExtension ?: string ;
68
70
@@ -267,7 +269,11 @@ const bold = (text: string | number): string | number => {
267
269
} ) ;
268
270
269
271
logger . info ( "Starting webserver..." , field ( "host" , options . host ) , field ( "port" , options . port ) ) ;
270
- app . server . listen ( options . port , options . host ) ;
272
+ if ( options . socket ) {
273
+ app . server . listen ( options . socket ) ;
274
+ } else {
275
+ app . server . listen ( options . port , options . host ) ;
276
+ }
271
277
let clientId = 1 ;
272
278
app . wss . on ( "connection" , ( ws , req ) => {
273
279
const id = clientId ++ ;
@@ -284,7 +290,11 @@ const bold = (text: string | number): string | number => {
284
290
} ) ;
285
291
app . wss . on ( "error" , ( err : NodeJS . ErrnoException ) => {
286
292
if ( err . code === "EADDRINUSE" ) {
287
- logger . error ( `Port ${ bold ( options . port ) } is in use. Please free up port ${ options . port } or specify a different port with the -p flag` ) ;
293
+ if ( options . socket ) {
294
+ logger . error ( `Socket ${ bold ( options . socket ) } is in use. Please specify a different socket.` ) ;
295
+ } else {
296
+ logger . error ( `Port ${ bold ( options . port ) } is in use. Please free up port ${ options . port } or specify a different port with the -p flag` ) ;
297
+ }
288
298
process . exit ( 1 ) ;
289
299
}
290
300
} ) ;
0 commit comments