react-native-windows 0.80.1 → 0.81.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 (672) hide show
  1. package/.flowconfig +10 -5
  2. package/Directory.Build.props +1 -1
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  4. package/Libraries/Alert/Alert.js +3 -3
  5. package/Libraries/Alert/Alert.windows.js +5 -2
  6. package/Libraries/Alert/NativeAlertManager.js +1 -0
  7. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  8. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  9. package/Libraries/Alert/RCTAlertManager.js +1 -3
  10. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  11. package/Libraries/Animated/Animated.js +0 -1
  12. package/Libraries/Animated/Animated.js.flow +0 -1
  13. package/Libraries/Animated/AnimatedEvent.js +4 -3
  14. package/Libraries/Animated/AnimatedExports.js +0 -1
  15. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  16. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  17. package/Libraries/Animated/AnimatedMock.js +2 -2
  18. package/Libraries/Animated/Easing.js +1 -1
  19. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  21. package/Libraries/Animated/SpringConfig.js +1 -1
  22. package/Libraries/Animated/animations/Animation.js +10 -2
  23. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  24. package/Libraries/Animated/components/AnimatedText.js +2 -5
  25. package/Libraries/Animated/components/AnimatedView.js +2 -1
  26. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  27. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  28. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  29. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  31. package/Libraries/AppState/NativeAppState.js +1 -0
  32. package/Libraries/AppTheme/AppTheme.js +1 -1
  33. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  34. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  35. package/Libraries/Blob/BlobManager.js +4 -0
  36. package/Libraries/Blob/NativeBlobModule.js +1 -0
  37. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  38. package/Libraries/Blob/URL.js +1 -1
  39. package/Libraries/Blob/URLSearchParams.js +5 -1
  40. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  41. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  42. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  44. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  45. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
  47. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  48. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  49. package/Libraries/Components/Button.js +10 -7
  50. package/Libraries/Components/Button.windows.js +4 -4
  51. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  52. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  53. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  54. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  59. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +1 -1
  60. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  61. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  62. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  63. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  64. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  65. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
  66. package/Libraries/Components/Pressable/Pressable.js +17 -8
  67. package/Libraries/Components/Pressable/Pressable.windows.js +17 -14
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  70. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  71. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  72. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  73. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  74. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  75. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  76. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  77. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  78. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  79. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  80. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  81. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  82. package/Libraries/Components/ScrollView/ScrollView.windows.js +25 -14
  83. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  84. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  85. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  86. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  87. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  88. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  89. package/Libraries/Components/Sound/SoundManager.js +1 -1
  90. package/Libraries/Components/StaticRenderer.js +1 -1
  91. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  92. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  93. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  94. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  95. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  96. package/Libraries/Components/Switch/Switch.js +10 -3
  97. package/Libraries/Components/Switch/Switch.windows.js +10 -3
  98. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  99. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  100. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  101. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  102. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  103. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  104. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -15
  105. package/Libraries/Components/TextInput/TextInput.js +42 -39
  106. package/Libraries/Components/TextInput/TextInput.windows.js +69 -38
  107. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  108. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  109. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -17
  110. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  111. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  112. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  116. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  117. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  118. package/Libraries/Components/Touchable/Position.js +1 -1
  119. package/Libraries/Components/Touchable/Touchable.js +17 -3
  120. package/Libraries/Components/Touchable/Touchable.windows.js +17 -3
  121. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  122. package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -3
  123. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  124. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +14 -5
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +5 -3
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  129. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +10 -5
  130. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  131. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -3
  132. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  133. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  134. package/Libraries/Components/View/View.js +114 -29
  135. package/Libraries/Components/View/View.windows.js +261 -217
  136. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  137. package/Libraries/Components/View/ViewAccessibility.windows.js +1 -8
  138. package/Libraries/Components/View/ViewPropTypes.d.ts +21 -1
  139. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  140. package/Libraries/Components/View/ViewPropTypes.windows.js +9 -1
  141. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  142. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  143. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +49 -7
  144. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  145. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  146. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  147. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  148. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  149. package/Libraries/Core/ExceptionsManager.js +27 -16
  150. package/Libraries/Core/InitializeCore.js +2 -23
  151. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  152. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  153. package/Libraries/Core/ReactNativeVersion.js +3 -2
  154. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  155. package/Libraries/Core/Timers/JSTimers.js +1 -1
  156. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  157. package/Libraries/Core/Timers/immediateShim.js +1 -1
  158. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  159. package/Libraries/Core/checkNativeVersion.js +1 -0
  160. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  161. package/Libraries/Core/setUpReactDevTools.js +21 -4
  162. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  163. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  164. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  165. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  166. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  167. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  168. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  169. package/Libraries/Image/AssetRegistry.js +4 -10
  170. package/Libraries/Image/Image.android.js +113 -107
  171. package/Libraries/Image/Image.ios.js +10 -2
  172. package/Libraries/Image/Image.windows.js +30 -20
  173. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  174. package/Libraries/Image/ImageInjection.js +1 -1
  175. package/Libraries/Image/ImageSource.d.ts +5 -0
  176. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  177. package/Libraries/Image/NativeImageEditor.js +1 -0
  178. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  179. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  180. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  181. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  182. package/Libraries/Image/RelativeImageStub.js +2 -1
  183. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  184. package/Libraries/Image/resolveAssetSource.js +1 -1
  185. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  186. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  187. package/Libraries/Interaction/InteractionManager.js +64 -54
  188. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  189. package/Libraries/Interaction/TaskQueue.js +8 -9
  190. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  191. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  192. package/Libraries/Linking/Linking.js +1 -1
  193. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  194. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  195. package/Libraries/Lists/FlatList.d.ts +9 -5
  196. package/Libraries/Lists/FlatList.js +6 -7
  197. package/Libraries/Lists/SectionList.js +4 -4
  198. package/Libraries/Lists/SectionListModern.js +9 -3
  199. package/Libraries/Lists/VirtualizedList.js +3 -2
  200. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  201. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  202. package/Libraries/LogBox/LogBox.js +72 -99
  203. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  204. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  205. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +2 -1
  206. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  207. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  208. package/Libraries/Modal/Modal.d.ts +8 -2
  209. package/Libraries/Modal/Modal.js +24 -3
  210. package/Libraries/Modal/Modal.windows.js +24 -3
  211. package/Libraries/Modal/NativeModalManager.js +1 -0
  212. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  213. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  214. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  215. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  216. package/Libraries/NativeComponent/BaseViewConfig.windows.js +9 -18
  217. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  218. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  219. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  220. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  221. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  222. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  223. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +1 -0
  224. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  225. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  226. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  227. package/Libraries/Network/FormData.js +1 -1
  228. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  229. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  230. package/Libraries/Network/RCTNetworking.android.js +2 -2
  231. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  232. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  233. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  234. package/Libraries/Network/XMLHttpRequest.js +3 -3
  235. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  236. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  237. package/Libraries/Pressability/Pressability.js +1 -1
  238. package/Libraries/Pressability/Pressability.windows.js +1 -1
  239. package/Libraries/Promise.js +1 -1
  240. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  241. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  242. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  243. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  244. package/Libraries/ReactNative/AppContainer.js +1 -1
  245. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  246. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  247. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  248. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  249. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  250. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  251. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  252. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  253. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  254. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  255. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  256. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  257. package/Libraries/ReactNative/RendererProxy.js +1 -1
  258. package/Libraries/ReactNative/RootTag.js +2 -2
  259. package/Libraries/ReactNative/renderApplication.js +1 -1
  260. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  261. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  262. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  263. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  264. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  265. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  266. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  267. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +261 -0
  268. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  269. package/Libraries/Settings/Settings.ios.js +1 -1
  270. package/Libraries/Settings/Settings.js +1 -1
  271. package/Libraries/Settings/SettingsFallback.js +1 -1
  272. package/Libraries/Share/NativeShareModule.js +1 -0
  273. package/Libraries/Share/Share.js +1 -1
  274. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  275. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  276. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  277. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  278. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  279. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  280. package/Libraries/StyleSheet/PointPropType.js +1 -1
  281. package/Libraries/StyleSheet/Rect.js +1 -1
  282. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  283. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  284. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  285. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  286. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  287. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  288. package/Libraries/StyleSheet/processColor.js +1 -1
  289. package/Libraries/StyleSheet/processColorArray.js +1 -1
  290. package/Libraries/StyleSheet/processFilter.js +1 -2
  291. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  292. package/Libraries/StyleSheet/processTransform.js +1 -1
  293. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  294. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  295. package/Libraries/Text/Text.d.ts +1 -2
  296. package/Libraries/Text/Text.js +255 -246
  297. package/Libraries/Text/Text.windows.js +282 -301
  298. package/Libraries/Text/TextAncestor.js +3 -9
  299. package/Libraries/Text/TextAncestorContext.js +23 -0
  300. package/Libraries/Text/TextNativeComponent.js +4 -0
  301. package/Libraries/Text/TextProps.js +2 -5
  302. package/Libraries/Text/TextProps.windows.js +2 -6
  303. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  304. package/Libraries/Types/CodegenTypes.js +1 -1
  305. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  306. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  307. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  308. package/Libraries/Utilities/Appearance.js +1 -1
  309. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  310. package/Libraries/Utilities/DevLoadingView.js +1 -1
  311. package/Libraries/Utilities/DeviceInfo.js +1 -1
  312. package/Libraries/Utilities/Dimensions.js +1 -1
  313. package/Libraries/Utilities/HMRClient.js +13 -3
  314. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  315. package/Libraries/Utilities/NativeAppearance.js +1 -0
  316. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  317. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  318. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  319. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  320. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  321. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  322. package/Libraries/Utilities/PixelRatio.js +1 -1
  323. package/Libraries/Utilities/Platform.android.js +2 -5
  324. package/Libraries/Utilities/Platform.ios.js +2 -5
  325. package/Libraries/Utilities/Platform.js +1 -1
  326. package/Libraries/Utilities/Platform.js.flow +2 -2
  327. package/Libraries/Utilities/Platform.windows.js +2 -5
  328. package/Libraries/Utilities/PlatformTypes.js +2 -2
  329. package/Libraries/Utilities/RCTLog.js +1 -1
  330. package/Libraries/Utilities/SceneTracker.js +1 -1
  331. package/Libraries/Utilities/binaryToBase64.js +1 -1
  332. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  333. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  334. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  335. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  336. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  337. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  338. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  339. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  340. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  341. package/Libraries/Utilities/logError.js +1 -1
  342. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  343. package/Libraries/Utilities/stringifySafe.js +1 -1
  344. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  345. package/Libraries/Utilities/useColorScheme.js +1 -1
  346. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  347. package/Libraries/Utilities/warnOnce.js +1 -1
  348. package/Libraries/Vibration/NativeVibration.js +1 -0
  349. package/Libraries/Vibration/Vibration.js +1 -2
  350. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  351. package/Libraries/WebSocket/WebSocket.js +1 -1
  352. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  353. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  354. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  355. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  356. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +3 -3
  357. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +3 -3
  358. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +2 -1
  359. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +2 -2
  360. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +3 -3
  361. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +2 -1
  362. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +1 -1
  363. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +18 -7
  364. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
  365. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
  366. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
  367. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
  368. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
  369. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +3 -3
  370. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +6 -6
  371. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +21 -17
  372. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -4
  373. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +19 -0
  374. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +76 -0
  375. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -1
  376. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  377. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +6 -0
  378. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +41 -37
  379. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
  380. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
  381. package/Microsoft.ReactNative/JsiApi.cpp +1 -1
  382. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
  383. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
  384. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -2
  385. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -1
  386. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -3
  387. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +27 -11
  388. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +19 -2
  389. package/Microsoft.ReactNative/QuirkSettings.cpp +16 -0
  390. package/Microsoft.ReactNative/QuirkSettings.h +3 -0
  391. package/Microsoft.ReactNative/QuirkSettings.idl +5 -0
  392. package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
  393. package/Microsoft.ReactNative/ReactHost/React.h +11 -4
  394. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +166 -29
  395. package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
  396. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +68 -52
  397. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  398. package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
  399. package/Microsoft.ReactNative/ReactRootView.h +6 -0
  400. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +1 -0
  401. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
  402. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +36 -8
  403. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +6 -2
  404. package/Microsoft.ReactNative/Views/ViewManager.h +0 -1
  405. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -1
  406. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
  407. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
  408. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
  409. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
  410. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  411. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
  412. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +5 -5
  413. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +0 -2
  414. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +0 -19
  415. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +45 -34
  416. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +1 -1
  417. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +1 -0
  418. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +36 -33
  419. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +10 -10
  420. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +14 -8
  421. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
  422. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
  423. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
  424. package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
  425. package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
  426. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +13 -4
  427. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +10 -0
  428. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  429. package/PropertySheets/JSEngine.props +1 -1
  430. package/PropertySheets/React.Cpp.props +6 -4
  431. package/README.md +1 -1
  432. package/ReactCommon/ReactCommon.vcxproj +29 -21
  433. package/ReactCommon/ReactCommon.vcxproj.filters +36 -13
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +5 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +6 -2
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +111 -7
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +57 -4
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +17 -1
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +175 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +1 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +69 -56
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +35 -18
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +445 -0
  444. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +92 -0
  445. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +35 -0
  446. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +37 -1
  447. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +250 -80
  448. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +528 -0
  449. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +1 -2
  450. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  451. package/ReactCommon/cgmanifest.json +1 -1
  452. package/Scripts/Analyze-Crash.ps1 +87 -3
  453. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  454. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
  455. package/Scripts/Tfs/Start-TestServers.ps1 +2 -1
  456. package/Scripts/creaternwapp.cmd +10 -6
  457. package/Scripts/rnw-dependencies.ps1 +33 -4
  458. package/Shared/CreateModules.h +0 -35
  459. package/Shared/DevServerHelper.h +13 -3
  460. package/Shared/DevSettings.h +6 -5
  461. package/Shared/DevSupportManager.cpp +79 -20
  462. package/Shared/DevSupportManager.h +7 -19
  463. package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
  464. package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
  465. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +274 -0
  466. package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
  467. package/Shared/HermesRuntimeHolder.cpp +29 -111
  468. package/Shared/HermesRuntimeHolder.h +214 -32
  469. package/Shared/IDevSupportManager.h +5 -2
  470. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
  471. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
  472. package/Shared/Inspector/ReactInspectorThread.h +18 -0
  473. package/Shared/JSI/RuntimeHolder.h +5 -2
  474. package/Shared/Modules/BlobModule.cpp +0 -90
  475. package/Shared/Modules/BlobModule.h +0 -40
  476. package/Shared/Modules/FileReaderModule.cpp +0 -104
  477. package/Shared/Modules/FileReaderModule.h +0 -38
  478. package/Shared/Modules/HttpModule.cpp +0 -172
  479. package/Shared/Modules/HttpModule.h +0 -47
  480. package/Shared/Modules/WebSocketModule.cpp +0 -287
  481. package/Shared/Modules/WebSocketModule.h +1 -94
  482. package/Shared/OInstance.cpp +45 -139
  483. package/Shared/OInstance.h +0 -1
  484. package/Shared/Shared.vcxitems +33 -32
  485. package/Shared/Shared.vcxitems.filters +38 -51
  486. package/Shared/TurboModuleManager.cpp +0 -1
  487. package/codegen/NativeDOMSpec.g.h +6 -0
  488. package/codegen/NativeDeviceInfoSpec.g.h +2 -0
  489. package/codegen/NativeIntersectionObserverSpec.g.h +19 -5
  490. package/codegen/NativeMutationObserverSpec.g.h +4 -4
  491. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +159 -93
  492. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  493. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  494. package/codegen/react/components/rnwcore/ModalHostView.g.h +4 -0
  495. package/codegen/react/components/rnwcore/Props.cpp +535 -24
  496. package/codegen/react/components/rnwcore/Props.h +138 -0
  497. package/codegen/react/components/rnwcore/States.h +9 -78
  498. package/codegen/react/components/rnwcore/VirtualView.g.h +226 -0
  499. package/codegen/rnwcoreJSI-generated.cpp +101 -31
  500. package/codegen/rnwcoreJSI.h +169 -88
  501. package/include/Shared/II18nModule.h +0 -1
  502. package/index.js +22 -2
  503. package/index.windows.js +131 -221
  504. package/interface.js +1 -1
  505. package/jest/MockNativeMethods.js +9 -3
  506. package/jest/RefreshControlMock.js +32 -0
  507. package/jest/assetFileTransformer.js +1 -0
  508. package/jest/local-setup.js +4 -3
  509. package/jest/mock.js +39 -0
  510. package/jest/mockComponent.js +47 -17
  511. package/jest/mockNativeComponent.js +26 -15
  512. package/jest/mocks/AccessibilityInfo.js +62 -0
  513. package/jest/mocks/ActivityIndicator.js +23 -0
  514. package/jest/mocks/AppState.js +19 -0
  515. package/jest/mocks/Clipboard.js +16 -0
  516. package/jest/mocks/Image.js +23 -0
  517. package/jest/mocks/InitializeCore.js +9 -0
  518. package/jest/mocks/Linking.js +28 -0
  519. package/jest/mocks/Modal.js +33 -0
  520. package/jest/mocks/NativeComponentRegistry.js +30 -0
  521. package/jest/mocks/NativeModules.js +239 -0
  522. package/jest/mocks/RefreshControl.js +31 -0
  523. package/jest/mocks/RendererProxy.js +45 -0
  524. package/jest/mocks/ScrollView.js +58 -0
  525. package/jest/mocks/Text.js +27 -0
  526. package/jest/mocks/TextInput.js +32 -0
  527. package/jest/mocks/UIManager.js +60 -0
  528. package/jest/mocks/Vibration.js +16 -0
  529. package/jest/mocks/View.js +27 -0
  530. package/jest/mocks/ViewNativeComponent.js +23 -0
  531. package/jest/mocks/requireNativeComponent.js +22 -0
  532. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  533. package/jest/react-native-env.js +1 -0
  534. package/jest/renderer.js +1 -2
  535. package/jest/resolver.js +1 -0
  536. package/jest/setup.js +64 -449
  537. package/package.json +24 -24
  538. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  539. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  540. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  541. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  542. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  543. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  544. package/src/private/components/virtualview/VirtualView.js +145 -0
  545. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  546. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  547. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  548. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  549. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  550. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  551. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  552. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  553. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  554. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  555. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  556. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  557. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  558. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  559. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  560. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  561. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  562. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  563. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.windows.js +8 -9
  564. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  565. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  566. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  567. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  568. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  569. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  570. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  571. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  572. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  573. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  574. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  575. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  576. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  577. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  578. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  579. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  580. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  581. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  582. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  583. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  584. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  585. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  586. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  587. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  588. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  589. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  590. package/src/private/styles/composeStyles.js +5 -12
  591. package/src/private/types/HostInstance.js +1 -1
  592. package/src/private/webapis/dom/events/Event.js +3 -0
  593. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  594. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  595. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  596. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  597. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  598. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  599. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  600. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  601. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  602. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  603. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  604. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  605. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  606. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  607. package/src/private/webapis/errors/DOMException.js +166 -0
  608. package/src/private/webapis/geometry/DOMRect.js +5 -0
  609. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  610. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  611. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  612. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  613. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  614. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  615. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  616. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  617. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  618. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  619. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  620. package/src/private/webapis/performance/EventTiming.js +1 -1
  621. package/src/private/webapis/performance/LongTasks.js +1 -1
  622. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  623. package/src/private/webapis/performance/Performance.js +20 -9
  624. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  625. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  626. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  627. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  628. package/src/private/webapis/performance/UserTiming.js +1 -1
  629. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  630. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  631. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  632. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  633. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  634. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  635. package/templates/cpp-lib/example/metro.config.js +1 -1
  636. package/templates/cpp-lib/template.config.js +24 -0
  637. package/templates/cpp-lib/windows/MyLib/MyLib.h +20 -1
  638. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +0 -1
  639. package/types/modules/Devtools.d.ts +23 -9
  640. package/Libraries/BugReporting/BugReporting.js +0 -140
  641. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  642. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  643. package/Libraries/BugReporting/getReactData.js +0 -187
  644. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  645. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
  646. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
  647. package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
  648. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
  649. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
  650. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +0 -49
  651. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +0 -191
  652. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
  653. package/Shared/InspectorPackagerConnection.cpp +0 -232
  654. package/Shared/InspectorPackagerConnection.h +0 -61
  655. package/Shared/Modules/ExceptionsManagerModule.cpp +0 -209
  656. package/Shared/Modules/ExceptionsManagerModule.h +0 -32
  657. package/Shared/Modules/I18nModule.cpp +0 -36
  658. package/Shared/Modules/I18nModule.h +0 -28
  659. package/Shared/Modules/NetworkingModule.cpp +0 -432
  660. package/Shared/Modules/NetworkingModule.h +0 -34
  661. package/Shared/Modules/PlatformConstantsModule.cpp +0 -60
  662. package/Shared/Modules/PlatformConstantsModule.h +0 -23
  663. package/Shared/Modules/SourceCodeModule.cpp +0 -35
  664. package/Shared/Modules/SourceCodeModule.h +0 -27
  665. package/Shared/Modules/StatusBarManagerModule.cpp +0 -25
  666. package/Shared/Modules/StatusBarManagerModule.h +0 -19
  667. package/codegen/NativeBugReportingSpec.g.h +0 -41
  668. package/jest/mockModal.js +0 -32
  669. package/jest/mockScrollView.js +0 -35
  670. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  671. /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
  672. /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
