react-native 0.83.8 → 0.83.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  2. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  3. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
  4. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  5. package/Libraries/Components/Button.js +2 -2
  6. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  7. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  8. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  9. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
  10. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  11. package/Libraries/Core/ReactNativeVersion.js +1 -1
  12. package/Libraries/Core/Timers/JSTimers.js +1 -1
  13. package/Libraries/Core/setUpNavigator.js +1 -1
  14. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  15. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  16. package/Libraries/Image/ImageSource.d.ts +1 -1
  17. package/Libraries/Image/RCTImageLoader.mm +1 -1
  18. package/Libraries/Image/React-RCTImage.podspec +1 -1
  19. package/Libraries/Interaction/PanResponder.js +1 -1
  20. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  21. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  22. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  23. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  24. package/Libraries/Renderer/README.md +2 -2
  25. package/Libraries/Required/RCTRequired.podspec +1 -1
  26. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  27. package/Libraries/Text/React-RCTText.podspec +1 -1
  28. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  29. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  30. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  31. package/README.md +6 -6
  32. package/React/Base/RCTVersion.m +1 -1
  33. package/React/CoreModules/React-CoreModules.podspec +1 -1
  34. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8 -0
  35. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
  36. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  37. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +34 -5
  38. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  39. package/React/React-RCTFabric.podspec +1 -1
  40. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  41. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +145 -0
  42. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  43. package/React-Core.podspec +1 -1
  44. package/React.podspec +1 -1
  45. package/ReactAndroid/build.gradle.kts +1 -1
  46. package/ReactAndroid/gradle.properties +1 -1
  47. package/ReactAndroid/publish.gradle +5 -5
  48. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
  49. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
  50. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -2
  51. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -1
  52. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -1
  53. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -1
  54. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -1
  55. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -1
  56. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -1
  57. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +1 -1
  58. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  59. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +3 -3
  60. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  61. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
  62. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
  63. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
  64. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +1 -1
  65. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -2
  66. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
  67. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  68. package/ReactAndroid/src/main/jni/CMakeLists.txt +7 -0
  69. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  70. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -1
  71. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -1
  72. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  73. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  74. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  75. package/ReactCommon/React-Fabric.podspec +7 -1
  76. package/ReactCommon/React-FabricComponents.podspec +1 -1
  77. package/ReactCommon/React-FabricImage.podspec +1 -1
  78. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  79. package/ReactCommon/ReactCommon.podspec +1 -1
  80. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  81. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  82. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  83. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  84. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  85. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
  86. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  87. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  88. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +7 -3
  89. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  90. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -5
  91. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  92. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  93. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  94. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  95. package/ReactCommon/logger/React-logger.podspec +1 -1
  96. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  97. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  98. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  99. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  100. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -1
  101. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -1
  102. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +72 -54
  103. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +4 -2
  104. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -1
  105. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -1
  106. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -1
  107. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  108. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  109. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
  110. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
  111. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  112. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  113. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -1
  114. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
  115. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -1
  116. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -1
  117. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  118. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
  119. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
  120. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  121. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  122. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
  123. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  124. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
  125. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  126. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  127. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  128. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  129. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  130. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  131. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  132. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  133. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  134. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  135. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  136. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  137. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  138. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  139. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  140. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  141. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  142. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  143. package/ReactCommon/yoga/Yoga.podspec +2 -2
  144. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -0
  145. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
  146. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +2 -0
  147. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  148. package/package.json +10 -10
  149. package/scripts/cocoapods/rncore.rb +26 -8
  150. package/scripts/cocoapods/rndependencies.rb +26 -5
  151. package/scripts/cocoapods/spm.rb +1 -1
  152. package/scripts/cocoapods/utils.rb +2 -2
  153. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  154. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  155. package/scripts/ios-configure-glog.sh +1 -1
  156. package/scripts/react_native_pods.rb +1 -0
  157. package/sdks/hermes-engine/hermes-engine.podspec +6 -1
  158. package/sdks/hermes-engine/hermes-utils.rb +27 -5
  159. package/src/private/featureflags/ReactNativeFeatureFlags.js +6 -1
  160. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -1
  161. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  162. package/src/private/types/HostInstance.js +1 -1
  163. package/src/types/globals.d.ts +2 -2
  164. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  165. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  166. package/third-party-podspecs/glog.podspec +1 -1
  167. package/types/public/ReactNativeTypes.d.ts +2 -2
  168. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  169. package/types_generated/Libraries/Components/Button.d.ts +3 -3
  170. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +2 -2
  171. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +4 -4
  172. package/types_generated/Libraries/Interaction/PanResponder.d.ts +2 -2
  173. package/types_generated/src/private/types/HostInstance.d.ts +2 -2
