@depup/react-native 0.86.2-depup.0 → 0.87.1-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 (1283) 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/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/AnimatedExports.js +22 -0
  6. package/Libraries/Animated/AnimatedExports.js.flow +1 -1
  7. package/Libraries/Animated/AnimatedImplementation.js +126 -5
  8. package/Libraries/Animated/Easing.js +4 -3
  9. package/Libraries/Animated/NativeAnimatedAllowlist.js +37 -0
  10. package/Libraries/Animated/animations/Animation.js +14 -5
  11. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  12. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  13. package/Libraries/Animated/animations/TimingAnimation.js +9 -0
  14. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  15. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  16. package/Libraries/Animated/nodes/AnimatedColor.js +8 -8
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +106 -0
  18. package/Libraries/Animated/nodes/AnimatedNode.js +1 -1
  19. package/Libraries/Animated/nodes/AnimatedProps.js +27 -3
  20. package/Libraries/Animated/nodes/AnimatedValue.js +10 -2
  21. package/Libraries/Animated/nodes/AnimatedValueXY.js +2 -2
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -9
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -20
  24. package/Libraries/AppDelegate/RCTAppSetupUtils.h +0 -18
  25. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +0 -78
  26. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +18 -21
  27. package/Libraries/AppDelegate/RCTReactNativeFactory.h +5 -41
  28. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +0 -82
  29. package/Libraries/AppDelegate/RCTRootViewFactory.h +4 -1
  30. package/Libraries/AppDelegate/RCTRootViewFactory.mm +3 -101
  31. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
  32. package/Libraries/AppState/AppState.d.ts +4 -1
  33. package/Libraries/AppState/AppState.js +32 -17
  34. package/Libraries/BatchedBridge/MessageQueue.js +42 -51
  35. package/Libraries/BatchedBridge/NativeModules.js +7 -0
  36. package/Libraries/Blob/Blob.js +7 -1
  37. package/Libraries/Blob/FileReader.js +6 -0
  38. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  39. package/Libraries/Blob/URLSearchParams.js.flow +1 -1
  40. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +20 -9
  41. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -43
  42. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +59 -49
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  44. package/Libraries/Components/Button.js +98 -183
  45. package/Libraries/Components/Clipboard/Clipboard.js +5 -0
  46. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  47. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +8 -69
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +10 -1
  49. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +2 -0
  50. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +26 -31
  51. package/Libraries/Components/Keyboard/Keyboard.js +23 -60
  52. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +15 -7
  53. package/Libraries/Components/Pressable/Pressable.js +39 -17
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +5 -6
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +4 -4
  56. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  57. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +17 -0
  58. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  59. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  60. package/Libraries/Components/RefreshControl/RefreshControl.js +40 -50
  61. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  62. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -8
  63. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  64. package/Libraries/Components/ScrollView/ScrollView.d.ts +55 -43
  65. package/Libraries/Components/ScrollView/ScrollView.js +205 -118
  66. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  67. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  68. package/Libraries/Components/StatusBar/StatusBar.d.ts +7 -54
  69. package/Libraries/Components/StatusBar/StatusBar.js +84 -160
  70. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  71. package/Libraries/Components/Switch/Switch.js +76 -75
  72. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  73. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  74. package/Libraries/Components/TextInput/InputAccessoryView.js +13 -61
  75. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  76. package/Libraries/Components/TextInput/TextInput.d.ts +9 -2
  77. package/Libraries/Components/TextInput/TextInput.flow.js +20 -3
  78. package/Libraries/Components/TextInput/TextInput.js +116 -111
  79. package/Libraries/Components/TextInput/TextInputNativeCommands.js +3 -3
  80. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +25 -19
  81. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  82. package/Libraries/Components/Touchable/Touchable.js +94 -95
  83. package/Libraries/Components/Touchable/TouchableHighlight.js +45 -112
  84. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +13 -25
  85. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -84
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -3
  87. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  88. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  89. package/Libraries/Components/View/View.js +83 -86
  90. package/Libraries/Components/View/ViewAccessibility.d.ts +12 -2
  91. package/Libraries/Components/View/ViewAccessibility.js +17 -6
  92. package/Libraries/Components/View/ViewNativeComponent.js +4 -6
  93. package/Libraries/Components/View/ViewPropTypes.js +65 -13
  94. package/Libraries/Core/InitializeCore.js +9 -1
  95. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  96. package/Libraries/Core/ReactNativeVersion.js +2 -2
  97. package/Libraries/Core/Timers/JSTimers.js +53 -52
  98. package/Libraries/Core/setUpGlobals.js +9 -4
  99. package/Libraries/Core/setUpNavigator.js +7 -2
  100. package/Libraries/Core/setUpReactDevTools.js +0 -118
  101. package/Libraries/Core/setUpXHR.js +6 -2
  102. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  103. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  104. package/Libraries/EventEmitter/NativeEventEmitter.js +29 -0
  105. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -7
  106. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  107. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  108. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  109. package/Libraries/Image/AssetSourceResolver.js +18 -27
  110. package/Libraries/Image/Image.android.js +13 -2
  111. package/Libraries/Image/Image.ios.js +3 -1
  112. package/Libraries/Image/ImageBackground.js +30 -18
  113. package/Libraries/Image/ImageProps.js +116 -117
  114. package/Libraries/Image/ImageSource.d.ts +1 -1
  115. package/Libraries/Image/ImageSource.js +9 -9
  116. package/Libraries/Image/ImageSourceUtils.js +10 -7
  117. package/Libraries/Image/ImageTypes.flow.js +2 -0
  118. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  119. package/Libraries/Image/RCTImageLoader.mm +61 -64
  120. package/Libraries/Image/RCTImageStoreManager.h +0 -2
  121. package/Libraries/Image/React-RCTImage.podspec +1 -1
  122. package/Libraries/Image/RelativeImageStub.js +1 -1
  123. package/Libraries/Image/resolveAssetSource.js +1 -1
  124. package/Libraries/Interaction/PanResponder.js +102 -97
  125. package/Libraries/LayoutAnimation/LayoutAnimation.js +22 -6
  126. package/Libraries/Linking/Linking.js +24 -23
  127. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  128. package/Libraries/Lists/FlatList.d.ts +6 -17
  129. package/Libraries/Lists/FlatList.js +7 -8
  130. package/Libraries/Lists/SectionList.js +7 -0
  131. package/Libraries/Lists/VirtualizedList.js +3 -0
  132. package/Libraries/Lists/VirtualizedSectionList.js +4 -0
  133. package/Libraries/LogBox/LogBox.js +3 -3
  134. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  135. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +2 -2
  136. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +4 -1
  137. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +3 -1
  138. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  139. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +9 -2
  140. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +17 -4
  141. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -1
  142. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -1
  143. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -0
  144. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  145. package/Libraries/LogBox/UI/LogBoxMessage.js +18 -5
  146. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  147. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  148. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  149. package/Libraries/Modal/Modal.d.ts +5 -4
  150. package/Libraries/Modal/Modal.js +71 -37
  151. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  152. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  153. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -0
  154. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  155. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  156. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  157. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  158. package/Libraries/Performance/Systrace.js +36 -0
  159. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  160. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +29 -17
  161. package/Libraries/Pressability/Pressability.js +1 -1
  162. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +4 -0
  163. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  164. package/Libraries/ReactNative/AppContainer-dev.js +3 -1
  165. package/Libraries/ReactNative/AppRegistry.flow.js +1 -0
  166. package/Libraries/ReactNative/AppRegistry.js +15 -11
  167. package/Libraries/ReactNative/AppRegistryImpl.js +57 -11
  168. package/Libraries/ReactNative/DisplayMode.js +1 -1
  169. package/Libraries/ReactNative/FabricUIManager.js +29 -26
  170. package/Libraries/ReactNative/I18nManager.js +20 -0
  171. package/Libraries/ReactNative/UIManager.js +53 -0
  172. package/Libraries/ReactNative/renderApplication.js +1 -1
  173. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -126
  174. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  175. package/Libraries/Renderer/README.md +2 -2
  176. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -36
  177. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  178. package/Libraries/Required/RCTRequired.podspec +1 -1
  179. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  180. package/Libraries/Settings/Settings.ios.js +22 -0
  181. package/Libraries/Share/Share.js +25 -28
  182. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +6 -0
  183. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  184. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetExports.js +7 -5
  186. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  187. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +24 -3
  188. package/Libraries/StyleSheet/StyleSheetTypes.js +34 -6
  189. package/Libraries/StyleSheet/flattenStyle.js +28 -13
  190. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -14
  191. package/Libraries/Text/React-RCTText.podspec +1 -1
  192. package/Libraries/Text/Text.js +12 -9
  193. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  194. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +0 -1
  195. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -1
  196. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +0 -1
  197. package/Libraries/Text/TextProps.js +59 -93
  198. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  199. package/Libraries/TurboModule/RCTExport.js +1 -1
  200. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  201. package/Libraries/Types/CoreEventTypes.d.ts +8 -0
  202. package/Libraries/Types/CoreEventTypes.js +32 -29
  203. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  204. package/Libraries/Utilities/Appearance.d.ts +32 -17
  205. package/Libraries/Utilities/Appearance.js +35 -18
  206. package/Libraries/Utilities/BackHandler.android.js +13 -28
  207. package/Libraries/Utilities/BackHandler.js.flow +18 -2
  208. package/Libraries/Utilities/DevSettings.js +8 -1
  209. package/Libraries/Utilities/Dimensions.js +18 -12
  210. package/Libraries/Utilities/PixelRatio.js +5 -2
  211. package/Libraries/Utilities/Platform.js.flow +4 -0
  212. package/Libraries/Utilities/PlatformTypes.js +77 -0
  213. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  214. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  215. package/Libraries/Utilities/useColorScheme.js +11 -1
  216. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  217. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  218. package/Libraries/Vibration/Vibration.js +14 -11
  219. package/Libraries/vendor/emitter/EventEmitter.js +3 -3
  220. package/README.md +7 -9
  221. package/React/Base/RCTBridge+Private.h +0 -22
  222. package/React/Base/RCTBridge.h +10 -8
  223. package/React/Base/RCTBridge.mm +5 -447
  224. package/React/Base/RCTBridgeDelegate.h +1 -56
  225. package/React/Base/RCTBridgeModule.h +0 -9
  226. package/React/Base/RCTBridgeProxy.h +8 -0
  227. package/React/Base/RCTBridgeProxy.mm +3 -20
  228. package/React/Base/RCTBundleManager.h +0 -3
  229. package/React/Base/RCTBundleManager.m +0 -31
  230. package/React/Base/RCTBundleURLProvider.mm +4 -4
  231. package/React/Base/RCTCallableJSModules.m +0 -18
  232. package/React/Base/RCTConstants.h +1 -0
  233. package/React/Base/RCTConstants.m +1 -0
  234. package/React/Base/RCTConvert.mm +3 -0
  235. package/React/Base/RCTDisplayLink.h +3 -1
  236. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  237. package/React/Base/RCTModuleData.mm +2 -483
  238. package/React/Base/RCTModuleRegistry.m +0 -25
  239. package/React/Base/RCTRootView.m +3 -374
  240. package/React/Base/RCTUtils.h +0 -3
  241. package/React/Base/RCTUtils.mm +17 -27
  242. package/React/Base/RCTVersion.m +2 -2
  243. package/React/Base/RCTViewRegistry.m +1 -29
  244. package/React/Base/Surface/RCTSurface.mm +1 -582
  245. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  246. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +0 -1
  247. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +0 -2
  248. package/React/CoreModules/RCTAlertController.mm +1 -0
  249. package/React/CoreModules/RCTAlertManager.mm +0 -5
  250. package/React/CoreModules/RCTLogBox.mm +0 -11
  251. package/React/CoreModules/RCTLogBoxView.h +0 -3
  252. package/React/CoreModules/RCTLogBoxView.mm +0 -31
  253. package/React/CoreModules/RCTPerfMonitor.mm +0 -2
  254. package/React/CoreModules/RCTStatusBarManager.mm +0 -11
  255. package/React/CoreModules/React-CoreModules.podspec +1 -1
  256. package/React/CxxModule/RCTCxxUtils.h +0 -8
  257. package/React/CxxModule/RCTCxxUtils.mm +0 -17
  258. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +179 -7
  259. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +100 -2
  260. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +373 -119
  261. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  262. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  263. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  264. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +96 -96
  265. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  266. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +211 -212
  267. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  268. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  269. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  270. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  271. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +4 -0
  272. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -0
  273. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +4 -0
  274. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +5 -0
  275. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -1
  276. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +14 -0
  277. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +13 -4
  278. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +12 -26
  279. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +39 -4
  280. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  281. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -5
  282. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +0 -18
  283. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  284. package/React/Fabric/RCTSurfacePresenter.mm +86 -5
  285. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +2 -0
  286. package/React/I18n/RCTLocalizedString.mm +38 -2
  287. package/React/Modules/RCTEventEmitter.m +30 -10
  288. package/React/Modules/RCTI18nUtil.m +3 -1
  289. package/React/Modules/RCTUIManager.mm +0 -1501
  290. package/React/React-RCTFBReactNativeSpec.podspec +2 -2
  291. package/React/React-RCTFabric.podspec +1 -1
  292. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  293. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +27 -0
  294. package/React/Views/RCTModalHostViewController.h +0 -15
  295. package/React/Views/RCTModalHostViewManager.h +0 -24
  296. package/React/Views/RCTShadowView.h +0 -2
  297. package/React/Views/RCTShadowView.m +0 -723
  298. package/React/Views/ScrollView/RCTScrollView.h +0 -81
  299. package/React/Views/ScrollView/RCTScrollableProtocol.h +0 -4
  300. package/React-Core-prebuilt.podspec +45 -17
  301. package/React-Core.podspec +10 -3
  302. package/React.podspec +1 -1
  303. package/ReactAndroid/api/ReactAndroid.api +128 -142
  304. package/ReactAndroid/build.gradle.kts +27 -22
  305. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  306. package/ReactAndroid/gradle.properties +1 -1
  307. package/ReactAndroid/hermes-engine/build.gradle.kts +14 -14
  308. package/ReactAndroid/publish.gradle +5 -5
  309. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  310. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -2
  313. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +4 -6
  314. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -3
  315. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  316. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +0 -16
  317. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -1
  318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +15 -2
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  323. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  324. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  325. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +63 -22
  326. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  328. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  329. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  330. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +50 -47
  331. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  332. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +0 -4
  333. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -10
  334. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +40 -38
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -10
  338. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +0 -3
  339. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +15 -11
  340. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +4 -4
  341. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +7 -13
  342. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +160 -187
  343. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  344. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +30 -66
  345. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -111
  346. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -23
  347. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +12 -24
  348. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +57 -123
  349. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +7 -5
  350. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  351. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -23
  352. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  353. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -4
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +50 -0
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +8 -4
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +53 -3
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +2 -77
  362. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  363. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +2 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +1 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +9 -4
  366. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +4 -19
  367. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +2 -6
  368. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +47 -10
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -49
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +2 -4
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +27 -27
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +8 -8
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +3 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +6 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +2 -2
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +6 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +7 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +0 -3
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -4
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1640 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +6 -6
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1317 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +8 -8
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1309 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +7 -7
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +19 -33
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +8 -6
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +4 -4
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +13 -20
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +7 -1
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +122 -10
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +92 -2
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +3 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +41 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +48 -2
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +361 -15
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/{DrawCommandSpan.kt → CanvasEffectSpan.kt} +3 -4
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +23 -3
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +83 -11
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +6 -2
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +3 -17
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +8 -0
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +7 -8
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +15 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +6 -0
  441. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  442. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  443. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  444. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  445. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  446. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  447. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  448. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  449. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  450. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +16 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +12 -2
  454. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  455. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +4 -4
  456. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  457. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  458. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  459. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +24 -2
  460. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  461. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  462. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -2
  463. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  464. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  465. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +10 -10
  466. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  467. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -15
  468. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -3
  469. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  470. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +69 -153
  471. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +15 -33
  472. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  473. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  474. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  475. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +4 -1
  476. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +8 -0
  477. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +4 -0
  478. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +5 -0
  479. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  480. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  481. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  482. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  483. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  484. package/ReactCommon/React-Fabric.podspec +3 -1
  485. package/ReactCommon/React-FabricComponents.podspec +1 -1
  486. package/ReactCommon/React-FabricImage.podspec +1 -1
  487. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  488. package/ReactCommon/ReactCommon.podspec +3 -13
  489. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  490. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -3
  491. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  492. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  493. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  494. package/ReactCommon/cxxreact/Instance.h +0 -2
  495. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  496. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  497. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  498. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -2
  499. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -30
  500. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  501. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  502. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  503. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  504. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  505. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -79
  506. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  507. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  508. package/{React/CxxLogUtils/RCTDefaultCxxLogFunction.h → ReactCommon/jserrorhandler/ErrorUtils.h} +2 -2
  509. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  510. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +3 -4
  511. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  512. package/ReactCommon/jsi/jsi/hermes-interfaces.h +53 -0
  513. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  514. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +3 -14
  515. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +4 -13
  516. package/ReactCommon/jsinspector-modern/HostAgent.cpp +54 -0
  517. package/ReactCommon/jsinspector-modern/HostTarget.h +0 -7
  518. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +10 -7
  519. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +4 -1
  520. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  521. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +7 -0
  522. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +20 -0
  523. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -0
  524. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  525. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  526. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  527. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  528. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +14 -1
  529. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  530. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +11 -0
  531. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  532. package/ReactCommon/logger/React-logger.podspec +1 -1
  533. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  534. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  535. package/ReactCommon/react/bridging/Bridging.h +1 -0
  536. package/ReactCommon/react/bridging/Convert.h +12 -0
  537. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  538. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  539. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  540. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  541. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  542. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  543. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  544. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  545. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  546. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  547. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  548. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -45
  549. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -56
  550. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +134 -242
  551. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +14 -26
  552. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +20 -44
  553. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +43 -97
  554. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +10 -6
  555. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  556. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -8
  557. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +7 -13
  558. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -0
  559. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -0
  560. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  561. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  562. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -2
  563. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -2
  564. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +4 -0
  565. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -1
  566. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +61 -4
  567. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  568. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +37 -139
  569. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  570. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +6 -0
  571. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  572. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  573. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -1
  574. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +25 -55
  575. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -23
  576. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  577. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +2 -1
  578. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +2 -1
  579. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  580. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +4 -0
  581. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +2 -1
  582. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  583. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  584. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  585. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +2 -1
  586. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  587. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  588. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  589. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +95 -63
  590. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +20 -1
  591. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +7 -10
  592. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +20 -1
  593. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  594. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  595. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +67 -6
  596. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +12 -0
  597. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +25 -13
  598. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +7 -0
  599. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +48 -0
  600. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  601. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  602. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -1
  603. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  604. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +17 -0
  605. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  606. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  607. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  608. package/ReactCommon/react/renderer/attributedstring/conversions.h +29 -1
  609. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  610. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  611. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  612. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  613. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  614. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  615. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  616. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  617. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  622. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  623. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +4 -0
  624. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +5 -0
  625. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -0
  626. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +5 -0
  627. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +235 -352
  628. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +30 -46
  629. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  630. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -10
  631. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  632. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  633. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  634. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  635. package/{Libraries/Text/VirtualText/RCTVirtualTextView.mm → ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp} +4 -6
  636. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  637. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +18 -28
  638. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  639. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  640. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +168 -754
  641. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +0 -9
  642. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +248 -312
  643. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -6
  644. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  645. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +73 -27
  646. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  647. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -11
  648. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +82 -162
  649. package/ReactCommon/react/renderer/components/view/primitives.h +5 -0
  650. package/ReactCommon/react/renderer/components/view/propsConversions.h +74 -42
  651. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +5 -5
  652. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +353 -6
  653. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  654. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +41 -16
  655. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +19 -0
  656. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  657. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -0
  658. package/ReactCommon/react/renderer/core/Props.cpp +8 -39
  659. package/ReactCommon/react/renderer/core/Props.h +63 -13
  660. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  661. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  662. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +11 -27
  663. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  664. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +4 -6
  665. package/ReactCommon/react/renderer/core/RawPropsParser.h +3 -3
  666. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  667. package/ReactCommon/react/renderer/core/propsConversions.h +3 -7
  668. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  669. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  670. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  671. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  672. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  673. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  674. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  675. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  676. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  677. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +17 -0
  678. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  679. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  680. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +123 -33
  681. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +26 -14
  682. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +96 -53
  683. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  684. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  685. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +29 -318
  686. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +105 -33
  687. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -0
  688. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  689. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +11 -3
  690. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  691. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +15 -250
  692. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  693. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  694. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  695. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -1
  696. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  697. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  698. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  699. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  700. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  701. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  702. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  703. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +113 -8
  704. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +14 -6
  705. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -2
  706. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -85
  707. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +0 -6
  708. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  709. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  710. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +4 -2
  711. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +11 -0
  712. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +65 -26
  713. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +1 -1
  714. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +193 -1
  715. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +14 -2
  716. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -1
  717. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  718. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +31 -41
  719. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
  720. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  721. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +1 -52
  722. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  723. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +88 -39
  724. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +12 -2
  725. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +10 -0
  726. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  727. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  728. package/ReactCommon/react/runtime/ReactInstance.cpp +79 -64
  729. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  730. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  731. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  732. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  733. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +1 -1
  734. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +47 -30
  735. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  736. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  737. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  738. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  739. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  740. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  741. package/ReactCommon/react/utils/Telemetry.h +0 -13
  742. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  743. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  744. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  745. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  746. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  747. package/ReactCommon/yoga/Yoga.podspec +2 -2
  748. package/ReactCommon/yoga/yoga/YGEnums.cpp +2 -0
  749. package/ReactCommon/yoga/yoga/YGEnums.h +1 -0
  750. package/ReactCommon/yoga/yoga/YGNode.cpp +27 -0
  751. package/ReactCommon/yoga/yoga/YGNode.h +69 -0
  752. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  753. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +283 -10
  754. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  755. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  756. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -0
  757. package/ReactCommon/yoga/yoga/node/Node.cpp +32 -0
  758. package/ReactCommon/yoga/yoga/node/Node.h +33 -0
  759. package/changes.json +6 -14
  760. package/cli.js +3 -182
  761. package/flow/bom.js.flow +42 -42
  762. package/flow/cssom.js.flow +21 -21
  763. package/flow/dom.js.flow +128 -128
  764. package/flow/global.js +6 -0
  765. package/gradle/libs.versions.toml +7 -5
  766. package/index.js +53 -86
  767. package/index.js.flow +53 -23
  768. package/package.json +47 -66
  769. package/react-native.config.js +82 -1
  770. package/scripts/cocoapods/fabric.rb +1 -1
  771. package/scripts/cocoapods/jsengine.rb +1 -1
  772. package/scripts/cocoapods/new_architecture.rb +1 -1
  773. package/scripts/cocoapods/rncore.rb +36 -78
  774. package/scripts/cocoapods/rncore_facades.rb +232 -0
  775. package/scripts/cocoapods/rndependencies.rb +83 -16
  776. package/scripts/cocoapods/rndeps_facades.rb +193 -0
  777. package/scripts/cocoapods/spm.rb +79 -12
  778. package/scripts/cocoapods/utils.rb +7 -9
  779. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +0 -1
  780. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  781. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  782. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -2
  783. package/scripts/hermes/hermes-utils.js +27 -58
  784. package/scripts/ios-configure-glog.sh +1 -1
  785. package/scripts/react-native-xcode.sh +20 -0
  786. package/scripts/react_native_pods.rb +71 -21
  787. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  788. package/scripts/replace-rncore-version.js +75 -88
  789. package/scripts/setup-apple-spm.js +1283 -0
  790. package/scripts/spm/autolinking-plugins.js +411 -0
  791. package/scripts/spm/download-spm-artifacts.js +1467 -0
  792. package/scripts/spm/expand-spm-dependencies.js +435 -0
  793. package/scripts/spm/flavored-frameworks.js +1008 -0
  794. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  795. package/scripts/spm/generate-spm-autolinking.js +2005 -0
  796. package/scripts/spm/generate-spm-package.js +314 -0
  797. package/scripts/spm/generate-spm-xcodeproj.js +2790 -0
  798. package/scripts/spm/read-podspec.js +695 -0
  799. package/scripts/spm/scaffold-package-swift.js +1247 -0
  800. package/scripts/spm/spm-pbxproj.js +784 -0
  801. package/scripts/spm/spm-types.js +546 -0
  802. package/scripts/spm/spm-utils.js +760 -0
  803. package/scripts/spm/sync-spm-autolinking.js +160 -0
  804. package/sdks/.hermesv1version +1 -1
  805. package/sdks/hermes-engine/hermes-engine.podspec +9 -39
  806. package/sdks/hermes-engine/hermes-utils.rb +19 -73
  807. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  808. package/sdks/hermes-engine/version.properties +1 -2
  809. package/settings.gradle.kts +0 -43
  810. package/src/asset-registry.js +29 -0
  811. package/src/private/animated/NativeAnimatedHelper.js +45 -21
  812. package/src/private/assets/AssetRegistry.js +52 -0
  813. package/src/private/{specs_DEPRECATED/components → components/activityindicator/specs}/ActivityIndicatorViewNativeComponent.js +5 -5
  814. package/src/private/{specs_DEPRECATED/components → components/debuggingoverlay/specs}/DebuggingOverlayNativeComponent.js +8 -8
  815. package/src/private/{specs_DEPRECATED/components → components/drawerlayoutandroid/specs}/AndroidDrawerLayoutNativeComponent.js +8 -8
  816. package/src/private/{specs_DEPRECATED/components → components/inputaccessoryview/specs}/RCTInputAccessoryViewNativeComponent.js +4 -4
  817. package/src/private/{specs_DEPRECATED/components → components/modal/specs}/RCTModalHostViewNativeComponent.js +4 -9
  818. package/src/private/{specs_DEPRECATED/components → components/progressbarandroid/specs}/ProgressBarAndroidNativeComponent.js +5 -5
  819. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/AndroidSwipeRefreshLayoutNativeComponent.js +7 -7
  820. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/PullToRefreshViewNativeComponent.js +7 -7
  821. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  822. package/src/private/{specs_DEPRECATED/components → components/safeareaview/specs}/RCTSafeAreaViewNativeComponent.js +3 -3
  823. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  824. package/src/private/{specs_DEPRECATED/components → components/scrollview/specs}/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  825. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/AndroidSwitchNativeComponent.js +7 -7
  826. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/SwitchNativeComponent.js +10 -7
  827. package/src/private/{specs_DEPRECATED/components → components/unimplementedview/specs}/UnimplementedNativeViewNativeComponent.js +4 -4
  828. package/src/private/components/virtualcollection/Virtual.js +5 -5
  829. package/src/private/components/virtualcollection/VirtualCollectionView.js +2 -6
  830. package/src/private/components/virtualcollection/column/VirtualColumn.js +1 -1
  831. package/src/private/components/virtualcollection/row/VirtualRow.js +1 -1
  832. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +3 -1
  833. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +4 -4
  834. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +4 -2
  835. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  836. package/src/private/featureflags/ReactNativeFeatureFlags.js +46 -70
  837. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -94
  838. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  839. package/src/private/renderer/events/ReactNativeResponder.js +49 -4
  840. package/src/private/renderer/events/ResponderTouchHistoryStore.js +11 -2
  841. package/src/private/renderer/events/dispatchNativeEvent.js +71 -36
  842. package/src/private/setup/setUpDOM.js +19 -9
  843. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  844. package/src/private/setup/setUpMutationObserver.js +3 -1
  845. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +9 -9
  846. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +24 -24
  847. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +28 -28
  848. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  849. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +45 -25
  850. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  851. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +4 -4
  852. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +8 -6
  853. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +7 -7
  854. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +3 -3
  855. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +2 -2
  856. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +11 -11
  857. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  858. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  859. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +7 -7
  860. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +4 -4
  861. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  862. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +4 -4
  863. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +2 -2
  864. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  865. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +13 -13
  866. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +9 -6
  867. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +6 -6
  868. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  869. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +8 -5
  870. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +5 -5
  871. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  872. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +2 -2
  873. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +6 -6
  874. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +2 -2
  875. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +2 -2
  876. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +5 -5
  877. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +6 -6
  878. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +6 -4
  879. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  880. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +1 -1
  881. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +35 -31
  882. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +2 -2
  883. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +24 -24
  884. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +2 -2
  885. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +3 -3
  886. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +2 -2
  887. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  888. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  889. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  890. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  891. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +3 -3
  892. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +4 -4
  893. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +35 -22
  894. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +4 -4
  895. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +7 -7
  896. package/src/private/types/HostInstance.js +38 -80
  897. package/src/private/viewtransition/specs/NativeViewTransition.js +6 -4
  898. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  899. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  900. package/src/private/webapis/dom/events/CustomEvent.js +1 -1
  901. package/src/private/webapis/dom/events/Event.js +12 -12
  902. package/src/private/webapis/dom/events/EventTarget.js +146 -37
  903. package/src/private/webapis/dom/events/internals/EventInternals.js +36 -0
  904. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +38 -3
  905. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  906. package/src/private/webapis/dom/nodes/ReactNativeElement.js +105 -4
  907. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  908. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +9 -0
  909. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +34 -7
  910. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  911. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +46 -42
  912. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +12 -0
  913. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +4 -2
  914. package/src/private/webapis/dom/oldstylecollections/NodeList.js +10 -0
  915. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -3
  916. package/src/private/webapis/errors/DOMException.js +50 -50
  917. package/src/private/webapis/geometry/DOMRectList.js +12 -0
  918. package/src/private/webapis/geometry/DOMRectList.js.flow +3 -1
  919. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  920. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  921. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  922. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +3 -7
  923. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +5 -5
  924. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  925. package/src/private/webapis/mutationobserver/MutationObserver.js +7 -7
  926. package/src/private/webapis/mutationobserver/MutationRecord.js +12 -0
  927. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +5 -7
  928. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +5 -5
  929. package/src/private/webapis/performance/EventTiming.js +3 -3
  930. package/src/private/webapis/performance/PerformanceEntry.js +3 -3
  931. package/src/private/webapis/performance/PerformanceObserver.js +4 -4
  932. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  933. package/src/private/webapis/performance/UserTiming.js +3 -3
  934. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  935. package/src/private/webapis/performance/specs/NativePerformance.js +26 -20
  936. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  937. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  938. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  939. package/src/react-private-interface.js +145 -0
  940. package/src/react-private-interface.js.flow +48 -0
  941. package/src/setup-env.js +22 -0
  942. package/src/types/globals.d.ts +35 -3
  943. package/src/unstable-internals-do-not-use.d.ts +214 -0
  944. package/src/unstable-internals-do-not-use.js +76 -0
  945. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  946. package/third-party-podspecs/ReactNativeDependencies.podspec +3 -3
  947. package/third-party-podspecs/glog.podspec +1 -1
  948. package/types/index.d.ts +0 -1
  949. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  950. package/types/public/ReactNativeTypes.d.ts +6 -4
  951. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +26 -31
  952. package/types_generated/Libraries/Alert/Alert.d.ts +44 -7
  953. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +2 -2
  954. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +2 -2
  955. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +108 -4
  956. package/types_generated/Libraries/Animated/Easing.d.ts +5 -4
  957. package/types_generated/Libraries/Animated/animations/Animation.d.ts +7 -7
  958. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +5 -5
  959. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +49 -49
  960. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +13 -13
  961. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +3 -3
  962. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  963. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +3 -3
  964. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +4 -4
  965. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +2 -2
  966. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +9 -9
  967. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +6 -3
  968. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +3 -3
  969. package/types_generated/Libraries/AppState/AppState.d.ts +41 -22
  970. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +8 -1
  971. package/types_generated/Libraries/Blob/BlobTypes.d.ts +4 -4
  972. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +37 -46
  973. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +92 -43
  974. package/types_generated/Libraries/Components/Button.d.ts +118 -197
  975. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +6 -1
  976. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +44 -63
  977. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +30 -61
  978. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +30 -21
  979. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +41 -17
  980. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +6 -6
  981. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +5 -5
  982. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +18 -1
  983. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +35 -52
  984. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -11
  985. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +212 -88
  986. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +4 -4
  987. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +29 -62
  988. package/types_generated/Libraries/Components/Switch/Switch.d.ts +75 -70
  989. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +16 -65
  990. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +118 -3
  991. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +24 -9
  992. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +18 -18
  993. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +24 -13
  994. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +27 -64
  995. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +18 -6
  996. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +28 -28
  997. package/types_generated/Libraries/Components/View/View.d.ts +13 -9
  998. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +31 -20
  999. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +1 -2
  1000. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +75 -24
  1001. package/types_generated/Libraries/Core/ExtendedError.d.ts +10 -10
  1002. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +34 -1
  1003. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +4 -1
  1004. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +2 -13
  1005. package/types_generated/Libraries/Image/ImageBackground.d.ts +33 -22
  1006. package/types_generated/Libraries/Image/ImageProps.d.ts +201 -251
  1007. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +6 -5
  1008. package/types_generated/Libraries/Interaction/PanResponder.d.ts +103 -97
  1009. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +18 -7
  1010. package/types_generated/Libraries/Linking/Linking.d.ts +28 -20
  1011. package/types_generated/Libraries/Lists/FlatList.d.ts +17 -18
  1012. package/types_generated/Libraries/Lists/SectionList.d.ts +10 -5
  1013. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +3 -1
  1014. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +3 -1
  1015. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +2 -2
  1016. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +2 -2
  1017. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +2 -2
  1018. package/types_generated/Libraries/LogBox/LogBox.d.ts +4 -1
  1019. package/types_generated/Libraries/Modal/Modal.d.ts +70 -35
  1020. package/types_generated/Libraries/Network/FormData.d.ts +5 -5
  1021. package/types_generated/Libraries/Performance/Systrace.d.ts +11 -1
  1022. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +31 -21
  1023. package/types_generated/Libraries/Pressability/Pressability.d.ts +5 -5
  1024. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +15 -11
  1025. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +5 -5
  1026. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +56 -9
  1027. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +20 -1
  1028. package/types_generated/Libraries/ReactNative/IPerformanceLogger.flow.d.ts +5 -5
  1029. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +6 -22
  1030. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +34 -34
  1031. package/types_generated/Libraries/Share/Share.d.ts +36 -39
  1032. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +7 -1
  1033. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +3 -3
  1034. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +202 -181
  1035. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +3 -3
  1036. package/types_generated/Libraries/Text/Text.d.ts +10 -6
  1037. package/types_generated/Libraries/Text/TextProps.d.ts +57 -102
  1038. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +2 -2
  1039. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +14 -8
  1040. package/types_generated/Libraries/Utilities/Appearance.d.ts +25 -13
  1041. package/types_generated/Libraries/Utilities/BackHandler.d.ts +17 -1
  1042. package/types_generated/Libraries/Utilities/DevSettings.d.ts +9 -2
  1043. package/types_generated/Libraries/Utilities/Dimensions.d.ts +19 -13
  1044. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +6 -3
  1045. package/types_generated/Libraries/Utilities/Platform.d.ts +5 -1
  1046. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +65 -6
  1047. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +5 -5
  1048. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +2 -2
  1049. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +2 -2
  1050. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +12 -2
  1051. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +7 -1
  1052. package/types_generated/Libraries/Vibration/Vibration.d.ts +14 -6
  1053. package/types_generated/index.d.ts +31 -25
  1054. package/types_generated/src/private/assets/AssetRegistry.d.ts +42 -0
  1055. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +5 -5
  1056. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +3 -3
  1057. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +3 -3
  1058. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +7 -7
  1059. package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +5 -5
  1060. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +5 -5
  1061. package/types_generated/src/private/renderer/events/dispatchNativeEvent.d.ts +26 -0
  1062. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +6 -5
  1063. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +7 -7
  1064. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +5 -5
  1065. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +8 -8
  1066. package/types_generated/src/private/types/HostComponent.d.ts +3 -3
  1067. package/types_generated/src/private/types/HostInstance.d.ts +39 -74
  1068. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +2 -2
  1069. package/types_generated/src/private/webapis/dom/events/Event.d.ts +4 -4
  1070. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +8 -8
  1071. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +3 -1
  1072. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +57 -4
  1073. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +3 -1
  1074. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +3 -1
  1075. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +4 -2
  1076. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +3 -1
  1077. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +3 -3
  1078. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +3 -1
  1079. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +3 -1
  1080. package/types_generated/src/react-private-interface.d.ts +33 -0
  1081. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  1082. package/Libraries/Image/AssetRegistry.js +0 -14
  1083. package/Libraries/Image/RCTImageShadowView.h +0 -17
  1084. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  1085. package/Libraries/Image/RCTImageView.h +0 -32
  1086. package/Libraries/Image/RCTImageView.mm +0 -508
  1087. package/Libraries/Image/RCTImageViewManager.h +0 -17
  1088. package/Libraries/Image/RCTImageViewManager.mm +0 -115
  1089. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  1090. package/Libraries/Interaction/InteractionManager.js +0 -189
  1091. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  1092. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  1093. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  1094. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -64
  1095. package/Libraries/Text/RCTTextAttributes.h +0 -107
  1096. package/Libraries/Text/RCTTextAttributes.mm +0 -358
  1097. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  1098. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  1099. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  1100. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  1101. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  1102. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  1103. package/Libraries/Text/Text/RCTTextView.h +0 -34
  1104. package/Libraries/Text/Text/RCTTextView.mm +0 -298
  1105. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  1106. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -97
  1107. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -21
  1108. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -67
  1109. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  1110. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -28
  1111. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  1112. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -367
  1113. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -68
  1114. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -849
  1115. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  1116. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -181
  1117. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  1118. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -24
  1119. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  1120. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  1121. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  1122. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  1123. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  1124. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  1125. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  1126. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -43
  1127. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  1128. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -35
  1129. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  1130. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  1131. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  1132. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  1133. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  1134. package/Libraries/Utilities/SceneTracker.js +0 -42
  1135. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  1136. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  1137. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  1138. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  1139. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -25
  1140. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  1141. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  1142. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  1143. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  1144. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  1145. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  1146. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  1147. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  1148. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -30
  1149. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  1150. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  1151. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  1152. package/React/Base/RCTRootContentView.h +0 -43
  1153. package/React/Base/RCTRootContentView.m +0 -111
  1154. package/React/Base/RCTRootViewInternal.h +0 -28
  1155. package/React/CxxBridge/RCTCxxBridge.mm +0 -1572
  1156. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  1157. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  1158. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  1159. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  1160. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -34
  1161. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  1162. package/React/CxxModule/RCTCxxMethod.h +0 -17
  1163. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  1164. package/React/CxxModule/RCTNativeModule.h +0 -34
  1165. package/React/CxxModule/RCTNativeModule.mm +0 -241
  1166. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  1167. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  1168. package/React/Views/RCTActivityIndicatorView.h +0 -16
  1169. package/React/Views/RCTActivityIndicatorView.m +0 -26
  1170. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  1171. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  1172. package/React/Views/RCTDebuggingOverlayManager.h +0 -17
  1173. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  1174. package/React/Views/RCTModalHostView.h +0 -64
  1175. package/React/Views/RCTModalHostView.m +0 -264
  1176. package/React/Views/RCTModalHostViewController.m +0 -74
  1177. package/React/Views/RCTModalHostViewManager.m +0 -131
  1178. package/React/Views/RCTModalManager.h +0 -22
  1179. package/React/Views/RCTModalManager.m +0 -46
  1180. package/React/Views/RCTRootShadowView.h +0 -35
  1181. package/React/Views/RCTRootShadowView.m +0 -53
  1182. package/React/Views/RCTShadowView+Internal.h +0 -18
  1183. package/React/Views/RCTShadowView+Internal.m +0 -23
  1184. package/React/Views/RCTSwitch.h +0 -22
  1185. package/React/Views/RCTSwitch.m +0 -24
  1186. package/React/Views/RCTSwitchManager.h +0 -17
  1187. package/React/Views/RCTSwitchManager.m +0 -70
  1188. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -24
  1189. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -230
  1190. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -17
  1191. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -47
  1192. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  1193. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  1194. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  1195. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -79
  1196. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  1197. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  1198. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  1199. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -32
  1200. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  1201. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -35
  1202. package/React/Views/ScrollView/RCTScrollContentView.h +0 -19
  1203. package/React/Views/ScrollView/RCTScrollContentView.m +0 -36
  1204. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  1205. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -31
  1206. package/React/Views/ScrollView/RCTScrollView.m +0 -1168
  1207. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -25
  1208. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -202
  1209. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  1210. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  1211. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  1212. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +0 -89
  1213. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -736
  1214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -221
  1215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -399
  1216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -35
  1217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -346
  1218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -666
  1219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -147
  1220. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -113
  1221. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  1222. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1838
  1223. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +0 -1646
  1224. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1638
  1225. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -51
  1226. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  1227. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  1228. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -37
  1229. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  1230. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  1231. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -33
  1232. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  1233. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +0 -39
  1234. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  1235. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -49
  1236. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  1237. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  1238. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -928
  1239. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  1240. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  1241. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  1242. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  1243. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  1244. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +0 -23
  1245. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +0 -37
  1246. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -135
  1247. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  1248. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  1249. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  1250. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -78
  1251. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  1252. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  1253. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -168
  1254. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  1255. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  1256. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -134
  1257. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -290
  1258. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -62
  1259. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -39
  1260. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +0 -170
  1261. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +0 -95
  1262. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  1263. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +0 -154
  1264. package/interface.js +0 -21
  1265. package/jest-preset.js +0 -26
  1266. package/rn-get-polyfills.js +0 -13
  1267. package/sdks/.hermesversion +0 -1
  1268. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +0 -13
  1269. package/types/tsconfig.json +0 -15
  1270. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1271. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1272. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1273. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1274. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1275. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -262
  1276. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -117
  1277. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1278. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1279. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1280. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1281. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1282. package/types_generated/tsconfig.test.json +0 -16
  1283. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -0,0 +1,1247 @@
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
+ /*::
14
+ import type {
15
+ AutolinkedDep,
16
+ AutolinkingIosPlatform,
17
+ PodspecModel,
18
+ ScaffoldResult,
19
+ SpmScaffoldSpec,
20
+ } from './spm-types';
21
+ */
22
+
23
+ /**
24
+ * scaffold-package-swift.js — generates a `Package.swift` into
25
+ * `node_modules/<dep>/` for community RN libraries that don't ship SPM
26
+ * support. The autolinker's existing `isSelfManagedPackage` check
27
+ * (generate-spm-autolinking.js, AUTOGEN_MARKER) treats these scaffolded
28
+ * files as self-managed and references them directly from the aggregator —
29
+ * no autolinker changes required.
30
+ *
31
+ * Three layers:
32
+ * - translatePodspecToSpmTarget(model, dep): pure translation
33
+ * - emitScaffoldedPackageSwift(spec, ctx): pure Swift emission
34
+ * - scaffoldPackageSwiftForDep(dep, ctx): I/O + skip-rule + write
35
+ * - scaffoldAll(opts): orchestrator over autolinking.json
36
+ */
37
+
38
+ const {
39
+ SpmNameCollisionError,
40
+ defaultReadConfig,
41
+ defaultResolveDep,
42
+ expandSpmDependencies,
43
+ } = require('./expand-spm-dependencies');
44
+ const {expandSpmSourceGlobs} = require('./generate-spm-autolinking');
45
+ const {readPodspec} = require('./read-podspec');
46
+ const {
47
+ REACT_CODEGEN_PACKAGE_NAME,
48
+ REACT_CODEGEN_PRODUCTS,
49
+ REACT_NATIVE_PACKAGE_NAME,
50
+ REACT_NATIVE_PRODUCTS,
51
+ SCAFFOLDER_MARKER,
52
+ makeLogger,
53
+ remotePackageConfig,
54
+ toSwiftName,
55
+ } = require('./spm-utils');
56
+ const fs = require('fs');
57
+ const path = require('path');
58
+
59
+ const {log} = makeLogger('scaffold-package-swift');
60
+
61
+ // SCAFFOLDER_MARKER lives in spm-utils.js (shared, no import cycle). It must NOT
62
+ // contain the autolinker's AUTOGEN_MARKER ('// AUTO-GENERATED by
63
+ // scripts/generate-spm-autolinking.js') — that marker is what the autolinker
64
+ // uses to tell self-managed deps from its own synth output. Our marker is
65
+ // recognized by the scaffolder itself (skip-rule), but invisible to the
66
+ // autolinker (treated as self-managed).
67
+
68
+ // Bump when the emitter's output format changes in a way that requires
69
+ // re-scaffolding existing files (rather than just being a content drift the
70
+ // cache-slot label already handles). v2: swift-tools-version moved to
71
+ // line 1 — pre-v2 scaffolds emit it on a later line, which recent Xcode
72
+ // rejects with "Swift tools version 3.1.0 ... no longer supported". v4: the
73
+ // single `let rnHeaders = appRoot + "/.../ReactHeadersAll"` split into the two
74
+ // `rnCoreHeaders` / `appHeaders` lets (merged tree replaced by two trees), so
75
+ // pre-v4 scaffolds reference a tree that is no longer materialized. v5:
76
+ // header resolution moved to product dependencies (ReactNativeHeaders +
77
+ // ReactAppHeaders binary/headers targets) — the rnCoreHeaders/appHeaders
78
+ // trees no longer exist, so pre-v5 scaffolds carry dead lets and would break
79
+ // if anything still referenced them. v7: the runtime appRoot walker and the
80
+ // siblingPath helper are gone — package paths are plain relative strings
81
+ // computed at scaffold time (the walker anchored on
82
+ // build/xcframeworks/Package.swift, which remote mode no longer writes).
83
+ //
84
+ // Skip-rule contract: when an existing file's version is < this constant,
85
+ // the scaffolder regenerates regardless of --force (the bump implies the
86
+ // existing file is broken under current tooling). A file with the marker
87
+ // but no version line is treated as v1.
88
+ // v8: relative app paths (codegen / xcframeworks) are now computed from the
89
+ // autolinker's libs/<SwiftName> symlink location instead of the real dep.root,
90
+ // fixing a doubled-path resolution failure on fresh SwiftPM resolves.
91
+ // v9: header search paths derived from each subspec's header_mappings_dir
92
+ // (dirname) so namespaced includes (`<reanimated/...>`) resolve. v10:
93
+ // publicHeadersPath derived from the header_mappings_dir namespace root so a
94
+ // package exposes `<namespace/...>` to dependents; pod-style sibling deps
95
+ // (reanimated's `s.dependency "RNWorklets"`) wired to their npm package. v11:
96
+ // sibling .package path uses the libs/<SwiftName> symlink name, not the npm
97
+ // name (fixes "package ... doesn't exist" on resolve). v12: preprocessor
98
+ // defines from pod_target_xcconfig emitted as `.define(...)`. v13: ObjC(++)
99
+ // targets get an ambient-import prefix header (Foundation/UIKit) `-include`d,
100
+ // replacing CocoaPods' generated prefix.pch. v18: React-core deps also get
101
+ // the ReactNativeDependenciesHeaders product (ReactNativeHeaders went
102
+ // pure-RN; folly/glog/boost/... now come from the deps sidecar);
103
+ // publicHeadersPath falls back to "." for root-level-source podspecs
104
+ // (`s.source_files = "*.{h,m,mm}"`) instead of SPM's nonexistent `include/`.
105
+ // v19: scaffolded C++ targets carry DEBUG/NDEBUG config defines so their Fabric
106
+ // ABI matches the prebuilt React.framework (Release strips DebugStringConvertible
107
+ // under NDEBUG). Bumped so existing scaffolds regenerate with the defines.
108
+ const SCAFFOLDER_VERSION = 19;
109
+ const SCAFFOLDER_VERSION_LINE_RE = /^\/\/ AUTO-SCAFFOLDED-VERSION: (\d+)$/m;
110
+
111
+ const AUTOGEN_MARKER =
112
+ '// AUTO-GENERATED by scripts/generate-spm-autolinking.js';
113
+
114
+ // CocoaPods auto-generates a `<Target>-prefix.pch` that imports Foundation +
115
+ // UIKit into every ObjC translation unit, so pod sources can use NSThread /
116
+ // dispatch / UIKit symbols without an explicit import. SPM has no prefix-header
117
+ // mechanism, so we emit this file at the dep root and `-include` it on the
118
+ // target (cSettings + cxxSettings) to reproduce that ambient import. The
119
+ // `__OBJC__` guard makes it inert for plain C/C++ sources, and UIKit is
120
+ // `__has_include`-guarded for platforms that lack it.
121
+ // The config-gated C++ defines the prebuilt React.framework is built with (see
122
+ // packages/react-native/Package.swift). Fabric C++ in autolinked deps must
123
+ // compile with the SAME NDEBUG state or its DebugStringConvertible / ShadowNode
124
+ // ABI diverges from the Release React.framework and the link fails.
125
+ const REACT_CXX_CONFIG_DEFINES = [
126
+ '.define("DEBUG", .when(configuration: .debug))',
127
+ '.define("NDEBUG", .when(configuration: .release))',
128
+ ];
129
+
130
+ const SCAFFOLD_PREFIX_HEADER = 'react-native-spm-prefix.h';
131
+ const SCAFFOLD_PREFIX_HEADER_CONTENTS = `// AUTO-SCAFFOLDED by react-native spm scaffold — mirrors CocoaPods' default
132
+ // prefix header so ObjC sources that rely on an implicit Foundation/UIKit
133
+ // import compile under SPM (which has no prefix-header mechanism). Safe to
134
+ // delete + regenerate via \`npx react-native spm scaffold\`.
135
+ #ifdef __OBJC__
136
+ #import <Foundation/Foundation.h>
137
+ #if __has_include(<UIKit/UIKit.h>)
138
+ #import <UIKit/UIKit.h>
139
+ #endif
140
+ #endif
141
+ `;
142
+
143
+ // Names of deps the scaffolder always refuses to touch — `react-native`
144
+ // itself is handled by the xcframework subpackage, never as an autolinked
145
+ // target.
146
+ const NEVER_SCAFFOLD /*: ReadonlySet<string> */ = new Set(['react-native']);
147
+
148
+ // React-core / React-Fabric / etc. dependency names collapse to a single
149
+ // invariant React header-product set. The app target links the prebuilt
150
+ // runtime frameworks outside SwiftPM. This
151
+ // list matches what `install_modules_dependencies(s)` materializes plus
152
+ // common podspec hand-rolled additions.
153
+ const REACT_CORE_DEP_PREFIXES = [
154
+ 'React-',
155
+ 'React_',
156
+ 'ReactCommon',
157
+ 'RCT-Folly',
158
+ 'RCT',
159
+ 'glog',
160
+ 'boost',
161
+ 'fmt',
162
+ 'DoubleConversion',
163
+ 'Yoga',
164
+ 'hermes-engine',
165
+ ];
166
+
167
+ function isReactCoreDep(name /*: string */) /*: boolean */ {
168
+ return REACT_CORE_DEP_PREFIXES.some(p => name.startsWith(p));
169
+ }
170
+
171
+ // True when the dep ships a `codegenConfig` in package.json — RN's standard
172
+ // marker that the library participates in the New Architecture / codegen. Such
173
+ // a lib's Fabric sources include the app-generated component headers
174
+ // (`<react/renderer/components/<name>/ShadowNodes.h>` etc.), which are vended by
175
+ // the per-app React-GeneratedCode package — so it implicitly depends on React
176
+ // core even when its podspec only wires that via `install_modules_dependencies`
177
+ // (which we strip). Safe/quiet: a missing or unparseable package.json → false.
178
+ function depHasCodegenConfig(depRoot /*: string */) /*: boolean */ {
179
+ try {
180
+ const pkg = JSON.parse(
181
+ fs.readFileSync(path.join(depRoot, 'package.json'), 'utf8'),
182
+ );
183
+ return pkg != null && pkg.codegenConfig != null;
184
+ } catch {
185
+ return false;
186
+ }
187
+ }
188
+
189
+ // Every subdirectory (relative to depRoot) under depRoot/base, recursively —
190
+ // used to expand a CocoaPods `path/**` recursive header search path into the
191
+ // concrete dirs SPM needs (SPM has no recursive search-path syntax). Skips
192
+ // VCS / build / dependency noise.
193
+ function collectSubdirs(
194
+ depRoot /*: string */,
195
+ base /*: string */,
196
+ ) /*: Array<string> */ {
197
+ const SKIP /*: Set<string> */ = new Set([
198
+ 'node_modules',
199
+ 'Pods',
200
+ 'build',
201
+ '.git',
202
+ ]);
203
+ const out /*: Array<string> */ = [];
204
+ const walk = (absDir /*: string */, relDir /*: string */) => {
205
+ let entries /*: Array<{name: string, isDirectory(): boolean}> */ = [];
206
+ try {
207
+ // $FlowFixMe[incompatible-type] Dirent typing
208
+ entries = fs.readdirSync(absDir, {withFileTypes: true});
209
+ } catch {
210
+ return;
211
+ }
212
+ for (const e of entries) {
213
+ // $FlowFixMe[incompatible-type] Dirent.name is string|Buffer in stubs
214
+ const name /*: string */ = e.name;
215
+ if (!e.isDirectory() || name.startsWith('.') || SKIP.has(name)) continue;
216
+ const rel = relDir === '.' ? name : `${relDir}/${name}`;
217
+ out.push(rel);
218
+ walk(path.join(absDir, name), rel);
219
+ }
220
+ };
221
+ walk(path.join(depRoot, base), base === '.' ? '.' : base);
222
+ return out;
223
+ }
224
+
225
+ // ---------------------------------------------------------------------------
226
+ // Translation
227
+ // ---------------------------------------------------------------------------
228
+
229
+ /**
230
+ * Pure: turns a flattened PodspecModel into an SpmScaffoldSpec the emitter
231
+ * can consume. Substitutes Xcode build-setting tokens (`$(PODS_TARGET_SRCROOT)`)
232
+ * against the dep root, buckets dependencies, drops unknown tokens with a
233
+ * warning.
234
+ */
235
+ function translatePodspecToSpmTarget(
236
+ model /*: PodspecModel */,
237
+ dep /*: AutolinkedDep */,
238
+ // Maps a podspec name (e.g. "RNWorklets") to the npm package name of an
239
+ // autolinked sibling (e.g. "react-native-worklets"). Lets us wire a
240
+ // `s.dependency "RNWorklets"` — a pod-style name the `react-native-*`
241
+ // heuristic can't recognize — to the right sibling package. Empty by default.
242
+ podToNpm /*: Map<string, string> */ = new Map(),
243
+ // npm name → resolved Swift name for every autolinked dep, so a sibling
244
+ // reference honors that sibling's `spm.name` instead of re-deriving it.
245
+ swiftNameByNpm /*: Map<string, string> */ = new Map(),
246
+ ) /*: SpmScaffoldSpec */ {
247
+ const warnings = [...model.warnings];
248
+
249
+ // Swift target name: whatever the autolinker resolved for this dep — its
250
+ // `spm.name` override when set, else toSwiftName(npm-name). The autolinker
251
+ // registers the dep under that name in its aggregator (and in any sibling
252
+ // spm.dependencies refs), so the scaffolded Package.swift's product/library
253
+ // name must match it exactly — otherwise SPM resolution fails with a name
254
+ // mismatch on `.product(name: "X", package: "X")`.
255
+ //
256
+ // The podspec's `header_dir` is captured separately: when it changes the
257
+ // include surface (e.g. `<reanimated/...>` instead of `<ReactNativeReanimated/...>`),
258
+ // header resolution already works via the -I flags from headerSearchPaths
259
+ // (path-style includes like safe-area-context's
260
+ // `<react/renderer/components/safeareacontext/...>` resolve through
261
+ // `-I common/cpp/`). Module-style includes that NEED the target name to
262
+ // match (e.g. reanimated's `<reanimated/X.h>` via SwiftPM's auto-generated
263
+ // module map) are what `spm.name` is for.
264
+ const swiftName = dep.swiftName ?? toSwiftName(dep.name);
265
+
266
+ // Header search paths — substitute Xcode build-setting tokens against the
267
+ // dep root. Anything we can't substitute is dropped + warned (avoids
268
+ // emitting `$(SOMETHING)` literally into the Swift file).
269
+ const headerSearchPaths /*: Array<string> */ = [];
270
+ const addSearchPath = (p /*: string */) => {
271
+ if (p.length > 0 && !headerSearchPaths.includes(p)) {
272
+ headerSearchPaths.push(p);
273
+ }
274
+ };
275
+ for (const raw of model.headerSearchPaths) {
276
+ let substituted = raw
277
+ .replace(/\$\(PODS_TARGET_SRCROOT\)/g, '.')
278
+ .replace(/\$\{PODS_TARGET_SRCROOT\}/g, '.');
279
+ if (/\$[({]/.test(substituted)) {
280
+ warnings.push(
281
+ `Dropped HEADER_SEARCH_PATHS entry "${raw}" — contains unresolved Xcode token. ` +
282
+ `Add it manually if needed.`,
283
+ );
284
+ continue;
285
+ }
286
+ // CocoaPods `path/**` (or `/*`) = recursive search. SPM has no recursive
287
+ // search-path syntax, so add the base dir + every subdirectory under it.
288
+ const recursive = /\/\*\*?$/.test(substituted);
289
+ substituted = substituted
290
+ .replace(/\/\*\*?$/, '') // strip the glob marker
291
+ .replace(/\/{2,}/g, '/'); // collapse `cpp//` → `cpp/`
292
+ // Strip leading "./" (emitter prefixes with the target path) + trailing "/".
293
+ const base = substituted
294
+ .replace(/^\.\//, '')
295
+ .replace(/^\//, '')
296
+ .replace(/\/$/, '');
297
+ addSearchPath(base === '' ? '.' : base);
298
+ if (recursive) {
299
+ for (const sub of collectSubdirs(dep.root, base === '' ? '.' : base)) {
300
+ addSearchPath(sub);
301
+ }
302
+ }
303
+ }
304
+
305
+ // header_mappings_dir → search path. CocoaPods exposes a subspec's headers
306
+ // under `<basename(mappings_dir)>/...` by copying them into Pods/Headers
307
+ // preserving structure relative to the mappings dir. SPM has no such copy
308
+ // step, so namespaced includes like `<reanimated/apple/sensor/X.h>` (header
309
+ // physically at `apple/reanimated/apple/sensor/X.h`, mappings dir
310
+ // `apple/reanimated`) only resolve if the mappings dir's PARENT (`apple`) is
311
+ // on the search path. Add dirname() of every subspec's mappings dir.
312
+ for (const mappingsDir of model.headerMappingsDirs) {
313
+ const parent = path.posix.dirname(mappingsDir.replace(/^\.\//, ''));
314
+ // dirname of a single-segment dir is "." (root) — already implicitly
315
+ // searched; skip it and anything that doesn't exist on disk.
316
+ if (
317
+ parent.length > 0 &&
318
+ parent !== '.' &&
319
+ !headerSearchPaths.includes(parent) &&
320
+ fs.existsSync(path.join(dep.root, parent))
321
+ ) {
322
+ headerSearchPaths.push(parent);
323
+ }
324
+ }
325
+
326
+ // Bucket dependencies. React-Core / React-jsi / RCT-Folly / glog etc. ALL
327
+ // collapse to the invariant React header products
328
+ // reference because they're bundled in the prebuilt React.xcframework.
329
+ // Sibling RN libs (autolinked or self-managed deps) flow through the
330
+ // existing spm-deps mechanism. Unknown names are dropped with a warning.
331
+ let coreReactNative = false;
332
+ const siblingNames /*: Array<string> */ = [];
333
+ const selfPodspecName = model.name;
334
+ for (const depName of model.dependencies) {
335
+ // Cross-subspec refs like "react-native-safe-area-context/common" are a
336
+ // CocoaPods construct for one subspec depending on another from the
337
+ // SAME podspec. After flattenSubspecs has merged everything into one
338
+ // target the subspec ref is meaningless — drop silently.
339
+ if (depName.includes('/') && depName.startsWith(`${selfPodspecName}/`)) {
340
+ continue;
341
+ }
342
+ const podSibling = podToNpm.get(depName.split('/')[0]);
343
+ if (isReactCoreDep(depName)) {
344
+ coreReactNative = true;
345
+ } else if (depName.startsWith('react-native-')) {
346
+ // Generic cross-subspec ref guard for any "package/subspec" form.
347
+ const baseName = depName.split('/')[0];
348
+ if (!siblingNames.includes(baseName)) {
349
+ siblingNames.push(baseName);
350
+ }
351
+ } else if (podSibling != null && podSibling !== dep.name) {
352
+ // A pod-style dependency name (e.g. reanimated's `s.dependency
353
+ // "RNWorklets"`) that resolves to an autolinked sibling's npm package
354
+ // (react-native-worklets). Wire it as a sibling .package/.product so
355
+ // the dep's cross-package includes (`<worklets/...>`) resolve.
356
+ if (!siblingNames.includes(podSibling)) {
357
+ siblingNames.push(podSibling);
358
+ }
359
+ } else {
360
+ // Could be a non-RN dep ("MMKV", "AFNetworking"). The scaffolder
361
+ // doesn't know how to wire those — surface a warning so user can
362
+ // edit the generated Package.swift.
363
+ warnings.push(
364
+ `Unknown dependency "${depName}" — not wired into the scaffolded Package.swift. Edit manually if needed.`,
365
+ );
366
+ }
367
+ }
368
+
369
+ // New-Architecture libraries declare their React-core dependency via the
370
+ // `install_modules_dependencies(s)` podspec helper (which auto-adds
371
+ // React-Core / React-RCTFabric / React-Codegen), NOT an explicit
372
+ // `s.dependency "React-Core"`. We strip that helper when evaluating the
373
+ // podspec, so the React-core dependency never surfaces in model.dependencies
374
+ // and `coreReactNative` would stay false. The authoritative, RN-standard
375
+ // marker for "this lib participates in the New Architecture / codegen" is a
376
+ // `codegenConfig` block in package.json — when present, the app's codegen has
377
+ // generated `react/renderer/components/<name>/{ShadowNodes,Props,…}.h` that
378
+ // the lib's Fabric sources include via angle brackets. Those generated
379
+ // headers live in the per-app React-GeneratedCode package, so the lib must
380
+ // depend on it (and, transitively, on React core). Treat codegenConfig as
381
+ // an implicit React-core dependency.
382
+ // `codegenConfig` only marks Fabric/New-Arch libraries. A plain ObjC module
383
+ // (e.g. rn-tester's TestLibrary*) that wires React core solely through
384
+ // `install_modules_dependencies(s)` has no codegenConfig — but the helper's
385
+ // presence is itself an authoritative "depends on React core" signal, so
386
+ // treat it the same way.
387
+ if (
388
+ !coreReactNative &&
389
+ (depHasCodegenConfig(dep.root) ||
390
+ model.usesInstallModulesDependencies === true)
391
+ ) {
392
+ coreReactNative = true;
393
+ }
394
+
395
+ // SPM's `sources:` field does NOT accept CocoaPods-style globs — it wants
396
+ // a list of explicit file paths (relative to the target's `path:`).
397
+ // Expand the podspec globs against the actual filesystem so the emitted
398
+ // Package.swift parses cleanly.
399
+ let expandedSources /*: Array<string> */ = [];
400
+ try {
401
+ expandedSources = expandSpmSourceGlobs(dep.root, model.sourceFiles);
402
+ } catch (e) {
403
+ warnings.push(
404
+ `Source glob expansion failed (${e.message}); emitting raw globs — SPM will likely reject them.`,
405
+ );
406
+ expandedSources = model.sourceFiles;
407
+ }
408
+ // Strip files matching exclude_files (podspec's negation list).
409
+ if (model.excludeFiles.length > 0) {
410
+ try {
411
+ // $FlowFixMe[untyped-import] micromatch has no types
412
+ const micromatch = require('micromatch');
413
+ const isExcluded = micromatch.matcher(model.excludeFiles);
414
+ expandedSources = expandedSources.filter(f => !isExcluded(f));
415
+ } catch (e) {
416
+ warnings.push(
417
+ `exclude_files filtering failed (${e.message}); keeping all sources.`,
418
+ );
419
+ }
420
+ }
421
+ // Never self-ingest scaffold artifacts: a re-scaffold runs with the
422
+ // previous run's output on disk, and root-level podspec globs sweep it
423
+ // into sources — `*.{h,...,swift}` matches Package.swift itself, whose
424
+ // `.swift` extension then trips the mixed-language gate into DELETING the
425
+ // manifest it just wrote (alternating scaffold/self-destruct runs); the
426
+ // prefix header and the include/ shim mirror would similarly feed back.
427
+ expandedSources = expandedSources.filter(
428
+ f =>
429
+ f !== SCAFFOLD_PREFIX_HEADER &&
430
+ f !== 'Package.swift' &&
431
+ !f.startsWith('include/'),
432
+ );
433
+
434
+ // Header-map emulation: CocoaPods builds a header map (USE_HEADERMAP=YES by
435
+ // default) so a source can `#import "Foo.h"` by bare name regardless of which
436
+ // subdirectory Foo.h lives in. SPM has no header map, so add every directory
437
+ // that contains a header to the search path. Covers libs (e.g. svg) that
438
+ // spread flat-named headers across many subdirs.
439
+ const headerFiles = expandedSources.filter(f => /\.(h|hh|hpp)$/i.test(f));
440
+ try {
441
+ for (const f of expandSpmSourceGlobs(dep.root, model.publicHeaderFiles)) {
442
+ if (/\.(h|hh|hpp)$/i.test(f)) headerFiles.push(f);
443
+ }
444
+ } catch {
445
+ // public_header_files globbing is best-effort — source_files usually
446
+ // already covers the headers.
447
+ }
448
+ for (const f of headerFiles) {
449
+ const d = path.posix.dirname(f);
450
+ addSearchPath(d === '' ? '.' : d);
451
+ }
452
+
453
+ // ObjC(++) sources may rely on CocoaPods' implicit prefix-header import of
454
+ // Foundation/UIKit. When present, emit + `-include` a prefix header (below).
455
+ // The prefix is `-include`d by bare name, so the dep root (".") must be on
456
+ // the header search path for clang to find it.
457
+ const needsObjCPrefix = expandedSources.some(f => /\.mm?$/.test(f));
458
+ if (needsObjCPrefix && !headerSearchPaths.includes('.')) {
459
+ headerSearchPaths.push('.');
460
+ }
461
+
462
+ // SPM REQUIRES publicHeadersPath to be a real directory inside the target
463
+ // when the target compiles C-family sources (default is "include" which
464
+ // typically doesn't exist in a podspec-shaped dep). Pick the first
465
+ // existing prefix dir from public_header_files / source_files. The
466
+ // chosen dir doesn't need to be the include surface — path-style
467
+ // includes (`<react/renderer/.../X.h>`) resolve via headerSearchPaths
468
+ // instead. publicHeadersPath just has to point at a real dir containing
469
+ // some .h files so SPM accepts the target definition.
470
+ let publicHeadersPath /*: ?string */ = null;
471
+ // Prefer the namespace root (parent of a header_mappings_dir). SPM propagates
472
+ // a target's publicHeadersPath to DEPENDENT packages as a search path, so
473
+ // setting it to e.g. `Common/cpp` (parent of `Common/cpp/worklets`) is what
474
+ // lets a sibling package resolve `<worklets/...>`. Prefer a cross-platform
475
+ // (Common) dir — that holds the C++ API siblings consume — over a
476
+ // platform-specific (apple/) one.
477
+ const mappingsParents = model.headerMappingsDirs
478
+ .map(d => path.posix.dirname(d.replace(/^\.\//, '')))
479
+ .filter(
480
+ p => p.length > 0 && p !== '.' && fs.existsSync(path.join(dep.root, p)),
481
+ );
482
+ if (mappingsParents.length > 0) {
483
+ publicHeadersPath =
484
+ mappingsParents.find(p => /(?:^|\/)common(?:\/|$)/i.test(p)) ??
485
+ mappingsParents[0];
486
+ }
487
+ if (publicHeadersPath == null) {
488
+ for (const glob of [...model.publicHeaderFiles, ...model.sourceFiles]) {
489
+ const prefix = glob.split('/')[0];
490
+ if (
491
+ prefix.length > 0 &&
492
+ !prefix.includes('*') &&
493
+ fs.existsSync(path.join(dep.root, prefix))
494
+ ) {
495
+ publicHeadersPath = prefix;
496
+ break;
497
+ }
498
+ }
499
+ }
500
+ let namespacedShimHeaders /*: Array<string> */ = [];
501
+ if (publicHeadersPath == null) {
502
+ // Root-level podspecs (`s.source_files = "*.{h,m,mm}"`) keep their
503
+ // headers in the package root. CocoaPods exposes them to dependents as
504
+ // `#import <PodName/Header.h>` via header maps; SPM has no equivalent, so
505
+ // the scaffold writer mirrors them into a generated include/<SwiftName>/
506
+ // shim dir and publicHeadersPath points there (also fixing SPM's
507
+ // rejection over the nonexistent default `include/`).
508
+ const rootHeaders = expandedSources.filter(
509
+ f => f.endsWith('.h') && !f.includes('/'),
510
+ );
511
+ if (rootHeaders.length > 0) {
512
+ namespacedShimHeaders = rootHeaders;
513
+ publicHeadersPath = 'include';
514
+ }
515
+ }
516
+ if (publicHeadersPath == null) {
517
+ warnings.push(
518
+ `Could not infer publicHeadersPath from source globs. SPM may reject the target — add a publicHeadersPath manually to the scaffolded Package.swift.`,
519
+ );
520
+ }
521
+
522
+ const siblingSwiftNames /*: {[npmName: string]: string} */ = {};
523
+ for (const npmName of siblingNames) {
524
+ const resolved = swiftNameByNpm.get(npmName);
525
+ if (resolved != null) {
526
+ siblingSwiftNames[npmName] = resolved;
527
+ }
528
+ }
529
+
530
+ return {
531
+ swiftName,
532
+ sources: expandedSources,
533
+ headerSearchPaths,
534
+ preprocessorDefines: model.preprocessorDefines,
535
+ needsObjCPrefix,
536
+ coreReactNative,
537
+ siblingNames,
538
+ siblingSwiftNames,
539
+ extraFrameworks: model.frameworks,
540
+ weakFrameworks: model.weakFrameworks,
541
+ compilerFlags: model.compilerFlags,
542
+ publicHeadersPath,
543
+ namespacedShimHeaders,
544
+ resources: model.resources,
545
+ warnings,
546
+ };
547
+ }
548
+
549
+ // ---------------------------------------------------------------------------
550
+ // Swift emission
551
+ // ---------------------------------------------------------------------------
552
+
553
+ /*::
554
+ type EmitContext = {
555
+ // Identifier embedded as a comment so SPM's manifest hash bumps when the
556
+ // active xcframework slot changes (otherwise cached evaluations would
557
+ // keep pointing at the prior slot's headers).
558
+ cacheSlotLabel: ?string,
559
+ // Remote SPM package mode (url/version/identity) — see remotePackageConfig.
560
+ remote?: ?{url: string, version: string, identity: string},
561
+ // Relative path (posix, from the dep's package dir) to the app's codegen
562
+ // package (<appRoot>/build/generated/ios). Computed at scaffold time —
563
+ // safe because the file is re-scaffolded per app/cache slot, and any
564
+ // node_modules relayout implies a reinstall that drops the file anyway.
565
+ codegenPackageDir?: ?string,
566
+ // Relative path to the app's local xcframeworks package
567
+ // (<appRoot>/build/xcframeworks). Only referenced when remote == null.
568
+ localXcfwPackageDir?: ?string,
569
+ };
570
+ */
571
+
572
+ /**
573
+ * Renders the SpmScaffoldSpec to a complete Package.swift string suitable
574
+ * for writing into `node_modules/<dep>/`. Fully declarative: all package
575
+ * references are plain relative paths computed at scaffold time (no runtime
576
+ * discovery — the scaffolder knows both the dep dir and the app root, and
577
+ * re-scaffolds whenever either could have moved).
578
+ */
579
+ function emitScaffoldedPackageSwift(
580
+ spec /*: SpmScaffoldSpec */,
581
+ ctx /*:: ?: EmitContext */ = {cacheSlotLabel: null, remote: null},
582
+ ) /*: string */ {
583
+ const slotComment =
584
+ ctx.cacheSlotLabel != null ? `\n// Cache slot: ${ctx.cacheSlotLabel}` : '';
585
+
586
+ // React headers need NO search paths — they come from the React /
587
+ // ReactNativeHeaders binaryTargets and the ReactAppHeaders product (see
588
+ // the dependencies block below). Per-dep HEADER_SEARCH_PATHS from the
589
+ // podspec are emitted as `.headerSearchPath("<rel>")` so they resolve
590
+ // relative to `path:` ("." below). Custom podspec compiler flags keep
591
+ // using unsafeFlags (rare; surfaced verbatim).
592
+ const customFlagsCxx = spec.compilerFlags.map(f => `"${f}"`);
593
+
594
+ const headerSearchPathDirectives = spec.headerSearchPaths
595
+ .map(p => `.headerSearchPath("${p}")`)
596
+ .join(', ');
597
+
598
+ // Preprocessor defines → `.define("NAME", to: "VALUE", .when(...))`. The
599
+ // value is escaped as a Swift string literal because it may itself contain
600
+ // quotes (e.g. a string-literal macro `-DFOO="[A:false]"`).
601
+ const swiftStr = (s /*: string */) =>
602
+ `"${s.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
603
+ const defineDirectives = (spec.preprocessorDefines ?? [])
604
+ .map(d => {
605
+ const toPart = d.value != null ? `, to: ${swiftStr(d.value)}` : '';
606
+ const condPart =
607
+ d.config === 'debug'
608
+ ? ', .when(configuration: .debug)'
609
+ : d.config === 'release'
610
+ ? ', .when(configuration: .release)'
611
+ : '';
612
+ return `.define(${swiftStr(d.name)}${toPart}${condPart})`;
613
+ })
614
+ .join(', ');
615
+
616
+ const settingsEntries = (extra /*: Array<string> */) => {
617
+ const parts = [
618
+ defineDirectives,
619
+ headerSearchPathDirectives,
620
+ ...extra,
621
+ ].filter(e => e.length > 0);
622
+ return `[${parts.join(', ')}]`;
623
+ };
624
+ // Force-include the ambient-import prefix header on ObjC(++) sources (the
625
+ // `__OBJC__` guard makes it a no-op for plain C/C++). `-include` resolves the
626
+ // bare name via the dep-root header search path (".", ensured in translate).
627
+ const prefixFlag = spec.needsObjCPrefix
628
+ ? `.unsafeFlags(["-include", "${SCAFFOLD_PREFIX_HEADER}"])`
629
+ : '';
630
+ const cSettings = settingsEntries([prefixFlag].filter(e => e.length > 0));
631
+ const cxxSettings = settingsEntries(
632
+ [
633
+ prefixFlag,
634
+ ...(customFlagsCxx.length > 0
635
+ ? [`.unsafeFlags([${customFlagsCxx.join(', ')}])`]
636
+ : []),
637
+ // Match the prebuilt React.framework's config-gated C++ ABI. NDEBUG in
638
+ // Release strips DebugStringConvertible's vtable (and shifts the
639
+ // ShadowNode layout that inherits it), so a Fabric C++ target compiled
640
+ // WITHOUT NDEBUG fails to link against a Release React.framework. Mirrors
641
+ // packages/react-native/Package.swift's own C++ targets.
642
+ ...REACT_CXX_CONFIG_DEFINES,
643
+ ].filter(e => e.length > 0),
644
+ );
645
+
646
+ // Linker frameworks: defaults + podspec-declared extras + weak frameworks.
647
+ // Dedup on render so the user doesn't see duplicate UIKit lines.
648
+ const defaults = ['UIKit', 'Foundation', 'CoreGraphics'];
649
+ const linkedFrameworks = Array.from(
650
+ new Set([...defaults, ...spec.extraFrameworks]),
651
+ );
652
+ const linkerEntries = [
653
+ ...linkedFrameworks.map(f => `.linkedFramework("${f}")`),
654
+ ...spec.weakFrameworks.map(
655
+ f => `.linkedFramework("${f}", .when(platforms: [.iOS]))`,
656
+ ),
657
+ ];
658
+
659
+ // Dependencies block. Always declares ReactNative if any React-core dep
660
+ // was in the podspec; sibling RN deps come from autolinking's existing
661
+ // .package(path: ...) graph — we reference them by toSwiftName(npmName)
662
+ // since that's what the autolinker registers them under.
663
+ const packageDeps /*: Array<string> */ = [];
664
+ const targetDeps /*: Array<string> */ = [];
665
+ if (spec.coreReactNative) {
666
+ // Remote mode: React Native comes from the remote package identity (no
667
+ // app-layout knowledge). The per-app codegen package is generated INTO
668
+ // the app by definition, so it stays a path reference — relative,
669
+ // computed at scaffold time.
670
+ const remote = ctx.remote;
671
+ const rnLabel =
672
+ remote != null ? remote.identity : REACT_NATIVE_PACKAGE_NAME;
673
+ const codegenDir = ctx.codegenPackageDir;
674
+ if (codegenDir == null) {
675
+ throw new Error(
676
+ 'emitScaffoldedPackageSwift: codegenPackageDir is required when the dep depends on React core.',
677
+ );
678
+ }
679
+ if (remote != null) {
680
+ packageDeps.push(
681
+ `.package(url: "${remote.url}", exact: "${remote.version}")`,
682
+ );
683
+ } else {
684
+ const xcfwDir = ctx.localXcfwPackageDir;
685
+ if (xcfwDir == null) {
686
+ throw new Error(
687
+ 'emitScaffoldedPackageSwift: localXcfwPackageDir is required when no remote package is configured.',
688
+ );
689
+ }
690
+ packageDeps.push(
691
+ `.package(name: "${REACT_NATIVE_PACKAGE_NAME}", path: "${xcfwDir}")`,
692
+ );
693
+ }
694
+ packageDeps.push(
695
+ `.package(name: "${REACT_CODEGEN_PACKAGE_NAME}", path: "${codegenDir}")`,
696
+ );
697
+ for (const product of REACT_NATIVE_PRODUCTS) {
698
+ targetDeps.push(`.product(name: "${product}", package: "${rnLabel}")`);
699
+ }
700
+ for (const product of REACT_CODEGEN_PRODUCTS) {
701
+ targetDeps.push(
702
+ `.product(name: "${product}", package: "${REACT_CODEGEN_PACKAGE_NAME}")`,
703
+ );
704
+ }
705
+ }
706
+ for (const siblingName of spec.siblingNames) {
707
+ const swiftSibling =
708
+ spec.siblingSwiftNames?.[siblingName] ?? toSwiftName(siblingName);
709
+ // The autolinker references each self-managed (scaffolded) dep through a
710
+ // `libs/<SwiftName>` symlink, and SPM resolves a manifest's relative
711
+ // package paths against that symlink location — so a sibling lives at
712
+ // `../<SwiftName>` (NOT `../<npm-name>`, which would be `libs/<npm-name>`
713
+ // and not exist).
714
+ packageDeps.push(
715
+ `.package(name: "${swiftSibling}", path: "../${swiftSibling}")`,
716
+ );
717
+ targetDeps.push(
718
+ `.product(name: "${swiftSibling}", package: "${swiftSibling}")`,
719
+ );
720
+ }
721
+
722
+ // sources: emit only when the podspec declared them. If empty (regex-fallback
723
+ // podspec), no `sources:`/`exclude:` is emitted and SPM auto-scans the target
724
+ // dir — which for `path: "."` is the entire dep root. That is a known
725
+ // limitation of the regex-fallback path (the pod-ipc parse yields explicit
726
+ // sources); a future improvement could emit an `exclude:` list for the dep's
727
+ // example/test/build dirs.
728
+ const sourcesLine =
729
+ spec.sources.length > 0
730
+ ? `\n sources: [\n${spec.sources.map(s => ` "${s}",`).join('\n')}\n ],`
731
+ : '';
732
+
733
+ const publicHeadersLine =
734
+ spec.publicHeadersPath != null
735
+ ? `\n publicHeadersPath: "${spec.publicHeadersPath}",`
736
+ : '';
737
+
738
+ const resourcesLine =
739
+ spec.resources.length > 0
740
+ ? `\n resources: [${spec.resources.map(r => `.copy("${r}")`).join(', ')}],`
741
+ : '';
742
+
743
+ const packageDepsBlock =
744
+ packageDeps.length > 0
745
+ ? ` dependencies: [\n ${packageDeps.join(',\n ')},\n ],\n`
746
+ : '';
747
+
748
+ const targetDepsLine =
749
+ targetDeps.length > 0
750
+ ? `\n dependencies: [${targetDeps.join(', ')}],`
751
+ : '';
752
+
753
+ return `// swift-tools-version: 6.0
754
+ ${SCAFFOLDER_MARKER}
755
+ // AUTO-SCAFFOLDED-VERSION: ${SCAFFOLDER_VERSION}${slotComment}
756
+ // Edit the contents below if needed and re-run \`npx patch-package <dep-name>\`
757
+ // to persist across \`npm install\`. To regenerate from the podspec, remove
758
+ // this file (or just this marker) and re-run \`npx react-native spm scaffold\`.
759
+ //
760
+ // Package references are plain relative paths, computed when this file was
761
+ // scaffolded. They stay correct because the file is re-scaffolded per app
762
+ // and cache slot, and any node_modules relayout reinstalls this package
763
+ // (dropping the file) anyway.
764
+
765
+ import PackageDescription
766
+
767
+ let package = Package(
768
+ name: "${spec.swiftName}",
769
+ platforms: [.iOS(.v15)],
770
+ products: [
771
+ .library(name: "${spec.swiftName}", targets: ["${spec.swiftName}"]),
772
+ ],
773
+ ${packageDepsBlock} targets: [
774
+ .target(
775
+ name: "${spec.swiftName}",${targetDepsLine}
776
+ path: ".",${sourcesLine}${publicHeadersLine}${resourcesLine}
777
+ cSettings: ${cSettings},
778
+ cxxSettings: ${cxxSettings},
779
+ linkerSettings: [${linkerEntries.join(', ')}]
780
+ ),
781
+ ],
782
+ cxxLanguageStandard: .cxx20
783
+ )
784
+ `;
785
+ }
786
+
787
+ // ---------------------------------------------------------------------------
788
+ // Per-dep orchestrator
789
+ // ---------------------------------------------------------------------------
790
+
791
+ /*::
792
+ type ScaffoldContext = {
793
+ appRoot: string,
794
+ projectRoot: string,
795
+ reactNativeRoot: string,
796
+ // Forces overwrite of files carrying the scaffolder marker. Files
797
+ // WITHOUT the marker (user-edited, upstream-shipped) are never touched.
798
+ force: boolean,
799
+ // When true, no file is written — caller gets the would-be content and
800
+ // can preview.
801
+ dryRun: boolean,
802
+ // Slot label (e.g. "0.87.0-nightly-20260513-6e262624f/debug") embedded as
803
+ // a comment so SPM's manifest hash bumps on slot changes.
804
+ cacheSlotLabel: ?string,
805
+ // podspec-name → npm-name index over all autolinked deps, so pod-style
806
+ // `s.dependency` names (e.g. "RNWorklets") wire to the right sibling.
807
+ podToNpm?: Map<string, string>,
808
+ // npm-name → resolved Swift name over all autolinked deps, so sibling
809
+ // references honor each sibling's `spm.name`.
810
+ swiftNameByNpm?: Map<string, string>,
811
+ remote: ?{url: string, version: string, identity: string},
812
+ };
813
+ */
814
+
815
+ /**
816
+ * Decides whether to scaffold one dep, runs the translation + emission,
817
+ * writes the file (unless dryRun). Pure path/skip logic — all I/O via fs.
818
+ */
819
+ function scaffoldPackageSwiftForDep(
820
+ dep /*: AutolinkedDep */,
821
+ ctx /*: ScaffoldContext */,
822
+ ) /*: ScaffoldResult */ {
823
+ const depName = dep.name;
824
+
825
+ if (NEVER_SCAFFOLD.has(depName)) {
826
+ return {
827
+ depName,
828
+ status: 'skipped-is-react-native',
829
+ reason: 'react-native itself is handled by the xcframework package.',
830
+ };
831
+ }
832
+
833
+ // ios platform missing → no native code to wrap.
834
+ if (dep.platforms.ios == null) {
835
+ return {
836
+ depName,
837
+ status: 'skipped-no-ios',
838
+ reason: 'autolinking.json has no ios platform entry.',
839
+ };
840
+ }
841
+
842
+ // Dep can opt out via its own react-native.config.js.
843
+ const cfg = defaultReadConfig(dep.root);
844
+ // $FlowFixMe[prop-missing] config has dynamic shape
845
+ if (cfg != null && cfg.spm != null && cfg.spm.scaffold === false) {
846
+ return {
847
+ depName,
848
+ status: 'skipped-opt-out',
849
+ reason: 'react-native.config.js sets spm.scaffold = false.',
850
+ };
851
+ }
852
+
853
+ const pkgSwiftPath = path.join(dep.root, 'Package.swift');
854
+
855
+ // A self-managed Package.swift may live either at the dep root (legacy
856
+ // convention) or inside ios/ (preferred for community RN libs that want
857
+ // their npm-package root free of SPM artifacts). If a nested manifest
858
+ // exists and is user-authored, skip — writing a stray root manifest would
859
+ // cause the autolinker to prefer the wrong file.
860
+ const nestedPkgSwiftPath = path.join(dep.root, 'ios', 'Package.swift');
861
+ if (!fs.existsSync(pkgSwiftPath) && fs.existsSync(nestedPkgSwiftPath)) {
862
+ const nested = fs.readFileSync(nestedPkgSwiftPath, 'utf8');
863
+ if (
864
+ !nested.includes(AUTOGEN_MARKER) &&
865
+ !nested.includes(SCAFFOLDER_MARKER)
866
+ ) {
867
+ return {
868
+ depName,
869
+ status: 'skipped-self-managed',
870
+ reason:
871
+ 'Existing ios/Package.swift was not produced by this scaffolder. ' +
872
+ 'Leaving it alone.',
873
+ };
874
+ }
875
+ }
876
+
877
+ // Skip rules around existing files.
878
+ if (fs.existsSync(pkgSwiftPath)) {
879
+ const existing = fs.readFileSync(pkgSwiftPath, 'utf8');
880
+ if (existing.includes(AUTOGEN_MARKER)) {
881
+ return {
882
+ depName,
883
+ status: 'skipped-autogen',
884
+ reason:
885
+ 'Existing Package.swift carries the autolinker AUTOGEN marker. ' +
886
+ 'spm update will regenerate the synth wrapper.',
887
+ };
888
+ }
889
+ if (existing.includes(SCAFFOLDER_MARKER)) {
890
+ // Version bump → unconditional regen. A bumped SCAFFOLDER_VERSION
891
+ // implies the emitter's output format changed in a way that requires
892
+ // regenerating existing files; --force is not needed here.
893
+ const vMatch = existing.match(SCAFFOLDER_VERSION_LINE_RE);
894
+ const existingVersion = vMatch != null ? parseInt(vMatch[1], 10) : 1;
895
+ const versionStale = existingVersion < SCAFFOLDER_VERSION;
896
+ if (!ctx.force && !versionStale) {
897
+ // Slot label change is the other auto-regen trigger — bumps SPM's
898
+ // manifest hash so the cache-slot path gets re-resolved.
899
+ const m = existing.match(/^\/\/ Cache slot: (.+)$/m);
900
+ const existingSlot = m != null ? m[1] : null;
901
+ if (ctx.cacheSlotLabel == null || existingSlot === ctx.cacheSlotLabel) {
902
+ return {
903
+ depName,
904
+ status: 'skipped-scaffolder-marker',
905
+ reason:
906
+ 'Already scaffolded for this cache slot. Pass --force to regenerate.',
907
+ };
908
+ }
909
+ }
910
+ if (versionStale) {
911
+ log(
912
+ `Re-scaffolding ${depName} (format v${existingVersion} → v${SCAFFOLDER_VERSION})`,
913
+ );
914
+ }
915
+ // Fall through: regenerate (force, slot changed, or version bumped).
916
+ } else {
917
+ // No marker at all → user-managed or upstream-shipped. Never touch.
918
+ return {
919
+ depName,
920
+ status: 'skipped-self-managed',
921
+ reason:
922
+ 'Existing Package.swift was not produced by this scaffolder. ' +
923
+ 'Leaving it alone.',
924
+ };
925
+ }
926
+ }
927
+
928
+ // Find a podspec to read. autolinking.json may have provided podspecPath;
929
+ // otherwise glob for *.podspec in dep root.
930
+ // $FlowFixMe[prop-missing] dynamic shape from autolinking.json
931
+ let podspecPath /*: ?string */ = dep.platforms.ios.podspecPath ?? null;
932
+ if (podspecPath == null) {
933
+ try {
934
+ const entries = fs.readdirSync(dep.root);
935
+ // Skip a crashed run's leftover patched copy (read-podspec.js stages it
936
+ // as `.spm-scaffold-<pid>-<name>.podspec` next to the original).
937
+ const candidate = entries.find(
938
+ e => e.endsWith('.podspec') && !e.startsWith('.spm-scaffold-'),
939
+ );
940
+ if (candidate != null) {
941
+ podspecPath = path.join(dep.root, candidate);
942
+ }
943
+ } catch {
944
+ // dep.root may not exist; treat as no-podspec
945
+ }
946
+ }
947
+ if (podspecPath == null || !fs.existsSync(podspecPath)) {
948
+ return {
949
+ depName,
950
+ status: 'skipped-no-podspec',
951
+ reason: 'No .podspec found in dep root.',
952
+ };
953
+ }
954
+
955
+ let model;
956
+ try {
957
+ model = readPodspec(podspecPath);
958
+ } catch (e) {
959
+ return {
960
+ depName,
961
+ status: 'error',
962
+ reason: `Podspec read failed: ${e.message}`,
963
+ };
964
+ }
965
+
966
+ const spec = translatePodspecToSpmTarget(
967
+ model,
968
+ dep,
969
+ ctx.podToNpm ?? new Map(),
970
+ ctx.swiftNameByNpm ?? new Map(),
971
+ );
972
+
973
+ // Mixed-language fail-closed: SPM can't compile Swift + C-family in one
974
+ // target. Don't emit a manifest that would fail with a cryptic "mixed
975
+ // language source files" resolve error — skip with a clear reason (and remove
976
+ // any stale scaffolded manifest so the autolinker reports it distinctly and
977
+ // points the user at opting it out / a binary distribution).
978
+ const hasSwift = spec.sources.some(f => /\.swift$/i.test(f));
979
+ const hasClang = spec.sources.some(f => /\.(mm?|c|cc|cpp|cxx)$/i.test(f));
980
+ if (hasSwift && hasClang) {
981
+ if (!ctx.dryRun && fs.existsSync(pkgSwiftPath)) {
982
+ const existing = fs.readFileSync(pkgSwiftPath, 'utf8');
983
+ if (existing.includes(SCAFFOLDER_MARKER)) {
984
+ fs.rmSync(pkgSwiftPath, {force: true});
985
+ }
986
+ }
987
+ return {
988
+ depName,
989
+ status: 'skipped-mixed-language',
990
+ reason:
991
+ 'has mixed Swift + Objective-C/C++ sources, which SPM cannot compile ' +
992
+ 'in one target (and the bidirectional ObjC↔Swift interop typical of ' +
993
+ 'such libs cannot be split without a circular dependency). Opt it out ' +
994
+ 'via react-native.config.js (platforms.ios = null) or use a prebuilt ' +
995
+ 'xcframework.',
996
+ };
997
+ }
998
+
999
+ // Relative paths into the app, embedded in the scaffolded Package.swift.
1000
+ //
1001
+ // The manifest is written to <dep.root>/Package.swift, but the autolinker
1002
+ // references the dep through a symlink at
1003
+ // <appRoot>/build/generated/autolinking/libs/<SwiftName>. On a fresh resolve
1004
+ // SwiftPM interprets a manifest's relative `.package(path:)` entries against
1005
+ // that SYMLINK location (it does not canonicalize the symlink first), so the
1006
+ // paths must be relative to the symlink dir — NOT the real dep.root.
1007
+ // Computing from dep.root produced a doubled path
1008
+ // (…/autolinking/ios/build/generated/ios) → opaque "package manifest cannot
1009
+ // be accessed" resolution failure. posix separators, as SPM expects.
1010
+ const symlinkDir = path.join(
1011
+ ctx.appRoot,
1012
+ 'build',
1013
+ 'generated',
1014
+ 'autolinking',
1015
+ 'libs',
1016
+ spec.swiftName,
1017
+ );
1018
+ const relFromManifest = (...segments /*: Array<string> */) =>
1019
+ path
1020
+ .relative(symlinkDir, path.join(ctx.appRoot, ...segments))
1021
+ .split(path.sep)
1022
+ .join('/');
1023
+ const content = emitScaffoldedPackageSwift(spec, {
1024
+ cacheSlotLabel: ctx.cacheSlotLabel,
1025
+ remote: ctx.remote,
1026
+ codegenPackageDir: relFromManifest('build', 'generated', 'ios'),
1027
+ localXcfwPackageDir: relFromManifest('build', 'xcframeworks'),
1028
+ });
1029
+
1030
+ // Distinguish "first-time scaffold" (no file at all) from "regenerate"
1031
+ // (file with the scaffolder marker, e.g. slot changed). Used by the
1032
+ // CLI orchestrator to decide whether to prompt for confirmation:
1033
+ // first-time scaffolds touch a node_modules dir the user may not expect,
1034
+ // regens are silent because we're maintaining a file we already own.
1035
+ const previouslyExisted = fs.existsSync(pkgSwiftPath);
1036
+
1037
+ if (!ctx.dryRun) {
1038
+ fs.writeFileSync(pkgSwiftPath, content, 'utf8');
1039
+ // Emit the ambient-import prefix header next to the manifest when the
1040
+ // target has ObjC(++) sources (the manifest `-include`s it by bare name).
1041
+ if (spec.needsObjCPrefix) {
1042
+ fs.writeFileSync(
1043
+ path.join(dep.root, SCAFFOLD_PREFIX_HEADER),
1044
+ SCAFFOLD_PREFIX_HEADER_CONTENTS,
1045
+ 'utf8',
1046
+ );
1047
+ }
1048
+ // Mirror root-level headers into the generated include/<SwiftName>/ shim
1049
+ // dir (publicHeadersPath) so dependents can use the CocoaPods header-map
1050
+ // spelling `#import <SwiftName/Header.h>`.
1051
+ if (spec.namespacedShimHeaders.length > 0) {
1052
+ const shimDir = path.join(dep.root, 'include', spec.swiftName);
1053
+ fs.mkdirSync(shimDir, {recursive: true});
1054
+ for (const header of spec.namespacedShimHeaders) {
1055
+ fs.writeFileSync(
1056
+ path.join(shimDir, header),
1057
+ `// AUTO-SCAFFOLDED by react-native spm scaffold — the namespaced\n` +
1058
+ `// spelling (<${spec.swiftName}/${header}>) of the package-root header,\n` +
1059
+ `// matching how CocoaPods header maps expose it.\n` +
1060
+ `#import "../../${header}"\n`,
1061
+ 'utf8',
1062
+ );
1063
+ }
1064
+ }
1065
+ }
1066
+
1067
+ return {
1068
+ depName,
1069
+ status: 'written',
1070
+ packageSwiftPath: pkgSwiftPath,
1071
+ warnings: spec.warnings,
1072
+ previouslyExisted,
1073
+ };
1074
+ }
1075
+
1076
+ // ---------------------------------------------------------------------------
1077
+ // Multi-dep orchestrator
1078
+ // ---------------------------------------------------------------------------
1079
+
1080
+ /*::
1081
+ type ScaffoldAllOptions = {
1082
+ appRoot: string,
1083
+ projectRoot: string,
1084
+ reactNativeRoot: string,
1085
+ force?: boolean,
1086
+ dryRun?: boolean,
1087
+ cacheSlotLabel?: ?string,
1088
+ autolinkingJsonPath?: string,
1089
+ // npm dep names to skip entirely — used when the user declined the
1090
+ // confirmation prompt for first-time scaffolds. Skipped deps still
1091
+ // appear in the returned results array with status='skipped-opt-out'.
1092
+ skipDeps?: ReadonlyArray<string>,
1093
+ };
1094
+ */
1095
+
1096
+ /**
1097
+ * Walks autolinking.json, scaffolds each iOS-native dep, returns one
1098
+ * ScaffoldResult per dep. Caller (setup-apple-spm.js) prints a structured
1099
+ * summary.
1100
+ */
1101
+ function scaffoldAll(
1102
+ opts /*: ScaffoldAllOptions */,
1103
+ ) /*: Array<ScaffoldResult> */ {
1104
+ const {appRoot, projectRoot, reactNativeRoot} = opts;
1105
+ const autolinkingJsonPath =
1106
+ opts.autolinkingJsonPath ??
1107
+ path.join(appRoot, 'build', 'generated', 'autolinking', 'autolinking.json');
1108
+
1109
+ if (!fs.existsSync(autolinkingJsonPath)) {
1110
+ log(
1111
+ `autolinking.json not found at ${path.relative(appRoot, autolinkingJsonPath)}; nothing to scaffold.`,
1112
+ );
1113
+ return [];
1114
+ }
1115
+
1116
+ /*:: type AutolinkingJson = {dependencies?: ?{[string]: {root?: string, platforms?: {ios?: ?{...}, ...}, ...}}, ...}; */
1117
+ // $FlowFixMe[incompatible-type] JSON.parse returns any
1118
+ const data /*: AutolinkingJson */ = JSON.parse(
1119
+ fs.readFileSync(autolinkingJsonPath, 'utf8'),
1120
+ );
1121
+ const deps = data.dependencies;
1122
+ if (deps == null) {
1123
+ return [];
1124
+ }
1125
+
1126
+ // Narrow the direct autolinking.json entries with an iOS platform, then
1127
+ // expand transitive `spm.dependencies` so the scaffolder covers EXACTLY the
1128
+ // set the autolinker considers. Without this, a transitive native dep that
1129
+ // ships no Package.swift would be flagged by the autolinker but never
1130
+ // scaffolded here — leaving `react-native spm scaffold` unable to clear the
1131
+ // autolinker's missing-manifest error.
1132
+ const results /*: Array<ScaffoldResult> */ = [];
1133
+ const directDeps /*: Array<AutolinkedDep> */ = [];
1134
+ for (const name of Object.keys(deps)) {
1135
+ const raw = deps[name];
1136
+ if (raw == null) continue;
1137
+ const root = raw.root;
1138
+ const ios = raw.platforms?.ios;
1139
+ if (typeof root !== 'string' || ios == null) {
1140
+ results.push({
1141
+ depName: name,
1142
+ status: 'skipped-no-ios',
1143
+ reason: 'no iOS platform in autolinking.json',
1144
+ });
1145
+ continue;
1146
+ }
1147
+ // $FlowFixMe[incompatible-type] `ios` shape is runtime-validated above
1148
+ const iosPlatform /*: AutolinkingIosPlatform */ = ios;
1149
+ directDeps.push({name, root, platforms: {ios: iosPlatform}});
1150
+ }
1151
+
1152
+ // Outside the try: a malformed remote config (RemoteVersionError) is a
1153
+ // misconfiguration to surface, not an expansion failure to degrade past.
1154
+ const remote = remotePackageConfig(appRoot);
1155
+
1156
+ let allDeps /*: Array<AutolinkedDep> */ = [];
1157
+ try {
1158
+ allDeps = expandSpmDependencies(directDeps, {
1159
+ readConfig: defaultReadConfig,
1160
+ resolveDep: defaultResolveDep,
1161
+ extraReservedNames: remote != null ? [remote.identity] : undefined,
1162
+ log,
1163
+ });
1164
+ } catch (e) {
1165
+ if (e instanceof SpmNameCollisionError) {
1166
+ throw e;
1167
+ }
1168
+ // A transitive-resolution failure shouldn't abort the whole scaffold pass;
1169
+ // fall back to the direct deps so at least those get manifests.
1170
+ log(`Transitive spm.dependencies expansion failed: ${e.message}`);
1171
+ allDeps = directDeps;
1172
+ }
1173
+
1174
+ // Index every autolinked dep's podspec name → its npm name, so a dep that
1175
+ // depends on a sibling by its pod name (reanimated's `s.dependency
1176
+ // "RNWorklets"`) can be wired to the sibling's package (react-native-worklets).
1177
+ // The podspec file basename is the pod name for RN-ecosystem libs (and is
1178
+ // cheap — no `pod ipc` pre-pass).
1179
+ const podToNpm /*: Map<string, string> */ = new Map();
1180
+ for (const dep of allDeps) {
1181
+ const podspecPath = dep.platforms?.ios?.podspecPath;
1182
+ if (typeof podspecPath === 'string' && podspecPath.length > 0) {
1183
+ podToNpm.set(path.basename(podspecPath, '.podspec'), dep.name);
1184
+ } else {
1185
+ // Transitive entries synthesized by expandSpmDependencies (declared via
1186
+ // `spm.dependencies` in react-native.config.js) carry no podspecPath —
1187
+ // discover the podspec at the dep root so podspec-name sibling deps
1188
+ // (e.g. `s.dependency "TestLibraryCommon"`) still wire to their npm
1189
+ // package.
1190
+ try {
1191
+ for (const f of fs.readdirSync(dep.root)) {
1192
+ if (f.endsWith('.podspec') && !f.startsWith('.spm-scaffold-')) {
1193
+ podToNpm.set(path.basename(f, '.podspec'), dep.name);
1194
+ }
1195
+ }
1196
+ } catch {
1197
+ // unreadable dep root — sibling wiring falls back to the warning path
1198
+ }
1199
+ }
1200
+ }
1201
+
1202
+ const swiftNameByNpm /*: Map<string, string> */ = new Map();
1203
+ for (const dep of allDeps) {
1204
+ if (dep.swiftName != null) {
1205
+ swiftNameByNpm.set(dep.name, dep.swiftName);
1206
+ }
1207
+ }
1208
+
1209
+ const ctx /*: ScaffoldContext */ = {
1210
+ appRoot,
1211
+ projectRoot,
1212
+ reactNativeRoot,
1213
+ force: opts.force === true,
1214
+ dryRun: opts.dryRun === true,
1215
+ cacheSlotLabel: opts.cacheSlotLabel ?? null,
1216
+ podToNpm,
1217
+ swiftNameByNpm,
1218
+ remote,
1219
+ };
1220
+ const skipSet /*: Set<string> */ = new Set(opts.skipDeps ?? []);
1221
+
1222
+ for (const dep of allDeps) {
1223
+ if (skipSet.has(dep.name)) {
1224
+ results.push({
1225
+ depName: dep.name,
1226
+ status: 'skipped-opt-out',
1227
+ reason: 'User declined scaffolding for this dep.',
1228
+ });
1229
+ continue;
1230
+ }
1231
+ try {
1232
+ results.push(scaffoldPackageSwiftForDep(dep, ctx));
1233
+ } catch (e) {
1234
+ results.push({depName: dep.name, status: 'error', reason: e.message});
1235
+ }
1236
+ }
1237
+ return results;
1238
+ }
1239
+
1240
+ module.exports = {
1241
+ scaffoldAll,
1242
+ scaffoldPackageSwiftForDep,
1243
+ translatePodspecToSpmTarget,
1244
+ emitScaffoldedPackageSwift,
1245
+ SCAFFOLDER_MARKER,
1246
+ SCAFFOLDER_VERSION,
1247
+ };