@@ -12,55 +12,57 @@
12
12
  namespace facebook::react::bridging {
13
13
 
14
14
  template <
15
- typename T,
16
- typename C,
17
- typename R,
18
- typename... Args,
19
- typename... JSArgs>
20
- T callFromJs(
15
+ typename JSReturnT,
16
+ typename ClassT,
17
+ typename ReturnT,
18
+ typename... ArgsT,
19
+ typename... JSArgsT>
20
+ JSReturnT callFromJs(
21
21
  jsi::Runtime& rt,
22
- R (C::*method)(jsi::Runtime&, Args...),
22
+ ReturnT (ClassT::*method)(jsi::Runtime&, ArgsT...),
23
23
  const std::shared_ptr<CallInvoker>& jsInvoker,
24
- C* instance,
25
- JSArgs&&... args) {
24
+ ClassT* instance,
25
+ JSArgsT&&... args) {
26
26
  static_assert(
27
- sizeof...(Args) == sizeof...(JSArgs), "Incorrect arguments length");
27
+ sizeof...(ArgsT) == sizeof...(JSArgsT), "Incorrect arguments length");
28
28
  static_assert(
29
- (supportsFromJs<Args, JSArgs> && ...), "Incompatible arguments");
29
+ (supportsFromJs<ArgsT, JSArgsT> && ...), "Incompatible arguments");
30
30
 
31
- if constexpr (std::is_void_v<T>) {
31
+ if constexpr (std::is_void_v<JSReturnT>) {
32
32
  (instance->*method)(
33
- rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...);
33
+ rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...);
34
34
 
35
- } else if constexpr (std::is_void_v<R>) {
35
+ } else if constexpr (std::is_void_v<ReturnT>) {
36
36
  static_assert(
37
- std::is_same_v<T, jsi::Value>,
37
+ std::is_same_v<JSReturnT, jsi::Value>,
38
38
  "Void functions may only return undefined");
39
39
 
40
40
  (instance->*method)(
41
- rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...);
41
+ rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...);
42
42
  return jsi::Value();
43
43
 
44
- } else if constexpr (is_jsi_v<T>) {
45
- static_assert(supportsToJs<R, T>, "Incompatible return type");
44
+ } else if constexpr (
45
+ is_jsi_v<JSReturnT> || supportsToJs<ReturnT, JSReturnT>) {
46
+ static_assert(supportsToJs<ReturnT, JSReturnT>, "Incompatible return type");
46
47
 
47
48
  return toJs(
48
49
  rt,
49
50
  (instance->*method)(
50
- rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...),
51
+ rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...),
51
52
  jsInvoker);