@@ -232,15 +232,36 @@ class ReactNativeDependenciesUtils
232
232
  return {:http => url}
233
233
  end
234
234
 
235
+ def self.shared_cache_dir()
236
+ return File.join(Dir.home, "Library", "Caches", "ReactNative")
237
+ end
238
+
235
239
  def self.download_rndeps_tarball(react_native_path, tarball_url, version, configuration)
236
- destination_path = configuration == nil ?
237
- "#{artifacts_dir()}/reactnative-dependencies-#{version}.tar.gz" :
238
- "#{artifacts_dir()}/reactnative-dependencies-#{version}-#{configuration}.tar.gz"
240
+ filename = configuration == nil ?
241
+ "reactnative-dependencies-#{version}.tar.gz" :
242
+ "reactnative-dependencies-#{version}-#{configuration}.tar.gz"
243
+ destination_path = "#{artifacts_dir()}/#{filename}"
244
+
245
+ if File.exist?(destination_path)
246
+ rndeps_log("Tarball #{filename} already exists in Pods. Skipping download.")
247
+ return destination_path
248
+ end
239
249
 
240
- unless File.exist?(destination_path)
250
+ `mkdir -p "#{artifacts_dir()}"`
251
+
252
+ cached_path = File.join(shared_cache_dir(), filename)
253
+ if File.exist?(cached_path)
254
+ rndeps_log("Cache hit: copying #{filename} from shared cache (#{shared_cache_dir()})")
255
+ FileUtils.cp(cached_path, destination_path)
256
+ else
257
+ rndeps_log("Cache miss: downloading #{filename} from #{tarball_url}")
241
258
  # Download to a temporary file first so we don't cache incomplete downloads.
242
259
  tmp_file = "#{artifacts_dir()}/reactnative-dependencies.download"
243
- `mkdir -p "#{artifacts_dir()}" && curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
260
+ `curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
261
+ # Save to shared cache for future use
262
+ `mkdir -p "#{shared_cache_dir()}"`
263
+ FileUtils.cp(destination_path, cached_path)
264
+ rndeps_log("Saved #{filename} to shared cache (#{shared_cache_dir()})")
244
265
  end
245
266
 
246
267
  return destination_path
@@ -45,7 +45,7 @@ class SPMManager
45
45
  log_warning "If you're using Xcode 15 or earlier you might need to close and reopen the Xcode workspace"
46
46
  unless ENV["USE_FRAMEWORKS"] == "dynamic"
47
47
  @dependencies_by_pod.each do |pod_name, dependencies|
48
- log_warning "Pod #{pod_name} is using swift package(s) #{dependencies.map{|i| i[:products]}.flatten.uniq.join(", ")} with static linking, this might cause linker errors. Consider using USE_FRAMEWORKS=dynamic, see https://github.com/facebook/react-native/pull/44627#issuecomment-2123119711 for more information"
48
+ log_warning "Pod #{pod_name} is using swift package(s) #{dependencies.map{|i| i[:products]}.flatten.uniq.join(", ")} with static linking, this might cause linker errors. Consider using USE_FRAMEWORKS=dynamic, see https://github.com/react/react-native/pull/44627#issuecomment-2123119711 for more information"
49
49
  end
50
50
  end
51
51
  end
@@ -69,7 +69,7 @@ class ReactNativePodsUtils
69
69
  end
70
70
 
71
71
  def self.turn_off_resource_bundle_react_core(installer)
72
- # this is needed for Xcode 14, see more details here https://github.com/facebook/react-native/issues/34673
72
+ # this is needed for Xcode 14, see more details here https://github.com/react/react-native/issues/34673
73
73
  # we should be able to remove this once CocoaPods catches up to it, see more details here https://github.com/CocoaPods/CocoaPods/issues/11402
74
74
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
75
75
  if pod_name.to_s == 'React-Core'
@@ -237,7 +237,7 @@ class ReactNativePodsUtils
237
237
  # When installing pods with a yarn alias, yarn creates a fake yarn and node executables
238
238
  # in a temporary folder.
