@depup/react-native 0.86.2-depup.0 → 0.87.0-depup.0

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 (1284) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +19 -24
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.js +38 -1
  4. package/Libraries/Animated/AnimatedExports.js +22 -0
  5. package/Libraries/Animated/AnimatedExports.js.flow +1 -1
  6. package/Libraries/Animated/AnimatedImplementation.js +120 -3
  7. package/Libraries/Animated/Easing.js +4 -3
  8. package/Libraries/Animated/NativeAnimatedAllowlist.js +37 -0
  9. package/Libraries/Animated/animations/Animation.js +14 -5
  10. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  11. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  12. package/Libraries/Animated/animations/TimingAnimation.js +9 -0
  13. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  14. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  15. package/Libraries/Animated/nodes/AnimatedColor.js +8 -8
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +106 -0
  17. package/Libraries/Animated/nodes/AnimatedProps.js +27 -3
  18. package/Libraries/Animated/nodes/AnimatedValue.js +8 -0
  19. package/Libraries/Animated/nodes/AnimatedValueXY.js +2 -2
  20. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -9
  21. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -20
  22. package/Libraries/AppDelegate/RCTAppSetupUtils.h +0 -18
  23. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +0 -78
  24. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +18 -21
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.h +5 -41
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +0 -82
  27. package/Libraries/AppDelegate/RCTRootViewFactory.h +4 -1
  28. package/Libraries/AppDelegate/RCTRootViewFactory.mm +3 -101
  29. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
  30. package/Libraries/AppState/AppState.d.ts +4 -1
  31. package/Libraries/AppState/AppState.js +32 -17
  32. package/Libraries/BatchedBridge/MessageQueue.js +42 -51
  33. package/Libraries/BatchedBridge/NativeModules.js +7 -0
  34. package/Libraries/Blob/Blob.js +7 -1
  35. package/Libraries/Blob/FileReader.js +6 -0
  36. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  37. package/Libraries/Blob/URLSearchParams.js.flow +1 -1
  38. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +20 -9
  39. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -43
  40. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +59 -49
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  42. package/Libraries/Components/Button.js +98 -183
  43. package/Libraries/Components/Clipboard/Clipboard.js +5 -0
  44. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +8 -69
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +10 -1
  47. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +2 -0
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +26 -31
  49. package/Libraries/Components/Keyboard/Keyboard.js +23 -60
  50. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +15 -7
  51. package/Libraries/Components/Pressable/Pressable.js +39 -17
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +5 -6
  53. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +4 -4
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +17 -0
  56. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  57. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  58. package/Libraries/Components/RefreshControl/RefreshControl.js +40 -50
  59. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  60. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -8
  61. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  62. package/Libraries/Components/ScrollView/ScrollView.d.ts +55 -43
  63. package/Libraries/Components/ScrollView/ScrollView.js +205 -118
  64. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  65. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  66. package/Libraries/Components/StatusBar/StatusBar.d.ts +7 -54
  67. package/Libraries/Components/StatusBar/StatusBar.js +84 -160
  68. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  69. package/Libraries/Components/Switch/Switch.js +76 -75
  70. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  71. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  72. package/Libraries/Components/TextInput/InputAccessoryView.js +13 -61
  73. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  74. package/Libraries/Components/TextInput/TextInput.d.ts +9 -2
  75. package/Libraries/Components/TextInput/TextInput.flow.js +20 -3
  76. package/Libraries/Components/TextInput/TextInput.js +116 -111
  77. package/Libraries/Components/TextInput/TextInputNativeCommands.js +3 -3
  78. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +25 -19
  79. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  80. package/Libraries/Components/Touchable/Touchable.js +94 -95
  81. package/Libraries/Components/Touchable/TouchableHighlight.js +45 -112
  82. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +13 -25
  83. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -84
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -3
  85. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  86. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  87. package/Libraries/Components/View/View.js +83 -86
  88. package/Libraries/Components/View/ViewAccessibility.d.ts +12 -2
  89. package/Libraries/Components/View/ViewAccessibility.js +17 -6
  90. package/Libraries/Components/View/ViewNativeComponent.js +4 -6
  91. package/Libraries/Components/View/ViewPropTypes.js +65 -13
  92. package/Libraries/Core/InitializeCore.js +9 -1
  93. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  94. package/Libraries/Core/ReactNativeVersion.js +2 -2
  95. package/Libraries/Core/Timers/JSTimers.js +53 -52
  96. package/Libraries/Core/setUpGlobals.js +9 -4
  97. package/Libraries/Core/setUpNavigator.js +7 -2
  98. package/Libraries/Core/setUpReactDevTools.js +0 -118
  99. package/Libraries/Core/setUpXHR.js +6 -2
  100. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  101. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  102. package/Libraries/EventEmitter/NativeEventEmitter.js +29 -0
  103. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -7
  104. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  105. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  106. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  107. package/Libraries/Image/AssetSourceResolver.js +18 -27
  108. package/Libraries/Image/Image.android.js +13 -2
  109. package/Libraries/Image/Image.ios.js +3 -1
  110. package/Libraries/Image/ImageBackground.js +30 -18
  111. package/Libraries/Image/ImageProps.js +116 -117
  112. package/Libraries/Image/ImageSource.d.ts +1 -1
  113. package/Libraries/Image/ImageSource.js +9 -9
  114. package/Libraries/Image/ImageSourceUtils.js +10 -7
  115. package/Libraries/Image/ImageTypes.flow.js +2 -0
  116. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  117. package/Libraries/Image/RCTImageLoader.mm +61 -64
  118. package/Libraries/Image/RCTImageStoreManager.h +0 -2
  119. package/Libraries/Image/React-RCTImage.podspec +1 -1
  120. package/Libraries/Image/RelativeImageStub.js +1 -1
  121. package/Libraries/Image/resolveAssetSource.js +1 -1
  122. package/Libraries/Interaction/PanResponder.js +102 -97
  123. package/Libraries/LayoutAnimation/LayoutAnimation.js +22 -6
  124. package/Libraries/Linking/Linking.js +24 -23
  125. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +6 -17
  127. package/Libraries/Lists/FlatList.js +7 -8
  128. package/Libraries/Lists/SectionList.js +7 -0
  129. package/Libraries/Lists/VirtualizedList.js +3 -0
  130. package/Libraries/Lists/VirtualizedSectionList.js +4 -0
  131. package/Libraries/LogBox/LogBox.js +3 -3
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +2 -2
  134. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +4 -1
  135. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +3 -1
  136. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  137. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +9 -2
  138. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +17 -4
  139. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -1
  140. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -1
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -0
  142. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  143. package/Libraries/LogBox/UI/LogBoxMessage.js +18 -5
  144. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  145. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  146. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  147. package/Libraries/Modal/Modal.d.ts +5 -4
  148. package/Libraries/Modal/Modal.js +71 -37
  149. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  150. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  151. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -0
  152. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  153. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  154. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  155. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  156. package/Libraries/Performance/Systrace.js +36 -0
  157. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  158. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +29 -17
  159. package/Libraries/Pressability/Pressability.js +1 -1
  160. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +4 -0
  161. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  162. package/Libraries/ReactNative/AppContainer-dev.js +3 -1
  163. package/Libraries/ReactNative/AppRegistry.flow.js +1 -0
  164. package/Libraries/ReactNative/AppRegistry.js +15 -11
  165. package/Libraries/ReactNative/AppRegistryImpl.js +57 -11
  166. package/Libraries/ReactNative/DisplayMode.js +1 -1
  167. package/Libraries/ReactNative/FabricUIManager.js +29 -26
  168. package/Libraries/ReactNative/I18nManager.js +20 -0
  169. package/Libraries/ReactNative/UIManager.js +53 -0
  170. package/Libraries/ReactNative/renderApplication.js +1 -1
  171. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -126
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  173. package/Libraries/Renderer/README.md +2 -2
  174. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -36
  175. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  176. package/Libraries/Required/RCTRequired.podspec +1 -1
  177. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  178. package/Libraries/Settings/Settings.ios.js +22 -0
  179. package/Libraries/Share/Share.js +25 -28
  180. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +6 -0
  181. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  182. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  183. package/Libraries/StyleSheet/StyleSheetExports.js +7 -5
  184. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +24 -3
  186. package/Libraries/StyleSheet/StyleSheetTypes.js +34 -6
  187. package/Libraries/StyleSheet/flattenStyle.js +28 -13
  188. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -14
  189. package/Libraries/Text/React-RCTText.podspec +1 -1
  190. package/Libraries/Text/Text.js +12 -9
  191. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  192. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +0 -1
  193. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -1
  194. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +0 -1
  195. package/Libraries/Text/TextProps.js +59 -93
  196. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  197. package/Libraries/TurboModule/RCTExport.js +1 -1
  198. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  199. package/Libraries/Types/CoreEventTypes.d.ts +8 -0
  200. package/Libraries/Types/CoreEventTypes.js +32 -29
  201. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  202. package/Libraries/Utilities/Appearance.d.ts +32 -17
  203. package/Libraries/Utilities/Appearance.js +35 -18
  204. package/Libraries/Utilities/BackHandler.android.js +13 -28
  205. package/Libraries/Utilities/BackHandler.js.flow +18 -2
  206. package/Libraries/Utilities/DevSettings.js +8 -1
  207. package/Libraries/Utilities/Dimensions.js +18 -12
  208. package/Libraries/Utilities/PixelRatio.js +5 -2
  209. package/Libraries/Utilities/Platform.js.flow +4 -0
  210. package/Libraries/Utilities/PlatformTypes.js +77 -0
  211. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  212. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  213. package/Libraries/Utilities/useColorScheme.js +11 -1
  214. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  215. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  216. package/Libraries/Vibration/Vibration.js +14 -11
  217. package/Libraries/vendor/emitter/EventEmitter.js +3 -3
  218. package/README.md +6 -8
  219. package/React/Base/RCTBridge+Private.h +0 -22
  220. package/React/Base/RCTBridge.h +10 -8
  221. package/React/Base/RCTBridge.mm +5 -447
  222. package/React/Base/RCTBridgeDelegate.h +1 -56
  223. package/React/Base/RCTBridgeModule.h +0 -9
  224. package/React/Base/RCTBridgeProxy.h +8 -0
  225. package/React/Base/RCTBridgeProxy.mm +3 -20
  226. package/React/Base/RCTBundleManager.h +0 -3
  227. package/React/Base/RCTBundleManager.m +0 -31
  228. package/React/Base/RCTBundleURLProvider.mm +4 -4
  229. package/React/Base/RCTCallableJSModules.m +0 -18
  230. package/React/Base/RCTConstants.h +1 -0
  231. package/React/Base/RCTConstants.m +1 -0
  232. package/React/Base/RCTConvert.mm +3 -0
  233. package/React/Base/RCTDisplayLink.h +3 -1
  234. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  235. package/React/Base/RCTModuleData.mm +2 -483
  236. package/React/Base/RCTModuleRegistry.m +0 -25
  237. package/React/Base/RCTRootView.m +3 -374
  238. package/React/Base/RCTUtils.h +0 -3
  239. package/React/Base/RCTUtils.mm +17 -27
  240. package/React/Base/RCTVersion.m +2 -2
  241. package/React/Base/RCTViewRegistry.m +1 -29
  242. package/React/Base/Surface/RCTSurface.mm +1 -582
  243. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  244. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +0 -1
  245. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +0 -2
  246. package/React/CoreModules/RCTAlertController.mm +1 -0
  247. package/React/CoreModules/RCTAlertManager.mm +0 -5
  248. package/React/CoreModules/RCTLogBox.mm +0 -11
  249. package/React/CoreModules/RCTLogBoxView.h +0 -3
  250. package/React/CoreModules/RCTLogBoxView.mm +0 -31
  251. package/React/CoreModules/RCTPerfMonitor.mm +0 -2
  252. package/React/CoreModules/RCTStatusBarManager.mm +0 -11
  253. package/React/CoreModules/React-CoreModules.podspec +1 -1
  254. package/React/CxxModule/RCTCxxUtils.h +0 -8
  255. package/React/CxxModule/RCTCxxUtils.mm +0 -17
  256. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +179 -7
  257. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +100 -2
  258. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +373 -119
  259. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  260. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  261. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  262. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +96 -96
  263. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  264. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +211 -212
  265. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  266. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  267. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  268. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  269. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +4 -0
  270. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -0
  271. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +4 -0
  272. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +5 -0
  273. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -1
  274. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +14 -0
  275. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +13 -4
  276. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +12 -26
  277. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +39 -4
  278. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  279. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -5
  280. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +0 -18
  281. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  282. package/React/Fabric/RCTSurfacePresenter.mm +86 -5
  283. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +2 -0
  284. package/React/I18n/RCTLocalizedString.mm +38 -2
  285. package/React/Modules/RCTEventEmitter.m +30 -10
  286. package/React/Modules/RCTI18nUtil.m +3 -1
  287. package/React/Modules/RCTUIManager.mm +0 -1501
  288. package/React/React-RCTFBReactNativeSpec.podspec +2 -2
  289. package/React/React-RCTFabric.podspec +1 -1
  290. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  291. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +27 -0
  292. package/React/Views/RCTModalHostViewController.h +0 -15
  293. package/React/Views/RCTModalHostViewManager.h +0 -24
  294. package/React/Views/RCTShadowView.h +0 -2
  295. package/React/Views/RCTShadowView.m +0 -723
  296. package/React/Views/ScrollView/RCTScrollView.h +0 -81
  297. package/React/Views/ScrollView/RCTScrollableProtocol.h +0 -4
  298. package/React-Core-prebuilt.podspec +45 -17
  299. package/React-Core.podspec +10 -3
  300. package/React.podspec +1 -1
  301. package/ReactAndroid/api/ReactAndroid.api +128 -142
  302. package/ReactAndroid/build.gradle.kts +27 -22
  303. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  304. package/ReactAndroid/gradle.properties +1 -1
  305. package/ReactAndroid/hermes-engine/build.gradle.kts +14 -14
  306. package/ReactAndroid/publish.gradle +5 -5
  307. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  308. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -2
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +4 -6
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -3
  313. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +0 -16
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +15 -2
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  321. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +63 -22
  324. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  326. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  327. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  328. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +50 -47
  329. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  330. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +0 -4
  331. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -10
  332. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +40 -38
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -10
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +0 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +15 -11
  338. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +4 -4
  339. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +7 -13
  340. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +160 -187
  341. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  342. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +30 -66
  343. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -111
  344. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -23
  345. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +12 -24
  346. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +57 -123
  347. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +7 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  349. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -23
  350. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  351. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -4
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +50 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +53 -3
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +2 -77
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +2 -2
  362. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +1 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +9 -4
  364. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +4 -19
  365. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +2 -6
  366. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +47 -10
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -49
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +2 -4
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +27 -27
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +8 -8
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +3 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +6 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +6 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +7 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +0 -3
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -4
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1640 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +6 -6
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1317 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +8 -8
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1309 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +7 -7
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +19 -33
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +8 -6
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +4 -4
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +13 -20
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +7 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +122 -10
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +92 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +3 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +41 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +48 -2
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +361 -15
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/{DrawCommandSpan.kt → CanvasEffectSpan.kt} +3 -4
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +23 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +83 -11
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +6 -2
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +3 -17
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +8 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +7 -8
  435. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +15 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +6 -0
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  441. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  442. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  443. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  444. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  445. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  446. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  447. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  448. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  449. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  450. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +16 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +12 -2
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +4 -4
  454. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  455. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  456. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  457. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +24 -2
  458. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  459. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  460. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -2
  461. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  462. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  463. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +10 -10
  464. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  465. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -15
  466. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -3
  467. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  468. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +69 -153
  469. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +15 -33
  470. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  471. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  472. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  473. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +4 -1
  474. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +8 -0
  475. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +4 -0
  476. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +5 -0
  477. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  478. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  479. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  480. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  481. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  482. package/ReactCommon/React-Fabric.podspec +3 -1
  483. package/ReactCommon/React-FabricComponents.podspec +1 -1
  484. package/ReactCommon/React-FabricImage.podspec +1 -1
  485. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  486. package/ReactCommon/ReactCommon.podspec +3 -13
  487. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  488. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -3
  489. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  490. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  491. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  492. package/ReactCommon/cxxreact/Instance.h +0 -2
  493. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  494. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  495. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  496. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -2
  497. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -30
  498. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  499. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  500. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  501. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  502. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  503. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -79
  504. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  505. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  506. package/{React/CxxLogUtils/RCTDefaultCxxLogFunction.h → ReactCommon/jserrorhandler/ErrorUtils.h} +2 -2
  507. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  508. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +3 -4
  509. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  510. package/ReactCommon/jsi/jsi/hermes-interfaces.h +53 -0
  511. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  512. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +3 -14
  513. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +4 -13
  514. package/ReactCommon/jsinspector-modern/HostAgent.cpp +54 -0
  515. package/ReactCommon/jsinspector-modern/HostTarget.h +0 -7
  516. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +10 -7
  517. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +4 -1
  518. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  519. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +7 -0
  520. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +20 -0
  521. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -0
  522. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  523. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  524. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  525. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  526. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +14 -1
  527. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  528. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +11 -0
  529. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  530. package/ReactCommon/logger/React-logger.podspec +1 -1
  531. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  532. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  533. package/ReactCommon/react/bridging/Bridging.h +1 -0
  534. package/ReactCommon/react/bridging/Convert.h +12 -0
  535. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  536. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  537. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  538. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  539. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  540. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  541. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  542. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  543. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  544. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  545. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  546. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -45
  547. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -56
  548. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +134 -242
  549. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +14 -26
  550. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +20 -44
  551. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +43 -97
  552. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +10 -6
  553. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  554. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -8
  555. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +7 -13
  556. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -0
  557. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -0
  558. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  559. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  560. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -2
  561. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -2
  562. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +4 -0
  563. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -1
  564. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +61 -4
  565. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  566. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +37 -139
  567. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  568. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +6 -0
  569. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  570. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  571. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -1
  572. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +25 -55
  573. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -23
  574. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  575. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +2 -1
  576. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +2 -1
  577. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  578. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +4 -0
  579. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +2 -1
  580. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  581. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  582. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  583. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +2 -1
  584. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  585. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  586. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  587. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +95 -63
  588. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +20 -1
  589. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +7 -10
  590. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +20 -1
  591. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  592. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  593. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +67 -6
  594. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +12 -0
  595. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +25 -13
  596. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +7 -0
  597. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +48 -0
  598. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  599. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  600. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -1
  601. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  602. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +17 -0
  603. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  604. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  605. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  606. package/ReactCommon/react/renderer/attributedstring/conversions.h +29 -1
  607. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  608. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  609. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  610. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  611. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  612. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  613. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  614. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  615. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  616. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  617. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +4 -0
  622. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +5 -0
  623. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -0
  624. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +5 -0
  625. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +235 -352
  626. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +30 -46
  627. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  628. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -10
  629. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  630. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  631. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  632. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  633. package/{Libraries/Text/VirtualText/RCTVirtualTextView.mm → ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp} +4 -6
  634. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  635. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +18 -28
  636. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  637. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  638. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +168 -754
  639. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +0 -9
  640. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +248 -312
  641. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -6
  642. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  643. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +73 -27
  644. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  645. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -11
  646. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +82 -162
  647. package/ReactCommon/react/renderer/components/view/primitives.h +5 -0
  648. package/ReactCommon/react/renderer/components/view/propsConversions.h +74 -42
  649. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +5 -5
  650. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +353 -6
  651. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  652. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +41 -16
  653. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +19 -0
  654. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  655. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -0
  656. package/ReactCommon/react/renderer/core/Props.cpp +8 -39
  657. package/ReactCommon/react/renderer/core/Props.h +63 -13
  658. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  659. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  660. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +11 -27
  661. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  662. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +4 -6
  663. package/ReactCommon/react/renderer/core/RawPropsParser.h +3 -3
  664. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  665. package/ReactCommon/react/renderer/core/propsConversions.h +3 -7
  666. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  667. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  668. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  669. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  670. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  671. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  672. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  673. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  674. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  675. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +17 -0
  676. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  677. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  678. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +123 -33
  679. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +26 -14
  680. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +96 -53
  681. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  682. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  683. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +29 -318
  684. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +105 -33
  685. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -0
  686. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  687. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +11 -3
  688. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  689. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +15 -250
  690. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  691. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  692. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  693. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -1
  694. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  695. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  696. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  697. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  698. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  699. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  700. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  701. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +113 -8
  702. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +14 -6
  703. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -2
  704. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -85
  705. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +0 -6
  706. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  707. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  708. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +4 -2
  709. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +11 -0
  710. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +65 -26
  711. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +193 -1
  712. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +14 -2
  713. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -1
  714. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  715. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +31 -41
  716. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
  717. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  718. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +1 -52
  719. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  720. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +88 -39
  721. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +12 -2
  722. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +10 -0
  723. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  724. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  725. package/ReactCommon/react/runtime/ReactInstance.cpp +79 -64
  726. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  727. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  728. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  729. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  730. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +1 -1
  731. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +47 -30
  732. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  733. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  734. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  735. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  736. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  737. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  738. package/ReactCommon/react/utils/Telemetry.h +0 -13
  739. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  740. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  741. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  742. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  743. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  744. package/ReactCommon/yoga/Yoga.podspec +2 -2
  745. package/ReactCommon/yoga/yoga/YGEnums.cpp +2 -0
  746. package/ReactCommon/yoga/yoga/YGEnums.h +1 -0
  747. package/ReactCommon/yoga/yoga/YGNode.cpp +27 -0
  748. package/ReactCommon/yoga/yoga/YGNode.h +69 -0
  749. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  750. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +283 -10
  751. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  752. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  753. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -0
  754. package/ReactCommon/yoga/yoga/node/Node.cpp +32 -0
  755. package/ReactCommon/yoga/yoga/node/Node.h +33 -0
  756. package/changes.json +5 -13
  757. package/cli.js +3 -182
  758. package/flow/bom.js.flow +42 -42
  759. package/flow/cssom.js.flow +21 -21
  760. package/flow/dom.js.flow +128 -128
  761. package/flow/global.js +6 -0
  762. package/gradle/libs.versions.toml +7 -5
  763. package/index.js +53 -86
  764. package/index.js.flow +53 -23
  765. package/package.json +44 -63
  766. package/react-native.config.js +82 -1
  767. package/scripts/cocoapods/fabric.rb +1 -1
  768. package/scripts/cocoapods/jsengine.rb +1 -1
  769. package/scripts/cocoapods/new_architecture.rb +1 -1
  770. package/scripts/cocoapods/rncore.rb +36 -78
  771. package/scripts/cocoapods/rncore_facades.rb +232 -0
  772. package/scripts/cocoapods/rndependencies.rb +64 -3
  773. package/scripts/cocoapods/rndeps_facades.rb +193 -0
  774. package/scripts/cocoapods/spm.rb +79 -12
  775. package/scripts/cocoapods/utils.rb +7 -9
  776. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +0 -1
  777. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  778. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  779. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -2
  780. package/scripts/hermes/hermes-utils.js +27 -58
  781. package/scripts/ios-configure-glog.sh +1 -1
  782. package/scripts/react-native-xcode.sh +20 -0
  783. package/scripts/react_native_pods.rb +71 -21
  784. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  785. package/scripts/replace-rncore-version.js +57 -86
  786. package/scripts/setup-apple-spm.js +1267 -0
  787. package/scripts/spm/__doc__/rfc-spm-xcframework.md +707 -0
  788. package/scripts/spm/__doc__/spm-autolinking-plugins.md +244 -0
  789. package/scripts/spm/__doc__/spm-header-paths-contract.md +97 -0
  790. package/scripts/spm/__doc__/spm-plugins-assessment.md +128 -0
  791. package/scripts/spm/__doc__/spm-scripts.md +486 -0
  792. package/scripts/spm/autolinking-plugins.js +331 -0
  793. package/scripts/spm/download-spm-artifacts.js +1409 -0
  794. package/scripts/spm/expand-spm-dependencies.js +216 -0
  795. package/scripts/spm/flavored-frameworks.js +1008 -0
  796. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  797. package/scripts/spm/generate-spm-autolinking.js +1888 -0
  798. package/scripts/spm/generate-spm-package.js +302 -0
  799. package/scripts/spm/generate-spm-xcodeproj.js +2266 -0
  800. package/scripts/spm/read-podspec.js +695 -0
  801. package/scripts/spm/scaffold-package-swift.js +1206 -0
  802. package/scripts/spm/spm-pbxproj.js +654 -0
  803. package/scripts/spm/spm-types.js +520 -0
  804. package/scripts/spm/spm-utils.js +645 -0
  805. package/scripts/spm/sync-spm-autolinking.js +160 -0
  806. package/sdks/.hermesv1version +1 -1
  807. package/sdks/hermes-engine/hermes-engine.podspec +9 -39
  808. package/sdks/hermes-engine/hermes-utils.rb +19 -73
  809. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  810. package/sdks/hermes-engine/version.properties +1 -2
  811. package/settings.gradle.kts +0 -43
  812. package/src/asset-registry.js +29 -0
  813. package/src/private/animated/NativeAnimatedHelper.js +45 -21
  814. package/src/private/assets/AssetRegistry.js +52 -0
  815. package/src/private/{specs_DEPRECATED/components → components/activityindicator/specs}/ActivityIndicatorViewNativeComponent.js +5 -5
  816. package/src/private/{specs_DEPRECATED/components → components/debuggingoverlay/specs}/DebuggingOverlayNativeComponent.js +8 -8
  817. package/src/private/{specs_DEPRECATED/components → components/drawerlayoutandroid/specs}/AndroidDrawerLayoutNativeComponent.js +8 -8
  818. package/src/private/{specs_DEPRECATED/components → components/inputaccessoryview/specs}/RCTInputAccessoryViewNativeComponent.js +4 -4
  819. package/src/private/{specs_DEPRECATED/components → components/modal/specs}/RCTModalHostViewNativeComponent.js +4 -9
  820. package/src/private/{specs_DEPRECATED/components → components/progressbarandroid/specs}/ProgressBarAndroidNativeComponent.js +5 -5
  821. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/AndroidSwipeRefreshLayoutNativeComponent.js +7 -7
  822. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/PullToRefreshViewNativeComponent.js +7 -7
  823. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  824. package/src/private/{specs_DEPRECATED/components → components/safeareaview/specs}/RCTSafeAreaViewNativeComponent.js +3 -3
  825. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  826. package/src/private/{specs_DEPRECATED/components → components/scrollview/specs}/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  827. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/AndroidSwitchNativeComponent.js +7 -7
  828. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/SwitchNativeComponent.js +10 -7
  829. package/src/private/{specs_DEPRECATED/components → components/unimplementedview/specs}/UnimplementedNativeViewNativeComponent.js +4 -4
  830. package/src/private/components/virtualcollection/Virtual.js +5 -5
  831. package/src/private/components/virtualcollection/VirtualCollectionView.js +2 -6
  832. package/src/private/components/virtualcollection/column/VirtualColumn.js +1 -1
  833. package/src/private/components/virtualcollection/row/VirtualRow.js +1 -1
  834. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +3 -1
  835. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +4 -4
  836. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +4 -2
  837. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  838. package/src/private/featureflags/ReactNativeFeatureFlags.js +46 -70
  839. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -94
  840. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  841. package/src/private/renderer/events/ReactNativeResponder.js +49 -4
  842. package/src/private/renderer/events/ResponderTouchHistoryStore.js +11 -2
  843. package/src/private/renderer/events/dispatchNativeEvent.js +71 -36
  844. package/src/private/setup/setUpDOM.js +19 -9
  845. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  846. package/src/private/setup/setUpMutationObserver.js +3 -1
  847. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +9 -9
  848. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +24 -24
  849. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +28 -28
  850. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  851. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +45 -25
  852. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  853. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +4 -4
  854. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +8 -6
  855. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +7 -7
  856. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +3 -3
  857. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +2 -2
  858. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +11 -11
  859. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  860. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  861. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +7 -7
  862. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +4 -4
  863. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  864. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +4 -4
  865. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +2 -2
  866. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  867. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +13 -13
  868. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +9 -6
  869. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +6 -6
  870. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  871. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +8 -5
  872. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +5 -5
  873. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  874. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +2 -2
  875. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +6 -6
  876. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +2 -2
  877. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +2 -2
  878. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +5 -5
  879. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +6 -6
  880. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +6 -4
  881. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  882. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +1 -1
  883. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +35 -31
  884. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +2 -2
  885. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +24 -24
  886. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +2 -2
  887. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +3 -3
  888. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +2 -2
  889. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  890. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  891. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  892. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  893. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +3 -3
  894. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +4 -4
  895. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +35 -22
  896. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +4 -4
  897. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +7 -7
  898. package/src/private/types/HostInstance.js +38 -80
  899. package/src/private/viewtransition/specs/NativeViewTransition.js +6 -4
  900. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  901. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  902. package/src/private/webapis/dom/events/CustomEvent.js +1 -1
  903. package/src/private/webapis/dom/events/Event.js +12 -12
  904. package/src/private/webapis/dom/events/EventTarget.js +146 -37
  905. package/src/private/webapis/dom/events/internals/EventInternals.js +36 -0
  906. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +38 -3
  907. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  908. package/src/private/webapis/dom/nodes/ReactNativeElement.js +105 -4
  909. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  910. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +9 -0
  911. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +34 -7
  912. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  913. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +46 -42
  914. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +12 -0
  915. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +4 -2
  916. package/src/private/webapis/dom/oldstylecollections/NodeList.js +10 -0
  917. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -3
  918. package/src/private/webapis/errors/DOMException.js +50 -50
  919. package/src/private/webapis/geometry/DOMRectList.js +12 -0
  920. package/src/private/webapis/geometry/DOMRectList.js.flow +3 -1
  921. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  922. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  923. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  924. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +3 -7
  925. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +5 -5
  926. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  927. package/src/private/webapis/mutationobserver/MutationObserver.js +7 -7
  928. package/src/private/webapis/mutationobserver/MutationRecord.js +12 -0
  929. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +5 -7
  930. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +5 -5
  931. package/src/private/webapis/performance/EventTiming.js +3 -3
  932. package/src/private/webapis/performance/PerformanceEntry.js +3 -3
  933. package/src/private/webapis/performance/PerformanceObserver.js +4 -4
  934. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  935. package/src/private/webapis/performance/UserTiming.js +3 -3
  936. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  937. package/src/private/webapis/performance/specs/NativePerformance.js +26 -20
  938. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  939. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  940. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  941. package/src/react-private-interface.js +145 -0
  942. package/src/react-private-interface.js.flow +48 -0
  943. package/src/setup-env.js +22 -0
  944. package/src/types/globals.d.ts +35 -3
  945. package/src/unstable-internals-do-not-use.d.ts +214 -0
  946. package/src/unstable-internals-do-not-use.js +76 -0
  947. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  948. package/third-party-podspecs/ReactNativeDependencies.podspec +3 -3
  949. package/third-party-podspecs/glog.podspec +1 -1
  950. package/types/index.d.ts +0 -1
  951. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  952. package/types/public/ReactNativeTypes.d.ts +6 -4
  953. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +26 -31
  954. package/types_generated/Libraries/Alert/Alert.d.ts +44 -7
  955. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +2 -2
  956. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +2 -2
  957. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +107 -3
  958. package/types_generated/Libraries/Animated/Easing.d.ts +5 -4
  959. package/types_generated/Libraries/Animated/animations/Animation.d.ts +7 -7
  960. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +5 -5
  961. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +49 -49
  962. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +13 -13
  963. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +3 -3
  964. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  965. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +3 -3
  966. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +4 -4
  967. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +2 -2
  968. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +9 -9
  969. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +3 -3
  970. package/types_generated/Libraries/AppState/AppState.d.ts +41 -22
  971. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +8 -1
  972. package/types_generated/Libraries/Blob/BlobTypes.d.ts +4 -4
  973. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +37 -46
  974. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +92 -43
  975. package/types_generated/Libraries/Components/Button.d.ts +118 -197
  976. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +6 -1
  977. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +44 -63
  978. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +30 -61
  979. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +30 -21
  980. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +41 -17
  981. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +6 -6
  982. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +5 -5
  983. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +18 -1
  984. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +35 -52
  985. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -11
  986. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +212 -88
  987. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +4 -4
  988. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +29 -62
  989. package/types_generated/Libraries/Components/Switch/Switch.d.ts +75 -70
  990. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +16 -65
  991. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +118 -3
  992. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +24 -9
  993. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +18 -18
  994. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +24 -13
  995. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +27 -64
  996. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +18 -6
  997. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +28 -28
  998. package/types_generated/Libraries/Components/View/View.d.ts +13 -9
  999. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +31 -20
  1000. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +1 -2
  1001. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +75 -24
  1002. package/types_generated/Libraries/Core/ExtendedError.d.ts +10 -10
  1003. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +34 -1
  1004. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +4 -1
  1005. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +2 -13
  1006. package/types_generated/Libraries/Image/ImageBackground.d.ts +33 -22
  1007. package/types_generated/Libraries/Image/ImageProps.d.ts +201 -251
  1008. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +6 -5
  1009. package/types_generated/Libraries/Interaction/PanResponder.d.ts +103 -97
  1010. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +18 -7
  1011. package/types_generated/Libraries/Linking/Linking.d.ts +28 -20
  1012. package/types_generated/Libraries/Lists/FlatList.d.ts +17 -18
  1013. package/types_generated/Libraries/Lists/SectionList.d.ts +10 -5
  1014. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +3 -1
  1015. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +3 -1
  1016. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +2 -2
  1017. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +2 -2
  1018. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +2 -2
  1019. package/types_generated/Libraries/LogBox/LogBox.d.ts +4 -1
  1020. package/types_generated/Libraries/Modal/Modal.d.ts +70 -35
  1021. package/types_generated/Libraries/Network/FormData.d.ts +5 -5
  1022. package/types_generated/Libraries/Performance/Systrace.d.ts +11 -1
  1023. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +31 -21
  1024. package/types_generated/Libraries/Pressability/Pressability.d.ts +5 -5
  1025. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +15 -11
  1026. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +5 -5
  1027. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +56 -9
  1028. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +20 -1
  1029. package/types_generated/Libraries/ReactNative/IPerformanceLogger.flow.d.ts +5 -5
  1030. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +6 -22
  1031. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +34 -34
  1032. package/types_generated/Libraries/Share/Share.d.ts +36 -39
  1033. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +7 -1
  1034. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +3 -3
  1035. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +202 -181
  1036. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +3 -3
  1037. package/types_generated/Libraries/Text/Text.d.ts +10 -6
  1038. package/types_generated/Libraries/Text/TextProps.d.ts +57 -102
  1039. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +2 -2
  1040. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +14 -8
  1041. package/types_generated/Libraries/Utilities/Appearance.d.ts +25 -13
  1042. package/types_generated/Libraries/Utilities/BackHandler.d.ts +17 -1
  1043. package/types_generated/Libraries/Utilities/DevSettings.d.ts +9 -2
  1044. package/types_generated/Libraries/Utilities/Dimensions.d.ts +19 -13
  1045. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +6 -3
  1046. package/types_generated/Libraries/Utilities/Platform.d.ts +5 -1
  1047. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +65 -6
  1048. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +5 -5
  1049. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +2 -2
  1050. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +2 -2
  1051. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +12 -2
  1052. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +7 -1
  1053. package/types_generated/Libraries/Vibration/Vibration.d.ts +14 -6
  1054. package/types_generated/index.d.ts +31 -25
  1055. package/types_generated/src/private/assets/AssetRegistry.d.ts +42 -0
  1056. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +5 -5
  1057. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +3 -3
  1058. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +3 -3
  1059. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +7 -7
  1060. package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +5 -5
  1061. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +5 -5
  1062. package/types_generated/src/private/renderer/events/dispatchNativeEvent.d.ts +26 -0
  1063. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +6 -5
  1064. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +7 -7
  1065. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +5 -5
  1066. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +8 -8
  1067. package/types_generated/src/private/types/HostComponent.d.ts +3 -3
  1068. package/types_generated/src/private/types/HostInstance.d.ts +39 -74
  1069. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +2 -2
  1070. package/types_generated/src/private/webapis/dom/events/Event.d.ts +4 -4
  1071. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +8 -8
  1072. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +3 -1
  1073. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +57 -4
  1074. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +3 -1
  1075. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +3 -1
  1076. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +4 -2
  1077. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +3 -1
  1078. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +3 -3
  1079. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +3 -1
  1080. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +3 -1
  1081. package/types_generated/src/react-private-interface.d.ts +33 -0
  1082. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  1083. package/Libraries/Image/AssetRegistry.js +0 -14
  1084. package/Libraries/Image/RCTImageShadowView.h +0 -17
  1085. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  1086. package/Libraries/Image/RCTImageView.h +0 -32
  1087. package/Libraries/Image/RCTImageView.mm +0 -508
  1088. package/Libraries/Image/RCTImageViewManager.h +0 -17
  1089. package/Libraries/Image/RCTImageViewManager.mm +0 -115
  1090. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  1091. package/Libraries/Interaction/InteractionManager.js +0 -189
  1092. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  1093. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  1094. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  1095. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -64
  1096. package/Libraries/Text/RCTTextAttributes.h +0 -107
  1097. package/Libraries/Text/RCTTextAttributes.mm +0 -358
  1098. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  1099. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  1100. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  1101. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  1102. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  1103. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  1104. package/Libraries/Text/Text/RCTTextView.h +0 -34
  1105. package/Libraries/Text/Text/RCTTextView.mm +0 -298
  1106. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  1107. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -97
  1108. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -21
  1109. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -67
  1110. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  1111. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -28
  1112. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  1113. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -367
  1114. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -68
  1115. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -849
  1116. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  1117. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -181
  1118. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  1119. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -24
  1120. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  1121. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  1122. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  1123. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  1124. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  1125. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  1126. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  1127. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -43
  1128. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  1129. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -35
  1130. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  1131. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  1132. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  1133. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  1134. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  1135. package/Libraries/Utilities/SceneTracker.js +0 -42
  1136. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  1137. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  1138. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  1139. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  1140. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -25
  1141. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  1142. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  1143. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  1144. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  1145. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  1146. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  1147. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  1148. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  1149. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -30
  1150. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  1151. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  1152. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  1153. package/React/Base/RCTRootContentView.h +0 -43
  1154. package/React/Base/RCTRootContentView.m +0 -111
  1155. package/React/Base/RCTRootViewInternal.h +0 -28
  1156. package/React/CxxBridge/RCTCxxBridge.mm +0 -1572
  1157. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  1158. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  1159. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  1160. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  1161. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -34
  1162. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  1163. package/React/CxxModule/RCTCxxMethod.h +0 -17
  1164. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  1165. package/React/CxxModule/RCTNativeModule.h +0 -34
  1166. package/React/CxxModule/RCTNativeModule.mm +0 -241
  1167. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  1168. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  1169. package/React/Views/RCTActivityIndicatorView.h +0 -16
  1170. package/React/Views/RCTActivityIndicatorView.m +0 -26
  1171. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  1172. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  1173. package/React/Views/RCTDebuggingOverlayManager.h +0 -17
  1174. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  1175. package/React/Views/RCTModalHostView.h +0 -64
  1176. package/React/Views/RCTModalHostView.m +0 -264
  1177. package/React/Views/RCTModalHostViewController.m +0 -74
  1178. package/React/Views/RCTModalHostViewManager.m +0 -131
  1179. package/React/Views/RCTModalManager.h +0 -22
  1180. package/React/Views/RCTModalManager.m +0 -46
  1181. package/React/Views/RCTRootShadowView.h +0 -35
  1182. package/React/Views/RCTRootShadowView.m +0 -53
  1183. package/React/Views/RCTShadowView+Internal.h +0 -18
  1184. package/React/Views/RCTShadowView+Internal.m +0 -23
  1185. package/React/Views/RCTSwitch.h +0 -22
  1186. package/React/Views/RCTSwitch.m +0 -24
  1187. package/React/Views/RCTSwitchManager.h +0 -17
  1188. package/React/Views/RCTSwitchManager.m +0 -70
  1189. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -24
  1190. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -230
  1191. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -17
  1192. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -47
  1193. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  1194. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  1195. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  1196. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -79
  1197. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  1198. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  1199. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  1200. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -32
  1201. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  1202. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -35
  1203. package/React/Views/ScrollView/RCTScrollContentView.h +0 -19
  1204. package/React/Views/ScrollView/RCTScrollContentView.m +0 -36
  1205. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  1206. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -31
  1207. package/React/Views/ScrollView/RCTScrollView.m +0 -1168
  1208. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -25
  1209. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -202
  1210. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  1211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  1212. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  1213. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +0 -89
  1214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -736
  1215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -221
  1216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -399
  1217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -35
  1218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -346
  1219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -666
  1220. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -147
  1221. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -113
  1222. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  1223. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1838
  1224. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +0 -1646
  1225. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1638
  1226. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -51
  1227. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  1228. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  1229. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -37
  1230. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  1231. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  1232. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -33
  1233. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  1234. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +0 -39
  1235. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  1236. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -49
  1237. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  1238. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  1239. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -928
  1240. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  1241. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  1242. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  1243. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  1244. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  1245. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +0 -23
  1246. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +0 -37
  1247. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -135
  1248. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  1249. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  1250. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  1251. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -78
  1252. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  1253. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  1254. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -168
  1255. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  1256. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  1257. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -134
  1258. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -290
  1259. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -62
  1260. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -39
  1261. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +0 -170
  1262. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +0 -95
  1263. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  1264. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +0 -154
  1265. package/interface.js +0 -21
  1266. package/jest-preset.js +0 -26
  1267. package/rn-get-polyfills.js +0 -13
  1268. package/sdks/.hermesversion +0 -1
  1269. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +0 -13
  1270. package/types/tsconfig.json +0 -15
  1271. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1272. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1273. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1274. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1275. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1276. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -262
  1277. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -117
  1278. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1279. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1280. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1281. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1282. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1283. package/types_generated/tsconfig.test.json +0 -16
  1284. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -0,0 +1,1409 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ /*:: import type {DownloadArgs, ResolvedArtifact, ProcessResult, ArtifactResultEntry} from './spm-types'; */
