diff --git a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h index 52763c21c4b7..0c84edf4b934 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h +++ b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h @@ -5,10 +5,10 @@ * LICENSE file in the root directory of this source tree. */ -#import -#import #import +@class RCTBridge; +@protocol RCTBridgeDelegate; @protocol RCTComponentViewProtocol; @class RCTSurfacePresenterBridgeAdapter; @@ -132,6 +132,14 @@ /// @return: `true` if the Fabric Renderer is enabled. Otherwise, it returns `false`. - (BOOL)fabricEnabled; +/// This method controls whether React Native's new initialization layer is enabled. +/// +/// @return: `true` if the new initialization layer is enabled. Otherwise returns `false`. +- (BOOL)bridgelessEnabled; + +/// Return the bundle URL for the main bundle. +- (NSURL *)getBundleURL; + #endif @end diff --git a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm index ecc438ca4a4f..b299ac72b157 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm @@ -8,28 +8,41 @@ #import "RCTAppDelegate.h" #import #import "RCTAppSetupUtils.h" +#import "RCTLegacyInteropComponents.h" #if RCT_NEW_ARCH_ENABLED #import +#import #import #import #import +#import #import #import +#import #import #import +#import +#if USE_HERMES +#import +#else +#import +#endif +#import +#import #import +#import #import #import #import -#import "RCTLegacyInteropComponents.h" static NSString *const kRNConcurrentRoot = @"concurrentRoot"; @interface RCTAppDelegate () < RCTTurboModuleManagerDelegate, RCTCxxBridgeDelegate, - RCTComponentViewFactoryComponentProvider> { + RCTComponentViewFactoryComponentProvider, + RCTContextContainerHandling> { std::shared_ptr _reactNativeConfig; facebook::react::ContextContainer::Shared _contextContainer; std::shared_ptr _runtimeScheduler; @@ -38,7 +51,11 @@ @interface RCTAppDelegate () < #endif -@implementation RCTAppDelegate +@implementation RCTAppDelegate { +#if RCT_NEW_ARCH_ENABLED + RCTHost *_reactHost; +#endif +} #if RCT_NEW_ARCH_ENABLED - (instancetype)init @@ -55,26 +72,44 @@ - (instancetype)init - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { BOOL enableTM = NO; + BOOL enableBridgeless = NO; #if RCT_NEW_ARCH_ENABLED enableTM = self.turboModuleEnabled; + enableBridgeless = self.bridgelessEnabled; #endif + RCTAppSetupPrepareApp(application, enableTM); - if (!self.bridge) { - self.bridge = [self createBridgeWithDelegate:self launchOptions:launchOptions]; - } + UIView *rootView; + + if (enableBridgeless) { #if RCT_NEW_ARCH_ENABLED - self.bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:self.bridge - contextContainer:_contextContainer]; - self.bridge.surfacePresenter = self.bridgeAdapter.surfacePresenter; + [self createReactHost]; + RCTFabricSurface *surface = [_reactHost createSurfaceWithModuleName:self.moduleName + initialProperties:launchOptions]; - [self unstable_registerLegacyComponents]; - [RCTComponentViewFactory currentComponentViewFactory].thirdPartyFabricComponentsProvider = self; -#endif + RCTSurfaceHostingProxyRootView *surfaceHostingProxyRootView = [[RCTSurfaceHostingProxyRootView alloc] + initWithSurface:surface + sizeMeasureMode:RCTSurfaceSizeMeasureModeWidthExact | RCTSurfaceSizeMeasureModeHeightExact + moduleRegistry:[_reactHost getModuleRegistry]]; - NSDictionary *initProps = [self prepareInitialProps]; - UIView *rootView = [self createRootViewWithBridge:self.bridge moduleName:self.moduleName initProps:initProps]; + rootView = (RCTRootView *)surfaceHostingProxyRootView; +#endif + } else { + if (!self.bridge) { + self.bridge = [self createBridgeWithDelegate:self launchOptions:launchOptions]; + } +#if RCT_NEW_ARCH_ENABLED + self.bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:self.bridge + contextContainer:_contextContainer]; + self.bridge.surfacePresenter = self.bridgeAdapter.surfacePresenter; + [self unstable_registerLegacyComponents]; + [RCTComponentViewFactory currentComponentViewFactory].thirdPartyFabricComponentsProvider = self; +#endif + NSDictionary *initProps = [self prepareInitialProps]; + rootView = [self createRootViewWithBridge:self.bridge moduleName:self.moduleName initProps:initProps]; + } self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [self createRootViewController]; [self setRootView:rootView toRootViewController:rootViewController]; @@ -198,6 +233,11 @@ - (BOOL)fabricEnabled return YES; } +- (BOOL)bridgelessEnabled +{ + return YES; +} + #pragma mark - New Arch Utilities - (void)unstable_registerLegacyComponents @@ -207,6 +247,43 @@ - (void)unstable_registerLegacyComponents } } +- (void)createReactHost +{ + __weak __typeof(self) weakSelf = self; + _reactHost = [[RCTHost alloc] initWithBundleURL:[self getBundleURL] + hostDelegate:nil + turboModuleManagerDelegate:self + jsEngineProvider:^std::shared_ptr() { + return [weakSelf createJSEngineInstance]; + }]; + [_reactHost setBundleURLProvider:^NSURL *() { + return [weakSelf getBundleURL]; + }]; + [_reactHost setContextContainerHandler:self]; + [_reactHost start]; +} + +- (std::shared_ptr)createJSEngineInstance +{ +#if USE_HERMES + return std::make_shared(_reactNativeConfig, nullptr); +#else + return std::make_shared(); +#endif +} + +- (void)didCreateContextContainer:(std::shared_ptr)contextContainer +{ + contextContainer->insert("ReactNativeConfig", _reactNativeConfig); +} + +- (NSURL *)getBundleURL +{ + [NSException raise:@"RCTAppDelegate::getBundleURL not implemented" + format:@"Subclasses must implement a valid getBundleURL method"]; + return nullptr; +} + #endif @end diff --git a/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec b/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec index ac5042a02a34..56b015046553 100644 --- a/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec +++ b/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec @@ -20,16 +20,17 @@ folly_flags = ' -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1' folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32' is_new_arch_enabled = ENV["RCT_NEW_ARCH_ENABLED"] == "1" +use_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == '1' +use_frameworks = ENV['USE_FRAMEWORKS'] != nil + new_arch_enabled_flag = (is_new_arch_enabled ? " -DRCT_NEW_ARCH_ENABLED" : "") is_fabric_enabled = is_new_arch_enabled || ENV["RCT_FABRIC_ENABLED"] fabric_flag = (is_fabric_enabled ? " -DRN_FABRIC_ENABLED" : "") -other_cflags = "$(inherited)" + folly_flags + new_arch_enabled_flag + fabric_flag - -use_hermes = ENV['USE_HERMES'] == '1' -use_frameworks = ENV['USE_FRAMEWORKS'] != nil +hermes_flag = (use_hermes ? " -DUSE_HERMES" : "") +other_cflags = "$(inherited)" + folly_flags + new_arch_enabled_flag + fabric_flag + hermes_flag header_search_paths = [ - "$(PODS_TARGET_SRCROOT)/ReactCommon", + "$(PODS_TARGET_SRCROOT)/../../ReactCommon", "$(PODS_ROOT)/Headers/Private/React-Core", "$(PODS_ROOT)/boost", "$(PODS_ROOT)/DoubleConversion", @@ -47,6 +48,8 @@ header_search_paths = [ "$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios", "$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core", "$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers", + "$(PODS_CONFIGURATION_BUILD_DIR)/React-BridgelessApple/React_BridgelessApple.framework/Headers", + "$(PODS_CONFIGURATION_BUILD_DIR)/React-BridgelessCore/React_BridgelessCore.framework/Headers", "$(PODS_CONFIGURATION_BUILD_DIR)/React-RCTFabric/RCTFabric.framework/Headers/", "$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers/", "$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers/", @@ -75,6 +78,8 @@ Pod::Spec.new do |s| } s.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/Headers/Private/React-Core\""} + use_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" + s.dependency "React-Core" s.dependency "RCT-Folly" s.dependency "RCTRequired" @@ -84,8 +89,17 @@ Pod::Spec.new do |s| s.dependency "React-RCTImage" s.dependency "React-NativeModulesApple" s.dependency "React-CoreModules" + s.dependency "React-nativeconfig" + + if is_new_arch_enabled + s.dependency "React-BridgelessCore" + s.dependency "React-BridgelessApple" + if use_hermes + s.dependency "React-BridgelessHermes" + end + end - if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" + if use_hermes s.dependency "React-hermes" else s.dependency "React-jsc" diff --git a/packages/react-native/Libraries/Image/RCTAnimatedImage.m b/packages/react-native/Libraries/Image/RCTAnimatedImage.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTAnimatedImage.m rename to packages/react-native/Libraries/Image/RCTAnimatedImage.mm diff --git a/packages/react-native/Libraries/Image/RCTDisplayWeakRefreshable.m b/packages/react-native/Libraries/Image/RCTDisplayWeakRefreshable.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTDisplayWeakRefreshable.m rename to packages/react-native/Libraries/Image/RCTDisplayWeakRefreshable.mm diff --git a/packages/react-native/Libraries/Image/RCTImageBlurUtils.m b/packages/react-native/Libraries/Image/RCTImageBlurUtils.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTImageBlurUtils.m rename to packages/react-native/Libraries/Image/RCTImageBlurUtils.mm diff --git a/packages/react-native/Libraries/Image/RCTImageCache.m b/packages/react-native/Libraries/Image/RCTImageCache.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTImageCache.m rename to packages/react-native/Libraries/Image/RCTImageCache.mm diff --git a/packages/react-native/Libraries/Image/RCTImageShadowView.m b/packages/react-native/Libraries/Image/RCTImageShadowView.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTImageShadowView.m rename to packages/react-native/Libraries/Image/RCTImageShadowView.mm diff --git a/packages/react-native/Libraries/Image/RCTImageUtils.m b/packages/react-native/Libraries/Image/RCTImageUtils.mm similarity index 97% rename from packages/react-native/Libraries/Image/RCTImageUtils.m rename to packages/react-native/Libraries/Image/RCTImageUtils.mm index a55c81fb41f4..38fbd6bad434 100644 --- a/packages/react-native/Libraries/Image/RCTImageUtils.m +++ b/packages/react-native/Libraries/Image/RCTImageUtils.mm @@ -212,7 +212,7 @@ BOOL RCTUpscalingRequired( // Calculate aspect ratios if needed (don't bother if resizeMode == stretch) CGFloat aspect = 0.0, targetAspect = 0.0; - if (resizeMode != UIViewContentModeScaleToFill) { + if (resizeMode != RCTResizeModeStretch) { aspect = sourceSize.width / sourceSize.height; targetAspect = destSize.width / destSize.height; if (aspect == targetAspect) { @@ -267,8 +267,8 @@ BOOL RCTUpscalingRequired( CFRelease(sourceRef); return nil; } - NSNumber *width = CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth); - NSNumber *height = CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight); + NSNumber *width = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth); + NSNumber *height = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight); CGSize sourceSize = {width.doubleValue, height.doubleValue}; CFRelease(imageProperties); @@ -281,7 +281,7 @@ BOOL RCTUpscalingRequired( destScale = RCTScreenScale(); } - if (resizeMode == UIViewContentModeScaleToFill) { + if (resizeMode == RCTResizeModeStretch) { // Decoder cannot change aspect ratio, so RCTResizeModeStretch is equivalent // to RCTResizeModeCover for our purposes resizeMode = RCTResizeModeCover; diff --git a/packages/react-native/Libraries/Image/RCTResizeMode.m b/packages/react-native/Libraries/Image/RCTResizeMode.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTResizeMode.m rename to packages/react-native/Libraries/Image/RCTResizeMode.mm diff --git a/packages/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/packages/react-native/Libraries/Image/RCTUIImageViewAnimated.mm similarity index 100% rename from packages/react-native/Libraries/Image/RCTUIImageViewAnimated.m rename to packages/react-native/Libraries/Image/RCTUIImageViewAnimated.mm diff --git a/packages/react-native/Libraries/Image/React-RCTImage.podspec b/packages/react-native/Libraries/Image/React-RCTImage.podspec index f6a91baaf99c..e53162bee2e5 100644 --- a/packages/react-native/Libraries/Image/React-RCTImage.podspec +++ b/packages/react-native/Libraries/Image/React-RCTImage.podspec @@ -51,6 +51,7 @@ Pod::Spec.new do |s| "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } + s.framework = ["Accelerate", "UIKit"] s.dependency "RCT-Folly", folly_version s.dependency "React-Codegen", version diff --git a/packages/react-native/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m b/packages/react-native/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m rename to packages/react-native/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m b/packages/react-native/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m rename to packages/react-native/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m b/packages/react-native/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m rename to packages/react-native/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m b/packages/react-native/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m rename to packages/react-native/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h index d56395d55d7f..26a78a7856a0 100644 --- a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +++ b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h @@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN RCT_EXTERN NSString *RCTInterpolateString( NSString *pattern, CGFloat inputValue, - NSArray *inputRange, + NSArray *inputRange, NSArray *> *outputRange, NSString *extrapolateLeft, NSString *extrapolateRight); diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm similarity index 99% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm index 3c53d537cc77..78ee190dee0c 100644 --- a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +++ b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -#import +#import "RCTInterpolationAnimatedNode.h" #import #import diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m b/packages/react-native/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m rename to packages/react-native/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.mm diff --git a/packages/react-native/Libraries/NativeAnimation/RCTAnimationUtils.m b/packages/react-native/Libraries/NativeAnimation/RCTAnimationUtils.mm similarity index 98% rename from packages/react-native/Libraries/NativeAnimation/RCTAnimationUtils.m rename to packages/react-native/Libraries/NativeAnimation/RCTAnimationUtils.mm index 8006fb808a9b..90cfe304d6f6 100644 --- a/packages/react-native/Libraries/NativeAnimation/RCTAnimationUtils.m +++ b/packages/react-native/Libraries/NativeAnimation/RCTAnimationUtils.mm @@ -110,7 +110,7 @@ uint32_t RCTColorFromComponents(CGFloat red, CGFloat green, CGFloat blue, CGFloa #if TARGET_IPHONE_SIMULATOR // Based on https://stackoverflow.com/a/13307674 -float UIAnimationDragCoefficient(void); +UIKIT_EXTERN float UIAnimationDragCoefficient(void); #endif CGFloat RCTAnimationDragCoefficient(void) diff --git a/packages/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m b/packages/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm similarity index 100% rename from packages/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m rename to packages/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm diff --git a/packages/react-native/Libraries/Text/BaseText/RCTBaseTextShadowView.m b/packages/react-native/Libraries/Text/BaseText/RCTBaseTextShadowView.mm similarity index 100% rename from packages/react-native/Libraries/Text/BaseText/RCTBaseTextShadowView.m rename to packages/react-native/Libraries/Text/BaseText/RCTBaseTextShadowView.mm diff --git a/packages/react-native/Libraries/Text/BaseText/RCTBaseTextViewManager.m b/packages/react-native/Libraries/Text/BaseText/RCTBaseTextViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/BaseText/RCTBaseTextViewManager.m rename to packages/react-native/Libraries/Text/BaseText/RCTBaseTextViewManager.mm diff --git a/packages/react-native/Libraries/Text/RCTConvert+Text.m b/packages/react-native/Libraries/Text/RCTConvert+Text.mm similarity index 100% rename from packages/react-native/Libraries/Text/RCTConvert+Text.m rename to packages/react-native/Libraries/Text/RCTConvert+Text.mm diff --git a/packages/react-native/Libraries/Text/RCTTextAttributes.m b/packages/react-native/Libraries/Text/RCTTextAttributes.mm similarity index 100% rename from packages/react-native/Libraries/Text/RCTTextAttributes.m rename to packages/react-native/Libraries/Text/RCTTextAttributes.mm diff --git a/packages/react-native/Libraries/Text/RawText/RCTRawTextShadowView.m b/packages/react-native/Libraries/Text/RawText/RCTRawTextShadowView.mm similarity index 100% rename from packages/react-native/Libraries/Text/RawText/RCTRawTextShadowView.m rename to packages/react-native/Libraries/Text/RawText/RCTRawTextShadowView.mm diff --git a/packages/react-native/Libraries/Text/RawText/RCTRawTextViewManager.m b/packages/react-native/Libraries/Text/RawText/RCTRawTextViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/RawText/RCTRawTextViewManager.m rename to packages/react-native/Libraries/Text/RawText/RCTRawTextViewManager.mm diff --git a/packages/react-native/Libraries/Text/React-RCTText.podspec b/packages/react-native/Libraries/Text/React-RCTText.podspec index 36d878b3c3ff..3777e5d9603f 100644 --- a/packages/react-native/Libraries/Text/React-RCTText.podspec +++ b/packages/react-native/Libraries/Text/React-RCTText.podspec @@ -26,9 +26,11 @@ Pod::Spec.new do |s| s.author = "Meta Platforms, Inc. and its affiliates" s.platforms = { :ios => min_ios_version_supported } s.source = source - s.source_files = "**/*.{h,m}" + s.source_files = "**/*.{h,m,mm}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" s.header_dir = "RCTText" + s.framework = ["MobileCoreServices"] + s.dependency "Yoga" s.dependency "React-Core/RCTTextHeaders", version end diff --git a/packages/react-native/Libraries/Text/Text/RCTDynamicTypeRamp.m b/packages/react-native/Libraries/Text/Text/RCTDynamicTypeRamp.mm similarity index 100% rename from packages/react-native/Libraries/Text/Text/RCTDynamicTypeRamp.m rename to packages/react-native/Libraries/Text/Text/RCTDynamicTypeRamp.mm diff --git a/packages/react-native/Libraries/Text/Text/RCTTextShadowView.m b/packages/react-native/Libraries/Text/Text/RCTTextShadowView.mm similarity index 100% rename from packages/react-native/Libraries/Text/Text/RCTTextShadowView.m rename to packages/react-native/Libraries/Text/Text/RCTTextShadowView.mm diff --git a/packages/react-native/Libraries/Text/Text/RCTTextView.m b/packages/react-native/Libraries/Text/Text/RCTTextView.mm similarity index 100% rename from packages/react-native/Libraries/Text/Text/RCTTextView.m rename to packages/react-native/Libraries/Text/Text/RCTTextView.mm diff --git a/packages/react-native/Libraries/Text/Text/RCTTextViewManager.m b/packages/react-native/Libraries/Text/Text/RCTTextViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/Text/RCTTextViewManager.m rename to packages/react-native/Libraries/Text/Text/RCTTextViewManager.mm diff --git a/packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m b/packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m rename to packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm diff --git a/packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m b/packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m rename to packages/react-native/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm diff --git a/packages/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.m b/packages/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.m rename to packages/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m b/packages/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m rename to packages/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m b/packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m rename to packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m b/packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m rename to packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m b/packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m rename to packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m b/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm similarity index 84% rename from packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m rename to packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm index 0bb54d3dac8a..ebe514e037f4 100644 --- a/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +++ b/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm @@ -14,7 +14,7 @@ @implementation RCTInputAccessoryShadowView - (void)insertReactSubview:(RCTShadowView *)subview atIndex:(NSInteger)atIndex { [super insertReactSubview:subview atIndex:atIndex]; - subview.width = (YGValue){RCTScreenSize().width, YGUnitPoint}; + subview.width = (YGValue){static_cast(RCTScreenSize().width), YGUnitPoint}; } @end diff --git a/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryView.m b/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryView.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryView.m rename to packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryView.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m b/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m rename to packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewManager.m b/packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewManager.m rename to packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm diff --git a/packages/react-native/Libraries/Text/TextInput/RCTTextSelection.m b/packages/react-native/Libraries/Text/TextInput/RCTTextSelection.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/RCTTextSelection.m rename to packages/react-native/Libraries/Text/TextInput/RCTTextSelection.mm diff --git a/packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m b/packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m rename to packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm diff --git a/packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m b/packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m rename to packages/react-native/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm diff --git a/packages/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.m b/packages/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.mm similarity index 100% rename from packages/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.m rename to packages/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.mm diff --git a/packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextShadowView.m b/packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm similarity index 100% rename from packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextShadowView.m rename to packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm diff --git a/packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextView.m b/packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextView.mm similarity index 100% rename from packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextView.m rename to packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextView.mm diff --git a/packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextViewManager.m b/packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm similarity index 100% rename from packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextViewManager.m rename to packages/react-native/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm diff --git a/packages/react-native/React-Core.podspec b/packages/react-native/React-Core.podspec index 2fad76d2d972..c46b5afc4f15 100644 --- a/packages/react-native/React-Core.podspec +++ b/packages/react-native/React-Core.podspec @@ -91,7 +91,7 @@ Pod::Spec.new do |s| "React/Fabric/**/*", "React/FBReactNativeSpec/**/*", "React/Tests/**/*", - "React/Inspector/**/*" + "React/Inspector/**/*", ] # If we are using Hermes (the default is use hermes, so USE_HERMES can be nil), we don't have jsc installed # So we have to exclude the JSCExecutorFactory @@ -99,7 +99,7 @@ Pod::Spec.new do |s| exclude_files = exclude_files.append("React/CxxBridge/JSCExecutorFactory.{h,mm}") end ss.exclude_files = exclude_files - ss.private_header_files = "React/Cxx*/*.h" + ss.private_header_files = "React/CxxLogUtils/*.h" end s.subspec "DevSupport" do |ss| diff --git a/packages/react-native/React/Base/RCTBridge.m b/packages/react-native/React/Base/RCTBridge.mm similarity index 100% rename from packages/react-native/React/Base/RCTBridge.m rename to packages/react-native/React/Base/RCTBridge.mm diff --git a/packages/react-native/React/CoreModules/RCTAlertController.m b/packages/react-native/React/CoreModules/RCTAlertController.mm similarity index 89% rename from packages/react-native/React/CoreModules/RCTAlertController.m rename to packages/react-native/React/CoreModules/RCTAlertController.mm index e3f19959e934..2b6822108b31 100644 --- a/packages/react-native/React/CoreModules/RCTAlertController.m +++ b/packages/react-native/React/CoreModules/RCTAlertController.mm @@ -43,8 +43,9 @@ - (UIWindow *)alertWindow - (void)show:(BOOL)animated completion:(void (^)(void))completion { - UIUserInterfaceStyle style = - RCTSharedApplication().delegate.window.overrideUserInterfaceStyle ?: UIUserInterfaceStyleUnspecified; + UIUserInterfaceStyle style = RCTSharedApplication().delegate.window.overrideUserInterfaceStyle + ? RCTSharedApplication().delegate.window.overrideUserInterfaceStyle + : UIUserInterfaceStyleUnspecified; self.overrideUserInterfaceStyle = style; [self.alertWindow makeKeyAndVisible]; diff --git a/packages/react-native/React/CoreModules/RCTFPSGraph.m b/packages/react-native/React/CoreModules/RCTFPSGraph.mm similarity index 98% rename from packages/react-native/React/CoreModules/RCTFPSGraph.m rename to packages/react-native/React/CoreModules/RCTFPSGraph.mm index 6beaf7d16f1d..1fc4bd24b9c3 100644 --- a/packages/react-native/React/CoreModules/RCTFPSGraph.m +++ b/packages/react-native/React/CoreModules/RCTFPSGraph.mm @@ -45,7 +45,7 @@ - (instancetype)initWithFrame:(CGRect)frame color:(UIColor *)color _length = (NSUInteger)floor(frame.size.width); _height = (NSUInteger)floor(frame.size.height); _scale = 60.0 / (CGFloat)_height; - _frames = calloc(sizeof(CGFloat), _length); + _frames = (CGFloat *)calloc(sizeof(CGFloat), _length); _color = color; [self.layer addSublayer:self.graph]; diff --git a/packages/react-native/React/CoreModules/React-CoreModules.podspec b/packages/react-native/React/CoreModules/React-CoreModules.podspec index 7941b07c49e0..313947f5c659 100644 --- a/packages/react-native/React/CoreModules/React-CoreModules.podspec +++ b/packages/react-native/React/CoreModules/React-CoreModules.podspec @@ -49,7 +49,7 @@ Pod::Spec.new do |s| "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", "HEADER_SEARCH_PATHS" => header_search_paths.join(" ") } - + s.framework = "UIKit" s.dependency "React-Codegen", version s.dependency "RCT-Folly", folly_version s.dependency "RCTTypeSafety", version diff --git a/packages/react-native/React/React-RCTFabric.podspec b/packages/react-native/React/React-RCTFabric.podspec index d91c8f250186..af3ed97086bb 100644 --- a/packages/react-native/React/React-RCTFabric.podspec +++ b/packages/react-native/React/React-RCTFabric.podspec @@ -39,6 +39,7 @@ if ENV['USE_FRAMEWORKS'] header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/textlayoutmanager/platform/ios\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/textinput/iostextinput\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/imagemanager/platform/ios\"" + header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-nativeconfig/React_nativeconfig.framework/Headers\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-ImageManager/React_ImageManager.framework/Headers\"" @@ -85,6 +86,7 @@ Pod::Spec.new do |s| s.dependency "React-debug" s.dependency "React-utils" s.dependency "React-rendererdebug" + s.dependency "React-nativeconfig" if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1" s.dependency "hermes-engine" diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index fe368542e996..bf0ad1d2f390 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -88,11 +88,6 @@ Pod::Spec.new do |s| ss.header_dir = "butter" end - s.subspec "config" do |ss| - ss.source_files = "react/config/*.{m,mm,cpp,h}" - ss.header_dir = "react/config" - end - s.subspec "core" do |ss| header_search_path = [ "\"$(PODS_ROOT)/boost\"", @@ -242,14 +237,6 @@ Pod::Spec.new do |s| ss.header_dir = "react/renderer/imagemanager" end - s.subspec "mapbuffer" do |ss| - ss.dependency folly_dep_name, folly_version - ss.compiler_flags = folly_compiler_flags - ss.source_files = "react/renderer/mapbuffer/**/*.{m,mm,cpp,h}" - ss.exclude_files = "react/renderer/mapbuffer/tests" - ss.header_dir = "react/renderer/mapbuffer" - end - s.subspec "mounting" do |ss| ss.dependency folly_dep_name, folly_version ss.compiler_flags = folly_compiler_flags diff --git a/packages/react-native/ReactCommon/React-Mapbuffer.podspec b/packages/react-native/ReactCommon/React-Mapbuffer.podspec new file mode 100644 index 000000000000..2fdcd9ff7c3f --- /dev/null +++ b/packages/react-native/ReactCommon/React-Mapbuffer.podspec @@ -0,0 +1,43 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +Pod::Spec.new do |s| + s.name = "React-Mapbuffer" + s.version = version + s.summary = "-" + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.source_files = "react/renderer/mapbuffer/*.{cpp,h}" + s.exclude_files = "react/renderer/mapbuffer/tests" + s.public_header_files = 'react/renderer/mapbuffer/*.h' + s.header_dir = "react/renderer/mapbuffer" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\"", "USE_HEADERMAP" => "YES", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_Mapbuffer' + end + + s.dependency "glog" + s.dependency "React-debug" + +end diff --git a/packages/react-native/ReactCommon/React-nativeconfig.podspec b/packages/react-native/ReactCommon/React-nativeconfig.podspec new file mode 100644 index 000000000000..d1dd415727bc --- /dev/null +++ b/packages/react-native/ReactCommon/React-nativeconfig.podspec @@ -0,0 +1,35 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +Pod::Spec.new do |s| + s.name = "React-nativeconfig" + s.version = version + s.summary = "-" + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.source_files = "react/config/*.{m,mm,cpp,h}" + s.header_dir = "react/config" + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_nativeconfig' + end +end diff --git a/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec b/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec new file mode 100644 index 000000000000..06e6b72d6fee --- /dev/null +++ b/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec @@ -0,0 +1,41 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +Pod::Spec.new do |s| + s.name = "React-jsitracing" + s.version = version + s.summary = "Bridgeless for React Native." + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.source_files = "JSITracing.{cpp,h}" + s.header_dir = "." + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\"", + "USE_HEADERMAP" => "YES", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "GCC_WARN_PEDANTIC" => "YES" } + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_jsitracing' + end + + s.dependency "React-jsi" +end diff --git a/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec b/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec new file mode 100644 index 000000000000..3ede4292bd27 --- /dev/null +++ b/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec @@ -0,0 +1,49 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2021.07.22.00' +folly_dep_name = 'RCT-Folly/Fabric' +boost_compiler_flags = '-Wno-documentation' +react_native_path = ".." + +Pod::Spec.new do |s| + s.name = "React-jserrorhandler" + s.version = version + s.summary = "-" + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.header_dir = "jserrorhandler" + s.source_files = "JsErrorHandler.{cpp,h}" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Mapbuffer/React_Mapbuffer.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\"", "USE_HEADERMAP" => "YES", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_jserrorhandler' + end + + s.dependency folly_dep_name, folly_version + s.dependency "React-jsi", version + s.dependency "React-Mapbuffer" + +end diff --git a/packages/react-native/ReactCommon/react/bridgeless/BufferedRuntimeExecutor.h b/packages/react-native/ReactCommon/react/bridgeless/BufferedRuntimeExecutor.h index 0b0be428785a..e2102a7ed6af 100644 --- a/packages/react-native/ReactCommon/react/bridgeless/BufferedRuntimeExecutor.h +++ b/packages/react-native/ReactCommon/react/bridgeless/BufferedRuntimeExecutor.h @@ -7,9 +7,9 @@ #include #include -#include #include #include +#include "TimerManager.h" namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessCore.podspec b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessCore.podspec new file mode 100644 index 000000000000..c96710062695 --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessCore.podspec @@ -0,0 +1,62 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2021.07.22.00' +folly_dep_name = 'RCT-Folly/Fabric' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-BridgelessCore" + s.version = version + s.summary = "Bridgeless for React Native." + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.source_files = "*.{cpp,h}", "nativeviewconfig/*.{cpp,h}" + s.exclude_files = "iostests/*", "tests/**/*.{cpp,h}" + s.header_dir = "react/bridgeless" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"${PODS_TARGET_SRCROOT}/../..\"", + "USE_HEADERMAP" => "YES", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "GCC_WARN_PEDANTIC" => "YES" } + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_BridgelessCore' + end + + s.dependency folly_dep_name, folly_version + s.dependency "React-jsiexecutor" + s.dependency "React-cxxreact" + s.dependency "React-runtimeexecutor" + s.dependency "glog" + s.dependency "React-jsi" + s.dependency "React-jserrorhandler" + s.dependency "React-runtimescheduler" + + if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1" + s.dependency "hermes-engine" + else + s.dependency "React-jsc" + end + +end diff --git a/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessHermes.podspec b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessHermes.podspec new file mode 100644 index 000000000000..134f5d1a345d --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessHermes.podspec @@ -0,0 +1,57 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2021.07.22.00' +folly_dep_name = 'RCT-Folly/Fabric' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-BridgelessHermes" + s.version = version + s.summary = "Bridgeless for React Native." + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.source_files = "hermes/*.{cpp,h}" + s.header_dir = "react/bridgeless/hermes" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\" \"${PODS_TARGET_SRCROOT}/../../hermes/executor\"", + "USE_HEADERMAP" => "YES", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "GCC_WARN_PEDANTIC" => "YES" } + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_BridgelessHermes' + end + + s.dependency folly_dep_name, folly_version + s.dependency "React-jsi" + s.dependency "React-nativeconfig" + s.dependency "React-jsitracing" + + if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1" + s.dependency "hermes-engine" + else + s.dependency "React-jsc" + s.exclude_files = "hermes/*.{cpp,h}" + end +end diff --git a/packages/react-native/ReactCommon/react/bridgeless/ReactInstance.cpp b/packages/react-native/ReactCommon/react/bridgeless/ReactInstance.cpp index 4f0b96e41067..df9caa868e62 100644 --- a/packages/react-native/ReactCommon/react/bridgeless/ReactInstance.cpp +++ b/packages/react-native/ReactCommon/react/bridgeless/ReactInstance.cpp @@ -11,8 +11,8 @@ #include #include #include +#include #include -#include #include #include diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/React-BridgelessApple.podspec b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/React-BridgelessApple.podspec new file mode 100644 index 000000000000..acdac0d0a616 --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/React-BridgelessApple.podspec @@ -0,0 +1,75 @@ +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "../../../../..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2021.07.22.00' +folly_dep_name = 'RCT-Folly/Fabric' +boost_compiler_flags = '-Wno-documentation' + +header_search_paths = [ + "$(PODS_ROOT)/boost", + "$(PODS_TARGET_SRCROOT)/../../../..", + "$(PODS_TARGET_SRCROOT)/../../../../..", +] + +Pod::Spec.new do |s| + s.name = "React-BridgelessApple" + s.version = version + s.summary = "Bridgeless for React Native." + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = { :ios => min_ios_version_supported } + s.source = source + s.source_files = "ReactCommon/*.{mm,h}" + s.header_dir = "ReactCommon" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths, + "USE_HEADERMAP" => "YES", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "GCC_WARN_PEDANTIC" => "YES" } + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + + if ENV['USE_FRAMEWORKS'] + s.header_mappings_dir = './' + s.module_name = 'React_BridgelessApple' + end + + s.dependency folly_dep_name, folly_version + s.dependency "React-jsiexecutor" + s.dependency "React-cxxreact" + s.dependency "React-callinvoker" + s.dependency "React-runtimeexecutor" + s.dependency "React-utils" + s.dependency "React-jsi" + s.dependency "React-Core/Default" + s.dependency "React-CoreModules" + s.dependency "React-NativeModulesApple" + s.dependency "React-RCTFabric" + s.dependency "React-BridgelessCore" + s.dependency "React-Mapbuffer" + s.dependency "React-jserrorhandler" + + if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1" + s.dependency "hermes-engine" + s.dependency "React-BridgelessHermes" + s.exclude_files = "ReactCommon/RCTJscInstance.{mm,h}" + else + s.dependency "React-jsc" + s.exclude_files = "ReactCommon/RCTHermesInstance.{mm,h}" + end +end diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/ObjCTimerRegistry.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/ObjCTimerRegistry.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/ObjCTimerRegistry.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/ObjCTimerRegistry.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/ObjCTimerRegistry.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/ObjCTimerRegistry.mm similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/ObjCTimerRegistry.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/ObjCTimerRegistry.mm diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTContextContainerHandling.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTContextContainerHandling.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTContextContainerHandling.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTContextContainerHandling.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Hermes/RCTHermesInstance.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHermesInstance.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Hermes/RCTHermesInstance.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHermesInstance.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Hermes/RCTHermesInstance.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHermesInstance.mm similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Hermes/RCTHermesInstance.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHermesInstance.mm diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost+Internal.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost+Internal.h similarity index 91% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost+Internal.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost+Internal.h index 64883331a818..4432aa0cce49 100644 --- a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost+Internal.h +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost+Internal.h @@ -7,7 +7,7 @@ #import "RCTHost.h" -#import +#import "RCTContextContainerHandling.h" typedef NSURL * (^RCTHostBundleURLProvider)(void); diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost.mm similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTHost.mm diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTInstance.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTInstance.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTInstance.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTInstance.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTInstance.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTInstance.mm similarity index 99% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTInstance.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTInstance.mm index e147d2093625..0842d70c7eff 100644 --- a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTInstance.mm +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTInstance.mm @@ -28,7 +28,6 @@ #import #import #import -#import #import #import #import @@ -39,6 +38,7 @@ #import "ObjCTimerRegistry.h" #import "RCTJSThreadManager.h" +#import "RCTLegacyUIManagerConstantsProvider.h" #import "RCTPerformanceLoggerUtils.h" #if RCT_DEV_MENU && __has_include() diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTJSThreadManager.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJSThreadManager.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTJSThreadManager.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJSThreadManager.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTJSThreadManager.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJSThreadManager.mm similarity index 98% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTJSThreadManager.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJSThreadManager.mm index 9f16b9bd2d3a..66d53609779b 100644 --- a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTJSThreadManager.mm +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJSThreadManager.mm @@ -7,7 +7,6 @@ #import "RCTJSThreadManager.h" -// #import #import #import diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJscInstance.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJscInstance.h new file mode 100644 index 000000000000..2a0246320e60 --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJscInstance.h @@ -0,0 +1,23 @@ +/* + * 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. + */ + +#import +#import + +namespace facebook { +namespace react { + +class RCTJscInstance : public JSEngineInstance { + public: + RCTJscInstance(); + + std::unique_ptr createJSRuntime() noexcept override; + + ~RCTJscInstance(){}; +}; +} // namespace react +} // namespace facebook diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJscInstance.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJscInstance.mm new file mode 100644 index 000000000000..b270ba8d27e2 --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTJscInstance.mm @@ -0,0 +1,22 @@ +/* + * 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. + */ + +#import "RCTJscInstance.h" +#include + +namespace facebook { +namespace react { + +RCTJscInstance::RCTJscInstance() {} + +std::unique_ptr RCTJscInstance::createJSRuntime() noexcept +{ + return jsc::makeJSCRuntime(); +} + +} // namespace react +} // namespace facebook diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/NativeViewConfig/RCTLegacyUIManagerConstantsProvider.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/NativeViewConfig/RCTLegacyUIManagerConstantsProvider.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/NativeViewConfig/RCTLegacyUIManagerConstantsProvider.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/NativeViewConfig/RCTLegacyUIManagerConstantsProvider.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTPerformanceLoggerUtils.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.h similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTPerformanceLoggerUtils.h rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.h diff --git a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTPerformanceLoggerUtils.mm b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm similarity index 100% rename from packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTPerformanceLoggerUtils.mm rename to packages/react-native/ReactCommon/react/bridgeless/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm diff --git a/packages/react-native/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h b/packages/react-native/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h index 5e45d6e1a2a4..4eda42bff75c 100644 --- a/packages/react-native/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +++ b/packages/react-native/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h @@ -8,8 +8,8 @@ #pragma once #include -#include #include +#include "MapBuffer.h" namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec index 77aafd0d0e07..0590fab2e76a 100644 --- a/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +++ b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec @@ -21,6 +21,7 @@ folly_version = '2021.07.22.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", + "\"$(PODS_ROOT)/boost\"", ] if ENV['USE_FRAMEWORKS'] diff --git a/packages/react-native/scripts/cocoapods/bridgeless.rb b/packages/react-native/scripts/cocoapods/bridgeless.rb new file mode 100644 index 000000000000..efbc030da634 --- /dev/null +++ b/packages/react-native/scripts/cocoapods/bridgeless.rb @@ -0,0 +1,18 @@ +# 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. + + +# Set up Bridgeless dependencies +# +# @parameter react_native_path: relative path to react-native +def setup_bridgeless!(react_native_path: "../node_modules/react-native", use_hermes: true) + pod "React-jsitracing", :path => "#{react_native_path}/ReactCommon/hermes/executor/" + pod "React-runtimescheduler", :path => "#{react_native_path}/ReactCommon/react/renderer/runtimescheduler" + pod 'React-BridgelessCore', :path => "#{react_native_path}/ReactCommon/react/bridgeless" + pod 'React-BridgelessApple', :path => "#{react_native_path}/ReactCommon/react/bridgeless/platform/ios" + if use_hermes + pod 'React-BridgelessHermes', :path => "#{react_native_path}/ReactCommon/react/bridgeless" + end +end diff --git a/packages/react-native/scripts/react_native_pods.rb b/packages/react-native/scripts/react_native_pods.rb index 177b3767d647..1bcb13195f25 100644 --- a/packages/react-native/scripts/react_native_pods.rb +++ b/packages/react-native/scripts/react_native_pods.rb @@ -15,6 +15,7 @@ require_relative './cocoapods/utils.rb' require_relative './cocoapods/new_architecture.rb' require_relative './cocoapods/local_podspec_patch.rb' +require_relative './cocoapods/bridgeless.rb' $CODEGEN_OUTPUT_DIR = 'build/generated/ios' $CODEGEN_COMPONENT_DIR = 'react/renderer/components' @@ -119,6 +120,9 @@ def use_react_native! ( pod 'React-cxxreact', :path => "#{prefix}/ReactCommon/cxxreact" pod 'React-debug', :path => "#{prefix}/ReactCommon/react/debug" pod 'React-utils', :path => "#{prefix}/ReactCommon/react/utils" + pod 'React-Mapbuffer', :path => "#{prefix}/ReactCommon" + pod 'React-jserrorhandler', :path => "#{prefix}/ReactCommon/jserrorhandler" + pod "React-nativeconfig", :path => "#{prefix}/ReactCommon" if hermes_enabled setup_hermes!(:react_native_path => prefix, :fabric_enabled => fabric_enabled) @@ -139,7 +143,7 @@ def use_react_native! ( pod 'Yoga', :path => "#{prefix}/ReactCommon/yoga", :modular_headers => true pod 'DoubleConversion', :podspec => "#{prefix}/third-party-podspecs/DoubleConversion.podspec" - pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec", :modular_headers => true + pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec" pod 'boost', :podspec => "#{prefix}/third-party-podspecs/boost.podspec" pod 'RCT-Folly', :podspec => "#{prefix}/third-party-podspecs/RCT-Folly.podspec", :modular_headers => true @@ -166,6 +170,10 @@ def use_react_native! ( build_codegen!(prefix, relative_installation_root) end + if new_arch_enabled + setup_bridgeless!(:react_native_path => prefix, :use_hermes => hermes_enabled) + end + # Flipper now build in Release mode but it is not linked to the Release binary (as specified by the Configuration option) if flipper_configuration.flipper_enabled install_flipper_dependencies(prefix) diff --git a/packages/rn-tester/NativeModuleExample/Screenshot.m b/packages/rn-tester/NativeModuleExample/Screenshot.mm similarity index 100% rename from packages/rn-tester/NativeModuleExample/Screenshot.m rename to packages/rn-tester/NativeModuleExample/Screenshot.mm diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index c48b1924b544..4a927a34d1b5 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -3,14 +3,7 @@ PODS: - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (1000.0.0) - - FBReactNativeSpec (1000.0.0): - - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Core (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - Flipper (0.201.0): + - Flipper (0.182.0): - Flipper-Folly (~> 2.6) - Flipper-Boost-iOSX (1.76.0.1.11) - Flipper-DoubleConversion (3.2.0.1) @@ -24,58 +17,88 @@ PODS: - OpenSSL-Universal (= 1.1.1100) - Flipper-Glog (0.5.0.5) - Flipper-PeerTalk (0.0.4) - - FlipperKit (0.201.0): - - FlipperKit/Core (= 0.201.0) - - FlipperKit/Core (0.201.0): - - Flipper (~> 0.201.0) + - FlipperKit (0.182.0): + - FlipperKit/Core (= 0.182.0) + - FlipperKit/Core (0.182.0): + - Flipper (~> 0.182.0) - FlipperKit/CppBridge - FlipperKit/FBCxxFollyDynamicConvert - FlipperKit/FBDefines - FlipperKit/FKPortForwarding - SocketRocket (~> 0.6.0) - - FlipperKit/CppBridge (0.201.0): - - Flipper (~> 0.201.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.201.0): + - FlipperKit/CppBridge (0.182.0): + - Flipper (~> 0.182.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.182.0): - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.201.0) - - FlipperKit/FKPortForwarding (0.201.0): + - FlipperKit/FBDefines (0.182.0) + - FlipperKit/FKPortForwarding (0.182.0): - CocoaAsyncSocket (~> 7.6) - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.201.0) - - FlipperKit/FlipperKitLayoutHelpers (0.201.0): + - FlipperKit/FlipperKitHighlightOverlay (0.182.0) + - FlipperKit/FlipperKitLayoutHelpers (0.182.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.201.0): + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutPlugin (0.201.0): + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutPlugin (0.182.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutHelpers - FlipperKit/FlipperKitLayoutIOSDescriptors - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutTextSearchable (0.201.0) - - FlipperKit/FlipperKitNetworkPlugin (0.201.0): + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0) + - FlipperKit/FlipperKitNetworkPlugin (0.182.0): - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.201.0): + - FlipperKit/FlipperKitReactPlugin (0.182.0): - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.201.0): + - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0): - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.201.0): + - FlipperKit/SKIOSNetworkPlugin (0.182.0): - FlipperKit/Core - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) - - hermes-engine (1000.0.0): - - hermes-engine/Hermes (= 1000.0.0) - - hermes-engine/JSI (= 1000.0.0) - - hermes-engine/Public (= 1000.0.0) - - hermes-engine/Hermes (1000.0.0) - - hermes-engine/JSI (1000.0.0) - - hermes-engine/Public (1000.0.0) - - libevent (2.1.12) + - MyNativeView (0.0.1): + - glog + - RCT-Folly (= 2021.07.22.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - NativeCxxModuleExample (0.0.1): + - glog + - RCT-Folly (= 2021.07.22.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - OCMock (3.9.1) - OpenSSL-Universal (1.1.1100) - RCT-Folly (2021.07.22.00): @@ -94,12 +117,6 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Futures (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - libevent - RCTRequired (1000.0.0) - RCTTypeSafety (1000.0.0): - FBLazyVector (= 1000.0.0) @@ -118,12 +135,35 @@ PODS: - React-RCTSettings (= 1000.0.0) - React-RCTText (= 1000.0.0) - React-RCTVibration (= 1000.0.0) + - React-BridgelessApple (1000.0.0): + - RCT-Folly/Fabric (= 2021.07.22.00) + - React-BridgelessCore + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-jsc + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-runtimeexecutor + - React-utils + - React-BridgelessCore (1000.0.0): + - glog + - RCT-Folly/Fabric (= 2021.07.22.00) + - React-cxxreact + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-runtimeexecutor + - React-runtimescheduler - React-callinvoker (1000.0.0) - React-Codegen (1000.0.0): - DoubleConversion - - FBReactNativeSpec - glog - - hermes-engine - RCT-Folly - RCTRequired - RCTTypeSafety @@ -131,21 +171,20 @@ PODS: - React-debug - React-Fabric - React-graphics + - React-jsc - React-jsi - React-jsiexecutor - React-NativeModulesApple - React-rendererdebug - - React-rncore - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - React-Core (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 1000.0.0) - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -154,11 +193,10 @@ PODS: - Yoga - React-Core/CoreModulesHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -167,10 +205,9 @@ PODS: - Yoga - React-Core/Default (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -179,12 +216,11 @@ PODS: - Yoga - React-Core/DevSupport (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 1000.0.0) - React-Core/RCTWebSocket (= 1000.0.0) - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-jsinspector (= 1000.0.0) @@ -194,11 +230,10 @@ PODS: - Yoga - React-Core/RCTActionSheetHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -207,11 +242,10 @@ PODS: - Yoga - React-Core/RCTAnimationHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -220,11 +254,10 @@ PODS: - Yoga - React-Core/RCTBlobHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -233,11 +266,10 @@ PODS: - Yoga - React-Core/RCTImageHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -246,11 +278,10 @@ PODS: - Yoga - React-Core/RCTLinkingHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -259,11 +290,10 @@ PODS: - Yoga - React-Core/RCTNetworkHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -272,11 +302,10 @@ PODS: - Yoga - React-Core/RCTPushNotificationHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -285,11 +314,10 @@ PODS: - Yoga - React-Core/RCTSettingsHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -298,11 +326,10 @@ PODS: - Yoga - React-Core/RCTTextHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -311,11 +338,10 @@ PODS: - Yoga - React-Core/RCTVibrationHeaders (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -324,11 +350,10 @@ PODS: - Yoga - React-Core/RCTWebSocket (1000.0.0): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 1000.0.0) - React-cxxreact (= 1000.0.0) - - React-hermes + - React-jsc - React-jsi (= 1000.0.0) - React-jsiexecutor (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -349,7 +374,6 @@ PODS: - boost (= 1.76.0) - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 1000.0.0) - React-debug (= 1000.0.0) @@ -362,7 +386,6 @@ PODS: - React-Fabric (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -375,11 +398,9 @@ PODS: - React-Fabric/componentregistry (= 1000.0.0) - React-Fabric/componentregistrynative (= 1000.0.0) - React-Fabric/components (= 1000.0.0) - - React-Fabric/config (= 1000.0.0) - React-Fabric/core (= 1000.0.0) - React-Fabric/imagemanager (= 1000.0.0) - React-Fabric/leakchecker (= 1000.0.0) - - React-Fabric/mapbuffer (= 1000.0.0) - React-Fabric/mounting (= 1000.0.0) - React-Fabric/runtimescheduler (= 1000.0.0) - React-Fabric/scheduler (= 1000.0.0) @@ -388,7 +409,7 @@ PODS: - React-Fabric/textlayoutmanager (= 1000.0.0) - React-Fabric/uimanager (= 1000.0.0) - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -397,7 +418,6 @@ PODS: - React-Fabric/animations (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -405,7 +425,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -414,7 +434,6 @@ PODS: - React-Fabric/attributedstring (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -422,7 +441,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -431,7 +450,6 @@ PODS: - React-Fabric/butter (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -439,7 +457,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -448,7 +466,6 @@ PODS: - React-Fabric/componentregistry (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -456,7 +473,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -465,7 +482,6 @@ PODS: - React-Fabric/componentregistrynative (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -473,7 +489,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -482,7 +498,6 @@ PODS: - React-Fabric/components (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -501,7 +516,7 @@ PODS: - React-Fabric/components/unimplementedview (= 1000.0.0) - React-Fabric/components/view (= 1000.0.0) - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -510,7 +525,6 @@ PODS: - React-Fabric/components/inputaccessory (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -518,7 +532,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -527,7 +541,6 @@ PODS: - React-Fabric/components/legacyviewmanagerinterop (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -535,7 +548,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -544,7 +557,6 @@ PODS: - React-Fabric/components/modal (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -552,7 +564,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -561,7 +573,6 @@ PODS: - React-Fabric/components/rncore (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -569,7 +580,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -578,7 +589,6 @@ PODS: - React-Fabric/components/root (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -586,7 +596,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -595,7 +605,6 @@ PODS: - React-Fabric/components/safeareaview (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -603,7 +612,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -612,7 +621,6 @@ PODS: - React-Fabric/components/scrollview (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -620,7 +628,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -629,7 +637,6 @@ PODS: - React-Fabric/components/text (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -637,7 +644,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -646,7 +653,6 @@ PODS: - React-Fabric/components/textinput (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -654,7 +660,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -663,7 +669,6 @@ PODS: - React-Fabric/components/unimplementedview (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -671,7 +676,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -680,7 +685,6 @@ PODS: - React-Fabric/components/view (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -688,34 +692,16 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug - React-utils - ReactCommon/turbomodule/core (= 1000.0.0) - Yoga - - React-Fabric/config (1000.0.0): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Core - - React-cxxreact - - React-debug - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-logger - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/core (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -723,7 +709,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -732,7 +718,6 @@ PODS: - React-Fabric/imagemanager (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -740,7 +725,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -749,24 +734,6 @@ PODS: - React-Fabric/leakchecker (1000.0.0): - DoubleConversion - glog - - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Core - - React-cxxreact - - React-debug - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-logger - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/mapbuffer (1000.0.0): - - DoubleConversion - - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -774,7 +741,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -783,7 +750,6 @@ PODS: - React-Fabric/mounting (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -791,7 +757,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -800,7 +766,6 @@ PODS: - React-Fabric/runtimescheduler (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -808,7 +773,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -817,7 +782,6 @@ PODS: - React-Fabric/scheduler (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -825,7 +789,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -834,7 +798,6 @@ PODS: - React-Fabric/telemetry (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -842,7 +805,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -851,7 +814,6 @@ PODS: - React-Fabric/templateprocessor (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -859,7 +821,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -868,7 +830,6 @@ PODS: - React-Fabric/textlayoutmanager (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -877,7 +838,7 @@ PODS: - React-debug - React-Fabric/uimanager - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -886,7 +847,6 @@ PODS: - React-Fabric/uimanager (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) @@ -894,7 +854,7 @@ PODS: - React-cxxreact - React-debug - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -903,14 +863,13 @@ PODS: - React-FabricImage (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Fabric - React-graphics (= 1000.0.0) - React-ImageManager - - React-jsi (= 1000.0.0) + - React-jsi - React-jsiexecutor (= 1000.0.0) - React-logger - React-rendererdebug @@ -921,17 +880,6 @@ PODS: - glog - RCT-Folly/Fabric (= 2021.07.22.00) - React-Core/Default (= 1000.0.0) - - React-hermes (1000.0.0): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 1000.0.0) - - React-jsi - - React-jsiexecutor (= 1000.0.0) - - React-jsinspector (= 1000.0.0) - - React-perflogger (= 1000.0.0) - React-ImageManager (1000.0.0): - glog - RCT-Folly/Fabric @@ -941,26 +889,38 @@ PODS: - React-RCTImage - React-rendererdebug - React-utils + - React-jsc (1000.0.0): + - React-jsc/Fabric (= 1000.0.0) + - React-jsi (= 1000.0.0) + - React-jsc/Fabric (1000.0.0): + - React-jsi (= 1000.0.0) + - React-jserrorhandler (1000.0.0): + - RCT-Folly/Fabric (= 2021.07.22.00) + - React-jsi (= 1000.0.0) + - React-Mapbuffer - React-jsi (1000.0.0): - boost (= 1.76.0) - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-jsiexecutor (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 1000.0.0) - React-jsi (= 1000.0.0) - React-perflogger (= 1000.0.0) - React-jsinspector (1000.0.0) + - React-jsitracing (1000.0.0): + - React-jsi - React-logger (1000.0.0): - glog + - React-Mapbuffer (1000.0.0): + - glog + - React-debug + - React-nativeconfig (1000.0.0) - React-NativeModulesApple (1000.0.0): - glog - - hermes-engine - React-callinvoker - React-Core - React-cxxreact @@ -982,15 +942,23 @@ PODS: - RCT-Folly - RCTRequired - RCTTypeSafety + - React-BridgelessApple + - React-BridgelessCore - React-Core - React-CoreModules - - React-hermes + - React-debug + - React-Fabric + - React-graphics + - React-jsc + - React-nativeconfig - React-NativeModulesApple + - React-RCTFabric - React-RCTImage - React-RCTNetwork + - React-rendererdebug + - React-utils - ReactCommon/turbomodule/core - React-RCTBlob (1000.0.0): - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 1000.0.0) - React-Core/RCTBlobHeaders (= 1000.0.0) @@ -1000,7 +968,6 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-RCTFabric (1000.0.0): - glog - - hermes-engine - RCT-Folly/Fabric (= 2021.07.22.00) - React-Core (= 1000.0.0) - React-debug @@ -1008,6 +975,8 @@ PODS: - React-FabricImage - React-graphics - React-ImageManager + - React-jsi + - React-nativeconfig - React-RCTImage (= 1000.0.0) - React-RCTText - React-rendererdebug @@ -1054,6 +1023,7 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-RCTText (1000.0.0): - React-Core/RCTTextHeaders (= 1000.0.0) + - Yoga - React-RCTVibration (1000.0.0): - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 1000.0.0) @@ -1067,23 +1037,30 @@ PODS: - React-rncore (1000.0.0) - React-runtimeexecutor (1000.0.0): - React-jsi (= 1000.0.0) + - React-runtimescheduler (1000.0.0): + - glog + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker + - React-debug + - React-jsi + - React-runtimeexecutor + - React-utils - React-utils (1000.0.0): - glog - RCT-Folly (= 2021.07.22.00) - React-debug - ReactCommon-Samples (1000.0.0): - DoubleConversion - - hermes-engine - RCT-Folly - React-Codegen - React-Core - React-cxxreact + - React-jsi - React-NativeModulesApple - ReactCommon/turbomodule/core - ReactCommon/turbomodule/bridging (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 1000.0.0) - React-cxxreact (= 1000.0.0) @@ -1093,7 +1070,6 @@ PODS: - ReactCommon/turbomodule/core (1000.0.0): - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 1000.0.0) - React-cxxreact (= 1000.0.0) @@ -1103,38 +1079,53 @@ PODS: - ScreenshotManager (0.0.1): - glog - RCT-Folly (= 2021.07.22.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - SocketRocket (0.6.0) - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) DEPENDENCIES: - boost (from `../react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../react-native/React/FBReactNativeSpec`) - - Flipper (= 0.201.0) + - Flipper (= 0.182.0) - Flipper-Boost-iOSX (= 1.76.0.1.11) - Flipper-DoubleConversion (= 3.2.0.1) - Flipper-Fmt (= 7.1.7) - Flipper-Folly (= 2.6.10) - Flipper-Glog (= 0.5.0.5) - Flipper-PeerTalk (= 0.0.4) - - FlipperKit (= 0.201.0) - - FlipperKit/Core (= 0.201.0) - - FlipperKit/CppBridge (= 0.201.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.201.0) - - FlipperKit/FBDefines (= 0.201.0) - - FlipperKit/FKPortForwarding (= 0.201.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.201.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.201.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.201.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.201.0) - - FlipperKit/FlipperKitReactPlugin (= 0.201.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.201.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.201.0) + - FlipperKit (= 0.182.0) + - FlipperKit/Core (= 0.182.0) + - FlipperKit/CppBridge (= 0.182.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0) + - FlipperKit/FBDefines (= 0.182.0) + - FlipperKit/FKPortForwarding (= 0.182.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0) + - FlipperKit/FlipperKitReactPlugin (= 0.182.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) - glog (from `../react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../react-native/sdks/hermes-engine/hermes-engine.podspec`) - - libevent (~> 2.1.12) + - MyNativeView (from `NativeComponentExample`) + - NativeCxxModuleExample (from `NativeCxxModuleExample`) - OCMock (~> 3.9.1) - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../react-native/third-party-podspecs/RCT-Folly.podspec`) @@ -1142,6 +1133,8 @@ DEPENDENCIES: - RCTRequired (from `../react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../react-native/Libraries/TypeSafety`) - React (from `../react-native/`) + - React-BridgelessApple (from `../react-native/ReactCommon/react/bridgeless`) + - React-BridgelessCore (from `../react-native/ReactCommon/react/bridgeless`) - React-callinvoker (from `../react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (from `../react-native/`) @@ -1153,12 +1146,17 @@ DEPENDENCIES: - React-Fabric (from `../react-native/ReactCommon`) - React-FabricImage (from `../react-native/ReactCommon`) - React-graphics (from `../react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../react-native/ReactCommon/hermes`) - React-ImageManager (from `../react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jsc (from `../react-native/ReactCommon/jsc`) + - React-jsc/Fabric (from `../react-native/ReactCommon/jsc`) + - React-jserrorhandler (from `../react-native/ReactCommon/jserrorhandler`) - React-jsi (from `../react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../react-native/ReactCommon/jsinspector`) + - React-jsitracing (from `../react-native/ReactCommon/hermes/executor/`) - React-logger (from `../react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../react-native/ReactCommon`) + - React-nativeconfig (from `../react-native/ReactCommon`) - React-NativeModulesApple (from `../react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../react-native/Libraries/ActionSheetIOS`) @@ -1177,6 +1175,7 @@ DEPENDENCIES: - React-rendererdebug (from `../react-native/ReactCommon/react/renderer/debug`) - React-rncore (from `../react-native/ReactCommon`) - React-runtimeexecutor (from `../react-native/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../react-native/ReactCommon/react/renderer/runtimescheduler`) - React-utils (from `../react-native/ReactCommon/react/utils`) - ReactCommon-Samples (from `../react-native/ReactCommon/react/nativemodule/samples`) - ReactCommon/turbomodule/core (from `../react-native/ReactCommon`) @@ -1195,10 +1194,10 @@ SPEC REPOS: - Flipper-PeerTalk - FlipperKit - fmt - - libevent - OCMock - OpenSSL-Universal - SocketRocket + - YogaKit EXTERNAL SOURCES: boost: @@ -1207,13 +1206,12 @@ EXTERNAL SOURCES: :podspec: "../react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: :path: "../react-native/Libraries/FBLazyVector" - FBReactNativeSpec: - :path: "../react-native/React/FBReactNativeSpec" glog: :podspec: "../react-native/third-party-podspecs/glog.podspec" - hermes-engine: - :podspec: "../react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: '' + MyNativeView: + :path: NativeComponentExample + NativeCxxModuleExample: + :path: NativeCxxModuleExample RCT-Folly: :podspec: "../react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -1222,6 +1220,10 @@ EXTERNAL SOURCES: :path: "../react-native/Libraries/TypeSafety" React: :path: "../react-native/" + React-BridgelessApple: + :path: "../react-native/ReactCommon/react/bridgeless" + React-BridgelessCore: + :path: "../react-native/ReactCommon/react/bridgeless" React-callinvoker: :path: "../react-native/ReactCommon/callinvoker" React-Codegen: @@ -1240,18 +1242,26 @@ EXTERNAL SOURCES: :path: "../react-native/ReactCommon" React-graphics: :path: "../react-native/ReactCommon/react/renderer/graphics" - React-hermes: - :path: "../react-native/ReactCommon/hermes" React-ImageManager: :path: "../react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jsc: + :path: "../react-native/ReactCommon/jsc" + React-jserrorhandler: + :path: "../react-native/ReactCommon/jserrorhandler" React-jsi: :path: "../react-native/ReactCommon/jsi" React-jsiexecutor: :path: "../react-native/ReactCommon/jsiexecutor" React-jsinspector: :path: "../react-native/ReactCommon/jsinspector" + React-jsitracing: + :path: "../react-native/ReactCommon/hermes/executor/" React-logger: :path: "../react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../react-native/ReactCommon" + React-nativeconfig: + :path: "../react-native/ReactCommon" React-NativeModulesApple: :path: "../react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: @@ -1288,6 +1298,8 @@ EXTERNAL SOURCES: :path: "../react-native/ReactCommon" React-runtimeexecutor: :path: "../react-native/ReactCommon/runtimeexecutor" + React-runtimescheduler: + :path: "../react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: :path: "../react-native/ReactCommon/react/utils" ReactCommon: @@ -1303,65 +1315,72 @@ SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 - FBLazyVector: 4ace5421409f3d0deafe868c7eb4bd40e746f0be - FBReactNativeSpec: e73421f4c0ece0c04afbc11bcc6a57c6bebac4eb - Flipper: c7a0093234c4bdd456e363f2f19b2e4b27652d44 + FBLazyVector: f4492a543c5a8fa1502d3a5867e3f7252497cfe8 + Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - FlipperKit: 37525a5d056ef9b93d1578e04bc3ea1de940094f + FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 99bd064df01718db56b8f75e6b5ea3051c7dad0a - hermes-engine: ba635b041110d18694a8478afb023d71c3f0b0ef - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + MyNativeView: 59008ae4e02f2ee035b79a60254713a9d3f61d52 + NativeCxxModuleExample: d4eec7a8e74e2bb5e9b7f0b578079dbeb708029a OCMock: 9491e4bec59e0b267d52a9184ff5605995e74be8 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: b0d1393cb3763d71efca99db314c65f0072eb0fe - RCTRequired: 0f72d27bffa315bd58dcb43d84aa9223ce660e4d - RCTTypeSafety: 629c915cf2ffb5af66483d30d4e71d2ccafb43a6 - React: 1a43562e4b4d5964cb8a99892a1b2a291e15eba8 - React-callinvoker: f1a75bb2406d438037751fbcbc6e51e3ab515847 - React-Codegen: 4ac0cb84d358edd26db783a441cade433333eb93 - React-Core: 16193929a2b3d725dae4e1c6ed3e3a8d2a539e53 - React-CoreModules: 80250aabc18a66f21488766bc3342138fc420172 - React-cxxreact: f46b4218d377289571e0c8cb58d25c4e69cfe419 - React-debug: 4c46be84291edc4d1e0772e366e387bc62e8fad6 - React-Fabric: 56c6a5014de4817da3567745f74011471d989c25 - React-FabricImage: 2b426cdbf6bd7363abbf76784c7051c54d86c3d6 - React-graphics: e61db2386171b95bb1ffad520d68392be9adb388 - React-hermes: babf4762ad4de8ee596a32e37abce10912f8de50 - React-ImageManager: 112eb60f39ae74bb6c5f24954e18d044a86d00c6 - React-jsi: 2b5ac5891540e049220404b355e912f278fc6a34 - React-jsiexecutor: 656ba4887ec676eabc515b8b28c33812d3a9a2a9 - React-jsinspector: 5fa6622840c9f969844256f9168f46f4ee739d5b - React-logger: 50f6fb35062c9c63c8eea2e666e126ec12427acb - React-NativeModulesApple: 4a32484e1ecb43870d9af1262985e6e5961a0418 - React-perflogger: fa3d795104cf245ff60370de6843a8fa5f526a99 - React-RCTActionSheet: 28c15479efa725e3ce7bf76bf76f297d0116a86d - React-RCTAnimation: b95a6f6604ac4878b82b34ae06581d6244c08121 - React-RCTAppDelegate: 4a79570d63463a925d6d478432d4e1c3573b4bcf - React-RCTBlob: bf2c20df0e89517e0a6517eaa0413a27d1e5e95d - React-RCTFabric: 468e436c6151afec3ebb7e6075b84d4793f60fd5 - React-RCTImage: 82da04ade89bf13268d9e397e5b705d4544a0663 - React-RCTLinking: e4b60682432f98fbdcdfe0d482d6212d5ff60fc0 - React-RCTNetwork: 095952edac0d4a173c60245e2aac2393f4f4b965 - React-RCTPushNotification: 161980862cbd0b22cb9d363a30ec983db1b6e7ec - React-RCTSettings: e915b49b5db378c0170030c8b194964433446bc9 - React-RCTTest: f3110bdb7d1801219feaa72eb4fce4132eb60c89 - React-RCTText: 4888f30ec5fbbcb69fe6a8d09d2ee1228618162d - React-RCTVibration: 66cfce46de86066b31e494920a46edf35f544297 - React-rendererdebug: 3b588d11f71c617006cd7d1b9e5d2f17225699bc - React-rncore: 733d298a323f728ca78ce0bfdd2d74e7de24e3a7 - React-runtimeexecutor: 4c4091dd5f5d770085640e945834911e1fdcdfe2 - React-utils: 7b3719566763c1e57bd5de9ffbda04bd8a6b9ac0 - ReactCommon: e110d3087b30694ab59b64dce0dd13a3a5c5bfdb - ReactCommon-Samples: c53e9ce4aaf39fd1a78e6feb4a9df0c8f9aa70a1 - ScreenshotManager: d39b964a374e5012e2b8c143e29ead86b1da6a3c + RCTRequired: 82c56a03b3efd524bfdb581a906add903f78f978 + RCTTypeSafety: 034ade4e3b36be976b8378f825ccadbe104fa852 + React: cb6dc75e09f32aeddb4d8fb58a394a67219a92fe + React-BridgelessApple: 849f20885c11e1af2adae038b6d342df7859d44c + React-BridgelessCore: c4bc485d1669e3bf0f25b257bb4cac2e72d0419e + React-callinvoker: bae59cbd6affd712bbfc703839dad868ff35069d + React-Codegen: 4986f11d93f42d109e7ba574bd00105955c18221 + React-Core: 300cfd5b0a8b04283079111a68ba580c4d594644 + React-CoreModules: b2a626b7880f5ba5434ddb36797d6c3050645069 + React-cxxreact: 87ced584a35f147307fc91d110db9f3a81c1d99a + React-debug: b8ca04c97389d8deb71159f7fbba395904b2d599 + React-Fabric: 039ddbb4734ece61c0b0870566c6636019923688 + React-FabricImage: 0b3ea28c3cfe3c44b0d9da7f8c089d36f1684808 + React-graphics: cb2b0d040a7f798ed14d7ce3caf07a89cb78e306 + React-ImageManager: 85e3d6600b740cfa25e079bd7d0c460a6ba6665b + React-jsc: e49efa048247735aa67be1440eba9d977f03879d + React-jserrorhandler: 13d74cf05cdcb78355b8ffb18b5d6c3bf7b4e465 + React-jsi: ecc314bc5f0625120ddfc9517edfa2f60b9c4252 + React-jsiexecutor: 6a0b5825828c4d3b452bf1485b3b841c36713c95 + React-jsinspector: bede0a6ac88f2463eafc1301239fe943adf06fa7 + React-jsitracing: 9c31143708c500579047b26ef7a82e91189329b2 + React-logger: c20eb15d006d5c303cf6bfbb11243c8d579d9f56 + React-Mapbuffer: f6997dcdedb2f6816a36b972d1a39ea278c17485 + React-nativeconfig: 614a27e2704609dd6501137b77d1278266beafa2 + React-NativeModulesApple: d8a757252dbcd08ac54cf1606e096c7ba4884669 + React-perflogger: c294d51cfc18b90caa1604ef3a0fe2dd76b9e15e + React-RCTActionSheet: 943bd5f540f3af1e5a149c13c4de81858edf718a + React-RCTAnimation: 2c4bb7f0f5734cffc722d08f0db0082b56f74f19 + React-RCTAppDelegate: 64e535f0d0b11a095e5839fa907ce7751d882267 + React-RCTBlob: 0d3a2bbd6e9d415cf9775083e71b5539a33eda56 + React-RCTFabric: 3c4c7f5ce155eb6a2697223d193e47bab4592c63 + React-RCTImage: bb95cc1d6ac1370dcebcc88b13938b31d93d5eff + React-RCTLinking: 1d65dcc1acf31b0824a07498b2a62fe0faa8c996 + React-RCTNetwork: 584d43bdefb0d73d90eec6146b79cafcc9242d00 + React-RCTPushNotification: 6e39862fcc7d8de4f243d1fa66836671d050d8d0 + React-RCTSettings: d98d83e8e9737f0a2c5fb2b05956ef31c102ae0b + React-RCTTest: d4004e03f9e5ca2607eb05bee5a0618b189a127a + React-RCTText: e9b0e8ecf0ab4f9fac58916433dcf8e8d5e5c2c1 + React-RCTVibration: ae65884c71d67f356396d6fcc44eec48b5afef70 + React-rendererdebug: e9e35b8c9c6fb17a38ab3bacc9f52c3c35a1fefa + React-rncore: 1eb30c961c5061f3ac07850e77f0038f0c29ac46 + React-runtimeexecutor: e1c32bc249dd3cf3919cb4664fd8dc84ef70cff7 + React-runtimescheduler: adc24d7aa23f30e8f4cd711b50a5b4180e8b33b0 + React-utils: 6d6dcf42bdbf8f4972e252bd031f34ccf105f0aa + ReactCommon: 39f00514ceeff66073c919ec2d97b299afa551ad + ReactCommon-Samples: b5f49b2e62f1a7e865197bb7daa2a66104bfed02 + ScreenshotManager: 870b88afa7fb6fce0f65587d5eaa8ddfa64a3748 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: ce82a19f4baa38f649816c2ca67d76fac1830b49 + Yoga: 239f77be94241af2a02e7018fe6165a715bc25f1 + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a PODFILE CHECKSUM: e220946495183a79874329aff76ec197027be224 diff --git a/packages/rn-tester/RNTester/AppDelegate.mm b/packages/rn-tester/RNTester/AppDelegate.mm index 1e8616f9ad08..35274d73bc24 100644 --- a/packages/rn-tester/RNTester/AppDelegate.mm +++ b/packages/rn-tester/RNTester/AppDelegate.mm @@ -123,6 +123,11 @@ - (void)application:(__unused UIApplication *)application { return @{@"RNTMyNativeView" : RNTMyNativeViewComponentView.class}; } + +- (NSURL *)getBundleURL +{ + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"js/RNTesterApp.ios"]; +} #endif @end diff --git a/packages/rn-tester/RNTester/NativeExampleViews/FlexibleSizeExampleView.m b/packages/rn-tester/RNTester/NativeExampleViews/FlexibleSizeExampleView.mm similarity index 100% rename from packages/rn-tester/RNTester/NativeExampleViews/FlexibleSizeExampleView.m rename to packages/rn-tester/RNTester/NativeExampleViews/FlexibleSizeExampleView.mm diff --git a/packages/rn-tester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.m b/packages/rn-tester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.mm similarity index 100% rename from packages/rn-tester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.m rename to packages/rn-tester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.mm diff --git a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj index 3db35a22d668..21f894ab822e 100644 --- a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj +++ b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj @@ -9,8 +9,6 @@ /* Begin PBXBuildFile section */ 04157F50C11E9F16DDD69B17 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F98312BF816A7F2688C036D /* libPods-RNTester.a */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */; }; 383889DA23A7398900D06C3E /* RCTConvert_UIColorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 383889D923A7398900D06C3E /* RCTConvert_UIColorTests.m */; }; 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; @@ -19,6 +17,8 @@ 953D44E0A849F5064163EA24 /* libPods-RNTesterIntegrationTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F4A7C4C85AB0198A25D51E4 /* libPods-RNTesterIntegrationTests.a */; }; BE3BEE3556275C62F33864C8 /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6144DEEE56C6C17B301A90E4 /* libPods-RNTesterUnitTests.a */; }; CD10C7A5290BD4EB0033E1ED /* RCTEventEmitterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CD10C7A4290BD4EB0033E1ED /* RCTEventEmitterTests.m */; }; + E62F11832A5C6580000BF1C8 /* FlexibleSizeExampleView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.mm */; }; + E62F11842A5C6584000BF1C8 /* UpdatePropertiesExampleView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.mm */; }; E7C1241A22BEC44B00DA25C0 /* RNTesterIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7C1241922BEC44B00DA25C0 /* RNTesterIntegrationTests.m */; }; E7DB20D122B2BAA6005AC45F /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20A922B2BAA3005AC45F /* RCTBundleURLProviderTests.m */; }; E7DB20D222B2BAA6005AC45F /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20AA22B2BAA3005AC45F /* RCTModuleInitNotificationRaceTests.m */; }; @@ -84,8 +84,8 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNTester/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = RNTester/main.m; sourceTree = ""; }; 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UpdatePropertiesExampleView.h; path = RNTester/NativeExampleViews/UpdatePropertiesExampleView.h; sourceTree = ""; }; - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UpdatePropertiesExampleView.m; path = RNTester/NativeExampleViews/UpdatePropertiesExampleView.m; sourceTree = ""; }; - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FlexibleSizeExampleView.m; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.m; sourceTree = ""; }; + 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = UpdatePropertiesExampleView.mm; path = RNTester/NativeExampleViews/UpdatePropertiesExampleView.mm; sourceTree = ""; }; + 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = FlexibleSizeExampleView.mm; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.mm; sourceTree = ""; }; 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FlexibleSizeExampleView.h; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.h; sourceTree = ""; }; 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RNTester/Images.xcassets; sourceTree = ""; }; 2F98312BF816A7F2688C036D /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -240,10 +240,10 @@ 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */ = { isa = PBXGroup; children = ( - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */, + 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.mm */, 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */, 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */, - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */, + 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.mm */, ); name = NativeExampleViews; sourceTree = ""; @@ -740,8 +740,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */, - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */, + E62F11842A5C6584000BF1C8 /* UpdatePropertiesExampleView.mm in Sources */, + E62F11832A5C6580000BF1C8 /* FlexibleSizeExampleView.mm in Sources */, 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, );