239
239
  # Using `node --print "process.argv[0]";` we are able to retrieve the actual path from which node is running.
240
- # see https://github.com/facebook/react-native/issues/43285 for more info. We've tweaked this slightly.
240
+ # see https://github.com/react/react-native/issues/43285 for more info. We've tweaked this slightly.
241
241
  node_binary = Shellwords.escape(`node --print "process.argv[0]"`.strip)
242
242
  system("echo 'export NODE_BINARY=#{node_binary}' > #{file_path}.local")
243
243
  end
@@ -4,7 +4,7 @@
4
4
  # LICENSE file in the root directory of this source tree.
5
5
 
6
6
  version = "{react-native-version}"
7
- source = { :git => 'https://github.com/facebook/react-native.git' }
7
+ source = { :git => 'https://github.com/react/react-native.git' }
8
8
  if version == '1000.0.0'
9
9
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
10
10
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -4,7 +4,7 @@
4
4
  # LICENSE file in the root directory of this source tree.
5
5
 
6
6
  version = "{react-native-version}"
7
- source = { :git => 'https://github.com/facebook/react-native.git' }
7
+ source = { :git => 'https://github.com/react/react-native.git' }
8
8
  if version == '1000.0.0'
9
9
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
10
10
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -57,7 +57,7 @@ if [ -h "test-driver" ]; then
57
57
  rm test-driver
58
58
  fi
59
59
 
60
- # Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446
60
+ # Manually disable gflags include to fix issue https://github.com/react/react-native/issues/28446
61
61
  sed -i.bak -e 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in && rm src/glog/logging.h.in.bak
62
62
  sed -i.bak -e 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in && rm src/config.h.in.bak
63
63
 
@@ -144,6 +144,7 @@ def use_react_native! (
144
144
  pod 'React-microtasksnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/microtasks"
145
145
  pod 'React-idlecallbacksnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/idlecallbacks"
146
146
  pod 'React-intersectionobservernativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/intersectionobserver"
147
+ pod 'React-mutationobservernativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/mutationobserver"
147
148
  pod 'React-webperformancenativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/webperformance"
148
149
  pod 'React-domnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/dom"
149
150
  pod 'React-defaultsnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/defaults"
@@ -4,6 +4,7 @@
4
4
  # LICENSE file in the root directory of this source tree.
5
5
 
6
6
  require "json"
7
+ require "pathname"
7
8
  require_relative "./hermes-utils.rb"
8
9
 
9
10
  begin
@@ -74,9 +75,13 @@ Pod::Spec.new do |spec|
74
75
  hermes_compiler_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
75
76
  "require.resolve(\"hermes-compiler\", {paths: [\"#{react_native_path}\"]})", __dir__]).strip
76
77
  )
78
+ hermesc_path = File.join(hermes_compiler_path, 'hermesc', 'osx-bin', 'hermesc')
79
+
80
+ pods_root = Pod::Config.instance.sandbox.root
81
+ relative_hermesc = Pathname.new(hermesc_path).relative_path_from(pods_root)
77
82
 
78
83
  spec.user_target_xcconfig = {
79
- 'HERMES_CLI_PATH' => "#{hermes_compiler_path}/hermesc/osx-bin/hermesc"
84
+ 'HERMES_CLI_PATH' => "$(PODS_ROOT)/#{relative_hermesc}"
80
85
  }
81
86
  end
82
87
 
@@ -236,16 +236,38 @@ def download_stable_hermes(react_native_path, version, configuration)
236
236
  download_hermes_tarball(react_native_path, tarball_url, version, configuration)
237
237
  end
238
238
 
239
+ def shared_cache_dir()
240
+ return File.join(Dir.home, "Library", "Caches", "ReactNative")
241
+ end
242
+
239
243
  def download_hermes_tarball(react_native_path, tarball_url, version, configuration)
240
- destination_path = configuration == nil ?
241
- "#{artifacts_dir()}/hermes-ios-#{version}.tar.gz" :
242
- "#{artifacts_dir()}/hermes-ios-#{version}-#{configuration}.tar.gz"
244
+ filename = configuration == nil ?
245
+ "hermes-ios-#{version}.tar.gz" :
246
+ "hermes-ios-#{version}-#{configuration}.tar.gz"
247
+ destination_path = "#{artifacts_dir()}/#{filename}"
248
+
249
+ if File.exist?(destination_path)
250
+ hermes_log("Tarball #{filename} already exists in Pods. Skipping download.", :info)
251
+ return destination_path
252
+ end
243
253
 
