react-native-tvos 0.72.6-0 → 0.73.0-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 (2416) hide show
  1. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +2 -2
  2. package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
  3. package/Libraries/Animated/Animated.js +1 -1
  4. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  5. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  6. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  7. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  8. package/Libraries/Animated/animations/Animation.js +57 -3
  9. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  10. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  11. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  12. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  13. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  14. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  15. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  16. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  18. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  19. package/Libraries/Animated/nodes/AnimatedStyle.js +30 -56
  20. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  21. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  22. package/Libraries/Animated/useAnimatedProps.js +9 -10
  23. package/Libraries/AppDelegate/RCTAppDelegate.h +31 -7
  24. package/Libraries/AppDelegate/RCTAppDelegate.mm +134 -30
  25. package/Libraries/AppDelegate/RCTAppSetupUtils.h +3 -3
  26. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +29 -28
  27. package/Libraries/AppDelegate/RCTLegacyInteropComponents.mm +1 -1
  28. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +42 -31
  29. package/Libraries/AppState/AppState.d.ts +1 -1
  30. package/Libraries/AppState/NativeAppState.js +8 -4
  31. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  32. package/Libraries/Blob/Blob.js +6 -2
  33. package/Libraries/Blob/BlobManager.js +9 -10
  34. package/Libraries/Blob/BlobRegistry.js +14 -9
  35. package/Libraries/Blob/File.js +1 -1
  36. package/Libraries/Blob/FileReader.js +1 -2
  37. package/Libraries/Blob/RCTBlobCollector.h +2 -4
  38. package/Libraries/Blob/RCTBlobCollector.mm +2 -4
  39. package/Libraries/Blob/RCTBlobPlugins.h +1 -1
  40. package/Libraries/Blob/RCTBlobPlugins.mm +1 -1
  41. package/Libraries/Blob/React-RCTBlob.podspec +12 -18
  42. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
  43. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  44. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  46. package/Libraries/Components/Pressable/Pressable.js +3 -2
  47. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  48. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  49. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  50. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  51. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  52. package/Libraries/Components/Switch/Switch.js +1 -0
  53. package/Libraries/Components/TabBarIOS/RCTTabBarItemNativeComponent.js +1 -1
  54. package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +1 -1
  55. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  56. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  57. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  58. package/Libraries/Components/TextInput/TextInput.js +62 -10
  59. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  60. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  61. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  62. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  63. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  64. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  65. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  66. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  67. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  68. package/Libraries/Components/View/View.js +70 -56
  69. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  70. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  71. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  72. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  73. package/Libraries/Core/ExceptionsManager.js +16 -7
  74. package/Libraries/Core/ExtendedError.js +12 -0
  75. package/Libraries/Core/ReactNativeVersion.js +2 -2
  76. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  77. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  78. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  79. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  80. package/Libraries/Core/setUpMutationObserver.js +16 -0
  81. package/Libraries/Core/setUpPerformance.js +6 -13
  82. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  83. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  84. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  85. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  86. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  87. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  88. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  89. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  90. package/Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow +19 -0
  91. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  92. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  93. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +12 -12
  94. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  95. package/Libraries/Image/Image.android.js +8 -2
  96. package/Libraries/Image/Image.d.ts +1 -1
  97. package/Libraries/Image/Image.ios.js +4 -1
  98. package/Libraries/Image/Image.js.flow +40 -0
  99. package/Libraries/Image/ImageBackground.js +3 -0
  100. package/Libraries/Image/RCTAnimatedImage.mm +175 -0
  101. package/Libraries/Image/RCTBundleAssetImageLoader.h +12 -0
  102. package/Libraries/Image/RCTBundleAssetImageLoader.mm +83 -0
  103. package/Libraries/Image/RCTImageBlurUtils.mm +100 -0
  104. package/Libraries/Image/RCTImageLoader.h +7 -0
  105. package/Libraries/Image/RCTImageLoader.mm +9 -0
  106. package/Libraries/Image/RCTImageStoreManager.h +7 -0
  107. package/Libraries/Image/RCTImageStoreManager.mm +9 -0
  108. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +2 -4
  109. package/Libraries/Image/RCTImageUtils.mm +387 -0
  110. package/Libraries/Image/RCTImageView.mm +4 -9
  111. package/Libraries/Image/RCTLocalAssetImageLoader.h +2 -1
  112. package/Libraries/Image/RCTLocalAssetImageLoader.mm +6 -1
  113. package/Libraries/Image/RCTUIImageViewAnimated.mm +347 -0
  114. package/Libraries/Image/React-RCTImage.podspec +14 -17
  115. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  116. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  117. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  118. package/Libraries/Interaction/PanResponder.js +1 -4
  119. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  120. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  121. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  122. package/Libraries/IntersectionObserver/NativeIntersectionObserver.cpp +118 -0
  123. package/Libraries/IntersectionObserver/NativeIntersectionObserver.h +109 -0
  124. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  125. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  126. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  127. package/Libraries/LinkingIOS/RCTLinkingManager.h +2 -9
  128. package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -7
  129. package/Libraries/LinkingIOS/React-RCTLinking.podspec +8 -16
  130. package/Libraries/Lists/FlatList.d.ts +2 -1
  131. package/Libraries/Lists/FlatList.js +15 -5
  132. package/Libraries/Lists/SectionList.js +4 -0
  133. package/Libraries/LogBox/Data/LogBoxData.js +2 -1
  134. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  135. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  136. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  137. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  138. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -33
  139. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  140. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  141. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  142. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  143. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  144. package/Libraries/MutationObserver/NativeMutationObserver.cpp +165 -0
  145. package/Libraries/MutationObserver/NativeMutationObserver.h +104 -0
  146. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  147. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  148. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm +125 -0
  149. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm +151 -0
  150. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm +200 -0
  151. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +1 -1
  152. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +171 -0
  153. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.h +14 -0
  154. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +66 -0
  155. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.mm +146 -0
  156. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +62 -0
  157. package/Libraries/NativeAnimation/RCTAnimationUtils.mm +129 -0
  158. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +484 -0
  159. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +11 -17
  160. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  161. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  162. package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
  163. package/Libraries/NativeComponent/NativeComponentRegistry.js +13 -9
  164. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  165. package/Libraries/Network/RCTNetworkPlugins.h +1 -1
  166. package/Libraries/Network/RCTNetworkPlugins.mm +1 -1
  167. package/Libraries/Network/RCTNetworking.android.js +2 -1
  168. package/Libraries/Network/RCTNetworking.h +7 -0
  169. package/Libraries/Network/RCTNetworking.js.flow +88 -0
  170. package/Libraries/Network/RCTNetworking.mm +9 -0
  171. package/Libraries/Network/React-RCTNetwork.podspec +11 -21
  172. package/Libraries/Network/XMLHttpRequest.js +1 -1
  173. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -6
  174. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  175. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  176. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  177. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  178. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  179. package/Libraries/Pressability/Pressability.js +28 -3
  180. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +11 -17
  181. package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +8 -8
  182. package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
  183. package/Libraries/ReactNative/AppContainer.js +2 -3
  184. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  185. package/Libraries/ReactNative/AppRegistry.js +66 -53
  186. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  187. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  188. package/Libraries/ReactNative/I18nManager.js +5 -11
  189. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  190. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  191. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  192. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  193. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  194. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  195. package/Libraries/ReactNative/UIManager.js +8 -0
  196. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  197. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  198. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  199. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  200. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  201. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  202. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  203. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  204. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  205. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  206. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  207. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  208. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  209. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  210. package/Libraries/Settings/React-RCTSettings.podspec +11 -20
  211. package/Libraries/Settings/Settings.js +33 -0
  212. package/Libraries/Share/Share.d.ts +3 -9
  213. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  214. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  215. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
  216. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  218. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  219. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  220. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  221. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  222. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  223. package/Libraries/StyleSheet/processColor.js +1 -2
  224. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  225. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  226. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +158 -0
  227. package/Libraries/Text/RCTConvert+Text.h +1 -0
  228. package/Libraries/Text/RCTConvert+Text.mm +44 -0
  229. package/Libraries/Text/React-RCTText.podspec +5 -2
  230. package/Libraries/Text/Text/RCTTextShadowView.mm +420 -0
  231. package/Libraries/Text/Text/RCTTextView.h +5 -0
  232. package/Libraries/Text/Text.d.ts +5 -5
  233. package/Libraries/Text/Text.js +17 -11
  234. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -0
  235. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +321 -0
  236. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  237. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +316 -0
  238. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +752 -0
  239. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +178 -0
  240. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +20 -0
  241. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
  242. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +237 -0
  243. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +23 -0
  244. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +12 -0
  245. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +26 -0
  246. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  247. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  248. package/Libraries/TypeSafety/RCTConvertHelpers.h +2 -4
  249. package/Libraries/TypeSafety/RCTTypeSafety.podspec +2 -2
  250. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +2 -4
  251. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  252. package/Libraries/Utilities/BackHandler.js.flow +27 -0
  253. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  254. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  255. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  256. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  257. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  258. package/Libraries/Utilities/Platform.android.js +12 -8
  259. package/Libraries/Utilities/Platform.d.ts +1 -0
  260. package/Libraries/Utilities/Platform.flow.js +84 -0
  261. package/Libraries/Utilities/Platform.ios.js +12 -8
  262. package/Libraries/Utilities/Platform.js.flow +13 -0
  263. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  264. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  265. package/Libraries/Utilities/SceneTracker.js +1 -1
  266. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  267. package/Libraries/Utilities/useColorScheme.js +7 -8
  268. package/Libraries/Vibration/React-RCTVibration.podspec +10 -18
  269. package/Libraries/WebPerformance/BoundedConsumableBuffer.h +244 -0
  270. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  271. package/Libraries/WebPerformance/NativePerformance.cpp +38 -17
  272. package/Libraries/WebPerformance/NativePerformance.h +5 -21
  273. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  274. package/Libraries/WebPerformance/NativePerformanceObserver.cpp +20 -10
  275. package/Libraries/WebPerformance/NativePerformanceObserver.h +14 -9
  276. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  277. package/Libraries/WebPerformance/Performance.js +42 -15
  278. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  279. package/Libraries/WebPerformance/PerformanceEntryReporter.cpp +220 -195
  280. package/Libraries/WebPerformance/PerformanceEntryReporter.h +78 -101
  281. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  282. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  283. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  284. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  285. package/Libraries/Wrapper/RCTWrapperShadowView.m +1 -1
  286. package/Libraries/promiseRejectionTrackingOptions.js +21 -9
  287. package/Libraries/vendor/emitter/EventEmitter.js +17 -17
  288. package/README.md +20 -26
  289. package/React/Base/RCTAssert.m +1 -1
  290. package/React/Base/RCTBridge.h +23 -22
  291. package/React/Base/RCTBridge.mm +423 -0
  292. package/React/Base/RCTBridgeModule.h +1 -13
  293. package/React/Base/RCTBridgeProxy.h +36 -0
  294. package/React/Base/RCTBridgeProxy.mm +467 -0
  295. package/React/Base/RCTBundleURLProvider.h +1 -1
  296. package/React/Base/RCTBundleURLProvider.mm +3 -5
  297. package/React/Base/RCTConstants.h +11 -20
  298. package/React/Base/RCTConstants.m +23 -7
  299. package/React/Base/RCTConvert.h +1 -0
  300. package/React/Base/RCTConvert.m +30 -27
  301. package/React/Base/RCTEventDispatcher.m +9 -0
  302. package/React/Base/RCTEventDispatcherProtocol.h +7 -0
  303. package/React/Base/RCTJSStackFrame.m +1 -1
  304. package/React/Base/RCTJavaScriptLoader.h +0 -2
  305. package/React/Base/RCTJavaScriptLoader.mm +2 -11
  306. package/React/Base/RCTManagedPointer.h +2 -4
  307. package/React/Base/RCTMockDef.h +2 -2
  308. package/React/Base/RCTModuleData.h +0 -4
  309. package/React/Base/RCTModuleData.mm +1 -12
  310. package/React/Base/RCTModuleRegistry.m +17 -0
  311. package/React/Base/RCTPLTag.h +2 -0
  312. package/React/Base/RCTPerformanceLogger.mm +135 -0
  313. package/React/Base/RCTPerformanceLoggerLabels.m +4 -0
  314. package/React/Base/RCTRedBoxSetEnabled.m +1 -1
  315. package/React/Base/RCTRootView.h +5 -13
  316. package/React/Base/RCTRootView.m +5 -12
  317. package/React/Base/RCTTouchHandlerTV.m +35 -0
  318. package/React/Base/RCTTurboModuleRegistry.h +0 -3
  319. package/React/Base/RCTUtils.h +4 -4
  320. package/React/Base/RCTUtils.m +10 -10
  321. package/React/Base/RCTVersion.m +2 -2
  322. package/React/Base/Surface/RCTSurfaceRootShadowView.h +1 -1
  323. package/React/Base/Surface/RCTSurfaceRootShadowView.m +1 -1
  324. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +2 -18
  325. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +9 -68
  326. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -17
  327. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +2 -23
  328. package/React/CoreModules/CoreModulesPlugins.h +13 -14
  329. package/React/CoreModules/CoreModulesPlugins.mm +14 -15
  330. package/React/CoreModules/RCTAccessibilityManager+Internal.h +1 -1
  331. package/React/CoreModules/RCTAccessibilityManager.h +7 -0
  332. package/React/CoreModules/RCTAccessibilityManager.mm +18 -13
  333. package/React/CoreModules/RCTActionSheetManager.mm +25 -28
  334. package/React/CoreModules/RCTAlertController.mm +80 -0
  335. package/React/CoreModules/RCTAlertManager.mm +2 -7
  336. package/React/CoreModules/RCTAppState.mm +5 -1
  337. package/React/CoreModules/RCTAppearance.h +1 -0
  338. package/React/CoreModules/RCTAppearance.mm +40 -43
  339. package/React/CoreModules/RCTDevLoadingView.mm +20 -36
  340. package/React/CoreModules/RCTDevMenu.h +7 -0
  341. package/React/CoreModules/RCTDevMenu.mm +28 -63
  342. package/React/CoreModules/RCTDevSettings.h +7 -0
  343. package/React/CoreModules/RCTDevSettings.mm +24 -16
  344. package/React/CoreModules/RCTDeviceInfo.mm +41 -40
  345. package/React/CoreModules/RCTFPSGraph.mm +128 -0
  346. package/React/CoreModules/RCTLogBoxView.mm +2 -10
  347. package/React/CoreModules/RCTPerfMonitor.mm +13 -45
  348. package/React/CoreModules/RCTRedBox.h +7 -0
  349. package/React/CoreModules/RCTRedBox.mm +23 -7
  350. package/React/CoreModules/RCTSourceCode.mm +0 -3
  351. package/React/CoreModules/RCTStatusBarManager.mm +5 -19
  352. package/React/CoreModules/RCTTiming.mm +2 -2
  353. package/React/CoreModules/RCTWebSocketExecutor.mm +4 -1
  354. package/React/CoreModules/RCTWebSocketModule.h +7 -0
  355. package/React/CoreModules/RCTWebSocketModule.mm +9 -0
  356. package/React/CoreModules/React-CoreModules.podspec +9 -15
  357. package/React/CxxBridge/JSCExecutorFactory.h +2 -4
  358. package/React/CxxBridge/JSCExecutorFactory.mm +2 -4
  359. package/React/CxxBridge/NSDataBigString.h +2 -4
  360. package/React/CxxBridge/NSDataBigString.mm +2 -4
  361. package/React/CxxBridge/RCTCxxBridge.mm +25 -101
  362. package/React/CxxBridge/RCTCxxBridgeDelegate.h +2 -4
  363. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +2 -4
  364. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +2 -5
  365. package/React/CxxBridge/RCTMessageThread.h +8 -9
  366. package/React/CxxBridge/RCTMessageThread.mm +2 -4
  367. package/React/CxxBridge/RCTObjcExecutor.h +2 -4
  368. package/React/CxxBridge/RCTObjcExecutor.mm +2 -4
  369. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.h +3 -5
  370. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +2 -4
  371. package/React/CxxModule/DispatchMessageQueueThread.h +2 -4
  372. package/React/CxxModule/RCTCxxModule.h +2 -6
  373. package/React/CxxModule/RCTCxxUtils.h +2 -4
  374. package/React/CxxModule/RCTCxxUtils.mm +2 -4
  375. package/React/CxxModule/RCTNativeModule.h +7 -9
  376. package/React/CxxModule/RCTNativeModule.mm +2 -4
  377. package/React/CxxUtils/RCTFollyConvert.h +3 -5
  378. package/React/CxxUtils/RCTFollyConvert.mm +2 -4
  379. package/React/DevSupport/RCTDevLoadingViewSetEnabled.m +2 -2
  380. package/React/DevSupport/RCTInspectorDevServerHelper.h +1 -1
  381. package/React/DevSupport/RCTInspectorDevServerHelper.mm +64 -12
  382. package/React/DevSupport/RCTPackagerConnection.mm +2 -1
  383. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +4 -4
  384. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +5 -5
  385. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +18 -21
  386. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +5 -5
  387. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +5 -5
  388. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
  389. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -7
  390. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +12 -12
  391. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +5 -9
  392. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +5 -9
  393. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +4 -4
  394. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +6 -6
  395. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +50 -38
  396. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +6 -6
  397. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +7 -7
  398. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +29 -28
  399. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputNativeCommands.h +1 -1
  400. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -2
  401. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +33 -12
  402. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +3 -3
  403. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +4 -4
  404. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +5 -11
  405. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +90 -33
  406. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +3 -3
  407. package/React/Fabric/Mounting/RCTComponentViewFactory.h +17 -1
  408. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +22 -10
  409. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +8 -8
  410. package/React/Fabric/Mounting/RCTComponentViewRegistry.h +2 -2
  411. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +5 -6
  412. package/React/Fabric/Mounting/RCTMountingManager.h +2 -2
  413. package/React/Fabric/Mounting/RCTMountingManager.mm +18 -17
  414. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +11 -11
  415. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +8 -8
  416. package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +4 -4
  417. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +7 -7
  418. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +6 -6
  419. package/React/Fabric/RCTConversions.h +5 -5
  420. package/React/Fabric/RCTImageResponseDelegate.h +3 -3
  421. package/React/Fabric/RCTImageResponseObserverProxy.h +3 -5
  422. package/React/Fabric/RCTImageResponseObserverProxy.mm +3 -5
  423. package/React/Fabric/RCTScheduler.h +15 -13
  424. package/React/Fabric/RCTScheduler.mm +18 -13
  425. package/React/Fabric/RCTSurfacePointerHandler.mm +143 -152
  426. package/React/Fabric/RCTSurfacePointerHandlerTV.mm +37 -0
  427. package/React/Fabric/RCTSurfacePresenter.h +1 -1
  428. package/React/Fabric/RCTSurfacePresenter.mm +40 -28
  429. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +3 -0
  430. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +38 -2
  431. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
  432. package/React/Fabric/RCTSurfaceTouchHandlerTV.mm +30 -0
  433. package/React/Fabric/Surface/RCTFabricSurface.h +1 -1
  434. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  435. package/React/Fabric/Utils/PlatformRunLoopObserver.h +4 -6
  436. package/React/Fabric/Utils/PlatformRunLoopObserver.mm +3 -5
  437. package/React/Fabric/Utils/RCTIdentifierPool.h +2 -4
  438. package/React/I18n/.clang-format-ignore +2 -0
  439. package/React/I18n/FBXXHashUtils.h +118 -0
  440. package/React/I18n/RCTLocalizedString.h +34 -0
  441. package/React/I18n/RCTLocalizedString.mm +46 -0
  442. package/React/I18n/strings/ar.lproj/Localizable.strings +2 -0
  443. package/React/I18n/strings/ar.lproj/fbt_language_pack.bin +0 -0
  444. package/React/I18n/strings/cs.lproj/Localizable.strings +2 -0
  445. package/React/I18n/strings/cs.lproj/fbt_language_pack.bin +0 -0
  446. package/React/I18n/strings/da.lproj/Localizable.strings +2 -0
  447. package/React/I18n/strings/da.lproj/fbt_language_pack.bin +0 -0
  448. package/React/I18n/strings/de.lproj/Localizable.strings +2 -0
  449. package/React/I18n/strings/de.lproj/fbt_language_pack.bin +0 -0
  450. package/React/I18n/strings/el.lproj/Localizable.strings +2 -0
  451. package/React/I18n/strings/el.lproj/fbt_language_pack.bin +0 -0
  452. package/React/I18n/strings/en-GB.lproj/Localizable.strings +2 -0
  453. package/React/I18n/strings/en-GB.lproj/fbt_language_pack.bin +0 -0
  454. package/React/I18n/strings/en.lproj/Localizable.strings +2 -0
  455. package/React/I18n/strings/es-ES.lproj/Localizable.strings +2 -0
  456. package/React/I18n/strings/es-ES.lproj/fbt_language_pack.bin +0 -0
  457. package/React/I18n/strings/es.lproj/Localizable.strings +2 -0
  458. package/React/I18n/strings/es.lproj/fbt_language_pack.bin +0 -0
  459. package/React/I18n/strings/fi.lproj/Localizable.strings +2 -0
  460. package/React/I18n/strings/fi.lproj/fbt_language_pack.bin +0 -0
  461. package/React/I18n/strings/fr.lproj/Localizable.strings +2 -0
  462. package/React/I18n/strings/fr.lproj/fbt_language_pack.bin +0 -0
  463. package/React/I18n/strings/he.lproj/Localizable.strings +2 -0
  464. package/React/I18n/strings/he.lproj/fbt_language_pack.bin +0 -0
  465. package/React/I18n/strings/hi.lproj/Localizable.strings +2 -0
  466. package/React/I18n/strings/hi.lproj/fbt_language_pack.bin +0 -0
  467. package/React/I18n/strings/hr.lproj/Localizable.strings +2 -0
  468. package/React/I18n/strings/hr.lproj/fbt_language_pack.bin +0 -0
  469. package/React/I18n/strings/hu.lproj/Localizable.strings +2 -0
  470. package/React/I18n/strings/hu.lproj/fbt_language_pack.bin +0 -0
  471. package/React/I18n/strings/id.lproj/Localizable.strings +2 -0
  472. package/React/I18n/strings/id.lproj/fbt_language_pack.bin +0 -0
  473. package/React/I18n/strings/it.lproj/Localizable.strings +2 -0
  474. package/React/I18n/strings/it.lproj/fbt_language_pack.bin +0 -0
  475. package/React/I18n/strings/ja.lproj/Localizable.strings +2 -0
  476. package/React/I18n/strings/ja.lproj/fbt_language_pack.bin +0 -0
  477. package/React/I18n/strings/ko.lproj/Localizable.strings +2 -0
  478. package/React/I18n/strings/ko.lproj/fbt_language_pack.bin +0 -0
  479. package/React/I18n/strings/ms.lproj/Localizable.strings +2 -0
  480. package/React/I18n/strings/ms.lproj/fbt_language_pack.bin +0 -0
  481. package/React/I18n/strings/nb.lproj/Localizable.strings +2 -0
  482. package/React/I18n/strings/nb.lproj/fbt_language_pack.bin +0 -0
  483. package/React/I18n/strings/nl.lproj/Localizable.strings +2 -0
  484. package/React/I18n/strings/nl.lproj/fbt_language_pack.bin +0 -0
  485. package/React/I18n/strings/pl.lproj/Localizable.strings +2 -0
  486. package/React/I18n/strings/pl.lproj/fbt_language_pack.bin +0 -0
  487. package/React/I18n/strings/pt-PT.lproj/Localizable.strings +2 -0
  488. package/React/I18n/strings/pt-PT.lproj/fbt_language_pack.bin +0 -0
  489. package/React/I18n/strings/pt.lproj/Localizable.strings +2 -0
  490. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  491. package/React/I18n/strings/ro.lproj/Localizable.strings +2 -0
  492. package/React/I18n/strings/ro.lproj/fbt_language_pack.bin +0 -0
  493. package/React/I18n/strings/ru.lproj/Localizable.strings +2 -0
  494. package/React/I18n/strings/ru.lproj/fbt_language_pack.bin +0 -0
  495. package/React/I18n/strings/sk.lproj/Localizable.strings +2 -0
  496. package/React/I18n/strings/sk.lproj/fbt_language_pack.bin +0 -0
  497. package/React/I18n/strings/sv.lproj/Localizable.strings +2 -0
  498. package/React/I18n/strings/sv.lproj/fbt_language_pack.bin +0 -0
  499. package/React/I18n/strings/th.lproj/Localizable.strings +2 -0
  500. package/React/I18n/strings/th.lproj/fbt_language_pack.bin +0 -0
  501. package/React/I18n/strings/tr.lproj/Localizable.strings +2 -0
  502. package/React/I18n/strings/tr.lproj/fbt_language_pack.bin +0 -0
  503. package/React/I18n/strings/uk.lproj/Localizable.strings +2 -0
  504. package/React/I18n/strings/uk.lproj/fbt_language_pack.bin +0 -0
  505. package/React/I18n/strings/vi.lproj/Localizable.strings +2 -0
  506. package/React/I18n/strings/vi.lproj/fbt_language_pack.bin +0 -0
  507. package/React/I18n/strings/zh-Hans.lproj/Localizable.strings +2 -0
  508. package/React/I18n/strings/zh-Hans.lproj/fbt_language_pack.bin +0 -0
  509. package/React/I18n/strings/zh-Hant-HK.lproj/Localizable.strings +2 -0
  510. package/React/I18n/strings/zh-Hant-HK.lproj/fbt_language_pack.bin +0 -0
  511. package/React/I18n/strings/zh-Hant.lproj/Localizable.strings +2 -0
  512. package/React/I18n/strings/zh-Hant.lproj/fbt_language_pack.bin +0 -0
  513. package/React/I18n/strings/zu.lproj/Localizable.strings +2 -0
  514. package/React/I18n/strings/zu.lproj/fbt_language_pack.bin +0 -0
  515. package/React/Inspector/RCTInspector.mm +3 -2
  516. package/React/Modules/RCTSurfacePresenterStub.h +8 -0
  517. package/React/Modules/RCTSurfacePresenterStub.m +14 -0
  518. package/React/Modules/RCTUIManager.h +14 -0
  519. package/React/Modules/RCTUIManager.m +32 -12
  520. package/React/Modules/RCTUIManagerUtils.m +3 -3
  521. package/React/React-RCTFabric.podspec +39 -28
  522. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +17 -16
  523. package/React/UIUtils/RCTUIUtils.h +1 -1
  524. package/React/Views/RCTActivityIndicatorViewManager.m +3 -3
  525. package/React/Views/RCTComponentData.h +3 -0
  526. package/React/Views/RCTComponentData.m +67 -15
  527. package/React/Views/RCTFont.mm +32 -0
  528. package/React/Views/RCTLayout.h +1 -1
  529. package/React/Views/RCTModalHostView.m +3 -3
  530. package/React/Views/RCTModalHostViewController.m +3 -34
  531. package/React/Views/RCTRootShadowView.h +1 -1
  532. package/React/Views/RCTRootShadowView.m +1 -1
  533. package/React/Views/RCTSegmentedControl.m +7 -21
  534. package/React/Views/RCTShadowView.m +4 -4
  535. package/React/Views/RCTTVView.m +2 -2
  536. package/React/Views/RCTTransformOrigin.h +15 -0
  537. package/React/Views/RCTView.h +3 -0
  538. package/React/Views/RCTView.m +56 -63
  539. package/React/Views/RCTViewManager.m +123 -50
  540. package/React/Views/SafeAreaView/RCTSafeAreaView.m +6 -1
  541. package/React/Views/ScrollView/RCTScrollView.h +8 -0
  542. package/React/Views/ScrollView/RCTScrollView.m +27 -7
  543. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -2
  544. package/React/Views/UIView+React.h +11 -0
  545. package/React/Views/UIView+React.m +111 -0
  546. package/React/third-party.xcconfig +2 -2
  547. package/React-Core.podspec +20 -24
  548. package/React.podspec +2 -4
  549. package/ReactAndroid/build.gradle +151 -105
  550. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +4 -2
  551. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +8 -10
  552. package/ReactAndroid/cmake-utils/folly-flags.cmake +2 -1
  553. package/ReactAndroid/external-artifacts/build.gradle.kts +70 -0
  554. package/ReactAndroid/flipper-integration/build.gradle.kts +64 -0
  555. package/ReactAndroid/flipper-integration/src/debug/java/com/facebook/react/flipper/ReactNativeFlipper.kt +66 -0
  556. package/ReactAndroid/flipper-integration/src/release/java/com/facebook/react/flipper/ReactNativeFlipper.kt +23 -0
  557. package/ReactAndroid/gradle.properties +8 -33
  558. package/ReactAndroid/hermes-engine/build.gradle +52 -15
  559. package/ReactAndroid/src/debug/AndroidManifest.xml +15 -0
  560. package/ReactAndroid/src/main/AndroidManifest.xml +15 -0
  561. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +1 -14
  562. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +0 -14
  563. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -13
  564. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +6 -19
  565. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +9 -18
  566. package/ReactAndroid/src/main/java/com/facebook/react/LazyTurboModuleManagerDelegate.java +104 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +46 -27
  568. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +98 -0
  569. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +24 -0
  570. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +90 -29
  571. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +107 -0
  572. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +147 -156
  573. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +7 -6
  574. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +3 -1
  575. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +21 -1
  576. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +2 -1
  577. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +91 -52
  578. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -58
  579. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +11 -16
  580. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +12 -1
  581. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +159 -0
  582. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +3 -1
  583. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +3 -1
  584. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +1 -1
  585. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +4 -0
  586. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +0 -5
  587. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Callback.java +1 -1
  588. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +3 -2
  589. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +7 -13
  590. package/ReactAndroid/src/main/java/com/facebook/react/bridge/FallbackJSBundleLoader.java +2 -2
  591. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +0 -1
  592. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +0 -1
  593. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +0 -1
  594. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +5 -1
  595. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +6 -6
  596. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java +2 -0
  597. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutorFactory.java +2 -0
  598. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +13 -7
  599. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +3 -42
  600. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +0 -5
  601. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +1 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +0 -22
  603. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +17 -7
  604. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +85 -10
  605. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +29 -10
  606. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.java +2 -4
  607. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.java +18 -0
  608. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +4 -0
  609. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +6 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.java +1 -1
  611. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +4 -2
  612. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.java +6 -1
  613. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt +16 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +18 -0
  615. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +15 -0
  616. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.kt +14 -0
  617. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +239 -0
  618. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +0 -1
  619. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -0
  620. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +6 -0
  621. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +47 -27
  622. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultBindingsInstaller.kt +18 -0
  623. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultJSIModulePackage.kt +1 -0
  624. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +12 -1
  625. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +109 -0
  626. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +56 -0
  627. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +16 -0
  628. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -32
  629. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +25 -15
  630. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java +29 -29
  631. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +126 -182
  632. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +202 -339
  633. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +1 -1
  634. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +10 -5
  635. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +2 -6
  636. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +2 -2
  637. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.java +1 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +15 -57
  640. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.java +122 -0
  641. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +67 -21
  642. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +2 -2
  643. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +149 -108
  644. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +0 -1
  645. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +54 -0
  646. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +4 -4
  647. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +1 -0
  648. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +6 -3
  649. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +12 -14
  650. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +7 -6
  651. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +4 -4
  652. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +12 -13
  653. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +20 -11
  654. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +109 -100
  655. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +14 -0
  656. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +3 -2
  657. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +3 -2
  658. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.java +50 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -5
  660. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.java +57 -0
  661. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +10 -5
  662. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +55 -0
  663. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +44 -0
  664. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +18 -0
  665. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +49 -0
  666. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +51 -0
  667. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +36 -0
  668. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +37 -0
  669. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.java +4 -0
  670. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.java +20 -5
  671. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +0 -2
  672. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +0 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +1 -0
  674. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +2 -0
  675. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java +9 -7
  676. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +6 -10
  677. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +6 -6
  678. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CustomClientBuilder.java +14 -0
  679. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -87
  680. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +39 -38
  681. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +7 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +12 -3
  683. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +0 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +5 -0
  685. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  686. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +20 -4
  687. package/ReactAndroid/src/main/java/com/facebook/react/runtime/.clang-format +91 -0
  688. package/ReactAndroid/src/main/java/com/facebook/react/runtime/.clang-tidy +22 -0
  689. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BindingsInstaller.kt +22 -0
  690. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BoltsFutureTask.java +93 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.java +131 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +154 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +167 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.java +32 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +118 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.java +27 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSEngineInstance.java +26 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.java +50 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/runtime/README.md +3 -0
  700. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +82 -0
  701. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +1757 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +581 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.java +90 -0
  704. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +251 -0
  705. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.java +248 -0
  706. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +24 -0
  707. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/AggregateException.java +129 -0
  708. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/AndroidExecutors.java +137 -0
  709. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/BoltsExecutors.java +120 -0
  710. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationToken.java +74 -0
  711. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationTokenRegistration.java +60 -0
  712. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/CancellationTokenSource.java +216 -0
  713. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Capture.java +33 -0
  714. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Continuation.java +24 -0
  715. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/ExecutorException.java +21 -0
  716. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +1022 -0
  717. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +71 -0
  718. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +42 -0
  719. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.java +17 -0
  720. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +34 -151
  721. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java +6 -12
  722. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.java +31 -0
  723. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeModuleSoLoader.kt +25 -0
  724. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleInteropUtils.java +290 -0
  725. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +186 -69
  726. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +26 -13
  727. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModulePerfLogger.java +6 -11
  728. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.kt +17 -0
  729. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder.kt +13 -0
  730. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.kt +19 -0
  731. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.kt +37 -0
  732. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +110 -35
  733. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +3 -0
  734. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +6 -0
  735. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +4 -0
  736. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +10 -0
  737. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +181 -44
  738. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -7
  739. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +179 -8
  740. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +2 -2
  741. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +25 -6
  742. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java +2 -1
  743. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.java +4 -1
  744. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +100 -44
  745. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProvider.java +18 -0
  746. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderManager.java +41 -0
  747. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +34 -23
  748. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +1 -1
  749. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -1
  750. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -1
  751. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +35 -1
  752. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +12 -1
  753. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +11 -17
  754. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +22 -6
  755. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +5 -0
  756. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +3 -0
  757. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.java +35 -6
  758. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +0 -28
  759. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +187 -0
  760. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +51 -11
  761. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +5 -0
  762. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +13 -15
  763. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +62 -59
  764. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +4 -18
  765. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ViewUtils.java +34 -0
  766. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +2 -2
  767. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +6 -4
  768. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +2 -1
  769. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +2 -1
  770. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +2 -1
  771. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +2 -1
  772. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +6 -5
  773. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +3 -0
  774. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +1 -1
  775. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +26 -29
  776. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +2 -1
  777. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +2 -1
  778. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +1 -2
  779. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +148 -29
  780. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +4 -3
  781. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +28 -29
  782. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +4 -3
  783. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +39 -51
  784. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +2 -1
  785. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +2 -1
  786. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +2 -1
  787. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -3
  788. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +2 -1
  789. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +0 -3
  790. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +5 -2
  791. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +22 -6
  792. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +14 -129
  793. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +10 -0
  794. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +1 -1
  795. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +40 -2
  796. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +31 -3
  797. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SetSpanOperation.java +7 -0
  798. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +50 -16
  799. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +12 -2
  800. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +50 -32
  801. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ContentSizeWatcher.java +1 -1
  802. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +2 -1
  803. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +37 -110
  804. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +2 -1
  805. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +2 -1
  806. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +2 -1
  807. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +2 -1
  808. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +2 -1
  809. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +2 -1
  810. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +10 -21
  811. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +2 -1
  812. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +10 -1
  813. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +2 -1
  814. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +0 -3
  815. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +10 -0
  816. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +0 -4
  817. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +0 -2
  818. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +11 -2
  819. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +13 -2
  820. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +2 -1
  821. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +4 -6
  822. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +6 -7
  823. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +37 -0
  824. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +1 -3
  825. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +5 -4
  826. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +2 -2
  827. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +1 -1
  828. package/ReactAndroid/src/main/jni/CMakeLists.txt +19 -26
  829. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +1 -1
  830. package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +2 -2
  831. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +8 -8
  832. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +11 -11
  833. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +6 -6
  834. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +33 -35
  835. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +3 -3
  836. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +12 -12
  837. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +2 -2
  838. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +7 -7
  839. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +2 -2
  840. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +2 -2
  841. package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +8 -8
  842. package/ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h +1 -1
  843. package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +14 -14
  844. package/ReactAndroid/src/main/jni/first-party/jni-hack/real/jni.h +381 -432
  845. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/LayoutContext.cpp +34 -0
  846. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/LayoutContext.h +29 -0
  847. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +14 -12
  848. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +14 -12
  849. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.h +15 -9
  850. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +320 -331
  851. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +17 -12
  852. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.cpp +4 -7
  853. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.h +5 -8
  854. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.cpp +7 -12
  855. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.h +5 -11
  856. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.cpp +5 -8
  857. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.h +2 -6
  858. package/ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.cpp +3 -3
  859. package/ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.h +3 -3
  860. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +93 -102
  861. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +39 -34
  862. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +1 -2
  863. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +2 -4
  864. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.h +3 -5
  865. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +9 -12
  866. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +6 -8
  867. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp +7 -9
  868. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +6 -8
  869. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +8 -18
  870. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +8 -13
  871. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +131 -171
  872. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +27 -34
  873. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +4 -6
  874. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +3 -5
  875. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +6 -3
  876. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +3 -3
  877. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +64 -0
  878. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +86 -0
  879. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +1 -1
  880. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +4 -4
  881. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +6 -8
  882. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +21 -13
  883. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +5 -7
  884. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +5 -7
  885. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +6 -8
  886. package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +17 -19
  887. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/OnLoad.cpp +1 -1
  888. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +1 -1
  889. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +8 -24
  890. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -2
  891. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +38 -68
  892. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +16 -19
  893. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.cpp +7 -9
  894. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +5 -7
  895. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +4 -6
  896. package/ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h +2 -4
  897. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +3 -5
  898. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +13 -12
  899. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +11 -11
  900. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +8 -10
  901. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +2 -2
  902. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +3 -5
  903. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +75 -18
  904. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +14 -12
  905. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +3 -5
  906. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.cpp +2 -4
  907. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.h +2 -4
  908. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp +2 -4
  909. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +2 -4
  910. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +10 -12
  911. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +5 -7
  912. package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +4 -6
  913. package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +4 -6
  914. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +7 -9
  915. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +4 -6
  916. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +2 -4
  917. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +14 -16
  918. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +11 -13
  919. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +16 -18
  920. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +4 -6
  921. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +5 -7
  922. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +3 -5
  923. package/ReactAndroid/src/main/jni/react/jni/NativeArray.cpp +2 -4
  924. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +6 -8
  925. package/ReactAndroid/src/main/jni/react/jni/NativeCommon.cpp +4 -6
  926. package/ReactAndroid/src/main/jni/react/jni/NativeCommon.h +4 -6
  927. package/ReactAndroid/src/main/jni/react/jni/NativeMap.cpp +2 -4
  928. package/ReactAndroid/src/main/jni/react/jni/NativeMap.h +5 -7
  929. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +5 -5
  930. package/ReactAndroid/src/main/jni/react/jni/OnLoad.h +2 -4
  931. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +11 -13
  932. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +9 -11
  933. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +3 -13
  934. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +4 -7
  935. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +8 -18
  936. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +4 -7
  937. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +5 -7
  938. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +6 -8
  939. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +6 -8
  940. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +6 -8
  941. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +6 -9
  942. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +1 -1
  943. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JReadableMapBuffer.cpp +4 -6
  944. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JReadableMapBuffer.h +4 -6
  945. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/OnLoad.cpp +1 -1
  946. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +1 -1
  947. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +10 -14
  948. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +7 -9
  949. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +10 -12
  950. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +10 -12
  951. package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +1 -1
  952. package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +12 -14
  953. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +7 -9
  954. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +3 -5
  955. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  956. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +1 -1
  957. package/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/JNativeModulePerfLogger.h +2 -4
  958. package/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/OnLoad.cpp +1 -1
  959. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/.clang-tidy +20 -0
  960. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +29 -0
  961. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +31 -0
  962. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +42 -0
  963. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/OnLoad.cpp +15 -0
  964. package/ReactAndroid/src/main/jni/react/runtime/jni/.clang-tidy +20 -0
  965. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +31 -0
  966. package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +32 -0
  967. package/ReactAndroid/src/main/jni/react/runtime/jni/JJSEngineInstance.h +26 -0
  968. package/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.cpp +34 -0
  969. package/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.h +37 -0
  970. package/ReactAndroid/src/main/jni/react/runtime/jni/JJavaTimerManager.cpp +30 -0
  971. package/ReactAndroid/src/main/jni/react/runtime/jni/JJavaTimerManager.h +26 -0
  972. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +26 -0
  973. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +25 -0
  974. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +236 -0
  975. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h +110 -0
  976. package/ReactAndroid/src/main/jni/react/runtime/jni/JavaTimerRegistry.cpp +28 -0
  977. package/ReactAndroid/src/main/jni/react/runtime/jni/JavaTimerRegistry.h +38 -0
  978. package/ReactAndroid/src/main/jni/react/runtime/jni/OnLoad.cpp +20 -0
  979. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +22 -0
  980. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/OnLoad.cpp +48 -0
  981. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +2 -1
  982. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp +2 -4
  983. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +2 -4
  984. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +12 -13
  985. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +11 -12
  986. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.cpp +23 -0
  987. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +32 -0
  988. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +1 -1
  989. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +249 -88
  990. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +14 -10
  991. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h +6 -8
  992. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +2 -1
  993. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.cpp +5 -8
  994. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.h +2 -4
  995. package/ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp +3 -1
  996. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderManager.cpp +64 -0
  997. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderManager.h +47 -0
  998. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +1 -1
  999. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +3 -8
  1000. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +4 -7
  1001. package/ReactAndroid/src/main/res/devsupport/values-af/strings.xml +2 -0
  1002. package/ReactAndroid/src/main/res/devsupport/values-ar/strings.xml +2 -0
  1003. package/ReactAndroid/src/main/res/devsupport/values-bg/strings.xml +1 -0
  1004. package/ReactAndroid/src/main/res/devsupport/values-bn/strings.xml +2 -0
  1005. package/ReactAndroid/src/main/res/devsupport/values-bs/strings.xml +1 -0
  1006. package/ReactAndroid/src/main/res/devsupport/values-cs/strings.xml +2 -0
  1007. package/ReactAndroid/src/main/res/devsupport/values-da/strings.xml +1 -0
  1008. package/ReactAndroid/src/main/res/devsupport/values-el/strings.xml +1 -0
  1009. package/ReactAndroid/src/main/res/devsupport/values-en-rGB/strings.xml +1 -0
  1010. package/ReactAndroid/src/main/res/devsupport/values-es/strings.xml +2 -0
  1011. package/ReactAndroid/src/main/res/devsupport/values-es-rES/strings.xml +2 -0
  1012. package/ReactAndroid/src/main/res/devsupport/values-et/strings.xml +2 -0
  1013. package/ReactAndroid/src/main/res/devsupport/values-fa/strings.xml +2 -0
  1014. package/ReactAndroid/src/main/res/devsupport/values-fb/strings.xml +2 -0
  1015. package/ReactAndroid/src/main/res/devsupport/values-fb-rLS/strings.xml +2 -0
  1016. package/ReactAndroid/src/main/res/devsupport/values-fi/strings.xml +2 -0
  1017. package/ReactAndroid/src/main/res/devsupport/values-fr/strings.xml +1 -0
  1018. package/ReactAndroid/src/main/res/devsupport/values-fr-rCA/strings.xml +1 -0
  1019. package/ReactAndroid/src/main/res/devsupport/values-gu/strings.xml +2 -0
  1020. package/ReactAndroid/src/main/res/devsupport/values-ha/strings.xml +2 -0
  1021. package/ReactAndroid/src/main/res/devsupport/values-hi/strings.xml +2 -0
  1022. package/ReactAndroid/src/main/res/devsupport/values-hr/strings.xml +2 -0
  1023. package/ReactAndroid/src/main/res/devsupport/values-hu/strings.xml +2 -0
  1024. package/ReactAndroid/src/main/res/devsupport/values-in/strings.xml +2 -0
  1025. package/ReactAndroid/src/main/res/devsupport/values-it/strings.xml +2 -0
  1026. package/ReactAndroid/src/main/res/devsupport/values-iw/strings.xml +2 -0
  1027. package/ReactAndroid/src/main/res/devsupport/values-ja/strings.xml +2 -0
  1028. package/ReactAndroid/src/main/res/devsupport/values-jv/strings.xml +2 -0
  1029. package/ReactAndroid/src/main/res/devsupport/values-ka/strings.xml +2 -0
  1030. package/ReactAndroid/src/main/res/devsupport/values-km/strings.xml +2 -0
  1031. package/ReactAndroid/src/main/res/devsupport/values-kn/strings.xml +2 -0
  1032. package/ReactAndroid/src/main/res/devsupport/values-ko/strings.xml +2 -0
  1033. package/ReactAndroid/src/main/res/devsupport/values-lt/strings.xml +2 -0
  1034. package/ReactAndroid/src/main/res/devsupport/values-lv/strings.xml +2 -0
  1035. package/ReactAndroid/src/main/res/devsupport/values-mk/strings.xml +2 -0
  1036. package/ReactAndroid/src/main/res/devsupport/values-ml/strings.xml +2 -0
  1037. package/ReactAndroid/src/main/res/devsupport/values-mr/strings.xml +2 -0
  1038. package/ReactAndroid/src/main/res/devsupport/values-ms/strings.xml +2 -0
  1039. package/ReactAndroid/src/main/res/devsupport/values-my/strings.xml +2 -0
  1040. package/ReactAndroid/src/main/res/devsupport/values-nb/strings.xml +2 -0
  1041. package/ReactAndroid/src/main/res/devsupport/values-nl/strings.xml +2 -0
  1042. package/ReactAndroid/src/main/res/devsupport/values-pa/strings.xml +2 -0
  1043. package/ReactAndroid/src/main/res/devsupport/values-pl/strings.xml +2 -0
  1044. package/ReactAndroid/src/main/res/devsupport/values-pt/strings.xml +2 -0
  1045. package/ReactAndroid/src/main/res/devsupport/values-pt-rPT/strings.xml +2 -0
  1046. package/ReactAndroid/src/main/res/devsupport/values-ro/strings.xml +2 -0
  1047. package/ReactAndroid/src/main/res/devsupport/values-ru/strings.xml +2 -0
  1048. package/ReactAndroid/src/main/res/devsupport/values-si/strings.xml +2 -0
  1049. package/ReactAndroid/src/main/res/devsupport/values-sk/strings.xml +2 -0
  1050. package/ReactAndroid/src/main/res/devsupport/values-sl/strings.xml +1 -0
  1051. package/ReactAndroid/src/main/res/devsupport/values-sq/strings.xml +2 -0
  1052. package/ReactAndroid/src/main/res/devsupport/values-sr/strings.xml +2 -0
  1053. package/ReactAndroid/src/main/res/devsupport/values-sv/strings.xml +1 -0
  1054. package/ReactAndroid/src/main/res/devsupport/values-sw/strings.xml +1 -0
  1055. package/ReactAndroid/src/main/res/devsupport/values-ta/strings.xml +2 -0
  1056. package/ReactAndroid/src/main/res/devsupport/values-te/strings.xml +2 -0
  1057. package/ReactAndroid/src/main/res/devsupport/values-th/strings.xml +2 -0
  1058. package/ReactAndroid/src/main/res/devsupport/values-tl/strings.xml +1 -0
  1059. package/ReactAndroid/src/main/res/devsupport/values-tr/strings.xml +1 -0
  1060. package/ReactAndroid/src/main/res/devsupport/values-uk/strings.xml +2 -0
  1061. package/ReactAndroid/src/main/res/devsupport/values-ur/strings.xml +2 -0
  1062. package/ReactAndroid/src/main/res/devsupport/values-vi/strings.xml +2 -0
  1063. package/ReactAndroid/src/main/res/devsupport/values-zh-rCN/strings.xml +2 -0
  1064. package/ReactAndroid/src/main/res/devsupport/values-zh-rHK/strings.xml +2 -0
  1065. package/ReactAndroid/src/main/res/devsupport/values-zh-rTW/strings.xml +2 -0
  1066. package/ReactAndroid/src/main/res/shell/values/styles.xml +4 -0
  1067. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +12 -0
  1068. package/ReactAndroid/src/main/res/views/uimanager/values/strings.xml +103 -0
  1069. package/ReactAndroid/src/main/res/views/uimanager/values-af/strings.xml +31 -0
  1070. package/ReactAndroid/src/main/res/views/uimanager/values-ar/strings.xml +31 -0
  1071. package/ReactAndroid/src/main/res/views/uimanager/values-as/strings.xml +13 -0
  1072. package/ReactAndroid/src/main/res/views/uimanager/values-az/strings.xml +13 -0
  1073. package/ReactAndroid/src/main/res/views/uimanager/values-be/strings.xml +8 -0
  1074. package/ReactAndroid/src/main/res/views/uimanager/values-bg/strings.xml +31 -0
  1075. package/ReactAndroid/src/main/res/views/uimanager/values-bn/strings.xml +31 -0
  1076. package/ReactAndroid/src/main/res/views/uimanager/values-bs/strings.xml +31 -0
  1077. package/ReactAndroid/src/main/res/views/uimanager/values-ca/strings.xml +6 -0
  1078. package/ReactAndroid/src/main/res/views/uimanager/values-cb/strings.xml +13 -0
  1079. package/ReactAndroid/src/main/res/views/uimanager/values-cs/strings.xml +31 -0
  1080. package/ReactAndroid/src/main/res/views/uimanager/values-da/strings.xml +28 -0
  1081. package/ReactAndroid/src/main/res/views/uimanager/values-de/strings.xml +28 -0
  1082. package/ReactAndroid/src/main/res/views/uimanager/values-el/strings.xml +31 -0
  1083. package/ReactAndroid/src/main/res/views/uimanager/values-en-rGB/strings.xml +16 -0
  1084. package/ReactAndroid/src/main/res/views/uimanager/values-es/strings.xml +31 -0
  1085. package/ReactAndroid/src/main/res/views/uimanager/values-es-rES/strings.xml +31 -0
  1086. package/ReactAndroid/src/main/res/views/uimanager/values-et/strings.xml +30 -0
  1087. package/ReactAndroid/src/main/res/views/uimanager/values-fa/strings.xml +31 -0
  1088. package/ReactAndroid/src/main/res/views/uimanager/values-fb/strings.xml +31 -0
  1089. package/ReactAndroid/src/main/res/views/uimanager/values-fb-rLS/strings.xml +26 -0
  1090. package/ReactAndroid/src/main/res/views/uimanager/values-fi/strings.xml +31 -0
  1091. package/ReactAndroid/src/main/res/views/uimanager/values-fr/strings.xml +29 -0
  1092. package/ReactAndroid/src/main/res/views/uimanager/values-fr-rCA/strings.xml +29 -0
  1093. package/ReactAndroid/src/main/res/views/uimanager/values-gu/strings.xml +31 -0
  1094. package/ReactAndroid/src/main/res/views/uimanager/values-ha/strings.xml +31 -0
  1095. package/ReactAndroid/src/main/res/views/uimanager/values-hi/strings.xml +31 -0
  1096. package/ReactAndroid/src/main/res/views/uimanager/values-hr/strings.xml +31 -0
  1097. package/ReactAndroid/src/main/res/views/uimanager/values-hu/strings.xml +31 -0
  1098. package/ReactAndroid/src/main/res/views/uimanager/values-hy/strings.xml +13 -0
  1099. package/ReactAndroid/src/main/res/views/uimanager/values-in/strings.xml +29 -0
  1100. package/ReactAndroid/src/main/res/views/uimanager/values-is/strings.xml +6 -0
  1101. package/ReactAndroid/src/main/res/views/uimanager/values-it/strings.xml +27 -0
  1102. package/ReactAndroid/src/main/res/views/uimanager/values-iw/strings.xml +31 -0
  1103. package/ReactAndroid/src/main/res/views/uimanager/values-ja/strings.xml +31 -0
  1104. package/ReactAndroid/src/main/res/views/uimanager/values-jv/strings.xml +28 -0
  1105. package/ReactAndroid/src/main/res/views/uimanager/values-ka/strings.xml +30 -0
  1106. package/ReactAndroid/src/main/res/views/uimanager/values-kk/strings.xml +12 -0
  1107. package/ReactAndroid/src/main/res/views/uimanager/values-km/strings.xml +31 -0
  1108. package/ReactAndroid/src/main/res/views/uimanager/values-kn/strings.xml +31 -0
  1109. package/ReactAndroid/src/main/res/views/uimanager/values-ko/strings.xml +31 -0
  1110. package/ReactAndroid/src/main/res/views/uimanager/values-ku/strings.xml +12 -0
  1111. package/ReactAndroid/src/main/res/views/uimanager/values-ky/strings.xml +12 -0
  1112. package/ReactAndroid/src/main/res/views/uimanager/values-lo/strings.xml +13 -0
  1113. package/ReactAndroid/src/main/res/views/uimanager/values-lt/strings.xml +31 -0
  1114. package/ReactAndroid/src/main/res/views/uimanager/values-lv/strings.xml +31 -0
  1115. package/ReactAndroid/src/main/res/views/uimanager/values-mk/strings.xml +31 -0
  1116. package/ReactAndroid/src/main/res/views/uimanager/values-ml/strings.xml +31 -0
  1117. package/ReactAndroid/src/main/res/views/uimanager/values-mn/strings.xml +12 -0
  1118. package/ReactAndroid/src/main/res/views/uimanager/values-mr/strings.xml +31 -0
  1119. package/ReactAndroid/src/main/res/views/uimanager/values-ms/strings.xml +29 -0
  1120. package/ReactAndroid/src/main/res/views/uimanager/values-my/strings.xml +31 -0
  1121. package/ReactAndroid/src/main/res/views/uimanager/values-nb/strings.xml +31 -0
  1122. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +13 -0
  1123. package/ReactAndroid/src/main/res/views/uimanager/values-nl/strings.xml +28 -0
  1124. package/ReactAndroid/src/main/res/views/uimanager/values-pa/strings.xml +31 -0
  1125. package/ReactAndroid/src/main/res/views/uimanager/values-pl/strings.xml +28 -0
  1126. package/ReactAndroid/src/main/res/views/uimanager/values-ps/strings.xml +13 -0
  1127. package/ReactAndroid/src/main/res/views/uimanager/values-pt/strings.xml +31 -0
  1128. package/ReactAndroid/src/main/res/views/uimanager/values-pt-rPT/strings.xml +30 -0
  1129. package/ReactAndroid/src/main/res/views/uimanager/values-qz/strings.xml +6 -0
  1130. package/ReactAndroid/src/main/res/views/uimanager/values-ro/strings.xml +29 -0
  1131. package/ReactAndroid/src/main/res/views/uimanager/values-ru/strings.xml +31 -0
  1132. package/ReactAndroid/src/main/res/views/uimanager/values-si/strings.xml +31 -0
  1133. package/ReactAndroid/src/main/res/views/uimanager/values-sk/strings.xml +31 -0
  1134. package/ReactAndroid/src/main/res/views/uimanager/values-sl/strings.xml +31 -0
  1135. package/ReactAndroid/src/main/res/views/uimanager/values-sn/strings.xml +6 -0
  1136. package/ReactAndroid/src/main/res/views/uimanager/values-so/strings.xml +12 -0
  1137. package/ReactAndroid/src/main/res/views/uimanager/values-sq/strings.xml +31 -0
  1138. package/ReactAndroid/src/main/res/views/uimanager/values-sr/strings.xml +31 -0
  1139. package/ReactAndroid/src/main/res/views/uimanager/values-sv/strings.xml +30 -0
  1140. package/ReactAndroid/src/main/res/views/uimanager/values-sw/strings.xml +31 -0
  1141. package/ReactAndroid/src/main/res/views/uimanager/values-ta/strings.xml +31 -0
  1142. package/ReactAndroid/src/main/res/views/uimanager/values-te/strings.xml +31 -0
  1143. package/ReactAndroid/src/main/res/views/uimanager/values-tg/strings.xml +12 -0
  1144. package/ReactAndroid/src/main/res/views/uimanager/values-th/strings.xml +31 -0
  1145. package/ReactAndroid/src/main/res/views/uimanager/values-tk/strings.xml +6 -0
  1146. package/ReactAndroid/src/main/res/views/uimanager/values-tl/strings.xml +14 -0
  1147. package/ReactAndroid/src/main/res/views/uimanager/values-tr/strings.xml +31 -0
  1148. package/ReactAndroid/src/main/res/views/uimanager/values-uk/strings.xml +31 -0
  1149. package/ReactAndroid/src/main/res/views/uimanager/values-ur/strings.xml +31 -0
  1150. package/ReactAndroid/src/main/res/views/uimanager/values-uz/strings.xml +13 -0
  1151. package/ReactAndroid/src/main/res/views/uimanager/values-vi/strings.xml +29 -0
  1152. package/ReactAndroid/src/main/res/views/uimanager/values-wo/strings.xml +6 -0
  1153. package/ReactAndroid/src/main/res/views/uimanager/values-zh-rCN/strings.xml +31 -0
  1154. package/ReactAndroid/src/main/res/views/uimanager/values-zh-rHK/strings.xml +31 -0
  1155. package/ReactAndroid/src/main/res/views/uimanager/values-zh-rTW/strings.xml +31 -0
  1156. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +6 -0
  1157. package/ReactCommon/React-Fabric.podspec +25 -62
  1158. package/ReactCommon/React-FabricImage.podspec +93 -0
  1159. package/ReactCommon/React-Mapbuffer.podspec +43 -0
  1160. package/ReactCommon/React-nativeconfig.podspec +36 -0
  1161. package/ReactCommon/React-rncore.podspec +4 -5
  1162. package/ReactCommon/ReactCommon.podspec +6 -5
  1163. package/ReactCommon/butter/CMakeLists.txt +1 -1
  1164. package/ReactCommon/butter/butter.h +1 -1
  1165. package/ReactCommon/callinvoker/CMakeLists.txt +1 -1
  1166. package/ReactCommon/callinvoker/React-callinvoker.podspec +3 -3
  1167. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +12 -7
  1168. package/ReactCommon/callinvoker/ReactCommon/SchedulerPriority.h +2 -4
  1169. package/ReactCommon/cxxreact/CMakeLists.txt +1 -1
  1170. package/ReactCommon/cxxreact/CxxModule.h +16 -18
  1171. package/ReactCommon/cxxreact/CxxNativeModule.cpp +15 -17
  1172. package/ReactCommon/cxxreact/CxxNativeModule.h +7 -9
  1173. package/ReactCommon/cxxreact/ErrorUtils.h +3 -5
  1174. package/ReactCommon/cxxreact/Instance.cpp +30 -30
  1175. package/ReactCommon/cxxreact/Instance.h +24 -26
  1176. package/ReactCommon/cxxreact/JSBigString.cpp +36 -18
  1177. package/ReactCommon/cxxreact/JSBigString.h +12 -14
  1178. package/ReactCommon/cxxreact/JSBundleType.cpp +5 -12
  1179. package/ReactCommon/cxxreact/JSBundleType.h +5 -8
  1180. package/ReactCommon/cxxreact/JSExecutor.cpp +3 -5
  1181. package/ReactCommon/cxxreact/JSExecutor.h +14 -16
  1182. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +8 -11
  1183. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +5 -7
  1184. package/ReactCommon/cxxreact/JSModulesUnbundle.h +3 -5
  1185. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +19 -19
  1186. package/ReactCommon/cxxreact/JsArgumentHelpers.h +16 -16
  1187. package/ReactCommon/cxxreact/MessageQueueThread.h +4 -6
  1188. package/ReactCommon/cxxreact/MethodCall.cpp +7 -9
  1189. package/ReactCommon/cxxreact/MethodCall.h +4 -6
  1190. package/ReactCommon/cxxreact/ModuleRegistry.cpp +7 -9
  1191. package/ReactCommon/cxxreact/ModuleRegistry.h +6 -8
  1192. package/ReactCommon/cxxreact/NativeModule.h +4 -6
  1193. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +40 -38
  1194. package/ReactCommon/cxxreact/NativeToJsBridge.h +14 -16
  1195. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +6 -5
  1196. package/ReactCommon/cxxreact/RAMBundleRegistry.h +5 -7
  1197. package/ReactCommon/cxxreact/React-cxxreact.podspec +9 -6
  1198. package/ReactCommon/cxxreact/ReactMarker.cpp +53 -21
  1199. package/ReactCommon/cxxreact/ReactMarker.h +37 -23
  1200. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  1201. package/ReactCommon/cxxreact/RecoverableError.h +5 -7
  1202. package/ReactCommon/cxxreact/SampleCxxModule.cpp +5 -5
  1203. package/ReactCommon/cxxreact/SampleCxxModule.h +3 -3
  1204. package/ReactCommon/cxxreact/SystraceSection.h +6 -8
  1205. package/ReactCommon/cxxreact/tests/RecoverableErrorTest.cpp +3 -3
  1206. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +4 -4
  1207. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +1 -1
  1208. package/ReactCommon/cxxreact/tests/main.cpp +1 -1
  1209. package/ReactCommon/cxxreact/tests/methodcall.cpp +7 -7
  1210. package/ReactCommon/hermes/React-hermes.podspec +10 -12
  1211. package/ReactCommon/hermes/executor/CMakeLists.txt +2 -2
  1212. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +33 -22
  1213. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +5 -7
  1214. package/ReactCommon/hermes/executor/JSITracing.cpp +1 -1
  1215. package/ReactCommon/hermes/executor/JSITracing.h +1 -1
  1216. package/ReactCommon/hermes/executor/React-jsitracing.podspec +41 -0
  1217. package/ReactCommon/hermes/inspector-modern/AsyncPauseState.h +34 -0
  1218. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +40 -0
  1219. package/ReactCommon/hermes/inspector-modern/Exceptions.h +60 -0
  1220. package/ReactCommon/hermes/inspector-modern/Inspector.cpp +745 -0
  1221. package/ReactCommon/hermes/inspector-modern/Inspector.h +384 -0
  1222. package/ReactCommon/hermes/inspector-modern/InspectorState.cpp +511 -0
  1223. package/ReactCommon/hermes/inspector-modern/InspectorState.h +412 -0
  1224. package/ReactCommon/hermes/inspector-modern/README.md +113 -0
  1225. package/ReactCommon/hermes/inspector-modern/RuntimeAdapter.cpp +30 -0
  1226. package/ReactCommon/hermes/inspector-modern/RuntimeAdapter.h +76 -0
  1227. package/ReactCommon/hermes/inspector-modern/chrome/Connection.cpp +1667 -0
  1228. package/ReactCommon/hermes/inspector-modern/chrome/Connection.h +68 -0
  1229. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +147 -0
  1230. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +68 -0
  1231. package/ReactCommon/hermes/inspector-modern/chrome/MessageConverters.cpp +378 -0
  1232. package/ReactCommon/hermes/inspector-modern/chrome/MessageConverters.h +136 -0
  1233. package/ReactCommon/hermes/inspector-modern/chrome/MessageInterfaces.h +74 -0
  1234. package/ReactCommon/hermes/inspector-modern/chrome/MessageTypes.cpp +1948 -0
  1235. package/ReactCommon/hermes/inspector-modern/chrome/MessageTypes.h +1129 -0
  1236. package/ReactCommon/hermes/inspector-modern/chrome/MessageTypesInlines.h +190 -0
  1237. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +43 -0
  1238. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +47 -0
  1239. package/ReactCommon/hermes/inspector-modern/chrome/RemoteObjectsTable.cpp +146 -0
  1240. package/ReactCommon/hermes/inspector-modern/chrome/RemoteObjectsTable.h +124 -0
  1241. package/ReactCommon/hermes/inspector-modern/chrome/cli/main.cpp +275 -0
  1242. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +148 -0
  1243. package/ReactCommon/hermes/inspector-modern/detail/CallbackOStream.cpp +77 -0
  1244. package/ReactCommon/hermes/inspector-modern/detail/CallbackOStream.h +89 -0
  1245. package/ReactCommon/hermes/inspector-modern/detail/SerialExecutor.cpp +60 -0
  1246. package/ReactCommon/hermes/inspector-modern/detail/SerialExecutor.h +57 -0
  1247. package/ReactCommon/hermes/inspector-modern/detail/Thread.cpp +39 -0
  1248. package/ReactCommon/hermes/inspector-modern/detail/Thread.h +85 -0
  1249. package/ReactCommon/hermes/inspector-modern/tools/run_msggen +32 -0
  1250. package/ReactCommon/hermes/inspector-modern/tools/sandcastle/build_and_test.sh +13 -0
  1251. package/ReactCommon/jsc/CMakeLists.txt +1 -1
  1252. package/ReactCommon/jsc/JSCRuntime.cpp +239 -304
  1253. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  1254. package/ReactCommon/jserrorhandler/CMakeLists.txt +22 -0
  1255. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +4 -6
  1256. package/ReactCommon/jserrorhandler/JsErrorHandler.h +5 -5
  1257. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +52 -0
  1258. package/ReactCommon/jsi/React-jsi.podspec +17 -17
  1259. package/ReactCommon/jsi/jsi/jsi.cpp +6 -0
  1260. package/ReactCommon/jsi/jsi/jsi.h +21 -12
  1261. package/ReactCommon/jsi/jsi/test/testlib.cpp +32 -5
  1262. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  1263. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +6 -5
  1264. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +46 -42
  1265. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +21 -23
  1266. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -7
  1267. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +5 -7
  1268. package/ReactCommon/jsinspector-modern/CMakeLists.txt +16 -0
  1269. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +106 -0
  1270. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +92 -0
  1271. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +31 -0
  1272. package/ReactCommon/logger/React-logger.podspec +3 -3
  1273. package/ReactCommon/logger/react_native_log.cpp +6 -6
  1274. package/ReactCommon/logger/react_native_log.h +7 -7
  1275. package/ReactCommon/react/bridging/AString.h +5 -5
  1276. package/ReactCommon/react/bridging/Array.h +16 -16
  1277. package/ReactCommon/react/bridging/Base.h +20 -21
  1278. package/ReactCommon/react/bridging/Bool.h +2 -2
  1279. package/ReactCommon/react/bridging/Bridging.h +1 -0
  1280. package/ReactCommon/react/bridging/CMakeLists.txt +2 -2
  1281. package/ReactCommon/react/bridging/CallbackWrapper.h +10 -12
  1282. package/ReactCommon/react/bridging/Class.h +6 -8
  1283. package/ReactCommon/react/bridging/Convert.h +15 -7
  1284. package/ReactCommon/react/bridging/Dynamic.h +26 -0
  1285. package/ReactCommon/react/bridging/Error.h +6 -6
  1286. package/ReactCommon/react/bridging/Function.h +36 -39
  1287. package/ReactCommon/react/bridging/LongLivedObject.cpp +8 -10
  1288. package/ReactCommon/react/bridging/LongLivedObject.h +6 -8
  1289. package/ReactCommon/react/bridging/Number.h +8 -8
  1290. package/ReactCommon/react/bridging/Object.h +12 -19
  1291. package/ReactCommon/react/bridging/Promise.h +3 -3
  1292. package/ReactCommon/react/bridging/Value.h +20 -20
  1293. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +116 -42
  1294. package/ReactCommon/react/bridging/tests/BridgingTest.h +5 -5
  1295. package/ReactCommon/react/bridging/tests/ClassTest.cpp +5 -5
  1296. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  1297. package/ReactCommon/react/config/ReactNativeConfig.cpp +6 -8
  1298. package/ReactCommon/react/config/ReactNativeConfig.h +10 -12
  1299. package/ReactCommon/react/debug/CMakeLists.txt +2 -2
  1300. package/ReactCommon/react/debug/React-debug.podspec +3 -2
  1301. package/ReactCommon/react/debug/flags.h +11 -10
  1302. package/ReactCommon/react/debug/react_native_assert.cpp +6 -6
  1303. package/ReactCommon/react/debug/react_native_assert.h +3 -3
  1304. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  1305. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +22 -23
  1306. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +8 -10
  1307. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +5 -22
  1308. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +43 -35
  1309. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +129 -37
  1310. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -18
  1311. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.cpp +92 -94
  1312. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.h +52 -54
  1313. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +13 -15
  1314. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +11 -13
  1315. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +190 -0
  1316. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +50 -0
  1317. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +190 -82
  1318. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +10 -12
  1319. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +9 -6
  1320. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +95 -0
  1321. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +654 -0
  1322. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +65 -16
  1323. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +213 -152
  1324. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +24 -9
  1325. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +370 -188
  1326. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +46 -48
  1327. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +16 -18
  1328. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +20 -22
  1329. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +15 -17
  1330. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +23 -8
  1331. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +1 -1
  1332. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +19 -2
  1333. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +167 -55
  1334. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +5 -7
  1335. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.java +246 -0
  1336. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +45 -2
  1337. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +8 -4
  1338. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +68 -4
  1339. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.h +16 -0
  1340. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +222 -0
  1341. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +47 -0
  1342. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.cpp +11 -13
  1343. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.h +11 -13
  1344. package/ReactCommon/react/renderer/animations/CMakeLists.txt +1 -1
  1345. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +4 -6
  1346. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +9 -9
  1347. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +5 -7
  1348. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +138 -107
  1349. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +42 -34
  1350. package/ReactCommon/react/renderer/animations/conversions.h +12 -14
  1351. package/ReactCommon/react/renderer/animations/primitives.h +2 -4
  1352. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +6 -8
  1353. package/ReactCommon/react/renderer/animations/utils.cpp +2 -2
  1354. package/ReactCommon/react/renderer/animations/utils.h +8 -10
  1355. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +21 -16
  1356. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +22 -26
  1357. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +13 -13
  1358. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +12 -14
  1359. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +2 -2
  1360. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -2
  1361. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +7 -10
  1362. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  1363. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +9 -8
  1364. package/ReactCommon/react/renderer/attributedstring/conversions.h +97 -223
  1365. package/ReactCommon/react/renderer/attributedstring/primitives.h +14 -54
  1366. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +2 -4
  1367. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +2 -4
  1368. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  1369. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +4 -6
  1370. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProvider.h +6 -8
  1371. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +5 -5
  1372. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +7 -8
  1373. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +17 -17
  1374. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +17 -18
  1375. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +1 -0
  1376. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.h +2 -4
  1377. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +2 -1
  1378. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +6 -44
  1379. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +9 -39
  1380. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +2 -1
  1381. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +6 -9
  1382. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +1 -1
  1383. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.h +2 -4
  1384. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +7 -7
  1385. package/ReactCommon/react/renderer/components/image/ImageProps.h +8 -10
  1386. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +3 -3
  1387. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +7 -8
  1388. package/ReactCommon/react/renderer/components/image/ImageState.cpp +1 -1
  1389. package/ReactCommon/react/renderer/components/image/ImageState.h +7 -9
  1390. package/ReactCommon/react/renderer/components/image/conversions.h +14 -15
  1391. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +11 -16
  1392. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.cpp +2 -4
  1393. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +2 -4
  1394. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryState.h +2 -4
  1395. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  1396. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +5 -7
  1397. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +41 -16
  1398. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +2 -4
  1399. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +2 -4
  1400. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +2 -4
  1401. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm +2 -4
  1402. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +4 -6
  1403. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +3 -5
  1404. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -7
  1405. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +5 -7
  1406. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -2
  1407. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +47 -11
  1408. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -6
  1409. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +1 -1
  1410. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +11 -17
  1411. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +2 -4
  1412. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +3 -5
  1413. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  1414. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +8 -10
  1415. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +4 -4
  1416. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +4 -6
  1417. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +4 -4
  1418. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +6 -8
  1419. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +3 -5
  1420. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  1421. package/ReactCommon/react/renderer/components/root/RootComponentDescriptor.h +2 -4
  1422. package/ReactCommon/react/renderer/components/root/RootProps.cpp +7 -7
  1423. package/ReactCommon/react/renderer/components/root/RootProps.h +9 -11
  1424. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +5 -5
  1425. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +7 -9
  1426. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +9 -22
  1427. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.cpp +2 -4
  1428. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +2 -11
  1429. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +1 -3
  1430. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +2 -4
  1431. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +1 -1
  1432. package/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h +1 -1
  1433. package/ReactCommon/react/renderer/components/scrollview/ScrollViewComponentDescriptor.h +2 -4
  1434. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +10 -10
  1435. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +8 -10
  1436. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +7 -7
  1437. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +8 -10
  1438. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +8 -1
  1439. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +8 -4
  1440. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +8 -0
  1441. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +9 -6
  1442. package/ReactCommon/react/renderer/components/scrollview/conversions.h +24 -25
  1443. package/ReactCommon/react/renderer/components/scrollview/primitives.h +5 -6
  1444. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +1 -1
  1445. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +8 -10
  1446. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +3 -3
  1447. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +3 -5
  1448. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +4 -4
  1449. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +6 -8
  1450. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +19 -11
  1451. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +8 -10
  1452. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +8 -8
  1453. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +7 -9
  1454. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -1
  1455. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +7 -10
  1456. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +6 -6
  1457. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.h +3 -5
  1458. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.cpp +54 -41
  1459. package/ReactCommon/react/renderer/components/text/ParagraphLayoutManager.h +32 -11
  1460. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +7 -7
  1461. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +8 -10
  1462. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +36 -22
  1463. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +15 -13
  1464. package/ReactCommon/react/renderer/components/text/ParagraphState.h +5 -5
  1465. package/ReactCommon/react/renderer/components/text/RawTextComponentDescriptor.h +2 -4
  1466. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -3
  1467. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -7
  1468. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +2 -4
  1469. package/ReactCommon/react/renderer/components/text/TextComponentDescriptor.h +2 -4
  1470. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -6
  1471. package/ReactCommon/react/renderer/components/text/TextProps.h +8 -10
  1472. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +4 -6
  1473. package/ReactCommon/react/renderer/components/text/conversions.h +4 -6
  1474. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +2 -4
  1475. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  1476. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +46 -53
  1477. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputEventEmitter.h +2 -4
  1478. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +8 -8
  1479. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +15 -19
  1480. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +5 -15
  1481. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +6 -8
  1482. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +2 -8
  1483. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +4 -22
  1484. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +8 -12
  1485. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +25 -25
  1486. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputEventEmitter.h +17 -19
  1487. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputProps.cpp +6 -6
  1488. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputProps.h +15 -17
  1489. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputShadowNode.cpp +8 -8
  1490. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputShadowNode.h +9 -11
  1491. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputState.cpp +2 -2
  1492. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/TextInputState.h +5 -7
  1493. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/conversions.h +20 -22
  1494. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/primitives.h +11 -4
  1495. package/ReactCommon/react/renderer/components/textinput/iostextinput/react/renderer/components/iostextinput/propsConversions.h +18 -14
  1496. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +1 -1
  1497. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +5 -5
  1498. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -7
  1499. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +2 -4
  1500. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.h +2 -4
  1501. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +145 -20
  1502. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +31 -18
  1503. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +10 -11
  1504. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +50 -0
  1505. package/ReactCommon/react/renderer/components/view/BaseTouch.h +91 -0
  1506. package/ReactCommon/react/renderer/components/view/BaseViewEventEmitter.cpp +121 -0
  1507. package/ReactCommon/react/renderer/components/view/BaseViewEventEmitter.h +67 -0
  1508. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +505 -0
  1509. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +101 -0
  1510. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +10 -3
  1511. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +12 -30
  1512. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +41 -2
  1513. package/ReactCommon/react/renderer/components/view/PointerEvent.h +12 -7
  1514. package/ReactCommon/react/renderer/components/view/Touch.h +4 -78
  1515. package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +2 -2
  1516. package/ReactCommon/react/renderer/components/view/TouchEvent.h +4 -6
  1517. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +48 -81
  1518. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +21 -20
  1519. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +3 -5
  1520. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +4 -62
  1521. package/ReactCommon/react/renderer/components/view/ViewProps.h +5 -124
  1522. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +11 -13
  1523. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +20 -36
  1524. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +9 -11
  1525. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +295 -177
  1526. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +65 -39
  1527. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +228 -38
  1528. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +24 -18
  1529. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +515 -33
  1530. package/ReactCommon/react/renderer/components/view/conversions.h +255 -219
  1531. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +165 -0
  1532. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/AccessibilityPropsMapBuffer.h +35 -0
  1533. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformTouch.h +14 -0
  1534. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  1535. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +162 -0
  1536. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +68 -0
  1537. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +31 -0
  1538. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +106 -0
  1539. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/ViewPropsMapBuffer.cpp +191 -0
  1540. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/ViewPropsMapBuffer.h +51 -0
  1541. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +80 -0
  1542. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.h +22 -0
  1543. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformTouch.h +14 -0
  1544. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  1545. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewProps.h +14 -0
  1546. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +27 -0
  1547. package/ReactCommon/react/renderer/components/view/primitives.h +22 -58
  1548. package/ReactCommon/react/renderer/components/view/propsConversions.h +126 -133
  1549. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +18 -18
  1550. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +22 -23
  1551. package/ReactCommon/react/renderer/components/view/viewPropConversions.h +16 -18
  1552. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -4
  1553. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -1
  1554. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +2 -2
  1555. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +47 -35
  1556. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +39 -77
  1557. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +22 -23
  1558. package/ReactCommon/react/renderer/core/ConcreteState.h +28 -22
  1559. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +3 -3
  1560. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +2 -2
  1561. package/ReactCommon/react/renderer/core/EventBeat.cpp +1 -1
  1562. package/ReactCommon/react/renderer/core/EventBeat.h +6 -8
  1563. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +11 -11
  1564. package/ReactCommon/react/renderer/core/EventDispatcher.h +14 -16
  1565. package/ReactCommon/react/renderer/core/EventEmitter.cpp +34 -11
  1566. package/ReactCommon/react/renderer/core/EventEmitter.h +20 -11
  1567. package/ReactCommon/react/renderer/core/EventHandler.h +2 -4
  1568. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -4
  1569. package/ReactCommon/react/renderer/core/EventListener.h +7 -9
  1570. package/ReactCommon/react/renderer/core/EventLogger.cpp +3 -3
  1571. package/ReactCommon/react/renderer/core/EventLogger.h +5 -3
  1572. package/ReactCommon/react/renderer/core/EventPayload.h +40 -0
  1573. package/ReactCommon/react/renderer/core/EventPayloadType.h +14 -0
  1574. package/ReactCommon/react/renderer/core/EventPipe.h +9 -8
  1575. package/ReactCommon/react/renderer/core/EventPriority.h +2 -4
  1576. package/ReactCommon/react/renderer/core/EventQueue.cpp +12 -12
  1577. package/ReactCommon/react/renderer/core/EventQueue.h +7 -9
  1578. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +30 -10
  1579. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +11 -9
  1580. package/ReactCommon/react/renderer/core/EventTarget.cpp +17 -14
  1581. package/ReactCommon/react/renderer/core/EventTarget.h +10 -12
  1582. package/ReactCommon/react/renderer/core/InstanceHandle.cpp +28 -0
  1583. package/ReactCommon/react/renderer/core/InstanceHandle.h +41 -0
  1584. package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +1 -1
  1585. package/ReactCommon/react/renderer/core/LayoutConstraints.h +10 -13
  1586. package/ReactCommon/react/renderer/core/LayoutContext.h +5 -7
  1587. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +2 -2
  1588. package/ReactCommon/react/renderer/core/LayoutMetrics.h +38 -14
  1589. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +4 -6
  1590. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +74 -47
  1591. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +22 -18
  1592. package/ReactCommon/react/renderer/core/Props.cpp +41 -22
  1593. package/ReactCommon/react/renderer/core/Props.h +18 -14
  1594. package/ReactCommon/react/renderer/core/PropsParserContext.cpp +27 -0
  1595. package/ReactCommon/react/renderer/core/PropsParserContext.h +19 -8
  1596. package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -2
  1597. package/ReactCommon/react/renderer/core/RawEvent.h +5 -7
  1598. package/ReactCommon/react/renderer/core/RawProps.cpp +11 -12
  1599. package/ReactCommon/react/renderer/core/RawProps.h +16 -26
  1600. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +4 -4
  1601. package/ReactCommon/react/renderer/core/RawPropsKey.h +8 -10
  1602. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +27 -15
  1603. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +10 -14
  1604. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +29 -28
  1605. package/ReactCommon/react/renderer/core/RawPropsParser.h +9 -14
  1606. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +2 -18
  1607. package/ReactCommon/react/renderer/core/RawValue.h +59 -60
  1608. package/ReactCommon/react/renderer/core/ReactEventPriority.h +2 -4
  1609. package/ReactCommon/react/renderer/core/ReactPrimitives.h +3 -7
  1610. package/ReactCommon/react/renderer/core/Sealable.cpp +4 -4
  1611. package/ReactCommon/react/renderer/core/Sealable.h +6 -8
  1612. package/ReactCommon/react/renderer/core/ShadowNode.cpp +56 -38
  1613. package/ReactCommon/react/renderer/core/ShadowNode.h +48 -42
  1614. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +19 -13
  1615. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +48 -30
  1616. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +13 -7
  1617. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +9 -11
  1618. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -5
  1619. package/ReactCommon/react/renderer/core/State.cpp +4 -4
  1620. package/ReactCommon/react/renderer/core/State.h +6 -8
  1621. package/ReactCommon/react/renderer/core/StateData.h +4 -6
  1622. package/ReactCommon/react/renderer/core/StatePipe.h +3 -5
  1623. package/ReactCommon/react/renderer/core/StateUpdate.h +4 -6
  1624. package/ReactCommon/react/renderer/core/TraitCast.h +10 -10
  1625. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.h +2 -4
  1626. package/ReactCommon/react/renderer/core/ValueFactory.h +3 -5
  1627. package/ReactCommon/react/renderer/core/ValueFactoryEventPayload.cpp +23 -0
  1628. package/ReactCommon/react/renderer/core/ValueFactoryEventPayload.h +25 -0
  1629. package/ReactCommon/react/renderer/core/conversions.h +8 -10
  1630. package/ReactCommon/react/renderer/core/graphicsConversions.h +41 -41
  1631. package/ReactCommon/react/renderer/core/propsConversions.h +26 -28
  1632. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +31 -41
  1633. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +16 -14
  1634. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +2 -1
  1635. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +249 -101
  1636. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +27 -27
  1637. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +19 -21
  1638. package/ReactCommon/react/renderer/core/tests/TestComponent.h +23 -6
  1639. package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +6 -6
  1640. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +39 -41
  1641. package/ReactCommon/react/renderer/debug/CMakeLists.txt +1 -1
  1642. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +8 -8
  1643. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +34 -35
  1644. package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h +3 -5
  1645. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +61 -0
  1646. package/ReactCommon/react/renderer/debug/SystraceSection.h +6 -8
  1647. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +6 -7
  1648. package/ReactCommon/react/renderer/debug/flags.h +4 -0
  1649. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -2
  1650. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +9 -11
  1651. package/ReactCommon/react/renderer/element/ComponentBuilder.h +7 -10
  1652. package/ReactCommon/react/renderer/element/Element.h +30 -26
  1653. package/ReactCommon/react/renderer/element/ElementFragment.h +6 -7
  1654. package/ReactCommon/react/renderer/element/testUtils.h +6 -6
  1655. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +2 -3
  1656. package/ReactCommon/react/renderer/graphics/Color.cpp +3 -14
  1657. package/ReactCommon/react/renderer/graphics/Color.h +8 -8
  1658. package/ReactCommon/react/renderer/graphics/ColorComponents.h +2 -4
  1659. package/ReactCommon/react/renderer/graphics/Point.h +12 -14
  1660. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +8 -4
  1661. package/ReactCommon/react/renderer/graphics/Rect.h +30 -14
  1662. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +7 -10
  1663. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +16 -18
  1664. package/ReactCommon/react/renderer/graphics/Size.h +9 -11
  1665. package/ReactCommon/react/renderer/graphics/Transform.cpp +35 -32
  1666. package/ReactCommon/react/renderer/graphics/Transform.h +41 -24
  1667. package/ReactCommon/react/renderer/graphics/ValueUnit.h +32 -0
  1668. package/ReactCommon/react/renderer/graphics/Vector.h +2 -4
  1669. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/Float.h +2 -4
  1670. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +39 -0
  1671. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +13 -13
  1672. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Float.h +2 -4
  1673. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +39 -0
  1674. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +7 -9
  1675. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/Float.h +2 -4
  1676. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +39 -0
  1677. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.h +12 -12
  1678. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +1 -1
  1679. package/ReactCommon/react/renderer/graphics/rounding.h +2 -4
  1680. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +16 -0
  1681. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  1682. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +5 -7
  1683. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +9 -11
  1684. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +2 -4
  1685. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserver.h +3 -5
  1686. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +4 -4
  1687. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +6 -9
  1688. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +3 -5
  1689. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +2 -2
  1690. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +3 -3
  1691. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +15 -17
  1692. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +3 -5
  1693. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequest.cpp +7 -9
  1694. package/ReactCommon/react/renderer/imagemanager/primitives.h +4 -6
  1695. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +1 -1
  1696. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +3 -3
  1697. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +4 -6
  1698. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +4 -4
  1699. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +3 -5
  1700. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  1701. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +10 -10
  1702. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +7 -9
  1703. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +16 -16
  1704. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +7 -9
  1705. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -2
  1706. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +118 -119
  1707. package/ReactCommon/react/renderer/mounting/Differentiator.h +7 -9
  1708. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +19 -8
  1709. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +20 -11
  1710. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +3 -5
  1711. package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +3 -3
  1712. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +9 -11
  1713. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +126 -54
  1714. package/ReactCommon/react/renderer/mounting/ShadowTree.h +19 -16
  1715. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +5 -7
  1716. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +5 -5
  1717. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +8 -11
  1718. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +2 -4
  1719. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +12 -12
  1720. package/ReactCommon/react/renderer/mounting/ShadowView.h +24 -31
  1721. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +2 -2
  1722. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +4 -6
  1723. package/ReactCommon/react/renderer/mounting/StubView.cpp +7 -7
  1724. package/ReactCommon/react/renderer/mounting/StubView.h +9 -11
  1725. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +60 -60
  1726. package/ReactCommon/react/renderer/mounting/StubViewTree.h +18 -14
  1727. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +5 -5
  1728. package/ReactCommon/react/renderer/mounting/TelemetryController.h +11 -13
  1729. package/ReactCommon/react/renderer/mounting/stubs.cpp +8 -8
  1730. package/ReactCommon/react/renderer/mounting/stubs.h +4 -6
  1731. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +50 -40
  1732. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +20 -20
  1733. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +82 -66
  1734. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +167 -46
  1735. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +202 -0
  1736. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +80 -0
  1737. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +213 -0
  1738. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +74 -0
  1739. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +60 -0
  1740. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +46 -0
  1741. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +200 -0
  1742. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +64 -0
  1743. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +142 -0
  1744. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +63 -0
  1745. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -1
  1746. package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +4 -6
  1747. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +12 -9
  1748. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +46 -30
  1749. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +15 -12
  1750. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +23 -25
  1751. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +6 -8
  1752. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +7 -7
  1753. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +5 -8
  1754. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +2 -4
  1755. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +2 -2
  1756. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -4
  1757. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +20 -11
  1758. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -20
  1759. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +7 -9
  1760. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +8 -7
  1761. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +2 -2
  1762. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +1 -1
  1763. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -1
  1764. package/ReactCommon/react/renderer/scheduler/InspectorData.h +2 -4
  1765. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +71 -51
  1766. package/ReactCommon/react/renderer/scheduler/Scheduler.h +27 -27
  1767. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +8 -8
  1768. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +3 -6
  1769. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +43 -24
  1770. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +16 -18
  1771. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +15 -15
  1772. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +15 -17
  1773. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +3 -3
  1774. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +3 -5
  1775. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -2
  1776. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +1 -1
  1777. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.h +4 -9
  1778. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +11 -2
  1779. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.h +8 -5
  1780. package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +1 -1
  1781. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +25 -25
  1782. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +18 -20
  1783. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +14 -14
  1784. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -1
  1785. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +3 -3
  1786. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +23 -26
  1787. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +29 -29
  1788. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +20 -22
  1789. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +5 -7
  1790. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +4 -6
  1791. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +5 -3
  1792. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +11 -92
  1793. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.h +1 -1
  1794. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +3 -5
  1795. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +4 -6
  1796. package/ReactCommon/react/renderer/timeline/Timeline.cpp +18 -17
  1797. package/ReactCommon/react/renderer/timeline/Timeline.h +11 -14
  1798. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +12 -13
  1799. package/ReactCommon/react/renderer/timeline/TimelineController.h +14 -19
  1800. package/ReactCommon/react/renderer/timeline/TimelineFrame.h +4 -6
  1801. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +4 -4
  1802. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +9 -11
  1803. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +2 -4
  1804. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +2 -1
  1805. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +399 -0
  1806. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +84 -0
  1807. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +66 -90
  1808. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +7 -7
  1809. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +241 -98
  1810. package/ReactCommon/react/renderer/uimanager/UIManager.h +78 -51
  1811. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +5 -5
  1812. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +920 -185
  1813. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +27 -12
  1814. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +5 -6
  1815. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +7 -7
  1816. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +34 -0
  1817. package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +7 -7
  1818. package/ReactCommon/react/renderer/uimanager/bindingUtils.h +3 -3
  1819. package/ReactCommon/react/renderer/uimanager/primitives.h +102 -29
  1820. package/ReactCommon/react/runtime/.clang-tidy +17 -0
  1821. package/ReactCommon/react/runtime/BindingsInstaller.h +21 -0
  1822. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.cpp +28 -0
  1823. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.h +28 -0
  1824. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.cpp +28 -0
  1825. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +28 -0
  1826. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.cpp +60 -0
  1827. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +49 -0
  1828. package/ReactCommon/react/runtime/CMakeLists.txt +37 -0
  1829. package/ReactCommon/react/runtime/JSEngineInstance.h +27 -0
  1830. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +32 -0
  1831. package/ReactCommon/react/runtime/README.md +3 -0
  1832. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +62 -0
  1833. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +58 -0
  1834. package/ReactCommon/react/runtime/ReactInstance.cpp +468 -0
  1835. package/ReactCommon/react/runtime/ReactInstance.h +78 -0
  1836. package/ReactCommon/react/runtime/TimerManager.cpp +414 -0
  1837. package/ReactCommon/react/runtime/TimerManager.h +115 -0
  1838. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +33 -0
  1839. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +144 -0
  1840. package/ReactCommon/react/runtime/hermes/HermesInstance.h +25 -0
  1841. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +158 -0
  1842. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +19 -0
  1843. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.cpp +30 -0
  1844. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.h +22 -0
  1845. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +76 -0
  1846. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +32 -0
  1847. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.mm +73 -0
  1848. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTContextContainerHandling.h +16 -0
  1849. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +40 -0
  1850. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +31 -0
  1851. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +20 -0
  1852. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +75 -0
  1853. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +318 -0
  1854. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +75 -0
  1855. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +460 -0
  1856. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJSThreadManager.h +21 -0
  1857. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJSThreadManager.mm +124 -0
  1858. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.h +25 -0
  1859. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +23 -0
  1860. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.h +19 -0
  1861. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm +44 -0
  1862. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.h +16 -0
  1863. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +74 -0
  1864. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +868 -0
  1865. package/ReactCommon/react/test_utils/Entropy.h +8 -10
  1866. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +2 -4
  1867. package/ReactCommon/react/test_utils/ios/Memory/RCTMemoryUtils.h +19 -0
  1868. package/ReactCommon/react/test_utils/ios/Memory/RCTMemoryUtils.m +45 -0
  1869. package/ReactCommon/react/test_utils/ios/RCTSwizzleHelpers.h +19 -0
  1870. package/ReactCommon/react/test_utils/ios/RCTSwizzleHelpers.m +17 -0
  1871. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.h +21 -0
  1872. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +72 -0
  1873. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +51 -50
  1874. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  1875. package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +9 -11
  1876. package/ReactCommon/react/utils/ContextContainer.h +13 -16
  1877. package/ReactCommon/react/utils/CoreFeatures.cpp +27 -0
  1878. package/ReactCommon/react/utils/CoreFeatures.h +72 -0
  1879. package/ReactCommon/react/utils/FloatComparison.h +2 -4
  1880. package/ReactCommon/react/utils/ManagedObjectWrapper.h +4 -6
  1881. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +2 -4
  1882. package/ReactCommon/react/utils/React-utils.podspec +8 -11
  1883. package/ReactCommon/react/utils/RunLoopObserver.cpp +4 -6
  1884. package/ReactCommon/react/utils/RunLoopObserver.h +12 -14
  1885. package/ReactCommon/react/utils/SharedFunction.h +10 -10
  1886. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +5 -7
  1887. package/ReactCommon/react/utils/Telemetry.h +3 -5
  1888. package/ReactCommon/react/utils/hash_combine.h +31 -0
  1889. package/ReactCommon/react/utils/tests/hash_combineTests.cpp +82 -0
  1890. package/ReactCommon/reactperflogger/CMakeLists.txt +1 -1
  1891. package/ReactCommon/reactperflogger/React-perflogger.podspec +4 -3
  1892. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.cpp +92 -94
  1893. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +52 -54
  1894. package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +59 -61
  1895. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  1896. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -3
  1897. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +15 -17
  1898. package/ReactCommon/yoga/CMakeLists.txt +5 -13
  1899. package/ReactCommon/yoga/Yoga.podspec +12 -5
  1900. package/ReactCommon/yoga/cmake/project-defaults.cmake +52 -0
  1901. package/ReactCommon/yoga/cmake/yoga-config.cmake.in +10 -0
  1902. package/ReactCommon/yoga/yoga/CMakeLists.txt +1 -1
  1903. package/ReactCommon/yoga/yoga/YGEnums.cpp +16 -4
  1904. package/ReactCommon/yoga/yoga/YGEnums.h +12 -7
  1905. package/ReactCommon/yoga/yoga/YGMacros.h +73 -42
  1906. package/ReactCommon/yoga/yoga/YGValue.cpp +1 -1
  1907. package/ReactCommon/yoga/yoga/YGValue.h +12 -48
  1908. package/ReactCommon/yoga/yoga/Yoga-internal.h +4 -140
  1909. package/ReactCommon/yoga/yoga/Yoga.cpp +499 -3897
  1910. package/ReactCommon/yoga/yoga/Yoga.h +177 -226
  1911. package/ReactCommon/yoga/yoga/algorithm/Align.h +29 -0
  1912. package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +82 -0
  1913. package/ReactCommon/yoga/yoga/algorithm/Baseline.h +21 -0
  1914. package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +73 -0
  1915. package/ReactCommon/yoga/yoga/algorithm/Cache.cpp +121 -0
  1916. package/ReactCommon/yoga/yoga/algorithm/Cache.h +30 -0
  1917. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +2753 -0
  1918. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +21 -0
  1919. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +94 -0
  1920. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +107 -0
  1921. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +74 -0
  1922. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +132 -0
  1923. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.h +29 -0
  1924. package/ReactCommon/yoga/yoga/algorithm/ResolveValue.h +32 -0
  1925. package/ReactCommon/yoga/yoga/bits/BitCast.h +30 -0
  1926. package/ReactCommon/yoga/yoga/bits/NumericBitfield.h +67 -0
  1927. package/ReactCommon/yoga/yoga/config/Config.cpp +128 -0
  1928. package/ReactCommon/yoga/yoga/config/Config.h +93 -0
  1929. package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +50 -0
  1930. package/ReactCommon/yoga/yoga/debug/AssertFatal.h +28 -0
  1931. package/ReactCommon/yoga/yoga/debug/Log.cpp +107 -0
  1932. package/ReactCommon/yoga/yoga/debug/Log.h +34 -0
  1933. package/ReactCommon/yoga/yoga/debug/NodeToString.cpp +244 -0
  1934. package/ReactCommon/yoga/yoga/debug/NodeToString.h +29 -0
  1935. package/ReactCommon/yoga/yoga/enums/Align.h +51 -0
  1936. package/ReactCommon/yoga/yoga/enums/Dimension.h +45 -0
  1937. package/ReactCommon/yoga/yoga/enums/Direction.h +46 -0
  1938. package/ReactCommon/yoga/yoga/enums/Display.h +45 -0
  1939. package/ReactCommon/yoga/yoga/enums/Edge.h +52 -0
  1940. package/ReactCommon/yoga/yoga/enums/Errata.h +49 -0
  1941. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +45 -0
  1942. package/ReactCommon/yoga/yoga/enums/FlexDirection.h +47 -0
  1943. package/ReactCommon/yoga/yoga/enums/Gutter.h +46 -0
  1944. package/ReactCommon/yoga/yoga/enums/Justify.h +49 -0
  1945. package/ReactCommon/yoga/yoga/enums/LogLevel.h +49 -0
  1946. package/ReactCommon/yoga/yoga/enums/MeasureMode.h +46 -0
  1947. package/ReactCommon/yoga/yoga/enums/NodeType.h +45 -0
  1948. package/ReactCommon/yoga/yoga/enums/Overflow.h +46 -0
  1949. package/ReactCommon/yoga/yoga/enums/PositionType.h +46 -0
  1950. package/ReactCommon/yoga/yoga/enums/PrintOptions.h +48 -0
  1951. package/ReactCommon/yoga/yoga/enums/Unit.h +47 -0
  1952. package/ReactCommon/yoga/yoga/enums/Wrap.h +46 -0
  1953. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +18 -0
  1954. package/ReactCommon/yoga/yoga/event/event.cpp +6 -5
  1955. package/ReactCommon/yoga/yoga/event/event.h +16 -33
  1956. package/ReactCommon/yoga/yoga/node/CachedMeasurement.h +53 -0
  1957. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +47 -0
  1958. package/ReactCommon/yoga/yoga/node/LayoutResults.h +88 -0
  1959. package/ReactCommon/yoga/yoga/node/Node.cpp +606 -0
  1960. package/ReactCommon/yoga/yoga/node/Node.h +344 -0
  1961. package/ReactCommon/yoga/yoga/numeric/Comparison.h +91 -0
  1962. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +77 -0
  1963. package/ReactCommon/yoga/yoga/style/CompactValue.h +184 -0
  1964. package/ReactCommon/yoga/yoga/style/Style.h +333 -0
  1965. package/build.gradle.kts +4 -4
  1966. package/cli.js +60 -2
  1967. package/flow/global.js +1 -3
  1968. package/flow/jest.js +5 -1
  1969. package/gradle/libs.versions.toml +80 -0
  1970. package/jest/ReactNativeInternalFeatureFlagsMock.js +13 -0
  1971. package/jest/__tests__/setup-test.js +18 -0
  1972. package/jest/mockModal.js +6 -4
  1973. package/jest/setup.js +61 -30
  1974. package/package.json +44 -26
  1975. package/react-native.config.js +12 -13
  1976. package/scripts/cocoapods/codegen.rb +17 -19
  1977. package/scripts/cocoapods/codegen_utils.rb +26 -21
  1978. package/scripts/cocoapods/fabric.rb +2 -1
  1979. package/scripts/cocoapods/flipper.rb +1 -9
  1980. package/scripts/cocoapods/helpers.rb +1 -1
  1981. package/scripts/cocoapods/jsengine.rb +1 -8
  1982. package/scripts/cocoapods/new_architecture.rb +74 -12
  1983. package/scripts/cocoapods/runtime.rb +18 -0
  1984. package/scripts/cocoapods/utils.rb +182 -66
  1985. package/scripts/codegen/generate-artifacts-executor.js +34 -24
  1986. package/scripts/codegen/generate-legacy-interop-components.js +8 -2
  1987. package/scripts/find-node-for-xcode.sh +4 -4
  1988. package/scripts/packager.sh +0 -5
  1989. package/scripts/react-native-xcode.sh +4 -17
  1990. package/scripts/react_native_pods.rb +88 -56
  1991. package/scripts/react_native_pods_utils/script_phases.sh +1 -1
  1992. package/sdks/.hermesversion +1 -1
  1993. package/sdks/hermes-engine/hermes-engine.podspec +74 -43
  1994. package/sdks/hermes-engine/hermes-utils.rb +196 -81
  1995. package/sdks/hermes-engine/utils/build-apple-framework.sh +73 -7
  1996. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +4 -10
  1997. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +3 -2
  1998. package/sdks/hermes-engine/utils/build-ios-framework.sh +68 -12
  1999. package/sdks/hermes-engine/utils/replace_hermes_version.js +106 -0
  2000. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  2001. package/sdks/hermesc/osx-bin/hermes +0 -0
  2002. package/sdks/hermesc/osx-bin/hermes-lit +15 -0
  2003. package/sdks/hermesc/osx-bin/hermesc +0 -0
  2004. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  2005. package/settings.gradle.kts +8 -1
  2006. package/template/App.tsx +2 -2
  2007. package/template/__tests__/App.test.tsx +1 -1
  2008. package/template/android/app/build.gradle +7 -12
  2009. package/template/android/app/src/debug/AndroidManifest.xml +1 -5
  2010. package/template/android/app/src/main/java/com/helloworld/MainActivity.kt +22 -0
  2011. package/template/android/app/src/main/java/com/helloworld/MainApplication.kt +43 -0
  2012. package/template/android/build.gradle +8 -8
  2013. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  2014. package/template/android/gradle/wrapper/gradle-wrapper.properties +2 -1
  2015. package/template/android/gradle.properties +0 -3
  2016. package/template/android/gradlew +12 -7
  2017. package/template/babel.config.js +1 -1
  2018. package/template/ios/HelloWorld/AppDelegate.mm +5 -0
  2019. package/template/ios/HelloWorld/Info.plist +5 -8
  2020. package/template/ios/Podfile +13 -14
  2021. package/template/package.json +11 -11
  2022. package/template/tsconfig.json +1 -1
  2023. package/third-party-podspecs/DoubleConversion.podspec +1 -1
  2024. package/third-party-podspecs/RCT-Folly.podspec +17 -20
  2025. package/third-party-podspecs/boost.podspec +4 -4
  2026. package/third-party-podspecs/fmt.podspec +2 -2
  2027. package/third-party-podspecs/glog.podspec +19 -3
  2028. package/types/experimental.d.ts +44 -0
  2029. package/types/index.d.ts +2 -1
  2030. package/types/modules/Devtools.d.ts +1 -0
  2031. package/types/modules/globals.d.ts +16 -1
  2032. package/types/public/ReactNativeTVTypes.d.ts +25 -25
  2033. package/Libraries/Alert/Alert.js.flow +0 -49
  2034. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
  2035. package/Libraries/Components/TextInput/InputAccessoryView.js.flow +0 -25
  2036. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -37
  2037. package/Libraries/FBLazyVector/BUCK +0 -22
  2038. package/Libraries/Image/ImageBackground.js.flow +0 -17
  2039. package/Libraries/Image/ImageViewNativeComponent.js.flow +0 -42
  2040. package/Libraries/Image/RCTAnimatedImage.m +0 -175
  2041. package/Libraries/Image/RCTImageBlurUtils.m +0 -101
  2042. package/Libraries/Image/RCTImageUtils.m +0 -387
  2043. package/Libraries/Image/RCTUIImageViewAnimated.m +0 -347
  2044. package/Libraries/Image/TextInlineImageNativeComponent.js.flow +0 -27
  2045. package/Libraries/Lists/FlatList.js.flow +0 -116
  2046. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +0 -125
  2047. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +0 -151
  2048. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +0 -200
  2049. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +0 -171
  2050. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -142
  2051. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +0 -58
  2052. package/Libraries/NativeAnimation/RCTAnimationUtils.m +0 -129
  2053. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +0 -482
  2054. package/Libraries/RCTRequired/BUCK +0 -19
  2055. package/Libraries/Renderer/REVISION +0 -1
  2056. package/Libraries/Settings/Settings.android.js +0 -33
  2057. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +0 -28
  2058. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +0 -76
  2059. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +0 -18
  2060. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +0 -26
  2061. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +0 -19
  2062. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +0 -19
  2063. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +0 -116
  2064. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.h +0 -12
  2065. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +0 -161
  2066. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +0 -20
  2067. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +0 -19
  2068. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +0 -36
  2069. package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +0 -158
  2070. package/Libraries/Text/RCTConvert+Text.m +0 -37
  2071. package/Libraries/Text/Text/RCTTextShadowView.m +0 -416
  2072. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +0 -308
  2073. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +0 -316
  2074. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +0 -713
  2075. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +0 -177
  2076. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +0 -20
  2077. package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +0 -224
  2078. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.m +0 -26
  2079. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  2080. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  2081. package/React/AccessibilityResources/en.lproj/Localizable.strings +0 -26
  2082. package/React/Base/RCTBridge.m +0 -410
  2083. package/React/Base/RCTJSScriptLoaderModule.h +0 -22
  2084. package/React/Base/RCTPerformanceLogger.m +0 -99
  2085. package/React/Base/RCTRuntimeExecutorFromBridge.h +0 -19
  2086. package/React/Base/RCTRuntimeExecutorFromBridge.mm +0 -56
  2087. package/React/CoreModules/BUCK +0 -139
  2088. package/React/CoreModules/RCTAlertController.m +0 -79
  2089. package/React/CoreModules/RCTDevSplitBundleLoader.h +0 -13
  2090. package/React/CoreModules/RCTDevSplitBundleLoader.mm +0 -108
  2091. package/React/CoreModules/RCTFPSGraph.m +0 -128
  2092. package/React/Fabric/Surface/RCTFabricSurfaceHostingProxyRootView.h +0 -15
  2093. package/React/Fabric/Surface/RCTFabricSurfaceHostingProxyRootView.mm +0 -21
  2094. package/ReactAndroid/external-artifacts/build.gradle +0 -44
  2095. package/ReactAndroid/libs/BUCK +0 -25
  2096. package/ReactAndroid/src/main/java/com/facebook/BUCK +0 -14
  2097. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK +0 -14
  2098. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +0 -20
  2099. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +0 -20
  2100. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +0 -28
  2101. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +0 -40
  2102. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/BUCK +0 -14
  2103. package/ReactAndroid/src/main/java/com/facebook/perftest/BUCK +0 -11
  2104. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +0 -28
  2105. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -61
  2106. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.java +0 -14
  2107. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +0 -34
  2108. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +0 -92
  2109. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ContextBaseJavaModule.java +0 -27
  2110. package/ReactAndroid/src/main/java/com/facebook/react/common/ArrayUtils.java +0 -26
  2111. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +0 -48
  2112. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.java +0 -14
  2113. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +0 -32
  2114. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +0 -18
  2115. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +0 -17
  2116. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +0 -64
  2117. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +0 -51
  2118. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppComponentRegistry.java +0 -28
  2119. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +0 -59
  2120. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +0 -50
  2121. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +0 -19
  2122. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +0 -37
  2123. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.java +0 -48
  2124. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +0 -22
  2125. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +0 -20
  2126. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +0 -17
  2127. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +0 -31
  2128. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +0 -25
  2129. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +0 -24
  2130. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +0 -17
  2131. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +0 -24
  2132. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +0 -36
  2133. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +0 -22
  2134. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/NativeDevSplitBundleLoaderModule.java +0 -50
  2135. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +0 -26
  2136. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +0 -25
  2137. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +0 -21
  2138. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +0 -29
  2139. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +0 -46
  2140. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +0 -27
  2141. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/BUCK +0 -25
  2142. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/BUCK +0 -25
  2143. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +0 -24
  2144. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +0 -17
  2145. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/ReactFabric.java +0 -25
  2146. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +0 -41
  2147. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +0 -26
  2148. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +0 -32
  2149. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +0 -23
  2150. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +0 -32
  2151. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +0 -23
  2152. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +0 -23
  2153. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +0 -24
  2154. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +0 -28
  2155. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +0 -53
  2156. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +0 -22
  2157. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +0 -24
  2158. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +0 -30
  2159. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +0 -28
  2160. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +0 -31
  2161. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +0 -24
  2162. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -69
  2163. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +0 -27
  2164. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +0 -19
  2165. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +0 -60
  2166. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +0 -21
  2167. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.java +0 -18
  2168. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +0 -17
  2169. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java +0 -37
  2170. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +0 -112
  2171. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +0 -19
  2172. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +0 -22
  2173. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +0 -19
  2174. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +0 -20
  2175. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +0 -21
  2176. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +0 -32
  2177. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +0 -67
  2178. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +0 -44
  2179. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +0 -34
  2180. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +0 -27
  2181. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +0 -34
  2182. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +0 -31
  2183. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +0 -28
  2184. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -39
  2185. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +0 -72
  2186. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +0 -33
  2187. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +0 -41
  2188. package/ReactAndroid/src/main/java/com/facebook/react/views/traceupdateoverlay/BUCK +0 -29
  2189. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +0 -28
  2190. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +0 -39
  2191. package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +0 -14
  2192. package/ReactAndroid/src/main/jni/CircularDepsValidator.cmake +0 -32
  2193. package/ReactAndroid/src/main/jni/first-party/fb/BUCK +0 -35
  2194. package/ReactAndroid/src/main/jni/first-party/fbgloginit/BUCK +0 -21
  2195. package/ReactAndroid/src/main/jni/first-party/jni-hack/BUCK +0 -17
  2196. package/ReactAndroid/src/main/jni/first-party/yogajni/BUCK +0 -22
  2197. package/ReactAndroid/src/main/jni/prebuilt/BUCK +0 -21
  2198. package/ReactAndroid/src/main/jni/react/fabric/BUCK +0 -54
  2199. package/ReactAndroid/src/main/jni/react/fabric/FabricMountItem.cpp +0 -66
  2200. package/ReactAndroid/src/main/jni/react/fabric/FabricMountItem.h +0 -88
  2201. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +0 -27
  2202. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/BUCK +0 -19
  2203. package/ReactAndroid/src/main/jni/react/jni/BUCK +0 -76
  2204. package/ReactAndroid/src/main/jni/react/jscexecutor/BUCK +0 -22
  2205. package/ReactAndroid/src/main/jni/react/mapbuffer/BUCK +0 -30
  2206. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -16
  2207. package/ReactAndroid/src/main/jni/react/reactnativeblob/BUCK +0 -19
  2208. package/ReactAndroid/src/main/jni/react/reactperflogger/BUCK +0 -31
  2209. package/ReactAndroid/src/main/jni/react/turbomodule/BUCK +0 -69
  2210. package/ReactAndroid/src/main/jni/react/uimanager/BUCK +0 -36
  2211. package/ReactAndroid/src/main/jni/third-party/glibc/BUCK +0 -69
  2212. package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +0 -11
  2213. package/ReactAndroid/src/main/libraries/fbjni/BUCK +0 -20
  2214. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +0 -189
  2215. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +0 -44
  2216. package/ReactAndroid/src/main/res/BUCK +0 -51
  2217. package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -103
  2218. package/ReactCommon/butter/BUCK +0 -47
  2219. package/ReactCommon/butter/function.h +0 -51
  2220. package/ReactCommon/butter/set.h +0 -38
  2221. package/ReactCommon/butter/small_vector.h +0 -39
  2222. package/ReactCommon/callinvoker/BUCK +0 -25
  2223. package/ReactCommon/cxxreact/BUCK +0 -163
  2224. package/ReactCommon/cxxreact/tests/BUCK +0 -28
  2225. package/ReactCommon/hermes/inspector/AsyncPauseState.h +0 -34
  2226. package/ReactCommon/hermes/inspector/BUCK +0 -234
  2227. package/ReactCommon/hermes/inspector/CMakeLists.txt +0 -40
  2228. package/ReactCommon/hermes/inspector/DEFS.bzl +0 -7
  2229. package/ReactCommon/hermes/inspector/Exceptions.h +0 -60
  2230. package/ReactCommon/hermes/inspector/Inspector.cpp +0 -744
  2231. package/ReactCommon/hermes/inspector/Inspector.h +0 -384
  2232. package/ReactCommon/hermes/inspector/InspectorState.cpp +0 -511
  2233. package/ReactCommon/hermes/inspector/InspectorState.h +0 -412
  2234. package/ReactCommon/hermes/inspector/README.md +0 -113
  2235. package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +0 -30
  2236. package/ReactCommon/hermes/inspector/RuntimeAdapter.h +0 -76
  2237. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +0 -1626
  2238. package/ReactCommon/hermes/inspector/chrome/Connection.h +0 -67
  2239. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +0 -131
  2240. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +0 -59
  2241. package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +0 -258
  2242. package/ReactCommon/hermes/inspector/chrome/MessageConverters.h +0 -135
  2243. package/ReactCommon/hermes/inspector/chrome/MessageInterfaces.h +0 -74
  2244. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +0 -1856
  2245. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +0 -974
  2246. package/ReactCommon/hermes/inspector/chrome/MessageTypesInlines.h +0 -160
  2247. package/ReactCommon/hermes/inspector/chrome/Registration.cpp +0 -38
  2248. package/ReactCommon/hermes/inspector/chrome/Registration.h +0 -43
  2249. package/ReactCommon/hermes/inspector/chrome/RemoteObjectsTable.cpp +0 -146
  2250. package/ReactCommon/hermes/inspector/chrome/RemoteObjectsTable.h +0 -124
  2251. package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +0 -274
  2252. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +0 -166
  2253. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +0 -148
  2254. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +0 -147
  2255. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +0 -2939
  2256. package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +0 -1535
  2257. package/ReactCommon/hermes/inspector/chrome/tests/RemoteObjectsTableTest.cpp +0 -111
  2258. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +0 -133
  2259. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.h +0 -69
  2260. package/ReactCommon/hermes/inspector/detail/CallbackOStream.cpp +0 -77
  2261. package/ReactCommon/hermes/inspector/detail/CallbackOStream.h +0 -89
  2262. package/ReactCommon/hermes/inspector/detail/SerialExecutor.cpp +0 -60
  2263. package/ReactCommon/hermes/inspector/detail/SerialExecutor.h +0 -57
  2264. package/ReactCommon/hermes/inspector/detail/Thread.cpp +0 -39
  2265. package/ReactCommon/hermes/inspector/detail/Thread.h +0 -85
  2266. package/ReactCommon/hermes/inspector/detail/tests/CallbackOStreamTests.cpp +0 -104
  2267. package/ReactCommon/hermes/inspector/detail/tests/SerialExecutorTests.cpp +0 -41
  2268. package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +0 -410
  2269. package/ReactCommon/hermes/inspector/tools/run_msggen +0 -32
  2270. package/ReactCommon/hermes/inspector/tools/sandcastle/build_and_test.sh +0 -13
  2271. package/ReactCommon/jsc/BUCK +0 -34
  2272. package/ReactCommon/jserrorhandler/BUCK +0 -30
  2273. package/ReactCommon/jsi/BUCK +0 -58
  2274. package/ReactCommon/jsiexecutor/BUCK +0 -45
  2275. package/ReactCommon/jsinspector/BUCK +0 -40
  2276. package/ReactCommon/jsinspector/CMakeLists.txt +0 -16
  2277. package/ReactCommon/jsinspector/InspectorInterfaces.cpp +0 -108
  2278. package/ReactCommon/jsinspector/InspectorInterfaces.h +0 -94
  2279. package/ReactCommon/jsinspector/React-jsinspector.podspec +0 -31
  2280. package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +0 -179
  2281. package/ReactCommon/logger/BUCK +0 -41
  2282. package/ReactCommon/react/bridging/BUCK +0 -56
  2283. package/ReactCommon/react/config/BUCK +0 -43
  2284. package/ReactCommon/react/debug/BUCK +0 -65
  2285. package/ReactCommon/react/nativemodule/core/BUCK +0 -87
  2286. package/ReactCommon/react/nativemodule/samples/BUCK +0 -103
  2287. package/ReactCommon/react/renderer/animations/BUCK +0 -94
  2288. package/ReactCommon/react/renderer/attributedstring/BUCK +0 -83
  2289. package/ReactCommon/react/renderer/componentregistry/BUCK +0 -53
  2290. package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -49
  2291. package/ReactCommon/react/renderer/components/image/BUCK +0 -76
  2292. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -45
  2293. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -50
  2294. package/ReactCommon/react/renderer/components/modal/BUCK +0 -87
  2295. package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -116
  2296. package/ReactCommon/react/renderer/components/root/BUCK +0 -74
  2297. package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -45
  2298. package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -81
  2299. package/ReactCommon/react/renderer/components/switch/BUCK +0 -87
  2300. package/ReactCommon/react/renderer/components/text/BUCK +0 -99
  2301. package/ReactCommon/react/renderer/components/textinput/BUCK +0 -97
  2302. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -95
  2303. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -69
  2304. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +0 -166
  2305. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +0 -35
  2306. package/ReactCommon/react/renderer/components/view/BUCK +0 -87
  2307. package/ReactCommon/react/renderer/components/view/Touch.cpp +0 -34
  2308. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +0 -117
  2309. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +0 -564
  2310. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +0 -202
  2311. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.h +0 -56
  2312. package/ReactCommon/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +0 -87
  2313. package/ReactCommon/react/renderer/components/view/YogaStylablePropsMapBuffer.h +0 -24
  2314. package/ReactCommon/react/renderer/core/BUCK +0 -115
  2315. package/ReactCommon/react/renderer/core/CoreFeatures.cpp +0 -22
  2316. package/ReactCommon/react/renderer/core/CoreFeatures.h +0 -54
  2317. package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +0 -36
  2318. package/ReactCommon/react/renderer/core/PropsMapBuffer.h +0 -24
  2319. package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +0 -34
  2320. package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.h +0 -55
  2321. package/ReactCommon/react/renderer/debug/BUCK +0 -75
  2322. package/ReactCommon/react/renderer/element/BUCK +0 -86
  2323. package/ReactCommon/react/renderer/graphics/BUCK +0 -128
  2324. package/ReactCommon/react/renderer/imagemanager/BUCK +0 -113
  2325. package/ReactCommon/react/renderer/leakchecker/BUCK +0 -51
  2326. package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -73
  2327. package/ReactCommon/react/renderer/mounting/BUCK +0 -87
  2328. package/ReactCommon/react/renderer/runtimescheduler/BUCK +0 -76
  2329. package/ReactCommon/react/renderer/scheduler/BUCK +0 -63
  2330. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.cpp +0 -8
  2331. package/ReactCommon/react/renderer/telemetry/BUCK +0 -77
  2332. package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -89
  2333. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -155
  2334. package/ReactCommon/react/renderer/timeline/BUCK +0 -75
  2335. package/ReactCommon/react/renderer/uimanager/BUCK +0 -92
  2336. package/ReactCommon/react/test_utils/BUCK +0 -54
  2337. package/ReactCommon/react/utils/BUCK +0 -67
  2338. package/ReactCommon/reactperflogger/BUCK +0 -27
  2339. package/ReactCommon/runtimeexecutor/BUCK +0 -50
  2340. package/ReactCommon/yoga/BUCK +0 -16
  2341. package/ReactCommon/yoga/yoga/BitUtils.h +0 -71
  2342. package/ReactCommon/yoga/yoga/CompactValue.h +0 -216
  2343. package/ReactCommon/yoga/yoga/Utils.cpp +0 -83
  2344. package/ReactCommon/yoga/yoga/Utils.h +0 -150
  2345. package/ReactCommon/yoga/yoga/YGConfig.cpp +0 -44
  2346. package/ReactCommon/yoga/yoga/YGConfig.h +0 -81
  2347. package/ReactCommon/yoga/yoga/YGFloatOptional.h +0 -74
  2348. package/ReactCommon/yoga/yoga/YGLayout.cpp +0 -42
  2349. package/ReactCommon/yoga/yoga/YGLayout.h +0 -67
  2350. package/ReactCommon/yoga/yoga/YGNode.cpp +0 -579
  2351. package/ReactCommon/yoga/yoga/YGNode.h +0 -355
  2352. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +0 -244
  2353. package/ReactCommon/yoga/yoga/YGNodePrint.h +0 -32
  2354. package/ReactCommon/yoga/yoga/YGStyle.cpp +0 -56
  2355. package/ReactCommon/yoga/yoga/YGStyle.h +0 -241
  2356. package/ReactCommon/yoga/yoga/log.cpp +0 -64
  2357. package/ReactCommon/yoga/yoga/log.h +0 -42
  2358. package/flow/use-sync-external-store.js +0 -20
  2359. package/flow-typed/npm/base64-js_v1.x.x.js +0 -12
  2360. package/flow-typed/npm/glob_v7.x.x.js +0 -79
  2361. package/flow-typed/npm/pretty-format_v26.x.x.js +0 -49
  2362. package/flow-typed/npm/promise_v8.x.x.js +0 -30
  2363. package/flow-typed/npm/react-dom_v17.x.x.js +0 -139
  2364. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -79
  2365. package/flow-typed/npm/stacktrace-parser_v0.1.x.js +0 -17
  2366. package/flow-typed/npm/yargs_v17.x.x.js +0 -341
  2367. package/scripts/launchPackager.bat +0 -12
  2368. package/scripts/launchPackager.command +0 -34
  2369. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +0 -75
  2370. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +0 -32
  2371. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +0 -64
  2372. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +0 -20
  2373. package/third-party-podspecs/hermes-engine.podspec +0 -45
  2374. /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
  2375. /package/Libraries/Image/{RCTDisplayWeakRefreshable.m → RCTDisplayWeakRefreshable.mm} +0 -0
  2376. /package/Libraries/Image/{RCTImageCache.m → RCTImageCache.mm} +0 -0
  2377. /package/Libraries/Image/{RCTImageShadowView.m → RCTImageShadowView.mm} +0 -0
  2378. /package/Libraries/Image/{RCTResizeMode.m → RCTResizeMode.mm} +0 -0
  2379. /package/Libraries/NativeAnimation/Drivers/{RCTEventAnimation.m → RCTEventAnimation.mm} +0 -0
  2380. /package/Libraries/NativeAnimation/Nodes/{RCTAdditionAnimatedNode.m → RCTAdditionAnimatedNode.mm} +0 -0
  2381. /package/Libraries/NativeAnimation/Nodes/{RCTAnimatedNode.m → RCTAnimatedNode.mm} +0 -0
  2382. /package/Libraries/NativeAnimation/Nodes/{RCTColorAnimatedNode.m → RCTColorAnimatedNode.mm} +0 -0
  2383. /package/Libraries/NativeAnimation/Nodes/{RCTDiffClampAnimatedNode.m → RCTDiffClampAnimatedNode.mm} +0 -0
  2384. /package/Libraries/NativeAnimation/Nodes/{RCTDivisionAnimatedNode.m → RCTDivisionAnimatedNode.mm} +0 -0
  2385. /package/Libraries/NativeAnimation/Nodes/{RCTModuloAnimatedNode.m → RCTModuloAnimatedNode.mm} +0 -0
  2386. /package/Libraries/NativeAnimation/Nodes/{RCTMultiplicationAnimatedNode.m → RCTMultiplicationAnimatedNode.mm} +0 -0
  2387. /package/Libraries/NativeAnimation/Nodes/{RCTSubtractionAnimatedNode.m → RCTSubtractionAnimatedNode.mm} +0 -0
  2388. /package/Libraries/NativeAnimation/Nodes/{RCTTrackingAnimatedNode.m → RCTTrackingAnimatedNode.mm} +0 -0
  2389. /package/Libraries/NativeAnimation/Nodes/{RCTTransformAnimatedNode.m → RCTTransformAnimatedNode.mm} +0 -0
  2390. /package/Libraries/NativeAnimation/Nodes/{RCTValueAnimatedNode.m → RCTValueAnimatedNode.mm} +0 -0
  2391. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
  2392. /package/Libraries/Text/BaseText/{RCTBaseTextViewManager.m → RCTBaseTextViewManager.mm} +0 -0
  2393. /package/Libraries/Text/{RCTTextAttributes.m → RCTTextAttributes.mm} +0 -0
  2394. /package/Libraries/Text/RawText/{RCTRawTextShadowView.m → RCTRawTextShadowView.mm} +0 -0
  2395. /package/Libraries/Text/RawText/{RCTRawTextViewManager.m → RCTRawTextViewManager.mm} +0 -0
  2396. /package/Libraries/Text/Text/{RCTDynamicTypeRamp.m → RCTDynamicTypeRamp.mm} +0 -0
  2397. /package/Libraries/Text/Text/{RCTTextView.m → RCTTextView.mm} +0 -0
  2398. /package/Libraries/Text/Text/{RCTTextViewManager.m → RCTTextViewManager.mm} +0 -0
  2399. /package/Libraries/Text/TextInput/Multiline/{RCTMultilineTextInputView.m → RCTMultilineTextInputView.mm} +0 -0
  2400. /package/Libraries/Text/TextInput/Multiline/{RCTMultilineTextInputViewManager.m → RCTMultilineTextInputViewManager.mm} +0 -0
  2401. /package/Libraries/Text/TextInput/{RCTBackedTextInputDelegateAdapter.m → RCTBackedTextInputDelegateAdapter.mm} +0 -0
  2402. /package/Libraries/Text/TextInput/{RCTInputAccessoryView.m → RCTInputAccessoryView.mm} +0 -0
  2403. /package/Libraries/Text/TextInput/{RCTInputAccessoryViewContent.m → RCTInputAccessoryViewContent.mm} +0 -0
  2404. /package/Libraries/Text/TextInput/{RCTInputAccessoryViewManager.m → RCTInputAccessoryViewManager.mm} +0 -0
  2405. /package/Libraries/Text/TextInput/{RCTTextSelection.m → RCTTextSelection.mm} +0 -0
  2406. /package/Libraries/Text/TextInput/Singleline/{RCTSinglelineTextInputView.m → RCTSinglelineTextInputView.mm} +0 -0
  2407. /package/Libraries/Text/TextInput/Singleline/{RCTSinglelineTextInputViewManager.m → RCTSinglelineTextInputViewManager.mm} +0 -0
  2408. /package/Libraries/Text/VirtualText/{RCTVirtualTextShadowView.m → RCTVirtualTextShadowView.mm} +0 -0
  2409. /package/ReactCommon/hermes/{inspector → inspector-modern}/.clang-format +0 -0
  2410. /package/ReactCommon/hermes/{inspector → inspector-modern}/docs/GenerateInspectorFSM.sh +0 -0
  2411. /package/ReactCommon/hermes/{inspector → inspector-modern}/docs/InspectorFSM.gv +0 -0
  2412. /package/ReactCommon/hermes/{inspector → inspector-modern}/docs/InspectorFSM.pdf +0 -0
  2413. /package/ReactCommon/hermes/{inspector → inspector-modern}/tools/format +0 -0
  2414. /package/ReactCommon/hermes/{inspector → inspector-modern}/tools/message_types.txt +0 -0
  2415. /package/ReactCommon/hermes/{inspector → inspector-modern}/tools/sandcastle/setup.sh +0 -0
  2416. /package/ReactCommon/{jsinspector → jsinspector-modern}/.clang-tidy +0 -0
