From 6bd5d2b731109fe85503e4d15f360affa8371f26 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Fri, 17 May 2024 11:28:32 -0700 Subject: [PATCH] Add server_listening reporter event with actually-bound port and address --- packages/metro/src/index.flow.js | 8 ++++++++ packages/metro/src/lib/reporting.js | 6 ++++++ packages/metro/types/lib/reporting.d.ts | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/packages/metro/src/index.flow.js b/packages/metro/src/index.flow.js index c35cdf5eb1..4daea115c9 100644 --- a/packages/metro/src/index.flow.js +++ b/packages/metro/src/index.flow.js @@ -309,6 +309,14 @@ exports.runServer = async ( }); httpServer.listen(config.server.port, host, () => { + const {address, port, family} = httpServer.address(); + config.reporter.update({ + type: 'server_listening', + address, + port, // Assigned port if configured with port 0 + family, + }); + if (onReady) { onReady(httpServer); } diff --git a/packages/metro/src/lib/reporting.js b/packages/metro/src/lib/reporting.js index 9971d41be1..7087762e41 100644 --- a/packages/metro/src/lib/reporting.js +++ b/packages/metro/src/lib/reporting.js @@ -132,6 +132,12 @@ export type ReportableEvent = type: 'resolver_warning', message: string, } + | { + type: 'server_listening', + port: number, + address: string, + family: string, + } | { type: 'transformer_load_started', } diff --git a/packages/metro/types/lib/reporting.d.ts b/packages/metro/types/lib/reporting.d.ts index b7d6e9f497..c47ae99a17 100644 --- a/packages/metro/types/lib/reporting.d.ts +++ b/packages/metro/types/lib/reporting.d.ts @@ -96,6 +96,12 @@ export type ReportableEvent = | 'debug'; data: unknown[]; } + | { + type: 'server_listening'; + port: number; + address: string; + family: string; + } | { type: 'transformer_load_started'; }