244
- unless File.exist?(destination_path)
254
+ `mkdir -p "#{artifacts_dir()}"`
255
+
256
+ cached_path = File.join(shared_cache_dir(), filename)
257
+ if File.exist?(cached_path)
258
+ hermes_log("Cache hit: copying #{filename} from shared cache (#{shared_cache_dir()})", :info)
259
+ FileUtils.cp(cached_path, destination_path)
260
+ else
261
+ hermes_log("Cache miss: downloading #{filename} from #{tarball_url}", :info)
245
262
  # Download to a temporary file first so we don't cache incomplete downloads.
246
263
  tmp_file = "#{artifacts_dir()}/hermes-ios.download"
247
- `mkdir -p "#{artifacts_dir()}" && curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
264
+ `curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
265
+ # Save to shared cache for future use
266
+ `mkdir -p "#{shared_cache_dir()}"`
267
+ FileUtils.cp(destination_path, cached_path)
268
+ hermes_log("Saved #{filename} to shared cache (#{shared_cache_dir()})", :info)
248
269
  end
270
+
249
271
  return destination_path
250
272
  end
251
273
 
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<67f332fc91b30e629da8919f82044079>>
7
+ * @generated SignedSource<<2731bfb1c14d92e24ccb3ba0976c102a>>
8
8
  * @flow strict
9
9
  * @noformat
10
10
  */
@@ -86,6 +86,7 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
86
86
  enableLayoutAnimationsOnIOS: Getter<boolean>,
87
87
  enableMainQueueCoordinatorOnIOS: Getter<boolean>,
88
88
  enableModuleArgumentNSNullConversionIOS: Getter<boolean>,
89
+ enableMutationObserverByDefault: Getter<boolean>,
89
90
  enableNativeCSSParsing: Getter<boolean>,
90
91
  enableNetworkEventReporting: Getter<boolean>,
91
92
  enablePreparedTextLayout: Getter<boolean>,
@@ -364,6 +365,10 @@ export const enableMainQueueCoordinatorOnIOS: Getter<boolean> = createNativeFlag
364
365
  * Enable NSNull conversion when handling module arguments on iOS
365
366
  */
366
367
  export const enableModuleArgumentNSNullConversionIOS: Getter<boolean> = createNativeFlagGetter('enableModuleArgumentNSNullConversionIOS', false);
368
+ /**
369
+ * Enables the MutationObserver Web API in React Native.
370
+ */
371
+ export const enableMutationObserverByDefault: Getter<boolean> = createNativeFlagGetter('enableMutationObserverByDefault', false);
367
372
  /**
368
373
  * Parse CSS strings using the Fabric CSS parser instead of ViewConfig processing
369
374
  */
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<76ee0fb7c942f84965cece244a891d7f>>
7
+ * @generated SignedSource<<8ef0f9289aa8f259fd110b70a8fd2294>>
8
8
  * @flow strict
9
9
  * @noformat
10
10
  */
@@ -61,6 +61,7 @@ export interface Spec extends TurboModule {
61
61
  +enableLayoutAnimationsOnIOS?: () => boolean;
62
62
  +enableMainQueueCoordinatorOnIOS?: () => boolean;
63
63
  +enableModuleArgumentNSNullConversionIOS?: () => boolean;
64
+ +enableMutationObserverByDefault?: () => boolean;
64
65
  +enableNativeCSSParsing?: () => boolean;
65
66
  +enableNetworkEventReporting?: () => boolean;
66
67
  +enablePreparedTextLayout?: () => boolean;
@@ -47,4 +47,10 @@ export default function setUpDefaltReactNativeEnvironment(
47
47
  ) {
48
48
  require('./setUpIntersectionObserver').default();
49
49
  }
50
+
51
+ if (
52
+ require('../../../src/private/featureflags/ReactNativeFeatureFlags').enableMutationObserverByDefault()
53
+ ) {
54
+ require('./setUpMutationObserver').default();
55
+ }
50
56
  }
