react-native-windows 0.73.11 → 0.74.0-preview.1

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 (771) hide show
  1. package/.flowconfig +12 -7
  2. package/Chakra/ChakraUtils.cpp +5 -10
  3. package/Chakra/ChakraUtils.h +2 -2
  4. package/Common/packages.lock.json +3 -3
  5. package/Directory.Build.props +5 -5
  6. package/Folly/Folly.vcxproj +2 -2
  7. package/Folly/Folly.vcxproj.filters +7 -0
  8. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +22 -1
  9. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +4 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  12. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  13. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  14. package/Libraries/Alert/Alert.windows.js +2 -3
  15. package/Libraries/Alert/NativeAlertManager.js +4 -26
  16. package/Libraries/Animated/Animated.js +2 -2
  17. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  18. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  19. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  21. package/Libraries/Animated/animations/Animation.js +6 -22
  22. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  23. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  24. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  25. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  26. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  27. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  28. package/Libraries/Animated/useAnimatedProps.js +21 -1
  29. package/Libraries/AppState/NativeAppState.js +4 -24
  30. package/Libraries/AppTheme/NativeAppTheme.js +4 -25
  31. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  32. package/Libraries/Blob/Blob.js +1 -4
  33. package/Libraries/Blob/BlobManager.js +6 -8
  34. package/Libraries/Blob/File.js +1 -1
  35. package/Libraries/Blob/NativeBlobModule.js +4 -50
  36. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  37. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +3 -2
  42. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  44. package/Libraries/Components/Button.js +103 -107
  45. package/Libraries/Components/Button.windows.js +199 -206
  46. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  47. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  49. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -8
  50. package/Libraries/Components/Keyboard/KeyboardExt.js +27 -27
  51. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  52. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -17
  53. package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -7
  54. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  55. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  56. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
  57. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
  58. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
  59. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.windows.js +1 -2
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  68. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  69. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  70. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  71. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  72. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/Switch.windows.js +0 -2
  80. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  81. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  82. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  83. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  84. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  85. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  86. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  87. package/Libraries/Components/TextInput/TextInput.js +65 -32
  88. package/Libraries/Components/TextInput/TextInput.windows.js +87 -38
  89. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +773 -9
  90. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  91. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  92. package/Libraries/Components/Touchable/Touchable.js +2 -3
  93. package/Libraries/Components/Touchable/Touchable.windows.js +2 -3
  94. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  95. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +4 -4
  96. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  97. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  98. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -2
  99. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  100. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  101. package/Libraries/Components/View/View.js +0 -11
  102. package/Libraries/Components/View/View.windows.js +19 -18
  103. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  104. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  105. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  106. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -36
  107. package/Libraries/Core/InitializeCore.js +1 -1
  108. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  109. package/Libraries/Core/ReactNativeVersion.js +12 -6
  110. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  111. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  112. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  113. package/Libraries/Core/registerCallableModule.js +42 -0
  114. package/Libraries/Core/setUpPerformance.js +2 -2
  115. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  116. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  117. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  118. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  119. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  120. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  121. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  122. package/Libraries/Image/AssetSourceResolver.js +5 -5
  123. package/Libraries/Image/AssetUtils.js +4 -5
  124. package/Libraries/Image/Image.android.js +146 -174
  125. package/Libraries/Image/Image.d.ts +1 -1
  126. package/Libraries/Image/Image.ios.js +53 -79
  127. package/Libraries/Image/Image.windows.js +53 -79
  128. package/Libraries/Image/ImageBackground.js +2 -2
  129. package/Libraries/Image/ImageInjection.js +76 -18
  130. package/Libraries/Image/ImageTypes.flow.js +71 -0
  131. package/Libraries/Image/ImageUtils.js +1 -1
  132. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  133. package/Libraries/Image/NativeImageEditor.js +3 -42
  134. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  135. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  136. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  137. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  138. package/Libraries/Image/resolveAssetSource.js +59 -26
  139. package/Libraries/Image/resolveAssetSource.windows.js +148 -0
  140. package/Libraries/Inspector/ElementProperties.js +26 -52
  141. package/Libraries/Inspector/Inspector.js +122 -186
  142. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  143. package/Libraries/Inspector/InspectorPanel.js +3 -17
  144. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  145. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  146. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  147. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  148. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  149. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  150. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  151. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  152. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  153. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  154. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  155. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  156. package/Libraries/Lists/FillRateHelper.js +1 -1
  157. package/Libraries/Lists/FlatList.d.ts +2 -2
  158. package/Libraries/Lists/FlatList.js +6 -1
  159. package/Libraries/Lists/FlatList.windows.js +717 -0
  160. package/Libraries/Lists/SectionList.d.ts +6 -1
  161. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  162. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  163. package/Libraries/Lists/VirtualizedList.js +1 -1
  164. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  165. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  166. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  167. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  168. package/Libraries/Modal/Modal.js +43 -11
  169. package/Libraries/Modal/NativeModalManager.js +3 -11
  170. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  171. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  172. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  173. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  174. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  175. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  177. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  178. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  179. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  180. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  181. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  182. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  183. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  184. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
  185. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  186. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  187. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  188. package/Libraries/Network/FormData.js +3 -1
  189. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  190. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  191. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +4 -2
  192. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +3 -1
  193. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  194. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  195. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  196. package/Libraries/Pressability/Pressability.js +12 -2
  197. package/Libraries/Pressability/Pressability.windows.js +13 -3
  198. package/Libraries/Pressability/usePressability.js +7 -0
  199. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  200. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  201. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  202. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  203. package/Libraries/ReactNative/AppContainer.js +6 -149
  204. package/Libraries/ReactNative/AppRegistry.js +3 -1
  205. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  206. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  207. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  208. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  209. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  210. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  211. package/Libraries/ReactNative/PaperUIManager.windows.js +29 -8
  212. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  213. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  214. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  215. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  216. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  217. package/Libraries/ReactNative/UIManager.js +2 -23
  218. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  219. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  220. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  221. package/Libraries/ReactNative/renderApplication.js +9 -6
  222. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  223. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  224. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  225. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  226. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  227. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  228. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  229. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  230. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  231. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  232. package/Libraries/Share/NativeShareModule.js +3 -13
  233. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +1 -1
  234. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  235. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  236. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  237. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  238. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  239. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  240. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  241. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  242. package/Libraries/Text/Text.js +0 -6
  243. package/Libraries/Text/Text.windows.js +0 -6
  244. package/Libraries/Text/TextAncestor.js +2 -3
  245. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  246. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  247. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  248. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  249. package/Libraries/Utilities/Dimensions.js +8 -16
  250. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  251. package/Libraries/Utilities/NativeAppearance.js +3 -26
  252. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  253. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  254. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  255. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  256. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  257. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  258. package/Libraries/Utilities/Platform.android.js +4 -0
  259. package/Libraries/Utilities/Platform.d.ts +3 -0
  260. package/Libraries/Utilities/Platform.flow.js +7 -0
  261. package/Libraries/Utilities/Platform.flow.windows.js +9 -0
  262. package/Libraries/Utilities/Platform.ios.js +11 -0
  263. package/Libraries/Utilities/Platform.windows.js +6 -0
  264. package/Libraries/Utilities/binaryToBase64.js +1 -1
  265. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  266. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  267. package/Libraries/Utilities/useMergeRefs.js +5 -9
  268. package/Libraries/Vibration/NativeVibration.js +3 -14
  269. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  270. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  271. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  272. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
  273. package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
  274. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -0
  275. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +1 -1
  276. package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
  277. package/Microsoft.ReactNative/ComponentView.idl +106 -0
  278. package/Microsoft.ReactNative/Composition.Input.idl +16 -2
  279. package/Microsoft.ReactNative/CompositionComponentView.idl +117 -0
  280. package/Microsoft.ReactNative/CompositionContext.idl +1 -1
  281. package/Microsoft.ReactNative/CompositionRootView.idl +8 -0
  282. package/Microsoft.ReactNative/CompositionSwitcher.idl +25 -14
  283. package/Microsoft.ReactNative/DevMenuControl.idl +0 -3
  284. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -15
  285. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
  286. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
  287. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
  288. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
  289. package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
  290. package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
  291. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +48 -19
  292. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +8 -16
  293. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +97 -0
  294. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +39 -0
  295. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
  296. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
  297. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
  298. package/Microsoft.ReactNative/Fabric/ComponentView.h +130 -64
  299. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +48 -24
  300. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +18 -14
  301. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +42 -27
  302. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +3 -1
  303. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +123 -28
  304. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +69 -13
  305. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +651 -284
  306. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +7 -7
  307. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +9 -9
  308. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +120 -31
  309. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +12 -2
  310. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +308 -129
  311. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +34 -6
  312. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +2 -1
  313. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +61 -54
  314. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +0 -9
  315. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +99 -30
  316. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +4 -3
  317. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +273 -28
  318. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +28 -3
  319. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +7 -3
  320. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +4 -0
  321. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +479 -280
  322. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +133 -79
  323. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
  324. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
  325. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +61 -41
  326. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +19 -14
  327. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
  328. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +343 -0
  329. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
  330. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
  331. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
  332. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +53 -186
  333. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +20 -12
  334. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +59 -150
  335. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +27 -76
  336. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +81 -32
  337. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +27 -14
  338. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +707 -64
  339. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +47 -26
  340. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +225 -125
  341. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +34 -21
  342. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
  343. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
  344. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +110 -115
  345. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +228 -79
  346. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +43 -22
  347. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +18 -0
  348. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +12 -0
  349. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +5 -5
  350. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -1
  351. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +1 -2
  352. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +4 -44
  353. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +11 -9
  354. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +550 -0
  355. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +73 -0
  356. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
  357. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +48 -26
  358. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +6 -2
  359. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +30 -65
  360. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +16 -25
  361. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +72 -88
  362. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +5 -2
  363. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +3 -2
  364. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +6 -6
  365. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +2 -2
  366. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +12 -7
  367. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +28 -19
  368. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +5 -0
  369. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -2
  370. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
  371. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
  372. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
  373. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
  374. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
  375. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/{Color.cpp → PlatformColorUtils.cpp} +7 -77
  376. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
  377. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -0
  378. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
  379. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +6 -87
  380. package/Microsoft.ReactNative/IReactContext.idl +3 -0
  381. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +71 -1
  382. package/Microsoft.ReactNative/JsiApi.cpp +17 -7
  383. package/Microsoft.ReactNative/JsiApi.h +2 -2
  384. package/Microsoft.ReactNative/JsiApi.idl +5 -4
  385. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -22
  386. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +6 -2
  387. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  388. package/Microsoft.ReactNative/Modules/AlertModule.h +2 -2
  389. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +12 -8
  390. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +1 -1
  391. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  392. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -3
  393. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +4 -4
  394. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +10 -1
  395. package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
  396. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +71 -38
  397. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +5 -5
  398. package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
  399. package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
  400. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +11 -10
  401. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +8 -6
  402. package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -3
  403. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +5 -28
  404. package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
  405. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +8 -5
  406. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +3 -3
  407. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
  408. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
  409. package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
  410. package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
  411. package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
  412. package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
  413. package/Microsoft.ReactNative/Modules/Timing.h +121 -0
  414. package/Microsoft.ReactNative/QuirkSettings.cpp +32 -0
  415. package/Microsoft.ReactNative/QuirkSettings.h +9 -0
  416. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  417. package/Microsoft.ReactNative/ReactCoreInjection.cpp +15 -0
  418. package/Microsoft.ReactNative/ReactCoreInjection.h +4 -0
  419. package/Microsoft.ReactNative/ReactCoreInjection.idl +8 -0
  420. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +1 -1
  421. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +1 -1
  422. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +556 -234
  423. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +36 -9
  424. package/Microsoft.ReactNative/ReactInstanceSettings.idl +3 -0
  425. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +8 -0
  426. package/Microsoft.ReactNative/ReactPointerEventArgs.h +4 -0
  427. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +12 -0
  428. package/Microsoft.ReactNative/SchedulerSettings.cpp +23 -0
  429. package/Microsoft.ReactNative/SchedulerSettings.h +9 -1
  430. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
  431. package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
  432. package/Microsoft.ReactNative/Theme.idl +57 -0
  433. package/Microsoft.ReactNative/Timer.cpp +63 -0
  434. package/Microsoft.ReactNative/{CoreAppPage.h → Timer.h} +12 -5
  435. package/Microsoft.ReactNative/Timer.idl +34 -0
  436. package/Microsoft.ReactNative/TurboModulesProvider.cpp +4 -0
  437. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +37 -3
  438. package/Microsoft.ReactNative/Utils/ImageUtils.h +0 -1
  439. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +11 -12
  440. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +3 -3
  441. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
  442. package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
  443. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -5
  444. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -3
  445. package/Microsoft.ReactNative/ViewProps.idl +17 -0
  446. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +1 -0
  447. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
  448. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
  449. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -20
  450. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +157 -0
  451. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +5 -0
  452. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +20 -0
  453. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +4 -0
  454. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -5
  455. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +137 -0
  456. package/Microsoft.ReactNative/Views/ICompositionRootView.h +0 -1
  457. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -5
  458. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -5
  459. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +11 -0
  460. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -4
  461. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -6
  462. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -11
  463. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  464. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
  465. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
  466. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +46 -0
  467. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  468. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +77 -2
  469. package/Microsoft.ReactNative/microsoft.reactnative.def +0 -3
  470. package/Microsoft.ReactNative/packages.lock.json +9 -6
  471. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/AutoDraw.h +2 -0
  472. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/CompositionSwitcher.interop.h +4 -10
  473. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -5
  474. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +5 -0
  475. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +19 -10
  476. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +2 -0
  477. package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
  478. package/Microsoft.ReactNative.Cxx/JSValueReader.h +19 -0
  479. package/Microsoft.ReactNative.Cxx/JSValueXaml.h +1 -1
  480. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +6 -4
  481. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +0 -1
  482. package/Microsoft.ReactNative.Cxx/NativeModules.h +15 -15
  483. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +1 -1
  484. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  485. package/Microsoft.ReactNative.Managed/packages.lock.json +6 -3
  486. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +0 -1
  487. package/Mso/future/details/executor.h +1 -1
  488. package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
  489. package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +8 -0
  490. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
  491. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
  492. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +1 -1
  493. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +2 -0
  494. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  495. package/PropertySheets/JSEngine.props +0 -8
  496. package/PropertySheets/React.Cpp.props +14 -3
  497. package/PropertySheets/ReactCommunity.cpp.props +2 -2
  498. package/PropertySheets/Release.props +0 -1
  499. package/PropertySheets/WinUI.props +21 -1
  500. package/PropertySheets/x64.props +3 -0
  501. package/PropertySheets/x86.props +3 -0
  502. package/ReactCommon/ReactCommon.vcxproj +13 -8
  503. package/ReactCommon/ReactCommon.vcxproj.filters +12 -1
  504. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +114 -19
  505. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
  506. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +114 -52
  507. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +13 -15
  508. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
  509. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +437 -0
  510. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
  511. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
  512. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +19 -24
  513. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +600 -980
  514. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +5 -11
  515. package/ReactCommon/cgmanifest.json +1 -1
  516. package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
  517. package/Scripts/IntegrationTests.ps1 +26 -15
  518. package/Scripts/Microsoft.ReactNative.targets +0 -6
  519. package/Scripts/OfficeReact.Win32.nuspec +1 -2
  520. package/Scripts/TestServers.ps1 +2 -28
  521. package/Scripts/Tfs/Start-TestServers.ps1 +1 -21
  522. package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
  523. package/Scripts/rnw-dependencies.ps1 +38 -67
  524. package/Shared/CreateInstance.h +25 -0
  525. package/Shared/DevServerHelper.h +0 -3
  526. package/Shared/DevSettings.h +9 -0
  527. package/Shared/HermesRuntimeHolder.cpp +17 -0
  528. package/Shared/HermesRuntimeHolder.h +17 -0
  529. package/Shared/HermesSamplingProfiler.cpp +12 -10
  530. package/Shared/HermesSamplingProfiler.h +5 -4
  531. package/Shared/IDevSupportManager.h +4 -2
  532. package/Shared/InstanceManager.cpp +13 -11
  533. package/Shared/InstanceManager.h +8 -18
  534. package/Shared/JSI/ChakraRuntime.cpp +66 -9
  535. package/Shared/JSI/ChakraRuntime.h +8 -0
  536. package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
  537. package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
  538. package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
  539. package/Shared/Modules/BlobModule.h +1 -1
  540. package/Shared/Modules/FileReaderModule.h +1 -1
  541. package/Shared/Modules/HttpModule.h +1 -1
  542. package/Shared/Modules/WebSocketTurboModule.h +1 -1
  543. package/Shared/OInstance.cpp +212 -165
  544. package/Shared/OInstance.h +19 -0
  545. package/Shared/Shared.vcxitems +134 -50
  546. package/Shared/Shared.vcxitems.filters +81 -24
  547. package/Shared/Utils.cpp +12 -10
  548. package/Shared/Utils.h +2 -2
  549. package/Shared/WebSocketJSExecutorFactory.h +1 -0
  550. package/codegen/NativeBugReportingSpec.g.h +0 -6
  551. package/codegen/NativeFrameRateLoggerSpec.g.h +0 -2
  552. package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -23
  553. package/codegen/NativePerformanceObserverSpec.g.h +6 -0
  554. package/codegen/NativePlatformConstantsIOSSpec.g.h +2 -0
  555. package/codegen/NativePlatformConstantsWinSpec.g.h +17 -0
  556. package/codegen/NativePushNotificationManagerIOSSpec.g.h +8 -6
  557. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +88 -0
  558. package/codegen/NativeUIManagerSpec.g.h +83 -95
  559. package/codegen/react/components/rnwcore/ComponentDescriptors.h +10 -7
  560. package/codegen/react/components/rnwcore/EventEmitters.cpp +40 -52
  561. package/codegen/react/components/rnwcore/EventEmitters.h +66 -84
  562. package/codegen/react/components/rnwcore/Props.cpp +60 -95
  563. package/codegen/react/components/rnwcore/Props.h +198 -239
  564. package/codegen/react/components/rnwcore/ShadowNodes.cpp +6 -7
  565. package/codegen/react/components/rnwcore/ShadowNodes.h +38 -29
  566. package/codegen/react/components/rnwcore/States.cpp +3 -5
  567. package/codegen/react/components/rnwcore/States.h +29 -16
  568. package/codegen/rnwcoreJSI-generated.cpp +1442 -1398
  569. package/codegen/rnwcoreJSI.h +6066 -3593
  570. package/index.js +66 -99
  571. package/index.windows.js +60 -102
  572. package/jest/assetFileTransformer.js +1 -1
  573. package/jest/local-setup.js +0 -5
  574. package/jest/mockModal.js +2 -1
  575. package/jest/mockScrollView.js +1 -2
  576. package/jest/renderer.js +1 -1
  577. package/jest/setup.js +6 -3
  578. package/just-task.js +1 -1
  579. package/package.json +30 -29
  580. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  581. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  582. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  583. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  584. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  585. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  586. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  587. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  588. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  589. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  590. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  591. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  592. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  593. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  594. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  595. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  596. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  597. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  598. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  599. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  600. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  601. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  602. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  603. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  604. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  605. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  606. package/src/private/specs/modules/NativeAppState.js +33 -0
  607. package/src/private/specs/modules/NativeAppTheme.js +33 -0
  608. package/src/private/specs/modules/NativeAppearance.js +36 -0
  609. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  610. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  611. package/src/private/specs/modules/NativeClipboard.js +21 -0
  612. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  613. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  614. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  615. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  616. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  617. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  618. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  619. package/{Libraries/Alert → src/private/specs/modules}/NativeDialogManagerWindows.js +5 -4
  620. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  621. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  622. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  623. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  624. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  625. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  626. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  627. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  628. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  629. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  630. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  631. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  632. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  633. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  634. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  635. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  636. package/src/private/specs/modules/NativeLogBox.js +20 -0
  637. package/src/private/specs/modules/NativeModalManager.js +21 -0
  638. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  639. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  640. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  641. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  642. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  643. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  644. package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
  645. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  646. package/src/private/specs/modules/NativeRedBox.js +20 -0
  647. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  648. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  649. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  650. package/src/private/specs/modules/NativeShareModule.js +23 -0
  651. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  652. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  653. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  654. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  655. package/src/private/specs/modules/NativeTiming.js +26 -0
  656. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  657. package/src/private/specs/modules/NativeUIManager.js +118 -0
  658. package/src/private/specs/modules/NativeVibration.js +24 -0
  659. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  660. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  661. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  662. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  663. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  664. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  665. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  666. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  667. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  668. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  669. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  670. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  671. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  672. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  673. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  674. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  675. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  676. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  677. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  678. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  679. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  680. package/template/cpp-app/src/App.cpp +2 -2
  681. package/template/cs-app/src/App.xaml.cs +2 -2
  682. package/templates/cpp-app/jest.config.windows.js +3 -0
  683. package/templates/cpp-app/metro.config.js +0 -2
  684. package/templates/cpp-app/template.config.js +24 -9
  685. package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -1
  686. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
  687. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
  688. package/templates/cpp-app/windows/MyApp/MyApp.cpp +134 -249
  689. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +12 -11
  690. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +6 -3
  691. package/templates/cpp-app/windows/MyApp/pch.h +12 -9
  692. package/templates/cpp-app/windows/MyApp/resource.h +0 -1
  693. package/templates/cpp-app/windows/MyApp.sln +26 -26
  694. package/templates/cpp-lib/example/metro.config.js +74 -0
  695. package/templates/cpp-lib/template.config.js +235 -0
  696. package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
  697. package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
  698. package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
  699. package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
  700. package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
  701. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
  702. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
  703. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
  704. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
  705. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
  706. package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
  707. package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
  708. package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
  709. package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
  710. package/templates/cpp-lib/windows/MyLib.sln +156 -0
  711. package/templates/cpp-lib/windows/_gitignore +41 -0
  712. package/templates/templateUtils.js +137 -0
  713. package/types/modules/globals.d.ts +1 -0
  714. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +0 -1016
  715. package/Libraries/Components/Button.flow.js +0 -265
  716. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
  717. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -14
  718. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -34
  719. package/Libraries/Components/ScrollView/ScrollView.windows.js +0 -1941
  720. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  721. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -45
  722. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  723. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  724. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  725. package/Libraries/Image/Image.flow.js +0 -64
  726. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  727. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  728. package/Libraries/Settings/Settings.windows.js +0 -28
  729. package/Microsoft.ReactNative/CoreApp.cpp +0 -303
  730. package/Microsoft.ReactNative/CoreAppPage.cpp +0 -21
  731. package/Microsoft.ReactNative/CoreAppPage.idl +0 -12
  732. package/Microsoft.ReactNative/CoreAppPage.xaml +0 -14
  733. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +0 -197
  734. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +0 -84
  735. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/EventEmitters.h +0 -5
  736. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/Props.h +0 -5
  737. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/ShadowNodes.h +0 -5
  738. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +0 -5
  739. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +0 -245
  740. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +0 -134
  741. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +0 -27
  742. package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -229
  743. package/Microsoft.ReactNative/Modules/TimingModule.h +0 -88
  744. package/Microsoft.ReactNative.Cxx/CoreApp.h +0 -60
  745. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +0 -60
  746. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +0 -60
  747. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +0 -63
  748. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +0 -1038
  749. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +0 -503
  750. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -895
  751. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -182
  752. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +0 -543
  753. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +0 -1505
  754. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +0 -67
  755. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -93
  756. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -88
  757. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -606
  758. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +0 -344
  759. package/ReactCommon/Yoga.cpp +0 -961
  760. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  761. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  762. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  763. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  764. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  765. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  766. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  767. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  768. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  769. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  770. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  771. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
