Disable dev tools in bridgeless mode

Summary: Developer tools have a lot of dependencies on the bridge, so for now I'm just disabling them in bridgeless mode entirely by guarding everything in `setUpDeveloperTools` with the `RN$Bridgeless` flag. Also consolidating some of the stuff Dan added to `InitializeCore` for hot reloading in here.

Reviewed By: zackargyle

Differential Revision: D15797924

fbshipit-source-id: 360ea81a2844e49f7281eed259fc16a541148ac2
This commit is contained in:
Emily Janzer
2019-06-13 08:51:47 -07:00
committed by Facebook Github Bot
parent 206abb057c
commit aeef7b511e
2 changed files with 31 additions and 28 deletions
-9
View File
@@ -41,15 +41,6 @@ require('./setUpSegmentFetcher');
if (__DEV__) {
require('./checkNativeVersion');
require('./setUpDeveloperTools');
// This is used by the require.js polyfill for hot reloading.
// TODO(t9759686) Scan polyfills for dependencies, too
const reload = require('../NativeModules/specs/NativeDevSettings').default
.reload;
if (typeof reload !== 'function') {
throw new Error('Could not find the reload() implementation.');
}
(require: any).reload = reload;
}
const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
+31 -19
View File
@@ -16,27 +16,39 @@ import Platform from '../Utilities/Platform';
* You can use this module directly, or just require InitializeCore.
*/
if (__DEV__) {
if (!global.__RCTProfileIsProfiling) {
// not when debugging in chrome
// TODO(t12832058) This check is broken
if (!window.document) {
require('./Devtools/setupDevtools');
// TODO (T45803484) Enable devtools for bridgeless RN
if (!global.RN$Bridgeless) {
if (!global.__RCTProfileIsProfiling) {
// not when debugging in chrome
// TODO(t12832058) This check is broken
if (!window.document) {
require('./Devtools/setupDevtools');
}
// Set up inspector
const JSInspector = require('../JSInspector/JSInspector');
JSInspector.registerAgent(require('../JSInspector/NetworkAgent'));
}
// Set up inspector
const JSInspector = require('../JSInspector/JSInspector');
JSInspector.registerAgent(require('../JSInspector/NetworkAgent'));
}
if (!Platform.isTesting) {
const logToConsole = require('./Devtools/logToConsole');
['log', 'warn', 'info', 'trace'].forEach(level => {
const originalFunction = console[level];
// $FlowFixMe Overwrite console methods
console[level] = function(...args) {
logToConsole(level, args);
originalFunction.apply(console, args);
};
});
}
if (!Platform.isTesting) {
const logToConsole = require('./Devtools/logToConsole');
['log', 'warn', 'info', 'trace'].forEach(level => {
const originalFunction = console[level];
// $FlowFixMe Overwrite console methods
console[level] = function(...args) {
logToConsole(level, args);
originalFunction.apply(console, args);
};
});
// This is used by the require.js polyfill for hot reloading.
// TODO(t9759686) Scan polyfills for dependencies, too
const reload = require('../NativeModules/specs/NativeDevSettings').default
.reload;
if (typeof reload !== 'function') {
throw new Error('Could not find the reload() implementation.');
}
(require: any).reload = reload; // flowlint-line unclear-type: off
}
}