From bc076d4d4c517a4b9c6ae751871994e456842a73 Mon Sep 17 00:00:00 2001 From: Edmond Chui Date: Mon, 12 Feb 2024 03:35:29 -0800 Subject: [PATCH] refactor URL construction (#42948) Summary: Changelog: [Internal] Refactor URL construction for DevTools. Next diffs in the stack will add additional URL query params. Support for both absolute and relative `devServerUrl`s maintained. Reviewed By: hoxyq Differential Revision: D53620915 --- .../src/utils/getDevToolsFrontendUrl.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/dev-middleware/src/utils/getDevToolsFrontendUrl.js b/packages/dev-middleware/src/utils/getDevToolsFrontendUrl.js index 76b497e04db8..c665bbe2b2d8 100644 --- a/packages/dev-middleware/src/utils/getDevToolsFrontendUrl.js +++ b/packages/dev-middleware/src/utils/getDevToolsFrontendUrl.js @@ -20,14 +20,18 @@ export default function getDevToolsFrontendUrl( devServerUrl: string, ): string { const scheme = new URL(webSocketDebuggerUrl).protocol.slice(0, -1); - const appUrl = `${devServerUrl}/debugger-frontend/rn_inspector.html`; const webSocketUrlWithoutProtocol = encodeURIComponent( webSocketDebuggerUrl.replace(/^wss?:\/\//, ''), ); + const appUrl = `${devServerUrl}/debugger-frontend/rn_inspector.html`; - const devToolsUrl = `${appUrl}?${scheme}=${webSocketUrlWithoutProtocol}&sources.hide_add_folder=true`; + const searchParams = new URLSearchParams([ + [scheme, webSocketUrlWithoutProtocol], + ['sources.hide_add_folder', 'true'], + ]); + if (experiments.enableNetworkInspector) { + searchParams.append('unstable_enableNetworkPanel', 'true'); + } - return experiments.enableNetworkInspector - ? `${devToolsUrl}&unstable_enableNetworkPanel=true` - : devToolsUrl; + return appUrl + '?' + searchParams.toString(); }