diff --git a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h index 4a4eb3fa1756..1dc6adb18c64 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h +++ b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h @@ -47,8 +47,6 @@ NS_ASSUME_NONNULL_BEGIN * - (UIViewController *)createRootViewController; * - (void)setRootView:(UIView *)rootView toRootViewController:(UIViewController *)rootViewController; * New Architecture: - * - (BOOL)turboModuleEnabled; - * - (BOOL)fabricEnabled; * - (NSDictionary *)prepareInitialProps * - (Class)getModuleClassFromName:(const char *)name * - (std::shared_ptr)getTurboModule:(const std::string &)name diff --git a/packages/react-native/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm b/packages/react-native/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm index df121982cd3d..d94631a23d82 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm @@ -116,21 +116,6 @@ - (BOOL)newArchEnabled return YES; } -- (BOOL)bridgelessEnabled -{ - return YES; -} - -- (BOOL)fabricEnabled -{ - return YES; -} - -- (BOOL)turboModuleEnabled -{ - return YES; -} - - (Class)getModuleClassFromName:(const char *)name { return nullptr; diff --git a/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm b/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm index 7f2a346bf849..e4ee18ccb518 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm @@ -289,10 +289,7 @@ - (RCTRootViewFactory *)createRCTRootViewFactory }; RCTRootViewFactoryConfiguration *configuration = - [[RCTRootViewFactoryConfiguration alloc] initWithBundleURLBlock:bundleUrlBlock - newArchEnabled:YES - turboModuleEnabled:YES - bridgelessEnabled:YES]; + [[RCTRootViewFactoryConfiguration alloc] initWithBundleURLBlock:bundleUrlBlock newArchEnabled:YES]; configuration.customizeRootView = ^(UIView *_Nonnull rootView) { [weakSelf.delegate customizeRootView:(RCTRootView *)rootView]; diff --git a/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.h b/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.h index c78844c6c334..000963c81e1a 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.h +++ b/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.h @@ -43,15 +43,6 @@ typedef void (^RCTLoadSourceForBridgeBlock)(RCTBridge *bridge, RCTSourceLoadBloc #pragma mark - RCTRootViewFactory Configuration @interface RCTRootViewFactoryConfiguration : NSObject -/// This property controls whether the App will use the Fabric renderer of the New Architecture or not. -@property (nonatomic, assign, readonly) BOOL fabricEnabled; - -/// This property controls whether React Native's new initialization layer is enabled. -@property (nonatomic, assign, readonly) BOOL bridgelessEnabled; - -/// This method controls whether the `turboModules` feature of the New Architecture is turned on or off -@property (nonatomic, assign, readonly) BOOL turboModuleEnabled; - /// Return the bundle URL for the main bundle. @property (nonatomic, nonnull) RCTBundleURLBlock bundleURLBlock; @@ -64,16 +55,6 @@ typedef void (^RCTLoadSourceForBridgeBlock)(RCTBridge *bridge, RCTSourceLoadBloc * pointing to a path inside the app resources, e.g. `file://.../main.jsbundle`. * */ -- (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock - newArchEnabled:(BOOL)newArchEnabled - turboModuleEnabled:(BOOL)turboModuleEnabled - bridgelessEnabled:(BOOL)bridgelessEnabled __deprecated; - -- (instancetype)initWithBundleURL:(NSURL *)bundleURL - newArchEnabled:(BOOL)newArchEnabled - turboModuleEnabled:(BOOL)turboModuleEnabled - bridgelessEnabled:(BOOL)bridgelessEnabled __deprecated; - - (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock newArchEnabled:(BOOL)newArchEnabled NS_DESIGNATED_INITIALIZER; diff --git a/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm b/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm index 09f19e488262..f6569b69ede3 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm @@ -42,37 +42,10 @@ - (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock newArch return [self initWithBundleURLBlock:bundleURLBlock]; } -- (instancetype)initWithBundleURL:(NSURL *)bundleURL - newArchEnabled:(BOOL)newArchEnabled - turboModuleEnabled:(BOOL)turboModuleEnabled - bridgelessEnabled:(BOOL)bridgelessEnabled -{ - return [self initWithBundleURLBlock:^{ - return bundleURL; - }]; -} - -- (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock - newArchEnabled:(BOOL)newArchEnabled - turboModuleEnabled:(BOOL)turboModuleEnabled - bridgelessEnabled:(BOOL)bridgelessEnabled -{ - if (self = [super init]) { - _bundleURLBlock = bundleURLBlock; - _fabricEnabled = YES; - _turboModuleEnabled = YES; - _bridgelessEnabled = YES; - } - return self; -} - - (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock { if (self = [super init]) { _bundleURLBlock = bundleURLBlock; - _fabricEnabled = YES; - _turboModuleEnabled = YES; - _bridgelessEnabled = YES; } return self; } diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index f4386d1bd1c7..7f95f09ddc08 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -1768,18 +1768,8 @@ public final class com/facebook/react/defaults/DefaultComponentsRegistry { public final class com/facebook/react/defaults/DefaultNewArchitectureEntryPoint { public static final field INSTANCE Lcom/facebook/react/defaults/DefaultNewArchitectureEntryPoint; - public static final fun getBridgelessEnabled ()Z - public static final fun getConcurrentReactEnabled ()Z - public static final fun getFabricEnabled ()Z public final fun getReleaseLevel ()Lcom/facebook/react/common/ReleaseLevel; - public static final fun getTurboModulesEnabled ()Z public static final fun load ()V - public static final fun load (Z)V - public static final fun load (ZZ)V - public static final fun load (ZZZ)V - public static synthetic fun load$default (ZILjava/lang/Object;)V - public static synthetic fun load$default (ZZILjava/lang/Object;)V - public static synthetic fun load$default (ZZZILjava/lang/Object;)V public final fun setReleaseLevel (Lcom/facebook/react/common/ReleaseLevel;)V } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt index 27576a5f9908..43f65bbc3751 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt @@ -5,12 +5,9 @@ * LICENSE file in the root directory of this source tree. */ -@file:Suppress("DEPRECATION") // We want to use ReactFeatureFlags here specifically - package com.facebook.react.defaults import com.facebook.react.common.ReleaseLevel -import com.facebook.react.common.annotations.VisibleForTesting import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android @@ -20,74 +17,20 @@ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsProvider /** * A utility class that serves as an entry point for users setup the New Architecture. * - * This class needs to be invoked as `DefaultNewArchitectureEntryPoint.load(...)` by passing a - * series of optional parameters. + * This class needs to be invoked as `DefaultNewArchitectureEntryPoint.load()`. * * By default it loads a library called `appmodules`. `appmodules` is a convention used to refer to * the application dynamic library. If changed here should be updated also inside the template. * - * By default it also enables both TurboModules, Fabric and Concurrent React (aka React 18), and - * Bridgeless + * The [releaseLevel] selects which feature flag release channel the app is loaded with. */ public object DefaultNewArchitectureEntryPoint { public var releaseLevel: ReleaseLevel = ReleaseLevel.STABLE - /** - * Loads the React Native New Architecture entry point with the default configuration. - * - * This will load the app with TurboModules, Fabric and Bridgeless by default. - */ + /** Loads the React Native New Architecture entry point. */ @JvmStatic public fun load() { - load(turboModulesEnabled = true, fabricEnabled = true, bridgelessEnabled = true) - } - - @JvmStatic - @Deprecated( - message = - "Loading the entry point with different flags for Fabric, TurboModule and Bridgeless is deprecated." + - "Please use load() instead when loading the New Architecture.", - replaceWith = ReplaceWith("load()"), - ) - public fun load( - turboModulesEnabled: Boolean = true, - ) { - load(turboModulesEnabled, fabricEnabled = true, bridgelessEnabled = true) - } - - @JvmStatic - @Deprecated( - message = - "Loading the entry point with different flags for Fabric, TurboModule and Bridgeless is deprecated." + - "Please use load() instead when loading the New Architecture.", - replaceWith = ReplaceWith("load()"), - ) - public fun load( - turboModulesEnabled: Boolean = true, - fabricEnabled: Boolean = true, - ) { - load(turboModulesEnabled, fabricEnabled, bridgelessEnabled = true) - } - - @JvmStatic - @Deprecated( - message = - "Loading the entry point with different flags for Fabric, TurboModule and Bridgeless is deprecated." + - "Please use load() instead when loading the New Architecture.", - replaceWith = ReplaceWith("load()"), - ) - public fun load( - turboModulesEnabled: Boolean = true, - fabricEnabled: Boolean = true, - bridgelessEnabled: Boolean = true, - ) { - val (isValid, errorMessage) = - isConfigurationValid(turboModulesEnabled, fabricEnabled, bridgelessEnabled) - if (!isValid) { - error(errorMessage) - } - when (releaseLevel) { ReleaseLevel.EXPERIMENTAL -> { ReactNativeFeatureFlags.override( @@ -102,9 +45,6 @@ public object DefaultNewArchitectureEntryPoint { } } - privateTurboModulesEnabled = turboModulesEnabled - privateBridgelessEnabled = bridgelessEnabled - DefaultSoLoader.maybeLoadSoLibrary() } @@ -112,55 +52,6 @@ public object DefaultNewArchitectureEntryPoint { internal fun loadWithFeatureFlags(featureFlags: ReactNativeFeatureFlagsProvider) { ReactNativeFeatureFlags.override(featureFlags) - privateTurboModulesEnabled = true - privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture() - - val (isValid, errorMessage) = - isConfigurationValid( - privateTurboModulesEnabled, - true, - privateBridgelessEnabled, - ) - if (!isValid) { - error(errorMessage) - } - DefaultSoLoader.maybeLoadSoLibrary() } - - @JvmStatic - public val fabricEnabled: Boolean - get() = true - - private var privateTurboModulesEnabled: Boolean = false - - @JvmStatic - public val turboModulesEnabled: Boolean - get() = privateTurboModulesEnabled - - @JvmStatic - public val concurrentReactEnabled: Boolean - get() = true - - private var privateBridgelessEnabled: Boolean = false - - @JvmStatic - public val bridgelessEnabled: Boolean - get() = privateBridgelessEnabled - - @VisibleForTesting - public fun isConfigurationValid( - turboModulesEnabled: Boolean, - fabricEnabled: Boolean, - bridgelessEnabled: Boolean, - ): Pair = - if (!turboModulesEnabled || !fabricEnabled || !bridgelessEnabled) { - false to - "You cannot load React Native with the New Architecture disabled. " + - "Please use DefaultNewArchitectureEntryPoint.load() instead of " + - "DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=$turboModulesEnabled, " + - "fabricEnabled=$fabricEnabled, bridgelessEnabled=$bridgelessEnabled)" - } else { - true to "" - } } diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPointTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPointTest.kt deleted file mode 100644 index ffddae1fe173..000000000000 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPointTest.kt +++ /dev/null @@ -1,115 +0,0 @@ -/* - * 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. - */ - -package com.facebook.react.defaults - -import org.assertj.core.api.Assertions.assertThat -import org.junit.Test - -class DefaultNewArchitectureEntryPointTest { - - @Test - fun isConfigurationValid_withEverythingOff_returnsFalse() { - val (isValid, errorMessage) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = false, - fabricEnabled = false, - bridgelessEnabled = false, - ) - assertThat(isValid).isFalse() - assertThat(errorMessage) - .isEqualTo( - "You cannot load React Native with the New Architecture disabled. Please use DefaultNewArchitectureEntryPoint.load() instead of DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=false, fabricEnabled=false, bridgelessEnabled=false)", - ) - } - - @Test - fun isConfigurationValid_withNewArchOnlyOn_returnsFalse() { - val (isValid, errorMessage) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = true, - fabricEnabled = true, - bridgelessEnabled = false, - ) - assertThat(isValid).isFalse() - assertThat(errorMessage) - .isEqualTo( - "You cannot load React Native with the New Architecture disabled. Please use DefaultNewArchitectureEntryPoint.load() instead of DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=true, fabricEnabled=true, bridgelessEnabled=false)", - ) - } - - @Test - fun isConfigurationValid_withTurboModulesOnlyOn_returnsFalse() { - val (isValid, errorMessage) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = true, - fabricEnabled = false, - bridgelessEnabled = false, - ) - assertThat(isValid).isFalse() - assertThat(errorMessage) - .isEqualTo( - "You cannot load React Native with the New Architecture disabled. Please use DefaultNewArchitectureEntryPoint.load() instead of DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=true, fabricEnabled=false, bridgelessEnabled=false)", - ) - } - - @Test - fun isConfigurationValid_withBridgelessOn_returnsTrue() { - val (isValid, _) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = true, - fabricEnabled = true, - bridgelessEnabled = true, - ) - assertThat(isValid).isTrue() - } - - @Test - fun isConfigurationValid_withFabricWithoutTurboModules_returnsFalse() { - val (isValid, errorMessage) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = false, - fabricEnabled = true, - bridgelessEnabled = false, - ) - assertThat(isValid).isFalse() - assertThat(errorMessage) - .isEqualTo( - "You cannot load React Native with the New Architecture disabled. Please use DefaultNewArchitectureEntryPoint.load() instead of DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=false, fabricEnabled=true, bridgelessEnabled=false)", - ) - } - - @Test - fun isConfigurationValid_withBridgelessWithoutTurboModules_returnsFalse() { - val (isValid, errorMessage) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = false, - fabricEnabled = true, - bridgelessEnabled = true, - ) - assertThat(isValid).isFalse() - assertThat(errorMessage) - .isEqualTo( - "You cannot load React Native with the New Architecture disabled. Please use DefaultNewArchitectureEntryPoint.load() instead of DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=false, fabricEnabled=true, bridgelessEnabled=true)", - ) - } - - @Test - fun isConfigurationValid_withBridgelessWithoutFabric_returnsFalse() { - val (isValid, errorMessage) = - DefaultNewArchitectureEntryPoint.isConfigurationValid( - turboModulesEnabled = true, - fabricEnabled = false, - bridgelessEnabled = true, - ) - assertThat(isValid).isFalse() - assertThat(errorMessage) - .isEqualTo( - "You cannot load React Native with the New Architecture disabled. Please use DefaultNewArchitectureEntryPoint.load() instead of DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=true, fabricEnabled=false, bridgelessEnabled=true)", - ) - } -} diff --git a/private/helloworld/android/app/src/main/java/com/helloworld/MainActivity.kt b/private/helloworld/android/app/src/main/java/com/helloworld/MainActivity.kt index 07c473700901..5515185dc46d 100644 --- a/private/helloworld/android/app/src/main/java/com/helloworld/MainActivity.kt +++ b/private/helloworld/android/app/src/main/java/com/helloworld/MainActivity.kt @@ -9,7 +9,6 @@ package com.helloworld import com.facebook.react.ReactActivity import com.facebook.react.ReactActivityDelegate -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled import com.facebook.react.defaults.DefaultReactActivityDelegate class MainActivity : ReactActivity() { @@ -20,10 +19,7 @@ class MainActivity : ReactActivity() { */ override fun getMainComponentName(): String = "HelloWorld" - /** - * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] - * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] - */ + /** Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]. */ override fun createReactActivityDelegate(): ReactActivityDelegate = - DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) + DefaultReactActivityDelegate(this, mainComponentName) } diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index 29a12a04d1d7..fda0c0cbbbe6 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -1697,14 +1697,9 @@ interface RCTRootViewFactoryConfiguration : public NSObject { public @property (assign) RCTLoadSourceForBridgeBlock loadSourceForBridge; public @property (assign) RCTLoadSourceForBridgeWithProgressBlock loadSourceForBridgeWithProgress; public @property (assign) RCTSourceURLForBridgeBlock sourceURLForBridge; - public @property (assign, readonly) BOOL bridgelessEnabled; - public @property (assign, readonly) BOOL fabricEnabled; - public @property (assign, readonly) BOOL turboModuleEnabled; public @property (weak) id jsRuntimeConfiguratorDelegate; public virtual instancetype initWithBundleURL:newArchEnabled:(NSURL* bundleURL, BOOL newArchEnabled); - public virtual instancetype initWithBundleURL:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(NSURL* bundleURL, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); public virtual instancetype initWithBundleURLBlock:newArchEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled); - public virtual instancetype initWithBundleURLBlock:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); } interface RCTSafeAreaViewComponentView : public RCTViewComponentView { diff --git a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api index c7108e0046a2..c87582953e7e 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api @@ -1696,14 +1696,9 @@ interface RCTRootViewFactoryConfiguration : public NSObject { public @property (assign) RCTLoadSourceForBridgeBlock loadSourceForBridge; public @property (assign) RCTLoadSourceForBridgeWithProgressBlock loadSourceForBridgeWithProgress; public @property (assign) RCTSourceURLForBridgeBlock sourceURLForBridge; - public @property (assign, readonly) BOOL bridgelessEnabled; - public @property (assign, readonly) BOOL fabricEnabled; - public @property (assign, readonly) BOOL turboModuleEnabled; public @property (weak) id jsRuntimeConfiguratorDelegate; public virtual instancetype initWithBundleURL:newArchEnabled:(NSURL* bundleURL, BOOL newArchEnabled); - public virtual instancetype initWithBundleURL:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(NSURL* bundleURL, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); public virtual instancetype initWithBundleURLBlock:newArchEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled); - public virtual instancetype initWithBundleURLBlock:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); } interface RCTSafeAreaViewComponentView : public RCTViewComponentView { diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index 799d86650b9e..0fc32f8a69f9 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -1697,14 +1697,9 @@ interface RCTRootViewFactoryConfiguration : public NSObject { public @property (assign) RCTLoadSourceForBridgeBlock loadSourceForBridge; public @property (assign) RCTLoadSourceForBridgeWithProgressBlock loadSourceForBridgeWithProgress; public @property (assign) RCTSourceURLForBridgeBlock sourceURLForBridge; - public @property (assign, readonly) BOOL bridgelessEnabled; - public @property (assign, readonly) BOOL fabricEnabled; - public @property (assign, readonly) BOOL turboModuleEnabled; public @property (weak) id jsRuntimeConfiguratorDelegate; public virtual instancetype initWithBundleURL:newArchEnabled:(NSURL* bundleURL, BOOL newArchEnabled); - public virtual instancetype initWithBundleURL:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(NSURL* bundleURL, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); public virtual instancetype initWithBundleURLBlock:newArchEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled); - public virtual instancetype initWithBundleURLBlock:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); } interface RCTSafeAreaViewComponentView : public RCTViewComponentView {