@@ -17,25 +17,19 @@ namespace facebook::yoga {
17
17
 
18
18
  enum class ExperimentalFeature : uint8_t {
19
19
  WebFlexBasis = YGExperimentalFeatureWebFlexBasis,
20
- AbsolutePercentageAgainstPaddingEdge = YGExperimentalFeatureAbsolutePercentageAgainstPaddingEdge,
21
20
  CallMeasureCallbackOnAllNodes = YGExperimentalFeatureCallMeasureCallbackOnAllNodes, // Used just for NetUI - Keep at end of list
22
21
  };
23
22
 
24
23
  template <>
25
- constexpr inline int32_t ordinalCount<ExperimentalFeature>() {
26
- return 3; // This should be +1 from core due to CallMeasureCallbackOnAllNodes
27
- }
28
-
29
- template <>
30
- constexpr inline int32_t bitCount<ExperimentalFeature>() {
31
- return 2; // Depending on the number of ExperimentalFeature's this will either match core, or be core+1
32
- }
24
+ constexpr int32_t ordinalCount<ExperimentalFeature>() {
25
+ return 2;
26
+ }
33
27
 
34
- constexpr inline ExperimentalFeature scopedEnum(YGExperimentalFeature unscoped) {
28
+ constexpr ExperimentalFeature scopedEnum(YGExperimentalFeature unscoped) {
35
29
  return static_cast<ExperimentalFeature>(unscoped);
36
30
  }
37
31
 
38
- constexpr inline YGExperimentalFeature unscopedEnum(ExperimentalFeature scoped) {
32
+ constexpr YGExperimentalFeature unscopedEnum(ExperimentalFeature scoped) {
39
33
  return static_cast<YGExperimentalFeature>(scoped);
40
34
  }
41
35
 
@@ -6,7 +6,7 @@
6
6
  "Type": "git",
7
7
  "Git": {
8
8
  "RepositoryUrl": "https://github.com/microsoft/node-api-jsi",
9
- "CommitHash": "53b897b03c1c7e57c3372acc6234447a44e150d6"
9
+ "CommitHash": "83cfef428a97627c9185c73da097e42742de56eb"
10
10
  }
11
11
  },
12
12
  "DevelopmentDependency": false
@@ -0,0 +1,21 @@
1
+ param(
2
+ )
3
+
4
+ [string] $RepoRoot = Resolve-Path "$PSScriptRoot\..\.."
5
+
6
+ $StartingLocation = Get-Location
7
+ Set-Location -Path $RepoRoot
8
+
9
+ try
10
+ {
11
+ [xml] $nugetConfig = Get-Content "NuGet.Config"
12
+ $newFeed = $nugetConfig.configuration.packageSources.add.clone()
13
+ $newFeed.key = "Project.Reunion.nuget.internal";
14
+ $newFeed.value = "https://microsoft.pkgs.visualstudio.com/ProjectReunion/_packaging/Project.Reunion.nuget.internal/nuget/v3/index.json";
15
+ $nugetConfig.configuration.packageSources.AppendChild($newFeed)
16
+ $nugetConfig.Save("NuGet.Config")
17
+ }
18
+ finally
19
+ {
20
+ Set-Location -Path "$StartingLocation"
21
+ }
@@ -30,16 +30,15 @@ param (
30
30
 
31
31
  [switch] $NoRun,
32
32
 
33
- [switch] $UseNodeWsServer,
34
-
35
33
  [switch] $List,
36
34
 
37
- [System.IO.FileInfo] $VsTest = "${env:ProgramFiles}\Microsoft Visual Studio\2022\Enterprise\" +
38
- "Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe",
35
+ [System.IO.FileInfo] $VsTest =
36
+ "$(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath)\" +
37
+ "Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe",
39
38
 
40
39
  [System.IO.DirectoryInfo] $ReactNativeLocation = "$($PSScriptRoot | Split-Path)",
41
40
 
42
- [System.IO.FileInfo] $NodePath = (Get-Command node.exe).Definition,
41
+ [System.IO.FileInfo] $DotNetPath = (Get-Command dotnet.exe).Definition,
43
42
 
44
43
  [System.IO.FileInfo] $NpmPath = (Get-Command npm.cmd).Definition
45
44
  )
@@ -59,9 +58,7 @@ if ($List) {
59
58
  # Ensure test services are online.
60
59
  if (! $NoServers) {
61
60
  $packager = Find-Packager
62
- if ($UseNodeWsServer.IsPresent) {
63
- $wsServer = Find-WebSocketServer
64
- }
61
+ $webSite = Find-TestWebsiteServer
65
62
  $notFound = $false
66
63
 
67
64
  if (!$packager) {
@@ -72,17 +69,26 @@ if (! $NoServers) {
72
69
  Write-Host 'Found Packager.'
73
70
  }
74
71
 
75
- if (!$wsServer -and $UseNodeWsServer.IsPresent) {
76
- Write-Warning 'WebSocket server not found. Attempting to start...'
77
- Start-WebSocketServer -ReactNativeLocation $ReactNativeLocation -NodePath $NodePath
72
+ if (!$webSite) {
73
+ Start-Process `
74
+ -FilePath $DotNetPath `
75
+ -PassThru `
76
+ -ArgumentList `
77
+ run,
78
+ --project,
79
+ $ReactNativeLocation\TestWebSite\Microsoft.ReactNative.Test.Website.csproj
80
+
78
81
  $notFound = $true
79
- } elseif ($UseNodeWsServer.IsPresent) {
80
- Write-Host 'Found WebSocket server.'
82
+ } else {
83
+ Write-Host 'Found Test Website Server'
81
84
  }
82
85
 
83
86
  if ($Preload -and $notFound) {
84
87
  Start-Sleep -Seconds $Delay
85
88
 
89
+ # Ensure test website responds to default HTTP GET request.
90
+ Invoke-WebRequest -Uri 'http://localhost:5555'
91
+
86
92
  # Preload the RNTesterApp integration bundle for better performance in integration tests.
87
93
  Invoke-WebRequest -UseBasicParsing -Uri "http://localhost:8081/IntegrationTests/IntegrationTestsApp.bundle?platform=windows&dev=true" | Out-Null
88
94
  }
@@ -92,8 +98,9 @@ if ($NoRun) {
92
98
  Exit
93
99
  }
94
100
 
101
+ $filter = ''
95
102
  if ($Include.Count) {
96
- $filter = "(FullyQualifiedName~" + ($Include -join ')&(FullyQualifiedName~') + ")"
103
+ $filter += "(FullyQualifiedName~" + ($Include -join ')&(FullyQualifiedName~') + ")"
97
104
  }
98
105
 
99
106
  if ($Exclude.Count) {
@@ -101,4 +108,8 @@ if ($Exclude.Count) {
101
108
  }
102
109
 
103
110
  # Run Integration Test assemblies.
104
- & $VsTest $Assemblies --InIsolation --Platform:$Platform ('', "--TestCaseFilter:$filter")[$filter.Length -gt 0]
111
+ if ($filter.Length -gt 0) {
112
+ & $VsTest $Assemblies --InIsolation --Platform:$Platform "--TestCaseFilter:$filter"
113
+ } else {
114
+ & $VsTest $Assemblies --InIsolation --Platform:$Platform
115
+ }
@@ -19,10 +19,4 @@
19
19
 
20
20
  </ItemGroup>
21
21
 
22
- <ItemDefinitionGroup Condition="'$(UseRNCoreApp)'=='true'">
23
- <Link>
24
- <AdditionalDependencies>$(MSBuildThisFileDirectory)..\..\lib\$(Native-Platform)\Microsoft.ReactNative.lib;%(AdditionalDependencies)</AdditionalDependencies>
25
- </Link>
26
- </ItemDefinitionGroup>
27
-
28
22
  </Project>
@@ -46,11 +46,10 @@
46
46
  <file src="$nugetroot$\inc\stubs\**\*.*" target="inc" />
47
47
 
48
48
  <file src="$nugetroot$\inc\Shared\AbiSafe.h" target="inc"/>
49
- <file src="$nugetroot$\inc\Shared\Composition\AutoDraw.h" target="inc"/>
50
- <file src="$nugetroot$\inc\Shared\Composition\CompositionSwitcher.interop.h" target="inc"/>
51
49
  <file src="$nugetroot$\inc\Shared\DevSettings.h" target="inc"/>
52
50
  <file src="$nugetroot$\inc\ReactWin32\INativeUIManagerLegacy.h" target="inc"/>
53
51
  <file src="$nugetroot$\inc\Shared\InstanceManager.h" target="inc"/>
52
+ <file src="$nugetroot$\inc\Shared\IDevSupportManager.h" target="inc"/>
54
53
  <file src="$nugetroot$\inc\Shared\IReactRootView.h" target="inc"/>
55
54
  <file src="$nugetroot$\inc\Shared\IRedBoxHandler.h" target="inc"/>
56
55
  <file src="$nugetroot$\inc\Shared\JSBigAbiString.h" target="inc"/>
@@ -61,24 +61,6 @@ function Start-Packager {
61
61
  return Start-Npm -WorkingDirectory $ReactNativeLocation -NoNewWindow:$NoNewWindow -NpmPath $NpmPath
62
62
  }
63
63
 
64
- function Start-WebSocketServer {
65
- param (
66
- [Parameter(Mandatory=$true)]
67
- [ValidateScript({Test-Path $_})]
68
- [string] $ReactNativeLocation,
69
-
70
- [switch] $NoNewWindow,
71
-
72
- [Parameter(Mandatory=$true)]
73
- [ValidateScript({Test-Path $_})]
74
- [string] $NodePath
75
- )
76
-
77
- return Start-Node -ScriptPath $ReactNativeLocation\IntegrationTests\websocket_integration_test_server.js `
78
- -NoNewWindow:$NoNewWindow `
79
- -NodePath $NodePath
80
- }
81
-
82
64
  function Find-Packager {
83
65
  try {
84
66
  return Get-Process -Id (Get-NetTCPConnection -ErrorAction Ignore -LocalPort 8081).OwningProcess
@@ -88,23 +70,15 @@ function Find-Packager {
88
70
  }
89
71
  }
90
72
 
91
- function Find-WebSocketServer {
73
+ function Find-TestWebsiteServer {
92
74
  try {
93
- return Get-Process -Id (Get-NetTCPConnection -ErrorAction Ignore -LocalPort 5555).OwningProcess
75
+ return Get-Process -id (Get-NetTCPConnection -ErrorAction Ignore -LocalPort 5555).OwningProcess
94
76
  }
95
77
  catch {
96
78
  return $null
97
79
  }
98
80
  }
99
81
 
100
- function Stop-WebSocketServer {
101
- $proc = Find-WebSocketServer
102
-
103
- if ($proc) {
104
- Stop-Process $proc
105
- }
106
- }
107
-
108
82
  function Stop-Packager {
109
83
  $proc = Find-Packager
110
84
 
@@ -9,9 +9,7 @@ param (
9
9
 
10
10
  [switch] $Preload,
11
11
 
12
- [int] $SleepSeconds = 10,
13
-
14
- [switch] $UseNodeWsServer
12
+ [int] $SleepSeconds = 10
15
13
  )
16
14
 
17
15
  Write-Host "Starting packager"
@@ -26,17 +24,6 @@ Start-Process npm -PassThru `
26
24
 
27
25
  Write-Host 'Started packager'
28
26
 
29
- if ($UseNodeWsServer.IsPresent) {
30
- Write-Host 'Starting WebSocket server'
31
-
32
- Start-Process -PassThru `
33
- -FilePath (Get-Command node.exe).Definition `
34
- -ArgumentList "${SourcesDirectory}\IntegrationTests\websocket_integration_test_server.js" `
35
- -OutVariable wsProc
36
-
37
- Write-Host 'Started WebSocket server'
38
- }
39
-
40
27
  if ($Preload) {
41
28
  Write-Host 'Preloading bundles'
42
29
 
@@ -50,10 +37,3 @@ if ($Preload) {
50
37
 
51
38
  # Use the environment variables input below to pass secret variables to this script.
52
39
  Write-Host "##vso[task.setvariable variable=PackagerId;]$($packagerProc.Id)"
53
-
54
- if ($UseNodeWsServer.IsPresent) {
55
- Write-Host "##vso[task.setvariable variable=WebSocketServerId;]$($wsProc.Id)"
56
- return ($packagerProc, $wsProc)
57
- } else {
58
- return ($packagerProc)
59
- }
@@ -4,14 +4,9 @@
4
4
  # Stop-TestServers.ps1
5
5
  #
6
6
  param (
7
- $WebSocketServerId = $env:WebSocketServerId,
8
7
  $PackagerId = $env:PackagerId
9
8
  )
10
9
 
11
- Write-Host 'Stopping WebSocket server'
12
- Stop-Process -Id $WebSocketServerId
13
- Write-Host 'Stopped WebSocket server'
14
-
15
10
  Write-Host 'Stopping packager'
16
11
  Stop-Process -Id $PackagerId
17
12
  Write-Host 'Stopped packager'
@@ -22,8 +22,6 @@ if ($ShellInvocation) {
22
22
  enum CheckId {
23
23
  All
24
24
  AzureFunctions
25
- Choco
26
- Chrome
27
25
  DeveloperMode
28
26
  DotNetCore
29
27
  FreeSpace
@@ -74,6 +72,11 @@ if (!($tagsToInclude.Contains('buildLab'))) {
74
72
  $vsComponents += 'Microsoft.VisualStudio.ComponentGroup.UWP.VC';
75
73
  }
76
74
 
75
+ # Windows11SDK is only needed for the more experimental composition projects using newer WinAppSDK versions
76
+ if ($tagsToInclude.Contains('rnwDev')) {
77
+ $vsComponents += 'Microsoft.VisualStudio.Component.Windows11SDK.22000';
78
+ }
79
+
77
80
  $vsWorkloads = @('Microsoft.VisualStudio.Workload.ManagedDesktop',
78
81
  'Microsoft.VisualStudio.Workload.NativeDesktop',
79
82
  'Microsoft.VisualStudio.Workload.Universal');
@@ -81,12 +84,13 @@ $vsWorkloads = @('Microsoft.VisualStudio.Workload.ManagedDesktop',
81
84
  $vsAll = ($vsComponents + $vsWorkloads);
82
85
 
83
86
  # The minimum VS version to check for
84
- # Note: For install to work, whatever min version you specify here must be met by the current package available on choco.
85
- # I.E. Do NOT specify a Preview version here because choco doesn't have VS Preview packages.
86
- $vsver = "17.3";
87
+ # Note: For install to work, whatever min version you specify here must be met by the current package available on winget.
88
+ $vsver = "17.9";
87
89
 
88
90
  # The exact .NET SDK version to check for
89
91
  $dotnetver = "6.0";
92
+ # Version name of the winget package
93
+ $wingetDotNetVer = "6";
90
94
 
91
95
  $v = [System.Environment]::OSVersion.Version;
92
96
  if ($env:Agent_BuildDirectory) {
@@ -184,7 +188,7 @@ function GetVSChannelAndProduct {
184
188
  [string]$VsWhere
185
189
  )
186
190
 
187
- if ($VsWhere -ne $null) {
191
+ if ($VsWhere) {
188
192
  $channelId = & $VsWhere -version $vsver -property channelId;
189
193
  $productId = & $VsWhere -version $vsver -property productId;
190
194
 
@@ -208,13 +212,11 @@ function InstallVS {
208
212
  if (($vsWhere -eq $null) -or ($channelId -eq $null) -or ($productId -eq $null)) {
209
213
  # No VSWhere / VS_Installer, try to install
210
214
 
211
- EnsureChocoForInstall;
212
-
213
215
  if ($Enterprise) {
214
216
  # The CI machines need the enterprise version of VS as that is what is hardcoded in all the scripts
215
- ChocoInstall visualstudio2022enterprise;
217
+ WinGetInstall Microsoft.VisualStudio.2022.Enterprise
216
218
  } else {
217
- ChocoInstall visualstudio2022community;
219
+ WinGetInstall Microsoft.VisualStudio.2022.Community
218
220
  }
219
221
 
220
222
  $vsWhere = Get-VSWhere;
@@ -423,8 +425,7 @@ $requirements = @(
423
425
  Name = 'Git';
424
426
  Tags = @('rnwDev');
425
427
  Valid = { try { (Get-Command git.exe -ErrorAction Stop) -ne $null } catch { $false }; }
426
- Install = { ChocoInstall git };
427
- InstallsWithChoco = $true;
428
+ Install = { WinGetInstall Microsoft.Git };
428
429
  },
429
430
  @{
430
431
  Id=[CheckId]::VSUWP;
@@ -439,8 +440,7 @@ $requirements = @(
439
440
  Name = 'Node.js (LTS, >= 18.0)';
440
441
  Tags = @('appDev');
441
442
  Valid = { CheckNode; }
442
- Install = { ChocoInstall nodejs-lts };
443
- InstallsWithChoco = $true;
443
+ Install = { WinGetInstall OpenJS.NodeJS.LTS "18.16.1" };
444
444
  HasVerboseOutput = $true;
445
445
  },
446
446
  @{
@@ -448,8 +448,7 @@ $requirements = @(
448
448
  Name = 'Yarn';
449
449
  Tags = @('appDev');
450
450
  Valid = { CheckYarn }
451
- Install = { ChocoInstall yarn };
452
- InstallsWithChoco = $true;
451
+ Install = { WinGetInstall Yarn.Yarn };
453
452
  HasVerboseOutput = $true;
454
453
  },
455
454
  @{
@@ -473,12 +472,11 @@ $requirements = @(
473
472
  Tags = @('rnwDev');
474
473
  Valid = { ( cmd "/c assoc .binlog 2>nul" ) -ne $null; }
475
474
  Install = {
476
- ChocoInstall msbuild-structured-log-viewer;
475
+ WinGetInstall KirillOsenkov.MSBuildStructuredLogViewer;
477
476
  $slv = gci ${env:LocalAppData}\MSBuildStructuredLogViewer\StructuredLogViewer.exe -Recurse | select FullName | Sort-Object -Property FullName -Descending | Select-Object -First 1
478
477
  cmd /c "assoc .binlog=MSBuildLog >nul";
479
478
  cmd /c "ftype MSBuildLog=$($slv.FullName) %1 >nul";
480
479
  };
481
- InstallsWithChoco = $true;
482
480
  Optional = $true;
483
481
  },
484
482
  @{
@@ -487,8 +485,7 @@ $requirements = @(
487
485
  Name = 'Windows ADK';
488
486
  Tags = @('buildLab');
489
487
  Valid = { (Test-Path "${env:ProgramFiles(x86)}\Windows Kits\10\Windows Performance Toolkit\wpr.exe"); };
490
- Install = { ChocoInstall windows-adk };
491
- InstallsWithChoco = $true;
488
+ Install = { WinGetInstall Microsoft.WindowsADK };
492
489
  Optional = $true;
493
490
  },
494
491
  @{
@@ -515,63 +512,41 @@ $requirements = @(
515
512
  Name = ".NET SDK (LTS, = $dotnetver)";
516
513
  Tags = @('appDev');
517
514
  Valid = { CheckDotNetCore; };
518
- Install = { ChocoInstall dotnet-$dotnetver-sdk };
519
- InstallsWithChoco = $true;
515
+ Install = { WinGetInstall Microsoft.DotNet.SDK.$wingetDotNetVer };
520
516
  HasVerboseOutput = $true;
521
517
  }
522
518
  );
523
519
 
524
- $ChocoCmd = ""; # This should get set when EnsureChocoForInstall is called
525
-
526
- function EnsureChocoForInstall {
527
- Write-Verbose "Checking for Chocolatey...";
520
+ function EnsureWinGetForInstall {
521
+ Write-Verbose "Checking for WinGet...";
528
522
  try {
529
- # Check if choco.exe is in PATH
530
- if (Get-Command "choco.exe" -CommandType Application -ErrorAction Ignore) {
531
- Set-Variable -Name "ChocoCmd" -Value "choco.exe" -Scope Script
532
- Write-Verbose "Chocolatey found in PATH.";
523
+ # Check if winget.exe is in PATH
524
+ if (Get-Command "winget.exe" -CommandType Application -ErrorAction Ignore) {
525
+ Write-Verbose "WinGet found in PATH.";
533
526
  return;
534
527
  }
535
-
536
- # Check for choco.exe in usual install location (taken from https://chocolatey.org/install.ps1)
537
- $checkPath = if ($env:ChocolateyInstall) { $env:ChocolateyInstall } else { "$env:PROGRAMDATA\chocolatey" }
538
-
539
- $FullPath = Join-Path $checkPath "bin\choco.exe";
540
-
541
- if (Test-Path $FullPath) {
542
- Set-Variable -Name "ChocoCmd" -Value $FullPath -Scope Script
543
- Write-Verbose "Chocolatey found at $ChocoCmd.";
544
- return;
545
- }
546
-
547
528
  } catch { Write-Debug $_ }
548
529
 
549
- Write-Verbose "Chocolatey not found.";
550
-
551
- if (!$NoPrompt -and (Read-Host "This script uses Chocolatey to install this component. Do you want to install Chocolatey? [y/N]").ToUpperInvariant() -eq 'Y') {
552
- Write-Host "Installing Chocolatey...";
553
- [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
554
- iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'));
555
- EnsureChocoForInstall;
556
- return;
557
- }
558
-
559
- throw "Chocolatey needed to install.";
530
+ Write-Host "WinGet is required to install dependencies. See https://learn.microsoft.com/en-us/windows/package-manager/winget/ for more information.";
531
+ throw "WinGet needed to install.";
560
532
  }
561
533
 
562
- function ChocoInstall {
534
+ function WinGetInstall {
563
535
  param(
564
- [string]$ChocoPackage
536
+ [string]$wingetPackage,
537
+ [string]$packageVersion = ""
565
538
  )
566
539
 
567
- if ($ChocoCmd -eq "") {
568
- throw "`$ChocoCmd is not set, did you call EnsureChocoForInstall?";
540
+ EnsureWinGetForInstall;
541
+ if ($packageVersion -ne "") {
542
+ Write-Verbose "Executing `winget install `"$wingetPackage`" --version `"$packageVersion`"";
543
+ & winget install "$wingetPackage" --version "$packageVersion" --accept-source-agreements --accept-package-agreements
544
+ } else {
545
+ Write-Verbose "Executing `winget install `"$wingetPackage`"";
546
+ & winget install "$wingetPackage" --accept-source-agreements --accept-package-agreements
569
547
  }
570
-
571
- Write-Verbose "Executing `"$ChocoCmd`" install -y `"$ChocoPackage`"";
572
- & "$ChocoCmd" install -y "$ChocoPackage"
573
- }
574
-
548
+ }
549
+
575
550
  function IsElevated {
576
551
  return [bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544");
577
552
  }
@@ -652,10 +627,6 @@ foreach ($req in $filteredRequirements)
652
627
  if ($req.Install) {
653
628
  if ($Install -or (!$NoPrompt -and (Read-Host "Do you want to install? [y/N]").ToUpperInvariant() -eq 'Y')) {
654
629
  try {
655
- if ($req.InstallsWithChoco) {
656
- EnsureChocoForInstall;
657
- }
658
-
659
630
  $LASTEXITCODE = 0;
660
631
  $outputFromInstall = Invoke-Command $req.Install -ErrorAction Stop;
661
632
 
@@ -697,4 +668,4 @@ if ($NeedsRerun -ne 0) {
697
668
  $Tags | Out-File $MarkerFile;
698
669
  if (!$ShellInvocation) { Read-Host 'Press Enter to exit' }
699
670
  exit 0;
700
- }
671
+ }
@@ -0,0 +1,25 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #include <InstanceManager.h>
7
+ #include <winrt/Microsoft.ReactNative.h>
8
+
9
+ namespace facebook::react {
10
+
11
+ std::shared_ptr<InstanceWrapper> CreateReactInstance(
12
+ std::shared_ptr<Instance> &&instance,
13
+ std::string &&jsBundleRelativePath,
14
+ std::vector<
15
+ std::tuple<std::string, facebook::xplat::module::CxxModule::Provider, std::shared_ptr<MessageQueueThread>>>
16
+ &&cxxModules,
17
+ std::shared_ptr<TurboModuleRegistry> turboModuleRegistry,
18
+ std::shared_ptr<facebook::react::LongLivedObjectCollection> longLivedObjectCollection,
19
+ const winrt::Microsoft::ReactNative::IReactPropertyBag &propertyBag,
20
+ std::unique_ptr<InstanceCallback> &&callback,
21
+ std::shared_ptr<MessageQueueThread> jsQueue,
22
+ std::shared_ptr<MessageQueueThread> nativeQueue,
23
+ std::shared_ptr<DevSettings> devSettings) noexcept;
24
+
25
+ } // namespace facebook::react
@@ -8,9 +8,6 @@
8
8
  namespace facebook {
9
9
  namespace react {
10
10
 
11
- using JSECreator =
12
- std::function<std::unique_ptr<JSExecutor>(std::shared_ptr<ExecutorDelegate>, std::shared_ptr<MessageQueueThread>)>;
13
-
14
11
  class DevServerHelper {
15
12
  public:
16
13
  DevServerHelper() = default;
@@ -2,6 +2,8 @@
2
2
  // Licensed under the MIT License.
3
3
 
4
4
  #pragma once
5
+
6
+ #include "JSI/JSExecutorFactoryDelegate.h"
5
7
  #include "Logging.h"
6
8
 
7
9
  #include <IRedBoxHandler.h>
@@ -86,6 +88,10 @@ struct DevSettings {
86
88
  /// reentrancy.
87
89
  std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> jsiRuntimeHolder;
88
90
 
91
+ /// A function that can be called with the current Instance to get
92
+ /// a JSExecutorFactory. This can be used to bypass the ABI JSI.
93
+ JSExecutorFactoryDelegate jsExecutorFactoryDelegate{nullptr};
94
+
89
95
  // Until the ABI story is addressed we'll use this instead of the above for
90
96
  // the purposes of selecting a JSI Runtime to use.
91
97
  JSIEngineOverride jsiEngineOverride{JSIEngineOverride::Default};
@@ -105,6 +111,9 @@ struct DevSettings {
105
111
 
106
112
  // OC:8368383 - Memory leak under investigation.
107
113
  bool useWebSocketTurboModule{false};
114
+
115
+ // Enable concurrent mode by installing runtimeScheduler
116
+ bool useRuntimeScheduler{false};
108
117
  };
109
118
 
110
119
  } // namespace react
@@ -393,4 +393,21 @@ void HermesRuntimeHolder::removeFromProfiling() const noexcept {
393
393
  CRASH_ON_ERROR(getHermesApi().hermes_sampling_profiler_dump_to_file(fileName.c_str()));
394
394
  }
395
395
 
396
+ HermesJSRuntime::HermesJSRuntime(std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> hermesRuntimeHolder)
397
+ : m_holder(std::move(hermesRuntimeHolder)) {}
398
+
399
+ facebook::jsi::Runtime &HermesJSRuntime::getRuntime() noexcept {
400
+ return *m_holder->getRuntime();
401
+ }
402
+
403
+ std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate> HermesJSRuntime::createAgentDelegate(
404
+ facebook::react::jsinspector_modern::FrontendChannel frontendChannel,
405
+ facebook::react::jsinspector_modern::SessionState &sessionState,
406
+ std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState> previouslyExportedState,
407
+ const facebook::react::jsinspector_modern::ExecutionContextDescription &executionContextDescription) {
408
+ (void)frontendChannel;
409
+ (void)sessionState;
410
+ return nullptr;
411
+ }
412
+
396
413
  } // namespace Microsoft::ReactNative
@@ -8,6 +8,7 @@
8
8
  #include <ReactPropertyBag.h>
9
9
  #include <cxxreact/MessageQueueThread.h>
10
10
  #include <hermes/hermes_api.h>
11
+ #include <react/runtime/JSRuntimeFactory.h>
11
12
 
12
13
  namespace Microsoft::ReactNative {
13
14
 
@@ -52,4 +53,20 @@ class HermesRuntimeHolder : public Microsoft::JSI::RuntimeHolderLazyInit {
52
53
  std::shared_ptr<facebook::jsi::PreparedScriptStore> m_preparedScriptStore;
53
54
  };
54
55
 
56
+ class HermesJSRuntime : public facebook::react::JSRuntime {
57
+ public:
58
+ HermesJSRuntime(std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> hermesRuntimeHolder);
59
+
60
+ facebook::jsi::Runtime &getRuntime() noexcept override;
61
+
62
+ std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate> createAgentDelegate(
63
+ facebook::react::jsinspector_modern::FrontendChannel frontendChannel,
64
+ facebook::react::jsinspector_modern::SessionState &sessionState,
65
+ std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState> previouslyExportedState,
66
+ const facebook::react::jsinspector_modern::ExecutionContextDescription &executionContextDescription) override;
67
+
68
+ private:
69
+ std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> m_holder;
70
+ };
71
+
55
72
  } // namespace Microsoft::ReactNative
@@ -13,8 +13,9 @@
13
13
  #include "ReactPropertyBag.h"
14
14
  #include "Utils.h"
15
15
 
16
- using namespace winrt::Microsoft::ReactNative;
17
16
  using namespace facebook::react;
17
+ using namespace winrt::Microsoft::ReactNative;
18
+ using namespace winrt::Windows::Foundation;
18
19
 
19
20
  namespace Microsoft::ReactNative {
20
21
 
@@ -46,22 +47,23 @@ auto resume_in_dispatcher(const IReactDispatcher &dispatcher) noexcept {
46
47
  return awaitable{dispatcher};
47
48
  }
48
49
 
49
- std::future<std::string> getTraceFilePath() noexcept {
50
- std::string hermesDataPath = co_await Microsoft::React::getApplicationDataPath(L"Hermes");
51
- std::ostringstream os;
50
+ IAsyncOperation<winrt::hstring> getTraceFilePath() noexcept {
51
+ winrt::hstring hermesDataPath = co_await Microsoft::React::getApplicationDataPath(L"Hermes");
52
+ std::wostringstream os;
52
53
  auto now = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch())
53
54
  .count();
54
55
 
55
- os << hermesDataPath << "\\cpu_" << now << ".cpuprofile";
56
- co_return os.str();
56
+ os << hermesDataPath.c_str() << L"\\cpu_" << now << L".cpuprofile";
57
+ // TODO: Use C++ 20 `os.view()` to avoid a copy
58
+ co_return winrt::hstring(os.str());
57
59
  }
58
60
 
59
61
  } // namespace
60
62
 
61
63
  std::atomic_bool HermesSamplingProfiler::s_isStarted{false};
62
- std::string HermesSamplingProfiler::s_lastTraceFilePath;
64
+ winrt::hstring HermesSamplingProfiler::s_lastTraceFilePath;
63
65
 
64
- std::string HermesSamplingProfiler::GetLastTraceFilePath() noexcept {
66
+ winrt::hstring HermesSamplingProfiler::GetLastTraceFilePath() noexcept {
65
67
  return s_lastTraceFilePath;
66
68
  }
67
69
 
@@ -83,7 +85,7 @@ winrt::fire_and_forget HermesSamplingProfiler::Start(
83
85
  co_return;
84
86
  }
85
87
 
86
- std::future<std::string> HermesSamplingProfiler::Stop(
88
+ IAsyncOperation<winrt::hstring> HermesSamplingProfiler::Stop(
87
89
  Mso::CntPtr<Mso::React::IReactContext> const &reactContext) noexcept {
88
90
  bool expectedIsStarted = true;
89
91
  if (s_isStarted.compare_exchange_strong(expectedIsStarted, false)) {
@@ -94,7 +96,7 @@ std::future<std::string> HermesSamplingProfiler::Stop(
94
96
  HermesRuntimeHolder::disableSamplingProfiler();
95
97
 
96
98
  s_lastTraceFilePath = co_await getTraceFilePath();
97
- HermesRuntimeHolder::dumpSampledTraceToFile(s_lastTraceFilePath);
99
+ HermesRuntimeHolder::dumpSampledTraceToFile(winrt::to_string(s_lastTraceFilePath));
98
100
 
99
101
  co_await resume_in_dispatcher(jsDispatcher);
100
102
  std::shared_ptr<HermesRuntimeHolder> hermesRuntimeHolder = HermesRuntimeHolder::loadFrom(propertyBag);