diff --git a/change/@office-iss-react-native-win32-15b8af8e-2817-4fc4-895e-77f277fb6a67.json b/change/@office-iss-react-native-win32-15b8af8e-2817-4fc4-895e-77f277fb6a67.json new file mode 100644 index 00000000000..14286961785 --- /dev/null +++ b/change/@office-iss-react-native-win32-15b8af8e-2817-4fc4-895e-77f277fb6a67.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.81.6", + "packageName": "@office-iss/react-native-win32", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-automation-channel-285549e2-c460-4f42-9510-064a168e2e6e.json b/change/@react-native-windows-automation-channel-285549e2-c460-4f42-9510-064a168e2e6e.json new file mode 100644 index 00000000000..e4333172594 --- /dev/null +++ b/change/@react-native-windows-automation-channel-285549e2-c460-4f42-9510-064a168e2e6e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.81.6", + "packageName": "@react-native-windows/automation-channel", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-cli-5c7d6f39-9f8c-4620-81de-f5a07d2b7595.json b/change/@react-native-windows-cli-5c7d6f39-9f8c-4620-81de-f5a07d2b7595.json new file mode 100644 index 00000000000..f863345a0fb --- /dev/null +++ b/change/@react-native-windows-cli-5c7d6f39-9f8c-4620-81de-f5a07d2b7595.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.81.6", + "packageName": "@react-native-windows/cli", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-codegen-a909e63e-d803-4534-8bd4-e0e1b8c10480.json b/change/@react-native-windows-codegen-a909e63e-d803-4534-8bd4-e0e1b8c10480.json new file mode 100644 index 00000000000..59382dd2dc7 --- /dev/null +++ b/change/@react-native-windows-codegen-a909e63e-d803-4534-8bd4-e0e1b8c10480.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.81.6", + "packageName": "@react-native-windows/codegen", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-platform-override-ff9a979f-9095-4e06-9d53-02126b08b818.json b/change/react-native-platform-override-ff9a979f-9095-4e06-9d53-02126b08b818.json new file mode 100644 index 00000000000..5cd136b118d --- /dev/null +++ b/change/react-native-platform-override-ff9a979f-9095-4e06-9d53-02126b08b818.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.81.6", + "packageName": "react-native-platform-override", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-a6717b6d-8f25-45f1-9e2d-e3c33d6cc3b8.json b/change/react-native-windows-a6717b6d-8f25-45f1-9e2d-e3c33d6cc3b8.json new file mode 100644 index 00000000000..3f56a3a9895 --- /dev/null +++ b/change/react-native-windows-a6717b6d-8f25-45f1-9e2d-e3c33d6cc3b8.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.81.6", + "packageName": "react-native-windows", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index 4b1b358f40e..a46843a66d8 100644 --- a/packages/@office-iss/react-native-win32-tester/overrides.json +++ b/packages/@office-iss/react-native-win32-tester/overrides.json @@ -5,7 +5,7 @@ "excludePatterns": [ "src/js/examples-win32/**" ], - "baseVersion": "0.81.5", + "baseVersion": "0.81.6", "overrides": [ { "type": "patch", diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index 6ae03ea4ab6..278da8d06a6 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -18,8 +18,8 @@ }, "peerDependencies": { "@office-iss/react-native-win32": "0.81.3", - "react": "19.1.0", - "react-native": "0.81.5" + "react": "19.1.4", + "react-native": "^0.81.0" }, "devDependencies": { "@office-iss/react-native-win32": "0.81.3", @@ -30,11 +30,11 @@ "@types/node": "^22.14.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.81.5", + "react-native": "0.81.6", "react-native-platform-override": "0.81.0", "typescript": "5.0.4" }, "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 95dfe167ed7..6943128ef12 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,7 +7,7 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.81.5", + "baseVersion": "0.81.6", "overrides": [ { "type": "derived", @@ -21,6 +21,12 @@ "baseFile": "packages/react-native/index.js", "baseHash": "c5d0dfd40d0fb7c197790b1f23f4f8b9ca835047" }, + { + "type": "copy", + "file": "src-win/index.win32.js.flow", + "baseFile": "packages/react-native/index.js.flow", + "baseHash": "bb6c7873aa350c235aad233dd75656237d16d79c" + }, { "type": "platform", "file": "src-win/Libraries/__tests__/ButtonWin32-test.js" @@ -239,6 +245,12 @@ "baseHash": "5d62f4a6c4edfe3007eb3b80704a1dfb68e5ff8a", "issue": 4320 }, + { + "type": "copy", + "file": "src-win/Libraries/Image/Image.win32.js.flow", + "baseFile": "packages/react-native/Libraries/Image/Image.js.flow", + "baseHash": "eaa13a0cc7a34e33dadd9297029339779f489ae3" + }, { "type": "platform", "file": "src-win/Libraries/Image/ImageTypes.ts" @@ -394,7 +406,7 @@ "type": "patch", "file": "src-win/Libraries/Renderer/shims/ReactNativeTypes.win32.js", "baseFile": "packages/react-native/Libraries/Renderer/shims/ReactNativeTypes.js", - "baseHash": "9e91759d01c9a6d459c5781b357533f4ac8727a7", + "baseHash": "7d2d4e348d5e2c324cc6f8884039d1320c470eda", "issue": 0 }, { diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 6fd3617957f..e8bca48ecf7 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -30,19 +30,19 @@ "@react-native-community/cli-platform-android": "17.0.0", "@react-native-community/cli-platform-ios": "17.0.0", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.81.5", - "@react-native/codegen": "0.81.5", - "@react-native/community-cli-plugin": "0.81.5", - "@react-native/gradle-plugin": "0.81.5", - "@react-native/js-polyfills": "0.81.5", - "@react-native/normalize-colors": "0.81.5", - "@react-native/virtualized-lists": "0.81.5", + "@react-native/assets-registry": "0.81.6", + "@react-native/codegen": "0.81.6", + "@react-native/community-cli-plugin": "0.81.6", + "@react-native/gradle-plugin": "0.81.6", + "@react-native/js-polyfills": "0.81.6", + "@react-native/normalize-colors": "0.81.6", + "@react-native/virtualized-lists": "0.81.6", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "art": "^0.10.0", "babel-jest": "^29.7.0", - "babel-plugin-syntax-hermes-parser": "0.28.1", + "babel-plugin-syntax-hermes-parser": "0.29.1", "base64-js": "^1.5.1", "chalk": "^4.0.0", "commander": "^12.0.0", @@ -53,13 +53,13 @@ "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", "metro-runtime": "^0.83.1", - "metro-source-map": "^0.82.2", + "metro-source-map": "^0.83.1", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", "react-clone-referenced-element": "^1.0.1", - "react-devtools-core": "^6.1.1", + "react-devtools-core": "^6.1.5", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.26.0", @@ -72,7 +72,7 @@ "devDependencies": { "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.25.1", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.41", @@ -81,21 +81,21 @@ "@rnx-kit/jest-preset": "^0.1.17", "@types/node": "^22.0.0", "@types/prop-types": "15.7.1", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "eslint": "^8.19.0", "flow-bin": "^0.272.0", "jscodeshift": "^0.14.0", "just-scripts": "^1.3.3", "prettier": "2.8.8", - "react": "19.1.0", - "react-native": "0.81.5", + "react": "19.1.4", + "react-native": "0.81.6", "react-native-platform-override": "0.81.0", "typescript": "5.0.4" }, "peerDependencies": { - "@types/react": "^19.1.0", - "react": "^19.1.0", - "react-native": "0.81.5" + "@types/react": "^19.1.4", + "react": "^19.1.4", + "react-native": "^0.81.0" }, "beachball": { "defaultNpmTag": "latest", @@ -112,4 +112,4 @@ "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Image/Image.win32.js.flow b/packages/@office-iss/react-native-win32/src-win/Libraries/Image/Image.win32.js.flow new file mode 100644 index 00000000000..c87b797d099 --- /dev/null +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Image/Image.win32.js.flow @@ -0,0 +1,27 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import type {ImageType} from './ImageTypes.flow'; + +export type { + ImageProgressEventIOS, + ImagePropsIOS, + ImagePropsAndroid, + ImageSourcePropType, + ImageLoadEvent, + ImageErrorEvent, + ImagePropsBase, + ImageProps, + ImageBackgroundProps, +} from './ImageProps'; + +export type {ImageResolvedAssetSource, ImageSize} from './ImageTypes.flow'; + +declare export default ImageType; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Renderer/shims/ReactNativeTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Renderer/shims/ReactNativeTypes.win32.js index d17feb9416d..bfdc4721ef8 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Renderer/shims/ReactNativeTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Renderer/shims/ReactNativeTypes.win32.js @@ -7,11 +7,15 @@ * @noformat * @nolint * @flow strict - * @generated SignedSource<> + * @generated SignedSource<<9564768e65343249f5e5ee5074826c7f>> */ import type { - // $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native + Component as ReactComponent, + ElementRef, + ElementType, +} from 'react'; +import type { // $FlowFixMe[nonstrict-import] TODO(@rubennorte) HostInstance as PublicInstance, // $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native @@ -25,8 +29,6 @@ import type { PublicTextInstance, } from 'react-native'; -import * as React from 'react'; - export type AttributeType = | true | $ReadOnly<{ @@ -39,7 +41,16 @@ export type AttributeType = export type AnyAttributeType = AttributeType<$FlowFixMe, $FlowFixMe>; export type AttributeConfiguration = $ReadOnly<{ - [propName: string]: AnyAttributeType | void, + [propName: string]: AnyAttributeType, + style?: $ReadOnly<{ + [propName: string]: AnyAttributeType, + ... + }>, + ... +}>; + +export type PartialAttributeConfiguration = $ReadOnly<{ + [propName: string]: AnyAttributeType, style?: $ReadOnly<{ [propName: string]: AnyAttributeType, ... @@ -79,7 +90,7 @@ export type PartialViewConfig = $ReadOnly<{ directEventTypes?: ViewConfig['directEventTypes'], supportsRawText?: boolean, uiViewClassName: string, - validAttributes?: AttributeConfiguration, + validAttributes?: PartialAttributeConfiguration, }>; type InspectorDataProps = $ReadOnly<{ @@ -88,7 +99,7 @@ type InspectorDataProps = $ReadOnly<{ }>; type InspectorDataGetter = ( - ( + ( componentOrHandle: React.ElementRef | number, ) => ?number, ) => $ReadOnly<{ @@ -132,7 +143,7 @@ export type RenderRootOptions = { +componentStack?: ?string, // $FlowFixMe[unclear-type] unknown props and state. // $FlowFixMe[value-as-type] Component in react repo is any-typed, but it will be well typed externally. - +errorBoundary?: ?React.Component, + +errorBoundary?: ?ReactComponent, }, ) => void, onRecoverableError?: ( @@ -146,10 +157,10 @@ export type RenderRootOptions = { * Provide minimal Flow typing for the high-level RN API and call it a day. */ export type ReactNativeType = { - findHostInstance_DEPRECATED( + findHostInstance_DEPRECATED( componentOrHandle: ?(React.ElementRef | number), ): ?PublicInstance, - findNodeHandle( + findNodeHandle( componentOrHandle: ?(React.ElementRef | number), ): ?number, isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean, @@ -175,10 +186,10 @@ export opaque type Node = mixed; export opaque type InternalInstanceHandle = mixed; export type ReactFabricType = { - findHostInstance_DEPRECATED( + findHostInstance_DEPRECATED( componentOrHandle: ?(React.ElementRef | number), ): ?PublicInstance, - findNodeHandle( + findNodeHandle( componentOrHandle: ?(React.ElementRef | number), ): ?number, dispatchCommand( diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js.flow b/packages/@office-iss/react-native-win32/src-win/index.win32.js.flow new file mode 100644 index 00000000000..0d12b06f7c4 --- /dev/null +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js.flow @@ -0,0 +1,456 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +// ---------------------------------------------------------------------------- +// Types entry point for react-native. +// +// Exports of this module define the public API for React Native at development +// time, and are automatically translated to TypeScript when we publish to npm. +// +// IMPORTANT: Keep this file in sync with index.js. Test your changes whenever +// updating React Native's public API. +// ---------------------------------------------------------------------------- + +/// + +// #region Components + +export type {ActivityIndicatorProps} from './Libraries/Components/ActivityIndicator/ActivityIndicator'; +export {default as ActivityIndicator} from './Libraries/Components/ActivityIndicator/ActivityIndicator'; + +export type {ButtonProps} from './Libraries/Components/Button'; +export {default as Button} from './Libraries/Components/Button'; + +export type { + DrawerLayoutAndroidProps, + DrawerSlideEvent, +} from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid'; +export {default as DrawerLayoutAndroid} from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid'; + +export type {FlatListProps} from './Libraries/Lists/FlatList'; +export {default as FlatList} from './Libraries/Lists/FlatList'; + +export type { + ImageBackgroundProps, + ImageErrorEvent, + ImageLoadEvent, + ImageProgressEventIOS, + ImageProps, + ImagePropsAndroid, + ImagePropsBase, + ImagePropsIOS, + ImageResolvedAssetSource, + ImageSize, + ImageSourcePropType, +} from './Libraries/Image/Image'; +export type { + ImageRequireSource, + ImageSource, + ImageURISource, +} from './Libraries/Image/ImageSource'; +export {default as Image} from './Libraries/Image/Image'; +export {default as ImageBackground} from './Libraries/Image/ImageBackground'; + +export type {InputAccessoryViewProps} from './Libraries/Components/TextInput/InputAccessoryView'; +export {default as InputAccessoryView} from './Libraries/Components/TextInput/InputAccessoryView'; + +export type {KeyboardAvoidingViewProps} from './Libraries/Components/Keyboard/KeyboardAvoidingView'; +export {default as KeyboardAvoidingView} from './Libraries/Components/Keyboard/KeyboardAvoidingView'; + +export type {LayoutConformanceProps} from './Libraries/Components/LayoutConformance/LayoutConformance'; +export {default as experimental_LayoutConformance} from './Libraries/Components/LayoutConformance/LayoutConformance'; + +export type { + ModalBaseProps, + ModalProps, + ModalPropsAndroid, + ModalPropsIOS, +} from './Libraries/Modal/Modal'; +export {default as Modal} from './Libraries/Modal/Modal'; + +export type { + PressableAndroidRippleConfig, + PressableProps, + PressableStateCallbackType, +} from './Libraries/Components/Pressable/Pressable'; +export {default as Pressable} from './Libraries/Components/Pressable/Pressable'; + +export type {ProgressBarAndroidProps} from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid'; +export {default as ProgressBarAndroid} from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid'; + +export type { + RefreshControlProps, + RefreshControlPropsAndroid, + RefreshControlPropsIOS, +} from './Libraries/Components/RefreshControl/RefreshControl'; +export {default as RefreshControl} from './Libraries/Components/RefreshControl/RefreshControl'; + +export {default as SafeAreaView} from './Libraries/Components/SafeAreaView/SafeAreaView'; + +export type { + ScrollViewImperativeMethods, + ScrollViewScrollToOptions, + ScrollResponderType, + ScrollViewProps, + ScrollViewPropsAndroid, + ScrollViewPropsIOS, +} from './Libraries/Components/ScrollView/ScrollView'; +export {default as ScrollView} from './Libraries/Components/ScrollView/ScrollView'; + +export type { + SectionListProps, + SectionListRenderItem, + SectionListRenderItemInfo, + SectionListData, +} from './Libraries/Lists/SectionList'; +export {default as SectionList} from './Libraries/Lists/SectionList'; + +export type { + StatusBarAnimation, + StatusBarProps, + StatusBarStyle, +} from './Libraries/Components/StatusBar/StatusBar'; +export {default as StatusBar} from './Libraries/Components/StatusBar/StatusBar'; + +export type { + SwitchChangeEvent, + SwitchProps, +} from './Libraries/Components/Switch/Switch'; +export {default as Switch} from './Libraries/Components/Switch/Switch'; + +export type {TextProps} from './Libraries/Text/Text'; +export {default as Text} from './Libraries/Text/Text'; +export {default as unstable_TextAncestorContext} from './Libraries/Text/TextAncestorContext'; + +export type { + AutoCapitalize, + EnterKeyHintTypeOptions, + KeyboardTypeOptions, + InputModeOptions, + TextContentType, + TextInputAndroidProps, + TextInputIOSProps, + TextInputProps, + TextInputChangeEvent, + TextInputContentSizeChangeEvent, + TextInputEndEditingEvent, + TextInputFocusEvent, + TextInputKeyPressEvent, + TextInputSelectionChangeEvent, + TextInputSubmitEditingEvent, + ReturnKeyTypeOptions, + SubmitBehavior, +} from './Libraries/Components/TextInput/TextInput'; +export {default as TextInput} from './Libraries/Components/TextInput/TextInput'; + +export {default as Touchable} from './Libraries/Components/Touchable/Touchable'; + +export type {TouchableHighlightProps} from './Libraries/Components/Touchable/TouchableHighlight'; +export {default as TouchableHighlight} from './Libraries/Components/Touchable/TouchableHighlight'; + +export type {TouchableNativeFeedbackProps} from './Libraries/Components/Touchable/TouchableNativeFeedback'; +export {default as TouchableNativeFeedback} from './Libraries/Components/Touchable/TouchableNativeFeedback'; + +export type {TouchableOpacityProps} from './Libraries/Components/Touchable/TouchableOpacity'; +export {default as TouchableOpacity} from './Libraries/Components/Touchable/TouchableOpacity'; + +export type {TouchableWithoutFeedbackProps} from './Libraries/Components/Touchable/TouchableWithoutFeedback'; +export {default as TouchableWithoutFeedback} from './Libraries/Components/Touchable/TouchableWithoutFeedback'; + +export type { + AccessibilityActionEvent, + AccessibilityProps, + AccessibilityRole, + AccessibilityState, + AccessibilityValue, + Role, +} from './Libraries/Components/View/ViewAccessibility'; +export type { + GestureResponderHandlers, + TVViewPropsIOS, + ViewProps, + ViewPropsAndroid, + ViewPropsIOS, +} from './Libraries/Components/View/ViewPropTypes'; +export {default as View} from './Libraries/Components/View/View'; + +export type { + ListRenderItemInfo, + ListRenderItem, + Separators, + VirtualizedListProps, +} from './Libraries/Lists/VirtualizedList'; +export {default as VirtualizedList} from './Libraries/Lists/VirtualizedList'; + +export type { + ScrollToLocationParamsType, + SectionBase, + VirtualizedSectionListProps, +} from './Libraries/Lists/VirtualizedSectionList'; +export {default as VirtualizedSectionList} from './Libraries/Lists/VirtualizedSectionList'; + +// #endregion +// #region APIs + +export {default as AccessibilityInfo} from './Libraries/Components/AccessibilityInfo/AccessibilityInfo'; + +export type { + ActionSheetIOSOptions, + ShareActionSheetIOSOptions, + ShareActionSheetError, +} from './Libraries/ActionSheetIOS/ActionSheetIOS'; +export {default as ActionSheetIOS} from './Libraries/ActionSheetIOS/ActionSheetIOS'; + +export type { + AlertType, + AlertButtonStyle, + AlertButton, + AlertOptions, +} from './Libraries/Alert/Alert'; +export {default as Alert} from './Libraries/Alert/Alert'; + +export {default as Animated} from './Libraries/Animated/Animated'; + +export * as Appearance from './Libraries/Utilities/Appearance'; + +export type { + TaskProvider, + ComponentProvider, + ComponentProviderInstrumentationHook, + AppConfig, + Runnable, + Runnables, + Registry, + WrapperComponentProvider, + RootViewStyleProvider, +} from './Libraries/ReactNative/AppRegistry'; +export {AppRegistry} from './Libraries/ReactNative/AppRegistry'; + +export type { + AppStateStatus, + AppStateEvent, +} from './Libraries/AppState/AppState'; +export {default as AppState} from './Libraries/AppState/AppState'; + +export type {BackPressEventName} from './Libraries/Utilities/BackHandler'; +export {default as BackHandler} from './Libraries/Utilities/BackHandler'; + +export {default as Clipboard} from './Libraries/Components/Clipboard/Clipboard'; + +export {default as codegenNativeComponent} from './Libraries/Utilities/codegenNativeComponent'; +export {default as codegenNativeCommands} from './Libraries/Utilities/codegenNativeCommands'; + +export {default as DeviceEventEmitter} from './Libraries/EventEmitter/RCTDeviceEventEmitter'; + +export type {DeviceInfoConstants} from './Libraries/Utilities/DeviceInfo'; +export {default as DeviceInfo} from './Libraries/Utilities/DeviceInfo'; + +export {default as DevMenu} from './src/private/devsupport/devmenu/DevMenu'; +export {default as DevSettings} from './Libraries/Utilities/DevSettings'; + +export type { + DimensionsPayload, + DisplayMetrics, + DisplayMetricsAndroid, + ScaledSize, +} from './Libraries/Utilities/Dimensions'; +export {default as Dimensions} from './Libraries/Utilities/Dimensions'; + +export type {DynamicColorIOSTuple} from './Libraries/StyleSheet/PlatformColorValueTypesIOS'; +export {DynamicColorIOS} from './Libraries/StyleSheet/PlatformColorValueTypesIOS'; + +export type {EasingFunction} from './Libraries/Animated/Easing'; +export {default as Easing} from './Libraries/Animated/Easing'; + +export {findNodeHandle} from './Libraries/ReactNative/RendererProxy'; + +export {default as I18nManager} from './Libraries/ReactNative/I18nManager'; + +export type { + Handle, + PromiseTask, + SimpleTask, +} from './Libraries/Interaction/InteractionManager'; +export {default as InteractionManager} from './Libraries/Interaction/InteractionManager'; + +export type { + AndroidKeyboardEvent, + IOSKeyboardEvent, + KeyboardEvent, + KeyboardEventEasing, + KeyboardEventName, + KeyboardMetrics, +} from './Libraries/Components/Keyboard/Keyboard'; +export {default as Keyboard} from './Libraries/Components/Keyboard/Keyboard'; + +export type { + LayoutAnimationAnim, + LayoutAnimationConfig, + LayoutAnimationProperties, + LayoutAnimationProperty, + LayoutAnimationType, + LayoutAnimationTypes, +} from './Libraries/LayoutAnimation/LayoutAnimation'; +export {default as LayoutAnimation} from './Libraries/LayoutAnimation/LayoutAnimation'; + +export {default as Linking} from './Libraries/Linking/Linking'; + +export type { + ExtendedExceptionData, + IgnorePattern, + LogData, +} from './Libraries/LogBox/LogBox'; +export {default as LogBox} from './Libraries/LogBox/LogBox'; + +export {default as NativeAppEventEmitter} from './Libraries/EventEmitter/RCTNativeAppEventEmitter'; + +export {default as NativeDialogManagerAndroid} from './Libraries/NativeModules/specs/NativeDialogManagerAndroid'; + +export type { + EventSubscription, + EmitterSubscription, + NativeEventSubscription, +} from './Libraries/EventEmitter/NativeEventEmitter'; +export {default as NativeEventEmitter} from './Libraries/EventEmitter/NativeEventEmitter'; +export {default as NativeModules} from './Libraries/BatchedBridge/NativeModules'; +export {default as Networking} from './Libraries/Network/RCTNetworking'; + +export type { + PanResponderCallbacks, + PanResponderGestureState, + PanResponderInstance, +} from './Libraries/Interaction/PanResponder'; +export {default as PanResponder} from './Libraries/Interaction/PanResponder'; + +export type { + Permission, + PermissionStatus, + Rationale, +} from './Libraries/PermissionsAndroid/PermissionsAndroid'; +export {default as PermissionsAndroid} from './Libraries/PermissionsAndroid/PermissionsAndroid'; + +export {default as PixelRatio} from './Libraries/Utilities/PixelRatio'; + +export type { + PlatformOSType, + PlatformSelectSpec, +} from './Libraries/Utilities/PlatformTypes'; +export {default as Platform} from './Libraries/Utilities/Platform'; + +export {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes'; + +export type { + PushNotificationEventName, + PushNotificationPermissions, +} from './Libraries/PushNotificationIOS/PushNotificationIOS'; +export {default as PushNotificationIOS} from './Libraries/PushNotificationIOS/PushNotificationIOS'; + +export type {ProcessedColorValue} from './Libraries/StyleSheet/processColor'; +export {default as processColor} from './Libraries/StyleSheet/processColor'; + +export {default as registerCallableModule} from './Libraries/Core/registerCallableModule'; +export {default as requireNativeComponent} from './Libraries/ReactNative/requireNativeComponent'; + +export type {RootTag} from './Libraries/ReactNative/RootTag'; +export {RootTagContext} from './Libraries/ReactNative/RootTag'; + +export {default as Settings} from './Libraries/Settings/Settings'; + +export type { + ShareAction, + ShareContent, + ShareOptions, +} from './Libraries/Share/Share'; +export {default as Share} from './Libraries/Share/Share'; + +// TODO(T210505449): StyleSheet/StyleSheetTypes exports are incomplete - review +export type { + ColorValue, + ImageStyle, + FilterFunction, + FontVariant, + NativeColorValue, + OpaqueColorValue, + StyleProp, + TextStyle, + TransformsStyle, + ViewStyle, +} from './Libraries/StyleSheet/StyleSheet'; +export type { + BoxShadowValue, + CursorValue, + DimensionValue, + DropShadowValue, + EdgeInsetsValue, + PointValue, +} from './Libraries/StyleSheet/StyleSheetTypes'; +export type {Insets} from './Libraries/StyleSheet/Rect'; +export {default as StyleSheet} from './Libraries/StyleSheet/StyleSheet'; + +export * as Systrace from './Libraries/Performance/Systrace'; +export {default as ToastAndroid} from './Libraries/Components/ToastAndroid/ToastAndroid'; +export * as TurboModuleRegistry from './Libraries/TurboModule/TurboModuleRegistry'; +export {default as UIManager} from './Libraries/ReactNative/UIManager'; +export {unstable_batchedUpdates} from './Libraries/ReactNative/RendererProxy'; +export {default as useAnimatedValue} from './Libraries/Animated/useAnimatedValue'; +export {default as useColorScheme} from './Libraries/Utilities/useColorScheme'; +export {default as useWindowDimensions} from './Libraries/Utilities/useWindowDimensions'; +export {default as UTFSequence} from './Libraries/UTFSequence'; +export {default as Vibration} from './Libraries/Vibration/Vibration'; + +// #endregion +// #region APIs (types only) + +export type { + BlurEvent, + FocusEvent, + GestureResponderEvent, + LayoutChangeEvent, + LayoutRectangle, + MouseEvent, + PointerEvent, + NativeMouseEvent, + NativePointerEvent, + NativeScrollEvent, + NativeSyntheticEvent, + NativeTouchEvent, + NativeUIEvent, + ResponderSyntheticEvent, + ScrollEvent, + TargetedEvent, + TextLayoutEvent, +} from './Libraries/Types/CoreEventTypes'; + +export type {TurboModule} from './Libraries/TurboModule/RCTExport'; +export type * from './Libraries/Types/CodegenTypesNamespace'; + +export type { + HostInstance, + NativeMethods, + NativeMethodsMixin, + MeasureInWindowOnSuccessCallback, + MeasureLayoutOnSuccessCallback, + MeasureOnSuccessCallback, +} from './src/private/types/HostInstance'; +export type {HostComponent} from './src/private/types/HostComponent'; +export type {ColorSchemeName} from './src/private/specs_DEPRECATED/modules/NativeAppearance'; +export type {ErrorUtils} from './Libraries/vendor/core/ErrorUtils'; +export type { + PublicRootInstance, + PublicTextInstance, +} from './Libraries/ReactPrivate/ReactNativePrivateInterface'; + +export { + default as unstable_VirtualView, + VirtualViewMode, +} from './src/private/components/virtualview/VirtualView'; +export type {ModeChangeEvent} from './src/private/components/virtualview/VirtualView'; + +// #endregion diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 9fb1e03e5a9..bcd0bb7a3b6 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -31,8 +31,8 @@ "eslint": "^8.19.0", "just-scripts": "^1.3.2", "prettier": "2.8.8", - "react": "19.1.0", - "react-native": "0.81.5", + "react": "19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4", "typescript": "5.0.4" }, @@ -56,4 +56,4 @@ "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/@react-native-windows/cli/package.json b/packages/@react-native-windows/cli/package.json index 05e92630732..1c1ac2c807a 100644 --- a/packages/@react-native-windows/cli/package.json +++ b/packages/@react-native-windows/cli/package.json @@ -66,7 +66,7 @@ "typescript": "5.0.4" }, "peerDependencies": { - "react-native": "^0.81.0-0" + "react-native": "^0.81.0" }, "files": [ "lib-commonjs", diff --git a/packages/@react-native-windows/codegen/package.json b/packages/@react-native-windows/codegen/package.json index 23acbc4a313..8ff1a8daf04 100644 --- a/packages/@react-native-windows/codegen/package.json +++ b/packages/@react-native-windows/codegen/package.json @@ -47,7 +47,7 @@ "typescript": "5.0.4" }, "peerDependencies": { - "react-native": "^0.81.0-0" + "react-native": "^0.81.0" }, "files": [ "bin.js", diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 6d536b6c619..c3b4ea5443d 100644 --- a/packages/@react-native-windows/tester/overrides.json +++ b/packages/@react-native-windows/tester/overrides.json @@ -5,7 +5,7 @@ "excludePatterns": [ "src/js/examples-win/**" ], - "baseVersion": "0.81.5", + "baseVersion": "0.81.6", "overrides": [ { "type": "copy", diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 38e2779921f..240d46fc531 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -18,14 +18,14 @@ }, "peerDependencies": { "@react-native-picker/picker": "2.11.0", - "react": "19.1.0", - "react-native": "0.81.5", + "react": "19.1.4", + "react-native": "^0.81.0", "react-native-windows": "0.81.4", "react-native-xaml": "^0.0.80" }, "devDependencies": { - "@react-native/tester": "0.81.0-main", "@react-native/new-app-screen": "0.81.5", + "@react-native/tester": "0.81.0-main", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/just-task": "2.3.56", @@ -33,7 +33,7 @@ "@types/node": "^22.14.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.81.5", + "react-native": "0.81.6", "react-native-platform-override": "0.81.0", "react-native-windows": "0.81.4", "typescript": "5.0.4" @@ -41,4 +41,4 @@ "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index 615b317de0c..95105097dcb 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.81.5", + "baseVersion": "0.81.6", "overrides": [ { "type": "patch", "file": "package.json", "baseFile": "package.json", - "baseHash": "314002a051d44cc6eb8b3534367e3001cefed878" + "baseHash": "cab2614b53f8dd64270c2268f8cc995eb52df107" } ] } \ No newline at end of file diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index d3eff2cb876..0a5a885cfbc 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -48,10 +48,10 @@ "@babel/preset-flow": "^7.24.7", "@jest/create-cache-key-function": "^29.7.0", "@microsoft/api-extractor": "^7.52.2", - "@react-native/metro-babel-transformer": "0.81.5", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-babel-transformer": "0.81.6", + "@react-native/metro-config": "0.81.6", "@tsconfig/node22": "22.0.2", - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "@typescript-eslint/parser": "^7.1.1", "ansi-styles": "^4.2.1", "babel-plugin-minify-dead-code-elimination": "^0.5.2", @@ -94,8 +94,8 @@ "nullthrows": "^1.1.1", "prettier": "2.8.8", "prettier-plugin-hermes-parser": "0.29.1", - "react": "19.1.0", - "react-test-renderer": "19.1.0", + "react": "19.1.4", + "react-test-renderer": "19.1.4", "rimraf": "^3.0.2", "shelljs": "^0.8.5", "signedsource": "^1.0.0", @@ -107,6 +107,6 @@ }, "resolutions": { "eslint-plugin-react-hooks": "6.1.0-canary-12bc60f5-20250613", - "react-is": "19.1.0" + "react-is": "19.1.4" } } diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index ee15dc6d3d4..124b89b63cc 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -1,5 +1,5 @@ { - "baseVersion": "0.81.5", + "baseVersion": "0.81.6", "overrides": [ { "type": "copy", @@ -668,7 +668,7 @@ "type": "patch", "file": "package.json", "baseFile": "packages/rn-tester/package.json", - "baseHash": "87a2f745b2a01bf18d96a5549181da94ec94e483", + "baseHash": "651ec25abf3d9d3f9f03f50efe5156c3a6a99817", "issue": 13228 }, { diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json index 96a5b332503..f270cadb994 100644 --- a/packages/@react-native/tester/package.json +++ b/packages/@react-native/tester/package.json @@ -26,15 +26,15 @@ "e2e-test-ios": "./scripts/maestro-test-ios.sh" }, "dependencies": { - "@react-native/new-app-screen": "0.81.5", - "@react-native/popup-menu-android": "0.81.5", + "@react-native/new-app-screen": "0.81.6", + "@react-native/popup-menu-android": "0.81.6", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, "peerDependencies": { - "react": "19.1.0", - "react-native": "^0.81.0-0" + "react": "19.1.4", + "react-native": "*" }, "codegenConfig": { "name": "AppSpecs", diff --git a/packages/@rnw-scripts/babel-react-native-config/package.json b/packages/@rnw-scripts/babel-react-native-config/package.json index 4ed6f53319c..67b9ec31137 100644 --- a/packages/@rnw-scripts/babel-react-native-config/package.json +++ b/packages/@rnw-scripts/babel-react-native-config/package.json @@ -11,16 +11,16 @@ }, "dependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.81.5", + "@react-native/babel-preset": "0.81.6", "babel-plugin-transform-flow-enums": "^0.0.2" }, "devDependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.81.5", + "@react-native/babel-preset": "0.81.6", "eslint": "^8.19.0", "prettier": "2.8.8" }, "engines": { "node": ">= 22" } -} \ No newline at end of file +} diff --git a/packages/@rnw-scripts/eslint-config/package.json b/packages/@rnw-scripts/eslint-config/package.json index 62566f9f748..23f3676ad69 100644 --- a/packages/@rnw-scripts/eslint-config/package.json +++ b/packages/@rnw-scripts/eslint-config/package.json @@ -29,4 +29,4 @@ "engines": { "node": ">= 22" } -} \ No newline at end of file +} diff --git a/packages/@rnw-scripts/just-task/package.json b/packages/@rnw-scripts/just-task/package.json index 345a2afd331..5256ef334e6 100644 --- a/packages/@rnw-scripts/just-task/package.json +++ b/packages/@rnw-scripts/just-task/package.json @@ -45,4 +45,4 @@ "engines": { "node": ">= 22" } -} \ No newline at end of file +} diff --git a/packages/@rnw-scripts/metro-dev-config/package.json b/packages/@rnw-scripts/metro-dev-config/package.json index 2eb7c41328f..de0cda09239 100644 --- a/packages/@rnw-scripts/metro-dev-config/package.json +++ b/packages/@rnw-scripts/metro-dev-config/package.json @@ -17,7 +17,7 @@ "lint:fix": "rnw-scripts lint:fix" }, "dependencies": { - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnx-kit/metro-config": "^2.1.2", "@rnx-kit/metro-plugin-duplicates-checker": "^3.0.2", "@rnx-kit/metro-serializer": "^2.0.3", @@ -33,4 +33,4 @@ "engines": { "node": ">= 22" } -} \ No newline at end of file +} diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index a517afcd9d3..934fb99722f 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -16,11 +16,11 @@ "dependencies": { "@react-native-windows/automation-channel": "0.81.4", "@react-native-windows/tester": "0.0.1", - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", - "react": "^19.1.0", - "react-native": "0.81.5", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4" }, "devDependencies": { @@ -32,7 +32,7 @@ "@react-native-community/cli": "17.0.0", "@react-native-windows/automation": "0.81.4", "@react-native-windows/automation-commands": "0.81.4", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", @@ -43,16 +43,16 @@ "@rnx-kit/jest-preset": "^0.1.16", "@types/jest": "^29.2.2", "@types/node": "^22.14.0", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "babel-jest": "^29.6.3", "eslint": "^8.19.0", "jest": "^29.7.0", "prettier": "2.8.8", - "react-test-renderer": "19.0.0", + "react-test-renderer": "19.1.4", "sanitize-filename": "^1.6.3", "typescript": "5.0.4" }, "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index 186ef414a23..afc41dee68b 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -16,11 +16,11 @@ "@react-native-picker/picker": "^2.5.1", "@react-native-windows/automation-channel": "0.81.4", "@react-native-windows/tester": "0.0.1", - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", - "react": "^19.1.0", - "react-native": "0.81.5", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4", "react-native-xaml": "^0.0.80" }, @@ -33,7 +33,7 @@ "@react-native-community/cli": "17.0.0", "@react-native-windows/automation": "0.81.4", "@react-native-windows/automation-commands": "0.81.4", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", @@ -43,16 +43,16 @@ "@rnx-kit/jest-preset": "^0.1.17", "@types/jest": "^29.2.2", "@types/node": "^22.14.0", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "babel-jest": "^29.6.3", "eslint": "^8.19.0", "jest": "^29.7.0", "prettier": "2.8.8", - "react-test-renderer": "19.0.0", + "react-test-renderer": "19.1.4", "sanitize-filename": "^1.6.3", "typescript": "5.0.4" }, "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index cf71eb02962..711ba043eb6 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -12,12 +12,12 @@ "dependencies": { "@react-native-windows/automation-channel": "0.81.4", "@react-native-windows/fs": "0.81.0", - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "chai": "^4.2.0", - "react": "^19.1.0", - "react-native": "0.81.5", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4" }, "devDependencies": { @@ -28,7 +28,7 @@ "@babel/traverse": "^7.11.5", "@babel/types": "^7.11.5", "@react-native-community/cli": "17.0.0", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/eslint-config": "^1.2.37", "@rnw-scripts/just-task": "^2.3.56", diff --git a/packages/playground/package.json b/packages/playground/package.json index 6fea4b4b89a..f1a6de3ca9d 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -11,32 +11,32 @@ "dependencies": { "@react-native-picker/picker": "^2.5.1", "@react-native-windows/tester": "0.0.1", - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", - "react": "^19.1.0", - "react-native": "0.81.5", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4" }, "devDependencies": { "@babel/core": "^7.25.2", "@babel/runtime": "^7.20.0", "@react-native-community/cli": "17.0.0", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/just-task": "2.3.56", "@rnw-scripts/metro-dev-config": "0.0.0", "@rnw-scripts/ts-config": "2.0.6", "@types/node": "^22.14.0", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "eslint": "^8.19.0", "just-scripts": "^1.3.3", "prettier": "2.8.8", - "react-test-renderer": "19.0.0", + "react-test-renderer": "19.1.4", "sample-custom-component": "0.0.1" }, "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/react-native-platform-override/package.json b/packages/react-native-platform-override/package.json index 75e278c004b..5a107a0285d 100644 --- a/packages/react-native-platform-override/package.json +++ b/packages/react-native-platform-override/package.json @@ -70,7 +70,7 @@ "typescript": "5.0.4" }, "peerDependencies": { - "react-native": "^0.81.0-0" + "react-native": "^0.81.0" }, "beachball": { "defaultNpmTag": "latest", diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index dde606c245c..46e8cb00832 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -12,12 +12,12 @@ "bundle": "rnw-scripts prepareBundle && npx @react-native-community/cli bundle --platform windows --entry-file App.tsx --bundle-output windows/SampleAppFabric/Bundle/app.windows.bundle --assets-dest windows/SampleAppFabric/Bundle" }, "dependencies": { - "@types/react": "^19.1.0", + "@react-native/new-app-screen": "0.81.5", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", - "@react-native/new-app-screen": "0.81.5", - "react": "^19.1.0", - "react-native": "0.81.5", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4" }, "devDependencies": { @@ -28,7 +28,7 @@ "@babel/runtime": "^7.20.0", "@jest/globals": "^29.7.0", "@react-native-community/cli": "17.0.0", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", @@ -36,17 +36,17 @@ "@rnw-scripts/metro-dev-config": "0.0.0", "@rnw-scripts/ts-config": "2.0.6", "@rnx-kit/jest-preset": "^0.1.16", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "@types/react-test-renderer": "^19.0.0", "babel-jest": "^29.6.3", "eslint": "^8.19.0", "jest": "^29.7.0", "just-scripts": "^1.3.3", "prettier": "2.8.8", - "react-test-renderer": "19.0.0", + "react-test-renderer": "19.1.4", "typescript": "5.0.4" }, "engines": { "node": ">=18" } -} +} \ No newline at end of file diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index 92a46d21820..a0da404e5ee 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -12,11 +12,11 @@ "windows": "npx @react-native-community/cli run-windows" }, "dependencies": { - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", - "react": "^19.1.0", - "react-native": "0.81.5", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4" }, "devDependencies": { @@ -26,17 +26,17 @@ "@react-native-community/cli": "17.0.0", "@react-native-windows/cli": "0.81.2", "@react-native-windows/codegen": "0.81.2", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/just-task": "2.3.56", "@rnw-scripts/metro-dev-config": "0.0.0", "@types/node": "^22.14.0", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "eslint": "^8.19.0", "just-scripts": "^1.3.3", "prettier": "2.8.8", - "react-test-renderer": "19.0.0" + "react-test-renderer": "19.1.4" }, "codegenConfig": { "name": "SampleApp", @@ -50,4 +50,4 @@ "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 9af78d34dca..f9f37d82c19 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -20,9 +20,9 @@ } }, "dependencies": { - "@types/react": "^19.1.0", - "react": "^19.1.0", - "react-native": "0.81.5", + "@types/react": "^19.1.4", + "react": "^19.1.4", + "react-native": "0.81.6", "react-native-windows": "0.81.4" }, "devDependencies": { @@ -32,7 +32,7 @@ "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.20.0", "@react-native-community/cli": "17.0.0", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", @@ -40,7 +40,7 @@ "@rnw-scripts/metro-dev-config": "0.0.0", "@rnw-scripts/ts-config": "2.0.6", "@rnx-kit/jest-preset": "^0.1.16", - "@types/react": "^19.0.0", + "@types/react": "^19.1.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "babel-jest": "^29.6.3", @@ -53,4 +53,4 @@ "engines": { "node": ">=18" } -} +} \ No newline at end of file diff --git a/vnext/overrides.json b/vnext/overrides.json index 0bd1c97711d..34be48c4391 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -8,7 +8,7 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.81.5", + "baseVersion": "0.81.6", "overrides": [ { "type": "derived", @@ -629,7 +629,7 @@ "type": "patch", "file": "src-win/Libraries/Renderer/shims/ReactNativeTypes.windows.js", "baseFile": "packages/react-native/Libraries/Renderer/shims/ReactNativeTypes.js", - "baseHash": "9e91759d01c9a6d459c5781b357533f4ac8727a7", + "baseHash": "7d2d4e348d5e2c324cc6f8884039d1320c470eda", "issue": 4578 }, { diff --git a/vnext/package.json b/vnext/package.json index f25b9c1b7c2..b1fe9bcc059 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -28,19 +28,19 @@ "@react-native-community/cli-platform-ios": "17.0.0", "@react-native-windows/cli": "0.81.2", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.81.5", - "@react-native/codegen": "0.81.5", - "@react-native/community-cli-plugin": "0.81.5", - "@react-native/gradle-plugin": "0.81.5", - "@react-native/js-polyfills": "0.81.5", - "@react-native/normalize-colors": "0.81.5", - "@react-native/virtualized-lists": "0.81.5", + "@react-native/assets-registry": "0.81.6", + "@react-native/codegen": "0.81.6", + "@react-native/community-cli-plugin": "0.81.6", + "@react-native/gradle-plugin": "0.81.6", + "@react-native/js-polyfills": "0.81.6", "@react-native/new-app-screen": "0.81.5", + "@react-native/normalize-colors": "0.81.6", + "@react-native/virtualized-lists": "0.81.6", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", - "babel-plugin-syntax-hermes-parser": "0.28.1", + "babel-plugin-syntax-hermes-parser": "0.29.1", "base64-js": "^1.5.1", "chalk": "^4.0.0", "commander": "^12.0.0", @@ -51,12 +51,12 @@ "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", "metro-runtime": "^0.83.1", - "metro-source-map": "^0.82.2", + "metro-source-map": "^0.83.1", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", - "react-devtools-core": "^6.1.1", + "react-devtools-core": "^6.1.5", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.26.0", @@ -69,7 +69,7 @@ }, "devDependencies": { "@react-native-windows/codegen": "0.81.2", - "@react-native/metro-config": "0.81.5", + "@react-native/metro-config": "0.81.6", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.41", @@ -77,22 +77,22 @@ "@rnw-scripts/metro-dev-config": "0.0.0", "@rnx-kit/jest-preset": "^0.1.17", "@types/node": "^22.14.0", - "@types/react": "^19.1.0", + "@types/react": "^19.1.4", "eslint": "^8.19.0", "flow-bin": "^0.274.2", "jscodeshift": "^0.14.0", "just-scripts": "^1.3.3", "prettier": "2.8.8", - "react": "19.1.0", - "react-native": "0.81.5", + "react": "19.1.4", + "react-native": "0.81.6", "react-native-platform-override": "0.81.0", "react-refresh": "^0.14.0", "typescript": "5.0.4" }, "peerDependencies": { - "@types/react": "^19.1.0", - "react": "^19.1.0", - "react-native": "0.81.5" + "@types/react": "^19.1.4", + "react": "^19.1.4", + "react-native": "^0.81.0" }, "beachball": { "defaultNpmTag": "latest", @@ -151,4 +151,4 @@ "engines": { "node": ">= 22" } -} +} \ No newline at end of file diff --git a/vnext/src-win/Libraries/Renderer/shims/ReactNativeTypes.windows.js b/vnext/src-win/Libraries/Renderer/shims/ReactNativeTypes.windows.js index d17feb9416d..bfdc4721ef8 100644 --- a/vnext/src-win/Libraries/Renderer/shims/ReactNativeTypes.windows.js +++ b/vnext/src-win/Libraries/Renderer/shims/ReactNativeTypes.windows.js @@ -7,11 +7,15 @@ * @noformat * @nolint * @flow strict - * @generated SignedSource<> + * @generated SignedSource<<9564768e65343249f5e5ee5074826c7f>> */ import type { - // $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native + Component as ReactComponent, + ElementRef, + ElementType, +} from 'react'; +import type { // $FlowFixMe[nonstrict-import] TODO(@rubennorte) HostInstance as PublicInstance, // $FlowFixMe[missing-export] TODO(@rubennorte) - Missing export from react-native @@ -25,8 +29,6 @@ import type { PublicTextInstance, } from 'react-native'; -import * as React from 'react'; - export type AttributeType = | true | $ReadOnly<{ @@ -39,7 +41,16 @@ export type AttributeType = export type AnyAttributeType = AttributeType<$FlowFixMe, $FlowFixMe>; export type AttributeConfiguration = $ReadOnly<{ - [propName: string]: AnyAttributeType | void, + [propName: string]: AnyAttributeType, + style?: $ReadOnly<{ + [propName: string]: AnyAttributeType, + ... + }>, + ... +}>; + +export type PartialAttributeConfiguration = $ReadOnly<{ + [propName: string]: AnyAttributeType, style?: $ReadOnly<{ [propName: string]: AnyAttributeType, ... @@ -79,7 +90,7 @@ export type PartialViewConfig = $ReadOnly<{ directEventTypes?: ViewConfig['directEventTypes'], supportsRawText?: boolean, uiViewClassName: string, - validAttributes?: AttributeConfiguration, + validAttributes?: PartialAttributeConfiguration, }>; type InspectorDataProps = $ReadOnly<{ @@ -88,7 +99,7 @@ type InspectorDataProps = $ReadOnly<{ }>; type InspectorDataGetter = ( - ( + ( componentOrHandle: React.ElementRef | number, ) => ?number, ) => $ReadOnly<{ @@ -132,7 +143,7 @@ export type RenderRootOptions = { +componentStack?: ?string, // $FlowFixMe[unclear-type] unknown props and state. // $FlowFixMe[value-as-type] Component in react repo is any-typed, but it will be well typed externally. - +errorBoundary?: ?React.Component, + +errorBoundary?: ?ReactComponent, }, ) => void, onRecoverableError?: ( @@ -146,10 +157,10 @@ export type RenderRootOptions = { * Provide minimal Flow typing for the high-level RN API and call it a day. */ export type ReactNativeType = { - findHostInstance_DEPRECATED( + findHostInstance_DEPRECATED( componentOrHandle: ?(React.ElementRef | number), ): ?PublicInstance, - findNodeHandle( + findNodeHandle( componentOrHandle: ?(React.ElementRef | number), ): ?number, isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean, @@ -175,10 +186,10 @@ export opaque type Node = mixed; export opaque type InternalInstanceHandle = mixed; export type ReactFabricType = { - findHostInstance_DEPRECATED( + findHostInstance_DEPRECATED( componentOrHandle: ?(React.ElementRef | number), ): ?PublicInstance, - findNodeHandle( + findNodeHandle( componentOrHandle: ?(React.ElementRef | number), ): ?number, dispatchCommand( diff --git a/yarn.lock b/yarn.lock index e0820013669..b464a9bedc1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2162,28 +2162,28 @@ resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.11.4.tgz#7fb09506ee00a82989125cc03e8495204c8afc01" integrity sha512-Kf8h1AMnBo54b1fdiVylP2P/iFcZqzpMYcglC28EEFB1DEnOjsNr6Ucqc+3R9e91vHxEDnhZFbYDmAe79P2gjA== -"@react-native/assets-registry@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.81.5.tgz#d22c924fa6f6d4a463c5af34ce91f38756c0fa7d" - integrity sha512-705B6x/5Kxm1RKRvSv0ADYWm5JOnoiQ1ufW7h8uu2E6G9Of/eE6hP/Ivw3U5jI16ERqZxiKQwk34VJbB0niX9w== +"@react-native/assets-registry@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.81.6.tgz#4a9edfa209e4ef43adb372cbf481a7c4ff2e7342" + integrity sha512-nNlJ7mdXFoq/7LMG3eJIncqjgXkpDJak3xO8Lb4yQmFI3XVI1nupPRjlYRY0ham1gLE0F/AWvKFChsKUfF5lOQ== "@react-native/assets@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/babel-plugin-codegen@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.5.tgz#328d03f42c32b5a8cc2dee1aa84a7c48dddc5f18" - integrity sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ== +"@react-native/babel-plugin-codegen@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.6.tgz#cbdd282ecc49cd0992274559285fc22a03b8b26b" + integrity sha512-OBx6/S0h0MEAoUXhRCWBu00+Oz0gCcHzduTHN++qnK7cIZUhxASUdplYzBZTtTdtA+Zr0bDzH05EsXq718WgFA== dependencies: "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.81.5" + "@react-native/codegen" "0.81.6" -"@react-native/babel-preset@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.81.5.tgz#e8b7969d21f87ef4e41e603248e8a70c44b4a5bb" - integrity sha512-UoI/x/5tCmi+pZ3c1+Ypr1DaRMDLI3y+Q70pVLLVgrnC3DHsHRIbHcCHIeG/IJvoeFqFM2sTdhSOLJrf8lOPrA== +"@react-native/babel-preset@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.81.6.tgz#ba0df249c1e163196959d7f18acffb887a869567" + integrity sha512-RtIr82ccPoyMLmIC3/vCG96MzRmIT+IzQkjCgTS5b93uAxiER9BS7+d1l7+zD00VanClt6CTBM4K4n6RCnAykg== dependencies: "@babel/core" "^7.25.2" "@babel/plugin-proposal-export-default-from" "^7.24.7" @@ -2226,15 +2226,15 @@ "@babel/plugin-transform-typescript" "^7.25.2" "@babel/plugin-transform-unicode-regex" "^7.24.7" "@babel/template" "^7.25.0" - "@react-native/babel-plugin-codegen" "0.81.5" + "@react-native/babel-plugin-codegen" "0.81.6" babel-plugin-syntax-hermes-parser "0.29.1" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.81.5.tgz#d4dec668c94b9d58a5c2dbdbf026db331e1b6b27" - integrity sha512-a2TDA03Up8lpSa9sh5VRGCQDXgCTOyDOFH+aqyinxp1HChG8uk89/G+nkJ9FPd0rqgi25eCTR16TWdS3b+fA6g== +"@react-native/codegen@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.81.6.tgz#202b4f2b65dc053aae7936c88539e7faac885ca8" + integrity sha512-9KoYRep/KDnELLLmIYTtIIEOClVUJ88pxWObb/0sjkacA7uL4SgfbAg7rWLURAQJWI85L1YS67IhdEqNNk1I7w== dependencies: "@babel/core" "^7.25.2" "@babel/parser" "^7.25.3" @@ -2244,12 +2244,12 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/community-cli-plugin@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.5.tgz#617789cda4da419d03dda00e2a78c36188b4391e" - integrity sha512-yWRlmEOtcyvSZ4+OvqPabt+NS36vg0K/WADTQLhrYrm9qdZSuXmq8PmdJWz/68wAqKQ+4KTILiq2kjRQwnyhQw== +"@react-native/community-cli-plugin@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.6.tgz#36bc92887b1bd9136fe2068b8f9e90cf89cc9afc" + integrity sha512-oTwIheF4TU7NkfoHxwSQAKtIDx4SQEs2xufgM3gguY7WkpnhGa/BYA/A+hdHXfqEKJFKlHcXQu4BrV/7Sv1fhw== dependencies: - "@react-native/dev-middleware" "0.81.5" + "@react-native/dev-middleware" "0.81.6" debug "^4.4.0" invariant "^2.2.4" metro "^0.83.1" @@ -2257,18 +2257,18 @@ metro-core "^0.83.1" semver "^7.1.3" -"@react-native/debugger-frontend@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.81.5.tgz#82ece0181e9a7a3dcbdfa86cf9decd654e13f81f" - integrity sha512-bnd9FSdWKx2ncklOetCgrlwqSGhMHP2zOxObJbOWXoj7GHEmih4MKarBo5/a8gX8EfA1EwRATdfNBQ81DY+h+w== +"@react-native/debugger-frontend@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.81.6.tgz#4ab46d4158c4dae8e130bddf4ad865533387d186" + integrity sha512-aGw28yzbtm25GQuuxNeVAT72tLuGoH0yh79uYOIZkvjI+5x1NjZyPrgiLZ2LlZi5dJdxfbz30p1zUcHvcAzEZw== -"@react-native/dev-middleware@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.81.5.tgz#81e8ac545d7736ef6ebb2e59fdbaebc5cf9aedec" - integrity sha512-WfPfZzboYgo/TUtysuD5xyANzzfka8Ebni6RIb2wDxhb56ERi7qDrE4xGhtPsjCL4pQBXSVxyIlCy0d8I6EgGA== +"@react-native/dev-middleware@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.81.6.tgz#da944605511ee751fb014a5c64a6177884bcff6c" + integrity sha512-mK2M3gJ25LtgtqxS1ZXe1vHrz8APOA79Ot/MpbLeovFgLu6YJki0kbO5MRpJagTd+HbesVYSZb/BhAsGN7QAXA== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.81.5" + "@react-native/debugger-frontend" "0.81.6" chrome-launcher "^0.15.2" chromium-edge-launcher "^0.2.0" connect "^3.6.5" @@ -2302,33 +2302,33 @@ resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.79.0-nightly-20250123-d1028885e.tgz#7983608a83b724ab2f31d2e84e67fb5f9a7ad3b1" integrity sha512-vYrjxRh3wvL9MmmmsO52keyONK8O7CqayB1gvgSf/EeptcnnCpd0YdJ06NU54aB3zh6p+k4vkxHliNFqpBTFBg== -"@react-native/gradle-plugin@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.81.5.tgz#a58830f38789f6254b64449a17fe57455b589d00" - integrity sha512-hORRlNBj+ReNMLo9jme3yQ6JQf4GZpVEBLxmTXGGlIL78MAezDZr5/uq9dwElSbcGmLEgeiax6e174Fie6qPLg== +"@react-native/gradle-plugin@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.81.6.tgz#d0c6d95bf6549a86c4cfbfd9317bc24717e791fb" + integrity sha512-atUItC5MZ6yaNaI0sbsoDwUdF+KMNZcMKBIrNhXlUyIj3x1AQ6Cf8CHHv6Qokn8ZFw+uU6GWmQSiOWYUbmi8Ag== -"@react-native/js-polyfills@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.81.5.tgz#2ca68188c8fff9b951f507b1dec7efe928848274" - integrity sha512-fB7M1CMOCIUudTRuj7kzxIBTVw2KXnsgbQ6+4cbqSxo8NmRRhA0Ul4ZUzZj3rFd3VznTL4Brmocv1oiN0bWZ8w== +"@react-native/js-polyfills@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.81.6.tgz#7db75e5cf8d834e5a17548b4b271076dffaa1ba7" + integrity sha512-P5MWH/9vM24XkJ1TasCq42DMLoCUjZVSppTn6VWv/cI65NDjuYEy7bUSaXbYxGTnqiKyPG5Y+ADymqlIkdSAcw== -"@react-native/metro-babel-transformer@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.81.5.tgz#758b18bcb9b62996e828a48f400b5b9d80a8735e" - integrity sha512-Vwm6gJ3VlP+QKAEU98v1dwZKqbUcIYP47K614SktA9dYDOtw+rEBjyzvNf69S4YG5JRvDmzw36E9zxtcg6ABOw== +"@react-native/metro-babel-transformer@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.81.6.tgz#6ca2003325b2c166a6503cceb5bf5bd603695433" + integrity sha512-Z5up8Z1I6PAgY6Z78yXmRJHps5d8FqQIYbAALmSyg5tmtrJyd04JgrwEWhwH1HQsxB5beWwQRntA5WUfWNlQPA== dependencies: "@babel/core" "^7.25.2" - "@react-native/babel-preset" "0.81.5" + "@react-native/babel-preset" "0.81.6" hermes-parser "0.29.1" nullthrows "^1.1.1" -"@react-native/metro-config@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.81.5.tgz#a9d25e2ce409647241823e0ab2cebafcbc468b26" - integrity sha512-3Q0jQt5Zcen4+udkE0XQIS8VmI+vx3sWl5R2o36vHkg8eXpiQjvz/jY0sZmC8ahailiEWEscFklQzhTmizhdPQ== +"@react-native/metro-config@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.81.6.tgz#e73866f3b399c1b6aeac76da40d03fee036d5c61" + integrity sha512-tdLKkC1Dv0EW6dayL0pAItbdWhrVZDCiTcyb43cLtkeaQYpJgXeRX+1PsmkFywZDn/ojxiGxe/HLg5yZH0gbdA== dependencies: - "@react-native/js-polyfills" "0.81.5" - "@react-native/metro-babel-transformer" "0.81.5" + "@react-native/js-polyfills" "0.81.6" + "@react-native/metro-babel-transformer" "0.81.6" metro-config "^0.83.1" metro-runtime "^0.83.1" @@ -2337,22 +2337,27 @@ resolved "https://registry.yarnpkg.com/@react-native/new-app-screen/-/new-app-screen-0.81.5.tgz#daee62c12e1ae67f3ab8abd868c2628857005826" integrity sha512-9Vi4TtS9vJho+/Kpw5sEHS80PLqiNqSJ0dJ51Rz9Bfbc8d/B474SlHtwefH0UqeWGJ+t4+MFlWKVvvoIh/EL/A== -"@react-native/normalize-colors@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.81.5.tgz#1ca6cb6772bb7324df2b11aab35227eacd6bdfe7" - integrity sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g== +"@react-native/new-app-screen@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/new-app-screen/-/new-app-screen-0.81.6.tgz#2b2b93b441bb57538871b5a2442b4cf1dd4f721b" + integrity sha512-goxnVoJIZmnu5Qm3tLaNIj1NtKJ4k1i1yfnJmDGjnSHgvNrYeh1q6Dwk3dFmTSIg+R4DOJ09oIGv98Fugr4wZg== -"@react-native/popup-menu-android@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.81.5.tgz#71d05dafe39af76e9bd65a49f014389e1c483587" - integrity sha512-eTI2htsqwNFx1Er2FysmZ3WAuU8IpwhNaMBKIosxdl32RgaWyVDvRUiXKePsbOushxfhuQZqbmJkaPDrppnP/Q== +"@react-native/normalize-colors@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.81.6.tgz#c35f294ddea9fd0e3c5bf0471492d157efcb4c1c" + integrity sha512-/OCgUysHIFhfmZxbJAydVc58l2SGIZbWpbQXBrYEYch8YElBbDFQ8IUtyogB7YJJQ8ewHZFj93rQGaECgkvvcw== + +"@react-native/popup-menu-android@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.81.6.tgz#ba8eb19d5bd2b29e856b9594345a7554a253a2fc" + integrity sha512-nua/d7rDeIkUSKKuwAgI8Vi1EkPoquqa2IOTn8/v20sJiEH+qHHFN+0hlcfDaJ7guSPLbf3TfO5uM/I/mBWW8w== dependencies: nullthrows "^1.1.1" -"@react-native/virtualized-lists@0.81.5": - version "0.81.5" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.81.5.tgz#24123fded16992d7e46ecc4ccd473be939ea8c1b" - integrity sha512-UVXgV/db25OPIvwZySeToXD/9sKKhOdkcWmmf4Jh8iBZuyfML+/5CasaZ1E7Lqg6g3uqVQq75NqIwkYmORJMPw== +"@react-native/virtualized-lists@0.81.6": + version "0.81.6" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.81.6.tgz#b034b1c4b41b87ced61bfd52bb6f95eb7e591db0" + integrity sha512-1RrZl3a7iCoAS2SGaRLjJPIn8bg/GLNXzqkIB2lufXcJsftu1umNLRIi17ZoDRejAWSd2pUfUtQBASo4R2mw4Q== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" @@ -2991,12 +2996,12 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^19.0.0", "@types/react@^19.1.0": - version "19.1.8" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.8.tgz#ff8395f2afb764597265ced15f8dddb0720ae1c3" - integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g== +"@types/react@*", "@types/react@^19.0.0", "@types/react@^19.1.4": + version "19.2.14" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.14.tgz#39604929b5e3957e3a6fa0001dafb17c7af70bad" + integrity sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w== dependencies: - csstype "^3.0.2" + csstype "^3.2.2" "@types/readline-sync@^1.4.4": version "1.4.8" @@ -4029,13 +4034,6 @@ babel-plugin-replace-ts-export-assignment@^0.0.2: resolved "https://registry.yarnpkg.com/babel-plugin-replace-ts-export-assignment/-/babel-plugin-replace-ts-export-assignment-0.0.2.tgz#927a30ba303fcf271108980a8d4f80a693e1d53f" integrity sha512-BiTEG2Ro+O1spuheL5nB289y37FFmz0ISE6GjpNCG2JuA/WNcuEHSYw01+vN8quGf208sID3FnZFDwVyqX18YQ== -babel-plugin-syntax-hermes-parser@0.28.1: - version "0.28.1" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz#9e80a774ddb8038307a62316486669c668fb3568" - integrity sha512-meT17DOuUElMNsL5LZN56d+KBp22hb0EfxWfuPUeoSi54e40v1W4C2V36P75FpsH9fVEfDKpw5Nnkahc8haSsQ== - dependencies: - hermes-parser "0.28.1" - babel-plugin-syntax-hermes-parser@0.29.1: version "0.29.1" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz#09ca9ecb0330eba1ef939b6d3f1f55bb06a9dc33" @@ -4943,10 +4941,10 @@ css-value@^0.0.1: resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea" integrity sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q== -csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +csstype@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" + integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== damerau-levenshtein@^1.0.8: version "1.0.8" @@ -6774,11 +6772,6 @@ hermes-estree@0.23.1: resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.23.1.tgz#d0bac369a030188120ee7024926aabe5a9f84fdb" integrity sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg== -hermes-estree@0.28.1: - version "0.28.1" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24" - integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ== - hermes-estree@0.29.1: version "0.29.1" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.29.1.tgz#043c7db076e0e8ef8c5f6ed23828d1ba463ebcc5" @@ -6803,13 +6796,6 @@ hermes-parser@0.23.1: dependencies: hermes-estree "0.23.1" -hermes-parser@0.28.1: - version "0.28.1" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.28.1.tgz#17b9e6377f334b6870a1f6da2e123fdcd0b605ac" - integrity sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg== - dependencies: - hermes-estree "0.28.1" - hermes-parser@0.29.1: version "0.29.1" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.29.1.tgz#436b24bcd7bb1e71f92a04c396ccc0716c288d56" @@ -8756,22 +8742,6 @@ metro-runtime@0.83.3, metro-runtime@^0.83.1: "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" -metro-source-map@0.82.5, metro-source-map@^0.82.2: - version "0.82.5" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.5.tgz#85e2e9672bff6d6cefb3b65b96fcc69f929c69c6" - integrity sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw== - dependencies: - "@babel/traverse" "^7.25.3" - "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3" - "@babel/types" "^7.25.2" - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-symbolicate "0.82.5" - nullthrows "^1.1.1" - ob1 "0.82.5" - source-map "^0.5.6" - vlq "^1.0.0" - metro-source-map@0.83.3, metro-source-map@^0.83.1: version "0.83.3" resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.3.tgz#04bb464f7928ea48bcdfd18912c8607cf317c898" @@ -8788,18 +8758,6 @@ metro-source-map@0.83.3, metro-source-map@^0.83.1: source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.82.5: - version "0.82.5" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz#b53255cad11f1e6795f319ca4b41857bfe295d65" - integrity sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw== - dependencies: - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-source-map "0.82.5" - nullthrows "^1.1.1" - source-map "^0.5.6" - vlq "^1.0.0" - metro-symbolicate@0.83.3: version "0.83.3" resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.3.tgz#67af03950f0dfe19a7c059e3983e39a31e95d03a" @@ -9552,13 +9510,6 @@ nullthrows@^1.1.1: resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -ob1@0.82.5: - version "0.82.5" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.5.tgz#a2860e39385f4602bc2666c46f331b7531b94a8b" - integrity sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ== - dependencies: - flow-enums-runtime "^0.0.6" - ob1@0.83.3: version "0.83.3" resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.3.tgz#2208e20c9070e9beff3ad067f2db458fa6b07014" @@ -10329,7 +10280,7 @@ react-clone-referenced-element@^1.0.1: resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.1.1.tgz#8d76727dc0459788e461741e804a512d20757381" integrity sha512-LZBPvQV8W0B5dFzXFu+D3Tpil8YHS8tO00iFsfXcTLdtpuH7XyvaHqHcoz4hd4uNPQCZ30fceh+s7mLznzMXvg== -react-devtools-core@^6.1.1, react-devtools-core@^6.1.5: +react-devtools-core@^6.1.5: version "6.1.5" resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-6.1.5.tgz#c5eca79209dab853a03b2158c034c5166975feee" integrity sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA== @@ -10352,15 +10303,10 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== -react-is@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" - integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== - -react-is@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.0.tgz#805bce321546b7e14c084989c77022351bbdd11b" - integrity sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg== +react-is@^19.1.4: + version "19.2.4" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.4.tgz#a080758243c572ccd4a63386537654298c99d135" + integrity sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA== react-native-xaml@^0.0.80: version "0.0.80" @@ -10369,19 +10315,19 @@ react-native-xaml@^0.0.80: dependencies: "@types/react" "^19.0.0" -react-native@0.81.5: - version "0.81.5" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.81.5.tgz#6c963f137d3979b22aef2d8482067775c8fe2fed" - integrity sha512-1w+/oSjEXZjMqsIvmkCRsOc8UBYv163bTWKTI8+1mxztvQPhCRYGTvZ/PL1w16xXHneIj/SLGfxWg2GWN2uexw== +react-native@0.81.6: + version "0.81.6" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.81.6.tgz#29c6ab26ee071b421aa1be7c47f2281009e8a557" + integrity sha512-X/tI8GqfzVaa+zfbE4+lySNN5UzwBIAVRHVZPKymOny9Acc5GYYcjAcEVfG3AM4h920YALWoSl8favnDmQEWIg== dependencies: "@jest/create-cache-key-function" "^29.7.0" - "@react-native/assets-registry" "0.81.5" - "@react-native/codegen" "0.81.5" - "@react-native/community-cli-plugin" "0.81.5" - "@react-native/gradle-plugin" "0.81.5" - "@react-native/js-polyfills" "0.81.5" - "@react-native/normalize-colors" "0.81.5" - "@react-native/virtualized-lists" "0.81.5" + "@react-native/assets-registry" "0.81.6" + "@react-native/codegen" "0.81.6" + "@react-native/community-cli-plugin" "0.81.6" + "@react-native/gradle-plugin" "0.81.6" + "@react-native/js-polyfills" "0.81.6" + "@react-native/normalize-colors" "0.81.6" + "@react-native/virtualized-lists" "0.81.6" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" @@ -10414,26 +10360,23 @@ react-refresh@^0.14.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== -react-test-renderer@19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.0.0.tgz#ca6fa322c58d4bfa34635788fe242a8c3daa4c7d" - integrity sha512-oX5u9rOQlHzqrE/64CNr0HB0uWxkCQmZNSfozlYvwE71TLVgeZxVf0IjouGEr1v7r1kcDifdAJBeOhdhxsG/DA== +react-test-renderer@19.1.4: + version "19.1.4" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.1.4.tgz#1be80fc16f6733d9a0ac41cabb9daad39f165ace" + integrity sha512-dmcR2lSwouaNJKNRd53eeZHuWjF4YYZIq/q6wLiVz50ENrkU/Pds+pS+4XyJ/nwWmjA1ZhHxAp+vfR8A9PEcYQ== dependencies: - react-is "^19.0.0" - scheduler "^0.25.0" - -react-test-renderer@19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.1.0.tgz#89e1baa9e45a6da064b9760f92251d5b8e1f34ab" - integrity sha512-jXkSl3CpvPYEF+p/eGDLB4sPoDX8pKkYvRl9+rR8HxLY0X04vW7hCm1/0zHoUSjPZ3bDa+wXWNTDVIw/R8aDVw== - dependencies: - react-is "^19.1.0" + react-is "^19.1.4" scheduler "^0.26.0" -react@19.1.0, react@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" - integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== +react@19.1.4: + version "19.1.4" + resolved "https://registry.yarnpkg.com/react/-/react-19.1.4.tgz#d8a59f8ce3257cb383474586be4c8aab92afefa7" + integrity sha512-DHINL3PAmPUiK1uszfbKiXqfE03eszdt5BpVSuEAHb5nfmNPwnsy7g39h2t8aXFc/Bv99GH81s+j8dobtD+jOw== + +react@^19.1.4: + version "19.2.4" + resolved "https://registry.yarnpkg.com/react/-/react-19.2.4.tgz#438e57baa19b77cb23aab516cf635cd0579ee09a" + integrity sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ== read-yaml-file@^2.1.0: version "2.1.0" @@ -10867,11 +10810,6 @@ scheduler@0.26.0, scheduler@^0.26.0: resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== -scheduler@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015" - integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== - screenshot-desktop@^1.12.2: version "1.15.3" resolved "https://registry.yarnpkg.com/screenshot-desktop/-/screenshot-desktop-1.15.3.tgz#59c1abd904e21a5870d8930263db591923cc2eae"