@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,1267 @@
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 {CliConfigJson, SetupArgs} from './spm/spm-types'; */
14
+
15
+ /**
16
+ * setup-apple-spm.js – Entry point for setting up Swift Package Manager support
17
+ * in a React Native app using prebuilt XCFrameworks.
18
+ *
19
+ * Usage (from your app directory):
20
+ * node node_modules/react-native/scripts/setup-apple-spm.js [action] [options]
21
+ * (or `npx react-native spm [action]`)
22
+ *
23
+ * Actions:
24
+ * add Inject SPM packages (package refs, build
25
+ * settings, the Sync build phase) into your
26
+ * existing .xcodeproj, in place. Idempotent.
27
+ * Default on first run. `--deintegrate` first
28
+ * runs `pod deintegrate` + strips React Native
29
+ * from the Podfile (CocoaPods → SPM migration).
30
+ * update Re-run the pipeline and refresh the existing
31
+ * injection. Default once a project is injected.
32
+ * deinit The exact inverse of `add`: surgically remove
33
+ * only what `add` injected (recorded in
34
+ * .spm-injected.json) and drop the marker.
35
+ * scaffold Generate Package.swift for community deps that
36
+ * lack SPM support.
37
+ * sync / codegen / download Advanced/internal: `sync` is invoked by the
38
+ * generated Xcode build phase; `codegen` and
39
+ * `download` run a single pipeline step.
40
+ *
41
+ * Zero-arg `npx react-native spm` auto-detects: a freshly-scaffolded CocoaPods
42
+ * project (clean tree, stock Podfile) → `add --deintegrate`; an injected
43
+ * project → `update`; otherwise → `add` (fails loud on a CocoaPods project,
44
+ * directing you to `--deintegrate`).
45
+ *
46
+ * Options:
47
+ * --version <ver> React Native version (default: the resolved
48
+ * node_modules/react-native version).
49
+ * --yes Skip the dirty-pbxproj confirmation prompt.
50
+ * [add] --xcodeproj <path> Which .xcodeproj to inject into (when several).
51
+ * [add] --product-name <name> Which app target to inject into (when several).
52
+ * [add] --deintegrate Run `pod deintegrate` + strip RN from the
53
+ * Podfile before injecting.
54
+ * [advanced] --artifacts <path> Local two-flavor artifact root;
55
+ * must contain debug/ and release/ cache slots.
56
+ * [advanced] --download <auto|skip|force> Artifact policy (default: auto).
57
+ * [advanced] --skip-codegen Skip the react-native codegen step.
58
+ * [advanced] --config-command <json> Override the autolinking config command.
59
+ *
60
+ * Steps performed (add/update):
61
+ * 1. react-native codegen → build/generated/ios/ + install SPM codegen template
62
+ * 2. generate-spm-autolinking-config.js → build/generated/autolinking/autolinking.json
63
+ * 3. generate-spm-autolinking.js → build/generated/autolinking/Package.swift
64
+ * 4. download-spm-artifacts.js → cache dir (per --download policy)
65
+ * 5. generate-spm-package.js → build/xcframeworks/Package.swift + symlinks
66
+ * 6. inject SPM packages into the existing .xcodeproj (in place)
67
+ *
68
+ * The injection is committed with your project; its XCLocalSwiftPackageReference
69
+ * entries point at stable sub-package paths under build/ (xcframeworks,
70
+ * generated/autolinking, generated/ios), so adding/removing community deps
71
+ * changes those sub-packages (gitignored) and never re-injects. No app-level
72
+ * Package.swift is generated or required.
73
+ */
74
+
75
+ const {
76
+ main: downloadArtifacts,
77
+ resolveCacheSlotVersion,
78
+ validateArtifactsCache,
79
+ } = require('./spm/download-spm-artifacts');
80
+ const {finalizeArtifactPublication} = require('./spm/flavored-frameworks');
81
+ const {
82
+ MissingManifestError,
83
+ main: generateAutolinking,
84
+ } = require('./spm/generate-spm-autolinking');
85
+ const {
86
+ generateAutolinkingConfig,
87
+ parseConfigCommandJson,
88
+ readEnvConfigCommand,
89
+ resolveEnvConfigCommand,
90
+ } = require('./spm/generate-spm-autolinking-config');
91
+ const {main: generatePackage} = require('./spm/generate-spm-package');
92
+ const {findSourcePath} = require('./spm/generate-spm-package');
93
+ const {
94
+ SPM_INJECTED_MARKER,
95
+ cleanupDanglingJavaScriptCoreRef,
96
+ cleanupLeftoverPodsGroup,
97
+ findInjectedXcodeproj,
98
+ injectSpmIntoExistingXcodeproj,
99
+ readPinnedConfigCommand,
100
+ removeSpmInjection,
101
+ } = require('./spm/generate-spm-xcodeproj');
102
+ const {scaffoldAll} = require('./spm/scaffold-package-swift');
103
+ const {
104
+ RemoteVersionError,
105
+ buildPerAppHeaderTree,
106
+ defaultCacheDir,
107
+ deriveAppName,
108
+ displayPath,
109
+ findProjectRoot,
110
+ installSpmCodegenTemplate,
111
+ makeLogger,
112
+ readPackageJson,
113
+ remotePackageConfig,
114
+ runCodegenAndInstallTemplate,
115
+ } = require('./spm/spm-utils');
116
+ const {execFileSync} = require('child_process');
117
+ const fs = require('fs');
118
+ const path = require('path');
119
+ const readline = require('readline');
120
+ const yargs = require('yargs');
121
+
122
+ const {log, warn: logError} = makeLogger('setup-apple-spm');
123
+
124
+ const VALID_ACTIONS = new Set([
125
+ 'add',
126
+ 'update',
127
+ 'deinit',
128
+ 'sync',
129
+ 'codegen',
130
+ 'download',
131
+ 'scaffold',
132
+ ]);
133
+
134
+ /*::
135
+ type AutolinkingConfigResult = {
136
+ config: CliConfigJson,
137
+ outputPath: string,
138
+ rawJson: string,
139
+ };
140
+ */
141
+
142
+ function parseArgs(argv /*: Array<string> */) /*: SetupArgs */ {
143
+ const parsed = yargs(argv)
144
+ .version(false)
145
+ .command('$0 [action]', 'Set up Apple SPM support')
146
+ .positional('action', {
147
+ type: 'string',
148
+ choices: Array.from(VALID_ACTIONS),
149
+ describe:
150
+ 'Action to run: add, update, deinit, or scaffold. ' +
151
+ 'Defaults to add (or update if SPM is already set up).',
152
+ })
153
+ .option('version', {
154
+ type: 'string',
155
+ describe:
156
+ 'React Native version (e.g. 0.80.0). Defaults to the version in node_modules/react-native/package.json',
157
+ })
158
+ .option('yes', {
159
+ type: 'boolean',
160
+ default: false,
161
+ describe: 'Skip the dirty-pbxproj confirmation prompt',
162
+ })
163
+ .option('xcodeproj', {
164
+ type: 'string',
165
+ describe:
166
+ '[add] Path to the .xcodeproj to inject SPM packages into (disambiguates when several exist).',
167
+ })
168
+ .option('product-name', {
169
+ type: 'string',
170
+ describe:
171
+ '[add] App target to inject into (disambiguates when several exist).',
172
+ })
173
+ .option('deintegrate', {
174
+ type: 'boolean',
175
+ default: false,
176
+ describe:
177
+ '[add] Run `pod deintegrate` + strip React Native from the Podfile before injecting (CocoaPods → SPM migration).',
178
+ })
179
+ .option('artifacts', {
180
+ type: 'string',
181
+ describe:
182
+ '[advanced] Local artifact root containing complete debug/ and release/ cache slots.',
183
+ })
184
+ .option('download', {
185
+ type: 'string',
186
+ choices: ['auto', 'skip', 'force'],
187
+ default: 'auto',
188
+ describe:
189
+ '[advanced] Artifact download policy: auto (fetch if missing), skip (never fetch), force (clear cache + refetch).',
190
+ })
191
+ .option('skip-codegen', {
192
+ type: 'boolean',
193
+ default: false,
194
+ describe: '[advanced] Skip the react-native codegen step',
195
+ })
196
+ .option('config-command', {
197
+ type: 'string',
198
+ describe:
199
+ '[advanced] JSON array of the argv used to generate autolinking.json, overriding the default @react-native-community/cli config command. Also settable via RCT_SPM_AUTOLINKING_CONFIG_COMMAND. Either way `add`/`update` remembers the value in .spm-injected.json, so later runs and Xcode builds reuse it. Example: \'["npx","expo-modules-autolinking","react-native-config","--json","--platform","ios"]\'',
200
+ })
201
+ .usage(
202
+ 'Usage: $0 [action] [options]\n\nSets up Swift Package Manager support in a React Native app.',
203
+ )
204
+ .strictOptions()
205
+ .help()
206
+ .parseSync();
207
+
208
+ const positional = parsed._.map(String);
209
+ const requestedAction = parsed.action ?? positional[0] ?? null;
210
+ if (positional.length > 1) {
211
+ throw new Error(
212
+ `Expected at most one action, got: ${positional.join(', ')}`,
213
+ );
214
+ }
215
+ if (requestedAction != null && !VALID_ACTIONS.has(requestedAction)) {
216
+ throw new Error(
217
+ `Unknown action "${requestedAction}". Expected one of: ${Array.from(
218
+ VALID_ACTIONS,
219
+ ).join(', ')}`,
220
+ );
221
+ }
222
+
223
+ return {
224
+ action: requestedAction,
225
+ version: parsed.version ?? null,
226
+ artifacts: parsed.artifacts ?? null,
227
+ skipCodegen: parsed['skip-codegen'],
228
+ configCommand:
229
+ parsed['config-command'] != null
230
+ ? parseConfigCommandJson(parsed['config-command'], '--config-command')
231
+ : null,
232
+ downloadPolicy: parsed.download,
233
+ productName: parsed['product-name'] ?? null,
234
+ xcodeprojPath: parsed.xcodeproj ?? null,
235
+ deintegrate: parsed.deintegrate,
236
+ yes: parsed.yes,
237
+ };
238
+ }
239
+
240
+ const SPM_GITIGNORE_ENTRIES = [
241
+ 'Package.resolved',
242
+ 'build/generated/',
243
+ 'build/xcframeworks/',
244
+ '.build/',
245
+ ];
246
+
247
+ /**
248
+ * Ensure the project's .gitignore contains entries for SPM-generated
249
+ * directories. Called during init so that generated artifacts are not
250
+ * accidentally committed.
251
+ */
252
+ function ensureGitignoreSpmEntries(appRoot /*: string */) {
253
+ const gitignorePath = path.join(appRoot, '.gitignore');
254
+ let content = '';
255
+ if (fs.existsSync(gitignorePath)) {
256
+ content = fs.readFileSync(gitignorePath, 'utf8');
257
+ }
258
+
259
+ const existingEntries = new Set(content.split('\n').map(l => l.trim()));
260
+ const missing = SPM_GITIGNORE_ENTRIES.filter(e => !existingEntries.has(e));
261
+
262
+ if (missing.length === 0) {
263
+ return;
264
+ }
265
+
266
+ const block = [
267
+ '',
268
+ '# SPM – auto-generated at build time (do not commit)',
269
+ ...missing,
270
+ ].join('\n');
271
+
272
+ // Append, ensuring we start on a fresh line
273
+ const separator = content.length > 0 && !content.endsWith('\n') ? '\n' : '';
274
+ fs.writeFileSync(gitignorePath, content + separator + block + '\n', 'utf8');
275
+ log(`Updated .gitignore with SPM entries: ${missing.join(', ')}`);
276
+ }
277
+
278
+ /**
279
+ * Single TTY-gated Y/N prompt helper used by every interactive confirmation
280
+ * in this file. Non-TTY (CI / piped stdin) auto-confirms — every callsite
281
+ * either opted into the action explicitly or is downstream of an opt-in.
282
+ */
283
+ function promptYesNo(
284
+ question /*: string */,
285
+ defaultYes /*: boolean */,
286
+ ) /*: Promise<boolean> */ {
287
+ // $FlowFixMe[prop-missing] process.stdin.isTTY not in Flow stubs
288
+ if (process.stdin.isTTY !== true) {
289
+ return Promise.resolve(true);
290
+ }
291
+ const suffix = defaultYes ? '[Y/n]' : '[y/N]';
292
+ return new Promise(resolve => {
293
+ const rl = readline.createInterface({
294
+ input: process.stdin,
295
+ output: process.stdout,
296
+ });
297
+ rl.question(`${question} ${suffix} `, answer => {
298
+ rl.close();
299
+ const a = answer.trim().toLowerCase();
300
+ const yes = a === 'y' || a === 'yes';
301
+ resolve(defaultYes ? a === '' || yes : yes);
302
+ });
303
+ });
304
+ }
305
+
306
+ function resolveAction(
307
+ requestedAction /*: SetupArgs['action'] */,
308
+ appRoot /*: string */,
309
+ ) /*: 'add' | 'update' | 'deinit' | 'sync' | 'codegen' | 'download' | 'scaffold' */ {
310
+ if (requestedAction != null) {
311
+ return requestedAction;
312
+ }
313
+ // Zero-arg default. Once SPM has been injected, default to `update` (regen +
314
+ // refresh). Otherwise it's a first run → `add`. Whether `add` should imply
315
+ // `--deintegrate` (fresh CocoaPods project) is decided by the safe-gate in
316
+ // main(), which only applies on this implicit path.
317
+ return findInjectedXcodeproj(appRoot) != null ? 'update' : 'add';
318
+ }
319
+
320
+ /**
321
+ * Detects the JS-root-vs-ios-dir mismatch that produces silently-broken
322
+ * builds for standard RN apps. The community CLI writes
323
+ * `autolinking.json` under `<project.ios.sourceDir>/build/generated/autolinking/`
324
+ * (i.e. `<projectRoot>/ios/...`), while every SPM script anchors its
325
+ * inputs/outputs on `process.cwd()`. Running from the JS root therefore
326
+ * (a) writes outputs at `<projectRoot>/build/...` — away from the iOS
327
+ * project, and (b) makes the autolinker miss `autolinking.json` and
328
+ * silently skip every npm native dep. The build "succeeds" but anything
329
+ * touching a native module crashes at runtime.
330
+ *
331
+ * Returns the absolute path to the redirected app root (`<projectRoot>/ios`)
332
+ * when the redirect heuristic applies, else null. Pure: no side effects.
333
+ * The caller decides whether to auto-redirect (non-destructive actions) or
334
+ * refuse (destructive actions like `clean`).
335
+ */
336
+ function detectStandardRnLayoutRedirect(
337
+ appRoot /*: string */,
338
+ projectRoot /*: string */,
339
+ ) /*: string | null */ {
340
+ // Only relevant when cwd === projectRoot (i.e. user is at the JS root
341
+ // of their RN app). If they've already cd'd into a subdir, projectRoot
342
+ // walks up to find package.json and the two paths differ — leave alone.
343
+ if (path.resolve(appRoot) !== path.resolve(projectRoot)) {
344
+ return null;
345
+ }
346
+ // Standard RN layout has an `ios/` subdir holding the native project.
347
+ // Without it (e.g. rn-tester's flat layout), no mismatch to flag.
348
+ const iosSubdir = path.join(projectRoot, 'ios');
349
+ try {
350
+ if (!fs.statSync(iosSubdir).isDirectory()) {
351
+ return null;
352
+ }
353
+ } catch {
354
+ return null;
355
+ }
356
+ return iosSubdir;
357
+ }
358
+
359
+ function resolveReactNativeRoot(
360
+ autolinkingConfigResult /*: ?AutolinkingConfigResult */,
361
+ projectRoot /*: string */,
362
+ ) /*: string */ {
363
+ // Prefer the React Native path resolved by the CLI config we already run for
364
+ // autolinking. Fall back to this script's package root for direct repo usage.
365
+ let reactNativeRoot = path.resolve(__dirname, '..');
366
+ const cliConfig = autolinkingConfigResult?.config;
367
+ const cliReactNativePath = cliConfig?.reactNativePath;
368
+ const cliConfigRoot = cliConfig?.root;
369
+ if (typeof cliReactNativePath === 'string' && cliReactNativePath.length > 0) {
370
+ reactNativeRoot = path.resolve(
371
+ typeof cliConfigRoot === 'string' && cliConfigRoot.length > 0
372
+ ? cliConfigRoot
373
+ : projectRoot,
374
+ cliReactNativePath,
375
+ );
376
+ }
377
+ return reactNativeRoot;
378
+ }
379
+
380
+ function determineVersion(
381
+ args /*: SetupArgs */,
382
+ reactNativeRoot /*: string */,
383
+ ) /*: string */ {
384
+ let version = args.version;
385
+ if (version == null) {
386
+ // $FlowFixMe[incompatible-type] JSON.parse returns any
387
+ const pkgJson /*: {version: string} */ = JSON.parse(
388
+ fs.readFileSync(path.join(reactNativeRoot, 'package.json'), 'utf8'),
389
+ );
390
+ version = pkgJson.version;
391
+ }
392
+ return version;
393
+ }
394
+
395
+ function runCodegenStep(
396
+ projectRoot /*: string */,
397
+ appRoot /*: string */,
398
+ reactNativeRoot /*: string */,
399
+ skipCodegen /*: boolean */,
400
+ ) /*: void */ {
401
+ if (skipCodegen) {
402
+ // Output dir may already exist from a previous run; still refresh the
403
+ // SPM template so cache-slot changes propagate.
404
+ log('Skipping codegen (--skip-codegen)');
405
+ installSpmCodegenTemplate(appRoot, reactNativeRoot, {log});
406
+ return;
407
+ }
408
+ log('Running react-native codegen...');
409
+ try {
410
+ runCodegenAndInstallTemplate(projectRoot, appRoot, reactNativeRoot, {log});
411
+ } catch {
412
+ logError('Codegen failed. Continuing anyway...');
413
+ }
414
+ }
415
+
416
+ /**
417
+ * Walks autolinking.json and writes a Package.swift into each community RN
418
+ * package that ships a podspec but no SPM manifest. Reuses the dep's
419
+ * podspec (via `pod ipc spec` when available) so the scaffolded file
420
+ * captures the dep's actual sources, header search paths, frameworks, and
421
+ * dependencies. Files carrying the scaffolder's own marker are regenerated
422
+ * when the cache slot changes (manifest-hash bump); files without the
423
+ * marker are left alone (upstream-shipped or user-managed).
424
+ *
425
+ * Runs as part of `init` / `update` / `scaffold` actions. Each invocation
426
+ * is a no-op for deps already in a clean state.
427
+ */
428
+ // Scaffolding is an EXPLICIT, manual step (`npx react-native spm scaffold`) and
429
+ // is NEVER run automatically by init/update/sync. A missing Package.swift is a
430
+ // real gap that must surface as a hard build error (see reportMissingManifests)
431
+ // so the user fixes it deliberately: scaffold, then persist with patch-package
432
+ // (node_modules is not committed), and ideally get it fixed upstream. There is
433
+ // intentionally no prompt and no auto-restore — auto-scaffolding would hide the
434
+ // error, and a wiped scaffold SHOULD re-surface it.
435
+ async function runScaffold(
436
+ args /*: SetupArgs */,
437
+ appRoot /*: string */,
438
+ projectRoot /*: string */,
439
+ reactNativeRoot /*: string */,
440
+ ) /*: Promise<void> */ {
441
+ // Resolve the cache slot identifier so the scaffolded files carry it as
442
+ // a comment — that's how SPM's manifest hash bumps on slot transitions.
443
+ let cacheSlotLabel /*: ?string */ = null;
444
+ try {
445
+ const rawVersion = args.version ?? determineVersion(args, reactNativeRoot);
446
+ const slotVersion = await resolveCacheSlotVersion(rawVersion);
447
+ cacheSlotLabel = `${slotVersion}/dual-flavor`;
448
+ } catch {
449
+ // Without a slot label the scaffolder still works; the file just
450
+ // doesn't get the slot-bump comment.
451
+ }
452
+
453
+ let results;
454
+ try {
455
+ results = scaffoldAll({
456
+ appRoot,
457
+ projectRoot,
458
+ reactNativeRoot,
459
+ cacheSlotLabel,
460
+ // Always force a re-render so re-running after editing a podspec picks
461
+ // up the new content.
462
+ force: true,
463
+ });
464
+ } catch (e) {
465
+ logError(`scaffold failed: ${e.message}.`);
466
+ process.exitCode = 1;
467
+ return;
468
+ }
469
+
470
+ const written = results.filter(r => r.status === 'written');
471
+ const errored = results.filter(r => r.status === 'error');
472
+ const warned = results.filter(
473
+ r => r.status === 'written' && r.warnings && r.warnings.length > 0,
474
+ );
475
+
476
+ if (written.length > 0) {
477
+ log(`Scaffolded Package.swift for ${written.length} dep(s):`);
478
+ for (const r of written) {
479
+ log(` • ${r.depName}`);
480
+ }
481
+ log('');
482
+ log(
483
+ 'node_modules is NOT committed and is wiped by `npm install`. To keep\n' +
484
+ 'these manifests, create and commit a patch with a tool like patch-package:\n' +
485
+ ' • `npx patch-package <dep>` for each scaffolded dep, then commit the patch.\n' +
486
+ 'Also consider asking the maintainer to ship a Package.swift upstream.\n' +
487
+ 'Without a committed patch the build will hard-error again after a fresh install.',
488
+ );
489
+ log('');
490
+ }
491
+
492
+ for (const r of warned) {
493
+ if (r.status !== 'written') continue;
494
+ for (const w of r.warnings) {
495
+ log(` ! ${r.depName}: ${w}`);
496
+ }
497
+ }
498
+
499
+ for (const r of errored) {
500
+ if (r.status !== 'error') continue;
501
+ logError(` ! ${r.depName}: ${r.reason}`);
502
+ }
503
+ }
504
+
505
+ async function ensureArtifactFlavor(
506
+ args /*: SetupArgs */,
507
+ rawVersion /*: string */,
508
+ slotVersion /*: string */,
509
+ flavor /*: 'debug' | 'release' */,
510
+ ) /*: Promise<string> */ {
511
+ if (args.artifacts != null && args.artifacts.endsWith('.xcframework')) {
512
+ throw new Error(
513
+ '--artifacts must be a directory containing debug/ and release/ slots; ' +
514
+ 'a single XCFramework cannot satisfy automatic switching',
515
+ );
516
+ }
517
+ const resolvedArtifactsDir =
518
+ args.artifacts != null
519
+ ? path.resolve(args.artifacts, flavor)
520
+ : defaultCacheDir(slotVersion, flavor);
521
+
522
+ if (args.downloadPolicy === 'force' && resolvedArtifactsDir != null) {
523
+ log('Clearing cached artifacts (--download force)...');
524
+ fs.rmSync(resolvedArtifactsDir, {recursive: true, force: true});
525
+ }
526
+
527
+ if (args.downloadPolicy === 'skip') {
528
+ const error = validateArtifactsCache(resolvedArtifactsDir);
529
+ if (error != null) {
530
+ throw new Error(
531
+ `--download skip requires a complete ${flavor} slot: ${error}`,
532
+ );
533
+ }
534
+ log(`Using ${flavor} artifacts (--download skip)`);
535
+ return resolvedArtifactsDir;
536
+ }
537
+
538
+ // Validate the cache before trusting it. A bare existsSync(artifacts.json)
539
+ // check would accept a partial write from a prior failed download (e.g.
540
+ // hermes-engine 404 on a not-yet-published nightly) and silently propagate
541
+ // the gap into the xcodeproj, surfacing only as "Missing package product"
542
+ // in Xcode. validateArtifactsCache reads the JSON and confirms every
543
+ // REQUIRED_ARTIFACT has a present xcframework on disk.
544
+ const cacheError = validateArtifactsCache(resolvedArtifactsDir);
545
+ if (cacheError == null) {
546
+ log(
547
+ `${flavor} artifacts already present in ${displayPath(resolvedArtifactsDir)}`,
548
+ );
549
+ return resolvedArtifactsDir;
550
+ }
551
+ log(`Cache incomplete (${cacheError}); re-downloading...`);
552
+ log(`Downloading ${flavor} xcframework artifacts (slot: ${slotVersion})...`);
553
+ await downloadArtifacts([
554
+ '--version',
555
+ rawVersion,
556
+ '--flavor',
557
+ flavor,
558
+ '--output',
559
+ resolvedArtifactsDir,
560
+ ]);
561
+ const downloadedError = validateArtifactsCache(resolvedArtifactsDir);
562
+ if (downloadedError != null) {
563
+ throw new Error(
564
+ `downloaded ${flavor} slot is incomplete: ${downloadedError}`,
565
+ );
566
+ }
567
+ return resolvedArtifactsDir;
568
+ }
569
+
570
+ async function ensureBothArtifactFlavors(
571
+ args /*: SetupArgs */,
572
+ version /*: string */,
573
+ ) /*: Promise<{debug: string, release: string}> */ {
574
+ // Resolve aliases/nightly labels exactly once so both flavors are guaranteed
575
+ // to come from the same selected artifact version.
576
+ const rawVersion = args.version ?? version;
577
+ const slotVersion = await resolveCacheSlotVersion(rawVersion);
578
+ const debug = await ensureArtifactFlavor(
579
+ args,
580
+ rawVersion,
581
+ slotVersion,
582
+ 'debug',
583
+ );
584
+ const release = await ensureArtifactFlavor(
585
+ args,
586
+ rawVersion,
587
+ slotVersion,
588
+ 'release',
589
+ );
590
+ return {debug, release};
591
+ }
592
+
593
+ function generateXcframeworksPackage(
594
+ args /*: SetupArgs */,
595
+ appRoot /*: string */,
596
+ reactNativeRoot /*: string */,
597
+ version /*: string */,
598
+ artifactDirs /*: {debug: string, release: string} */,
599
+ ) {
600
+ log('Generating xcframeworks sub-package...');
601
+ const packageArgs = [
602
+ '--app-root',
603
+ appRoot,
604
+ '--react-native-root',
605
+ reactNativeRoot,
606
+ '--version',
607
+ version,
608
+ ];
609
+ packageArgs.push('--debug-artifacts-dir', artifactDirs.debug);
610
+ packageArgs.push('--release-artifacts-dir', artifactDirs.release);
611
+ generatePackage(packageArgs);
612
+ }
613
+
614
+ // True when the chosen pbxproj is still CocoaPods-integrated (its build configs
615
+ // layer a `Pods-*.xcconfig`) — the real blocker for SPM injection.
616
+ function pbxprojUsesCocoaPods(xcodeprojPath /*: string */) /*: boolean */ {
617
+ try {
618
+ const t = fs.readFileSync(
619
+ path.join(xcodeprojPath, 'project.pbxproj'),
620
+ 'utf8',
621
+ );
622
+ return /\bPods[-/][^\n]*\.xcconfig\b/.test(t);
623
+ } catch {
624
+ return false;
625
+ }
626
+ }
627
+
628
+ // True when the Podfile still declares React Native integration — a latent
629
+ // landmine even after `pod deintegrate` (a future `pod install` re-breaks the
630
+ // SPM graph). Warned about (not refused) once the pbxproj itself is clean.
631
+ function podfileHasRnIntegration(appRoot /*: string */) /*: boolean */ {
632
+ const podfilePath = path.join(appRoot, 'Podfile');
633
+ if (!fs.existsSync(podfilePath)) {
634
+ return false;
635
+ }
636
+ return /use_react_native!|use_native_modules!|prepare_react_native_project!/.test(
637
+ fs.readFileSync(podfilePath, 'utf8'),
638
+ );
639
+ }
640
+
641
+ // True when the Podfile declares any explicit `pod '...'` (third-party pods).
642
+ function podfileHasThirdPartyPods(appRoot /*: string */) /*: boolean */ {
643
+ const podfilePath = path.join(appRoot, 'Podfile');
644
+ if (!fs.existsSync(podfilePath)) {
645
+ return false;
646
+ }
647
+ return /^\s*pod\s+['"]/m.test(fs.readFileSync(podfilePath, 'utf8'));
648
+ }
649
+
650
+ // The zero-arg "fresh project" safe-gate: auto-`add --deintegrate` ONLY when it
651
+ // is provably safe — a first-run CocoaPods RN project with a stock Podfile (no
652
+ // third-party pods) whose pbxproj AND Podfile are git-tracked and clean, so the
653
+ // conversion is fully revertible. We check only the two files `deintegrate`
654
+ // mutates (not the whole tree) — a fresh app typically has a dirty
655
+ // node_modules/lockfile/patches after `npm install` + `spm scaffold`, none of
656
+ // which affect the revertibility of the CocoaPods → SwiftPM conversion.
657
+ // Otherwise false → strict `add` (which fails loud on a CocoaPods project).
658
+ function shouldAutoDeintegrate(
659
+ appRoot /*: string */,
660
+ xcodeprojPath /*: string | null */,
661
+ ) /*: boolean */ {
662
+ if (xcodeprojPath == null || !pbxprojUsesCocoaPods(xcodeprojPath)) {
663
+ return false;
664
+ }
665
+ if (podfileHasThirdPartyPods(appRoot)) {
666
+ return false;
667
+ }
668
+ const pbxprojPath = path.join(xcodeprojPath, 'project.pbxproj');
669
+ if (gitTrackedAndClean(appRoot, pbxprojPath) !== true) {
670
+ return false;
671
+ }
672
+ const podfilePath = path.join(appRoot, 'Podfile');
673
+ if (
674
+ fs.existsSync(podfilePath) &&
675
+ gitTrackedAndClean(appRoot, podfilePath) !== true
676
+ ) {
677
+ return false;
678
+ }
679
+ return true;
680
+ }
681
+
682
+ // Run `pod deintegrate` then strip React Native from the Podfile (leaving any
683
+ // non-RN pods). Requires CocoaPods on PATH (fail-loud otherwise). Flag-gated ⇒
684
+ // no prompt ⇒ CI-safe. Does NOT touch the .xcworkspace.
685
+ function runDeintegrate(appRoot /*: string */) /*: void */ {
686
+ try {
687
+ execFileSync('pod', ['--version'], {stdio: 'ignore'});
688
+ } catch {
689
+ logError(
690
+ '`--deintegrate` needs CocoaPods (`pod`) on PATH. Remove the React ' +
691
+ 'Native integration from your project manually, then run `spm add`.',
692
+ );
693
+ process.exitCode = 1;
694
+ throw new Error('pod not found');
695
+ }
696
+ log('Running `pod deintegrate`...');
697
+ execFileSync('pod', ['deintegrate'], {cwd: appRoot, stdio: 'inherit'});
698
+
699
+ const podfilePath = path.join(appRoot, 'Podfile');
700
+ if (fs.existsSync(podfilePath)) {
701
+ const orig = fs.readFileSync(podfilePath, 'utf8');
702
+ const stripped = orig
703
+ .split('\n')
704
+ .filter(
705
+ l =>
706
+ !/use_react_native!|use_native_modules!|prepare_react_native_project!/.test(
707
+ l,
708
+ ),
709
+ )
710
+ .join('\n');
711
+ if (stripped !== orig) {
712
+ fs.writeFileSync(podfilePath, stripped, 'utf8');
713
+ log('Stripped React Native integration from Podfile.');
714
+ }
715
+ }
716
+ }
717
+
718
+ // Pick the .xcodeproj to inject into: --xcodeproj override > a prior in-place
719
+ // target (re-run) > the single .xcodeproj in appRoot. Returns an error string
720
+ // (ambiguous / none) so the caller fails loud.
721
+ function resolveInjectionTarget(
722
+ args /*: SetupArgs */,
723
+ appRoot /*: string */,
724
+ ) /*: {path: string, error?: void} | {error: string, path?: void} */ {
725
+ if (args.xcodeprojPath != null) {
726
+ const p = path.resolve(appRoot, args.xcodeprojPath);
727
+ return fs.existsSync(p)
728
+ ? {path: p}
729
+ : {error: `--xcodeproj not found: ${p}`};
730
+ }
731
+ const injected = findInjectedXcodeproj(appRoot);
732
+ if (injected != null) {
733
+ return {path: injected};
734
+ }
735
+ const names /*: Array<string> */ = [];
736
+ let entries /*: Array<{name: string, isDirectory(): boolean}> */ = [];
737
+ try {
738
+ // $FlowFixMe[incompatible-type] Dirent typing
739
+ entries = fs.readdirSync(appRoot, {withFileTypes: true});
740
+ } catch {}
741
+ for (const entry of entries) {
742
+ if (!entry.isDirectory()) continue;
743
+ // $FlowFixMe[incompatible-type] Dirent.name is string|Buffer in Flow stubs
744
+ const name /*: string */ = entry.name;
745
+ if (name.endsWith('.xcodeproj')) {
746
+ names.push(name);
747
+ }
748
+ }
749
+ if (names.length === 0) {
750
+ return {
751
+ error:
752
+ 'no .xcodeproj found. Create an app first (e.g. `npx ' +
753
+ '@react-native-community/cli init`) or make one in Xcode, then `spm add`.',
754
+ };
755
+ }
756
+ if (names.length > 1) {
757
+ return {
758
+ error: `multiple .xcodeproj found (${names.join(', ')}); pass --xcodeproj to pick one.`,
759
+ };
760
+ }
761
+ return {path: path.join(appRoot, names[0])};
762
+ }
763
+
764
+ /**
765
+ * Inject SPM packages into the user's existing .xcodeproj, in place — the only
766
+ * xcodeproj strategy (`add` and `update` both run this; there is no
767
+ * from-scratch generation). Fails loud rather than silently retargeting. With
768
+ * `--deintegrate`, removes CocoaPods first.
769
+ */
770
+ async function setupXcodeproj(
771
+ args /*: SetupArgs */,
772
+ appRoot /*: string */,
773
+ reactNativeRoot /*: string */,
774
+ action /*: string */,
775
+ ) /*: Promise<void> */ {
776
+ const target = resolveInjectionTarget(args, appRoot);
777
+ if (target.error != null) {
778
+ logError(`Cannot set up SPM: ${target.error}`);
779
+ process.exitCode = 1;
780
+ throw new Error(target.error);
781
+ }
782
+ const xcodeprojPath = target.path;
783
+ const pbxprojPath = path.join(xcodeprojPath, 'project.pbxproj');
784
+
785
+ // Snapshot the pbxproj's git state BEFORE deintegrate — `pod deintegrate`
786
+ // rewrites it (removing the Pods xcconfig layering), so checking afterward
787
+ // would always look dirty and trigger a spurious confirmation prompt.
788
+ const cleanBeforeEdits = gitTrackedAndClean(appRoot, pbxprojPath);
789
+
790
+ if (args.deintegrate) {
791
+ runDeintegrate(appRoot);
792
+ // `pod deintegrate` strips the build integration but can leave an empty
793
+ // `Pods` group in the navigator — remove it so the converted project is
794
+ // visually clean.
795
+ if (cleanupLeftoverPodsGroup(xcodeprojPath)) {
796
+ log('Removed the leftover empty `Pods` group from the project.');
797
+ }
798
+ }
799
+
800
+ // Preflight: a still-CocoaPods-integrated pbxproj is the real build-breaker.
801
+ if (pbxprojUsesCocoaPods(xcodeprojPath)) {
802
+ logError(
803
+ `${path.basename(xcodeprojPath)} is CocoaPods-integrated. Re-run ` +
804
+ '`spm add --deintegrate` to convert it (runs `pod deintegrate` + ' +
805
+ 'strips React Native from the Podfile), or run `pod deintegrate` ' +
806
+ 'yourself first. Side-by-side non-RN pods are fine.',
807
+ );
808
+ process.exitCode = 1;
809
+ throw new Error('CocoaPods-integrated project');
810
+ }
811
+ if (podfileHasRnIntegration(appRoot)) {
812
+ log(
813
+ '\x1b[33mNote: your Podfile still declares React Native integration. ' +
814
+ 'Remove it and avoid `pod install`, or it will re-break the SPM ' +
815
+ 'package graph.\x1b[0m',
816
+ );
817
+ }
818
+
819
+ // No backup is made — git is the safety net. Refuse on a dirty/untracked
820
+ // pbxproj (as it was BEFORE any deintegrate edits) unless --yes, so a bad
821
+ // inject is always `git checkout`-able.
822
+ const clean = cleanBeforeEdits;
823
+ if (clean === false && !args.yes) {
824
+ const proceed = await promptYesNo(
825
+ `${path.basename(xcodeprojPath)} has uncommitted changes and no ` +
826
+ `backup is made (git is the only undo). Inject SPM packages anyway?`,
827
+ false,
828
+ );
829
+ if (!proceed) {
830
+ log('Aborted. Commit or stash the project, then re-run `spm add`.');
831
+ process.exitCode = 1;
832
+ throw new Error('In-place injection declined (dirty working tree)');
833
+ }
834
+ } else if (clean === null) {
835
+ log(
836
+ `\x1b[33mNote: ${path.basename(xcodeprojPath)} is not in a git ` +
837
+ `repo — no backup is made before in-place injection.\x1b[0m`,
838
+ );
839
+ }
840
+
841
+ const result = injectSpmIntoExistingXcodeproj({
842
+ appRoot,
843
+ reactNativeRoot,
844
+ xcodeprojPath,
845
+ appName: args.productName,
846
+ // Only an EXPLICIT `--version` pins the artifacts-cache slot in the
847
+ // marker; omitting it (null) leaves any previously-recorded pin alone
848
+ // (injectSpmIntoExistingXcodeproj preserves it — see
849
+ // generate-spm-xcodeproj.js).
850
+ artifactsVersionOverride: args.version ?? null,
851
+ configCommand: resolveConfigCommandToPin(args),
852
+ });
853
+ if (result.status !== 'injected') {
854
+ logError(`SPM injection failed: ${result.reason}`);
855
+ process.exitCode = 1;
856
+ throw new Error(result.reason);
857
+ }
858
+
859
+ // The community template has carried a dangling `JavaScriptCore.framework`
860
+ // reference since RN 0.60 (navigator-only, unlinked, meaningless under
861
+ // Hermes) — one-time migration hygiene at conversion time, like the empty
862
+ // Pods group above. `add` only; `update` stays a minimal re-sync.
863
+ if (action === 'add' && cleanupDanglingJavaScriptCoreRef(xcodeprojPath)) {
864
+ log(
865
+ "Removed the template's dangling JavaScriptCore.framework reference " +
866
+ '(unused; React Native uses Hermes).',
867
+ );
868
+ }
869
+ }
870
+
871
+ // True when `git status --porcelain` reports the path dirty/untracked. Returns
872
+ // null when git is unavailable or the path is outside a repo (no safety net).
873
+ function gitTrackedAndClean(
874
+ appRoot /*: string */,
875
+ targetPath /*: string */,
876
+ ) /*: boolean | null */ {
877
+ try {
878
+ const out = execFileSync(
879
+ 'git',
880
+ ['status', '--porcelain', '--', targetPath],
881
+ {cwd: appRoot, encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore']},
882
+ );
883
+ return out.trim() === '';
884
+ } catch {
885
+ return null; // not a git repo / git missing
886
+ }
887
+ }
888
+
889
+ function logNextSteps(
890
+ projectRoot /*: string */,
891
+ appRoot /*: string */,
892
+ productName /*: string | null */,
893
+ ) {
894
+ const appPkgJson = readPackageJson(projectRoot);
895
+ const rawName =
896
+ (appPkgJson != null ? appPkgJson.name : null) ?? path.basename(projectRoot);
897
+ const sourcePath = findSourcePath(appRoot, rawName);
898
+ const appDisplayName = productName ?? deriveAppName(rawName, sourcePath);
899
+
900
+ log('');
901
+ log('SPM setup complete!');
902
+ log('');
903
+ log('Next steps:');
904
+ log(` • Open ${appDisplayName}.xcodeproj in Xcode (or \`npm run ios\`)`);
905
+ log(' • Set your Development Team in Signing & Capabilities');
906
+ log(' • Build and run on Simulator or device');
907
+ log('');
908
+ log('To remove SPM later: `npx react-native spm deinit`');
909
+ }
910
+
911
+ // The autolinking config command for this run: an explicit `--config-command`
912
+ // first, then the value a previous `add`/`update` pinned into the injection
913
+ // marker. undefined means "no explicit command", which is what makes
914
+ // generateAutolinkingConfig fall back to RCT_SPM_AUTOLINKING_CONFIG_COMMAND and
915
+ // then to the built-in default — so the pin has to be WITHHELD while the env
916
+ // var is set, or a stale pin would outrank a developer's env override.
917
+ function resolveExplicitConfigCommand(
918
+ args /*: SetupArgs */,
919
+ appRoot /*: string */,
920
+ ) /*: Array<string> | void */ {
921
+ if (args.configCommand != null) {
922
+ return args.configCommand;
923
+ }
924
+ if (readEnvConfigCommand() != null) {
925
+ return undefined;
926
+ }
927
+ const pinned = readPinnedConfigCommand(appRoot);
928
+ if (pinned == null) {
929
+ return undefined;
930
+ }
931
+ log(
932
+ `Autolinking config command (pinned in ${SPM_INJECTED_MARKER}): ` +
933
+ pinned.join(' '),
934
+ );
935
+ return pinned;
936
+ }
937
+
938
+ // The command to record in the injection marker. The env var is resolved here
939
+ // too, because the Xcode build phase inherits neither the flag nor the shell
940
+ // that set it — an env-only override that went unpinned would leave the build
941
+ // re-deriving autolinking.json with the default command. null pins nothing and
942
+ // preserves any earlier pin. An invalid env value throws, as the flag does,
943
+ // though `add` has already failed closed on it by this point.
944
+ function resolveConfigCommandToPin(
945
+ args /*: SetupArgs */,
946
+ ) /*: ?Array<string> */ {
947
+ return args.configCommand ?? resolveEnvConfigCommand();
948
+ }
949
+
950
+ // Generate autolinking.json, failing closed on a config-command error.
951
+ //
952
+ // generateAutolinkingConfig throws ONLY when the config command itself fails —
953
+ // a non-zero exit, unparseable output, or a config missing
954
+ // project.ios.sourceDir. Swallowing that (the old behavior) let the run proceed
955
+ // and emit an empty Autolinked package, which only surfaced much later as an
956
+ // inscrutable `unable to resolve module dependency` at build time. Instead we
957
+ // set process.exitCode = 2 (a hard Xcode build-phase error, matching the
958
+ // RemoteVersionError path) and return null so the caller stops.
959
+ //
960
+ // A genuinely native-module-free app does NOT reach the error path: its command
961
+ // exits 0 with valid, empty-dependency JSON, so generateAutolinkingConfig
962
+ // returns normally and the empty-package path downstream stays valid.
963
+ function generateAutolinkingConfigOrFailClosed(
964
+ opts /*: {
965
+ projectRoot: string,
966
+ configCommand?: Array<string>,
967
+ generate?: typeof generateAutolinkingConfig,
968
+ } */,
969
+ ) /*: ?AutolinkingConfigResult */ {
970
+ const generate = opts.generate ?? generateAutolinkingConfig;
971
+ try {
972
+ return generate({
973
+ projectRoot: opts.projectRoot,
974
+ configCommand: opts.configCommand,
975
+ });
976
+ } catch (e) {
977
+ logError(
978
+ `Failed to generate autolinking.json: ${e.message}\n` +
979
+ 'The autolinking config command failed. If this app replaces ' +
980
+ '@react-native-community/cli autolinking (e.g. an Expo app), set ' +
981
+ 'RCT_SPM_AUTOLINKING_CONFIG_COMMAND (or pass --config-command) to a ' +
982
+ 'JSON argv array whose command prints the React Native CLI config, ' +
983
+ 'e.g. \'["npx","expo-modules-autolinking","react-native-config",' +
984
+ '"--json","--platform","ios"]\'. An earlier `add`/`update` may also ' +
985
+ `have pinned a command in ${SPM_INJECTED_MARKER}; re-run with ` +
986
+ '--config-command to replace a stale one.',
987
+ );
988
+ process.exitCode = 2;
989
+ return null;
990
+ }
991
+ }
992
+
993
+ async function main(argv /*:: ?: Array<string> */) /*: Promise<void> */ {
994
+ let appRoot = process.cwd();
995
+ const projectRoot = findProjectRoot(appRoot);
996
+ const args = parseArgs(argv ?? process.argv.slice(2));
997
+
998
+ // Standard-RN-layout redirect: if invoked from the JS root and there's an
999
+ // `ios/` subdir, route the run there. Runs BEFORE resolveAction so the
1000
+ // first-run heuristic checks the correct directory.
1001
+ const redirectTo = detectStandardRnLayoutRedirect(appRoot, projectRoot);
1002
+ if (redirectTo != null) {
1003
+ const redirectAction = args.action ?? 'add';
1004
+ log(
1005
+ `\x1b[33mDetected standard RN layout — running ${redirectAction} in ${displayPath(redirectTo)} ` +
1006
+ `instead of ${displayPath(appRoot)}.\x1b[0m`,
1007
+ );
1008
+ appRoot = redirectTo;
1009
+ }
1010
+
1011
+ const action = resolveAction(args.action, appRoot);
1012
+
1013
+ // Zero-arg safe-gate: when `add` was resolved implicitly (no action typed)
1014
+ // on a freshly-scaffolded CocoaPods project, imply `--deintegrate` so the
1015
+ // common "new app → SPM" path is one command. Never on an explicit `spm add`
1016
+ // (that stays strict and fails loud on CocoaPods).
1017
+ if (
1018
+ action === 'add' &&
1019
+ args.action == null &&
1020
+ !args.deintegrate &&
1021
+ shouldAutoDeintegrate(
1022
+ appRoot,
1023
+ resolveInjectionTarget(args, appRoot).path ?? null,
1024
+ )
1025
+ ) {
1026
+ log(
1027
+ 'Detected a freshly-scaffolded CocoaPods project — converting to SwiftPM ' +
1028
+ '(running `pod deintegrate`). Revert with `git` or `spm deinit`.',
1029
+ );
1030
+ args.deintegrate = true;
1031
+ }
1032
+
1033
+ log(`Running SPM ${action} in: ${displayPath(appRoot)}`);
1034
+ if (projectRoot !== appRoot) {
1035
+ log(`Project root (package.json): ${displayPath(projectRoot)}`);
1036
+ }
1037
+
1038
+ if (action === 'deinit') {
1039
+ const xcodeprojPath =
1040
+ args.xcodeprojPath != null
1041
+ ? path.resolve(appRoot, args.xcodeprojPath)
1042
+ : findInjectedXcodeproj(appRoot);
1043
+ if (xcodeprojPath == null) {
1044
+ log('No SPM injection found — nothing to remove.');
1045
+ return;
1046
+ }
1047
+ const result = removeSpmInjection({appRoot, xcodeprojPath});
1048
+ log(
1049
+ result.status === 'removed'
1050
+ ? `Removed SPM packages from ${path.basename(xcodeprojPath)}.`
1051
+ : 'No SPM injection found — nothing to remove.',
1052
+ );
1053
+ return;
1054
+ }
1055
+
1056
+ // Fail fast on a CocoaPods-integrated target BEFORE the (expensive) pipeline,
1057
+ // so the user isn't made to wait through codegen + artifact download only to
1058
+ // be told to re-run with --deintegrate. Skipped when --deintegrate is set
1059
+ // (explicitly or via the safe-gate) — deintegration happens in setupXcodeproj.
1060
+ if ((action === 'add' || action === 'update') && !args.deintegrate) {
1061
+ const target = resolveInjectionTarget(args, appRoot);
1062
+ if (target.path != null && pbxprojUsesCocoaPods(target.path)) {
1063
+ logError(
1064
+ `${path.basename(target.path)} is CocoaPods-integrated. Re-run ` +
1065
+ '`spm add --deintegrate` to convert it (runs `pod deintegrate` + ' +
1066
+ 'strips React Native from the Podfile), or run `pod deintegrate` ' +
1067
+ 'yourself first. Side-by-side non-RN pods are fine.',
1068
+ );
1069
+ process.exitCode = 1;
1070
+ return;
1071
+ }
1072
+ }
1073
+
1074
+ const needsCliConfig =
1075
+ action === 'add' ||
1076
+ action === 'update' ||
1077
+ action === 'sync' ||
1078
+ action === 'scaffold';
1079
+ let autolinkingConfigResult /*: ?AutolinkingConfigResult */ = null;
1080
+ if (needsCliConfig) {
1081
+ log('Generating autolinking.json (CLI config)...');
1082
+ autolinkingConfigResult = generateAutolinkingConfigOrFailClosed({
1083
+ projectRoot,
1084
+ configCommand: resolveExplicitConfigCommand(args, appRoot),
1085
+ });
1086
+ if (autolinkingConfigResult == null) {
1087
+ // Fail closed: the config command errored and the helper already set
1088
+ // process.exitCode = 2. Stop rather than emit an empty Autolinked package.
1089
+ return;
1090
+ }
1091
+ log(`Wrote ${path.relative(appRoot, autolinkingConfigResult.outputPath)}`);
1092
+ }
1093
+ const reactNativeRoot = resolveReactNativeRoot(
1094
+ autolinkingConfigResult,
1095
+ projectRoot,
1096
+ );
1097
+ const version = determineVersion(args, reactNativeRoot);
1098
+ log(`React Native version: ${version}`);
1099
+
1100
+ // Resolve remote SPM mode ONCE up front. remotePackageConfig throws
1101
+ // RemoteVersionError when remote mode is active but no usable RN version can
1102
+ // be derived (e.g. the monorepo '1000.0.0' placeholder with no override).
1103
+ // The downstream scaffold/autolinker/package steps all call it internally;
1104
+ // surfacing it here gives a single, predictable failure point before any of
1105
+ // them run. Exit 2 (same as a missing manifest) so the Xcode build phase
1106
+ // turns it into a hard build error while staying lenient on transient sync
1107
+ // failures. No-op in local mode (returns null).
1108
+ try {
1109
+ remotePackageConfig(appRoot);
1110
+ } catch (e) {
1111
+ if (e instanceof RemoteVersionError) {
1112
+ logError(e.message);
1113
+ process.exitCode = 2;
1114
+ return;
1115
+ }
1116
+ throw e;
1117
+ }
1118
+ // The artifact cache directory is resolved later in ensureArtifacts so the
1119
+ // nightly hash can be folded in for dev / nightly labels. That branch logs
1120
+ // either "Downloading xcframework artifacts (slot: ...)" or
1121
+ // "Artifacts already present in ...".
1122
+
1123
+ if (action === 'codegen') {
1124
+ runCodegenStep(projectRoot, appRoot, reactNativeRoot, false);
1125
+ return;
1126
+ }
1127
+
1128
+ if (action === 'sync') {
1129
+ const {main: runSync} = require('./spm/sync-spm-autolinking');
1130
+ try {
1131
+ await runSync([
1132
+ '--app-root',
1133
+ appRoot,
1134
+ '--react-native-root',
1135
+ reactNativeRoot,
1136
+ ]);
1137
+ } catch (e) {
1138
+ if (e instanceof MissingManifestError) {
1139
+ // The per-dep `error:` lines were already printed by the autolinker.
1140
+ // Exit 2 (distinct from generic failure) so the Xcode build phase can
1141
+ // turn this into a hard build error while staying lenient on transient
1142
+ // sync failures.
1143
+ process.exitCode = 2;
1144
+ } else {
1145
+ logError(`SPM sync failed: ${e.message}`);
1146
+ process.exitCode = 1;
1147
+ }
1148
+ }
1149
+ return;
1150
+ }
1151
+
1152
+ if (action === 'download') {
1153
+ try {
1154
+ await ensureBothArtifactFlavors(args, version);
1155
+ } catch (e) {
1156
+ logError(`Artifact setup failed: ${e.message}`);
1157
+ process.exitCode = 1;
1158
+ }
1159
+ return;
1160
+ }
1161
+
1162
+ // Scaffold Package.swift for community RN packages that don't ship SPM
1163
+ // support — ONLY for the explicit `scaffold` action. init/update never
1164
+ // auto-scaffold: a missing manifest must surface as a hard error (the
1165
+ // autolinker below throws MissingManifestError → exit 2) so the gap is
1166
+ // visible and fixed deliberately (scaffold + patch-package, or upstream).
1167
+ // Auto-scaffolding would silently hide that real error.
1168
+ if (action === 'scaffold') {
1169
+ await runScaffold(args, appRoot, projectRoot, reactNativeRoot);
1170
+ }
1171
+
1172
+ runCodegenStep(projectRoot, appRoot, reactNativeRoot, args.skipCodegen);
1173
+ log('Generating build/generated/autolinking/Package.swift...');
1174
+ try {
1175
+ generateAutolinking([
1176
+ '--app-root',
1177
+ appRoot,
1178
+ '--react-native-root',
1179
+ reactNativeRoot,
1180
+ ]);
1181
+ } catch (e) {
1182
+ if (e instanceof MissingManifestError) {
1183
+ // Per-dep `error:` lines already printed by the autolinker. This happens
1184
+ // on init/update when the user declined the scaffold prompt — surface it
1185
+ // as a hard failure (exit 2) directing them to scaffold.
1186
+ process.exitCode = 2;
1187
+ } else {
1188
+ logError(`generate-spm-autolinking.js failed: ${e.message}`);
1189
+ process.exitCode = 1;
1190
+ }
1191
+ return;
1192
+ }
1193
+
1194
+ const remote = remotePackageConfig(appRoot);
1195
+ if (remote != null) {
1196
+ log(`Remote ReactNative package: ${remote.url} @ ${remote.version}`);
1197
+ }
1198
+ let artifactDirs;
1199
+ try {
1200
+ artifactDirs = await ensureBothArtifactFlavors(args, version);
1201
+ } catch (e) {
1202
+ logError(`Artifact setup failed: ${e.message}`);
1203
+ process.exitCode = 1;
1204
+ return;
1205
+ }
1206
+ try {
1207
+ generateXcframeworksPackage(
1208
+ args,
1209
+ appRoot,
1210
+ reactNativeRoot,
1211
+ version,
1212
+ artifactDirs,
1213
+ );
1214
+ } catch (e) {
1215
+ logError(`generate-spm-package.js failed: ${e.message}`);
1216
+ process.exitCode = 1;
1217
+ return;
1218
+ }
1219
+
1220
+ // (Re)install the static codegen Package.swift template once build/generated/ios exists.
1221
+ installSpmCodegenTemplate(appRoot, reactNativeRoot, {log});
1222
+
1223
+ // Build the per-app generated-headers farm (vended as the ReactAppHeaders
1224
+ // SPM target inside the codegen package). React core headers need no trees
1225
+ // — they are vended by invariant SwiftPM compile products. The
1226
+ // generated manifests are fully declarative (fixed-relative package paths),
1227
+ // so no path-locator JSON is written.
1228
+ buildPerAppHeaderTree(appRoot, {log});
1229
+
1230
+ // First-time setup only adds the gitignore entries on `add`.
1231
+ if (action === 'add') {
1232
+ ensureGitignoreSpmEntries(appRoot);
1233
+ }
1234
+
1235
+ // Xcodeproj setup: in-place injection into the existing project (the only
1236
+ // strategy — no rename, no from-scratch; git is the safety net).
1237
+ try {
1238
+ await setupXcodeproj(args, appRoot, reactNativeRoot, action);
1239
+ } catch (e) {
1240
+ logError(`xcodeproj setup failed: ${e.message}`);
1241
+ if (process.exitCode == null) {
1242
+ process.exitCode = 1;
1243
+ }
1244
+ return;
1245
+ }
1246
+
1247
+ finalizeArtifactPublication(appRoot);
1248
+
1249
+ logNextSteps(projectRoot, appRoot, args.productName);
1250
+ }
1251
+
1252
+ if (require.main === module) {
1253
+ void main();
1254
+ }
1255
+
1256
+ module.exports = {
1257
+ main,
1258
+ detectStandardRnLayoutRedirect,
1259
+ findInjectedXcodeproj,
1260
+ generateAutolinkingConfigOrFailClosed,
1261
+ parseArgs,
1262
+ resolveAction,
1263
+ resolveConfigCommandToPin,
1264
+ resolveExplicitConfigCommand,
1265
+ shouldAutoDeintegrate,
1266
+ ensureBothArtifactFlavors,
1267
+ };