mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: This enables the network panel/inspector by passing the `unstable_enableNetworkPanel=true` to the React Native JS Inspector. (See https://github.com/facebookexperimental/rn-chrome-devtools-frontend/pull/2) By setting this inside the `experiments`, we can enable/disable network related CDP handlers within the proxy. ## Changelog: [GENERAL] [ADDED] - Add `enableNetworkInspector` experiment to enable Network panel and CDP handlers in inspector proxy Pull Request resolved: https://github.com/facebook/react-native/pull/41787 Test Plan: TBD, will provide a repository using an Expo canary / RN 0.73.0-rc release. Reviewed By: NickGerleman Differential Revision: D51811892 Pulled By: huntie fbshipit-source-id: 541d96b6f0735104a4050a24a152e1158871ed1d
34 lines
1020 B
JavaScript
34 lines
1020 B
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow strict-local
|
|
* @format
|
|
* @oncall react_native
|
|
*/
|
|
|
|
import type {Experiments} from '../types/Experiments';
|
|
|
|
/**
|
|
* Get the DevTools frontend URL to debug a given React Native CDP target.
|
|
*/
|
|
export default function getDevToolsFrontendUrl(
|
|
experiments: Experiments,
|
|
webSocketDebuggerUrl: string,
|
|
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 devToolsUrl = `${appUrl}?${scheme}=${webSocketUrlWithoutProtocol}&sources.hide_add_folder=true`;
|
|
|
|
return experiments.enableNetworkInspector
|
|
? `${devToolsUrl}&unstable_enableNetworkPanel=true`
|
|
: devToolsUrl;
|
|
}
|