react-native-windows 0.76.3 → 0.77.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.
- package/.flowconfig +5 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/NativeAnimatedAllowlist.windows.js +122 -0
- package/Libraries/Animated/animations/Animation.js +60 -25
- package/Libraries/Animated/animations/DecayAnimation.js +26 -38
- package/Libraries/Animated/animations/SpringAnimation.js +33 -39
- package/Libraries/Animated/animations/TimingAnimation.js +34 -42
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
- package/Libraries/Animated/createAnimatedComponent.js +60 -33
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +96 -46
- package/Libraries/Animated/nodes/AnimatedProps.windows.js +281 -0
- package/Libraries/Animated/nodes/AnimatedStyle.js +108 -39
- package/Libraries/Animated/nodes/AnimatedStyle.windows.js +251 -0
- package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +41 -35
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +82 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +9 -4
- package/Libraries/Components/Button.windows.js +19 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +2 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
- package/Libraries/Components/Popup/PopupNativeComponent.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.windows.js +10 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
- package/Libraries/Components/ScrollView/ScrollView.js +49 -88
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +0 -5
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
- package/Libraries/Components/Switch/Switch.js +8 -6
- package/Libraries/Components/Switch/Switch.windows.js +8 -6
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
- package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
- package/Libraries/Components/TextInput/TextInput.js +37 -13
- package/Libraries/Components/TextInput/TextInput.windows.js +47 -16
- package/Libraries/Components/TextInput/TextInputState.js +11 -13
- package/Libraries/Components/TextInput/TextInputState.windows.js +11 -13
- package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
- package/Libraries/Components/Touchable/Position.js +7 -2
- package/Libraries/Components/Touchable/Touchable.js +4 -0
- package/Libraries/Components/Touchable/Touchable.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +227 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +5 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +371 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +4 -4
- package/Libraries/Components/View/View.windows.js +12 -5
- package/Libraries/Components/View/ViewAccessibility.d.ts +10 -0
- package/Libraries/Components/View/ViewAccessibility.windows.js +2 -0
- package/Libraries/Components/View/ViewNativeComponent.js +6 -98
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/Libraries/Components/View/ViewPropTypes.js +0 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +2 -3
- package/Libraries/Core/ExceptionsManager.js +50 -29
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -10
- package/Libraries/Core/setUpDeveloperTools.js +1 -5
- package/Libraries/Core/setUpErrorHandling.js +20 -18
- package/Libraries/Core/setUpReactDevTools.js +107 -8
- package/Libraries/Core/setUpSegmentFetcher.js +1 -0
- package/Libraries/Core/setUpTimers.js +21 -18
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +12 -1
- package/Libraries/Image/Image.android.js +1 -5
- package/Libraries/Image/Image.d.ts +20 -29
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/Image.windows.js +5 -1
- package/Libraries/Image/ImageBackground.js +2 -5
- package/Libraries/Image/ImageProps.js +7 -6
- package/Libraries/Image/ImageResizeMode.d.ts +8 -1
- package/Libraries/Image/ImageResizeMode.js +4 -1
- package/Libraries/Image/ImageSource.d.ts +0 -2
- package/Libraries/Image/ImageSource.js +0 -2
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Image/ImageUtils.js +6 -3
- package/Libraries/Image/ImageViewNativeComponent.js +5 -3
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/NetworkOverlay.js +4 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/TouchHistoryMath.js +22 -19
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +1 -2
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +7 -7
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +3 -3
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
- package/Libraries/Modal/Modal.d.ts +12 -0
- package/Libraries/Modal/Modal.js +31 -4
- package/Libraries/Modal/Modal.windows.js +18 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -11
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/Network/XHRInterceptor.js +63 -14
- package/Libraries/Network/XMLHttpRequest.js +26 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +2 -3
- package/Libraries/Pressability/Pressability.windows.js +2 -3
- package/Libraries/Pressability/usePressability.js +4 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -11
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
- package/Libraries/ReactNative/RendererImplementation.js +18 -17
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
- package/Libraries/ReactNative/renderApplication.js +9 -8
- package/Libraries/ReactNative/requireNativeComponent.js +5 -2
- package/Libraries/Renderer/shims/ReactFabric.js +3 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +7 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
- package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
- package/Libraries/StyleSheet/processTransform.js +3 -34
- package/Libraries/Text/Text.js +248 -249
- package/Libraries/Text/Text.windows.js +298 -292
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/Text/TextProps.windows.js +2 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
- package/Libraries/Types/CoreEventTypes.d.ts +3 -10
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Types/CoreEventTypes.windows.js +4 -6
- package/Libraries/Utilities/Appearance.js +3 -1
- package/Libraries/Utilities/BackHandler.android.js +6 -18
- package/Libraries/Utilities/BackHandler.d.ts +0 -4
- package/Libraries/Utilities/BackHandler.ios.js +0 -7
- package/Libraries/Utilities/BackHandler.windows.js +6 -18
- package/Libraries/Utilities/HMRClient.js +3 -4
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/Platform.flow.windows.js +3 -2
- package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/WebSocket/WebSocketEvent.js +4 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +9 -8
- package/Microsoft.ReactNative/AsynchronousEventBeat.h +5 -5
- package/Microsoft.ReactNative/FBReactNativeSpec/FBReactNativeSpecJSI.h +5 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +197 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +19 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +13 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +6 -8
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +24 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +5 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -12
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +4 -4
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +4 -8
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +15 -0
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +9 -0
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +20 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -6
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/SynchronousEventBeat.cpp +14 -4
- package/Microsoft.ReactNative/SynchronousEventBeat.h +4 -2
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +78 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.h +51 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +48 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.cpp +41 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.h +127 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.inc +125 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +16 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_win.cpp +23 -0
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +834 -0
- package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +117 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +366 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +560 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +1611 -0
- package/Microsoft.ReactNative.Cxx/JSI/threadsafe.h +79 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +7 -11
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -1
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +2878 -0
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +36 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +64 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +22 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModule.cpp +63 -63
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +165 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +105 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModuleUtils.h +57 -58
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +42 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +151 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Base.h +177 -154
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +25 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +21 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +67 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +90 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Convert.h +170 -172
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +51 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/EventEmitter.h +134 -136
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Function.h +283 -283
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.cpp +63 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +61 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +93 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +104 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +107 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/flags.h +22 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +72 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +553 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +167 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +186 -0
- package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +82 -0
- package/PropertySheets/Bundle.Common.targets +1 -1
- package/PropertySheets/Bundle.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/PropertySheets/OutputMSBuildProperties.targets +3 -1
- package/ReactCommon/ReactCommon.vcxproj +5 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +61 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +26 -23
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +150 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +252 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +795 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +188 -39
- package/Scripts/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +97 -62
- package/Shared/InspectorPackagerConnection.cpp +3 -6
- package/Shared/InspectorPackagerConnection.h +2 -2
- package/Shared/InstanceManager.h +1 -1
- package/Shared/OInstance.h +1 -1
- package/Shared/Shared.vcxitems +17 -2
- package/Shared/Shared.vcxitems.filters +3 -1
- package/Shared/TurboModuleManager.cpp +29 -4
- package/codegen/NativeAccessibilityInfoSpec.g.h +27 -9
- package/codegen/NativeAccessibilityManagerSpec.g.h +19 -13
- package/codegen/NativeActionSheetManagerSpec.g.h +4 -0
- package/codegen/NativeExceptionsManagerSpec.g.h +1 -7
- package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
- package/codegen/NativePerformanceSpec.g.h +127 -3
- package/codegen/NativeReactDevToolsRuntimeSettingsModuleSpec.g.h +67 -0
- package/codegen/NativeReactDevToolsSettingsManagerSpec.g.h +41 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +125 -137
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
- package/codegen/react/components/rnwcore/Props.cpp +1 -0
- package/codegen/react/components/rnwcore/Props.h +1 -0
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
- package/codegen/react/components/rnwcore/ShadowNodes.h +0 -11
- package/codegen/react/components/rnwcore/States.h +0 -12
- package/codegen/rnwcoreJSI-generated.cpp +219 -186
- package/codegen/rnwcoreJSI.h +942 -511
- package/index.js +10 -3
- package/index.windows.js +10 -3
- package/jest/setup.js +36 -1
- package/just-task.js +15 -0
- package/package.json +22 -22
- package/src/private/animated/NativeAnimatedHelper.js +18 -16
- package/src/private/animated/useAnimatedPropsMemo.js +348 -0
- package/src/private/animated/useAnimatedPropsMemo.windows.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +1 -27
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
- package/src/private/components/VScrollViewNativeComponents.js +2 -25
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +20 -0
- package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/setup/setUpDOM.js +14 -6
- package/src/private/setup/setUpMutationObserver.js +5 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
- package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
- package/src/private/webapis/performance/EventTiming.js +13 -8
- package/src/private/webapis/performance/Performance.js +66 -73
- package/src/private/webapis/performance/PerformanceEntry.js +2 -5
- package/src/private/webapis/performance/PerformanceObserver.js +65 -164
- package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +11 -7
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/templates/cpp-lib/template.config.js +13 -7
- package/templates/templateUtils.js +10 -0
- package/types/index.d.ts +1 -1
- package/types/public/ReactNativeTypes.d.ts +4 -8
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +0 -35
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
- package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +0 -101
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +0 -569
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +0 -53
- package/codegen/NativePerformanceObserverSpec.g.h +0 -131
- package/src/private/components/useSyncOnScroll.js +0 -48
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
- package/types/experimental.d.ts +0 -59
- /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
|
@@ -25,12 +25,12 @@ export type TimeStampOrName = DOMHighResTimeStamp | string;
|
|
|
25
25
|
|
|
26
26
|
export type PerformanceMeasureInit = {
|
|
27
27
|
detail?: DetailType,
|
|
28
|
-
startTime
|
|
29
|
-
duration
|
|
28
|
+
startTime: DOMHighResTimeStamp,
|
|
29
|
+
duration: DOMHighResTimeStamp,
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export class PerformanceMark extends PerformanceEntry {
|
|
33
|
-
detail: DetailType;
|
|
33
|
+
#detail: DetailType;
|
|
34
34
|
|
|
35
35
|
constructor(markName: string, markOptions?: PerformanceMarkOptions) {
|
|
36
36
|
super({
|
|
@@ -41,20 +41,24 @@ export class PerformanceMark extends PerformanceEntry {
|
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
if (markOptions) {
|
|
44
|
-
this
|
|
44
|
+
this.#detail = markOptions.detail;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
|
|
48
|
+
get detail(): DetailType {
|
|
49
|
+
return this.#detail;
|
|
50
|
+
}
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
export class PerformanceMeasure extends PerformanceEntry {
|
|
50
54
|
#detail: DetailType;
|
|
51
55
|
|
|
52
|
-
constructor(measureName: string, measureOptions
|
|
56
|
+
constructor(measureName: string, measureOptions: PerformanceMeasureInit) {
|
|
53
57
|
super({
|
|
54
58
|
name: measureName,
|
|
55
59
|
entryType: 'measure',
|
|
56
|
-
startTime: measureOptions
|
|
57
|
-
duration: measureOptions
|
|
60
|
+
startTime: measureOptions.startTime,
|
|
61
|
+
duration: measureOptions.duration,
|
|
58
62
|
});
|
|
59
63
|
|
|
60
64
|
if (measureOptions) {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @flow strict
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import warnOnce from '../../../../Libraries/Utilities/warnOnce';
|
|
12
|
+
|
|
13
|
+
export function warnNoNativePerformance() {
|
|
14
|
+
warnOnce(
|
|
15
|
+
'missing-native-performance',
|
|
16
|
+
'Missing native implementation of Performance',
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -16,10 +16,39 @@ export type NativeMemoryInfo = {[key: string]: ?number};
|
|
|
16
16
|
|
|
17
17
|
export type ReactNativeStartupTiming = {[key: string]: ?number};
|
|
18
18
|
|
|
19
|
+
export type RawPerformanceEntryType = number;
|
|
20
|
+
|
|
21
|
+
export type RawPerformanceEntry = {
|
|
22
|
+
name: string,
|
|
23
|
+
entryType: RawPerformanceEntryType,
|
|
24
|
+
startTime: number,
|
|
25
|
+
duration: number,
|
|
26
|
+
|
|
27
|
+
// For "event" entries only:
|
|
28
|
+
processingStart?: number,
|
|
29
|
+
processingEnd?: number,
|
|
30
|
+
interactionId?: number,
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type OpaqueNativeObserverHandle = mixed;
|
|
34
|
+
|
|
35
|
+
export type NativeBatchedObserverCallback = () => void;
|
|
36
|
+
export type NativePerformanceMarkResult = number;
|
|
37
|
+
export type NativePerformanceMeasureResult = $ReadOnlyArray<number>; // [startTime, duration]
|
|
38
|
+
|
|
39
|
+
export type PerformanceObserverInit = {
|
|
40
|
+
entryTypes?: $ReadOnlyArray<number>,
|
|
41
|
+
type?: number,
|
|
42
|
+
buffered?: boolean,
|
|
43
|
+
durationThreshold?: number,
|
|
44
|
+
};
|
|
45
|
+
|
|
19
46
|
export interface Spec extends TurboModule {
|
|
20
47
|
+now?: () => number;
|
|
21
|
-
|
|
22
|
-
+
|
|
48
|
+
// TODO: remove when `markWithResult` is fully rolled out.
|
|
49
|
+
+mark?: (name: string, startTime: number) => void;
|
|
50
|
+
// TODO: remove when `measureWithResult` is fully rolled out.
|
|
51
|
+
+measure?: (
|
|
23
52
|
name: string,
|
|
24
53
|
startTime: number,
|
|
25
54
|
endTime: number,
|
|
@@ -27,8 +56,48 @@ export interface Spec extends TurboModule {
|
|
|
27
56
|
startMark?: string,
|
|
28
57
|
endMark?: string,
|
|
29
58
|
) => void;
|
|
59
|
+
+markWithResult?: (
|
|
60
|
+
name: string,
|
|
61
|
+
startTime?: number,
|
|
62
|
+
) => NativePerformanceMarkResult;
|
|
63
|
+
+measureWithResult?: (
|
|
64
|
+
name: string,
|
|
65
|
+
startTime: number,
|
|
66
|
+
endTime: number,
|
|
67
|
+
duration?: number,
|
|
68
|
+
startMark?: string,
|
|
69
|
+
endMark?: string,
|
|
70
|
+
) => NativePerformanceMeasureResult;
|
|
71
|
+
+clearMarks?: (entryName?: string) => void;
|
|
72
|
+
+clearMeasures?: (entryName?: string) => void;
|
|
73
|
+
+getEntries?: () => $ReadOnlyArray<RawPerformanceEntry>;
|
|
74
|
+
+getEntriesByName?: (
|
|
75
|
+
entryName: string,
|
|
76
|
+
entryType?: ?RawPerformanceEntryType,
|
|
77
|
+
) => $ReadOnlyArray<RawPerformanceEntry>;
|
|
78
|
+
+getEntriesByType?: (
|
|
79
|
+
entryType: RawPerformanceEntryType,
|
|
80
|
+
) => $ReadOnlyArray<RawPerformanceEntry>;
|
|
81
|
+
+getEventCounts?: () => $ReadOnlyArray<[string, number]>;
|
|
30
82
|
+getSimpleMemoryInfo: () => NativeMemoryInfo;
|
|
31
83
|
+getReactNativeStartupTiming: () => ReactNativeStartupTiming;
|
|
84
|
+
|
|
85
|
+
+createObserver?: (
|
|
86
|
+
callback: NativeBatchedObserverCallback,
|
|
87
|
+
) => OpaqueNativeObserverHandle;
|
|
88
|
+
+getDroppedEntriesCount?: (observer: OpaqueNativeObserverHandle) => number;
|
|
89
|
+
|
|
90
|
+
+observe?: (
|
|
91
|
+
observer: OpaqueNativeObserverHandle,
|
|
92
|
+
options: PerformanceObserverInit,
|
|
93
|
+
) => void;
|
|
94
|
+
+disconnect?: (observer: OpaqueNativeObserverHandle) => void;
|
|
95
|
+
+takeRecords?: (
|
|
96
|
+
observer: OpaqueNativeObserverHandle,
|
|
97
|
+
sort: boolean,
|
|
98
|
+
) => $ReadOnlyArray<RawPerformanceEntry>;
|
|
99
|
+
|
|
100
|
+
+getSupportedPerformanceEntryTypes?: () => $ReadOnlyArray<RawPerformanceEntryType>;
|
|
32
101
|
}
|
|
33
102
|
|
|
34
103
|
export default (TurboModuleRegistry.get<Spec>('NativePerformanceCxx'): ?Spec);
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {
|
|
12
|
+
NativeBatchedObserverCallback,
|
|
13
|
+
NativeMemoryInfo,
|
|
14
|
+
NativePerformanceMarkResult,
|
|
15
|
+
NativePerformanceMeasureResult,
|
|
16
|
+
OpaqueNativeObserverHandle,
|
|
17
|
+
PerformanceObserverInit,
|
|
18
|
+
RawPerformanceEntry,
|
|
19
|
+
RawPerformanceEntryType,
|
|
20
|
+
ReactNativeStartupTiming,
|
|
21
|
+
} from '../NativePerformance';
|
|
22
|
+
import typeof NativePerformance from '../NativePerformance';
|
|
23
|
+
|
|
24
|
+
import {RawPerformanceEntryTypeValues} from '../../RawPerformanceEntry';
|
|
25
|
+
|
|
26
|
+
type MockObserver = {
|
|
27
|
+
handleEntry: (entry: RawPerformanceEntry) => void,
|
|
28
|
+
callback: NativeBatchedObserverCallback,
|
|
29
|
+
didScheduleFlushBuffer: boolean,
|
|
30
|
+
entries: Array<RawPerformanceEntry>,
|
|
31
|
+
options: PerformanceObserverInit,
|
|
32
|
+
droppedEntriesCount: number,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const eventCounts: Map<string, number> = new Map();
|
|
36
|
+
const observers: Set<MockObserver> = new Set();
|
|
37
|
+
const marks: Map<string, number> = new Map();
|
|
38
|
+
let entries: Array<RawPerformanceEntry> = [];
|
|
39
|
+
|
|
40
|
+
function getMockObserver(
|
|
41
|
+
opaqueNativeObserverHandle: OpaqueNativeObserverHandle,
|
|
42
|
+
): MockObserver {
|
|
43
|
+
return opaqueNativeObserverHandle as $FlowFixMe as MockObserver;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function createMockObserver(callback: NativeBatchedObserverCallback) {
|
|
47
|
+
const observer: MockObserver = {
|
|
48
|
+
callback,
|
|
49
|
+
didScheduleFlushBuffer: false,
|
|
50
|
+
entries: [],
|
|
51
|
+
options: {},
|
|
52
|
+
droppedEntriesCount: 0,
|
|
53
|
+
handleEntry: (entry: RawPerformanceEntry) => {
|
|
54
|
+
if (
|
|
55
|
+
observer.options.type !== entry.entryType &&
|
|
56
|
+
!observer.options.entryTypes?.includes(entry.entryType)
|
|
57
|
+
) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (
|
|
62
|
+
entry.entryType === RawPerformanceEntryTypeValues.EVENT &&
|
|
63
|
+
entry.duration < (observer.options?.durationThreshold ?? 0)
|
|
64
|
+
) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
observer.entries.push(entry);
|
|
69
|
+
|
|
70
|
+
if (!observer.didScheduleFlushBuffer) {
|
|
71
|
+
observer.didScheduleFlushBuffer = true;
|
|
72
|
+
// $FlowFixMe[incompatible-call]
|
|
73
|
+
global.queueMicrotask(() => {
|
|
74
|
+
observer.didScheduleFlushBuffer = false;
|
|
75
|
+
// We want to emulate the way it's done in native (i.e. async/batched)
|
|
76
|
+
observer.callback();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
return observer;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function reportEntry(entry: RawPerformanceEntry) {
|
|
86
|
+
entries.push(entry);
|
|
87
|
+
|
|
88
|
+
switch (entry.entryType) {
|
|
89
|
+
case RawPerformanceEntryTypeValues.MARK:
|
|
90
|
+
marks.set(entry.name, entry.startTime);
|
|
91
|
+
break;
|
|
92
|
+
case RawPerformanceEntryTypeValues.MEASURE:
|
|
93
|
+
break;
|
|
94
|
+
case RawPerformanceEntryTypeValues.EVENT:
|
|
95
|
+
eventCounts.set(entry.name, (eventCounts.get(entry.name) ?? 0) + 1);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
for (const observer of observers) {
|
|
100
|
+
observer.handleEntry(entry);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
let currentTime: number = 12;
|
|
105
|
+
|
|
106
|
+
const NativePerformanceMock = {
|
|
107
|
+
setCurrentTime: (time: number): void => {
|
|
108
|
+
currentTime = time;
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
now: (): number => currentTime,
|
|
112
|
+
|
|
113
|
+
markWithResult: (
|
|
114
|
+
name: string,
|
|
115
|
+
startTime?: number,
|
|
116
|
+
): NativePerformanceMarkResult => {
|
|
117
|
+
const computedStartTime = startTime ?? performance.now();
|
|
118
|
+
|
|
119
|
+
marks.set(name, computedStartTime);
|
|
120
|
+
reportEntry({
|
|
121
|
+
entryType: RawPerformanceEntryTypeValues.MARK,
|
|
122
|
+
name,
|
|
123
|
+
startTime: computedStartTime,
|
|
124
|
+
duration: 0,
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
return computedStartTime;
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
measureWithResult: (
|
|
131
|
+
name: string,
|
|
132
|
+
startTime: number,
|
|
133
|
+
endTime: number,
|
|
134
|
+
duration?: number,
|
|
135
|
+
startMark?: string,
|
|
136
|
+
endMark?: string,
|
|
137
|
+
): NativePerformanceMeasureResult => {
|
|
138
|
+
const start = startMark != null ? marks.get(startMark) : startTime;
|
|
139
|
+
const end = endMark != null ? marks.get(endMark) : endTime;
|
|
140
|
+
|
|
141
|
+
if (start === undefined) {
|
|
142
|
+
throw new Error('startMark does not exist');
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (end === undefined) {
|
|
146
|
+
throw new Error('endMark does not exist');
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const computedDuration = duration ?? end - start;
|
|
150
|
+
reportEntry({
|
|
151
|
+
entryType: RawPerformanceEntryTypeValues.MEASURE,
|
|
152
|
+
name,
|
|
153
|
+
startTime: start,
|
|
154
|
+
duration: computedDuration,
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
return [start, computedDuration];
|
|
158
|
+
},
|
|
159
|
+
|
|
160
|
+
getSimpleMemoryInfo: (): NativeMemoryInfo => {
|
|
161
|
+
return {};
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
getReactNativeStartupTiming: (): ReactNativeStartupTiming => {
|
|
165
|
+
return {
|
|
166
|
+
startTime: 0,
|
|
167
|
+
endTime: 0,
|
|
168
|
+
executeJavaScriptBundleEntryPointStart: 0,
|
|
169
|
+
executeJavaScriptBundleEntryPointEnd: 0,
|
|
170
|
+
initializeRuntimeStart: 0,
|
|
171
|
+
initializeRuntimeEnd: 0,
|
|
172
|
+
};
|
|
173
|
+
},
|
|
174
|
+
|
|
175
|
+
getEventCounts: (): $ReadOnlyArray<[string, number]> => {
|
|
176
|
+
return Array.from(eventCounts.entries());
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
createObserver: (
|
|
180
|
+
callback: NativeBatchedObserverCallback,
|
|
181
|
+
): OpaqueNativeObserverHandle => {
|
|
182
|
+
return createMockObserver(callback);
|
|
183
|
+
},
|
|
184
|
+
|
|
185
|
+
getDroppedEntriesCount: (observer: OpaqueNativeObserverHandle): number => {
|
|
186
|
+
return getMockObserver(observer).droppedEntriesCount;
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
observe: (
|
|
190
|
+
observer: OpaqueNativeObserverHandle,
|
|
191
|
+
options: PerformanceObserverInit,
|
|
192
|
+
): void => {
|
|
193
|
+
const mockObserver = getMockObserver(observer);
|
|
194
|
+
mockObserver.options = options;
|
|
195
|
+
observers.add(mockObserver);
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
disconnect: (observer: OpaqueNativeObserverHandle): void => {
|
|
199
|
+
const mockObserver = getMockObserver(observer);
|
|
200
|
+
observers.delete(mockObserver);
|
|
201
|
+
},
|
|
202
|
+
|
|
203
|
+
takeRecords: (
|
|
204
|
+
observer: OpaqueNativeObserverHandle,
|
|
205
|
+
): $ReadOnlyArray<RawPerformanceEntry> => {
|
|
206
|
+
const mockObserver = getMockObserver(observer);
|
|
207
|
+
const observerEntries = mockObserver.entries;
|
|
208
|
+
mockObserver.entries = [];
|
|
209
|
+
return observerEntries.sort((a, b) => a.startTime - b.startTime);
|
|
210
|
+
},
|
|
211
|
+
|
|
212
|
+
clearMarks: (entryName?: string) => {
|
|
213
|
+
if (entryName != null) {
|
|
214
|
+
marks.delete(entryName);
|
|
215
|
+
} else {
|
|
216
|
+
marks.clear();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
entries = entries.filter(
|
|
220
|
+
entry =>
|
|
221
|
+
entry.entryType !== RawPerformanceEntryTypeValues.MARK ||
|
|
222
|
+
(entryName != null && entry.name !== entryName),
|
|
223
|
+
);
|
|
224
|
+
},
|
|
225
|
+
|
|
226
|
+
clearMeasures: (entryName?: string) => {
|
|
227
|
+
entries = entries.filter(
|
|
228
|
+
entry =>
|
|
229
|
+
entry.entryType !== RawPerformanceEntryTypeValues.MEASURE ||
|
|
230
|
+
(entryName != null && entry.name !== entryName),
|
|
231
|
+
);
|
|
232
|
+
},
|
|
233
|
+
|
|
234
|
+
getEntries: (): $ReadOnlyArray<RawPerformanceEntry> => {
|
|
235
|
+
return [...entries].sort((a, b) => a.startTime - b.startTime);
|
|
236
|
+
},
|
|
237
|
+
|
|
238
|
+
getEntriesByName: (
|
|
239
|
+
entryName: string,
|
|
240
|
+
entryType?: ?RawPerformanceEntryType,
|
|
241
|
+
): $ReadOnlyArray<RawPerformanceEntry> => {
|
|
242
|
+
return NativePerformanceMock.getEntries().filter(
|
|
243
|
+
entry =>
|
|
244
|
+
(entryType == null || entry.entryType === entryType) &&
|
|
245
|
+
entry.name === entryName,
|
|
246
|
+
);
|
|
247
|
+
},
|
|
248
|
+
|
|
249
|
+
getEntriesByType: (
|
|
250
|
+
entryType: RawPerformanceEntryType,
|
|
251
|
+
): $ReadOnlyArray<RawPerformanceEntry> => {
|
|
252
|
+
return entries.filter(entry => entry.entryType === entryType);
|
|
253
|
+
},
|
|
254
|
+
|
|
255
|
+
getSupportedPerformanceEntryTypes:
|
|
256
|
+
(): $ReadOnlyArray<RawPerformanceEntryType> => {
|
|
257
|
+
return [
|
|
258
|
+
RawPerformanceEntryTypeValues.MARK,
|
|
259
|
+
RawPerformanceEntryTypeValues.MEASURE,
|
|
260
|
+
RawPerformanceEntryTypeValues.EVENT,
|
|
261
|
+
];
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
(NativePerformanceMock: NativePerformance);
|
|
266
|
+
|
|
267
|
+
export default NativePerformanceMock;
|
|
@@ -199,15 +199,21 @@ async function postInstall(config = {}, options = {}) {
|
|
|
199
199
|
const namespaceCpp = namespace.replace(/\./g, '::');
|
|
200
200
|
|
|
201
201
|
// Update package.json codegen
|
|
202
|
-
await templateUtils.updateProjectPackageJson(
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
202
|
+
await templateUtils.updateProjectPackageJson(
|
|
203
|
+
libConfig,
|
|
204
|
+
libOptions,
|
|
205
|
+
{
|
|
206
|
+
codegenConfig: {
|
|
207
|
+
windows: {
|
|
208
|
+
namespace: namespaceCpp + 'Codegen',
|
|
209
|
+
outputDirectory: `windows/${projectName}/codegen`,
|
|
210
|
+
separateDataTypes: true,
|
|
211
|
+
},
|
|
208
212
|
},
|
|
209
213
|
},
|
|
210
|
-
|
|
214
|
+
true, // save options from command
|
|
215
|
+
true, // if a "files" property exists, make sure "windows" is included
|
|
216
|
+
);
|
|
211
217
|
|
|
212
218
|
if (exExists) {
|
|
213
219
|
const {rnwVersion} = templateUtils.getRnwInfo(exConfig, exOptions);
|
|
@@ -115,6 +115,7 @@ async function updateProjectPackageJson(
|
|
|
115
115
|
options = {},
|
|
116
116
|
props = {},
|
|
117
117
|
saveOptions = true,
|
|
118
|
+
ensureWindowsInFiles = false,
|
|
118
119
|
) {
|
|
119
120
|
const projectRoot = config?.root ?? process.cwd();
|
|
120
121
|
const projectPackage =
|
|
@@ -139,6 +140,15 @@ async function updateProjectPackageJson(
|
|
|
139
140
|
if (options?.logging) {
|
|
140
141
|
console.log(`Modifying ${path.join(projectRoot, 'package.json')}...`);
|
|
141
142
|
}
|
|
143
|
+
|
|
144
|
+
// add "windows" to files if property exists
|
|
145
|
+
if (ensureWindowsInFiles && projectPackage.json.files !== undefined) {
|
|
146
|
+
props.files = projectPackage.json.files;
|
|
147
|
+
if (!props.files.includes('windows')) {
|
|
148
|
+
props.files.push('windows');
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
142
152
|
await projectPackage.mergeProps(props);
|
|
143
153
|
}
|
|
144
154
|
|
package/types/index.d.ts
CHANGED
|
@@ -104,7 +104,6 @@ export * from '../Libraries/Components/View/ViewAccessibility';
|
|
|
104
104
|
export * from '../Libraries/Components/View/ViewPropTypes';
|
|
105
105
|
export * from '../Libraries/Components/Button';
|
|
106
106
|
export * from '../Libraries/Core/registerCallableModule';
|
|
107
|
-
export * from '../Libraries/DevToolsSettings/DevToolsSettingsManager';
|
|
108
107
|
export * from '../Libraries/EventEmitter/NativeEventEmitter';
|
|
109
108
|
export * from '../Libraries/EventEmitter/RCTDeviceEventEmitter';
|
|
110
109
|
export * from '../Libraries/EventEmitter/RCTNativeAppEventEmitter';
|
|
@@ -142,6 +141,7 @@ export * as TurboModuleRegistry from '../Libraries/TurboModule/TurboModuleRegist
|
|
|
142
141
|
export * from '../Libraries/Types/CoreEventTypes';
|
|
143
142
|
export * from '../Libraries/Utilities/Appearance';
|
|
144
143
|
export * from '../Libraries/Utilities/BackHandler';
|
|
144
|
+
export * from '../src/private/devmenu/DevMenu';
|
|
145
145
|
export * from '../Libraries/Utilities/DevSettings';
|
|
146
146
|
export * from '../Libraries/Utilities/Dimensions';
|
|
147
147
|
export * from '../Libraries/Utilities/PixelRatio';
|
|
@@ -86,9 +86,7 @@ export interface NativeMethods {
|
|
|
86
86
|
* _Can also be called with a relativeNativeNodeHandle but is deprecated._
|
|
87
87
|
*/
|
|
88
88
|
measureLayout(
|
|
89
|
-
relativeToNativeComponentRef:
|
|
90
|
-
| React.ElementRef<HostComponent<unknown>>
|
|
91
|
-
| number,
|
|
89
|
+
relativeToNativeComponentRef: HostInstance | number,
|
|
92
90
|
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
93
91
|
onFail?: () => void,
|
|
94
92
|
): void;
|
|
@@ -111,10 +109,6 @@ export interface NativeMethods {
|
|
|
111
109
|
* Removes focus from an input or view. This is the opposite of `focus()`.
|
|
112
110
|
*/
|
|
113
111
|
blur(): void;
|
|
114
|
-
|
|
115
|
-
refs: {
|
|
116
|
-
[key: string]: React.Component<any, any>;
|
|
117
|
-
};
|
|
118
112
|
}
|
|
119
113
|
|
|
120
114
|
/**
|
|
@@ -126,6 +120,8 @@ export type NativeMethodsMixin = NativeMethods;
|
|
|
126
120
|
*/
|
|
127
121
|
export type NativeMethodsMixinType = NativeMethods;
|
|
128
122
|
|
|
123
|
+
export type HostInstance = NativeMethods;
|
|
124
|
+
|
|
129
125
|
/**
|
|
130
126
|
* Represents a native component, such as those returned from `requireNativeComponent`.
|
|
131
127
|
*
|
|
@@ -139,5 +135,5 @@ export interface HostComponent<P>
|
|
|
139
135
|
React.ComponentClass<P>,
|
|
140
136
|
Exclude<keyof React.ComponentClass<P>, 'new'>
|
|
141
137
|
> {
|
|
142
|
-
new (props: P, context?: any): React.Component<P> &
|
|
138
|
+
new (props: P, context?: any): React.Component<P> & HostInstance;
|
|
143
139
|
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import DevSettings from '../Utilities/DevSettings';
|
|
12
|
-
import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager';
|
|
13
|
-
|
|
14
|
-
module.exports = {
|
|
15
|
-
setConsolePatchSettings(newSettings: string) {
|
|
16
|
-
NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings);
|
|
17
|
-
},
|
|
18
|
-
getConsolePatchSettings(): ?string {
|
|
19
|
-
return NativeDevToolsSettingsManager?.getConsolePatchSettings();
|
|
20
|
-
},
|
|
21
|
-
setProfilingSettings(newSettings: string) {
|
|
22
|
-
if (NativeDevToolsSettingsManager?.setProfilingSettings != null) {
|
|
23
|
-
NativeDevToolsSettingsManager.setProfilingSettings(newSettings);
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
getProfilingSettings(): ?string {
|
|
27
|
-
if (NativeDevToolsSettingsManager?.getProfilingSettings != null) {
|
|
28
|
-
return NativeDevToolsSettingsManager.getProfilingSettings();
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
},
|
|
32
|
-
reload(): void {
|
|
33
|
-
DevSettings?.reload();
|
|
34
|
-
},
|
|
35
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
export interface DevToolsSettingsManagerStatic {
|
|
12
|
-
reload(): void;
|
|
13
|
-
setConsolePatchSettings(newSettings: string): void;
|
|
14
|
-
getConsolePatchSettings(): string | null;
|
|
15
|
-
setProfilingSettings(newSettings: string): void;
|
|
16
|
-
getProfilingSettings(): string | null;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const DevToolsSettingsManager: DevToolsSettingsManagerStatic;
|
|
20
|
-
export type DevToolsSettingsManager = DevToolsSettingsManagerStatic;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import Settings from '../Settings/Settings';
|
|
12
|
-
import DevSettings from '../Utilities/DevSettings';
|
|
13
|
-
|
|
14
|
-
const CONSOLE_PATCH_SETTINGS_KEY = 'ReactDevTools::ConsolePatchSettings';
|
|
15
|
-
const PROFILING_SETTINGS_KEY = 'ReactDevTools::ProfilingSettings';
|
|
16
|
-
|
|
17
|
-
const DevToolsSettingsManager = {
|
|
18
|
-
setConsolePatchSettings(newConsolePatchSettings: string): void {
|
|
19
|
-
Settings.set({
|
|
20
|
-
[CONSOLE_PATCH_SETTINGS_KEY]: newConsolePatchSettings,
|
|
21
|
-
});
|
|
22
|
-
},
|
|
23
|
-
getConsolePatchSettings(): ?string {
|
|
24
|
-
const value = Settings.get(CONSOLE_PATCH_SETTINGS_KEY);
|
|
25
|
-
if (typeof value === 'string') {
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
setProfilingSettings(newProfilingSettings: string): void {
|
|
32
|
-
Settings.set({
|
|
33
|
-
[PROFILING_SETTINGS_KEY]: newProfilingSettings,
|
|
34
|
-
});
|
|
35
|
-
},
|
|
36
|
-
getProfilingSettings(): ?string {
|
|
37
|
-
const value = Settings.get(PROFILING_SETTINGS_KEY);
|
|
38
|
-
if (typeof value === 'string') {
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
reload(): void {
|
|
45
|
-
DevSettings?.reload();
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
module.exports = DevToolsSettingsManager;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import DevSettings from '../Utilities/DevSettings';
|
|
12
|
-
import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager';
|
|
13
|
-
|
|
14
|
-
module.exports = {
|
|
15
|
-
setConsolePatchSettings(newSettings: string) {
|
|
16
|
-
NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings);
|
|
17
|
-
},
|
|
18
|
-
getConsolePatchSettings(): ?string {
|
|
19
|
-
return NativeDevToolsSettingsManager?.getConsolePatchSettings();
|
|
20
|
-
},
|
|
21
|
-
setProfilingSettings(newSettings: string) {
|
|
22
|
-
if (NativeDevToolsSettingsManager?.setProfilingSettings != null) {
|
|
23
|
-
NativeDevToolsSettingsManager.setProfilingSettings(newSettings);
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
getProfilingSettings(): ?string {
|
|
27
|
-
if (NativeDevToolsSettingsManager?.getProfilingSettings != null) {
|
|
28
|
-
return NativeDevToolsSettingsManager.getProfilingSettings();
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
},
|
|
32
|
-
reload(): void {
|
|
33
|
-
DevSettings?.reload();
|
|
34
|
-
},
|
|
35
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
export * from '../../src/private/specs/modules/NativeDevToolsSettingsManager';
|
|
12
|
-
import NativeDevToolsSettingsManager from '../../src/private/specs/modules/NativeDevToolsSettingsManager';
|
|
13
|
-
export default NativeDevToolsSettingsManager;
|