@@ -1,2939 +0,0 @@
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
-
8
- #include "AsyncHermesRuntime.h"
9
- #include "SyncConnection.h"
10
-
11
- #include <chrono>
12
- #include <initializer_list>
13
- #include <iostream>
14
- #include <limits>
15
-
16
- #include <folly/Conv.h>
17
- #include <folly/Unit.h>
18
- #include <folly/dynamic.h>
19
- #include <folly/futures/Future.h>
20
- #include <folly/json.h>
21
- #include <gtest/gtest.h>
22
- #include <hermes/DebuggerAPI.h>
23
- #include <hermes/hermes.h>
24
- #include <hermes/inspector/chrome/MessageTypes.h>
25
- #include <jsi/instrumentation.h>
26
- #include <optional>
27
-
28
- namespace facebook {
29
- namespace hermes {
30
- namespace inspector {
31
- namespace chrome {
32
-
33
- namespace m = ::facebook::hermes::inspector::chrome::message;
34
-
35
- using namespace std::chrono_literals;
36
-
37
- namespace {
38
-
39
- // This class mostly exists to call AsyncHermesRuntime::wait() before we
40
- // destruct either AsyncHermesRuntime or SyncConnection.
41
- //
42
- // The reason for this is that we need to make sure the runtime is finished
43
- // executing scripts before we destruct the debugger connection. Otherwise, if
44
- // we destruct the connection while scripts are still executing, the script
45
- // could perform an action (like hitting a breakpoint) that sends a message to
46
- // the already-deallocated connection.
47
- class TestContext {
48
- public:
49
- TestContext(bool waitForDebugger = false, bool veryLazy = false)
50
- : runtime_(veryLazy), conn_(runtime_.runtime(), waitForDebugger) {}
51
- ~TestContext() {
52
- runtime_.wait();
53
- }
54
-
55
- AsyncHermesRuntime &runtime() {
56
- return runtime_;
57
- }
58
-
59
- SyncConnection &conn() {
60
- return conn_;
61
- }
62
-
63
- private:
64
- AsyncHermesRuntime runtime_;
65
- SyncConnection conn_;
66
- };
67
-
68
- template <typename ResponseType>
69
- ResponseType expectResponse(SyncConnection &conn, int id) {
70
- ResponseType resp;
71
-
72
- conn.waitForResponse([id, &resp](const std::string &str) {
73
- resp = ResponseType(folly::parseJson(str));
74
- EXPECT_EQ(resp.id, id);
75
- });
76
-
77
- return resp;
78
- }
79
-
80
- template <typename NotificationType>
81
- NotificationType expectNotification(SyncConnection &conn) {
82
- NotificationType note;
83
-
84
- conn.waitForNotification([&note](const std::string &str) {
85
- std::string parseError;
86
-
87
- try {
88
- note = NotificationType(folly::parseJson(str));
89
- } catch (const std::exception &e) {
90
- parseError = e.what();
91
- parseError += " (json: " + str + ")";
92
- }
93
-
94
- EXPECT_EQ(parseError, "");
95
- });
96
-
97
- return note;
98
- }
99
-
100
- class UnexpectedNotificationException : public std::runtime_error {
101
- public:
102
- UnexpectedNotificationException()
103
- : std::runtime_error("unexpected notification") {}
104
- };
105
-
106
- void expectNothing(SyncConnection &conn) {
107
- auto promise = std::make_shared<folly::Promise<folly::Unit>>();
108
- auto future = promise->getFuture();
109
- try {
110
- conn.waitForNotification([promise](const std::string &str) {
111
- // if we receive a value fail the promise
112
- promise->setException(UnexpectedNotificationException());
113
- });
114
- } catch (...) {
115
- // if no values are received it times out with an exception
116
- // so we can say that we've succeeded at seeing nothing
117
- promise->setValue();
118
- }
119
- // timeout is 2500 milliseconds in SyncConnection::waitForNotification
120
- // so this value is mostly a redundant safety measure
121
- std::move(future).get(3000ms);
122
- }
123
-
124
- struct FrameInfo {
125
- FrameInfo(const std::string &functionName, int lineNumber, int scopeCount)
126
- : functionName(functionName),
127
- lineNumberMin(lineNumber),
128
- lineNumberMax(lineNumber),
129
- scopeCount(scopeCount),
130
- columnNumber(debugger::kInvalidLocation) {}
131
-
132
- FrameInfo &setLineNumberMax(int lineNumberMaxParam) {
133
- lineNumberMax = lineNumberMaxParam;
134
- return *this;
135
- }
136
-
137
- FrameInfo &setScriptId(const std::string &scriptIdParam) {
138
- scriptId = scriptIdParam;
139
- return *this;
140
- }
141
-
142
- FrameInfo &setColumnNumber(int columnNumberParam) {
143
- columnNumber = columnNumberParam;
144
- return *this;
145
- }
146
-
147
- std::string functionName;
148
- int lineNumberMin;
149
- int lineNumberMax;
150
- int scopeCount;
151
- int columnNumber;
152
- std::string scriptId;
153
- };
154
-
155
- void expectCallFrames(
156
- const std::vector<m::debugger::CallFrame> &frames,
157
- const std::vector<FrameInfo> &infos) {
158
- EXPECT_EQ(frames.size(), infos.size());
159
-
160
- int i = 0;
161
- for (const FrameInfo &info : infos) {
162
- m::debugger::CallFrame frame = frames[i];
163
-
164
- EXPECT_EQ(frame.callFrameId, folly::to<std::string>(i));
165
- EXPECT_EQ(frame.functionName, info.functionName);
166
- EXPECT_GE(frame.location.lineNumber, info.lineNumberMin);
167
- EXPECT_LE(frame.location.lineNumber, info.lineNumberMax);
168
-
169
- if (info.columnNumber != debugger::kInvalidLocation) {
170
- EXPECT_EQ(frame.location.columnNumber, info.columnNumber);
171
- }
172
-
173
- if (info.scriptId.size() > 0) {
174
- EXPECT_EQ(frame.location.scriptId, info.scriptId);
175
- }
176
-
177
- // TODO: make expectation more specific once Hermes gives us something other
178
- // than kInvalidBreakpoint for the file id
179
- EXPECT_FALSE(frame.location.scriptId.empty());
180
-
181
- if (info.scopeCount > 0) {
182
- EXPECT_EQ(frame.scopeChain.size(), info.scopeCount);
183
-
184
- for (int j = 0; j < info.scopeCount; j++) {
185
- EXPECT_TRUE(frame.scopeChain[j].object.objectId.has_value());
186
- }
187
- }
188
-
189
- i++;
190
- }
191
- }
192
-
193
- // Helper to send a request with no params and wait for a response (defaults
194
- // to empty) containing the req id.
195
- template <typename RequestType, typename ResponseType = m::OkResponse>
196
- ResponseType send(SyncConnection &conn, int id) {
197
- RequestType req;
198
- req.id = id;
199
- conn.send(req.toJson());
200
-
201
- return expectResponse<ResponseType>(conn, id);
202
- }
203
-
204
- template <typename RequestType, typename ResponseType = m::OkResponse>
205
- ResponseType send(SyncConnection &conn, RequestType req) {
206
- conn.send(req.toJson());
207
- return expectResponse<ResponseType>(conn, req.id);
208
- }
209
-
210
- void sendRuntimeEvalRequest(
211
- SyncConnection &conn,
212
- int id,
213
- const std::string &expression) {
214
- m::runtime::EvaluateRequest req;
215
- req.id = id;
216
- req.expression = expression;
217
- conn.send(req.toJson());
218
- }
219
-
220
- void sendEvalRequest(
221
- SyncConnection &conn,
222
- int id,
223
- int callFrameId,
224
- const std::string &expression) {
225
- m::debugger::EvaluateOnCallFrameRequest req;
226
- req.id = id;
227
- req.callFrameId = folly::to<std::string>(callFrameId);
228
- req.expression = expression;
229
- conn.send(req.toJson());
230
- }
231
-
232
- m::runtime::ExecutionContextCreatedNotification expectExecutionContextCreated(
233
- SyncConnection &conn) {
234
- auto note =
235
- expectNotification<m::runtime::ExecutionContextCreatedNotification>(conn);
236
-
237
- EXPECT_EQ(note.context.id, 1);
238
- EXPECT_EQ(note.context.origin, "");
239
- EXPECT_EQ(note.context.name, "hermes");
240
-
241
- return note;
242
- }
243
-
244
- m::debugger::ScriptParsedNotification expectScriptParsed(
245
- SyncConnection &conn,
246
- const std::string &url,
247
- const std::string &sourceMapURL) {
248
- auto note = expectNotification<m::debugger::ScriptParsedNotification>(conn);
249
-
250
- EXPECT_EQ(note.url, url);
251
- EXPECT_GT(note.scriptId.size(), 0);
252
-
253
- if (sourceMapURL.empty()) {
254
- EXPECT_FALSE(note.sourceMapURL.has_value());
255
- } else {
256
- EXPECT_EQ(note.sourceMapURL.value(), sourceMapURL);
257
- }
258
-
259
- return note;
260
- }
261
-
262
- m::debugger::PausedNotification expectPaused(
263
- SyncConnection &conn,
264
- const std::string &reason,
265
- const std::vector<FrameInfo> &infos) {
266
- auto note = expectNotification<m::debugger::PausedNotification>(conn);
267
-
268
- EXPECT_EQ(note.reason, reason);
269
- expectCallFrames(note.callFrames, infos);
270
- // TODO: check breakpoint location for pause once hermes gives that to us
271
-
272
- return note;
273
- }
274
-
275
- m::debugger::BreakpointId expectBreakpointResponse(
276
- SyncConnection &conn,
277
- int id,
278
- int line,
279
- int resolvedLine) {
280
- auto resp = expectResponse<m::debugger::SetBreakpointByUrlResponse>(conn, id);
281
-
282
- EXPECT_EQ(resp.id, id);
283
- EXPECT_FALSE(resp.breakpointId.empty());
284
- EXPECT_NE(
285
- resp.breakpointId,
286
- folly::to<std::string>(facebook::hermes::debugger::kInvalidBreakpoint));
287
-
288
- if (line == -1) {
289
- EXPECT_EQ(resp.locations.size(), 0);
290
- } else {
291
- EXPECT_EQ(resp.locations.size(), 1);
292
- EXPECT_EQ(resp.locations[0].lineNumber, resolvedLine);
293
- }
294
-
295
- return resp.breakpointId;
296
- }
297
-
298
- void expectEvalResponse(
299
- SyncConnection &conn,
300
- int id,
301
- const char *expectedValue) {
302
- auto resp =
303
- expectResponse<m::debugger::EvaluateOnCallFrameResponse>(conn, id);
304
-
305
- EXPECT_EQ(resp.id, id);
306
- EXPECT_EQ(resp.result.type, "string");
307
- EXPECT_EQ(resp.result.value, expectedValue);
308
- EXPECT_FALSE(resp.exceptionDetails.has_value());
309
- }
310
-
311
- void expectEvalResponse(SyncConnection &conn, int id, bool expectedValue) {
312
- auto resp =
313
- expectResponse<m::debugger::EvaluateOnCallFrameResponse>(conn, id);
314
-
315
- EXPECT_EQ(resp.id, id);
316
- EXPECT_EQ(resp.result.type, "boolean");
317
- EXPECT_EQ(resp.result.value, expectedValue);
318
- EXPECT_FALSE(resp.exceptionDetails.has_value());
319
- }
320
-
321
- void expectEvalResponse(SyncConnection &conn, int id, int expectedValue) {
322
- auto resp =
323
- expectResponse<m::debugger::EvaluateOnCallFrameResponse>(conn, id);
324
-
325
- EXPECT_EQ(resp.id, id);
326
- EXPECT_EQ(resp.result.type, "number");
327
- EXPECT_EQ(resp.result.value, expectedValue);
328
- EXPECT_FALSE(resp.exceptionDetails.has_value());
329
- }
330
-
331
- void expectEvalException(
332
- SyncConnection &conn,
333
- int id,
334
- const std::string &exceptionText,
335
- const std::vector<FrameInfo> infos) {
336
- auto resp =
337
- expectResponse<m::debugger::EvaluateOnCallFrameResponse>(conn, id);
338
-
339
- EXPECT_EQ(resp.id, id);
340
- EXPECT_TRUE(resp.exceptionDetails.has_value());
341
-
342
- m::runtime::ExceptionDetails &details = resp.exceptionDetails.value();
343
- EXPECT_EQ(details.text, exceptionText);
344
-
345
- // TODO: Hermes doesn't seem to populate the line number for the exception?
346
- EXPECT_EQ(details.lineNumber, 0);
347
-
348
- EXPECT_TRUE(details.stackTrace.has_value());
349
-
350
- m::runtime::StackTrace &stackTrace = details.stackTrace.value();
351
- EXPECT_EQ(stackTrace.callFrames.size(), infos.size());
352
-
353
- int i = 0;
354
- for (const FrameInfo &info : infos) {
355
- const m::runtime::CallFrame &callFrame = stackTrace.callFrames[i];
356
-
357
- EXPECT_GE(callFrame.lineNumber, info.lineNumberMin);
358
- EXPECT_LE(callFrame.lineNumber, info.lineNumberMax);
359
- EXPECT_EQ(callFrame.functionName, info.functionName);
360
-
361
- i++;
362
- }
363
- }
364
-
365
- struct PropInfo {
366
- PropInfo(const std::string &type) : type(type) {}
367
-
368
- PropInfo &setSubtype(const std::string &subtypeParam) {
369
- subtype = subtypeParam;
370
- return *this;
371
- }
372
-
373
- PropInfo &setValue(const folly::dynamic &valueParam) {
374
- value = valueParam;
375
- return *this;
376
- }
377
-
378
- PropInfo &setUnserializableValue(
379
- const std::string &unserializableValueParam) {
380
- unserializableValue = unserializableValueParam;
381
- return *this;
382
- }
383
-
384
- std::string type;
385
- std::optional<std::string> subtype;
386
- std::optional<folly::dynamic> value;
387
- std::optional<std::string> unserializableValue;
388
- };
389
-
390
- std::unordered_map<std::string, std::string> expectProps(
391
- SyncConnection &conn,
392
- int msgId,
393
- const std::string &objectId,
394
- const std::unordered_map<std::string, PropInfo> &infos,
395
- bool ownProperties = true) {
396
- m::runtime::GetPropertiesRequest req;
397
- req.id = msgId;
398
- req.objectId = objectId;
399
- req.ownProperties = ownProperties;
400
- conn.send(req.toJson());
401
-
402
- std::unordered_map<std::string, std::string> objectIds;
403
- auto resp = expectResponse<m::runtime::GetPropertiesResponse>(conn, msgId);
404
-
405
- EXPECT_EQ(resp.result.size(), infos.size());
406
-
407
- for (int i = 0; i < resp.result.size(); i++) {
408
- m::runtime::PropertyDescriptor &desc = resp.result[i];
409
-
410
- auto infoIt = infos.find(desc.name);
411
- EXPECT_FALSE(infoIt == infos.end()) << desc.name;
412
-
413
- if (infoIt != infos.end()) {
414
- const PropInfo &info = infoIt->second;
415
-
416
- EXPECT_TRUE(desc.value.has_value());
417
-
418
- m::runtime::RemoteObject &remoteObj = desc.value.value();
419
- EXPECT_EQ(remoteObj.type, info.type);
420
-
421
- if (info.subtype.has_value()) {
422
- EXPECT_TRUE(remoteObj.subtype.has_value());
423
- EXPECT_EQ(remoteObj.subtype.value(), info.subtype.value());
424
- }
425
-
426
- if (info.value.has_value()) {
427
- EXPECT_TRUE(remoteObj.value.has_value());
428
- EXPECT_EQ(remoteObj.value.value(), info.value.value());
429
- }
430
-
431
- if (info.unserializableValue.has_value()) {
432
- EXPECT_TRUE(remoteObj.unserializableValue.has_value());
433
- EXPECT_EQ(
434
- remoteObj.unserializableValue.value(),
435
- info.unserializableValue.value());
436
- }
437
-
438
- if ((info.type == "object" && info.subtype != "null") ||
439
- info.type == "function") {
440
- EXPECT_TRUE(remoteObj.objectId.has_value());
441
- objectIds[desc.name] = remoteObj.objectId.value();
442
- }
443
- }
444
- }
445
-
446
- return objectIds;
447
- }
448
-
449
- void expectEvalResponse(
450
- SyncConnection &conn,
451
- int id,
452
- const std::unordered_map<std::string, PropInfo> &infos) {
453
- auto resp =
454
- expectResponse<m::debugger::EvaluateOnCallFrameResponse>(conn, id);
455
-
456
- EXPECT_EQ(resp.id, id);
457
- EXPECT_EQ(resp.result.type, "object");
458
- EXPECT_FALSE(resp.exceptionDetails.has_value());
459
-
460
- EXPECT_TRUE(resp.result.objectId.has_value());
461
- expectProps(conn, id + 1, resp.result.objectId.value(), infos);
462
- }
463
-
464
- m::runtime::CallArgument makeValueCallArgument(folly::dynamic val) {
465
- m::runtime::CallArgument ret;
466
- ret.value = val;
467
- return ret;
468
- }
469
-
470
- m::runtime::CallArgument makeUnserializableCallArgument(std::string val) {
471
- m::runtime::CallArgument ret;
472
- ret.unserializableValue = std::move(val);
473
- return ret;
474
- }
475
-
476
- m::runtime::CallArgument makeObjectIdCallArgument(
477
- m::runtime::RemoteObjectId objectId) {
478
- m::runtime::CallArgument ret;
479
- ret.objectId = std::move(objectId);
480
- return ret;
481
- }
482
-
483
- } // namespace
484
-
485
- TEST(ConnectionTests, testRespondsOkToUnknownRequests) {
486
- TestContext context;
487
- AsyncHermesRuntime &asyncRuntime = context.runtime();
488
- SyncConnection &conn = context.conn();
489
-
490
- asyncRuntime.executeScriptAsync(R"(
491
- var a = 1 + 2;
492
- var b = a / 2;
493
- )");
494
-
495
- send<m::debugger::EnableRequest>(conn, 1);
496
- expectExecutionContextCreated(conn);
497
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
498
-
499
- conn.send(R"({"id": 2, "method": "Debugger.foo"})");
500
- conn.send(R"({"id": 3, "method": "Debugger.bar", "params": {"a": "b"}})");
501
-
502
- expectResponse<m::OkResponse>(conn, 2);
503
- expectResponse<m::OkResponse>(conn, 3);
504
- }
505
-
506
- TEST(ConnectionTests, testDebuggerStatement) {
507
- TestContext context;
508
- AsyncHermesRuntime &asyncRuntime = context.runtime();
509
- SyncConnection &conn = context.conn();
510
- int msgId = 1;
511
-
512
- asyncRuntime.executeScriptAsync(R"(
513
- var a = 1 + 2;
514
- debugger; // [1] (line 2) hit debugger statement, resume
515
- var b = a / 2;
516
- )");
517
-
518
- send<m::debugger::EnableRequest>(conn, msgId++);
519
- expectExecutionContextCreated(conn);
520
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
521
-
522
- // [1] (line 2) hit debugger statement, resume
523
- expectPaused(conn, "other", {{"global", 2, 1}});
524
- send<m::debugger::ResumeRequest>(conn, msgId++);
525
- expectNotification<m::debugger::ResumedNotification>(conn);
526
- }
527
-
528
- TEST(ConnectionTests, testDebuggerStatementFromPausedWaitEnable) {
529
- TestContext context;
530
- AsyncHermesRuntime &asyncRuntime = context.runtime();
531
- SyncConnection &conn = context.conn();
532
- int msgId = 1;
533
-
534
- asyncRuntime.executeScriptAsync(R"(
535
- var a = 1 + 2;
536
- debugger; // [1] (line 2) hit debugger statement, resume
537
- var b = a / 2;
538
- )");
539
-
540
- // TODO: hack that gives JS the chance to run so that we end up in the
541
- // PausedWaitEnable state. Will move the entire test to InspectorTests once
542
- // I get around to refactoring InspectorTests.
543
- std::this_thread::sleep_for(250ms);
544
-
545
- send<m::debugger::EnableRequest>(conn, msgId++);
546
- expectExecutionContextCreated(conn);
547
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
548
-
549
- // [1] (line 2) hit debugger statement, resume
550
- expectPaused(conn, "other", {{"global", 2, 1}});
551
- send<m::debugger::ResumeRequest>(conn, msgId++);
552
- expectNotification<m::debugger::ResumedNotification>(conn);
553
- }
554
-
555
- TEST(ConnectionTests, testIsDebuggerAttached) {
556
- TestContext context;
557
- AsyncHermesRuntime &asyncRuntime = context.runtime();
558
- SyncConnection &conn = context.conn();
559
- int msgId = 1;
560
-
561
- asyncRuntime.executeScriptAsync(R"(
562
- var a = 1 + 2;
563
- debugger; // [1] (line 2) hit debugger statement
564
- // [2] evaluate DebuggerInternal.isDebuggerAttached to true
565
- var b = a / 2;
566
- )");
567
-
568
- send<m::debugger::EnableRequest>(conn, msgId++);
569
- expectExecutionContextCreated(conn);
570
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
571
-
572
- // [1] (line 2) hit debugger statement
573
- expectPaused(conn, "other", {{"global", 2, 1}});
574
-
575
- // [2] evaluate DebuggerInternal.IsDebuggerAttached to true
576
- sendEvalRequest(conn, 0, 0, R"("-> " + DebuggerInternal.isDebuggerAttached)");
577
- expectEvalResponse(conn, 0, "-> true");
578
-
579
- send<m::debugger::ResumeRequest>(conn, msgId++);
580
- expectNotification<m::debugger::ResumedNotification>(conn);
581
- }
582
-
583
- TEST(ConnectionTests, testStepOver) {
584
- TestContext context;
585
- AsyncHermesRuntime &asyncRuntime = context.runtime();
586
- SyncConnection &conn = context.conn();
587
- int msgId = 1;
588
-
589
- asyncRuntime.executeScriptAsync(R"(
590
- var a = 1 + 2;
591
- debugger; // [1] (line 2) hit debugger statement, step over
592
- var b = a / 2; // [2] (line 3) step over
593
- var c = a + b; // [3] (line 4) resume
594
- var d = b - c;
595
- var e = c * d;
596
- var f = 10;
597
- )");
598
-
599
- send<m::debugger::EnableRequest>(conn, msgId++);
600
- expectExecutionContextCreated(conn);
601
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
602
-
603
- // [1] (line 2): hit debugger statement, step over
604
- expectPaused(conn, "other", {{"global", 2, 1}});
605
- send<m::debugger::StepOverRequest>(conn, msgId++);
606
- expectNotification<m::debugger::ResumedNotification>(conn);
607
-
608
- // [2] (line 3): step over
609
- expectPaused(conn, "other", {{"global", 3, 1}});
610
- send<m::debugger::StepOverRequest>(conn, msgId++);
611
- expectNotification<m::debugger::ResumedNotification>(conn);
612
-
613
- // [3] (line 4): resume
614
- expectPaused(conn, "other", {{"global", 4, 1}});
615
- send<m::debugger::ResumeRequest>(conn, msgId++);
616
- expectNotification<m::debugger::ResumedNotification>(conn);
617
- }
618
-
619
- TEST(ConnectionTests, testStepIn) {
620
- TestContext context;
621
- AsyncHermesRuntime &asyncRuntime = context.runtime();
622
- SyncConnection &conn = context.conn();
623
- int msgId = 1;
624
-
625
- asyncRuntime.executeScriptAsync(R"(
626
- function addOne(val) {
627
- return val + 1; // [3]: resume
628
- }
629
-
630
- var a = 1 + 2;
631
- debugger; // [1] (line 6) hit debugger statement, step over
632
- var b = addOne(a); // [2] (line 7) step in
633
- var c = a + b;
634
- var d = b - c;
635
- var e = c * d;
636
- var f = 10;
637
- )");
638
-
639
- send<m::debugger::EnableRequest>(conn, msgId++);
640
- expectExecutionContextCreated(conn);
641
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
642
-
643
- // [1] (line 6): hit debugger statement, step over
644
- expectPaused(conn, "other", {{"global", 6, 1}});
645
- send<m::debugger::StepOverRequest>(conn, msgId++);
646
- expectNotification<m::debugger::ResumedNotification>(conn);
647
-
648
- // [2] (line 7): step in
649
- expectPaused(conn, "other", {{"global", 7, 1}});
650
- send<m::debugger::StepIntoRequest>(conn, msgId++);
651
- expectNotification<m::debugger::ResumedNotification>(conn);
652
-
653
- // [3] (line 2): resume
654
- expectPaused(conn, "other", {{"addOne", 2, 2}, {"global", 7, 1}});
655
- send<m::debugger::ResumeRequest>(conn, msgId++);
656
- expectNotification<m::debugger::ResumedNotification>(conn);
657
- }
658
-
659
- TEST(ConnectionTests, testStepOut) {
660
- TestContext context;
661
- AsyncHermesRuntime &asyncRuntime = context.runtime();
662
- SyncConnection &conn = context.conn();
663
- int msgId = 1;
664
-
665
- asyncRuntime.executeScriptAsync(R"(
666
- function addSquares(a, b) {
667
- var a2 = a * a;
668
- debugger; // [1] (line 3) hit debugger statement, step over
669
- var b2 = b * b; // [2] (line 4) step out
670
- return a2 + b2;
671
- }
672
-
673
- var c = addSquares(1, 2); // [3] (line 8) resume
674
- var d = c * c;
675
- )");
676
-
677
- send<m::debugger::EnableRequest>(conn, msgId++);
678
- expectExecutionContextCreated(conn);
679
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
680
-
681
- // [1] (line 3) hit debugger statement, step over
682
- expectPaused(conn, "other", {{"addSquares", 3, 2}, {"global", 8, 1}});
683
- send<m::debugger::StepOverRequest>(conn, msgId++);
684
- expectNotification<m::debugger::ResumedNotification>(conn);
685
-
686
- // [2] (line 4) step out
687
- expectPaused(conn, "other", {{"addSquares", 4, 2}, {"global", 8, 1}});
688
- send<m::debugger::StepOutRequest>(conn, msgId++);
689
- expectNotification<m::debugger::ResumedNotification>(conn);
690
-
691
- // [3] (line 8): resume
692
- expectPaused(conn, "other", {{"global", 8, 1}});
693
- send<m::debugger::ResumeRequest>(conn, msgId++);
694
- expectNotification<m::debugger::ResumedNotification>(conn);
695
- }
696
-
697
- TEST(ConnectionTests, testSetBreakpoint) {
698
- TestContext context;
699
- AsyncHermesRuntime &asyncRuntime = context.runtime();
700
- SyncConnection &conn = context.conn();
701
- int msgId = 1;
702
-
703
- asyncRuntime.executeScriptAsync(R"(
704
- var a = 1 + 2;
705
- debugger; // [1] (line 2) hit debugger statement,
706
- // set breakpoint on line 5
707
- var b = a / 2;
708
- var c = a + b; // [2] (line 5) hit breakpoint, step over
709
- var d = b - c; // [3] (line 6) resume
710
- var e = c * d;
711
- var f = 10;
712
- )");
713
-
714
- send<m::debugger::EnableRequest>(conn, msgId++);
715
- expectExecutionContextCreated(conn);
716
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
717
-
718
- // [1] (line 2) hit debugger statement, set breakpoint on line 6
719
- expectPaused(conn, "other", {{"global", 2, 1}});
720
-
721
- m::debugger::SetBreakpointByUrlRequest req;
722
- req.id = msgId++;
723
- req.lineNumber = 5;
724
- req.columnNumber = 0;
725
- conn.send(req.toJson());
726
-
727
- expectBreakpointResponse(conn, req.id, 5, 5);
728
-
729
- send<m::debugger::ResumeRequest>(conn, msgId++);
730
- expectNotification<m::debugger::ResumedNotification>(conn);
731
-
732
- // [2] (line 5) hit breakpoint, step over
733
- expectPaused(conn, "other", {{"global", 5, 1}});
734
- send<m::debugger::StepOverRequest>(conn, msgId++);
735
- expectNotification<m::debugger::ResumedNotification>(conn);
736
-
737
- // [3] (line 6) resume
738
- expectPaused(conn, "other", {{"global", 6, 1}});
739
- send<m::debugger::ResumeRequest>(conn, msgId++);
740
- expectNotification<m::debugger::ResumedNotification>(conn);
741
- }
742
-
743
- TEST(ConnectionTests, testSetBreakpointById) {
744
- TestContext context;
745
- AsyncHermesRuntime &asyncRuntime = context.runtime();
746
- SyncConnection &conn = context.conn();
747
- int msgId = 1;
748
-
749
- asyncRuntime.executeScriptAsync(R"(
750
- debugger; // line 1
751
- Math.random(); // 2
752
- )");
753
-
754
- send<m::debugger::EnableRequest>(conn, ++msgId);
755
- expectExecutionContextCreated(conn);
756
- auto script = expectNotification<m::debugger::ScriptParsedNotification>(conn);
757
-
758
- expectPaused(conn, "other", {{"global", 1, 1}});
759
-
760
- m::debugger::SetBreakpointRequest req;
761
- req.id = ++msgId;
762
- req.location.scriptId = script.scriptId;
763
- req.location.lineNumber = 2;
764
-
765
- conn.send(req.toJson());
766
- auto resp = expectResponse<m::debugger::SetBreakpointResponse>(conn, req.id);
767
- EXPECT_EQ(resp.actualLocation.scriptId, script.scriptId);
768
- EXPECT_EQ(resp.actualLocation.lineNumber, 2);
769
- EXPECT_EQ(resp.actualLocation.columnNumber.value(), 4);
770
-
771
- send<m::debugger::ResumeRequest>(conn, ++msgId);
772
- expectNotification<m::debugger::ResumedNotification>(conn);
773
-
774
- expectPaused(conn, "other", {{"global", 2, 1}});
775
-
776
- send<m::debugger::ResumeRequest>(conn, ++msgId);
777
- expectNotification<m::debugger::ResumedNotification>(conn);
778
- }
779
-
780
- TEST(ConnectionTests, testActivateBreakpoints) {
781
- TestContext context;
782
- AsyncHermesRuntime &asyncRuntime = context.runtime();
783
- SyncConnection &conn = context.conn();
784
- int msgId = 1;
785
-
786
- asyncRuntime.executeScriptAsync(R"(
787
- debugger; // line 1
788
- x=100 // 2
789
- debugger; // 3
790
- x=101; // 4
791
- )");
792
-
793
- send<m::debugger::EnableRequest>(conn, ++msgId);
794
- expectExecutionContextCreated(conn);
795
- auto script = expectNotification<m::debugger::ScriptParsedNotification>(conn);
796
-
797
- expectPaused(conn, "other", {{"global", 1, 1}});
798
-
799
- // Set breakpoint #1
800
- m::debugger::SetBreakpointRequest req;
801
- req.id = ++msgId;
802
- req.location.scriptId = script.scriptId;
803
- req.location.lineNumber = 2;
804
- conn.send(req.toJson());
805
- expectResponse<m::debugger::SetBreakpointResponse>(conn, req.id);
806
-
807
- // Set breakpoint #2
808
- req.id = ++msgId;
809
- req.location.scriptId = script.scriptId;
810
- req.location.lineNumber = 4;
811
- conn.send(req.toJson());
812
- expectResponse<m::debugger::SetBreakpointResponse>(conn, req.id);
813
-
814
- // Disable breakpoints
815
- m::debugger::SetBreakpointsActiveRequest activeReq;
816
- activeReq.id = ++msgId;
817
- activeReq.active = false;
818
- conn.send(activeReq.toJson());
819
- expectResponse<m::OkResponse>(conn, activeReq.id);
820
-
821
- // Resume
822
- send<m::debugger::ResumeRequest>(conn, ++msgId);
823
- expectNotification<m::debugger::ResumedNotification>(conn);
824
-
825
- // Expect first breakpoint to be skipped, now hitting line #3
826
- expectPaused(conn, "other", {{"global", 3, 1}});
827
-
828
- // Re-enable breakpoints
829
- activeReq.id = ++msgId;
830
- activeReq.active = true;
831
- conn.send(activeReq.toJson());
832
- expectResponse<m::OkResponse>(conn, activeReq.id);
833
-
834
- // Resume and expect breakpoints to trigger again
835
- send<m::debugger::ResumeRequest>(conn, ++msgId);
836
- expectNotification<m::debugger::ResumedNotification>(conn);
837
- expectPaused(conn, "other", {{"global", 4, 1}});
838
-
839
- // Continue and exit
840
- send<m::debugger::ResumeRequest>(conn, ++msgId);
841
- expectNotification<m::debugger::ResumedNotification>(conn);
842
- }
843
-
844
- TEST(ConnectionTests, testSetBreakpointByIdWithColumnInIndenting) {
845
- TestContext context;
846
- AsyncHermesRuntime &asyncRuntime = context.runtime();
847
- SyncConnection &conn = context.conn();
848
- int msgId = 1;
849
-
850
- asyncRuntime.executeScriptAsync(R"(
851
- debugger; // line 1
852
- Math.random(); // 2
853
- )");
854
-
855
- send<m::debugger::EnableRequest>(conn, ++msgId);
856
- expectExecutionContextCreated(conn);
857
- auto script = expectNotification<m::debugger::ScriptParsedNotification>(conn);
858
-
859
- expectPaused(conn, "other", {{"global", 1, 1}});
860
-
861
- m::debugger::SetBreakpointRequest req;
862
- req.id = ++msgId;
863
- req.location.scriptId = script.scriptId;
864
- req.location.lineNumber = 2;
865
- // Specify a column location *before* rather than *on* the actual location
866
- req.location.columnNumber = 0;
867
-
868
- conn.send(req.toJson());
869
- auto resp = expectResponse<m::debugger::SetBreakpointResponse>(conn, req.id);
870
- EXPECT_EQ(resp.actualLocation.scriptId, script.scriptId);
871
- EXPECT_EQ(resp.actualLocation.lineNumber, 2);
872
- // Check that we resolved the column to the first available location
873
- EXPECT_EQ(resp.actualLocation.columnNumber.value(), 4);
874
-
875
- send<m::debugger::ResumeRequest>(conn, ++msgId);
876
- expectNotification<m::debugger::ResumedNotification>(conn);
877
-
878
- expectPaused(conn, "other", {{"global", 2, 1}});
879
-
880
- send<m::debugger::ResumeRequest>(conn, ++msgId);
881
- expectNotification<m::debugger::ResumedNotification>(conn);
882
- }
883
-
884
- TEST(ConnectionTests, testSetLazyBreakpoint) {
885
- TestContext context;
886
- AsyncHermesRuntime &asyncRuntime = context.runtime();
887
- SyncConnection &conn = context.conn();
888
- int msgId = 1;
889
-
890
- asyncRuntime.executeScriptAsync(
891
- R"(
892
- var a = 1 + 2;
893
- debugger; // [1] (line 2) hit debugger statement,
894
- // set breakpoint on line 5
895
-
896
- function foo() {
897
- var b = a / 2;
898
- var c = a + b; // [2] (line 7) hit breakpoint, step over
899
- var d = b - c; // [3] (line 8) resume
900
- var e = c * d;
901
- var f = 10;
902
- }
903
-
904
- foo();
905
- )",
906
- "url");
907
-
908
- send<m::debugger::EnableRequest>(conn, msgId++);
909
- expectExecutionContextCreated(conn);
910
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
911
-
912
- // [1] (line 2) hit debugger statement, set breakpoint on line 6
913
- expectPaused(conn, "other", {{"global", 2, 1}});
914
-
915
- m::debugger::SetBreakpointByUrlRequest req;
916
- req.id = msgId++;
917
- req.lineNumber = 7;
918
- req.columnNumber = 0;
919
- conn.send(req.toJson());
920
-
921
- auto breakpointId = expectBreakpointResponse(conn, req.id, 7, 7);
922
-
923
- send<m::debugger::ResumeRequest>(conn, msgId++);
924
- expectNotification<m::debugger::ResumedNotification>(conn);
925
-
926
- // [2] (line 7) hit breakpoint, step over
927
- expectPaused(conn, "other", {{"foo", 7, 2}, {"global", 13, 1}});
928
- send<m::debugger::StepOverRequest>(conn, msgId++);
929
- expectNotification<m::debugger::ResumedNotification>(conn);
930
-
931
- // [3] (line 8) resume
932
- expectPaused(conn, "other", {{"foo", 8, 2}, {"global", 13, 1}});
933
- send<m::debugger::ResumeRequest>(conn, msgId++);
934
- expectNotification<m::debugger::ResumedNotification>(conn);
935
- }
936
-
937
- TEST(ConnectionTests, testSetBreakpointWhileRunning) {
938
- TestContext context;
939
- AsyncHermesRuntime &asyncRuntime = context.runtime();
940
- SyncConnection &conn = context.conn();
941
- int msgId = 1;
942
-
943
- asyncRuntime.executeScriptAsync(R"(
944
- while (!shouldStop()) {
945
- var a = 1;
946
- var b = 2;
947
- var c = a + b; // [1] (line 4) first time: step over
948
- // [3] second time: set stop flag, resume
949
- var d = 10; // [2] (line 6) resume
950
- }
951
- )");
952
-
953
- send<m::debugger::EnableRequest>(conn, msgId++);
954
- expectExecutionContextCreated(conn);
955
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
956
-
957
- // set breakpoint on line 4: "var c = ..."
958
- m::debugger::SetBreakpointByUrlRequest req;
959
- req.id = msgId++;
960
- req.lineNumber = 4;
961
- req.columnNumber = 0;
962
- conn.send(req.toJson());
963
-
964
- expectBreakpointResponse(conn, req.id, 4, 4);
965
-
966
- // [1] (line 4) hit breakpoint, step over
967
- expectPaused(conn, "other", {{"global", 4, 1}});
968
- send<m::debugger::StepOverRequest>(conn, msgId++);
969
- expectNotification<m::debugger::ResumedNotification>(conn);
970
-
971
- // [2] (line 6) resume
972
- expectPaused(conn, "other", {{"global", 6, 1}});
973
- send<m::debugger::ResumeRequest>(conn, msgId++);
974
- expectNotification<m::debugger::ResumedNotification>(conn);
975
-
976
- // [3] (line 4) hit breakpoint again, set stop flag, resume
977
- expectPaused(conn, "other", {{"global", 4, 1}});
978
- asyncRuntime.stop();
979
- send<m::debugger::ResumeRequest>(conn, msgId++);
980
- expectNotification<m::debugger::ResumedNotification>(conn);
981
- }
982
-
983
- TEST(ConnectionTests, testSetBreakpointConditional) {
984
- TestContext context;
985
- AsyncHermesRuntime &asyncRuntime = context.runtime();
986
- SyncConnection &conn = context.conn();
987
- int msgId = 1;
988
-
989
- asyncRuntime.executeScriptAsync(R"(
990
- var a = 3;
991
- debugger; // [1] (line 2) hit debugger statement,
992
- // set conditional breakpoint on lines 4, 5 and 6
993
- var b = a + 5; // [2] (line 4) skip breakpoint, condition throws
994
- var c = b - a; // [3] (line 5) skip breakpoint, condition false
995
- var d = b - c; // [4] (line 6) hit breakpoint, condition true
996
- var e = c * d;
997
- var f = 10;
998
- )");
999
-
1000
- send<m::debugger::EnableRequest>(conn, msgId++);
1001
- expectExecutionContextCreated(conn);
1002
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1003
-
1004
- // [1] (line 2) hit debugger statement,
1005
- // set conditional breakpoint on lines 4, 5 and 6
1006
- expectPaused(conn, "other", {{"global", 2, 1}});
1007
-
1008
- m::debugger::SetBreakpointByUrlRequest req0;
1009
- req0.id = msgId++;
1010
- req0.lineNumber = 4;
1011
- req0.condition = std::optional<std::string>("throw Error('Boom!')");
1012
- conn.send(req0.toJson());
1013
-
1014
- expectBreakpointResponse(conn, req0.id, 4, 4);
1015
-
1016
- m::debugger::SetBreakpointByUrlRequest req1;
1017
- req1.id = msgId++;
1018
- req1.lineNumber = 5;
1019
- req1.condition = std::optional<std::string>("b === a");
1020
- conn.send(req1.toJson());
1021
-
1022
- expectBreakpointResponse(conn, req1.id, 5, 5);
1023
-
1024
- m::debugger::SetBreakpointByUrlRequest req2;
1025
- req2.id = msgId++;
1026
- req2.lineNumber = 6;
1027
- req2.condition = std::optional<std::string>("c === 5");
1028
- conn.send(req2.toJson());
1029
-
1030
- expectBreakpointResponse(conn, req2.id, 6, 6);
1031
-
1032
- send<m::debugger::ResumeRequest>(conn, msgId++);
1033
- expectNotification<m::debugger::ResumedNotification>(conn);
1034
-
1035
- // [2] (line 4) skip breakpoint, condition throws
1036
-
1037
- // [3] (line 5) skip breakpoint, condition false
1038
-
1039
- // [4] (line 6) hit breakpoint, condition true
1040
- expectPaused(conn, "other", {{"global", 6, 1}});
1041
-
1042
- send<m::debugger::ResumeRequest>(conn, msgId++);
1043
- expectNotification<m::debugger::ResumedNotification>(conn);
1044
- }
1045
-
1046
- TEST(ConnectionTests, testRemoveBreakpoint) {
1047
- TestContext context;
1048
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1049
- SyncConnection &conn = context.conn();
1050
- int msgId = 1;
1051
-
1052
- asyncRuntime.executeScriptAsync(R"(
1053
- // [1] (line 2) hit debugger statement, set breakpoint on line 7
1054
- debugger;
1055
- var a = 1;
1056
-
1057
- for (var i = 1; i <= 2; i++) {
1058
- // [1] (line 7) hit breakpoint and then remove it
1059
- a += i;
1060
- }
1061
-
1062
- storeValue(a);
1063
- )");
1064
-
1065
- send<m::debugger::EnableRequest>(conn, msgId++);
1066
- expectExecutionContextCreated(conn);
1067
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1068
-
1069
- // [1] (line 2) hit debugger statement, set breakpoint on line 7
1070
- expectPaused(conn, "other", {{"global", 2, 1}});
1071
-
1072
- m::debugger::SetBreakpointByUrlRequest req;
1073
- req.id = msgId++;
1074
- req.lineNumber = 7;
1075
- conn.send(req.toJson());
1076
-
1077
- auto breakpointId = expectBreakpointResponse(conn, req.id, 7, 7);
1078
-
1079
- send<m::debugger::ResumeRequest>(conn, msgId++);
1080
- expectNotification<m::debugger::ResumedNotification>(conn);
1081
-
1082
- // [1] (line 7) hit breakpoint and then remove it
1083
- expectPaused(conn, "other", {{"global", 7, 1}});
1084
-
1085
- m::debugger::RemoveBreakpointRequest removeReq;
1086
- removeReq.id = msgId++;
1087
- removeReq.breakpointId = breakpointId;
1088
- conn.send(removeReq.toJson());
1089
- expectResponse<m::OkResponse>(conn, removeReq.id);
1090
-
1091
- send<m::debugger::ResumeRequest>(conn, msgId++);
1092
- expectNotification<m::debugger::ResumedNotification>(conn);
1093
-
1094
- // check final value
1095
- jsi::Value finalValue = asyncRuntime.awaitStoredValue();
1096
- EXPECT_EQ(finalValue.asNumber(), 4);
1097
- }
1098
-
1099
- TEST(ConnectionTests, testAsyncPauseWhileRunning) {
1100
- TestContext context;
1101
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1102
- SyncConnection &conn = context.conn();
1103
- int msgId = 1;
1104
-
1105
- asyncRuntime.executeScriptAsync(R"(
1106
- var accum = 10;
1107
-
1108
- while (!shouldStop()) {
1109
- var a = 1;
1110
- var b = 2;
1111
- var c = a + b;
1112
-
1113
- accum += c;
1114
- } // (line 9)
1115
-
1116
- var d = -accum;
1117
- )");
1118
-
1119
- send<m::debugger::EnableRequest>(conn, msgId++);
1120
- expectExecutionContextCreated(conn);
1121
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1122
-
1123
- // send some number of async pauses, make sure that we always stop before
1124
- // the end of the loop on line 9
1125
- for (int i = 0; i < 10; i++) {
1126
- send<m::debugger::PauseRequest>(conn, msgId++);
1127
- expectPaused(
1128
- conn, "other", {FrameInfo("global", 0, 1).setLineNumberMax(9)});
1129
-
1130
- send<m::debugger::ResumeRequest>(conn, msgId++);
1131
- expectNotification<m::debugger::ResumedNotification>(conn);
1132
- }
1133
-
1134
- // break out of loop
1135
- asyncRuntime.stop();
1136
- }
1137
-
1138
- TEST(ConnectionTests, testEvalOnCallFrame) {
1139
- TestContext context;
1140
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1141
- SyncConnection &conn = context.conn();
1142
- int msgId = 1;
1143
-
1144
- asyncRuntime.executeScriptAsync(R"(
1145
- var globalVar = "omega";
1146
- var booleanVar = true;
1147
- var numberVar = 42;
1148
- var objectVar = {number: 1, bool: false, str: "string"};
1149
-
1150
- function func1(closure, f1param) { // frame 4
1151
- var f1v1 = "alpha";
1152
- var f1v2 = "beta";
1153
- function func1b() { // frame 3
1154
- var f1bv1 = "gamma";
1155
- function func1c() { // frame 2
1156
- var f1cv1 = 19;
1157
- closure();
1158
- }
1159
- func1c();
1160
- }
1161
- func1b();
1162
- }
1163
-
1164
- function func2() { // frame 1
1165
- var f2v1 = "baker";
1166
- var f2v2 = "charlie";
1167
- function func2b() { // frame 0
1168
- var f2bv1 = "dog";
1169
- debugger; // [1] (line 25) hit debugger statement
1170
- // [2] run evals
1171
- // [3] resume
1172
- print(globalVar);
1173
- print(f2bv1);
1174
- }
1175
- func2b();
1176
- }
1177
-
1178
- func1(func2, "tau");
1179
- )");
1180
-
1181
- send<m::debugger::EnableRequest>(conn, msgId++);
1182
- expectExecutionContextCreated(conn);
1183
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1184
-
1185
- // [1] (line 25) hit debugger statement
1186
- expectPaused(
1187
- conn,
1188
- "other",
1189
- {{"func2b", 25, 3},
1190
- {"func2", 31, 2},
1191
- {"func1c", 13, 4},
1192
- {"func1b", 15, 3},
1193
- {"func1", 17, 2},
1194
- {"global", 34, 1}});
1195
-
1196
- // [2] run eval statements
1197
- int frame = 0;
1198
- sendEvalRequest(conn, msgId + 0, frame, R"("0: " + globalVar)");
1199
- sendEvalRequest(conn, msgId + 1, frame, R"("1: " + f2bv1)");
1200
- sendEvalRequest(conn, msgId + 2, frame, R"("2: " + f2v2)");
1201
- sendEvalRequest(conn, msgId + 3, frame, R"("3: " + f2bv1 + " && " + f2v2)");
1202
- expectEvalResponse(conn, msgId + 0, "0: omega");
1203
- expectEvalResponse(conn, msgId + 1, "1: dog");
1204
- expectEvalResponse(conn, msgId + 2, "2: charlie");
1205
- expectEvalResponse(conn, msgId + 3, "3: dog && charlie");
1206
- msgId += 4;
1207
-
1208
- frame = 1;
1209
- sendEvalRequest(conn, msgId + 0, frame, R"("4: " + f2v1)");
1210
- sendEvalRequest(conn, msgId + 1, frame, R"("5: " + f2v2)");
1211
- sendEvalRequest(conn, msgId + 2, frame, R"(globalVar = "mod by debugger")");
1212
- expectEvalResponse(conn, msgId + 0, "4: baker");
1213
- expectEvalResponse(conn, msgId + 1, "5: charlie");
1214
- expectEvalResponse(conn, msgId + 2, "mod by debugger");
1215
- msgId += 3;
1216
-
1217
- frame = 2;
1218
- sendEvalRequest(conn, msgId + 0, frame, R"("6: " + f1cv1 + f1bv1 + f1v1)");
1219
- sendEvalRequest(conn, msgId + 1, frame, R"("7: " + globalVar)");
1220
- expectEvalResponse(conn, msgId + 0, "6: 19gammaalpha");
1221
- expectEvalResponse(conn, msgId + 1, "7: mod by debugger");
1222
- msgId += 2;
1223
-
1224
- // [2.1] run eval statements that return non-string primitive values
1225
- frame = 0;
1226
- sendEvalRequest(conn, msgId + 0, frame, "booleanVar");
1227
- sendEvalRequest(conn, msgId + 1, frame, "numberVar");
1228
- expectEvalResponse(conn, msgId + 0, true);
1229
- expectEvalResponse(conn, msgId + 1, 42);
1230
- msgId += 2;
1231
-
1232
- // [2.2] run eval statement that returns object
1233
- frame = 0;
1234
- sendEvalRequest(conn, msgId + 0, frame, "objectVar");
1235
- expectEvalResponse(
1236
- conn,
1237
- msgId + 0,
1238
- {{"number", PropInfo("number").setValue(1)},
1239
- {"bool", PropInfo("boolean").setValue(false)},
1240
- {"str", PropInfo("string").setValue("string")},
1241
- {"__proto__", PropInfo("object")}});
1242
-
1243
- // msgId is increased by 2 because expectEvalResponse will make additional
1244
- // request with expectProps.
1245
- msgId += 2;
1246
-
1247
- // [3] resume
1248
- send<m::debugger::ResumeRequest>(conn, msgId++);
1249
- expectNotification<m::debugger::ResumedNotification>(conn);
1250
- }
1251
-
1252
- TEST(ConnectionTests, testRuntimeEvaluate) {
1253
- TestContext context;
1254
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1255
- SyncConnection &conn = context.conn();
1256
- int msgId = 1;
1257
-
1258
- asyncRuntime.executeScriptAsync(R"(
1259
- var globalVar = "omega";
1260
- var booleanVar = true;
1261
- var numberVar = 42;
1262
- var objectVar = {number: 1, bool: false, str: "string"};
1263
-
1264
- while(!shouldStop()) { // [1] (line 6) hit infinite loop
1265
- var a = 1; // [2] run evals
1266
- a++; // [3] exit run loop
1267
- }
1268
- )");
1269
-
1270
- send<m::debugger::EnableRequest>(conn, msgId++);
1271
- expectExecutionContextCreated(conn);
1272
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1273
-
1274
- // [1] (line 6) hit infinite loop
1275
-
1276
- // [2] run eval statements
1277
- sendRuntimeEvalRequest(conn, msgId + 0, R"("0: " + globalVar)");
1278
- expectEvalResponse(conn, msgId + 0, "0: omega");
1279
-
1280
- // [2.1] run eval statements that return non-string primitive values
1281
- sendRuntimeEvalRequest(conn, msgId + 1, "booleanVar");
1282
- sendRuntimeEvalRequest(conn, msgId + 2, "numberVar");
1283
- expectEvalResponse(conn, msgId + 1, true);
1284
- expectEvalResponse(conn, msgId + 2, 42);
1285
-
1286
- // [2.2] run eval statement that returns object
1287
- sendRuntimeEvalRequest(conn, msgId + 3, "objectVar");
1288
- expectEvalResponse(
1289
- conn,
1290
- msgId + 3,
1291
- {{"number", PropInfo("number").setValue(1)},
1292
- {"bool", PropInfo("boolean").setValue(false)},
1293
- {"str", PropInfo("string").setValue("string")},
1294
- {"__proto__", PropInfo("object")}});
1295
-
1296
- // [3] exit run loop
1297
- asyncRuntime.stop();
1298
- }
1299
-
1300
- TEST(ConnectionTests, testRuntimeEvaluateReturnByValue) {
1301
- TestContext context;
1302
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1303
- SyncConnection &conn = context.conn();
1304
- int msgId = 1;
1305
-
1306
- asyncRuntime.executeScriptAsync("while(!shouldStop());");
1307
-
1308
- send<m::debugger::EnableRequest>(conn, msgId++);
1309
- expectExecutionContextCreated(conn);
1310
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1311
-
1312
- // We expect this JSON object to be evaluated and return by value, so
1313
- // that JSON encoding the result will give the same string.
1314
- auto object = "{\"key\":[1,\"two\"]}";
1315
-
1316
- m::runtime::EvaluateRequest req;
1317
- req.id = msgId;
1318
- req.expression = std::string("(") + object + ")";
1319
- req.returnByValue = true;
1320
- conn.send(req.toJson());
1321
-
1322
- auto resp =
1323
- expectResponse<m::debugger::EvaluateOnCallFrameResponse>(conn, msgId);
1324
- EXPECT_EQ(resp.result.type, "object");
1325
- ASSERT_TRUE(resp.result.value.has_value());
1326
- EXPECT_EQ(folly::toJson(resp.result.value.value()), object);
1327
-
1328
- // [3] exit run loop
1329
- asyncRuntime.stop();
1330
- }
1331
-
1332
- TEST(ConnectionTests, testEvalOnCallFrameException) {
1333
- TestContext context;
1334
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1335
- SyncConnection &conn = context.conn();
1336
- int msgId = 1;
1337
-
1338
- asyncRuntime.executeScriptAsync(R"(
1339
- var count = 0;
1340
-
1341
- function eventuallyThrows(x) {
1342
- if (x <= 0)
1343
- throw new Error("I frew up.");
1344
- count++;
1345
- eventuallyThrows(x-1);
1346
- }
1347
-
1348
- function callme() {
1349
- print("Hello");
1350
- debugger; // [1] (line 12) hit debugger statement
1351
- // [2] run evals
1352
- // [3] resume
1353
- print("Goodbye");
1354
- }
1355
-
1356
- callme();
1357
- )");
1358
-
1359
- send<m::debugger::EnableRequest>(conn, msgId++);
1360
- expectExecutionContextCreated(conn);
1361
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1362
-
1363
- // [1] (line 12) hit debugger statement
1364
- expectPaused(conn, "other", {{"callme", 12, 2}, {"global", 18, 1}});
1365
-
1366
- // [2] run evals
1367
- int frame = 0;
1368
- sendEvalRequest(conn, msgId + 0, frame, "this is not valid javascript");
1369
- sendEvalRequest(conn, msgId + 1, frame, "eventuallyThrows(5)");
1370
- sendEvalRequest(conn, msgId + 2, frame, "count");
1371
-
1372
- expectEvalException(conn, msgId + 0, "SyntaxError: 1:6:';' expected", {});
1373
- expectEvalException(
1374
- conn,
1375
- msgId + 1,
1376
- "Error: I frew up.",
1377
- {{"eventuallyThrows", 5, 0},
1378
- {"eventuallyThrows", 7, 0},
1379
- {"eventuallyThrows", 7, 0},
1380
- {"eventuallyThrows", 7, 0},
1381
- {"eventuallyThrows", 7, 0},
1382
- {"eventuallyThrows", 7, 0},
1383
-
1384
- // TODO: unsure why these frames are here, but they're in hdb tests
1385
- // too. Ask Hermes about if they really should be there.
1386
- FrameInfo("eval", 0, 0).setLineNumberMax(19),
1387
- FrameInfo("callme", 12, 2),
1388
- FrameInfo("global", 0, 0).setLineNumberMax(19)});
1389
- expectEvalResponse(conn, msgId + 2, 5);
1390
- msgId += 3;
1391
-
1392
- // [3] resume
1393
- send<m::debugger::ResumeRequest>(conn, msgId++);
1394
- expectNotification<m::debugger::ResumedNotification>(conn);
1395
- }
1396
-
1397
- TEST(ConnectionTests, testLoadMultipleScripts) {
1398
- TestContext context;
1399
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1400
- SyncConnection &conn = context.conn();
1401
- int msgId = 1;
1402
-
1403
- asyncRuntime.executeScriptAsync(
1404
- R"(
1405
- function foo(x) {
1406
- debugger;
1407
- print(x);
1408
- }
1409
-
1410
- var a = 1 + 1;
1411
-
1412
- //# sourceMappingURL=/foo/bar/url1.js.map
1413
- )",
1414
- "url1");
1415
-
1416
- send<m::debugger::EnableRequest>(conn, msgId++);
1417
-
1418
- expectExecutionContextCreated(conn);
1419
-
1420
- m::debugger::ScriptParsedNotification script1 =
1421
- expectScriptParsed(conn, "url1", "/foo/bar/url1.js.map");
1422
-
1423
- asyncRuntime.executeScriptAsync(
1424
- R"(
1425
- var b = a + 2;
1426
- var c = b - 1;
1427
- foo(c);
1428
-
1429
- //# sourceMappingURL=/foo/bar/url2.js.map
1430
- )",
1431
- "url2");
1432
-
1433
- m::debugger::ScriptParsedNotification script2 =
1434
- expectScriptParsed(conn, "url2", "/foo/bar/url2.js.map");
1435
-
1436
- // [1] (line 2) hit debugger statement, resume
1437
- expectPaused(
1438
- conn,
1439
- "other",
1440
- {FrameInfo("foo", 2, 2).setScriptId(script1.scriptId),
1441
- FrameInfo("global", 3, 1).setScriptId(script2.scriptId)});
1442
-
1443
- send<m::debugger::ResumeRequest>(conn, msgId++);
1444
- expectNotification<m::debugger::ResumedNotification>(conn);
1445
- }
1446
-
1447
- TEST(ConnectionTests, testGetProperties) {
1448
- TestContext context;
1449
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1450
- SyncConnection &conn = context.conn();
1451
- int msgId = 1;
1452
- std::vector<std::string> objIds;
1453
-
1454
- asyncRuntime.executeScriptAsync(R"(
1455
- function foo() {
1456
- var num = 123;
1457
- var obj = {
1458
- "depth": 0,
1459
- "value": {
1460
- "a": -1/0,
1461
- "b": 1/0,
1462
- "c": Math.sqrt(-2),
1463
- "d": -0,
1464
- "e": "e_string"
1465
- }
1466
- };
1467
- var arr = [1, 2, 3];
1468
- function bar() {
1469
- var num = 456;
1470
- var obj = {"depth": 1, "value": {"c": 5, "d": "d_string"}};
1471
- debugger;
1472
- };
1473
- bar();
1474
- debugger;
1475
- }
1476
-
1477
- foo();
1478
- )");
1479
-
1480
- send<m::debugger::EnableRequest>(conn, msgId++);
1481
- expectExecutionContextCreated(conn);
1482
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1483
-
1484
- auto pausedNote = expectPaused(
1485
- conn, "other", {{"bar", 17, 3}, {"foo", 19, 2}, {"global", 23, 1}});
1486
-
1487
- auto &scopeObj = pausedNote.callFrames.at(1).scopeChain.at(0).object;
1488
- EXPECT_TRUE(scopeObj.objectId.has_value());
1489
- std::string scopeObjId = scopeObj.objectId.value();
1490
- objIds.push_back(scopeObjId);
1491
-
1492
- auto scopeChildren = expectProps(
1493
- conn,
1494
- msgId++,
1495
- scopeObjId,
1496
- {{"this", PropInfo("undefined")},
1497
- {"num", PropInfo("number").setValue(123)},
1498
- {"obj", PropInfo("object")},
1499
- {"arr", PropInfo("object").setSubtype("array")},
1500
- {"bar", PropInfo("function")}});
1501
- EXPECT_EQ(scopeChildren.size(), 3);
1502
-
1503
- EXPECT_EQ(scopeChildren.count("obj"), 1);
1504
- std::string objId = scopeChildren.at("obj");
1505
- objIds.push_back(objId);
1506
-
1507
- auto objChildren = expectProps(
1508
- conn,
1509
- msgId++,
1510
- objId,
1511
- {{"depth", PropInfo("number").setValue(0)},
1512
- {"value", PropInfo("object")},
1513
- {"__proto__", PropInfo("object")}});
1514
- EXPECT_EQ(objChildren.size(), 2);
1515
-
1516
- EXPECT_EQ(objChildren.count("value"), 1);
1517
- std::string valueId = objChildren.at("value");
1518
- objIds.push_back(valueId);
1519
-
1520
- auto valueChildren = expectProps(
1521
- conn,
1522
- msgId++,
1523
- valueId,
1524
- {{"a", PropInfo("number").setUnserializableValue("-Infinity")},
1525
- {"b", PropInfo("number").setUnserializableValue("Infinity")},
1526
- {"c", PropInfo("number").setUnserializableValue("NaN")},
1527
- {"d", PropInfo("number").setUnserializableValue("-0")},
1528
- {"e", PropInfo("string").setValue("e_string")},
1529
- {"__proto__", PropInfo("object")}});
1530
- EXPECT_EQ(valueChildren.size(), 1);
1531
-
1532
- send<m::debugger::ResumeRequest>(conn, msgId++);
1533
- expectNotification<m::debugger::ResumedNotification>(conn);
1534
-
1535
- expectPaused(conn, "other", {{"foo", 20, 2}, {"global", 23, 1}});
1536
-
1537
- // all old object ids should be invalid after resuming
1538
- for (std::string oldObjId : objIds) {
1539
- expectProps(
1540
- conn, msgId++, oldObjId, std::unordered_map<std::string, PropInfo>{});
1541
- }
1542
-
1543
- send<m::debugger::ResumeRequest>(conn, msgId++);
1544
- expectNotification<m::debugger::ResumedNotification>(conn);
1545
- }
1546
-
1547
- TEST(ConnectionTests, testGetPropertiesOnlyOwnProperties) {
1548
- TestContext context;
1549
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1550
- SyncConnection &conn = context.conn();
1551
- int msgId = 1;
1552
-
1553
- asyncRuntime.executeScriptAsync(R"(
1554
- function foo() {
1555
- var protoObject = {
1556
- "protoNum": 77
1557
- };
1558
- var obj = Object.create(protoObject);
1559
- obj.num = 42;
1560
- debugger;
1561
- }
1562
- foo();
1563
- )");
1564
-
1565
- send<m::debugger::EnableRequest>(conn, msgId++);
1566
- expectExecutionContextCreated(conn);
1567
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1568
-
1569
- // wait for a pause on debugger statement and get object ID from the local
1570
- // scope.
1571
- auto pausedNote =
1572
- expectPaused(conn, "other", {{"foo", 7, 2}, {"global", 9, 1}});
1573
- auto scopeObject = pausedNote.callFrames.at(0).scopeChain.at(0).object;
1574
- auto scopeChildren = expectProps(
1575
- conn,
1576
- msgId++,
1577
- scopeObject.objectId.value(),
1578
- {{"this", PropInfo("undefined")},
1579
- {"obj", PropInfo("object")},
1580
- {"protoObject", PropInfo("object")}});
1581
- EXPECT_EQ(scopeChildren.count("obj"), 1);
1582
- std::string objId = scopeChildren.at("obj");
1583
-
1584
- // Check that GetProperties request for obj object only have own properties
1585
- // when onlyOwnProperties = true.
1586
- expectProps(
1587
- conn,
1588
- msgId++,
1589
- objId,
1590
- {{"num", PropInfo("number").setValue(42)},
1591
- {"__proto__", PropInfo("object")}},
1592
- true);
1593
-
1594
- // Check that GetProperties request for obj object only have all properties
1595
- // when onlyOwnProperties = false.
1596
- // __proto__ is not returned here because all properties from proto chain
1597
- // are already included in the result.
1598
- expectProps(
1599
- conn,
1600
- msgId++,
1601
- objId,
1602
- {{"num", PropInfo("number").setValue(42)},
1603
- {"protoNum", PropInfo("number").setValue(77)}},
1604
- false);
1605
-
1606
- // resume
1607
- send<m::debugger::ResumeRequest>(conn, msgId++);
1608
- expectNotification<m::debugger::ResumedNotification>(conn);
1609
- }
1610
-
1611
- TEST(ConnectionTests, testDisable) {
1612
- TestContext context;
1613
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1614
- SyncConnection &conn = context.conn();
1615
- int msgId = 1;
1616
-
1617
- asyncRuntime.executeScriptAsync(R"(
1618
- while (!shouldStop()) {
1619
- var a = 1;
1620
- var b = 2;
1621
- var c = a + b; // [1] (line 4) disable to remove breakpoints and resume
1622
- // [2] (line 4) the breakpoint should not hit anymore
1623
- var d = 10;
1624
- }
1625
- )");
1626
-
1627
- send<m::debugger::EnableRequest>(conn, msgId++);
1628
- expectExecutionContextCreated(conn);
1629
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1630
-
1631
- // set breakpoint on line 4: "var c = ..."
1632
- m::debugger::SetBreakpointByUrlRequest req;
1633
- req.id = msgId++;
1634
- req.lineNumber = 4;
1635
- conn.send(req.toJson());
1636
-
1637
- expectBreakpointResponse(conn, req.id, 4, 4);
1638
-
1639
- // [1] (line 4) disable to remove breakpoints and resume
1640
- expectPaused(conn, "other", {{"global", 4, 1}});
1641
-
1642
- send<m::debugger::DisableRequest>(conn, msgId++);
1643
- expectNotification<m::debugger::ResumedNotification>(conn);
1644
-
1645
- // [2] (line 4) the breakpoint should not hit anymore
1646
- expectNothing(conn);
1647
- asyncRuntime.stop();
1648
- }
1649
-
1650
- TEST(ConnectionTests, testDisableWhileRunning) {
1651
- TestContext context;
1652
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1653
- SyncConnection &conn = context.conn();
1654
- int msgId = 1;
1655
-
1656
- asyncRuntime.executeScriptAsync(R"(
1657
- debugger; // [1] initial pause to set the breakpoint on line 6
1658
- while (!shouldStop()) { // [2] loop running until we receive a detach request
1659
- var a = 1;
1660
- }
1661
- while (shouldStop()) {
1662
- var c = a + 1; // [3] (line 6) the breakpoint should not hit after detach
1663
- }
1664
- )");
1665
-
1666
- send<m::debugger::EnableRequest>(conn, msgId++);
1667
- expectExecutionContextCreated(conn);
1668
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1669
-
1670
- // [1] initial pause to set the breakpoint on line 6
1671
- expectPaused(conn, "other", {{"global", 1, 1}});
1672
-
1673
- // set breakpoint on line 6: "var c = ..."
1674
- m::debugger::SetBreakpointByUrlRequest req;
1675
- req.id = msgId++;
1676
- req.lineNumber = 6;
1677
- conn.send(req.toJson());
1678
-
1679
- expectBreakpointResponse(conn, req.id, 6, 6);
1680
-
1681
- // [2] loop running until we receive a detach request
1682
- send<m::debugger::ResumeRequest>(conn, msgId++);
1683
- expectNotification<m::debugger::ResumedNotification>(conn);
1684
-
1685
- send<m::debugger::DisableRequest>(conn, msgId++);
1686
- asyncRuntime.stop();
1687
-
1688
- // [3] (line 6) the breakpoint should not hit after detach
1689
- expectNothing(conn);
1690
- asyncRuntime.start();
1691
- }
1692
-
1693
- TEST(ConnectionTests, testSetPauseOnExceptionsAll) {
1694
- TestContext context;
1695
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1696
- SyncConnection &conn = context.conn();
1697
- int msgId = 1;
1698
-
1699
- asyncRuntime.executeScriptAsync(R"(
1700
- debugger; // [1] (line 1) initial pause, set throw on exceptions to 'All'
1701
-
1702
- try {
1703
- var a = 123;
1704
- throw new Error('Caught error'); // [2] line 5, pause on exception
1705
- } catch (err) {
1706
- // Do nothing.
1707
- }
1708
-
1709
- throw new Error('Uncaught exception'); // [3] line 10, pause on exception
1710
- )");
1711
-
1712
- send<m::debugger::EnableRequest>(conn, msgId++);
1713
- expectExecutionContextCreated(conn);
1714
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1715
-
1716
- // [1] (line 1) initial pause, set throw on exceptions to 'All'
1717
- expectPaused(conn, "other", {{"global", 1, 1}});
1718
- m::debugger::SetPauseOnExceptionsRequest allExceptionsReq;
1719
- allExceptionsReq.id = msgId++;
1720
- allExceptionsReq.state = "all";
1721
- conn.send(allExceptionsReq.toJson());
1722
- expectResponse<m::OkResponse>(conn, allExceptionsReq.id);
1723
-
1724
- // Resume
1725
- send<m::debugger::ResumeRequest>(conn, msgId++);
1726
- expectNotification<m::debugger::ResumedNotification>(conn);
1727
-
1728
- // [2] line 5, pause on exception
1729
- expectPaused(conn, "exception", {{"global", 5, 1}});
1730
- send<m::debugger::ResumeRequest>(conn, msgId++);
1731
- expectNotification<m::debugger::ResumedNotification>(conn);
1732
-
1733
- // [3] line 10, pause on exception
1734
- expectPaused(conn, "exception", {{"global", 10, 1}});
1735
-
1736
- // Send resume event and check that Hermes has thrown an exception.
1737
- send<m::debugger::ResumeRequest>(conn, msgId++);
1738
- expectNotification<m::debugger::ResumedNotification>(conn);
1739
- asyncRuntime.wait();
1740
- EXPECT_EQ(asyncRuntime.getNumberOfExceptions(), 1);
1741
- EXPECT_EQ(asyncRuntime.getLastThrownExceptionMessage(), "Uncaught exception");
1742
- }
1743
-
1744
- TEST(ConnectionTests, testSetPauseOnExceptionsNone) {
1745
- TestContext context;
1746
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1747
- SyncConnection &conn = context.conn();
1748
- int msgId = 1;
1749
-
1750
- asyncRuntime.executeScriptAsync(R"(
1751
- debugger; // [1] (line 1) initial pause, set throw on exceptions to 'None'
1752
-
1753
- try {
1754
- var a = 123;
1755
- throw new Error('Caught error');
1756
- } catch (err) {
1757
- // Do nothing.
1758
- }
1759
-
1760
- throw new Error('Uncaught exception');
1761
- )");
1762
-
1763
- send<m::debugger::EnableRequest>(conn, msgId++);
1764
- expectExecutionContextCreated(conn);
1765
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1766
-
1767
- // [1] (line 1) initial pause, set throw on exceptions to 'None'
1768
- expectPaused(conn, "other", {{"global", 1, 1}});
1769
- m::debugger::SetPauseOnExceptionsRequest allExceptionsReq;
1770
- allExceptionsReq.id = msgId++;
1771
- allExceptionsReq.state = "none";
1772
- conn.send(allExceptionsReq.toJson());
1773
- expectResponse<m::OkResponse>(conn, allExceptionsReq.id);
1774
-
1775
- // Resume
1776
- send<m::debugger::ResumeRequest>(conn, msgId++);
1777
- expectNotification<m::debugger::ResumedNotification>(conn);
1778
-
1779
- // Check that Hermes has thrown an exception (without reporting it).
1780
- expectNothing(conn);
1781
- asyncRuntime.wait();
1782
- EXPECT_EQ(asyncRuntime.getNumberOfExceptions(), 1);
1783
- EXPECT_EQ(asyncRuntime.getLastThrownExceptionMessage(), "Uncaught exception");
1784
- }
1785
-
1786
- TEST(ConnectionTests, testSetPauseOnExceptionsUncaught) {
1787
- TestContext context;
1788
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1789
- SyncConnection &conn = context.conn();
1790
- int msgId = 1;
1791
-
1792
- asyncRuntime.executeScriptAsync(R"(
1793
- debugger; // [1] (line 1) initial pause, set throw on exceptions to 'Uncaught'
1794
-
1795
- try {
1796
- var a = 123;
1797
- throw new Error('Caught error');
1798
- } catch (err) {
1799
- // Do nothing.
1800
- }
1801
-
1802
- throw new Error('Uncaught exception'); // [3] line 10, pause on exception
1803
- )");
1804
-
1805
- send<m::debugger::EnableRequest>(conn, msgId++);
1806
- expectExecutionContextCreated(conn);
1807
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1808
-
1809
- // [1] (line 1) initial pause, set throw on exceptions to 'Uncaught'
1810
- expectPaused(conn, "other", {{"global", 1, 1}});
1811
- m::debugger::SetPauseOnExceptionsRequest allExceptionsReq;
1812
- allExceptionsReq.id = msgId++;
1813
- allExceptionsReq.state = "uncaught";
1814
- conn.send(allExceptionsReq.toJson());
1815
- expectResponse<m::OkResponse>(conn, allExceptionsReq.id);
1816
-
1817
- // Resume
1818
- send<m::debugger::ResumeRequest>(conn, msgId++);
1819
- expectNotification<m::debugger::ResumedNotification>(conn);
1820
-
1821
- // [3] line 10, pause on exception
1822
- expectPaused(conn, "exception", {{"global", 10, 1}});
1823
-
1824
- // Send resume event and check that Hermes has thrown an exception.
1825
- send<m::debugger::ResumeRequest>(conn, msgId++);
1826
- expectNotification<m::debugger::ResumedNotification>(conn);
1827
- asyncRuntime.wait();
1828
- EXPECT_EQ(asyncRuntime.getNumberOfExceptions(), 1);
1829
- EXPECT_EQ(asyncRuntime.getLastThrownExceptionMessage(), "Uncaught exception");
1830
- }
1831
-
1832
- TEST(ConnectionTests, invalidPauseModeGivesError) {
1833
- TestContext context;
1834
- SyncConnection &conn = context.conn();
1835
-
1836
- m::debugger::SetPauseOnExceptionsRequest req;
1837
- req.id = 1;
1838
- req.state = "badgers";
1839
- conn.send(req.toJson());
1840
- expectResponse<m::ErrorResponse>(conn, req.id);
1841
- }
1842
-
1843
- TEST(ConnectionTests, testShouldPauseOnThrow) {
1844
- TestContext context;
1845
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1846
- SyncConnection &conn = context.conn();
1847
- int msgId = 1;
1848
-
1849
- asyncRuntime.executeScriptAsync(R"(
1850
- debugger; // [1] (line 1) initial pause, check shouldPauseOnThrow is false
1851
- // [2] set throw to 'All', check shouldPauseOnThrow is true
1852
- // [3] set throw to 'None', check shouldPauseOnThrow is false
1853
- // [4] set throw to 'Uncaught', check shouldPauseOnThrow is true
1854
- )");
1855
-
1856
- send<m::debugger::EnableRequest>(conn, msgId++);
1857
- expectExecutionContextCreated(conn);
1858
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1859
-
1860
- auto shouldPauseOnThrowEvalMsg =
1861
- R"("-> " + DebuggerInternal.shouldPauseOnThrow)";
1862
- auto responseTrue = "-> true";
1863
- auto responseFalse = "-> false";
1864
-
1865
- // [1] (line 1) initial pause, check shouldPauseOnThrow is false
1866
- expectPaused(conn, "other", {{"global", 1, 1}});
1867
- sendEvalRequest(conn, msgId + 1, 0, shouldPauseOnThrowEvalMsg);
1868
- expectEvalResponse(conn, msgId + 1, responseFalse);
1869
-
1870
- // [2] set throw to 'All', check shouldPauseOnThrow is true
1871
- m::debugger::SetPauseOnExceptionsRequest allExceptionsReq;
1872
- allExceptionsReq.id = msgId++;
1873
- allExceptionsReq.state = "all";
1874
- conn.send(allExceptionsReq.toJson());
1875
- expectResponse<m::OkResponse>(conn, allExceptionsReq.id);
1876
-
1877
- sendEvalRequest(conn, msgId + 1, 0, shouldPauseOnThrowEvalMsg);
1878
- expectEvalResponse(conn, msgId + 1, responseTrue);
1879
-
1880
- // [3] set throw to 'None', check shouldPauseOnThrow is false
1881
- m::debugger::SetPauseOnExceptionsRequest noExceptionsReq;
1882
- noExceptionsReq.id = msgId++;
1883
- noExceptionsReq.state = "none";
1884
- conn.send(noExceptionsReq.toJson());
1885
- expectResponse<m::OkResponse>(conn, noExceptionsReq.id);
1886
-
1887
- sendEvalRequest(conn, msgId + 1, 0, shouldPauseOnThrowEvalMsg);
1888
- expectEvalResponse(conn, msgId + 1, responseFalse);
1889
-
1890
- // [4] set throw to 'Uncaught', check shouldPauseOnThrow is true
1891
- m::debugger::SetPauseOnExceptionsRequest uncaughtExceptionsReq;
1892
- uncaughtExceptionsReq.id = msgId++;
1893
- uncaughtExceptionsReq.state = "uncaught";
1894
- conn.send(uncaughtExceptionsReq.toJson());
1895
- expectResponse<m::OkResponse>(conn, uncaughtExceptionsReq.id);
1896
-
1897
- sendEvalRequest(conn, msgId + 1, 0, shouldPauseOnThrowEvalMsg);
1898
- expectEvalResponse(conn, msgId + 1, responseTrue);
1899
-
1900
- // Resume
1901
- send<m::debugger::ResumeRequest>(conn, msgId++);
1902
- expectNotification<m::debugger::ResumedNotification>(conn);
1903
- }
1904
-
1905
- TEST(ConnectionTests, testScopeVariables) {
1906
- TestContext context;
1907
- AsyncHermesRuntime &asyncRuntime = context.runtime();
1908
- SyncConnection &conn = context.conn();
1909
- int msgId = 1;
1910
-
1911
- asyncRuntime.executeScriptAsync(R"(
1912
- var globalString = "global-string";
1913
- var globalObject = {number: 1, bool: false};
1914
-
1915
- function func() {
1916
- var localString = "local-string";
1917
- var localObject = {number: 2, bool: true};
1918
- debugger; // [1] (line 7) hit debugger statement
1919
- // two local vars - localString and localObject
1920
- // two global vars - globalString and globalObject
1921
- }
1922
-
1923
- func(); // line 12
1924
- )");
1925
-
1926
- send<m::debugger::EnableRequest>(conn, msgId++);
1927
- expectExecutionContextCreated(conn);
1928
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
1929
-
1930
- // [1] (line 7) hit debugger statement
1931
- auto pausedNote =
1932
- expectPaused(conn, "other", {{"func", 7, 2}, {"global", 12, 1}});
1933
- auto scopeChain = pausedNote.callFrames.at(0).scopeChain;
1934
- EXPECT_EQ(scopeChain.size(), 2);
1935
-
1936
- // [2] inspect local scope
1937
- EXPECT_EQ(scopeChain.at(0).type, "local");
1938
- auto localScopeObject = scopeChain.at(0).object;
1939
- auto localScopeObjectChildren = expectProps(
1940
- conn,
1941
- msgId++,
1942
- localScopeObject.objectId.value(),
1943
- {{"this", PropInfo("undefined")},
1944
- {"localString", PropInfo("string").setValue("local-string")},
1945
- {"localObject", PropInfo("object")}});
1946
- auto localObjectId = localScopeObjectChildren.at("localObject");
1947
- expectProps(
1948
- conn,
1949
- msgId++,
1950
- localObjectId,
1951
- {{"number", PropInfo("number").setValue(2)},
1952
- {"bool", PropInfo("boolean").setValue(true)},
1953
- {"__proto__", PropInfo("object")}});
1954
-
1955
- // [3] inspect global scope
1956
- // Global scope can contain more properties than we have defined
1957
- // in our test code and we can't use expectProps() method here.
1958
- // As a workaround we create a Map of properties and check that
1959
- // those global properties that we have defined are in the map.
1960
- EXPECT_EQ(scopeChain.at(1).type, "global");
1961
- auto globalScopeObject = scopeChain.at(1).object;
1962
- m::runtime::GetPropertiesRequest req;
1963
- req.id = msgId++;
1964
- req.objectId = globalScopeObject.objectId.value();
1965
- conn.send(req.toJson());
1966
- auto resp = expectResponse<m::runtime::GetPropertiesResponse>(conn, req.id);
1967
- std::unordered_map<std::string, std::optional<m::runtime::RemoteObject>>
1968
- globalProperties;
1969
- for (auto propertyDescriptor : resp.result) {
1970
- globalProperties[propertyDescriptor.name] = propertyDescriptor.value;
1971
- }
1972
- EXPECT_GE(globalProperties.size(), 3);
1973
-
1974
- // globalString should be of type "string" and have value "global-string".
1975
- EXPECT_EQ(globalProperties.count("globalString"), 1);
1976
- EXPECT_TRUE(globalProperties["globalString"].has_value());
1977
- EXPECT_EQ(globalProperties["globalString"].value().type, "string");
1978
- EXPECT_EQ(
1979
- globalProperties["globalString"].value().value.value(), "global-string");
1980
-
1981
- // func should be of type "function".
1982
- EXPECT_EQ(globalProperties.count("func"), 1);
1983
- EXPECT_TRUE(globalProperties["func"].has_value());
1984
- EXPECT_EQ(globalProperties["func"].value().type, "function");
1985
-
1986
- // globalObject should be of type "object" with "number" and "bool"
1987
- // properties.
1988
- EXPECT_EQ(globalProperties.count("globalObject"), 1);
1989
- EXPECT_TRUE(globalProperties["globalObject"].has_value());
1990
- EXPECT_EQ(globalProperties["globalObject"].value().type, "object");
1991
- expectProps(
1992
- conn,
1993
- msgId++,
1994
- globalProperties["globalObject"].value().objectId.value(),
1995
- {{"number", PropInfo("number").setValue(1)},
1996
- {"bool", PropInfo("boolean").setValue(false)},
1997
- {"__proto__", PropInfo("object")}});
1998
-
1999
- // [4] resume
2000
- send<m::debugger::ResumeRequest>(conn, msgId++);
2001
- expectNotification<m::debugger::ResumedNotification>(conn);
2002
- }
2003
-
2004
- TEST(ConnectionTests, testRuntimeCallFunctionOnObject) {
2005
- TestContext context;
2006
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2007
- SyncConnection &conn = context.conn();
2008
- int msgId = 1;
2009
-
2010
- asyncRuntime.executeScriptAsync(R"(
2011
- debugger;
2012
- )");
2013
-
2014
- send<m::debugger::EnableRequest>(conn, msgId++);
2015
- expectExecutionContextCreated(conn);
2016
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2017
-
2018
- // create a new Object() that will be used as "this" below.
2019
- m::runtime::RemoteObjectId thisId;
2020
- {
2021
- sendRuntimeEvalRequest(conn, msgId, "new Object()");
2022
- auto resp = expectResponse<m::runtime::EvaluateResponse>(conn, msgId++);
2023
- ASSERT_TRUE(resp.result.objectId) << resp.toDynamic();
2024
- thisId = *resp.result.objectId;
2025
- }
2026
-
2027
- // expectedPropInfos are properties that are expected to exist in thisId. It
2028
- // is modified by addMember (below).
2029
- std::unordered_map<std::string, PropInfo> expectedPropInfos;
2030
-
2031
- // Add __proto__ as it always exists.
2032
- expectedPropInfos.emplace("__proto__", PropInfo("object"));
2033
-
2034
- /// addMember sends Runtime.callFunctionOn() requests with a function
2035
- /// declaration that simply adds a new property called \p propName with type
2036
- /// \p type to the remote object \p id. \p ca is the property's value.
2037
- /// The new property must not exist in \p id unless \p allowRedefinition is
2038
- /// true.
2039
- auto addMember = [&](const m::runtime::RemoteObjectId id,
2040
- const char *type,
2041
- const char *propName,
2042
- const m::runtime::CallArgument &ca,
2043
- bool allowRedefinition = false) {
2044
- m::runtime::CallFunctionOnRequest req;
2045
- req.id = msgId++;
2046
- req.functionDeclaration =
2047
- std::string("function(e){const r=\"") + propName + "\"; this[r]=e,r}";
2048
- req.arguments = std::vector<m::runtime::CallArgument>{ca};
2049
- req.objectId = thisId;
2050
- conn.send(req.toJson());
2051
- expectResponse<m::runtime::CallFunctionOnResponse>(conn, req.id);
2052
-
2053
- auto it = expectedPropInfos.emplace(propName, PropInfo(type));
2054
-
2055
- EXPECT_TRUE(allowRedefinition || it.second)
2056
- << "property \"" << propName << "\" redefined.";
2057
-
2058
- if (ca.value) {
2059
- it.first->second.setValue(*ca.value);
2060
- }
2061
-
2062
- if (ca.unserializableValue) {
2063
- it.first->second.setUnserializableValue(*ca.unserializableValue);
2064
- }
2065
- };
2066
-
2067
- addMember(thisId, "boolean", "b", makeValueCallArgument(true));
2068
- addMember(thisId, "number", "num", makeValueCallArgument(12));
2069
- addMember(thisId, "string", "str", makeValueCallArgument("string value"));
2070
- addMember(thisId, "object", "self_ref", makeObjectIdCallArgument(thisId));
2071
- addMember(
2072
- thisId, "number", "inf", makeUnserializableCallArgument("Infinity"));
2073
- addMember(
2074
- thisId, "number", "ni", makeUnserializableCallArgument("-Infinity"));
2075
- addMember(thisId, "number", "nan", makeUnserializableCallArgument("NaN"));
2076
-
2077
- /// ensures that \p objId has all of the expected properties; Returns the
2078
- /// runtime::RemoteObjectId for the "self_ref" property (which must exist).
2079
- auto verifyObjShape = [&](const m::runtime::RemoteObjectId &objId)
2080
- -> std::optional<std::string> {
2081
- auto objProps = expectProps(conn, msgId++, objId, expectedPropInfos);
2082
- EXPECT_TRUE(objProps.count("__proto__"));
2083
- auto objPropIt = objProps.find("self_ref");
2084
- if (objPropIt == objProps.end()) {
2085
- EXPECT_TRUE(false) << "missing \"self_ref\" property.";
2086
- return {};
2087
- }
2088
- return objPropIt->second;
2089
- };
2090
-
2091
- // Verify that thisId has the correct shape.
2092
- auto selfRefId = verifyObjShape(thisId);
2093
- ASSERT_TRUE(selfRefId);
2094
- // Then verify that the self reference has the correct shape. If thisId does
2095
- // not have the "self_ref" property the call to verifyObjShape will return an
2096
- // empty Optional, as well as report an error.
2097
- selfRefId = verifyObjShape(*selfRefId);
2098
- ASSERT_TRUE(selfRefId);
2099
-
2100
- // Now we modify the self reference, which should cause thisId to change
2101
- // as well.
2102
- const bool kAllowRedefinition = true;
2103
-
2104
- addMember(
2105
- *selfRefId,
2106
- "number",
2107
- "num",
2108
- makeValueCallArgument(42),
2109
- kAllowRedefinition);
2110
-
2111
- addMember(
2112
- *selfRefId, "number", "neg_zero", makeUnserializableCallArgument("-0"));
2113
-
2114
- verifyObjShape(thisId);
2115
-
2116
- send<m::debugger::ResumeRequest>(conn, msgId++);
2117
- expectNotification<m::debugger::ResumedNotification>(conn);
2118
- }
2119
-
2120
- TEST(ConnectionTests, testRuntimeCallFunctionOnExecutionContext) {
2121
- TestContext context;
2122
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2123
- SyncConnection &conn = context.conn();
2124
- int msgId = 1;
2125
-
2126
- asyncRuntime.executeScriptAsync(R"(
2127
- debugger;
2128
- )");
2129
-
2130
- /// helper that returns a map with all of \p objId 's members.
2131
- auto getProps = [&msgId, &conn](const m::runtime::RemoteObjectId &objId) {
2132
- m::runtime::GetPropertiesRequest req;
2133
- req.id = msgId++;
2134
- req.objectId = objId;
2135
- conn.send(req.toJson());
2136
- auto resp = expectResponse<m::runtime::GetPropertiesResponse>(conn, req.id);
2137
- std::unordered_map<std::string, std::optional<m::runtime::RemoteObject>>
2138
- properties;
2139
- for (auto propertyDescriptor : resp.result) {
2140
- properties[propertyDescriptor.name] = propertyDescriptor.value;
2141
- }
2142
- return properties;
2143
- };
2144
-
2145
- send<m::debugger::EnableRequest>(conn, msgId++);
2146
- expectExecutionContextCreated(conn);
2147
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2148
-
2149
- // globalThisId is the inspector's object Id for globalThis.
2150
- m::runtime::RemoteObjectId globalThisId;
2151
- {
2152
- sendRuntimeEvalRequest(conn, msgId, "globalThis");
2153
- auto resp = expectResponse<m::runtime::EvaluateResponse>(conn, msgId++);
2154
- ASSERT_TRUE(resp.result.objectId) << resp.toDynamic();
2155
- globalThisId = *resp.result.objectId;
2156
- }
2157
-
2158
- // This test table has all of the new fields we want to add to globalThis,
2159
- // plus the Runtime.CallArgument to be sent to the inspector.
2160
- struct {
2161
- const char *propName;
2162
- const m::runtime::CallArgument callArg;
2163
- } tests[] = {
2164
- {"callFunctionOnTestMember1", makeValueCallArgument(10)},
2165
- {"callFunctionOnTestMember2", makeValueCallArgument("string")},
2166
- {"callFunctionOnTestMember3", makeUnserializableCallArgument("NaN")},
2167
- {"callFunctionOnTestMember4", makeUnserializableCallArgument("-0")},
2168
- };
2169
-
2170
- // sanity-check that our test fields don't exist in global this.
2171
- {
2172
- auto currProps = getProps(globalThisId);
2173
- for (const auto &test : tests) {
2174
- EXPECT_EQ(currProps.count(test.propName), 0) << test.propName;
2175
- }
2176
- }
2177
-
2178
- auto addMember = [&msgId, &conn](
2179
- const char *propName,
2180
- const m::runtime::CallArgument &ca) {
2181
- m::runtime::CallFunctionOnRequest req;
2182
- req.id = msgId++;
2183
- req.functionDeclaration =
2184
- std::string("function(e){const r=\"") + propName + "\"; this[r]=e,r}";
2185
- req.arguments = std::vector<m::runtime::CallArgument>{ca};
2186
- req.executionContextId = 1;
2187
- conn.send(req.toJson());
2188
- expectResponse<m::runtime::CallFunctionOnResponse>(conn, req.id);
2189
- };
2190
-
2191
- for (const auto &test : tests) {
2192
- addMember(test.propName, test.callArg);
2193
- }
2194
-
2195
- {
2196
- auto currProps = getProps(globalThisId);
2197
- for (const auto &test : tests) {
2198
- auto it = currProps.find(test.propName);
2199
-
2200
- // there should be a property named test.propName in globalThis.
2201
- ASSERT_TRUE(it != currProps.end()) << test.propName;
2202
-
2203
- // and it should have a value.
2204
- ASSERT_TRUE(it->second) << test.propName;
2205
-
2206
- if (it->second->value.has_value()) {
2207
- // the property has a value, so make sure that's what's being expected.
2208
- auto actual = it->second->value;
2209
- auto expected = test.callArg.value;
2210
- ASSERT_TRUE(expected.has_value()) << test.propName;
2211
- EXPECT_EQ(*actual, *expected) << test.propName;
2212
- } else if (it->second->unserializableValue.has_value()) {
2213
- // the property has an unserializable value, so make sure that's what's
2214
- // being expected.
2215
- auto actual = it->second->unserializableValue;
2216
- auto expected = test.callArg.unserializableValue;
2217
- ASSERT_TRUE(expected.has_value()) << test.propName;
2218
- EXPECT_EQ(*actual, *expected) << test.propName;
2219
- } else {
2220
- FAIL() << "No value or unserializable value in " << test.propName;
2221
- }
2222
- }
2223
- }
2224
-
2225
- send<m::debugger::ResumeRequest>(conn, msgId++);
2226
- expectNotification<m::debugger::ResumedNotification>(conn);
2227
- }
2228
-
2229
- TEST(ConnectionTests, testConsoleLog) {
2230
- TestContext context;
2231
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2232
- SyncConnection &conn = context.conn();
2233
- int msgId = 1;
2234
-
2235
- asyncRuntime.executeScriptAsync(R"(
2236
- var object1 = {number1: 1, bool1: false};
2237
- var object2 = {number2: 2, bool2: true};
2238
- console.warn('string value', object1, object2);
2239
-
2240
- debugger; // Hit debugger statement so that we receive console
2241
- // api notification before VM gets destroyed.
2242
- )");
2243
-
2244
- send<m::debugger::EnableRequest>(conn, msgId++);
2245
- expectExecutionContextCreated(conn);
2246
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2247
-
2248
- // Two notifications (hitting debugger and console API call) can appear
2249
- // in any order. We wait for two notifications here and later check
2250
- // that both of them were hit.
2251
- bool receivedConsoleNotification = false;
2252
- bool receivedPausedNotification = false;
2253
- for (size_t i = 0; i < 2; ++i) {
2254
- conn.waitForNotification([&receivedConsoleNotification,
2255
- &receivedPausedNotification,
2256
- &conn,
2257
- &msgId](const std::string &str) {
2258
- auto parsedNote = folly::parseJson(str);
2259
- auto method = parsedNote.at("method").asString();
2260
- if (method == "Runtime.consoleAPICalled") {
2261
- receivedConsoleNotification = true;
2262
- auto note = m::runtime::ConsoleAPICalledNotification(parsedNote);
2263
- EXPECT_EQ(note.type, "warning");
2264
- EXPECT_EQ(note.args.size(), 3);
2265
-
2266
- EXPECT_EQ(note.args[0].type, "string");
2267
- EXPECT_EQ(note.args[0].value, "string value");
2268
-
2269
- EXPECT_EQ(note.args[1].type, "object");
2270
- expectProps(
2271
- conn,
2272
- msgId++,
2273
- note.args[1].objectId.value(),
2274
- {{"number1", PropInfo("number").setValue(1)},
2275
- {"bool1", PropInfo("boolean").setValue(false)},
2276
- {"__proto__", PropInfo("object")}});
2277
-
2278
- EXPECT_EQ(note.args[2].type, "object");
2279
- expectProps(
2280
- conn,
2281
- msgId++,
2282
- note.args[2].objectId.value(),
2283
- {{"number2", PropInfo("number").setValue(2)},
2284
- {"bool2", PropInfo("boolean").setValue(true)},
2285
- {"__proto__", PropInfo("object")}});
2286
- } else if (method == "Debugger.paused") {
2287
- receivedPausedNotification = true;
2288
- auto note = m::debugger::PausedNotification(parsedNote);
2289
- EXPECT_EQ(note.reason, "other");
2290
- EXPECT_EQ(note.callFrames.size(), 1);
2291
- EXPECT_EQ(note.callFrames[0].functionName, "global");
2292
- EXPECT_EQ(note.callFrames[0].location.lineNumber, 5);
2293
- } else {
2294
- throw UnexpectedNotificationException();
2295
- }
2296
- });
2297
- }
2298
-
2299
- EXPECT_TRUE(receivedConsoleNotification);
2300
- EXPECT_TRUE(receivedPausedNotification);
2301
-
2302
- // Resume and expect no further notifications
2303
- send<m::debugger::ResumeRequest>(conn, msgId++);
2304
- expectNotification<m::debugger::ResumedNotification>(conn);
2305
- expectNothing(conn);
2306
- }
2307
-
2308
- TEST(ConnectionTests, testThisObject) {
2309
- TestContext context;
2310
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2311
- SyncConnection &conn = context.conn();
2312
- int msgId = 1;
2313
-
2314
- asyncRuntime.executeScriptAsync(R"(
2315
- var globalString = "global-string";
2316
-
2317
- var object = {
2318
- someVar: "object var",
2319
- foo: function() {
2320
- var localString = "local-string";
2321
- debugger; // [1] (line 7) hit debugger statement.
2322
- }
2323
- }
2324
-
2325
- object.foo(); // (line 11)
2326
- )");
2327
-
2328
- send<m::debugger::EnableRequest>(conn, msgId++);
2329
- expectExecutionContextCreated(conn);
2330
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2331
-
2332
- // [1] (line 1) hit debugger statement
2333
- auto pausedNote =
2334
- expectPaused(conn, "other", {{"foo", 7, 2}, {"global", 11, 1}});
2335
-
2336
- // [2] inspect first call frame (foo)
2337
- auto localThisObj = pausedNote.callFrames.at(0).thisObj;
2338
- expectProps(
2339
- conn,
2340
- msgId++,
2341
- localThisObj.objectId.value(),
2342
- {{"someVar", PropInfo("string").setValue("object var")},
2343
- {"foo", PropInfo("function")},
2344
- {"__proto__", PropInfo("object")}});
2345
-
2346
- // [3] inspect second call frame (global)
2347
- // Global scope can contain more properties than we have defined
2348
- // in our test code and we can't use expectProps() method here.
2349
- // As a workaround we create a Map of properties and check that
2350
- // those global properties that we have defined are in the map.
2351
- auto globalThisObj = pausedNote.callFrames.at(1).thisObj;
2352
- m::runtime::GetPropertiesRequest req;
2353
- req.id = msgId++;
2354
- req.objectId = globalThisObj.objectId.value();
2355
- conn.send(req.toJson());
2356
- auto resp = expectResponse<m::runtime::GetPropertiesResponse>(conn, req.id);
2357
- std::unordered_map<std::string, std::optional<m::runtime::RemoteObject>>
2358
- properties;
2359
- for (auto propertyDescriptor : resp.result) {
2360
- properties[propertyDescriptor.name] = propertyDescriptor.value;
2361
- }
2362
-
2363
- // globalString should be of type "string" and have value "global-string".
2364
- EXPECT_EQ(properties.count("globalString"), 1);
2365
- EXPECT_TRUE(properties["globalString"].has_value());
2366
- EXPECT_EQ(properties["globalString"].value().type, "string");
2367
- EXPECT_EQ(properties["globalString"].value().value.value(), "global-string");
2368
-
2369
- // [4] resume
2370
- send<m::debugger::ResumeRequest>(conn, msgId++);
2371
- expectNotification<m::debugger::ResumedNotification>(conn);
2372
- }
2373
-
2374
- TEST(ConnectionTests, testSetBreakpointsMultipleScripts) {
2375
- TestContext context;
2376
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2377
- SyncConnection &conn = context.conn();
2378
- int msgId = 1;
2379
-
2380
- std::string url1 = "first-url";
2381
- asyncRuntime.executeScriptAsync(
2382
- R"(
2383
- function foo1() {
2384
- var somevar1 = 111; // (line 2) hit breakpoint
2385
- var somevar2 = 222;
2386
- }
2387
- )",
2388
- url1);
2389
- send<m::debugger::EnableRequest>(conn, msgId++);
2390
- expectExecutionContextCreated(conn);
2391
- auto scriptParsed1 =
2392
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2393
-
2394
- std::string url2 = "second-url";
2395
- asyncRuntime.executeScriptAsync(
2396
- R"(
2397
- function foo2() {
2398
- var somevar3 = 333;
2399
- var somevar4 = 444; // (line 3) hit breakpoint
2400
- }
2401
- )",
2402
- url2);
2403
- auto scriptParsed2 =
2404
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2405
-
2406
- // In the third script we will set breakpoint (on debugger statement)
2407
- // and call both functions (script url doesn't matter).
2408
- asyncRuntime.executeScriptAsync(R"(
2409
- debugger; // [1] (line 1) set breakpoints in both files
2410
- foo1();
2411
- foo2();
2412
- )");
2413
- auto scriptParsed3 =
2414
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2415
-
2416
- // [1] hit debugger statement
2417
- expectPaused(conn, "other", {{"global", 1, 1}});
2418
-
2419
- // Set breakpoint on line 2 in the first script and line 3 in the second
2420
- // script.
2421
- m::debugger::SetBreakpointByUrlRequest req1;
2422
- req1.id = msgId++;
2423
- req1.lineNumber = 2;
2424
- req1.url = url1;
2425
- conn.send(req1.toJson());
2426
-
2427
- expectBreakpointResponse(conn, req1.id, 2, 2);
2428
-
2429
- m::debugger::SetBreakpointByUrlRequest req2;
2430
- req2.id = msgId++;
2431
- req2.lineNumber = 3;
2432
- req2.url = url2;
2433
- conn.send(req2.toJson());
2434
-
2435
- expectBreakpointResponse(conn, req2.id, 3, 3);
2436
-
2437
- // Resume and check that we hit correct breakpoints.
2438
- send<m::debugger::ResumeRequest>(conn, msgId++);
2439
- expectNotification<m::debugger::ResumedNotification>(conn);
2440
-
2441
- // First we should stop on line 2 of the first script.
2442
- expectPaused(
2443
- conn,
2444
- "other",
2445
- {FrameInfo("foo1", 2, 2).setScriptId(scriptParsed1.scriptId),
2446
- FrameInfo("global", 2, 1).setScriptId(scriptParsed3.scriptId)});
2447
- send<m::debugger::ResumeRequest>(conn, msgId++);
2448
- expectNotification<m::debugger::ResumedNotification>(conn);
2449
-
2450
- // Next we should stop on line 3 of the second script.
2451
- expectPaused(
2452
- conn,
2453
- "other",
2454
- {FrameInfo("foo2", 3, 2).setScriptId(scriptParsed2.scriptId),
2455
- FrameInfo("global", 3, 1).setScriptId(scriptParsed3.scriptId)});
2456
- send<m::debugger::ResumeRequest>(conn, msgId++);
2457
- expectNotification<m::debugger::ResumedNotification>(conn);
2458
- }
2459
-
2460
- TEST(ConnectionTests, testSetBreakpointByUrlRegex) {
2461
- TestContext context;
2462
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2463
- SyncConnection &conn = context.conn();
2464
- int msgId = 1;
2465
-
2466
- std::string url1 = "https://www.example.com/123456";
2467
- asyncRuntime.executeScriptAsync(
2468
- R"(
2469
- function foo1() {
2470
- var somevar1 = 111; // (line 2) hit breakpoint
2471
- }
2472
- )",
2473
- url1);
2474
- send<m::debugger::EnableRequest>(conn, msgId++);
2475
- expectExecutionContextCreated(conn);
2476
- auto scriptParsed1 =
2477
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2478
-
2479
- std::string url2 = "https://www.example.com/abcdefg";
2480
- asyncRuntime.executeScriptAsync(
2481
- R"(
2482
- function foo2() {
2483
- var aaa = 'bbb';
2484
- var somevar2 = 222; // (line 3) hit breakpoint
2485
- }
2486
- )",
2487
- url2);
2488
- auto scriptParsed2 =
2489
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2490
-
2491
- // In the third script we will set breakpoint (on debugger statement)
2492
- // and call both functions (script url doesn't matter).
2493
- asyncRuntime.executeScriptAsync(R"(
2494
- debugger; // [1] (line 1) set breakpoints in both files
2495
- foo1();
2496
- foo2();
2497
- )");
2498
- auto scriptParsed3 =
2499
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2500
-
2501
- // [1] hit debugger statement
2502
- expectPaused(conn, "other", {{"global", 1, 1}});
2503
-
2504
- // Set breakpoint on line 2 of URL matching "www\.example\.com\/[\d]+"
2505
- // (should match url1).
2506
- m::debugger::SetBreakpointByUrlRequest req1;
2507
- req1.id = msgId++;
2508
- req1.lineNumber = 2;
2509
- req1.urlRegex = R"(https://www\.example\.com\/[\d]+)";
2510
- conn.send(req1.toJson());
2511
-
2512
- expectBreakpointResponse(conn, req1.id, 2, 2);
2513
-
2514
- // Set breakpoint on line 3 of URL matching "www\.example\.com\/[a-zA-z]+"
2515
- // (should match url2).
2516
- m::debugger::SetBreakpointByUrlRequest req2;
2517
- req2.id = msgId++;
2518
- req2.lineNumber = 3;
2519
- req2.urlRegex = R"(https://www\.example\.com\/[a-zA-z]+)";
2520
- conn.send(req2.toJson());
2521
-
2522
- expectBreakpointResponse(conn, req2.id, 3, 3);
2523
-
2524
- // Resume and check that we hit correct breakpoints.
2525
- send<m::debugger::ResumeRequest>(conn, msgId++);
2526
- expectNotification<m::debugger::ResumedNotification>(conn);
2527
-
2528
- // First we should stop on line 2 of the first script.
2529
- expectPaused(
2530
- conn,
2531
- "other",
2532
- {FrameInfo("foo1", 2, 2).setScriptId(scriptParsed1.scriptId),
2533
- FrameInfo("global", 2, 1).setScriptId(scriptParsed3.scriptId)});
2534
- send<m::debugger::ResumeRequest>(conn, msgId++);
2535
- expectNotification<m::debugger::ResumedNotification>(conn);
2536
-
2537
- // Next we should stop on line 3 of the second script.
2538
- expectPaused(
2539
- conn,
2540
- "other",
2541
- {FrameInfo("foo2", 3, 2).setScriptId(scriptParsed2.scriptId),
2542
- FrameInfo("global", 3, 1).setScriptId(scriptParsed3.scriptId)});
2543
- send<m::debugger::ResumeRequest>(conn, msgId++);
2544
- expectNotification<m::debugger::ResumedNotification>(conn);
2545
- }
2546
-
2547
- TEST(ConnectionTests, testColumnBreakpoint) {
2548
- TestContext context;
2549
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2550
- SyncConnection &conn = context.conn();
2551
- int msgId = 1;
2552
-
2553
- asyncRuntime.executeScriptAsync(
2554
- R"(
2555
- function foo(){x=1}debugger;foo();
2556
- )",
2557
- "url");
2558
- send<m::debugger::EnableRequest>(conn, msgId++);
2559
- expectExecutionContextCreated(conn);
2560
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2561
-
2562
- // Hit debugger statement.
2563
- expectPaused(conn, "other", {{"global", 1, 1}});
2564
-
2565
- // Set breakpoint on position 1:16 (x=1).
2566
- m::debugger::SetBreakpointByUrlRequest req;
2567
- req.id = msgId++;
2568
- req.lineNumber = 1;
2569
- req.columnNumber = 16;
2570
- req.url = "url";
2571
- conn.send(req.toJson());
2572
-
2573
- expectBreakpointResponse(conn, req.id, 1, 1);
2574
-
2575
- // Resume and except to pause on a breakpoint.
2576
- send<m::debugger::ResumeRequest>(conn, msgId++);
2577
- expectNotification<m::debugger::ResumedNotification>(conn);
2578
- expectPaused(
2579
- conn,
2580
- "other",
2581
- {FrameInfo("foo", 1, 2).setColumnNumber(16), FrameInfo("global", 1, 1)});
2582
-
2583
- // Resume execution
2584
- send<m::debugger::ResumeRequest>(conn, msgId++);
2585
- expectNotification<m::debugger::ResumedNotification>(conn);
2586
- }
2587
-
2588
- TEST(ConnectionTests, canBreakOnScriptsWithSourceMap) {
2589
- TestContext context;
2590
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2591
- SyncConnection &conn = context.conn();
2592
- int msgId = 1;
2593
-
2594
- send<m::debugger::EnableRequest>(conn, msgId++);
2595
- expectExecutionContextCreated(conn);
2596
-
2597
- m::debugger::SetInstrumentationBreakpointRequest req;
2598
- req.id = msgId++;
2599
- req.instrumentation = "beforeScriptWithSourceMapExecution";
2600
-
2601
- conn.send(req.toJson());
2602
- auto bpId = expectResponse<m::debugger::SetInstrumentationBreakpointResponse>(
2603
- conn, req.id)
2604
- .breakpointId;
2605
-
2606
- asyncRuntime.executeScriptAsync(R"(
2607
- storeValue(42); debugger;
2608
- //# sourceURL=http://example.com/source.js
2609
- //# sourceMappingURL=http://example.com/source.map
2610
- )");
2611
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2612
-
2613
- // We should get a pause before the first statement
2614
- auto note = expectNotification<m::debugger::PausedNotification>(conn);
2615
- ASSERT_FALSE(asyncRuntime.hasStoredValue());
2616
- EXPECT_EQ(note.reason, "other");
2617
- ASSERT_TRUE(note.hitBreakpoints.has_value());
2618
- ASSERT_EQ(note.hitBreakpoints->size(), 1);
2619
- EXPECT_EQ(note.hitBreakpoints->at(0), bpId);
2620
-
2621
- // Continue and verify that the JS code has now executed
2622
- send<m::debugger::ResumeRequest>(conn, msgId++);
2623
- expectNotification<m::debugger::ResumedNotification>(conn);
2624
- expectNotification<m::debugger::PausedNotification>(conn);
2625
- EXPECT_EQ(asyncRuntime.awaitStoredValue().asNumber(), 42);
2626
-
2627
- // Resume and exit
2628
- send<m::debugger::ResumeRequest>(conn, msgId++);
2629
- expectNotification<m::debugger::ResumedNotification>(conn);
2630
- }
2631
-
2632
- TEST(ConnectionTests, wontStopOnFilesWithoutSourceMaps) {
2633
- TestContext context;
2634
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2635
- SyncConnection &conn = context.conn();
2636
- int msgId = 1;
2637
-
2638
- send<m::debugger::EnableRequest>(conn, msgId++);
2639
- expectExecutionContextCreated(conn);
2640
-
2641
- m::debugger::SetInstrumentationBreakpointRequest req;
2642
- req.id = msgId++;
2643
- req.instrumentation = "beforeScriptWithSourceMapExecution";
2644
-
2645
- conn.send(req.toJson());
2646
- expectResponse<m::debugger::SetInstrumentationBreakpointResponse>(
2647
- conn, req.id);
2648
-
2649
- // This script has no source map, so it should not trigger a break
2650
- asyncRuntime.executeScriptAsync(R"(
2651
- storeValue(42); debugger;
2652
- //# sourceURL=http://example.com/source.js
2653
- )");
2654
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2655
-
2656
- // Continue and verify that the JS code has now executed without first
2657
- // pausing on the script load.
2658
- expectNotification<m::debugger::PausedNotification>(conn);
2659
- EXPECT_EQ(asyncRuntime.awaitStoredValue().asNumber(), 42);
2660
-
2661
- // Resume and exit
2662
- send<m::debugger::ResumeRequest>(conn, msgId++);
2663
- expectNotification<m::debugger::ResumedNotification>(conn);
2664
- }
2665
-
2666
- TEST(ConnectionTests, runIfWaitingForDebugger) {
2667
- TestContext context(true);
2668
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2669
- SyncConnection &conn = context.conn();
2670
- int msgId = 0;
2671
-
2672
- asyncRuntime.executeScriptAsync(R"(
2673
- storeValue(1); debugger;
2674
- )");
2675
-
2676
- send<m::debugger::EnableRequest>(conn, ++msgId);
2677
- expectExecutionContextCreated(conn);
2678
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2679
- expectNotification<m::debugger::PausedNotification>(conn);
2680
-
2681
- // We should now be paused on load. Verify that we didn't run code.
2682
- ASSERT_FALSE(asyncRuntime.hasStoredValue());
2683
-
2684
- // RunIfWaitingForDebugger should cause us to resume
2685
- send<m::runtime::RunIfWaitingForDebuggerRequest>(conn, ++msgId);
2686
- expectNotification<m::debugger::ResumedNotification>(conn);
2687
-
2688
- // We should immediately hit the 'debugger;' statement
2689
- expectNotification<m::debugger::PausedNotification>(conn);
2690
- EXPECT_EQ(1, asyncRuntime.awaitStoredValue().asNumber());
2691
-
2692
- // RunIfWaitingForDebuggerResponse should be accepted but have no effect
2693
- send<m::runtime::RunIfWaitingForDebuggerRequest>(conn, ++msgId);
2694
-
2695
- // Do a dummy call so we can expect something other than a ResumeRequest
2696
- sendRuntimeEvalRequest(conn, ++msgId, "true");
2697
- expectEvalResponse(conn, msgId, true);
2698
-
2699
- // Finally explicitly continue and exit
2700
- send<m::debugger::ResumeRequest>(conn, msgId++);
2701
- expectNotification<m::debugger::ResumedNotification>(conn);
2702
- }
2703
-
2704
- TEST(ConnectionTests, heapProfilerSampling) {
2705
- TestContext context;
2706
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2707
- SyncConnection &conn = context.conn();
2708
- int msgId = 1;
2709
-
2710
- send<m::debugger::EnableRequest>(conn, msgId++);
2711
- expectExecutionContextCreated(conn);
2712
-
2713
- asyncRuntime.executeScriptAsync(R"(
2714
- debugger;
2715
- function allocator() {
2716
- // Do some allocation.
2717
- return new Object;
2718
- }
2719
- (function main() {
2720
- var a = [];
2721
- for (var i = 0; i < 100; i++) {
2722
- a[i] = allocator();
2723
- }
2724
- })();
2725
- debugger;
2726
- )");
2727
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2728
-
2729
- // We should get a pause before the first statement.
2730
- expectNotification<m::debugger::PausedNotification>(conn);
2731
-
2732
- {
2733
- m::heapProfiler::StartSamplingRequest req;
2734
- req.id = msgId++;
2735
- // Sample every 256 bytes to ensure there are some samples. The default is
2736
- // 32768, which is too high for a small example. Note that sampling is a
2737
- // random process, so there's no guarantee there will be any samples in
2738
- // any finite number of allocations. In practice the likelihood is so high
2739
- // that there shouldn't be any issues.
2740
- req.samplingInterval = 256;
2741
- send(conn, req);
2742
- }
2743
- // Resume, run the allocations, and once it's paused again, stop them.
2744
- send<m::debugger::ResumeRequest>(conn, msgId++);
2745
- expectNotification<m::debugger::ResumedNotification>(conn);
2746
- expectNotification<m::debugger::PausedNotification>(conn);
2747
- // Send the stop sampling request, expect the value coming back to be JSON.
2748
- auto resp = send<
2749
- m::heapProfiler::StopSamplingRequest,
2750
- m::heapProfiler::StopSamplingResponse>(conn, msgId++);
2751
- // Make sure there were some samples.
2752
- EXPECT_NE(resp.profile.samples.size(), 0);
2753
- // Don't test the content of the JSON, that is tested via the
2754
- // SamplingHeapProfilerTest.
2755
-
2756
- // Resume and exit
2757
- send<m::debugger::ResumeRequest>(conn, msgId++);
2758
- expectNotification<m::debugger::ResumedNotification>(conn);
2759
- }
2760
-
2761
- TEST(ConnectionTests, heapSnapshotRemoteObject) {
2762
- TestContext context;
2763
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2764
- std::shared_ptr<HermesRuntime> runtime = asyncRuntime.runtime();
2765
- SyncConnection &conn = context.conn();
2766
- int msgId = 1;
2767
-
2768
- send<m::debugger::EnableRequest>(conn, msgId++);
2769
- expectExecutionContextCreated(conn);
2770
-
2771
- asyncRuntime.executeScriptAsync(R"(
2772
- storeValue([1, 2, 3]);
2773
- debugger;
2774
- )");
2775
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2776
-
2777
- // We should get a pause before the first statement.
2778
- expectNotification<m::debugger::PausedNotification>(conn);
2779
-
2780
- {
2781
- // Take a heap snapshot first to assign IDs.
2782
- m::heapProfiler::TakeHeapSnapshotRequest req;
2783
- req.id = msgId++;
2784
- req.reportProgress = false;
2785
- // We don't need the response because we can directly query for object IDs
2786
- // from the runtime.
2787
- send(conn, req);
2788
- }
2789
-
2790
- const uint64_t globalObjID = runtime->getUniqueID(runtime->global());
2791
- jsi::Value storedValue = asyncRuntime.awaitStoredValue();
2792
- const uint64_t storedObjID =
2793
- runtime->getUniqueID(storedValue.asObject(*runtime));
2794
-
2795
- auto testObject = [&msgId, &conn](
2796
- uint64_t objID,
2797
- const char *type,
2798
- const char *className,
2799
- const char *description,
2800
- const char *subtype) {
2801
- // Get the object by its snapshot ID.
2802
- m::heapProfiler::GetObjectByHeapObjectIdRequest req;
2803
- req.id = msgId++;
2804
- req.objectId = std::to_string(objID);
2805
- auto resp = send<
2806
- m::heapProfiler::GetObjectByHeapObjectIdRequest,
2807
- m::heapProfiler::GetObjectByHeapObjectIdResponse>(conn, req);
2808
- EXPECT_EQ(resp.result.type, type);
2809
- EXPECT_EQ(resp.result.className, className);
2810
- EXPECT_EQ(resp.result.description, description);
2811
- if (subtype) {
2812
- EXPECT_EQ(resp.result.subtype, subtype);
2813
- }
2814
-
2815
- // Check that fetching the object by heap snapshot ID works.
2816
- m::heapProfiler::GetHeapObjectIdRequest idReq;
2817
- idReq.id = msgId++;
2818
- idReq.objectId = resp.result.objectId.value();
2819
- auto idResp = send<
2820
- m::heapProfiler::GetHeapObjectIdRequest,
2821
- m::heapProfiler::GetHeapObjectIdResponse>(conn, idReq);
2822
- EXPECT_EQ(atoi(idResp.heapSnapshotObjectId.c_str()), objID);
2823
- };
2824
-
2825
- // Test once before a collection.
2826
- testObject(globalObjID, "object", "Object", "Object", nullptr);
2827
- testObject(storedObjID, "object", "Array", "Array(3)", "array");
2828
- // Force a collection to move the heap.
2829
- runtime->instrumentation().collectGarbage("test");
2830
- // A collection should not disturb the unique ID lookup, and it should be
2831
- // the same object as before. Note that it won't have the same remote ID,
2832
- // because Hermes doesn't do uniquing.
2833
- testObject(globalObjID, "object", "Object", "Object", nullptr);
2834
- testObject(storedObjID, "object", "Array", "Array(3)", "array");
2835
-
2836
- // Resume and exit.
2837
- send<m::debugger::ResumeRequest>(conn, msgId++);
2838
- expectNotification<m::debugger::ResumedNotification>(conn);
2839
- }
2840
-
2841
- TEST(ConnectionTests, testBasicProfilerOperation) {
2842
- TestContext context;
2843
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2844
- SamplingProfilerRAII spRegistration(asyncRuntime);
2845
- SyncConnection &conn = context.conn();
2846
- int msgId = 1;
2847
-
2848
- asyncRuntime.executeScriptAsync(R"(
2849
- while(!shouldStop());
2850
- )");
2851
-
2852
- send<m::debugger::EnableRequest>(conn, msgId++);
2853
- expectExecutionContextCreated(conn);
2854
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2855
-
2856
- // Start the sampling profiler. At this point it is not safe to manipulate the
2857
- // VM, so...
2858
- send<m::profiler::StartRequest>(conn, msgId++);
2859
-
2860
- // Disable the debugger.
2861
- send<m::debugger::DisableRequest>(conn, msgId++);
2862
-
2863
- // Keep the profiler running for a small amount of time to allow for some
2864
- // samples to be collected.
2865
- std::this_thread::sleep_for(500ms);
2866
-
2867
- // Finally, re-enable the debugger in order to stop profiling.
2868
- send<m::debugger::EnableRequest>(conn, msgId++);
2869
- expectExecutionContextCreated(conn);
2870
-
2871
- // Being re-attached to the VM, send the stop sampling profile request.
2872
- {
2873
- auto resp = send<m::profiler::StopRequest, m::profiler::StopResponse>(
2874
- conn, msgId++);
2875
-
2876
- const m::profiler::Profile &profile = resp.profile;
2877
- EXPECT_GT(profile.nodes.size(), 0);
2878
- EXPECT_LT(profile.startTime, profile.endTime);
2879
- ASSERT_TRUE(profile.samples);
2880
- EXPECT_FALSE(profile.samples->empty());
2881
- ASSERT_TRUE(profile.timeDeltas);
2882
- EXPECT_EQ(profile.samples->size(), profile.timeDeltas->size());
2883
- }
2884
-
2885
- asyncRuntime.stop();
2886
- }
2887
-
2888
- TEST(ConnectionTests, testGlobalLexicalScopeNames) {
2889
- TestContext context;
2890
- AsyncHermesRuntime &asyncRuntime = context.runtime();
2891
- SyncConnection &conn = context.conn();
2892
- int msgId = 1;
2893
- asyncRuntime.executeScriptAsync(R"(
2894
- let globalLet = "let";
2895
- const globalConst = "const";
2896
- var globalVar = "var";
2897
-
2898
- let func1 = () => {
2899
- let local1 = 111;
2900
- func2();
2901
- }
2902
-
2903
- function func2() {
2904
- let func3 = () => {
2905
- let local3 = 333;
2906
- debugger;
2907
- }
2908
-
2909
- let local2 = 222;
2910
- func3();
2911
- }
2912
-
2913
- func1();
2914
- )");
2915
- send<m::debugger::EnableRequest>(conn, msgId++);
2916
- expectExecutionContextCreated(conn);
2917
- expectNotification<m::debugger::ScriptParsedNotification>(conn);
2918
- expectNotification<m::debugger::PausedNotification>(conn);
2919
-
2920
- m::runtime::GlobalLexicalScopeNamesRequest req;
2921
- req.id = msgId;
2922
- req.executionContextId = 1;
2923
- conn.send(req.toJson());
2924
-
2925
- auto resp =
2926
- expectResponse<m::runtime::GlobalLexicalScopeNamesResponse>(conn, msgId);
2927
- EXPECT_EQ(resp.id, msgId++);
2928
- std::sort(resp.names.begin(), resp.names.end());
2929
- std::vector<std::string> expectedNames{"func1", "globalConst", "globalLet"};
2930
- EXPECT_EQ(resp.names, expectedNames);
2931
-
2932
- send<m::debugger::ResumeRequest>(conn, msgId++);
2933
- expectNotification<m::debugger::ResumedNotification>(conn);
2934
- }
2935
-
2936
- } // namespace chrome
2937
- } // namespace inspector
2938
- } // namespace hermes
2939
- } // namespace facebook