Files
react-native/packages/debugger-shell/src/electron/preload.js
T
Sam Zhou af1bcb6d44 Mass replace $FlowIgnore with $FlowFixMe in react-native (#53076)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53076

Changelog: [Internal]

Reviewed By: marcoww6

Differential Revision: D79672242

fbshipit-source-id: 560f057d8658ed602cf7241e584bade70d8f3a99
2025-08-05 15:44:41 -07:00

46 lines
1.4 KiB
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
*/
// $FlowFixMe[prop-missing]
const {contextBridge, ipcRenderer} = require('electron');
contextBridge.executeInMainWorld({
func: ipcDevTools => {
let didDecorateInspectorFrontendHostInstance = false;
// reactNativeDecorateInspectorFrontendHostInstance was introduced in
// https://github.com/facebook/react-native-devtools-frontend/pull/168
// $FlowFixMe[prop-missing]
globalThis.reactNativeDecorateInspectorFrontendHostInstance = (
InspectorFrontendHostInstance: $FlowFixMe,
) => {
didDecorateInspectorFrontendHostInstance = true;
InspectorFrontendHostInstance.bringToFront = () => {
ipcDevTools.bringToFront();
};
};
document.addEventListener('DOMContentLoaded', () => {
if (!didDecorateInspectorFrontendHostInstance) {
console.error(
'reactNativeDecorateInspectorFrontendHostInstance was not called at startup. ' +
'This version of the DevTools frontend may not be compatible with @react-native/debugger-shell.',
);
}
});
},
args: [
{
bringToFront() {
ipcRenderer.send('bringToFront');
},
},
],
});