mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add RN$Bridgeless flag, use it to conditionally skip bridge setup
Summary: In bridgeless mode we don't want to set up the batched bridge, which is set up as part of InitializeCore. Instead of deleting InitializeCore completely, let's just skip this step if we're in bridgeless mode, which we'll detect using a global variable set on the runtime from cpp (`RN$Bridgeless`). This way you still get an error if the bridge is somehow not set up properly when you're not in bridgeless mode (it won't fail silently). Reviewed By: fkgozali Differential Revision: D15721940 fbshipit-source-id: 73896e25874dd000f37d1abc9cf6be549ab3434f
This commit is contained in:
1 parent
5c399a9f74
commit
4e7155ee53
1 file changed
+42
-36
@@ -10,42 +10,48 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Set up the BatchedBridge. This must be done after the other steps in
|
||||
* InitializeCore to ensure that the JS environment has been initialized.
|
||||
* You can use this module directly, or just require InitializeCore.
|
||||
* We don't set up the batched bridge in bridgeless mode. Once we've migrated
|
||||
* everything over to bridgeless we can just delete this file.
|
||||
*/
|
||||
const BatchedBridge = require('../BatchedBridge/BatchedBridge');
|
||||
BatchedBridge.registerLazyCallableModule('Systrace', () =>
|
||||
require('../Performance/Systrace'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('JSTimers', () =>
|
||||
require('./Timers/JSTimers'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('HeapCapture', () =>
|
||||
require('../HeapCapture/HeapCapture'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('SamplingProfiler', () =>
|
||||
require('../Performance/SamplingProfiler'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('RCTLog', () =>
|
||||
require('../Utilities/RCTLog'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('RCTDeviceEventEmitter', () =>
|
||||
require('../EventEmitter/RCTDeviceEventEmitter'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('RCTNativeAppEventEmitter', () =>
|
||||
require('../EventEmitter/RCTNativeAppEventEmitter'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('GlobalPerformanceLogger', () =>
|
||||
require('../Utilities/GlobalPerformanceLogger'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('JSDevSupportModule', () =>
|
||||
require('../Utilities/JSDevSupportModule'),
|
||||
);
|
||||
|
||||
if (__DEV__ && !global.__RCTProfileIsProfiling) {
|
||||
BatchedBridge.registerCallableModule(
|
||||
'HMRClient',
|
||||
require('../Utilities/HMRClient'),
|
||||
if (!global.RN$Bridgeless) {
|
||||
/**
|
||||
* Set up the BatchedBridge. This must be done after the other steps in
|
||||
* InitializeCore to ensure that the JS environment has been initialized.
|
||||
* You can use this module directly, or just require InitializeCore.
|
||||
*/
|
||||
const BatchedBridge = require('../BatchedBridge/BatchedBridge');
|
||||
BatchedBridge.registerLazyCallableModule('Systrace', () =>
|
||||
require('../Performance/Systrace'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('JSTimers', () =>
|
||||
require('./Timers/JSTimers'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('HeapCapture', () =>
|
||||
require('../HeapCapture/HeapCapture'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('SamplingProfiler', () =>
|
||||
require('../Performance/SamplingProfiler'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('RCTLog', () =>
|
||||
require('../Utilities/RCTLog'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('RCTDeviceEventEmitter', () =>
|
||||
require('../EventEmitter/RCTDeviceEventEmitter'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('RCTNativeAppEventEmitter', () =>
|
||||
require('../EventEmitter/RCTNativeAppEventEmitter'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('GlobalPerformanceLogger', () =>
|
||||
require('../Utilities/GlobalPerformanceLogger'),
|
||||
);
|
||||
BatchedBridge.registerLazyCallableModule('JSDevSupportModule', () =>
|
||||
require('../Utilities/JSDevSupportModule'),
|
||||
);
|
||||
|
||||
if (__DEV__ && !global.__RCTProfileIsProfiling) {
|
||||
BatchedBridge.registerCallableModule(
|
||||
'HMRClient',
|
||||
require('../Utilities/HMRClient'),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user