14
+
15
+ /**
16
+ * download-spm-artifacts.js
17
+ *
18
+ * Downloads the three React Native iOS xcframeworks from Maven, extracts
19
+ * them to a local cache directory, and writes artifacts.json for use by
20
+ * generate-spm-package.js.
21
+ *
22
+ * Supports stable releases, nightlies, and snapshot builds, matching
23
+ * the same resolution logic used by the existing CocoaPods scripts.
24
+ *
25
+ * Artifacts handled:
26
+ * React – react-native-core tarball from Maven
27
+ * ReactNativeDependencies – react-native-dependencies tarball from Maven
28
+ * hermes-engine – hermes-ios tarball from Maven
29
+ *
30
+ * Usage:
31
+ * node scripts/download-spm-artifacts.js [options]
32
+ *
33
+ * Options:
34
+ * --version <ver> RN version. Defaults to version in package.json.
35
+ * Use "nightly" to resolve the latest nightly.
36
+ * --flavor <f> debug (default) or release.
37
+ * --output <dir> Where to write xcframeworks.
38
+ * Default: ~/Library/Caches/ReactNative/spm-artifacts/{version}/{flavor}/
39
+ * (downloaded tarballs are shared with CocoaPods in
40
+ * ~/Library/Caches/ReactNative/; RCT_SKIP_CACHES=1 bypasses.)
41
+ *
42
+ * Per-artifact version overrides (mirrors existing env vars):
43
+ * HERMES_VERSION=<ver|nightly|latest-v1>
44
+ * RN_DEP_VERSION=<ver|nightly>
45
+ * ENTERPRISE_REPOSITORY=<url> Custom Maven mirror (must match Maven structure)
46
+ *
47
+ * Output:
48
+ * <output>/React.xcframework/
49
+ * <output>/ReactNativeDependencies.xcframework/
50
+ * <output>/hermes-engine.xcframework/
51
+ * <output>/artifacts.json ← maps target names to xcframework paths
52
+ */
53
+
54
+ const {
55
+ defaultCacheDir,
56
+ displayPath,
57
+ makeLogger,
58
+ sharedCacheDir,
59
+ } = require('./spm-utils');
60
+ const {execFileSync} = require('child_process');
61
+ const fs = require('fs');
62
+ const path = require('path');
63
+ const stream = require('stream');
64
+ const yargs = require('yargs');
65
+
66
+ const {log, warn, die} = makeLogger('download-spm-artifacts');
67
+
68
+ function parseArgs(argv /*: Array<string> */) /*: DownloadArgs */ {
69
+ const parsed = yargs(argv)
70
+ .version(false)
71
+ .option('version', {
72
+ alias: 'v',
73
+ type: 'string',
74
+ describe:
75
+ 'RN version. Defaults to version in package.json. Use "nightly" to resolve the latest nightly.',
76
+ })
77
+ .option('flavor', {
78
+ type: 'string',
79
+ default: 'debug',
80
+ describe: 'debug or release',
81
+ })
82
+ .option('output', {
83
+ alias: 'o',
84
+ type: 'string',
85
+ describe:
86
+ 'Where to write xcframeworks. Default: ~/Library/Caches/ReactNative/spm-artifacts/{version}/{flavor}/',
87
+ })
88
+ .option('core-tarball', {
89
+ type: 'string',
90
+ describe:
91
+ 'Local React core tarball to use instead of downloading (e.g. the prebuild output). Env fallback: RN_CORE_TARBALL_PATH.',
92
+ })
93
+ .option('headers-tarball', {
94
+ type: 'string',
95
+ describe:
96
+ 'Local ReactNativeHeaders tarball to use instead of downloading. Env fallback: RN_HEADERS_TARBALL_PATH.',
97
+ })
98
+ .option('deps-tarball', {
99
+ type: 'string',
100
+ describe:
101
+ 'Local ReactNativeDependencies tarball to use instead of downloading (e.g. the deps prebuild output). Carries the headers sidecar beside the binary, so this subsumes --deps-headers-tarball for a local build. Env fallback: RN_DEPS_TARBALL_PATH.',
102
+ })
103
+ .option('deps-headers-tarball', {
104
+ type: 'string',
105
+ describe:
106
+ 'Local ReactNativeDependenciesHeaders tarball. Normally unneeded — the sidecar ships inside the ReactNativeDependencies tarball. Env fallback: RN_DEPS_HEADERS_TARBALL_PATH.',
107
+ })
108
+ .usage(
109
+ 'Usage: $0 [options]\n\nDownloads React Native iOS xcframeworks from Maven.',
110
+ )
111
+ .help()
112
+ .parseSync();
113
+
114
+ return {
115
+ version: parsed.version ?? null,
116
+ flavor: parsed.flavor.toLowerCase(),
117
+ output: parsed.output ?? null,
118
+ coreTarball:
119
+ parsed['core-tarball'] ?? process.env.RN_CORE_TARBALL_PATH ?? null,
120
+ headersTarball:
121
+ parsed['headers-tarball'] ?? process.env.RN_HEADERS_TARBALL_PATH ?? null,
122
+ depsTarball:
123
+ parsed['deps-tarball'] ?? process.env.RN_DEPS_TARBALL_PATH ?? null,
124
+ depsHeadersTarball:
125
+ parsed['deps-headers-tarball'] ??
126
+ process.env.RN_DEPS_HEADERS_TARBALL_PATH ??
127
+ null,
128
+ };
129
+ }
130
+
131
+ const MAVEN_RELEASE =
132
+ process.env.ENTERPRISE_REPOSITORY ?? 'https://repo1.maven.org/maven2';
133
+ const MAVEN_SNAPSHOT =
134
+ 'https://central.sonatype.com/repository/maven-snapshots';
135
+
136
+ function rnCoreReleaseUrl(
137
+ version /*: string */,
138
+ flavor /*: string */,
139
+ ) /*: string */ {
140
+ return (
141
+ `${MAVEN_RELEASE}/com/facebook/react/react-native-artifacts/${version}/` +
142
+ `react-native-artifacts-${version}-reactnative-core-${flavor}.tar.gz`
143
+ );
144
+ }
145
+ function rnDepsReleaseUrl(
146
+ version /*: string */,
147
+ flavor /*: string */,
148
+ ) /*: string */ {
149
+ return (
150
+ `${MAVEN_RELEASE}/com/facebook/react/react-native-artifacts/${version}/` +
151
+ `react-native-artifacts-${version}-reactnative-dependencies-${flavor}.tar.gz`
152
+ );
153
+ }
154
+ function hermesReleaseUrl(
155
+ version /*: string */,
156
+ flavor /*: string */,
157
+ ) /*: string */ {
158
+ return (
159
+ `${MAVEN_RELEASE}/com/facebook/hermes/hermes-ios/${version}/` +
160
+ `hermes-ios-${version}-hermes-ios-${flavor}.tar.gz`
161
+ );
162
+ }
163
+
164
+ /**
165
+ * Resolves a Maven snapshot URL by fetching maven-metadata.xml and extracting
166
+ * the latest timestamp+buildNumber. Mirrors computeNightlyTarballURL() in utils.js.
167
+ *
168
+ * @param {string} version Base version without -SNAPSHOT suffix (e.g. "0.85.0")
169
+ * @param {string} subGroup com/facebook/<subGroup>
170
+ * @param {string} coordinate Maven artifact coordinate (e.g. "react-native-artifacts")
171
+ * @param {string} artifactName Classifier part of the filename (e.g. "reactnative-core-debug.tar.gz")
172
+ */
173
+ async function resolveSnapshotUrl(
174
+ version /*: string */,
175
+ subGroup /*: string */,
176
+ coordinate /*: string */,
177
+ artifactName /*: string */,
178
+ ) /*: Promise<string> */ {
179
+ const metadataUrl =
180
+ `${MAVEN_SNAPSHOT}/com/facebook/${subGroup}/${coordinate}/` +
181
+ `${version}-SNAPSHOT/maven-metadata.xml`;
182
+
183
+ log(` Fetching snapshot metadata: ${metadataUrl}`);
184
+ const res = await fetch(metadataUrl);
185
+ if (!res.ok) {
186
+ throw new Error(
187
+ `Failed to fetch snapshot metadata (${res.status}): ${metadataUrl}`,
188
+ );
189
+ }
190
+ const xml = await res.text();
191
+
192
+ const ts = (xml.match(/<timestamp>(.*?)<\/timestamp>/) ?? [])[1];
193
+ const bn = (xml.match(/<buildNumber>(.*?)<\/buildNumber>/) ?? [])[1];
194
+ if (!ts || !bn) {
195
+ throw new Error(
196
+ `Could not parse timestamp/buildNumber from ${metadataUrl}`,
197
+ );
198
+ }
199
+
200
+ const fullVersion = `${version}-${ts}-${bn}`;
201
+ return (
202
+ `${MAVEN_SNAPSHOT}/com/facebook/${subGroup}/${coordinate}/` +
203
+ `${version}-SNAPSHOT/${coordinate}-${fullVersion}-${artifactName}`
204
+ );
205
+ }
206
+
207
+ async function rnCoreSnapshotUrl(
208
+ version /*: string */,
209
+ flavor /*: string */,
210
+ ) /*: Promise<string> */ {
211
+ return resolveSnapshotUrl(
212
+ version,
213
+ 'react',
214
+ 'react-native-artifacts',
215
+ `reactnative-core-${flavor}.tar.gz`,
216
+ );
217
+ }
218
+ async function rnDepsSnapshotUrl(
219
+ version /*: string */,
220
+ flavor /*: string */,
221
+ ) /*: Promise<string> */ {
222
+ return resolveSnapshotUrl(
223
+ version,
224
+ 'react',
225
+ 'react-native-artifacts',
226
+ `reactnative-dependencies-${flavor}.tar.gz`,
227
+ );
228
+ }
229
+ async function hermesSnapshotUrl(
230
+ version /*: string */,
231
+ flavor /*: string */,
232
+ ) /*: Promise<string> */ {
233
+ return resolveSnapshotUrl(
234
+ version,
235
+ 'hermes',
236
+ 'hermes-ios',
237
+ `hermes-ios-${flavor}.tar.gz`,
238
+ );
239
+ }
240
+
241
+ async function resolveNightlyVersion(
242
+ npmPackage /*: string */,
243
+ ) /*: Promise<string> */ {
244
+ log(` Resolving nightly version from npm: ${npmPackage}`);
245
+
246
+ const res = await fetch(`https://registry.npmjs.org/${npmPackage}/nightly`);
247
+ if (!res.ok) {
248
+ throw new Error(`npm lookup failed for ${npmPackage}: ${res.status}`);
249
+ }
250
+ const ver = (await res.json())?.version;
251
+ assertSafeVersion(ver, `${npmPackage}/nightly`);
252
+ log(` Resolved nightly: ${ver}`);
253
+ return ver;
254
+ }
255
+
256
+ // A version string flows into Maven URLs and local tarball filenames (which are
257
+ // then passed to tar/cp via execFileSync). Constrain it to a safe charset so a
258
+ // malformed/hostile registry response can't produce a surprising path or a
259
+ // confusing 404 — and so static analysis sees an explicit sanitizer.
260
+ function assertSafeVersion(
261
+ ver /*: unknown */,
262
+ source /*: string */,
263
+ ) /*: void */ {
264
+ if (typeof ver !== 'string' || !/^[A-Za-z0-9._-]+$/.test(ver)) {
265
+ throw new Error(
266
+ `npm response for ${source} has no usable "version" field (got: ${String(ver)})`,
267
+ );
268
+ }
269
+ }
270
+
271
+ /**
272
+ * Returns the cache-slot key for a given raw version label.
273
+ *
274
+ * Stable versions ('0.80.0', '0.81.0', …) become their own slot.
275
+ * Dev / nightly labels ('1000.0.0', 'nightly') resolve to the current
276
+ * nightly version (e.g. '0.85.0-nightly-20260515-abc') so each published
277
+ * nightly is its own slot — a new nightly invalidates automatically
278
+ * instead of sticking on a stale `1000.0.0` cache forever.
279
+ *
280
+ * If the npm registry lookup fails (offline, transient error), falls back
281
+ * to the raw label so a previously-cached slot under that label can still
282
+ * be used. A subsequent download attempt would surface the real error.
283
+ */
284
+ async function resolveCacheSlotVersion(
285
+ rawVersion /*: string */,
286
+ ) /*: Promise<string> */ {
287
+ if (rawVersion !== '1000.0.0' && rawVersion !== 'nightly') {
288
+ return rawVersion;
289
+ }
290
+ try {
291
+ return await resolveNightlyVersion('react-native');
292
+ } catch {
293
+ return rawVersion;
294
+ }
295
+ }
296
+
297
+ async function resolveLatestV1Version() /*: Promise<string> */ {
298
+ log(' Resolving latest-v1 Hermes from npm...');
299
+ // $FlowFixMe[incompatible-call] global fetch not in Flow stubs
300
+ const res = await fetch(
301
+ 'https://registry.npmjs.org/hermes-compiler/latest-v1',
302
+ );
303
+ if (!res.ok) {
304
+ throw new Error(`npm lookup failed: ${res.status}`);
305
+ }
306
+ const ver = (await res.json())?.version;
307
+ assertSafeVersion(ver, 'hermes-compiler/latest-v1');
308
+ log(` Resolved latest-v1: ${ver}`);
309
+ return ver;
310
+ }
311
+
312
+ async function exists(url /*: string */) /*: Promise<boolean> */ {
313
+ try {
314
+ // $FlowFixMe[incompatible-call] global fetch not in Flow stubs
315
+ const res = await fetch(url, {method: 'HEAD'});
316
+ return res.status === 200;
317
+ } catch {
318
+ return false;
319
+ }
320
+ }
321
+
322
+ /**
323
+ * Returns {url, version} for the React Native core xcframework tarball.
324
+ * Resolution order:
325
+ * 1. Stable release on Maven Central
326
+ * 2. Snapshot build on Sonatype
327
+ */
328
+ async function resolveRNCoreArtifact(
329
+ version /*: string */,
330
+ flavor /*: string */,
331
+ localTarball /*: ?string */,
332
+ ) /*: Promise<ResolvedArtifact> */ {
333
+ // Local-tarball override (--core-tarball / RN_CORE_TARBALL_PATH): use a
334
+ // locally built core tarball (e.g. the prebuild's output) instead of
335
+ // downloading. processArtifact() treats an existing local path as "already
336
+ // downloaded" and always re-extracts it. NOTE: distinct from CocoaPods'
337
+ // RCT_TESTONLY_RNCORE_TARBALL_PATH — that one belongs to pod install.
338
+ if (localTarball != null && localTarball !== '') {
339
+ if (!fs.existsSync(localTarball)) {
340
+ throw new Error(
341
+ `core tarball override is set to ${localTarball} but the file does not exist`,
342
+ );
343
+ }
344
+ log(` Using LOCAL core tarball: ${localTarball}`);
345
+ return {url: localTarball, version: `${version}-local`};
346
+ }
347
+ const releaseUrl = rnCoreReleaseUrl(version, flavor);
348
+ if (await exists(releaseUrl)) {
349
+ log(` Using stable release: ${releaseUrl}`);
350
+ return {url: releaseUrl, version};
351
+ }
352
+ log(` Release not found, trying snapshot...`);
353
+ const snapshotUrl = await rnCoreSnapshotUrl(version, flavor);
354
+ return {url: snapshotUrl, version};
355
+ }
356
+
357
+ /**
358
+ * Returns {url, version} for ReactNativeDependencies.
359
+ * Respects RN_DEP_VERSION env var.
360
+ */
361
+ async function resolveRNDepsArtifact(
362
+ rnVersion /*: string */,
363
+ flavor /*: string */,
364
+ localTarball /*: ?string */,
365
+ ) /*: Promise<ResolvedArtifact> */ {
366
+ // Local-tarball override (--deps-tarball / RN_DEPS_TARBALL_PATH): use a
367
+ // locally built deps tarball (the deps prebuild output) instead of
368
+ // downloading. It carries ReactNativeDependenciesHeaders.xcframework beside
369
+ // the binary, so the existing companion-staging path (COMPANION_XCFRAMEWORKS
370
+ // 'rndeps' -> ReactNativeDependenciesHeaders) supplies the sidecar too — no
371
+ // separate --deps-headers-tarball needed for a local build.
372
+ if (localTarball != null && localTarball !== '') {
373
+ if (!fs.existsSync(localTarball)) {
374
+ throw new Error(
375
+ `deps tarball override is set to ${localTarball} but the file does not exist`,
376
+ );
377
+ }
378
+ log(` Using LOCAL deps tarball: ${localTarball}`);
379
+ return {url: localTarball, version: `${rnVersion}-local`};
380
+ }
381
+ let version = process.env.RN_DEP_VERSION ?? rnVersion;
382
+ if (version === 'nightly') {
383
+ version = await resolveNightlyVersion('react-native');
384
+ }
385
+
386
+ const releaseUrl = rnDepsReleaseUrl(version, flavor);
387
+ if (await exists(releaseUrl)) {
388
+ log(` Using stable release: ${releaseUrl}`);
389
+ return {url: releaseUrl, version};
390
+ }
391
+ log(` Release not found, trying snapshot...`);
392
+ const snapshotUrl = await rnDepsSnapshotUrl(version, flavor);
393
+ return {url: snapshotUrl, version};
394
+ }
395
+
396
+ /**
397
+ * Returns {url, version} for Hermes. Hermes uses its own version space
398
+ * decoupled from React Native's nightly cadence — RN's `hermes-compiler`
399
+ * npm package publishes a `latest-v1` dist-tag that always resolves to a
400
+ * binary that's been built and uploaded to Maven. Our default mirrors RN's
401
+ * CocoaPods prebuild path (see scripts/ios-prebuild/hermes.js):
402
+ *
403
+ * HERMES_VERSION unset → 'latest-v1' dist-tag
404
+ * HERMES_VERSION=latest-v1 → same (explicit)
405
+ * HERMES_VERSION=nightly → hermes-compiler@nightly dist-tag
406
+ * HERMES_VERSION=<literal> → use that version verbatim
407
+ *
408
+ * Note: rnVersion / rawVersion are intentionally not consulted. There is no
409
+ * guarantee a hermes-ios artifact exists for any given RN nightly hash —
410
+ * tying them together produces 404s like #(repro case from spikes/MyApp).
411
+ */
412
+ async function resolveHermesArtifact(
413
+ rnVersion /*: string */,
414
+ flavor /*: string */,
415
+ rawVersion /*: string | null */,
416
+ ) /*: Promise<ResolvedArtifact> */ {
417
+ let version = process.env.HERMES_VERSION ?? 'latest-v1';
418
+
419
+ if (version === 'nightly') {
420
+ version = await resolveNightlyVersion('hermes-compiler');
421
+ } else if (version === 'latest-v1') {
422
+ version = await resolveLatestV1Version();
423
+ }
424
+
425
+ const releaseUrl = hermesReleaseUrl(version, flavor);
426
+ if (await exists(releaseUrl)) {
427
+ log(` Using stable release: ${releaseUrl}`);
428
+ return {url: releaseUrl, version};
429
+ }
430
+ log(` Release not found, trying snapshot...`);
431
+ const snapshotUrl = await hermesSnapshotUrl(version, flavor);
432
+ return {url: snapshotUrl, version};
433
+ }
434
+
435
+ function formatBytes(bytes /*: number */) /*: string */ {
436
+ if (bytes < 1024 * 1024) {
437
+ return `${(bytes / 1024).toFixed(1)} KB`;
438
+ }
439
+ return `${(bytes / 1024 / 1024).toFixed(1)} MB`;
440
+ }
441
+
442
+ function formatSpeed(bytesPerSec /*: number */) /*: string */ {
443
+ if (bytesPerSec < 1024 * 1024) {
444
+ return `${(bytesPerSec / 1024).toFixed(0)} KB/s`;
445
+ }
446
+ return `${(bytesPerSec / 1024 / 1024).toFixed(1)} MB/s`;
447
+ }
448
+
449
+ /**
450
+ * Creates a multi-line progress display that keeps N lines pinned at the
451
+ * bottom of the terminal. Each line is prefixed and truncated to the current
452
+ * terminal width — without truncation, a long line (e.g. a FAILED message
453
+ * carrying a URL) wraps to a second row and `\x1b[2K` only clears the first,
454
+ * leaving stray fragments after the next update.
455
+ */
456
+ function createProgressDisplay(
457
+ lineCount /*: number */,
458
+ prefix /*: string */ = '',
459
+ ) /*: {update: (index: number, text: string) => void} */ {
460
+ let initialized = false;
461
+
462
+ function truncateToWidth(s /*: string */) /*: string */ {
463
+ // $FlowFixMe[prop-missing] columns lives on tty$WriteStream not stream$Writable
464
+ const cols = process.stdout.columns ?? 120;
465
+ const budget = Math.max(10, cols - 1);
466
+ let out = '';
467
+ let visLen = 0;
468
+ let i = 0;
469
+ while (i < s.length) {
470
+ if (s[i] === '\x1b' && s[i + 1] === '[') {
471
+ // CSI escape: forward through the final letter without counting.
472
+ let j = i + 2;
473
+ while (j < s.length && !/[a-zA-Z]/.test(s[j])) j++;
474
+ out += s.slice(i, j + 1);
475
+ i = j + 1;
476
+ } else {
477
+ if (visLen >= budget - 1) return out + '…\x1b[0m';
478
+ out += s[i];
479
+ visLen++;
480
+ i++;
481
+ }
482
+ }
483
+ return out;
484
+ }
485
+
486
+ function update(index /*: number */, text /*: string */) {
487
+ if (!initialized) {
488
+ for (let i = 0; i < lineCount; i++) {
489
+ process.stdout.write('\n');
490
+ }
491
+ initialized = true;
492
+ }
493
+ const moveUp = lineCount - index;
494
+ const line = truncateToWidth(prefix + text);
495
+ process.stdout.write(`\x1b[${moveUp}A\x1b[2K\r${line}\x1b[${moveUp}B\r`);
496
+ }
497
+
498
+ return {update};
499
+ }
500
+
501
+ /*::
502
+ type ProgressCallback = (label: string, downloaded: number, total: number, speed: number, done: boolean, elapsed: number) => void;
503
+ */
504
+
505
+ async function download(
506
+ url /*: string */,
507
+ destPath /*: string */,
508
+ onProgress /*:: ?: ProgressCallback */,
509
+ ) /*: Promise<void> */ {
510
+ if (fs.existsSync(destPath)) {
511
+ log(` Already cached: ${path.basename(destPath)}`);
512
+ return;
513
+ }
514
+
515
+ const tmpPath = destPath + '.download';
516
+ try {
517
+ // $FlowFixMe[incompatible-call] global fetch not in Flow stubs
518
+ const res = await fetch(url);
519
+ if (!res.ok) {
520
+ throw new Error(`HTTP ${res.status} ${res.statusText}: ${url}`);
521
+ }
522
+
523
+ const totalBytes = parseInt(res.headers.get('content-length') ?? '0', 10);
524
+ let downloadedBytes = 0;
525
+ let lastPrintTime = Date.now();
526
+ let lastPrintBytes = 0;
527
+ const startTime = Date.now();
528
+
529
+ const fileStream = fs.createWriteStream(tmpPath);
530
+
531
+ const reportProgress = (final /*: boolean */ = false) => {
532
+ const now = Date.now();
533
+ const elapsed = (now - startTime) / 1000;
534
+ const intervalMs = now - lastPrintTime;
535
+ const intervalBytes = downloadedBytes - lastPrintBytes;
536
+ const speed = intervalMs > 0 ? (intervalBytes / intervalMs) * 1000 : 0;
537
+
538
+ if (onProgress) {
539
+ onProgress(
540
+ path.basename(destPath),
541
+ downloadedBytes,
542
+ totalBytes,
543
+ speed,
544
+ final,
545
+ elapsed,
546
+ );
547
+ } else {
548
+ // Fallback: single-line progress (used when not in parallel mode)
549
+ let line = ` ${formatBytes(downloadedBytes)}`;
550
+ if (totalBytes > 0) {
551
+ const pct = ((downloadedBytes / totalBytes) * 100).toFixed(1);
552
+ line += ` / ${formatBytes(totalBytes)} (${pct}%)`;
553
+ }
554
+ line += ` @ ${formatSpeed(speed)}`;
555
+
556
+ if (final) {
557
+ const totalMb = formatBytes(downloadedBytes);
558
+ const totalSec = elapsed.toFixed(1);
559
+ const avgSpeed =
560
+ elapsed > 0 ? formatSpeed(downloadedBytes / elapsed) : '';
561
+ process.stdout.write(
562
+ `\r Done: ${totalMb} in ${totalSec}s (avg ${avgSpeed}) \n`,
563
+ );
564
+ } else {
565
+ process.stdout.write(`\r${line} `);
566
+ }
567
+ }
568
+
569
+ if (!final) {
570
+ lastPrintTime = now;
571
+ lastPrintBytes = downloadedBytes;
572
+ }
573
+ };
574
+
575
+ if (res.body) {
576
+ // fetch() returns a Web ReadableStream, not a Node.js Readable.
577
+ // Convert it so we can pipe to a file stream and track progress.
578
+ // $FlowFixMe[prop-missing] stream.Readable.fromWeb not in Flow stubs
579
+ const nodeReadable = stream.Readable.fromWeb(res.body);
580
+
581
+ await new Promise((resolve, reject) => {
582
+ let progressInterval;
583
+ try {
584
+ progressInterval = setInterval(() => reportProgress(), 500);
585
+
586
+ nodeReadable
587
+ .on('data', chunk => {
588
+ downloadedBytes += chunk.length;
589
+ })
590
+ .on('error', err => {
591
+ clearInterval(progressInterval);
592
+ reject(err);
593
+ })
594
+ .pipe(fileStream)
595
+ .on('finish', () => {
596
+ clearInterval(progressInterval);
597
+ reportProgress(true);
598
+ resolve();
599
+ })
600
+ .on('error', err => {
601
+ clearInterval(progressInterval);
602
+ reject(err);
603
+ });
604
+ } catch (err) {
605
+ if (progressInterval != null) clearInterval(progressInterval);
606
+ reject(err);
607
+ }
608
+ });
609
+ } else {
610
+ const buf = await res.arrayBuffer();
611
+ downloadedBytes = buf.byteLength;
612
+ fs.writeFileSync(tmpPath, Buffer.from(buf));
613
+ reportProgress(true);
614
+ }
615
+
616
+ fs.renameSync(tmpPath, destPath);
617
+ } catch (err) {
618
+ // Clean up partial .download temp file on failure
619
+ try {
620
+ fs.unlinkSync(tmpPath);
621
+ } catch {
622
+ // temp file may not exist yet
623
+ }
624
+ throw err;
625
+ }
626
+ }
627
+
628
+ /**
629
+ * Extracts a .tar.gz and returns the path to the first .xcframework found.
630
+ */
631
+ function extractXCFramework(
632
+ tarPath /*: string */,
633
+ extractDir /*: string */,
634
+ ) /*: string */ {
635
+ fs.mkdirSync(extractDir, {recursive: true});
636
+ log(` Extracting ${path.basename(tarPath)}...`);
637
+ execFileSync('tar', ['-xzf', tarPath, '-C', extractDir], {stdio: 'pipe'});
638
+
639
+ const found = findFirst(extractDir, name => name.endsWith('.xcframework'), 8);
640
+ if (found == null) {
641
+ throw new Error(`No .xcframework found after extracting ${tarPath}`);
642
+ }
643
+ log(` Found: ${path.relative(extractDir, found)}`);
644
+ return found;
645
+ }
646
+
647
+ function findFirst(
648
+ dir /*: string */,
649
+ predicate /*: (name: string) => boolean */,
650
+ depth /*: number */,
651
+ ) /*: string | null */ {
652
+ if (depth <= 0 || !fs.existsSync(dir)) {
653
+ return null;
654
+ }
655
+ for (const entry of fs.readdirSync(dir, {withFileTypes: true})) {
656
+ // $FlowFixMe[incompatible-type] Dirent.name is string|Buffer in Flow but always string here
657
+ const full /*: string */ = path.join(dir, entry.name);
658
+ // $FlowFixMe[incompatible-type] Dirent.name is string|Buffer in Flow but always string here
659
+ if (predicate(entry.name)) {
660
+ return full;
661
+ }
662
+ if (entry.isDirectory()) {
663
+ const hit = findFirst(full, predicate, depth - 1);
664
+ if (hit != null) {
665
+ return hit;
666
+ }
667
+ }
668
+ }
669
+ return null;
670
+ }
671
+
672
+ /**
673
+ * The hermes-ios tarball ships its public C++ API headers in
674
+ * `destroot/include/hermes` alongside the framework — which extractXCFramework
675
+ * discards (it keeps only the .xcframework). Stage the `hermes/` namespace into
676
+ * `<outputDir>/hermes-headers/hermes` so headers-compose can fold it into
677
+ * ReactNativeHeaders (making `<hermes/hermes.h>` resolve for any RN-linking
678
+ * target). Only `hermes/` is staged — `jsi/` is already vended elsewhere.
679
+ * Best-effort: a tarball without these headers just leaves hermes unavailable.
680
+ */
681
+ function stageHermesHeaders(
682
+ extractDir /*: string */,
683
+ outputDir /*: string */,
684
+ ) /*: void */ {
685
+ let includeDir = path.join(extractDir, 'destroot', 'include');
686
+ if (!fs.existsSync(path.join(includeDir, 'hermes', 'hermes.h'))) {
687
+ // Fall back to locating the include dir wherever it landed in the tarball.
688
+ const hit = findFirst(extractDir, name => name === 'include', 8);
689
+ if (hit != null) {
690
+ includeDir = hit;
691
+ }
692
+ }
693
+ const src = path.join(includeDir, 'hermes');
694
+ if (!fs.existsSync(path.join(src, 'hermes.h'))) {
695
+ log(' Hermes public headers not found in tarball — skipping header stage');
696
+ return;
697
+ }
698
+ const destRoot = path.join(outputDir, 'hermes-headers');
699
+ const dest = path.join(destRoot, 'hermes');
700
+ fs.rmSync(dest, {recursive: true, force: true});
701
+ fs.mkdirSync(destRoot, {recursive: true});
702
+ execFileSync('/bin/cp', ['-R', src, dest], {stdio: 'pipe'});
703
+ log(' Staged Hermes public headers → hermes-headers/hermes');
704
+ }
705
+
706
+ const DEPS_HEADERS_NAME = 'ReactNativeDependenciesHeaders';
707
+
708
+ // Headers-only companion xcframeworks that ship INSIDE another artifact's
709
+ // tarball: the ReactCore tarball carries ReactNativeHeaders.xcframework
710
+ // beside React.xcframework, and the ReactNativeDependencies tarball carries
711
+ // the ReactNativeDependenciesHeaders sidecar beside the binary (the binary is
712
+ // framework-type, so only the LIBRARY-type sidecar can serve the deps
713
+ // namespaces — folly/glog/boost/... — to SwiftPM; ReactNativeHeaders is
714
+ // pure-RN). extractXCFramework keeps only the first xcframework, so
715
+ // companions are staged separately into their own
716
+ // `<outputDir>/<name>.xcframework`.
717
+ const COMPANION_XCFRAMEWORKS /*: {[label: string]: string} */ = {
718
+ 'react-core': 'ReactNativeHeaders',
719
+ rndeps: DEPS_HEADERS_NAME,
720
+ };
721
+
722
+ /**
723
+ * Stages a companion xcframework out of an extract dir. Returns true when
724
+ * staged; false when the tarball predates the companion.
725
+ */
726
+ function stageCompanionXcframework(
727
+ extractDir /*: string */,
728
+ outputDir /*: string */,
729
+ name /*: string */,
730
+ ) /*: boolean */ {
731
+ const src = findFirst(extractDir, n => n === `${name}.xcframework`, 8);
732
+ if (src == null) {
733
+ return false;
734
+ }
735
+ const dest = path.join(outputDir, `${name}.xcframework`);
736
+ fs.rmSync(dest, {recursive: true, force: true});
737
+ fs.renameSync(src, dest);
738
+ log(` Staged companion ${name}.xcframework`);
739
+ return true;
740
+ }
741
+
742
+ /**
743
+ * Self-heal: stage a companion xcframework into an already-extracted slot
744
+ * (the fast path skips extraction, so the companion was never staged).
745
+ * Prefers a CACHED tarball (no network); downloads only as a last resort.
746
+ */
747
+ async function ensureCompanionStaged(
748
+ url /*: string */,
749
+ downloadDir /*: string */,
750
+ sharedTarballName /*: ?string */,
751
+ outputDir /*: string */,
752
+ name /*: string */,
753
+ ) /*: Promise<void> */ {
754
+ const candidates = [
755
+ !/^https?:\/\//.test(url) ? url : null, // local-tarball override
756
+ path.join(downloadDir, url.split('/').pop() ?? ''),
757
+ sharedTarballName != null
758
+ ? path.join(sharedCacheDir(), sharedTarballName)
759
+ : null,
760
+ ].filter(Boolean);
761
+ let tarPath /*: ?string */ = candidates.find(
762
+ p => p != null && fs.existsSync(p),
763
+ );
764
+ if (tarPath == null) {
765
+ if (!/^https?:\/\//.test(url)) {
766
+ return; // local override missing — nothing to recover from
767
+ }
768
+ const localPath = path.join(
769
+ downloadDir,
770
+ url.split('/').pop() ?? 'artifact.tar.gz',
771
+ );
772
+ fs.mkdirSync(downloadDir, {recursive: true});
773
+ await download(url, localPath);
774
+ tarPath = localPath;
775
+ }
776
+ const tmp = path.join(outputDir, `.companion-tmp-${name}`);
777
+ fs.rmSync(tmp, {recursive: true, force: true});
778
+ fs.mkdirSync(tmp, {recursive: true});
779
+ try {
780
+ execFileSync('tar', ['-xzf', tarPath, '-C', tmp], {stdio: 'pipe'});
781
+ stageCompanionXcframework(tmp, outputDir, name);
782
+ } finally {
783
+ fs.rmSync(tmp, {recursive: true, force: true});
784
+ }
785
+ }
786
+
787
+ /**
788
+ * Self-heal: stage Hermes headers into an already-extracted slot (the fast
789
+ * path skips extraction, so the headers were never staged). Prefers a CACHED
790
+ * hermes tarball (no network); downloads only as a last resort so the slot
791
+ * can't get stuck "incomplete" forever. No-op only when the headers can't be
792
+ * obtained at all (e.g. a missing local-tarball override).
793
+ */
794
+ async function ensureHermesHeadersStaged(
795
+ url /*: string */,
796
+ downloadDir /*: string */,
797
+ sharedTarballName /*: ?string */,
798
+ outputDir /*: string */,
799
+ ) /*: Promise<void> */ {
800
+ const candidates = [
801
+ !/^https?:\/\//.test(url) ? url : null, // local-tarball override
802
+ path.join(downloadDir, url.split('/').pop() ?? ''),
803
+ sharedTarballName != null
804
+ ? path.join(sharedCacheDir(), sharedTarballName)
805
+ : null,
806
+ ].filter(Boolean);
807
+ let tarPath /*: ?string */ = candidates.find(
808
+ p => p != null && fs.existsSync(p),
809
+ );
810
+ if (tarPath == null) {
811
+ if (!/^https?:\/\//.test(url)) {
812
+ return; // local override missing — nothing to recover from
813
+ }
814
+ const localPath = path.join(
815
+ downloadDir,
816
+ url.split('/').pop() ?? 'hermes.tar.gz',
817
+ );
818
+ fs.mkdirSync(downloadDir, {recursive: true});
819
+ await download(url, localPath);
820
+ tarPath = localPath;
821
+ }
822
+ const tmp = path.join(outputDir, '.hermes-hdr-tmp');
823
+ fs.rmSync(tmp, {recursive: true, force: true});
824
+ fs.mkdirSync(tmp, {recursive: true});
825
+ try {
826
+ execFileSync('tar', ['-xzf', tarPath, '-C', tmp], {stdio: 'pipe'});
827
+ stageHermesHeaders(tmp, outputDir);
828
+ } finally {
829
+ fs.rmSync(tmp, {recursive: true, force: true});
830
+ }
831
+ }
832
+
833
+ /**
834
+ * Downloads a tarball, extracts the xcframework, and places it directly in
835
+ * the output directory as <xcframeworkName>.xcframework/.
836
+ *
837
+ * SPM binaryTarget(path:) accepts a bare .xcframework directory — no zip or
838
+ * checksum needed for local path-based targets.
839
+ *
840
+ * @param {string} label Internal label (used for log messages)
841
+ * @param {string} xcframeworkName The SPM target name (e.g. "React", "hermes-engine")
842
+ * @param resolvedArtifact {url, version} from resolve*Artifact()
843
+ * @param {string} downloadDir Where to cache downloaded tarballs
844
+ * @param {string} outputDir Where to place the final <name>.xcframework directory
845
+ * @param sharedTarballName Filename in the flat shared cache to reuse/populate
846
+ * (matches CocoaPods' convention), or null to not share.
847
+ */
848
+ async function processArtifact(
849
+ label /*: string */,
850
+ xcframeworkName /*: string */,
851
+ resolvedArtifact /*: ResolvedArtifact */,
852
+ downloadDir /*: string */,
853
+ outputDir /*: string */,
854
+ onProgress /*:: ?: ProgressCallback */,
855
+ sharedTarballName /*:: ?: ?string */,
856
+ ) /*: Promise<ProcessResult> */ {
857
+ const {url, version} = resolvedArtifact;
858
+
859
+ const destXcfwPath = path.join(outputDir, `${xcframeworkName}.xcframework`);
860
+ // Local-tarball override: `url` is an existing local file. Always
861
+ // re-extract (a changed local tarball must win over a previous extraction)
862
+ // and never touch the shared cache.
863
+ const isLocalTarball = !/^https?:\/\//.test(url) && fs.existsSync(url);
864
+ if (isLocalTarball && fs.existsSync(destXcfwPath)) {
865
+ fs.rmSync(destXcfwPath, {recursive: true, force: true});
866
+ }
867
+ if (fs.existsSync(destXcfwPath)) {
868
+ if (onProgress) {
869
+ onProgress(xcframeworkName, 0, 0, 0, true, 0);
870
+ } else {
871
+ log(` Already extracted: ${xcframeworkName}.xcframework`);
872
+ }
873
+ // The xcframework is cached, but a slot from older tooling won't have the
874
+ // Hermes headers staged. Backfill them from a cached tarball (no network).
875
+ if (
876
+ label === 'hermes' &&
877
+ !fs.existsSync(path.join(outputDir, 'hermes-headers', 'hermes'))
878
+ ) {
879
+ try {
880
+ await ensureHermesHeadersStaged(
881
+ url,
882
+ downloadDir,
883
+ sharedTarballName,
884
+ outputDir,
885
+ );
886
+ } catch (e) {
887
+ log(` Hermes header backfill failed (${e.message}) — continuing`);
888
+ }
889
+ }
890
+ // Same for the headers-only companions (ReactNativeHeaders from the core
891
+ // tarball, the ReactNativeDependenciesHeaders sidecar from the deps
892
+ // tarball): backfill into slots extracted by older tooling from the
893
+ // cached tarball.
894
+ const companion = COMPANION_XCFRAMEWORKS[label];
895
+ if (
896
+ companion != null &&
897
+ !fs.existsSync(path.join(outputDir, `${companion}.xcframework`))
898
+ ) {
899
+ try {
900
+ await ensureCompanionStaged(
901
+ url,
902
+ downloadDir,
903
+ sharedTarballName,
904
+ outputDir,
905
+ companion,
906
+ );
907
+ } catch (e) {
908
+ log(` ${companion} backfill failed (${e.message}) — continuing`);
909
+ }
910
+ }
911
+ return {label, version, xcframeworkPath: destXcfwPath, url};
912
+ }
913
+
914
+ // Tarball acquisition: prefer the flat shared cache (~/Library/Caches/
915
+ // ReactNative/<name>) that CocoaPods also populates, so SPM and `pod install`
916
+ // reuse the same download. RCT_SKIP_CACHES=1 bypasses it (mirrors CocoaPods).
917
+ const skipCaches = process.env.RCT_SKIP_CACHES === '1';
918
+ const sharedPath =
919
+ !skipCaches && sharedTarballName != null
920
+ ? path.join(sharedCacheDir(), sharedTarballName)
921
+ : null;
922
+
923
+ const downloadAndCache = async () /*: Promise<string> */ => {
924
+ const tarName = url.split('/').pop() ?? '';
925
+ const localPath = path.join(downloadDir, tarName);
926
+ await download(
927
+ url,
928
+ localPath,
929
+ onProgress
930
+ ? (name, downloaded, total, speed, done, elapsed) =>
931
+ onProgress(xcframeworkName, downloaded, total, speed, done, elapsed)
932
+ : undefined,
933
+ );
934
+ // Best-effort: save into the flat shared cache for future SPM/CocoaPods runs.
935
+ if (sharedPath != null) {
936
+ try {
937
+ fs.mkdirSync(sharedCacheDir(), {recursive: true});
938
+ fs.copyFileSync(localPath, sharedPath);
939
+ } catch {
940
+ // ignore shared-cache write failures
941
+ }
942
+ }
943
+ return localPath;
944
+ };
945
+
946
+ let tarPath /*: string */ = '';
947
+ let fromShared = false;
948
+ if (isLocalTarball) {
949
+ tarPath = url;
950
+ if (onProgress) {
951
+ onProgress(xcframeworkName, 0, 0, 0, true, 0);
952
+ } else {
953
+ log(` Using local tarball: ${url}`);
954
+ }
955
+ } else if (sharedPath != null && fs.existsSync(sharedPath)) {
956
+ // Shared cache hit — skip the download entirely.
957
+ tarPath = sharedPath;
958
+ fromShared = true;
959
+ if (onProgress) {
960
+ onProgress(xcframeworkName, 0, 0, 0, true, 0);
961
+ } else {
962
+ log(` Shared cache hit: ${path.basename(sharedPath)}`);
963
+ }
964
+ } else {
965
+ tarPath = await downloadAndCache();
966
+ }
967
+
968
+ // Extract to a temp dir, rename to the expected name, then move into outputDir
969
+ if (onProgress) {
970
+ onProgress(xcframeworkName, 0, 0, 0, false, 0);
971
+ }
972
+ const tmpExtractDir = path.join(outputDir, '.extract-tmp', label);
973
+ let xcfwPath /*: string */ = '';
974
+ try {
975
+ xcfwPath = extractXCFramework(tarPath, tmpExtractDir);
976
+ } catch (e) {
977
+ // A poisoned shared tarball must not permanently break SPM: drop it and
978
+ // re-download to the local dir once.
979
+ if (fromShared) {
980
+ try {
981
+ fs.rmSync(tarPath, {force: true});
982
+ } catch {}
983
+ tarPath = await downloadAndCache();
984
+ xcfwPath = extractXCFramework(tarPath, tmpExtractDir);
985
+ } else {
986
+ throw e;
987
+ }
988
+ }
989
+
990
+ const actualBasename = path.basename(xcfwPath);
991
+ const expectedBasename = `${xcframeworkName}.xcframework`;
992
+ if (actualBasename !== expectedBasename) {
993
+ const renamed = path.join(tmpExtractDir, expectedBasename);
994
+ fs.renameSync(xcfwPath, renamed);
995
+ fs.renameSync(renamed, destXcfwPath);
996
+ } else {
997
+ fs.renameSync(xcfwPath, destXcfwPath);
998
+ }
999
+
1000
+ // Hermes ships its public headers in the same tarball; stage them next to
1001
+ // the xcframeworks so headers-compose can fold `hermes/` into
1002
+ // ReactNativeHeaders. (Other artifacts have no such headers — no-op.)
1003
+ if (label === 'hermes') {
1004
+ try {
1005
+ stageHermesHeaders(tmpExtractDir, outputDir);
1006
+ } catch (e) {
1007
+ log(` Hermes header staging failed (${e.message}) — continuing`);
1008
+ }
1009
+ }
1010
+
1011
+ // Headers-only companions ship inside the same tarball (ReactNativeHeaders
1012
+ // in the core tarball, the ReactNativeDependenciesHeaders sidecar in the
1013
+ // deps tarball) — stage them as their own artifacts.
1014
+ const companionName = COMPANION_XCFRAMEWORKS[label];
1015
+ if (companionName != null) {
1016
+ if (!stageCompanionXcframework(tmpExtractDir, outputDir, companionName)) {
1017
+ log(
1018
+ ` ${companionName}.xcframework not present in the ${label} tarball (pre-companion artifact)`,
1019
+ );
1020
+ }
1021
+ }
1022
+
1023
+ fs.rmSync(tmpExtractDir, {recursive: true, force: true});
1024
+
1025
+ return {label, version, xcframeworkPath: destXcfwPath, url};
1026
+ }
1027
+
1028
+ async function main(argv /*:: ?: Array<string> */) /*: Promise<void> */ {
1029
+ const args = parseArgs(argv ?? process.argv.slice(2));
1030
+ const rnRoot = path.resolve(__dirname, '../..');
1031
+ const flavor = args.flavor;
1032
+
1033
+ // Resolve base RN version
1034
+ // rawVersion preserves the original --version arg (e.g. 'nightly') before resolution.
1035
+ // It is passed to Hermes resolution so it can independently resolve its nightly.
1036
+ let rawVersion = args.version;
1037
+ let rnVersion = args.version;
1038
+ if (rnVersion == null) {
1039
+ // $FlowFixMe[incompatible-type] JSON.parse returns any
1040
+ const rnPkg /*: {version: string} */ = JSON.parse(
1041
+ fs.readFileSync(path.join(rnRoot, 'package.json'), 'utf8'),
1042
+ );
1043
+ rnVersion = rnPkg.version;
1044
+ }
1045
+ if (rnVersion === '1000.0.0') {
1046
+ log('Detected dev version (1000.0.0), resolving as nightly...');
1047
+ rawVersion = 'nightly';
1048
+ }
1049
+ if (rnVersion === 'nightly' || rnVersion === '1000.0.0') {
1050
+ rnVersion = await resolveNightlyVersion('react-native');
1051
+ }
1052
+ if (rnVersion == null) {
1053
+ die('Could not determine RN version');
1054
+ }
1055
+ // Re-bind to const so Flow keeps the non-null narrowing across the closures
1056
+ // below (let-bound vars are widened across function boundaries).
1057
+ const resolvedRnVersion /*: string */ = rnVersion;
1058
+
1059
+ // Cache key: stable versions slot under their own number. Dev / nightly
1060
+ // labels use the resolved nightly hash (e.g. "0.85.0-nightly-20260515-abc")
1061
+ // so each published nightly is its own slot — picks up new specs and fixes
1062
+ // automatically instead of sticking on a stale "1000.0.0" cache forever.
1063
+ const cacheVersionKey =
1064
+ rawVersion === 'nightly' || rawVersion === '1000.0.0' || rawVersion == null
1065
+ ? resolvedRnVersion
1066
+ : rawVersion;
1067
+ const outputDir =
1068
+ args.output != null
1069
+ ? path.resolve(args.output)
1070
+ : defaultCacheDir(cacheVersionKey, flavor);
1071
+ // Tarballs are cached in a .downloads/ subdirectory to keep them separate
1072
+ // from the extracted .xcframework directories.
1073
+ const downloadDir = path.join(outputDir, '.downloads');
1074
+
1075
+ fs.mkdirSync(outputDir, {recursive: true});
1076
+ fs.mkdirSync(downloadDir, {recursive: true});
1077
+
1078
+ log(`RN version : ${resolvedRnVersion}`);
1079
+ log(`Flavor : ${flavor}`);
1080
+ log(`Output : ${displayPath(outputDir)}`);
1081
+ log('');
1082
+
1083
+ // Download all three artifacts in parallel for faster setup
1084
+ log('Downloading artifacts in parallel...');
1085
+
1086
+ // `sharedName` builds the flat shared-cache filename in the canonical
1087
+ // ~/Library/Caches/ReactNative/ dir, matching the names other RN tooling uses
1088
+ // (CocoaPods' rncore.rb / rndependencies.rb for core+deps, and the hermes
1089
+ // prebuilt tarball name) so SPM and `pod install` reuse the same downloads.
1090
+ // `v` is each artifact's resolved version (RN version for core/deps, the
1091
+ // hermes-ios version for hermes).
1092
+ const artifactSpecs = [
1093
+ {
1094
+ label: 'react-core',
1095
+ name: 'React',
1096
+ resolve: () =>
1097
+ resolveRNCoreArtifact(resolvedRnVersion, flavor, args.coreTarball),
1098
+ // Local overrides skip the shared cache (test artifacts must not
1099
+ // poison the canonical downloads).
1100
+ sharedName:
1101
+ args.coreTarball != null
1102
+ ? null
1103
+ : (v /*: string */) => `reactnative-core-${v}-${flavor}.tar.gz`,
1104
+ },
1105
+ {
1106
+ label: 'rndeps',
1107
+ name: 'ReactNativeDependencies',
1108
+ resolve: () =>
1109
+ resolveRNDepsArtifact(resolvedRnVersion, flavor, args.depsTarball),
1110
+ // Local override skips the shared cache (as with core) so a local deps
1111
+ // build can't poison the canonical downloads.
1112
+ sharedName:
1113
+ args.depsTarball != null
1114
+ ? null
1115
+ : (v /*: string */) =>
1116
+ `reactnative-dependencies-${v}-${flavor}.tar.gz`,
1117
+ },
1118
+ {
1119
+ label: 'hermes',
1120
+ name: 'hermes-engine',
1121
+ resolve: () =>
1122
+ resolveHermesArtifact(resolvedRnVersion, flavor, rawVersion),
1123
+ sharedName: (v /*: string */) => `hermes-ios-${v}-${flavor}.tar.gz`,
1124
+ },
1125
+ ];
1126
+
1127
+ // ReactNativeHeaders is normally staged straight out of the ReactCore
1128
+ // tarball (it ships beside React.xcframework). The override exists for
1129
+ // testing a standalone headers tarball (e.g. the prebuild output at
1130
+ // .build/output/xcframeworks/<flavor>/ReactNativeHeaders.xcframework.tar.gz,
1131
+ // published on Maven under classifier reactnative-headers-<flavor>).
1132
+ const headersTarball = args.headersTarball;
1133
+ if (headersTarball != null && headersTarball !== '') {
1134
+ if (!fs.existsSync(headersTarball)) {
1135
+ die(
1136
+ `headers tarball override is set to ${headersTarball} but the file does not exist`,
1137
+ );
1138
+ }
1139
+ artifactSpecs.push({
1140
+ label: 'rnheaders',
1141
+ name: 'ReactNativeHeaders',
1142
+ resolve: () =>
1143
+ Promise.resolve({
1144
+ url: headersTarball,
1145
+ version: `${resolvedRnVersion}-local`,
1146
+ }),
1147
+ sharedName: null,
1148
+ });
1149
+ }
1150
+
1151
+ // ReactNativeDependenciesHeaders: normally staged straight out of the deps
1152
+ // tarball (the sidecar ships inside it). The override exists for testing a
1153
+ // standalone sidecar tarball (classifier
1154
+ // reactnative-dependencies-headers-<flavor>).
1155
+ const depsHeadersTarball = args.depsHeadersTarball;
1156
+ if (depsHeadersTarball != null && depsHeadersTarball !== '') {
1157
+ if (!fs.existsSync(depsHeadersTarball)) {
1158
+ die(
1159
+ `deps-headers tarball override is set to ${depsHeadersTarball} but the file does not exist`,
1160
+ );
1161
+ }
1162
+ artifactSpecs.push({
1163
+ label: 'rndeps-headers',
1164
+ name: DEPS_HEADERS_NAME,
1165
+ resolve: () =>
1166
+ Promise.resolve({
1167
+ url: depsHeadersTarball,
1168
+ version: `${resolvedRnVersion}-local`,
1169
+ }),
1170
+ sharedName: null,
1171
+ });
1172
+ }
1173
+
1174
+ const progress = createProgressDisplay(
1175
+ artifactSpecs.length,
1176
+ '\x1b[32m[download-spm-artifacts]\x1b[0m ',
1177
+ );
1178
+
1179
+ const makeCallback = (index /*: number */) /*: ProgressCallback */ =>
1180
+ (name, downloaded, total, speed, done, elapsed) => {
1181
+ if (done && downloaded === 0 && total === 0) {
1182
+ progress.update(index, ` ${name}: already cached`);
1183
+ } else if (done) {
1184
+ const avg = elapsed > 0 ? formatSpeed(downloaded / elapsed) : '';
1185
+ progress.update(
1186
+ index,
1187
+ ` ${name}: done ${formatBytes(downloaded)} in ${elapsed.toFixed(1)}s (${avg})`,
1188
+ );
1189
+ } else if (total > 0) {
1190
+ const pct = ((downloaded / total) * 100).toFixed(1);
1191
+ progress.update(
1192
+ index,
1193
+ ` ${name}: ${formatBytes(downloaded)} / ${formatBytes(total)} (${pct}%) @ ${formatSpeed(speed)}`,
1194
+ );
1195
+ } else {
1196
+ progress.update(index, ` ${name}: extracting...`);
1197
+ }
1198
+ };
1199
+
1200
+ const results /*: Array<ArtifactResultEntry> */ = await Promise.all(
1201
+ artifactSpecs.map(async (spec, index) => {
1202
+ try {
1203
+ const artifact = await spec.resolve();
1204
+ progress.update(index, ` ${spec.name}: resolving...`);
1205
+ const sharedTarballName =
1206
+ spec.sharedName != null ? spec.sharedName(artifact.version) : null;
1207
+ const r = await processArtifact(
1208
+ spec.label,
1209
+ spec.name,
1210
+ artifact,
1211
+ downloadDir,
1212
+ outputDir,
1213
+ makeCallback(index),
1214
+ sharedTarballName,
1215
+ );
1216
+ const ok /*: ArtifactResultEntry */ = {
1217
+ name: spec.name,
1218
+ error: undefined,
1219
+ ...r,
1220
+ };
1221
+ return ok;
1222
+ } catch (e) {
1223
+ progress.update(index, ` ${spec.name}: FAILED - ${e.message}`);
1224
+ const failed /*: ArtifactResultEntry */ = {
1225
+ name: spec.name,
1226
+ error: e.message,
1227
+ };
1228
+ return failed;
1229
+ }
1230
+ }),
1231
+ );
1232
+ log('');
1233
+
1234
+ const succeeded = results.filter(r => r.error == null);
1235
+ const failed = results.filter(r => r.error != null);
1236
+
1237
+ log('='.repeat(60));
1238
+ if (succeeded.length > 0) {
1239
+ log('Extracted xcframeworks:');
1240
+ log('');
1241
+ for (const r of succeeded) {
1242
+ if (r.error == null) {
1243
+ log(` ${r.name}`);
1244
+ log(` path: ${displayPath(r.xcframeworkPath)}`);
1245
+ log('');
1246
+ }
1247
+ }
1248
+ }
1249
+ // Abort on ANY failure — every artifact (React, ReactNativeDependencies,
1250
+ // hermes-engine + the headers companions) is required; proceeding with a
1251
+ // partial set would only surface as a confusing build error in Xcode. We
1252
+ // also intentionally do NOT
1253
+ // write artifacts.json when there are failures: the orchestrator uses its
1254
+ // presence as the "already present" signal, so a partial write would mask
1255
+ // the problem and prevent retries.
1256
+ if (failed.length > 0) {
1257
+ log('Failed:');
1258
+ for (const r of failed) {
1259
+ warn(` ${r.name}: ${r.error ?? 'unknown error'}`);
1260
+ }
1261
+ die(
1262
+ `Failed to download ${failed.length} of ${results.length} artifact(s): ` +
1263
+ failed.map(r => r.name).join(', '),
1264
+ );
1265
+ }
1266
+
1267
+ // Write artifacts.json only on full success.
1268
+ const artifactsJson /*: {[string]: {xcframeworkPath: string, url: string}} */ =
1269
+ {};
1270
+ for (const r of succeeded) {
1271
+ if (r.error == null) {
1272
+ artifactsJson[r.name] = {xcframeworkPath: r.xcframeworkPath, url: r.url};
1273
+ }
1274
+ }
1275
+ // The headers-only companions are staged by their parent's extraction (or
1276
+ // by the --headers-tarball / --deps-headers-tarball overrides above, which
1277
+ // already produced entries). A slot without them cannot resolve any
1278
+ // non-React namespace (ReactNativeHeaders) or the <folly/...>-style deps
1279
+ // includes (the sidecar; ReactNativeHeaders is pure-RN) — fail closed
1280
+ // rather than hand Xcode a package graph that breaks with header-not-found
1281
+ // errors much later.
1282
+ const companions = [
1283
+ {
1284
+ name: 'ReactNativeHeaders',
1285
+ parent: 'React',
1286
+ advice:
1287
+ 'The React core tarball predates the headers-spec layout — use a ' +
1288
+ 'matching react-native version, or pass --headers-tarball / ' +
1289
+ 'RN_HEADERS_TARBALL_PATH.',
1290
+ },
1291
+ {
1292
+ name: DEPS_HEADERS_NAME,
1293
+ parent: 'ReactNativeDependencies',
1294
+ advice:
1295
+ 'The ReactNativeDependencies tarball predates the headers sidecar — ' +
1296
+ 'use a matching react-native version, or pass ' +
1297
+ '--deps-headers-tarball / RN_DEPS_HEADERS_TARBALL_PATH.',
1298
+ },
1299
+ ];
1300
+ for (const {name, parent, advice} of companions) {
1301
+ if (artifactsJson[name] != null) {
1302
+ continue;
1303
+ }
1304
+ const companionPath = path.join(outputDir, `${name}.xcframework`);
1305
+ if (!fs.existsSync(companionPath)) {
1306
+ die(`${name}.xcframework is missing from the artifact slot. ${advice}`);
1307
+ }
1308
+ const parentEntry = artifactsJson[parent];
1309
+ artifactsJson[name] = {
1310
+ xcframeworkPath: companionPath,
1311
+ url: parentEntry != null ? parentEntry.url : '',
1312
+ };
1313
+ }
1314
+ const artifactsJsonPath = path.join(outputDir, 'artifacts.json');
1315
+ fs.writeFileSync(
1316
+ artifactsJsonPath,
1317
+ JSON.stringify(artifactsJson, null, 2) + '\n',
1318
+ 'utf8',
1319
+ );
1320
+ log(`Artifact index: ${displayPath(artifactsJsonPath)}`);
1321
+ }
1322
+
1323
+ // Canonical set of xcframework artifacts an SPM slot must provide. The
1324
+ // xcodeproj references them as package products; missing any one surfaces as
1325
+ // "Missing package product" only at Xcode build time. Used by
1326
+ // `setup-apple-spm.js` to validate the cache before skipping a re-download.
1327
+ // ReactNativeHeaders (pure-RN) and ReactNativeDependenciesHeaders (the deps
1328
+ // sidecar) are the two headers-only targets — both required: without the
1329
+ // sidecar no <folly/...>-style include resolves.
1330
+ const REQUIRED_ARTIFACTS = [
1331
+ 'React',
1332
+ 'ReactNativeHeaders',
1333
+ 'ReactNativeDependencies',
1334
+ 'ReactNativeDependenciesHeaders',
1335
+ 'hermes-engine',
1336
+ ];
1337
+
1338
+ /**
1339
+ * Returns null if `artifacts.json` is present, complete (covers every entry
1340
+ * in REQUIRED_ARTIFACTS), and each entry's xcframework dir exists on disk.
1341
+ * Otherwise returns a string describing what's wrong — caller treats that as
1342
+ * "needs re-download". Catches stale partial-write states from older runs
1343
+ * that didn't fail loudly on download errors.
1344
+ */
1345
+ function validateArtifactsCache(
1346
+ artifactsDir /*: string */,
1347
+ ) /*: string | null */ {
1348
+ const artifactsJsonPath = path.join(artifactsDir, 'artifacts.json');
1349
+ if (!fs.existsSync(artifactsJsonPath)) {
1350
+ return `artifacts.json missing in ${artifactsDir}`;
1351
+ }
1352
+ let json /*: {[string]: {xcframeworkPath: string, url: string}} */ = {};
1353
+ try {
1354
+ // $FlowFixMe[unclear-type] JSON.parse returns any
1355
+ const parsed /*: any */ = JSON.parse(
1356
+ fs.readFileSync(artifactsJsonPath, 'utf8'),
1357
+ );
1358
+ json = parsed;
1359
+ } catch (e) {
1360
+ return `artifacts.json is unreadable: ${e.message}`;
1361
+ }
1362
+ for (const name of REQUIRED_ARTIFACTS) {
1363
+ const entry = json[name];
1364
+ if (entry == null) {
1365
+ return `artifacts.json missing entry for "${name}"`;
1366
+ }
1367
+ if (!fs.existsSync(entry.xcframeworkPath)) {
1368
+ return `xcframework for "${name}" not found at ${entry.xcframeworkPath}`;
1369
+ }
1370
+ }
1371
+ // The Hermes public headers must be staged for headers-compose to fold
1372
+ // `<hermes/...>` into ReactNativeHeaders. A slot from older tooling won't
1373
+ // have them — report incomplete so ensureArtifacts re-runs the download
1374
+ // (which, with the xcframeworks already present, only backfills the headers
1375
+ // from the cached tarball — no network re-download).
1376
+ if (!fs.existsSync(path.join(artifactsDir, 'hermes-headers', 'hermes'))) {
1377
+ return 'Hermes public headers not staged (hermes-headers/hermes)';
1378
+ }
1379
+ return null;
1380
+ }
1381
+
1382
+ if (require.main === module) {
1383
+ main().catch(err => {
1384
+ console.error(`\x1b[31m${err.message}\x1b[0m`);
1385
+ process.exitCode = 1;
1386
+ });
1387
+ }
1388
+
1389
+ module.exports = {
1390
+ main,
1391
+ resolveCacheSlotVersion,
1392
+ resolveHermesArtifact,
1393
+ REQUIRED_ARTIFACTS,
1394
+ validateArtifactsCache,
1395
+ // Exposed for unit tests (pure / fetch-stubbable helpers).
1396
+ rnCoreReleaseUrl,
1397
+ rnDepsReleaseUrl,
1398
+ hermesReleaseUrl,
1399
+ resolveSnapshotUrl,
1400
+ resolveNightlyVersion,
1401
+ resolveLatestV1Version,
1402
+ resolveRNCoreArtifact,
1403
+ resolveRNDepsArtifact,
1404
+ exists,
1405
+ formatBytes,
1406
+ formatSpeed,
1407
+ findFirst,
1408
+ extractXCFramework,
1409
+ };