52
-
53
- } else if constexpr (is_optional_jsi_v<T>) {
53
+ } else if constexpr (is_optional_jsi_v<JSReturnT>) {
54
54
  static_assert(
55
- is_optional_v<R>
56
- ? supportsToJs<typename R::value_type, typename T::value_type>
57
- : supportsToJs<R, typename T::value_type>,
55
+ is_optional_v<ReturnT>
56
+ ? supportsToJs<
57
+ typename ReturnT::value_type,
58
+ typename JSReturnT::value_type>
59
+ : supportsToJs<ReturnT, typename JSReturnT::value_type>,
58
60
  "Incompatible return type");
59
61
 
60
62
  auto result = toJs(
61
63
  rt,
62
64
  (instance->*method)(
63
- rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...),
65
+ rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...),
64
66
  jsInvoker);
65
67
 
66
68
  if constexpr (std::is_same_v<decltype(result), jsi::Value>) {
@@ -71,20 +73,21 @@ T callFromJs(
71
73
 
72
74
  return convert(rt, std::move(result));
73
75
  } else {
74
- static_assert(std::is_convertible_v<R, T>, "Incompatible return type");
76
+ static_assert(
77
+ std::is_convertible_v<ReturnT, JSReturnT>, "Incompatible return type");
75
78
  return (instance->*method)(
76
- rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...);
79
+ rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...);
77
80
  }