@@ -42,7 +42,7 @@ export type MeasureLayoutOnSuccessCallback = (
42
42
  * Note, however, that they are not available on composite components that aren't directly backed by a
43
43
  * native view. This will generally include most components that you define in your own app.
44
44
  * For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
45
- * @see https://github.com/facebook/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
45
+ * @see https://github.com/react/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
46
46
  */
47
47
  export interface LegacyHostInstanceMethods {
48
48
  /**
@@ -41,7 +41,7 @@ declare global {
41
41
  *
42
42
  * global.XMLHttpRequest = global.originalXMLHttpRequest;
43
43
  *
44
- * @see https://github.com/facebook/react-native/issues/934
44
+ * @see https://github.com/react/react-native/issues/934
45
45
  */
46
46
  const originalXMLHttpRequest: any;
47
47
 
@@ -237,7 +237,7 @@ declare global {
237
237
  /**
238
238
  * React Native's implementation of fetch allows this syntax for uploading files from
239
239
  * local filesystem.
240
- * See https://github.com/facebook/react-native/blob/master/Libraries/Network/convertRequestBody.js#L22
240
+ * See https://github.com/react/react-native/blob/master/Libraries/Network/convertRequestBody.js#L22
241
241
  */
242
242
  interface _SourceUri {
243
243
  uri: string;
@@ -73,7 +73,7 @@ Pod::Spec.new do |spec|
73
73
  'folly/portability/*.h',
74
74
  'folly/system/*.h',
75
75
 
76
- # workaround for https://github.com/facebook/react-native/issues/14326
76
+ # workaround for https://github.com/react/react-native/issues/14326
77
77
  spec.preserve_paths = 'folly/*.h',
78
78
  'folly/algorithm/simd/*.h',
79
79
  'folly/algorithm/simd/detail/*.h',
@@ -28,7 +28,7 @@ Pod::Spec.new do |spec|
28
28
  spec.version = version
29
29
  spec.summary = 'React Native Dependencies'
30
30
  spec.description = 'ReactNativeDependencies is a podspec that contains all the third-party dependencies of React Native.'
31
- spec.homepage = 'https://github.com/facebook/react-native'
31
+ spec.homepage = 'https://github.com/react/react-native'
32
32
  spec.license = package['license']
33
33
  spec.authors = 'meta'
34
34
  spec.platforms = min_supported_versions
@@ -27,7 +27,7 @@ Pod::Spec.new do |spec|
27
27
  'src/symbolize.cc',
28
28
  'src/utilities.cc',
29
29
  'src/vlog_is_on.cc'
30
- # workaround for https://github.com/facebook/react-native/issues/14326
30
+ # workaround for https://github.com/react/react-native/issues/14326
31
31
  spec.preserve_paths = 'src/*.h',
32
32
  'src/base/*.h'
33
33
  spec.exclude_files = "src/windows/**/*"
@@ -40,7 +40,7 @@ export type MeasureLayoutOnSuccessCallback = (
40
40
  * Note, however, that they are not available on composite components that aren't directly backed by a
41
41
  * native view. This will generally include most components that you define in your own app.
42
42
  * For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
43
- * @see https://github.com/facebook/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
43
+ * @see https://github.com/react/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
44
44
  */
45
45
  export interface NativeMethods {
46
46
  /**
@@ -123,7 +123,7 @@ export type NativeMethodsMixinType = NativeMethods;
123
123
  /**
124
124
  * Represents a native component, such as those returned from `requireNativeComponent`.
125
125
  *
126
- * @see https://github.com/facebook/react-native/blob/v0.62.0-rc.5/Libraries/Renderer/shims/ReactNativeTypes.js
126
+ * @see https://github.com/react/react-native/blob/v0.62.0-rc.5/Libraries/Renderer/shims/ReactNativeTypes.js
127
127
  *
128
128
  * @todo This should eventually be defined as an AbstractComponent, but that
129
129
  * should first be introduced in the React typings.
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<6770958805f9935f28150e371b774f6c>>
7
+ * @generated SignedSource<<ccca8e1da0d30d12a67984ccadfcc654>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Animated/components/AnimatedScrollView.js
@@ -16,7 +16,7 @@ import * as React from "react";
16
16
  type AnimatedScrollViewInstance = React.ComponentRef<typeof ScrollView>;
17
17
  declare const AnimatedScrollView: AnimatedComponentType<ScrollViewProps, AnimatedScrollViewInstance>;
18
18
  /**
19
- * @see https://github.com/facebook/react-native/commit/b8c8562
19
+ * @see https://github.com/react/react-native/commit/b8c8562
20
20
  */
21
21
  declare const $$AnimatedScrollView: typeof AnimatedScrollView;
22
22
  declare type $$AnimatedScrollView = typeof $$AnimatedScrollView;
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<e274c506268d59995c9056015fe6b381>>
7
+ * @generated SignedSource<<7a4f5715c04a60392f2e9f86b0da8b94>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Components/Button.js
@@ -92,7 +92,7 @@ export type ButtonProps = Readonly<{
92
92
  accessibilityLabel?: string | undefined;
93
93
  /**
94
94
  * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
95
- * https://github.com/facebook/react-native/issues/34424
95
+ * https://github.com/react/react-native/issues/34424
96
96
  */
97
97
  "aria-label"?: string | undefined;
98
98
  /**
@@ -140,7 +140,7 @@ export type ButtonProps = Readonly<{
140
140
  [button:examples].
141
141
 
142
142
  [button:source]:
143
- https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js
143
+ https://github.com/react/react-native/blob/HEAD/Libraries/Components/Button.js
144
144
 
145
145
  [button:examples]:
146
146
  https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<689652b3b22a8a19fec5e1e9cf40117b>>
7
+ * @generated SignedSource<<a8e95754ffbf8677e05e63df239faf23>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Components/TextInput/TextInput.flow.js
@@ -719,7 +719,7 @@ type TextInputBaseProps = Readonly<{
719
719
  * - `borderBottomRightRadius`
720
720
  * - `borderBottomLeftRadius`
721
721
  *
722
- * see [Issue#7070](https://github.com/facebook/react-native/issues/7070)
722
+ * see [Issue#7070](https://github.com/react/react-native/issues/7070)
723
723
  * for more detail.
724
724
  *
725
725
  * [Styles](docs/style.html)
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<a530b14853373cfdc40ec5a2df7cb8a0>>
7
+ * @generated SignedSource<<d632f414daf92e9a1de00d6d4e2f1ffe>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Components/View/ViewAccessibility.js
@@ -223,7 +223,7 @@ export type AccessibilityProps = Readonly<Omit<AccessibilityPropsAndroid, keyof
223
223
  accessibilityHint?: string | undefined;
224
224
  /**
225
225
  * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
226
- * https://github.com/facebook/react-native/issues/34424
226
+ * https://github.com/react/react-native/issues/34424
227
227
  */
228
228
  "aria-label"?: string | undefined;
229
229
  /**
@@ -295,7 +295,7 @@ export type AccessibilityProps = Readonly<Omit<AccessibilityPropsAndroid, keyof
295
295
  accessibilityHint?: string | undefined;
296
296
  /**
297
297
  * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
298
- * https://github.com/facebook/react-native/issues/34424
298
+ * https://github.com/react/react-native/issues/34424
299
299
  */
300
300
  "aria-label"?: string | undefined;
301
301
  /**
@@ -367,7 +367,7 @@ export type AccessibilityProps = Readonly<Omit<AccessibilityPropsAndroid, keyof
367
367
  accessibilityHint?: string | undefined;
368
368
  /**
369
369
  * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
370
- * https://github.com/facebook/react-native/issues/34424
370
+ * https://github.com/react/react-native/issues/34424
371
371
  */
372
372
  "aria-label"?: string | undefined;
373
373
  /**
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<6c3f52d452fe844d027bee1f6d755fa1>>
7
+ * @generated SignedSource<<d55e74e2efd5ee21a5a6947b85b1c69f>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Interaction/PanResponder.js
@@ -103,7 +103,7 @@ import type { GestureResponderEvent } from "../Types/CoreEventTypes";
103
103
  * ### Working Example
104
104
  *
105
105
  * To see it in action, try the
106
- * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)
106
+ * [PanResponder example in RNTester](https://github.com/react/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)
107
107
  */
108
108
 
109
109
  export type PanResponderGestureState = {
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<04d83f009e651f396d99029acaee044b>>
7
+ * @generated SignedSource<<6bde5bbe9e632ac3407d08e6936ee032>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/src/private/types/HostInstance.js
@@ -22,7 +22,7 @@ export type MeasureLayoutOnSuccessCallback = (left: number, top: number, width:
22
22
  * Note, however, that they are not available on composite components that aren't directly backed by a
23
23
  * native view. This will generally include most components that you define in your own app.
24
24
  * For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
25
- * @see https://github.com/facebook/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
25
+ * @see https://github.com/react/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
26
26
  */
27
27
  export interface LegacyHostInstanceMethods {
28
28
  /**