From b06c2d7050e91491b653444d749cef3da6e86a75 Mon Sep 17 00:00:00 2001 From: Lulu Wu Date: Mon, 24 Jul 2023 08:13:07 -0700 Subject: [PATCH] Add pods for bridgeless (#38020) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/38020 Add pods for bridgeless bypass-github-export-checks Changelog: [iOS][Added] - Add pods for bridgeless Reviewed By: cipolleschi Differential Revision: D46847632 fbshipit-source-id: d472c7b3bd790bb4565aa2c929116c74346e7913 --- .../AppDelegate/React-RCTAppDelegate.podspec | 9 +- .../React/React-RCTFabric.podspec | 2 + .../ReactCommon/React-Fabric.podspec | 13 - .../ReactCommon/React-Mapbuffer.podspec | 43 ++ .../ReactCommon/React-nativeconfig.podspec | 35 ++ .../hermes/executor/React-jsitracing.podspec | 41 ++ .../React-jserrorhandler.podspec | 49 +++ .../bridgeless/BufferedRuntimeExecutor.h | 2 +- .../bridgeless/React-BridgelessApple.podspec | 67 +++ .../bridgeless/React-BridgelessCore.podspec | 62 +++ .../bridgeless/React-BridgelessHermes.podspec | 56 +++ .../react/bridgeless/ReactInstance.cpp | 2 +- .../platform/ios/Core/RCTHost+Internal.h | 2 +- .../React-runtimescheduler.podspec | 1 + .../scripts/cocoapods/bridgeless.rb | 16 + .../react-native/scripts/react_native_pods.rb | 8 + packages/rn-tester/Podfile.lock | 388 +++++++++--------- 17 files changed, 587 insertions(+), 209 deletions(-) create mode 100644 packages/react-native/ReactCommon/React-Mapbuffer.podspec create mode 100644 packages/react-native/ReactCommon/React-nativeconfig.podspec create mode 100644 packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec create mode 100644 packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec create mode 100644 packages/react-native/ReactCommon/react/bridgeless/React-BridgelessApple.podspec create mode 100644 packages/react-native/ReactCommon/react/bridgeless/React-BridgelessCore.podspec create mode 100644 packages/react-native/ReactCommon/react/bridgeless/React-BridgelessHermes.podspec create mode 100644 packages/react-native/scripts/cocoapods/bridgeless.rb diff --git a/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec b/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec index ac5042a02a34d4..1c0950dac21314 100644 --- a/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec +++ b/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec @@ -29,7 +29,7 @@ use_hermes = ENV['USE_HERMES'] == '1' use_frameworks = ENV['USE_FRAMEWORKS'] != nil header_search_paths = [ - "$(PODS_TARGET_SRCROOT)/ReactCommon", + "$(PODS_TARGET_SRCROOT)/../../ReactCommon", "$(PODS_ROOT)/Headers/Private/React-Core", "$(PODS_ROOT)/boost", "$(PODS_ROOT)/DoubleConversion", @@ -84,6 +84,13 @@ 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-BridgelessHermes" + s.dependency "React-BridgelessApple" + end if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" s.dependency "React-hermes" diff --git a/packages/react-native/React/React-RCTFabric.podspec b/packages/react-native/React/React-RCTFabric.podspec index d91c8f25018631..af3ed97086bb48 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 fe368542e99605..bf0ad1d2f390b7 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 00000000000000..2fdcd9ff7c3f7c --- /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 00000000000000..d1dd415727bc28 --- /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 00000000000000..06e6b72d6fee4c --- /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 00000000000000..3ede4292bd2703 --- /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 0b0be428785a01..e2102a7ed6af22 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-BridgelessApple.podspec b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessApple.podspec new file mode 100644 index 00000000000000..407752639b9490 --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessApple.podspec @@ -0,0 +1,67 @@ +# 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-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 = "platform/ios/**/*.{mm,h}" + s.header_dir = "ReactCommon" + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_TARGET_SRCROOT)/../..\" \"$(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_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-BridgelessHermes" + s.dependency "React-Mapbuffer" + s.dependency "React-jserrorhandler" + + if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1" + s.dependency "hermes-engine" + else + s.dependency "React-jsi" + end +end 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 00000000000000..dc0ab09d0958f9 --- /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-jsi" + 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 00000000000000..723cf9119d03dc --- /dev/null +++ b/packages/react-native/ReactCommon/react/bridgeless/React-BridgelessHermes.podspec @@ -0,0 +1,56 @@ +# 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-jsi" + end +end diff --git a/packages/react-native/ReactCommon/react/bridgeless/ReactInstance.cpp b/packages/react-native/ReactCommon/react/bridgeless/ReactInstance.cpp index 4f0b96e4106741..df9caa868e6235 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/Core/RCTHost+Internal.h b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost+Internal.h index 64883331a818b1..4432aa0cce498d 100644 --- a/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/RCTHost+Internal.h +++ b/packages/react-native/ReactCommon/react/bridgeless/platform/ios/Core/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/renderer/runtimescheduler/React-runtimescheduler.podspec b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec index 77aafd0d0e07b8..0590fab2e76a6a 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 00000000000000..fb0efca61e8214 --- /dev/null +++ b/packages/react-native/scripts/cocoapods/bridgeless.rb @@ -0,0 +1,16 @@ +# 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") + 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-BridgelessHermes', :path => "#{react_native_path}/ReactCommon/react/bridgeless" + pod 'React-BridgelessApple', :path => "#{react_native_path}/ReactCommon/react/bridgeless" +end diff --git a/packages/react-native/scripts/react_native_pods.rb b/packages/react-native/scripts/react_native_pods.rb index 177b3767d647ca..c4b587ad732036 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) @@ -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) + 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/Podfile.lock b/packages/rn-tester/Podfile.lock index c48b1924b54400..546b0a3cf14b6d 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -1,71 +1,7 @@ PODS: - boost (1.76.0) - - 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-Folly (~> 2.6) - - 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-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - 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/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): - - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.201.0) - - FlipperKit/FKPortForwarding (0.201.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.201.0) - - FlipperKit/FlipperKitLayoutHelpers (0.201.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.201.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutPlugin (0.201.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutIOSDescriptors - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutTextSearchable (0.201.0) - - FlipperKit/FlipperKitNetworkPlugin (0.201.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.201.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.201.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.201.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) - hermes-engine (1000.0.0): @@ -76,8 +12,43 @@ PODS: - hermes-engine/JSI (1000.0.0) - hermes-engine/Public (1000.0.0) - libevent (2.1.12) + - MyNativeView (0.0.1): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - NativeCxxModuleExample (0.0.1): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-graphics + - 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): - boost - DoubleConversion @@ -118,10 +89,42 @@ PODS: - React-RCTSettings (= 1000.0.0) - React-RCTText (= 1000.0.0) - React-RCTVibration (= 1000.0.0) + - React-BridgelessApple (1000.0.0): + - hermes-engine + - RCT-Folly/Fabric (= 2021.07.22.00) + - React-BridgelessCore + - React-BridgelessHermes + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-runtimeexecutor + - React-utils + - React-BridgelessCore (1000.0.0): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2021.07.22.00) + - React-cxxreact + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-runtimeexecutor + - React-runtimescheduler + - React-BridgelessHermes (1000.0.0): + - hermes-engine + - RCT-Folly/Fabric (= 2021.07.22.00) + - React-jsi + - React-jsitracing + - React-nativeconfig - React-callinvoker (1000.0.0) - React-Codegen (1000.0.0): - DoubleConversion - - FBReactNativeSpec - glog - hermes-engine - RCT-Folly @@ -135,7 +138,6 @@ PODS: - React-jsiexecutor - React-NativeModulesApple - React-rendererdebug - - React-rncore - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core @@ -375,11 +377,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) @@ -695,23 +695,6 @@ PODS: - 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 @@ -763,23 +746,6 @@ PODS: - 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) - - 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/mounting (1000.0.0): - DoubleConversion - glog @@ -941,6 +907,10 @@ PODS: - React-RCTImage - React-rendererdebug - React-utils + - 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 @@ -956,8 +926,14 @@ PODS: - 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 @@ -982,12 +958,22 @@ PODS: - RCT-Folly - RCTRequired - RCTTypeSafety + - React-BridgelessApple + - React-BridgelessCore + - React-BridgelessHermes - React-Core - React-CoreModules + - React-debug + - React-Fabric + - React-graphics - React-hermes + - React-nativeconfig - React-NativeModulesApple + - React-RCTFabric - React-RCTImage - React-RCTNetwork + - React-rendererdebug + - React-utils - ReactCommon/turbomodule/core - React-RCTBlob (1000.0.0): - hermes-engine @@ -1008,6 +994,7 @@ PODS: - React-FabricImage - React-graphics - React-ImageManager + - React-nativeconfig - React-RCTImage (= 1000.0.0) - React-RCTText - React-rendererdebug @@ -1067,6 +1054,15 @@ PODS: - React-rncore (1000.0.0) - React-runtimeexecutor (1000.0.0): - React-jsi (= 1000.0.0) + - React-runtimescheduler (1000.0.0): + - glog + - hermes-engine + - 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) @@ -1102,8 +1098,22 @@ PODS: - React-perflogger (= 1000.0.0) - ScreenshotManager (0.0.1): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - SocketRocket (0.6.0) - Yoga (1.14.0) @@ -1111,41 +1121,23 @@ 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-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) - 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`) - RCT-Folly/Fabric (from `../react-native/third-party-podspecs/RCT-Folly.podspec`) - 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-BridgelessHermes (from `../react-native/ReactCommon/react/bridgeless`) - React-callinvoker (from `../react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (from `../react-native/`) - - React-Core/DevSupport (from `../react-native/`) - React-Core/RCTWebSocket (from `../react-native/`) - React-CoreModules (from `../react-native/React/CoreModules`) - React-cxxreact (from `../react-native/ReactCommon/cxxreact`) @@ -1155,10 +1147,14 @@ DEPENDENCIES: - 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-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 +1173,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`) @@ -1185,19 +1182,9 @@ DEPENDENCIES: SPEC REPOS: trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - FlipperKit - fmt - libevent - OCMock - - OpenSSL-Universal - SocketRocket EXTERNAL SOURCES: @@ -1207,13 +1194,15 @@ 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 +1211,12 @@ 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-BridgelessHermes: + :path: "../react-native/ReactCommon/react/bridgeless" React-callinvoker: :path: "../react-native/ReactCommon/callinvoker" React-Codegen: @@ -1244,14 +1239,22 @@ EXTERNAL SOURCES: :path: "../react-native/ReactCommon/hermes" React-ImageManager: :path: "../react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + 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 +1291,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: @@ -1301,67 +1306,66 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 - FBLazyVector: 4ace5421409f3d0deafe868c7eb4bd40e746f0be - FBReactNativeSpec: e73421f4c0ece0c04afbc11bcc6a57c6bebac4eb - Flipper: c7a0093234c4bdd456e363f2f19b2e4b27652d44 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - FlipperKit: 37525a5d056ef9b93d1578e04bc3ea1de940094f + FBLazyVector: f4492a543c5a8fa1502d3a5867e3f7252497cfe8 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 99bd064df01718db56b8f75e6b5ea3051c7dad0a - hermes-engine: ba635b041110d18694a8478afb023d71c3f0b0ef + hermes-engine: ab8b04c6ceac7e5cdf8b80be22107a9fffe8dfe6 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + MyNativeView: 0476cfb28ffbae3e3a0a7abcd91874a9950dfaaa + NativeCxxModuleExample: 90eae6c1e46e6568b9ee3fd31e82799d22c2a4ad 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: 7b25cc196775cba0800040f75c7290637ecbf626 + React-BridgelessCore: 7be1f8c12131c57ead18e66aa90a7063e582b968 + React-BridgelessHermes: 879ce79d214be6b15787f7de74674045f97bde03 + React-callinvoker: bae59cbd6affd712bbfc703839dad868ff35069d + React-Codegen: 04ba7912f182dba87522a2c85c5b6b4f4b2ca683 + React-Core: af44a23249c37faccaa4ad490f373819cb23c8f2 + React-CoreModules: b2a626b7880f5ba5434ddb36797d6c3050645069 + React-cxxreact: 21b73aa1e245d6c701e62150312c3748756bbf42 + React-debug: b8ca04c97389d8deb71159f7fbba395904b2d599 + React-Fabric: 63bfc6cc9d2ec9191cf71531ccc52da9c64c8c2a + React-FabricImage: 0c2f22ad19d3920ed1f95dd45f8ea885b8507feb + React-graphics: cb2b0d040a7f798ed14d7ce3caf07a89cb78e306 + React-hermes: fa4837e1d1e55f462ad3e485794056189b495d7e + React-ImageManager: 85e3d6600b740cfa25e079bd7d0c460a6ba6665b + React-jserrorhandler: 13d74cf05cdcb78355b8ffb18b5d6c3bf7b4e465 + React-jsi: ae20bc6ced4999f64acc5163cbfa67f878f346f4 + React-jsiexecutor: 754993beb8627912e5b25344cad02ed11a616d9f + React-jsinspector: bede0a6ac88f2463eafc1301239fe943adf06fa7 + React-jsitracing: db9fb46b96b8e58e1d603b0269a3b92735cd5cad + React-logger: c20eb15d006d5c303cf6bfbb11243c8d579d9f56 + React-Mapbuffer: f6997dcdedb2f6816a36b972d1a39ea278c17485 + React-nativeconfig: 614a27e2704609dd6501137b77d1278266beafa2 + React-NativeModulesApple: e818cad892ed5b090dad1467fca70139f14a347c + React-perflogger: c294d51cfc18b90caa1604ef3a0fe2dd76b9e15e + React-RCTActionSheet: 943bd5f540f3af1e5a149c13c4de81858edf718a + React-RCTAnimation: 2c4bb7f0f5734cffc722d08f0db0082b56f74f19 + React-RCTAppDelegate: 8198915c0d666074fca532488b3863926ed67267 + React-RCTBlob: 8ca8256f44b9c002c126ae15764ba7fca9b7e568 + React-RCTFabric: 60cc4beada6b3e82025313cadd22bda7b93d1706 + React-RCTImage: bb95cc1d6ac1370dcebcc88b13938b31d93d5eff + React-RCTLinking: 1d65dcc1acf31b0824a07498b2a62fe0faa8c996 + React-RCTNetwork: 584d43bdefb0d73d90eec6146b79cafcc9242d00 + React-RCTPushNotification: 6e39862fcc7d8de4f243d1fa66836671d050d8d0 + React-RCTSettings: d98d83e8e9737f0a2c5fb2b05956ef31c102ae0b + React-RCTTest: d4004e03f9e5ca2607eb05bee5a0618b189a127a + React-RCTText: 6d0a9927391dc26325c2edf60ef7d36f637e709c + React-RCTVibration: f1c57bcb277765818f90c8579b9c4c182dc24e58 + React-rendererdebug: 964a1c7696e5a3db09f969fbea8c4799d357b87e + React-rncore: 1eb30c961c5061f3ac07850e77f0038f0c29ac46 + React-runtimeexecutor: e1c32bc249dd3cf3919cb4664fd8dc84ef70cff7 + React-runtimescheduler: fb782d7880ed883add4f1ad02cd6d444945a45bd + React-utils: 6d6dcf42bdbf8f4972e252bd031f34ccf105f0aa + ReactCommon: 035608c9665dd0bf7a75a6b90bba252731345312 + ReactCommon-Samples: c4f4880fd3ae74e88698c74310f7328a58a66c81 + ScreenshotManager: 6aa4733a336606bfed7e8ce50b825b906f1d2942 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: ce82a19f4baa38f649816c2ca67d76fac1830b49 + Yoga: 239f77be94241af2a02e7018fe6165a715bc25f1 PODFILE CHECKSUM: e220946495183a79874329aff76ec197027be224