From 9a57dc91280b11963b9d086f3f24847fe68d4756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 9 Oct 2026 01:38:39 -0700 Subject: [PATCH] Classify RCTTurboModuleManager.h as for-frameworks (#58948) Summary: Pull Request resolved: https://github.com/react/react-native/pull/58948 Add the for-frameworks guard to the iOS `RCTTurboModuleManager.h`. `RCTTurboModuleManager` creates and owns TurboModules for a host, and `RCTTurboModuleManagerDelegate` is the protocol a host implements to supply them. That is host-integration API, in the same tier as `RCTHost.h` and `RCTInstance.h`, which are already for-frameworks: the app factory delegate in `RCTReactNativeFactory.h` adopts both `RCTHostDelegate` and `RCTTurboModuleManagerDelegate`, and imports both headers. Changelog: [Internal] Differential Revision: D124079995 --- .../ios/ReactCommon/RCTTurboModuleManager.h | 2 ++ .../cxx-api/api-snapshots/ReactAppleDebugCxx.api | 14 -------------- .../cxx-api/api-snapshots/ReactAppleNewarchCxx.api | 14 -------------- .../cxx-api/api-snapshots/ReactAppleReleaseCxx.api | 14 -------------- 4 files changed, 2 insertions(+), 42 deletions(-) diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h index b7208e05103e..fd863b1875bc 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +++ b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h @@ -7,6 +7,8 @@ #pragma once +#include + #import #import diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index b2cee85173bf..6a3eb31bd5a5 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -1939,12 +1939,6 @@ interface RCTTransformAnimatedNode : public RCTAnimatedNode { public virtual NSDictionary* propsDictionary(); } -interface RCTTurboModuleManager : public NSObject { - public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:devMenuConfigurationDecorator:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker, RCTDevMenuConfigurationDecorator* devMenuConfigurationDecorator); - public virtual void installJSBindings:(facebook::jsi::Runtime& runtime); - public virtual void invalidate(); -} - interface RCTUIImageViewAnimated : public UIImageView { } @@ -2967,14 +2961,6 @@ protocol RCTTurboModule : public RCTModuleProvider { public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); } -protocol RCTTurboModuleManagerDelegate : public NSObject { - public virtual Class getModuleClassFromName:(const char* name); - public virtual NSArray>* extraModulesForBridge:((deprecated("Please make all native modules returned from this method TurboModule-compatible.")) __attribute); - public virtual id getModuleProvider:(const char* name); - public virtual id getModuleInstanceFromClass:(Class moduleClass); - public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); -} - protocol RCTTurboModuleRegistry : public NSObject { public virtual BOOL moduleIsInitialized:(const char* moduleName); public virtual id moduleForName:(const char* moduleName); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api index 14908f165160..769a39474ec9 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api @@ -1932,12 +1932,6 @@ interface RCTTransformAnimatedNode : public RCTAnimatedNode { public virtual NSDictionary* propsDictionary(); } -interface RCTTurboModuleManager : public NSObject { - public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:devMenuConfigurationDecorator:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker, RCTDevMenuConfigurationDecorator* devMenuConfigurationDecorator); - public virtual void installJSBindings:(facebook::jsi::Runtime& runtime); - public virtual void invalidate(); -} - interface RCTUIImageViewAnimated : public UIImageView { } @@ -2959,14 +2953,6 @@ protocol RCTTurboModule : public RCTModuleProvider { public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); } -protocol RCTTurboModuleManagerDelegate : public NSObject { - public virtual Class getModuleClassFromName:(const char* name); - public virtual NSArray>* extraModulesForBridge:((deprecated("Please make all native modules returned from this method TurboModule-compatible.")) __attribute); - public virtual id getModuleProvider:(const char* name); - public virtual id getModuleInstanceFromClass:(Class moduleClass); - public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); -} - protocol RCTTurboModuleRegistry : public NSObject { public virtual BOOL moduleIsInitialized:(const char* moduleName); public virtual id moduleForName:(const char* moduleName); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index ea827a36dd01..10ffe7cd2103 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -1939,12 +1939,6 @@ interface RCTTransformAnimatedNode : public RCTAnimatedNode { public virtual NSDictionary* propsDictionary(); } -interface RCTTurboModuleManager : public NSObject { - public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:devMenuConfigurationDecorator:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker, RCTDevMenuConfigurationDecorator* devMenuConfigurationDecorator); - public virtual void installJSBindings:(facebook::jsi::Runtime& runtime); - public virtual void invalidate(); -} - interface RCTUIImageViewAnimated : public UIImageView { } @@ -2967,14 +2961,6 @@ protocol RCTTurboModule : public RCTModuleProvider { public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); } -protocol RCTTurboModuleManagerDelegate : public NSObject { - public virtual Class getModuleClassFromName:(const char* name); - public virtual NSArray>* extraModulesForBridge:((deprecated("Please make all native modules returned from this method TurboModule-compatible.")) __attribute); - public virtual id getModuleProvider:(const char* name); - public virtual id getModuleInstanceFromClass:(Class moduleClass); - public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); -} - protocol RCTTurboModuleRegistry : public NSObject { public virtual BOOL moduleIsInitialized:(const char* moduleName); public virtual id moduleForName:(const char* moduleName);