78
81
  }
79
82
 
80
- template <typename R, typename... Args>
81
- constexpr size_t getParameterCount(R (*)(Args...)) {
82
- return sizeof...(Args);
83
+ template <typename ReturnT, typename... ArgsT>
84
+ constexpr size_t getParameterCount(ReturnT (*)(ArgsT...)) {
85
+ return sizeof...(ArgsT);
83
86
  }
84
87
 
85
- template <typename C, typename R, typename... Args>
86
- constexpr size_t getParameterCount(R (C::*)(Args...)) {
87
- return sizeof...(Args);
88
+ template <typename Class, typename ReturnT, typename... ArgsT>
89
+ constexpr size_t getParameterCount(ReturnT (Class::*)(ArgsT...)) {
90
+ return sizeof...(ArgsT);
88
91
  }
89
92
 
90
93
  } // namespace facebook::react::bridging
@@ -13,45 +13,45 @@ namespace facebook::react {
13
13
 
14
14
  template <>
15
15
  struct Bridging<double> {
16
- static double fromJs(jsi::Runtime&, const jsi::Value& value) {
16
+ static double fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
17
17
  return value.asNumber();
18
18
  }
19
19
 
20
- static jsi::Value toJs(jsi::Runtime&, double value) {
20
+ static double toJs(jsi::Runtime& /*unused*/, double value) {
21
21
  return value;
22
22
  }
23
23
  };
24
24
 
25
25
  template <>
26
26
  struct Bridging<float> {
27
- static float fromJs(jsi::Runtime&, const jsi::Value& value) {
27
+ static float fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
28
28
  return (float)value.asNumber();
29
29
  }
30
30
 
31
- static jsi::Value toJs(jsi::Runtime&, float value) {
32
- return (double)value;
31
+ static float toJs(jsi::Runtime& /*unused*/, float value) {
32
+ return value;
33
33
  }
34
34
  };
35
35
 
36
36
  template <>
37
37
  struct Bridging<int32_t> {
38
- static int32_t fromJs(jsi::Runtime&, const jsi::Value& value) {
38
+ static int32_t fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
39
39
  return (int32_t)value.asNumber();
40
40
  }
41
41
 
42
- static jsi::Value toJs(jsi::Runtime&, int32_t value) {
42
+ static int32_t toJs(jsi::Runtime& /*unused*/, int32_t value) {
43
43
  return value;
44
44
  }
45
45
  };
46
46
 
47
47
  template <>
48
48
  struct Bridging<uint32_t> {
49
- static uint32_t fromJs(jsi::Runtime&, const jsi::Value& value) {
49
+ static uint32_t fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
50
50
  return (uint32_t)value.asNumber();
51
51
  }
52
52
 
53
- static jsi::Value toJs(jsi::Runtime&, uint32_t value) {
54
- return (double)value;
53
+ static jsi::Value toJs(jsi::Runtime& /*unused*/, uint32_t value) {
54
+ return double(value);
55
55
  }
56
56
  };
57
57
 
@@ -16,8 +16,12 @@
16
16
 
17
17
  namespace facebook::react {
18
18
 
19
- template <typename T>
19
+ template <typename... T>
20
20
  class AsyncPromise {
21
+ static_assert(
22
+ sizeof...(T) <= 1,
23
+ "AsyncPromise must have at most one argument");
24
+
21
25
  public:
22
26
  AsyncPromise(jsi::Runtime& rt, const std::shared_ptr<CallInvoker>& jsInvoker)
23
27
  : state_(std::make_shared<SharedState>()) {
@@ -28,7 +32,9 @@ class AsyncPromise {
28
32
  bridging::toJs(
29
33
  rt,
30
34
  // Safe to capture this since this is called synchronously.
31
- [this](AsyncCallback<T> resolve, AsyncCallback<Error> reject) {
35
+ [this](
36
+ AsyncCallback<T...> resolve,
37
+ const AsyncCallback<Error>& reject) {
32
38
  state_->resolve = std::move(resolve);
33
39
  state_->reject = std::move(reject);
34
40
  },
@@ -42,11 +48,11 @@ class AsyncPromise {
42
48
  state_->promiseHolder = promiseHolder;
43
49
  }
44
50
 
45
- void resolve(T value) {
51
+ void resolve(T... value) {
46
52
  std::lock_guard<std::mutex> lock(state_->mutex);
47
53
 
48
54
  if (state_->resolve) {
49
- state_->resolve->call(std::move(value));
55
+ state_->resolve->call(std::forward<T>(value)...);
50
56
  state_->resolve.reset();
51
57
  state_->reject.reset();
52
58
  }
@@ -87,16 +93,16 @@ class AsyncPromise {
87
93
 
88
94
  std::mutex mutex;
89
95
  std::weak_ptr<PromiseHolder> promiseHolder;
90
- std::optional<AsyncCallback<T>> resolve;
96
+ std::optional<AsyncCallback<T...>> resolve;
91
97
  std::optional<AsyncCallback<Error>> reject;
92
98
  };
93
99
 
94
100
  std::shared_ptr<SharedState> state_;
95
101
  };
96
102
 
97
- template <typename T>
98
- struct Bridging<AsyncPromise<T>> {
99
- static jsi::Object toJs(jsi::Runtime& rt, const AsyncPromise<T>& promise) {
103
+ template <typename... T>
104
+ struct Bridging<AsyncPromise<T...>> {
105
+ static jsi::Object toJs(jsi::Runtime& rt, const AsyncPromise<T...>& promise) {
100
106
  return promise.get(rt);
101
107
  }
102
108
  };
@@ -21,6 +21,18 @@
21
21
  #endif
22
22
  #endif
23
23
 
24
+ #if defined(NAPI_EXPERIMENTAL) && \
25
+ !defined(NODE_API_EXPERIMENTAL_NO_WARNING) && \
26
+ !defined(NODE_WANT_INTERNALS)
27
+ #ifdef _MSC_VER
28
+ #pragma message("NAPI_EXPERIMENTAL is enabled. " \
29
+ "Experimental features may be unstable.")
30
+ #else
31
+ #warning "NAPI_EXPERIMENTAL is enabled. " \
32
+ "Experimental features may be unstable."
33
+ #endif
34
+ #endif
35
+
24
36
  #include "js_native_api_types.h"
25
37
 
26
38
  // If you need __declspec(dllimport), either include <node_api.h> instead, or
@@ -50,7 +62,7 @@
50
62
  EXTERN_C_START
51
63
 
52
64
  NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
53
- node_api_nogc_env env, const napi_extended_error_info** result);
65
+ node_api_basic_env env, const napi_extended_error_info** result);
54
66
 
55
67
  // Getters for defined singletons
56
68
  NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
@@ -92,31 +104,31 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
92
104
  const char16_t* str,
93
105
  size_t length,
94
106
  napi_value* result);
95
- #ifdef NAPI_EXPERIMENTAL
96
- #define NODE_API_EXPERIMENTAL_HAS_EXTERNAL_STRINGS
97
- NAPI_EXTERN napi_status NAPI_CDECL
98
- node_api_create_external_string_latin1(napi_env env,
99
- char* str,
100
- size_t length,
101
- node_api_nogc_finalize finalize_callback,
102
- void* finalize_hint,
103
- napi_value* result,
104
- bool* copied);
107
+ #if NAPI_VERSION >= 10
108
+ NAPI_EXTERN napi_status NAPI_CDECL node_api_create_external_string_latin1(
109
+ napi_env env,
110
+ char* str,
111
+ size_t length,
112
+ node_api_basic_finalize finalize_callback,
113
+ void* finalize_hint,
114
+ napi_value* result,
115
+ bool* copied);
105
116
  NAPI_EXTERN napi_status NAPI_CDECL
106
117
  node_api_create_external_string_utf16(napi_env env,
107
118
  char16_t* str,
108
119
  size_t length,
109
- node_api_nogc_finalize finalize_callback,
120
+ node_api_basic_finalize finalize_callback,
110
121
  void* finalize_hint,
111
122
  napi_value* result,
112
123
  bool* copied);
113
- #endif // NAPI_EXPERIMENTAL
114
124
 
115
- #ifdef NAPI_EXPERIMENTAL
116
- #define NODE_API_EXPERIMENTAL_HAS_PROPERTY_KEYS
125
+ NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_latin1(
126
+ napi_env env, const char* str, size_t length, napi_value* result);
127
+ NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf8(
128
+ napi_env env, const char* str, size_t length, napi_value* result);
117
129
  NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf16(
118
130
  napi_env env, const char16_t* str, size_t length, napi_value* result);
119
- #endif // NAPI_EXPERIMENTAL
131
+ #endif // NAPI_VERSION >= 10
120
132
 
121
133
  NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env,
122
134
  napi_value description,
@@ -318,12 +330,13 @@ napi_define_class(napi_env env,
318
330
  napi_value* result);
319
331
 
320
332
  // Methods to work with external data objects
321
- NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
322
- napi_value js_object,
323
- void* native_object,
324
- node_api_nogc_finalize finalize_cb,
325
- void* finalize_hint,
326
- napi_ref* result);
333
+ NAPI_EXTERN napi_status NAPI_CDECL
334
+ napi_wrap(napi_env env,
335
+ napi_value js_object,
336
+ void* native_object,
337
+ node_api_basic_finalize finalize_cb,
338
+ void* finalize_hint,
339
+ napi_ref* result);
327
340
  NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
328
341
  napi_value js_object,
329
342
  void** result);
@@ -333,7 +346,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
333
346
  NAPI_EXTERN napi_status NAPI_CDECL
334
347
  napi_create_external(napi_env env,
335
348
  void* data,
336
- node_api_nogc_finalize finalize_cb,
349
+ node_api_basic_finalize finalize_cb,
337
350
  void* finalize_hint,
338
351
  napi_value* result);
339
352
  NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
@@ -432,7 +445,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
432
445
  napi_create_external_arraybuffer(napi_env env,
433
446
  void* external_data,
434
447
  size_t byte_length,
435
- node_api_nogc_finalize finalize_cb,
448
+ node_api_basic_finalize finalize_cb,
436
449
  void* finalize_hint,
437
450
  napi_value* result);
438
451
  #endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -474,7 +487,7 @@ napi_get_dataview_info(napi_env env,
474
487
  size_t* byte_offset);
475
488
 
476
489
  // version management
477
- NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
490
+ NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
478
491
  uint32_t* result);
479
492
 
480
493
  // Promises
@@ -498,7 +511,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
498
511
 
499
512
  // Memory management
500
513
  NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
501
- node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
514
+ node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
502
515
 
503
516
  #if NAPI_VERSION >= 5
504
517
 
@@ -520,7 +533,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
520
533
  napi_add_finalizer(napi_env env,
521
534
  napi_value js_object,
522
535
  void* finalize_data,
523
- node_api_nogc_finalize finalize_cb,
536
+ node_api_basic_finalize finalize_cb,
524
537
  void* finalize_hint,
525
538
  napi_ref* result);
526
539
 
@@ -530,7 +543,7 @@ napi_add_finalizer(napi_env env,
530
543
  #define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
531
544
 
532
545
  NAPI_EXTERN napi_status NAPI_CDECL
533
- node_api_post_finalizer(node_api_nogc_env env,
546
+ node_api_post_finalizer(node_api_basic_env env,
534
547
  napi_finalize finalize_cb,
535
548
  void* finalize_data,
536
549
  void* finalize_hint);
@@ -575,13 +588,13 @@ napi_get_all_property_names(napi_env env,
575
588
 
576
589
  // Instance data
577
590
  NAPI_EXTERN napi_status NAPI_CDECL
578
- napi_set_instance_data(node_api_nogc_env env,
591
+ napi_set_instance_data(node_api_basic_env env,
579
592
  void* data,
580
593
  napi_finalize finalize_cb,
581
594
  void* finalize_hint);
582
595
 
583
- NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
584
- void** data);
596
+ NAPI_EXTERN napi_status NAPI_CDECL
597
+ napi_get_instance_data(node_api_basic_env env, void** data);
585
598
  #endif // NAPI_VERSION >= 6
586
599
 
587
600
  #if NAPI_VERSION >= 7
@@ -7,11 +7,6 @@
7
7
  #include <stddef.h> // NOLINT(modernize-deprecated-headers)
8
8
  #include <stdint.h> // NOLINT(modernize-deprecated-headers)
9
9
 
10
- // TODO: (vmoroz) NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT is not part of this
11
- // Node-API file. It is here temporary to enable compilation. Remove it after
12
- // updating tests.
13
- #define NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT
14
-
15
10
  #if !defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900)
16
11
  typedef uint16_t char16_t;
17
12
  #endif
@@ -32,7 +27,7 @@ typedef struct napi_env__* napi_env;
32
27
  // meaning that they do not affect the state of the JS engine, and can
33
28
  // therefore be called synchronously from a finalizer that itself runs
34
29
  // synchronously during GC. Such APIs can receive either a `napi_env` or a
35
- // `node_api_nogc_env` as their first parameter, because we should be able to
30
+ // `node_api_basic_env` as their first parameter, because we should be able to
36
31
  // also call them during normal, non-garbage-collecting operations, whereas
37
32
  // APIs that affect the state of the JS engine can only receive a `napi_env` as
38
33
  // their first parameter, because we must not call them during GC. In lieu of
@@ -42,19 +37,21 @@ typedef struct napi_env__* napi_env;
42
37
  // expecting a non-const value.
43
38
  //
44
39
  // In conjunction with appropriate CFLAGS to warn us if we're passing a const
45
- // (nogc) environment into an API that expects a non-const environment, and the
46
- // definition of nogc finalizer function pointer types below, which receive a
47
- // nogc environment as their first parameter, and can thus only call nogc APIs
48
- // (unless the user explicitly casts the environment), we achieve the ability
49
- // to ensure at compile time that we do not call APIs that affect the state of
50
- // the JS engine from a synchronous (nogc) finalizer.
40
+ // (basic) environment into an API that expects a non-const environment, and
41
+ // the definition of basic finalizer function pointer types below, which
42
+ // receive a basic environment as their first parameter, and can thus only call
43
+ // basic APIs (unless the user explicitly casts the environment), we achieve
44
+ // the ability to ensure at compile time that we do not call APIs that affect
45
+ // the state of the JS engine from a synchronous (basic) finalizer.
51
46
  #if !defined(NAPI_EXPERIMENTAL) || \
52
47
  (defined(NAPI_EXPERIMENTAL) && \
53
- defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
48
+ (defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
49
+ defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
54
50
  typedef struct napi_env__* node_api_nogc_env;
55
51
  #else
56
52
  typedef const struct napi_env__* node_api_nogc_env;
57
53
  #endif
54
+ typedef node_api_nogc_env node_api_basic_env;
58
55
 
59
56
  typedef struct napi_value__* napi_value;
60
57
  typedef struct napi_ref__* napi_ref;
@@ -152,13 +149,15 @@ typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
152
149
 
153
150
  #if !defined(NAPI_EXPERIMENTAL) || \
154
151
  (defined(NAPI_EXPERIMENTAL) && \
155
- defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
152
+ (defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
153
+ defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
156
154
  typedef napi_finalize node_api_nogc_finalize;
157
155
  #else
158
156
  typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
159
157
  void* finalize_data,
160
158
  void* finalize_hint);
161
159
  #endif
160
+ typedef node_api_nogc_finalize node_api_basic_finalize;
162
161
 
163
162
  typedef struct {
164
163
  // One of utf8name or name should be NULL.
@@ -4,7 +4,7 @@
4
4
  #ifndef SRC_JS_RUNTIME_API_H_
5
5
  #define SRC_JS_RUNTIME_API_H_
6
6
 
7
- #include "js_native_api.h"
7
+ #include "node_api.h"
8
8
 
9
9
  //
10
10
  // Node-API extensions required for JavaScript engine hosting.
@@ -51,6 +51,16 @@ JSR_API jsr_config_enable_gc_api(jsr_config config, bool value);
51
51
 
52
52
  JSR_API jsr_config_set_explicit_microtasks(jsr_config config, bool value);
53
53
 
54
+ // A callback to process unhandled JS error
55
+ typedef void(NAPI_CDECL* jsr_unhandled_error_cb)(void* cb_data,
56
+ napi_env env,
57
+ napi_value error);
58
+
59
+ JSR_API jsr_config_on_unhandled_error(
60
+ jsr_config config,
61
+ void* cb_data,
62
+ jsr_unhandled_error_cb unhandled_error_cb);
63
+
54
64
  //=============================================================================
55
65
  // jsr_config task runner
56
66
  //=============================================================================
@@ -187,13 +197,18 @@ JSR_API jsr_get_and_clear_last_unhandled_promise_rejection(napi_env env,
187
197
  napi_value* result);
188
198
 
189
199
  // Create new napi_env for the runtime.
190
- JSR_API jsr_create_node_api_env(napi_env root_env,
191
- int32_t api_version,
192
- napi_env* env);
200
+ JSR_API
201
+ jsr_create_node_api_env(napi_env root_env, int32_t api_version, napi_env* env);
193
202
 
194
203
  // Run task in the environment context.
195
204
  JSR_API jsr_run_task(napi_env env, jsr_task_run_cb task_cb, void* data);
196
205
 
206
+ // Initializes native module.
207
+ JSR_API jsr_initialize_native_module(napi_env env,
208
+ napi_addon_register_func register_module,
209
+ int32_t api_version,
210
+ napi_value* exports);
211
+
197
212
  EXTERN_C_END
198
213
 
199
214
  #endif // !SRC_JS_RUNTIME_API_H_