diff --git a/change/@office-iss-react-native-win32-4fcd2187-3a89-4669-bab3-147be4c9ff1e.json b/change/@office-iss-react-native-win32-4fcd2187-3a89-4669-bab3-147be4c9ff1e.json new file mode 100644 index 00000000000..441aaf2e3a2 --- /dev/null +++ b/change/@office-iss-react-native-win32-4fcd2187-3a89-4669-bab3-147be4c9ff1e.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Apply build fixes for RN 0.85.0-nightly-20260114-f15985f4f integration", + "packageName": "@office-iss/react-native-win32", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@react-native-windows-automation-channel-d085bc3e-56eb-4291-af3a-733115c2553c.json b/change/@react-native-windows-automation-channel-d085bc3e-56eb-4291-af3a-733115c2553c.json new file mode 100644 index 00000000000..30ec58dea3c --- /dev/null +++ b/change/@react-native-windows-automation-channel-d085bc3e-56eb-4291-af3a-733115c2553c.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Integrate RN 0.85.0-nightly-20260114-f15985f4f", + "packageName": "@react-native-windows/automation-channel", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@react-native-windows-cli-0703d6d5-d299-46fc-8f59-b988f4b07f3f.json b/change/@react-native-windows-cli-0703d6d5-d299-46fc-8f59-b988f4b07f3f.json new file mode 100644 index 00000000000..ef3da5e2ac5 --- /dev/null +++ b/change/@react-native-windows-cli-0703d6d5-d299-46fc-8f59-b988f4b07f3f.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Integrate RN 0.85.0-nightly-20260114-f15985f4f", + "packageName": "@react-native-windows/cli", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@react-native-windows-perf-testing-6a111923-e2cd-48ee-9c62-5a406da44981.json b/change/@react-native-windows-perf-testing-6a111923-e2cd-48ee-9c62-5a406da44981.json new file mode 100644 index 00000000000..7e15e0c0516 --- /dev/null +++ b/change/@react-native-windows-perf-testing-6a111923-e2cd-48ee-9c62-5a406da44981.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Integrate RN 0.85.0-nightly-20260114-f15985f4f", + "packageName": "@react-native-windows/perf-testing", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/react-native-windows-50159fa2-219d-4ce2-bd90-8234b04e566b.json b/change/react-native-windows-50159fa2-219d-4ce2-bd90-8234b04e566b.json new file mode 100644 index 00000000000..707bd4e8a6e --- /dev/null +++ b/change/react-native-windows-50159fa2-219d-4ce2-bd90-8234b04e566b.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Integrate RN 0.85.0-nightly-20260114-f15985f4f", + "packageName": "react-native-windows", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/react-native-windows-init-84435d52-4728-45c0-93c1-25808ab2b420.json b/change/react-native-windows-init-84435d52-4728-45c0-93c1-25808ab2b420.json new file mode 100644 index 00000000000..1c8835692c8 --- /dev/null +++ b/change/react-native-windows-init-84435d52-4728-45c0-93c1-25808ab2b420.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "Integrate RN 0.85.0-nightly-20260114-f15985f4f", + "packageName": "react-native-windows-init", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/package.json b/package.json index d659c74714d..8593871a5ea 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "prettier": "^3.6.2", "prettier-plugin-hermes-parser": "0.21.1", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-platform-override": "0.0.0-canary.1017", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index da88374e9f6..4741976cf06 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.84.0-nightly-20260107-58bc6c3e3", + "baseVersion": "0.85.0-nightly-20260114-f15985f4f", "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 d15c0ec3eb1..05c57fdc805 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -11,7 +11,7 @@ "validate-overrides": "react-native-platform-override validate" }, "dependencies": { - "@react-native/tester": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/tester": "0.85.0-nightly-20260114-f15985f4f", "@typescript-eslint/eslint-plugin": "^8.36.0", "@typescript-eslint/parser": "^8.36.0", "flow-enums-runtime": "^0.0.6" @@ -19,7 +19,7 @@ "peerDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.311", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3" + "react-native": "0.85.0-nightly-20260114-f15985f4f" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.311", @@ -32,7 +32,7 @@ "just-scripts": "^1.3.3", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-platform-override": "0.0.0-canary.1022", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index e9a3ecc4210..a98df672e58 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -175,4 +175,4 @@ untyped-import untyped-type-import [version] -^0.295.0 +^0.296.1 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 5f733c4f0b3..3b27e2e4531 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,13 +7,13 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.84.0-nightly-20260107-58bc6c3e3", + "baseVersion": "0.85.0-nightly-20260114-f15985f4f", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "49be0404a6bbdf103616a7506ad8a27874048119" + "baseHash": "3e63114f0431abfd021daff6285787377f3f464f" }, { "type": "derived", @@ -66,7 +66,7 @@ "type": "derived", "file": "src-win/Libraries/Components/Button.win32.js", "baseFile": "packages/react-native/Libraries/Components/Button.js", - "baseHash": "ef86e2343f5213a5f230c63a1ddf12cbe6fa946c" + "baseHash": "86868c251bb5f5f62af9562cd6513ca1d5ee172d" }, { "type": "platform", @@ -91,7 +91,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Pressable/Pressable.win32.js", "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js", - "baseHash": "b8d87e48400468e702509ad24dab05f0a492aa19", + "baseHash": "5ff66c1735078860d360204d9e4471c05cf0fb1e", "issue": 6240 }, { @@ -114,13 +114,13 @@ "type": "derived", "file": "src-win/Libraries/Components/TextInput/TextInput.flow.win32.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.flow.js", - "baseHash": "e36bacf69caef9e59e1f62f9ee4335c6879ef0ed" + "baseHash": "6ea370fcabb5bb0db9682ed28ed832d971937caa" }, { "type": "derived", "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "cc397bb3c850bb0a02f4b3134fdcbc2d9b597b80" + "baseHash": "dd89cd7044a790007febaeb8ef6c40e4c9cbdf41" }, { "type": "patch", @@ -159,7 +159,7 @@ "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js", - "baseHash": "d48f21572fc72cf6d79df5aac775fb67d4f1abb4" + "baseHash": "7adb86e9810269266c8d1f9d252dc541a7030b75" }, { "type": "platform", @@ -195,7 +195,7 @@ "type": "derived", "file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js", - "baseHash": "3cc8eebf202cb43189f4c2cb91db01b622572411" + "baseHash": "a4e4e6f4bf2df4685da8fa72a0dc63aee8c4b5db" }, { "type": "derived", @@ -207,7 +207,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/ViewPropTypes.win32.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js", - "baseHash": "3f85fd36b8c098a91f965e9150e53d77ff3aa432", + "baseHash": "138a0f01dfe3524a61cf585461867fd522e49964", "issue": 6240 }, { @@ -296,32 +296,32 @@ "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js", - "baseHash": "9554eb5c48570b8a84a6fa77addccd816d0dbacf" + "baseHash": "c53eedb18ebef127f2306a42708b032ce03307c5" }, { "type": "patch", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorHeader.js", - "baseHash": "614a9137be35124ce4d555c3e766568a690a9937", + "baseHash": "3d342d4c28ce5deafecf22682522fdb275ae41bf", "issue": 7952 }, { "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js", - "baseHash": "cdf958aebabbe9067d34a2df3e6f2fe7ce09f51e" + "baseHash": "47de16261eb2a5397b4bab247153fbcd8d7a3076" }, { "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js", - "baseHash": "ccbfc8413dc7bd26eb7bc9726b273f1cf23b1c70" + "baseHash": "cebcc81fbc845286a04ffa5c1585155b058fd0b0" }, { "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js", - "baseHash": "f91edc40bb2bb20bb94be69e6d8af2aa8d53ca8e", + "baseHash": "b498a05f1276dca29f4e44d0eb5fd80bcc8a4222", "issue": 5885 }, { @@ -371,7 +371,7 @@ "type": "patch", "file": "src-win/Libraries/Pressability/Pressability.win32.js", "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js", - "baseHash": "10801e10120946aa4c721d13f3b8f455d0f43db8", + "baseHash": "623bd2db2402499786aa79161ec7bfa10577a404", "issue": 6240 }, { @@ -431,26 +431,26 @@ "type": "derived", "file": "src-win/Libraries/Text/Text.win32.js", "baseFile": "packages/react-native/Libraries/Text/Text.js", - "baseHash": "914f50544d09bc3bfe2ea3e34951e47e52d2dd87" + "baseHash": "74cfb0cdb33d310206989381bccd0e00a7900078" }, { "type": "derived", "file": "src-win/Libraries/Text/TextNativeComponent.win32.js", "baseFile": "packages/react-native/Libraries/Text/TextNativeComponent.js", - "baseHash": "e1c95809fd0819c130f77dc2a61399b01b5dd687", + "baseHash": "48d3dec45a0737147f7dbaa53b81bd4514ec3773", "issue": 7074 }, { "type": "derived", "file": "src-win/Libraries/Text/TextProps.win32.js", "baseFile": "packages/react-native/Libraries/Text/TextProps.js", - "baseHash": "ddeedf097aec999824c4e9d246fdf6fefd61dc76" + "baseHash": "7c4f916e4b08bcffaed10144506ff99b0781fc20" }, { "type": "patch", "file": "src-win/Libraries/Types/CoreEventTypes.win32.js", "baseFile": "packages/react-native/Libraries/Types/CoreEventTypes.js", - "baseHash": "5834bb306dcf85772546feae7af58a875196d309", + "baseHash": "f28ed059b210c9552fde4b43521980ba02f18c33", "issue": 6240 }, { @@ -464,7 +464,7 @@ "type": "derived", "file": "src-win/Libraries/Utilities/Dimensions.win32.js", "baseFile": "packages/react-native/Libraries/Utilities/Dimensions.js", - "baseHash": "58a45ebaadbfa79e4e1463738ff85d6dcf8348ea" + "baseHash": "23420f7f7fe6d90fc8c9cc84aaf6424cbf12c0b2" }, { "type": "platform", @@ -503,7 +503,7 @@ "type": "patch", "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js", "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js", - "baseHash": "90277c8c54231153433c8e5ef9d0478a41a9138c", + "baseHash": "8d8ffd25d13e27e78900e3e90a686df9e2339159", "issue": 11041 }, { diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 4ea786b5772..3d813b21aaa 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -30,13 +30,13 @@ "@react-native-community/cli-platform-android": "20.0.0", "@react-native-community/cli-platform-ios": "20.0.0", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/codegen": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/community-cli-plugin": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/gradle-plugin": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/js-polyfills": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/normalize-colors": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/virtualized-lists": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/assets-registry": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/codegen": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/community-cli-plugin": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/gradle-plugin": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/js-polyfills": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/normalize-colors": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/virtualized-lists": "0.85.0-nightly-20260114-f15985f4f", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -75,7 +75,7 @@ "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.25.1", "@babel/preset-env": "^7.25.3", - "@react-native/metro-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.42", @@ -87,19 +87,19 @@ "@types/prop-types": "15.7.1", "@types/react": "^19.2.3", "eslint": "^8.19.0", - "flow-bin": "^0.295.0", + "flow-bin": "^0.296.1", "jscodeshift": "^0.14.0", "just-scripts": "^1.3.3", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-platform-override": "0.0.0-canary.1022", "typescript": "5.0.4" }, "peerDependencies": { "@types/react": "^19.2.3", "react": "^19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3" + "react-native": "0.85.0-nightly-20260114-f15985f4f" }, "beachball": { "defaultNpmTag": "canary", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Button.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Button.win32.js index e80c74f4c4e..622418c8343 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Button.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Button.win32.js @@ -28,7 +28,7 @@ import View from './View/View'; import invariant from 'invariant'; import * as React from 'react'; -export type ButtonProps = $ReadOnly<{ +export type ButtonProps = Readonly<{ /** Text to display inside the button. On Android the given title will be converted to the uppercased form. diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js index 21ec9dac9ed..18e3f4d400e 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js @@ -36,11 +36,11 @@ import View from '../View/View'; export type {PressableAndroidRippleConfig}; -export type PressableStateCallbackType = $ReadOnly<{ +export type PressableStateCallbackType = Readonly<{ pressed: boolean, }>; -type PressableBaseProps = $ReadOnly<{ +type PressableBaseProps = Readonly<{ /** * Whether a press gesture can be interrupted by a parent gesture such as a * scroll event. Defaults to true. @@ -203,7 +203,7 @@ type PressableBaseProps = $ReadOnly<{ unstable_pressDelay?: ?number, }>; -export type PressableProps = $ReadOnly<{ +export type PressableProps = Readonly<{ // Pressability may override `onMouseEnter` and `onMouseLeave` to // implement `onHoverIn` and `onHoverOut` in a platform-agnostic way. // Hover events should be used instead of mouse events. diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.flow.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.flow.win32.js index aa586528bb1..72028efc19a 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.flow.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.flow.win32.js @@ -25,7 +25,7 @@ import * as React from 'react'; /** * @see TextInputProps.onChange */ -type TextInputChangeEventData = $ReadOnly<{ +type TextInputChangeEventData = Readonly<{ eventCount: number, target: number, text: string, @@ -35,10 +35,10 @@ export type TextInputChangeEvent = NativeSyntheticEvent; export type TextInputEvent = NativeSyntheticEvent< - $ReadOnly<{ + Readonly<{ eventCount: number, previousText: string, - range: $ReadOnly<{ + range: Readonly<{ start: number, end: number, }>, @@ -47,9 +47,9 @@ export type TextInputEvent = NativeSyntheticEvent< }>, >; -type TextInputContentSizeChangeEventData = $ReadOnly<{ +type TextInputContentSizeChangeEventData = Readonly<{ target: number, - contentSize: $ReadOnly<{ + contentSize: Readonly<{ width: number, height: number, }>, @@ -73,17 +73,17 @@ export type TextInputBlurEvent = BlurEvent; */ export type TextInputFocusEvent = FocusEvent; -type TargetEvent = $ReadOnly<{ +type TargetEvent = Readonly<{ target: number, ... }>; -export type Selection = $ReadOnly<{ +export type Selection = Readonly<{ start: number, end: number, }>; -type TextInputSelectionChangeEventData = $ReadOnly<{ +type TextInputSelectionChangeEventData = Readonly<{ ...TargetEvent, selection: Selection, ... @@ -95,7 +95,7 @@ type TextInputSelectionChangeEventData = $ReadOnly<{ export type TextInputSelectionChangeEvent = NativeSyntheticEvent; -type TextInputKeyPressEventData = $ReadOnly<{ +type TextInputKeyPressEventData = Readonly<{ ...TargetEvent, key: string, target?: ?number, @@ -109,7 +109,7 @@ type TextInputKeyPressEventData = $ReadOnly<{ export type TextInputKeyPressEvent = NativeSyntheticEvent; -type TextInputEndEditingEventData = $ReadOnly<{ +type TextInputEndEditingEventData = Readonly<{ ...TargetEvent, eventCount: number, text: string, @@ -122,7 +122,7 @@ type TextInputEndEditingEventData = $ReadOnly<{ export type TextInputEndEditingEvent = NativeSyntheticEvent; -type TextInputSubmitEditingEventData = $ReadOnly<{ +type TextInputSubmitEditingEventData = Readonly<{ ...TargetEvent, eventCount: number, text: string, @@ -266,7 +266,7 @@ export type EnterKeyHintTypeOptions = type PasswordRules = string; -export type TextInputIOSProps = $ReadOnly<{ +export type TextInputIOSProps = Readonly<{ /** * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false. * @platform ios @@ -403,7 +403,7 @@ export type TextInputIOSProps = $ReadOnly<{ smartInsertDelete?: ?boolean, }>; -export type TextInputAndroidProps = $ReadOnly<{ +export type TextInputAndroidProps = Readonly<{ /** * When provided it will set the color of the cursor (or "caret") in the component. * Unlike the behavior of `selectionColor` the cursor color will be set independently @@ -514,7 +514,7 @@ export type TextInputAndroidProps = $ReadOnly<{ // [Windows -type SubmitKeyEvent = $ReadOnly<{| +type SubmitKeyEvent = Readonly<{| altKey?: ?boolean, ctrlKey?: ?boolean, metaKey?: ?boolean, @@ -522,7 +522,7 @@ type SubmitKeyEvent = $ReadOnly<{| code: string, |}>; -export type TextInputWindowsProps = $ReadOnly<{| +export type TextInputWindowsProps = Readonly<{| /** * If `true`, clears the text field synchronously before `onSubmitEditing` is emitted. * @platform windows @@ -538,7 +538,7 @@ export type TextInputWindowsProps = $ReadOnly<{| // Windows] -type TextInputBaseProps = $ReadOnly<{ +type TextInputBaseProps = Readonly<{ /** * When provided, the text input will only accept drag and drop events for the specified * types. If null or not provided, the text input will accept all types of drag and drop events. @@ -979,7 +979,7 @@ type TextInputBaseProps = $ReadOnly<{ * The start and end of the text input's selection. Set start and end to * the same value to position the cursor. */ - selection?: ?$ReadOnly<{ + selection?: ?Readonly<{ start: number, end?: ?number, }>, @@ -1064,7 +1064,7 @@ type TextInputBaseProps = $ReadOnly<{ textAlign?: ?('left' | 'center' | 'right'), }>; -export type TextInputProps = $ReadOnly<{ +export type TextInputProps = Readonly<{ ...Omit, ...TextInputIOSProps, ...TextInputAndroidProps, @@ -1201,8 +1201,8 @@ type InternalTextInput = component( ...TextInputProps ); -export type TextInputComponentStatics = $ReadOnly<{ - State: $ReadOnly<{ +export type TextInputComponentStatics = Readonly<{ + State: Readonly<{ currentlyFocusedInput: () => ?HostInstance, currentlyFocusedField: () => ?number, focusTextInput: (textField: ?HostInstance) => void, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js index 706c39e0f55..66e292e6944 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js @@ -133,7 +133,7 @@ export type { TextInputWindowsProps, // [Windows] }; -type TextInputStateType = $ReadOnly<{ +type TextInputStateType = Readonly<{ /** * @deprecated Use currentlyFocusedInput * Returns the ID of the currently focused text field, if one exists @@ -1102,7 +1102,7 @@ TextInput.State = { focusTextInput: TextInputState.focusTextInput, }; -export type TextInputComponentStatics = $ReadOnly<{ +export type TextInputComponentStatics = Readonly<{ State: TextInputStateType, }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js index 19e791a4090..d827bfc1b15 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js @@ -67,7 +67,7 @@ type TouchableNativeFeedbackTVProps = { nextFocusUp?: ?number, }; -export type TouchableNativeFeedbackProps = $ReadOnly<{ +export type TouchableNativeFeedbackProps = Readonly<{ ...TouchableWithoutFeedbackProps, ...TouchableNativeFeedbackTVProps, /** @@ -85,14 +85,14 @@ export type TouchableNativeFeedbackProps = $ReadOnly<{ * type is available on Android API level 21+ */ background?: ?( - | $ReadOnly<{ + | Readonly<{ type: 'ThemeAttrAndroid', attribute: | 'selectableItemBackground' | 'selectableItemBackgroundBorderless', rippleRadius: ?number, }> - | $ReadOnly<{ + | Readonly<{ type: 'RippleAndroid', color: ?number, borderless: boolean, @@ -114,7 +114,7 @@ export type TouchableNativeFeedbackProps = $ReadOnly<{ tooltip?: string, // Win32 }>; -type TouchableNativeFeedbackState = $ReadOnly<{ +type TouchableNativeFeedbackState = Readonly<{ pressability: Pressability, }>; @@ -138,7 +138,7 @@ class TouchableNativeFeedback extends React.Component< * * @param rippleRadius The radius of ripple effect */ - static SelectableBackground: (rippleRadius?: ?number) => $ReadOnly<{ + static SelectableBackground: (rippleRadius?: ?number) => Readonly<{ attribute: 'selectableItemBackground', type: 'ThemeAttrAndroid', rippleRadius: ?number, @@ -155,7 +155,7 @@ class TouchableNativeFeedback extends React.Component< * * @param rippleRadius The radius of ripple effect */ - static SelectableBackgroundBorderless: (rippleRadius?: ?number) => $ReadOnly<{ + static SelectableBackgroundBorderless: (rippleRadius?: ?number) => Readonly<{ attribute: 'selectableItemBackgroundBorderless', type: 'ThemeAttrAndroid', rippleRadius: ?number, @@ -180,7 +180,7 @@ class TouchableNativeFeedback extends React.Component< color: string, borderless: boolean, rippleRadius?: ?number, - ) => $ReadOnly<{ + ) => Readonly<{ borderless: boolean, color: ?number, rippleRadius: ?number, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js index 109d3a751c1..04765d5484c 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js @@ -165,7 +165,7 @@ export type AccessibilityActionName = | 'escape'; // the info associated with an accessibility action -export type AccessibilityActionInfo = $ReadOnly<{ +export type AccessibilityActionInfo = Readonly<{ name: AccessibilityActionName | string, label?: string, ... @@ -173,7 +173,7 @@ export type AccessibilityActionInfo = $ReadOnly<{ // The info included in the event sent to onAccessibilityAction export type AccessibilityActionEvent = NativeSyntheticEvent< - $ReadOnly<{actionName: string, ...}>, + Readonly<{actionName: string, ...}>, >; export type AccessibilityState = { @@ -202,7 +202,7 @@ export type AccessibilityState = { ... }; -export type AccessibilityValue = $ReadOnly<{ +export type AccessibilityValue = Readonly<{ /** * The minimum value of this component's range. (should be an integer) */ @@ -224,7 +224,7 @@ export type AccessibilityValue = $ReadOnly<{ text?: Stringish, }>; -export type AccessibilityPropsAndroid = $ReadOnly<{ +export type AccessibilityPropsAndroid = Readonly<{ /** * Identifies the element that labels the element it is applied to. When the assistive technology focuses on the component with this props, * the text is read aloud. The value should should match the nativeID of the related element. @@ -273,7 +273,7 @@ export type AccessibilityPropsAndroid = $ReadOnly<{ importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'), }>; -export type AccessibilityPropsIOS = $ReadOnly<{ +export type AccessibilityPropsIOS = Readonly<{ /** * Prevents view from being inverted if set to true and color inversion is turned on. * @@ -335,7 +335,7 @@ export type AccessibilityPropsIOS = $ReadOnly<{ accessibilityLanguage?: ?Stringish, }>; -export type AccessibilityProps = $ReadOnly<{ +export type AccessibilityProps = Readonly<{ ...AccessibilityPropsAndroid, ...AccessibilityPropsIOS, /** diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js index 7f315385f68..5363998843a 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js @@ -34,7 +34,7 @@ import * as React from 'react'; export type ViewLayout = LayoutRectangle; export type ViewLayoutEvent = LayoutChangeEvent; -type DirectEventProps = $ReadOnly<{ +type DirectEventProps = Readonly<{ /** * When `accessible` is true, the system will try to invoke this function * when the user performs an accessibility custom action. @@ -80,13 +80,13 @@ type DirectEventProps = $ReadOnly<{ onAccessibilityEscape?: ?() => unknown, }>; -type MouseEventProps = $ReadOnly<{ +type MouseEventProps = Readonly<{ onMouseEnter?: ?(event: MouseEvent) => void, onMouseLeave?: ?(event: MouseEvent) => void, }>; // Experimental/Work in Progress Pointer Event Callbacks (not yet ready for use) -type PointerEventProps = $ReadOnly<{ +type PointerEventProps = Readonly<{ onClick?: ?(event: PointerEvent) => void, onClickCapture?: ?(event: PointerEvent) => void, onPointerEnter?: ?(event: PointerEvent) => void, @@ -111,21 +111,21 @@ type PointerEventProps = $ReadOnly<{ onLostPointerCaptureCapture?: ?(e: PointerEvent) => void, }>; -type FocusEventProps = $ReadOnly<{ +type FocusEventProps = Readonly<{ onBlur?: ?(event: BlurEvent) => void, onBlurCapture?: ?(event: BlurEvent) => void, onFocus?: ?(event: FocusEvent) => void, onFocusCapture?: ?(event: FocusEvent) => void, }>; -type KeyEventProps = $ReadOnly<{ +type KeyEventProps = Readonly<{ onKeyDown?: ?(event: KeyDownEvent) => void, onKeyDownCapture?: ?(event: KeyDownEvent) => void, onKeyUp?: ?(event: KeyUpEvent) => void, onKeyUpCapture?: ?(event: KeyUpEvent) => void, }>; -type TouchEventProps = $ReadOnly<{ +type TouchEventProps = Readonly<{ onTouchCancel?: ?(e: GestureResponderEvent) => void, onTouchCancelCapture?: ?(e: GestureResponderEvent) => void, onTouchEnd?: ?(e: GestureResponderEvent) => void, @@ -141,7 +141,7 @@ type TouchEventProps = $ReadOnly<{ * `TouchableHighlight` or `TouchableOpacity`. Check out `Touchable.js`, * `ScrollResponder.js` and `ResponderEventPlugin.js` for more discussion. */ -export type GestureResponderHandlers = $ReadOnly<{ +export type GestureResponderHandlers = Readonly<{ /** * Does this view want to "claim" touch responsiveness? This is called for * every touch move on the `View` when it is not the responder. @@ -258,12 +258,12 @@ export type GestureResponderHandlers = $ReadOnly<{ onStartShouldSetResponderCapture?: ?(e: GestureResponderEvent) => boolean, }>; -type AndroidDrawableThemeAttr = $ReadOnly<{ +type AndroidDrawableThemeAttr = Readonly<{ type: 'ThemeAttrAndroid', attribute: string, }>; -type AndroidDrawableRipple = $ReadOnly<{ +type AndroidDrawableRipple = Readonly<{ type: 'RippleAndroid', color?: ?number, borderless?: ?boolean, @@ -272,7 +272,7 @@ type AndroidDrawableRipple = $ReadOnly<{ type AndroidDrawable = AndroidDrawableThemeAttr | AndroidDrawableRipple; -export type ViewPropsAndroid = $ReadOnly<{ +export type ViewPropsAndroid = Readonly<{ nativeBackgroundAndroid?: ?AndroidDrawable, nativeForegroundAndroid?: ?AndroidDrawable, @@ -357,7 +357,7 @@ export type ViewPropsAndroid = $ReadOnly<{ onClick?: ?(event: GestureResponderEvent) => unknown, }>; -export type TVViewPropsIOS = $ReadOnly<{ +export type TVViewPropsIOS = Readonly<{ /** * *(Apple TV only)* When set to true, this view will be focusable * and navigable using the Apple TV remote. @@ -402,7 +402,7 @@ export type TVViewPropsIOS = $ReadOnly<{ tvParallaxMagnification?: number, }>; -export type ViewPropsIOS = $ReadOnly<{ +export type ViewPropsIOS = Readonly<{ /** * Whether this `View` should be rendered as a bitmap before compositing. * @@ -413,7 +413,7 @@ export type ViewPropsIOS = $ReadOnly<{ shouldRasterizeIOS?: ?boolean, }>; -type ViewBaseProps = $ReadOnly<{ +type ViewBaseProps = Readonly<{ children?: React.Node, style?: ?ViewStyleProp, @@ -533,7 +533,7 @@ type ViewBaseProps = $ReadOnly<{ }>; // [Windows -export type HandledKeyboardEvent = $ReadOnly<{| +export type HandledKeyboardEvent = Readonly<{| altKey?: ?boolean, ctrlKey?: ?boolean, metaKey?: ?boolean, @@ -542,7 +542,7 @@ export type HandledKeyboardEvent = $ReadOnly<{| handledEventPhase?: number, |}>; -type ViewPropsWindows = $ReadOnly<{| +type ViewPropsWindows = Readonly<{| /** * Key up event * @@ -590,7 +590,7 @@ type ViewPropsWindows = $ReadOnly<{| |}>; // Windows] -export type ViewProps = $ReadOnly<{ +export type ViewProps = Readonly<{ ...DirectEventProps, ...GestureResponderHandlers, ...MouseEventProps, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js index d07d4e3f571..d2052fb25ab 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js @@ -23,7 +23,7 @@ import LogBoxInspectorSection from './LogBoxInspectorSection'; import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ componentCodeFrame: ?CodeFrame, codeFrame: ?CodeFrame, }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js index 8bcf5edb791..4eef4e21665 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js @@ -22,7 +22,7 @@ import LogBoxInspectorHeaderButton from './LogBoxInspectorHeaderButton'; import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ onSelectIndex: (selectedIndex: number) => void, selectedIndex: number, total: number, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js index 4ca5c3138ea..be64d684848 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js @@ -21,7 +21,7 @@ import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; import {useState} from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ log: LogBoxLog, }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js index 47768bfd1ba..a82f088eb67 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js @@ -19,7 +19,7 @@ import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; import {useEffect, useState} from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ onPress?: ?(event: GestureResponderEvent) => void, status: 'COMPLETE' | 'FAILED' | 'NONE' | 'PENDING', }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js index bbcda0b91cf..6f76fdaeb04 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js @@ -19,7 +19,7 @@ import LogBoxButton from './LogBoxButton'; import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ frame: StackFrame, onPress?: ?(event: GestureResponderEvent) => void, }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js index cccb702dbbb..1847d9cd144 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js @@ -29,7 +29,7 @@ import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventE import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js'; import invariant from 'invariant'; -export type PressabilityConfig = $ReadOnly<{ +export type PressabilityConfig = Readonly<{ /** * Whether a press gesture can be interrupted by a parent gesture such as a * scroll event. Defaults to true. @@ -165,7 +165,7 @@ export type PressabilityConfig = $ReadOnly<{ // Windows] }>; -export type EventHandlers = $ReadOnly<{ +export type EventHandlers = Readonly<{ onBlur: (event: BlurEvent) => void, onClick: (event: GestureResponderEvent) => void, onFocus: (event: FocusEvent) => void, @@ -410,13 +410,13 @@ export default class Pressability { _pressDelayTimeout: ?TimeoutID = null; _pressOutDelayTimeout: ?TimeoutID = null; _responderID: ?number | HostInstance = null; - _responderRegion: ?$ReadOnly<{ + _responderRegion: ?Readonly<{ bottom: number, left: number, right: number, top: number, }> = null; - _touchActivatePosition: ?$ReadOnly<{ + _touchActivatePosition: ?Readonly<{ pageX: number, pageY: number, }>; @@ -936,7 +936,7 @@ export default class Pressability { _isTouchWithinResponderRegion( touch: GestureResponderEvent['nativeEvent'], - responderRegion: $ReadOnly<{ + responderRegion: Readonly<{ bottom: number, left: number, right: number, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.win32.js index 7098a19d3fa..0a00d4416c1 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.win32.js @@ -780,7 +780,7 @@ const TextImpl: component( TextImpl.displayName = 'Text'; -type TextPressabilityProps = $ReadOnly<{ +type TextPressabilityProps = Readonly<{ onLongPress?: ?(event: GestureResponderEvent) => unknown, onPress?: ?(event: GestureResponderEvent) => unknown, onPressIn?: ?(event: GestureResponderEvent) => unknown, @@ -914,7 +914,7 @@ function useTextPressability({ ); } -type NativePressableTextProps = $ReadOnly<{ +type NativePressableTextProps = Readonly<{ textProps: NativeTextProps, textPressabilityProps: TextPressabilityProps, }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextNativeComponent.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextNativeComponent.win32.js index 7b1209ba5b2..4cb88b5600a 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextNativeComponent.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextNativeComponent.win32.js @@ -17,7 +17,7 @@ import {createViewConfig} from '../NativeComponent/ViewConfig'; import UIManager from '../ReactNative/UIManager'; import createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass'; -export type NativeTextProps = $ReadOnly<{ +export type NativeTextProps = Readonly<{ ...TextProps, isHighlighted?: ?boolean, selectionColor?: ?ProcessedColorValue, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js index a696f693c50..7473f16e204 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js @@ -25,14 +25,14 @@ import type { import * as React from 'react'; -export type PressRetentionOffset = $ReadOnly<{ +export type PressRetentionOffset = Readonly<{ top: number, left: number, bottom: number, right: number, }>; -type TextPointerEventProps = $ReadOnly<{ +type TextPointerEventProps = Readonly<{ onPointerEnter?: (event: PointerEvent) => void, onPointerLeave?: (event: PointerEvent) => void, onPointerMove?: (event: PointerEvent) => void, @@ -121,7 +121,7 @@ export type TextPropsAndroid = { minimumFontScale?: ?number, }; -type TextBaseProps = $ReadOnly<{ +type TextBaseProps = Readonly<{ onAccessibilityAction?: ?(event: AccessibilityActionEvent) => unknown, accessibilityControls?: ?Stringish, // Win32 accessibilityDescribedBy?: ?Stringish, // Win32 @@ -282,7 +282,7 @@ type TextBaseProps = $ReadOnly<{ /** * @see https://reactnative.dev/docs/text#reference */ -export type TextProps = $ReadOnly<{ +export type TextProps = Readonly<{ ...TextPointerEventProps, ...TextPropsIOS, ...TextPropsAndroid, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js index 0335a1cc4b8..6d89b3865dd 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js @@ -10,12 +10,12 @@ import type {HostInstance} from '../../src/private/types/HostInstance'; -export type NativeSyntheticEvent<+T> = $ReadOnly<{ +export type NativeSyntheticEvent<+T> = Readonly<{ bubbles: ?boolean, cancelable: ?boolean, currentTarget: number | HostInstance, defaultPrevented: ?boolean, - dispatchConfig: $ReadOnly<{ + dispatchConfig: Readonly<{ registrationName: string, }>, eventPhase: ?number, @@ -31,14 +31,14 @@ export type NativeSyntheticEvent<+T> = $ReadOnly<{ type: ?string, }>; -export type ResponderSyntheticEvent = $ReadOnly<{ +export type ResponderSyntheticEvent = Readonly<{ ...NativeSyntheticEvent, - touchHistory: $ReadOnly<{ + touchHistory: Readonly<{ indexOfSingleActiveTouch: number, mostRecentTimeStamp: number, numberActiveTouches: number, touchBank: $ReadOnlyArray< - $ReadOnly<{ + Readonly<{ touchActive: boolean, startPageX: number, startPageY: number, @@ -54,14 +54,14 @@ export type ResponderSyntheticEvent = $ReadOnly<{ }>, }>; -export type LayoutRectangle = $ReadOnly<{ +export type LayoutRectangle = Readonly<{ x: number, y: number, width: number, height: number, }>; -export type TextLayoutLine = $ReadOnly<{ +export type TextLayoutLine = Readonly<{ ...LayoutRectangle, ascender: number, capHeight: number, @@ -71,12 +71,12 @@ export type TextLayoutLine = $ReadOnly<{ }>; export type LayoutChangeEvent = NativeSyntheticEvent< - $ReadOnly<{ + Readonly<{ layout: LayoutRectangle, }>, >; -type TextLayoutEventData = $ReadOnly<{ +type TextLayoutEventData = Readonly<{ lines: Array, }>; @@ -230,7 +230,7 @@ export interface NativePointerEvent extends NativeMouseEvent { export type PointerEvent = NativeSyntheticEvent; -export type NativeTouchEvent = $ReadOnly<{ +export type NativeTouchEvent = Readonly<{ altKey: ?boolean, // TODO(macOS) button: ?number, // TODO(macOS) @@ -287,29 +287,29 @@ export type NativeTouchEvent = $ReadOnly<{ export type GestureResponderEvent = ResponderSyntheticEvent; -export type NativeScrollRectangle = $ReadOnly<{ +export type NativeScrollRectangle = Readonly<{ bottom: number, left: number, right: number, top: number, }>; -export type NativeScrollPoint = $ReadOnly<{ +export type NativeScrollPoint = Readonly<{ y: number, x: number, }>; -export type NativeScrollVelocity = $ReadOnly<{ +export type NativeScrollVelocity = Readonly<{ y: number, x: number, }>; -export type NativeScrollSize = $ReadOnly<{ +export type NativeScrollSize = Readonly<{ height: number, width: number, }>; -export type NativeScrollEvent = $ReadOnly<{ +export type NativeScrollEvent = Readonly<{ contentInset: NativeScrollRectangle, contentOffset: NativeScrollPoint, contentSize: NativeScrollSize, @@ -325,7 +325,7 @@ export type NativeScrollEvent = $ReadOnly<{ export type ScrollEvent = NativeSyntheticEvent; -export type TargetedEvent = $ReadOnly<{ +export type TargetedEvent = Readonly<{ target: number, ... }>; @@ -338,7 +338,7 @@ export type FocusEvent = NativeSyntheticEvent; // introduced for react-native-web. Replace typings with our values to catch // anything dependent on react-native-web specific values export type MouseEvent = NativeSyntheticEvent< - $ReadOnly<{ + Readonly<{ target: number, identifier: number, clientX: number, @@ -362,7 +362,7 @@ export type MouseEvent = NativeSyntheticEvent< }>, >; // Windows] -export type KeyEvent = $ReadOnly<{ +export type KeyEvent = Readonly<{ /** * The actual key that was pressed. For example, F would be "f" or "F" depending on the shift key. * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js index d89936b596a..edfaad26f3e 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js @@ -64,7 +64,7 @@ class Dimensions { * * @param {DimensionsPayload} dims Simple string-keyed object of dimensions to set */ - static set(dims: $ReadOnly): void { + static set(dims: Readonly): void { let {screen, window} = dims; const {windowPhysicalPixels} = dims; if (windowPhysicalPixels) { diff --git a/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js b/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js index b3cb26a85bd..c74f94eedd5 100644 --- a/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js @@ -103,7 +103,7 @@ function createNativeOperations(): NonNullable { methodNames.push('connectAnimatedNodeToShadowNodeFamily'); } const nativeOperations: { - [$Values]: (...$ReadOnlyArray) => void, + [Values]: (...$ReadOnlyArray) => void, } = {}; if (isSingleOpBatching) { for (let ii = 0, length = methodNames.length; ii < length; ii++) { @@ -409,7 +409,7 @@ function assertNativeAnimatedModule(): void { let _warnedMissingNativeAnimated = false; function shouldUseNativeDriver( - config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig, + config: Readonly<{...AnimationConfig, ...}> | EventConfig, ): boolean { if (config.useNativeDriver == null) { console.warn( diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 04915194bf8..f71b9d21cb4 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -33,7 +33,7 @@ "just-scripts": "^1.3.2", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-windows": "^0.0.0-canary.1049", "typescript": "5.0.4" }, diff --git a/packages/@react-native-windows/cli/package.json b/packages/@react-native-windows/cli/package.json index 839acf4f92f..65a69fa27ca 100644 --- a/packages/@react-native-windows/cli/package.json +++ b/packages/@react-native-windows/cli/package.json @@ -65,7 +65,7 @@ "jest": "^29.7.0", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "typescript": "5.0.4" }, "peerDependencies": { diff --git a/packages/@react-native-windows/perf-testing/package.json b/packages/@react-native-windows/perf-testing/package.json index 39dc536aa45..826f9755f80 100644 --- a/packages/@react-native-windows/perf-testing/package.json +++ b/packages/@react-native-windows/perf-testing/package.json @@ -36,7 +36,7 @@ "peerDependencies": { "jest": ">=29.0.3", "react": ">=18.0.0", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-test-renderer": ">=18.0.0" }, "peerDependenciesMeta": { diff --git a/packages/@react-native-windows/tester/js/utils/JSEventLoopWatchdog.js b/packages/@react-native-windows/tester/js/utils/JSEventLoopWatchdog.js deleted file mode 100644 index 898a246d666..00000000000 --- a/packages/@react-native-windows/tester/js/utils/JSEventLoopWatchdog.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * 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 - * @format - */ - -'use strict'; - -type Handler = { - onIterate?: () => void, - onStall: (params: {lastInterval: number, busyTime: number, ...}) => ?string, - ... -}; - -/** - * A utility for tracking stalls in the JS event loop that prevent timers and - * other events from being processed in a timely manner. - * - * The "stall" time is defined as the amount of time in access of the acceptable - * threshold, which is typically around 100-200ms. So if the threshold is set to - * 100 and a timer fires 150 ms later than it was scheduled because the event - * loop was tied up, that would be considered a 50ms stall. - * - * By default, logs stall events to the console when installed. Can also be - * queried with `getStats`. - */ -const JSEventLoopWatchdog = { - getStats: function (): Object { - return {stallCount, totalStallTime, longestStall, acceptableBusyTime}; - }, - reset: function () { - console.log('JSEventLoopWatchdog: reset'); - totalStallTime = 0; - stallCount = 0; - longestStall = 0; - lastInterval = global.performance.now(); - }, - addHandler: function (handler: Handler) { - handlers.push(handler); - }, - install: function ({thresholdMS}: {thresholdMS: number, ...}) { - acceptableBusyTime = thresholdMS; - if (installed) { - return; - } - installed = true; - lastInterval = global.performance.now(); - function iteration() { - const now = global.performance.now(); - const busyTime = now - lastInterval; - if (busyTime >= thresholdMS) { - const stallTime = busyTime - thresholdMS; - stallCount++; - totalStallTime += stallTime; - longestStall = Math.max(longestStall, stallTime); - let msg = - `JSEventLoopWatchdog: JS thread busy for ${busyTime}ms. ` + - `${totalStallTime}ms in ${stallCount} stalls so far. `; - handlers.forEach(handler => { - msg += handler.onStall({lastInterval, busyTime}) || ''; - }); - console.log(msg); - } - handlers.forEach(handler => { - handler.onIterate && handler.onIterate(); - }); - lastInterval = now; - setTimeout(iteration, thresholdMS / 5); - } - iteration(); - }, -}; - -let acceptableBusyTime = 0; -let installed = false; -let totalStallTime = 0; -let stallCount = 0; -let longestStall = 0; -let lastInterval = 0; -const handlers: Array = []; - -export default JSEventLoopWatchdog; diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index dd72d123643..645ad8067aa 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.84.0-nightly-20260107-58bc6c3e3", + "baseVersion": "0.85.0-nightly-20260114-f15985f4f", "overrides": [ { "type": "copy", @@ -30,7 +30,7 @@ "type": "derived", "file": "src/js/examples-win/Switch/SwitchExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Switch/SwitchExample.js", - "baseHash": "cf59144fe876a5dc4acf703849a95e64fd9416f1" + "baseHash": "80662bdca686778c035ca49095f3121afdfe0c93" }, { "type": "patch", @@ -43,14 +43,14 @@ "type": "patch", "file": "src/js/examples/FlatList/BaseFlatListExample.windows.js", "baseFile": "packages/rn-tester/js/examples/FlatList/BaseFlatListExample.js", - "baseHash": "6a140eb7fd8961bbee46fbe6af9d592c0fcf5a2b", + "baseHash": "a79e34987dae395540efc0c4df8f999d6e400947", "issue": 12869 }, { "type": "patch", "file": "src/js/examples/FlatList/FlatList-basic.windows.js", "baseFile": "packages/rn-tester/js/examples/FlatList/FlatList-basic.js", - "baseHash": "2e712b5b0e2230bbf0abcf967c497e207c472809", + "baseHash": "41945de10fceadb15bebb03f7c386e5f1d7cc59a", "issue": 12869 }, { @@ -85,7 +85,7 @@ "type": "patch", "file": "src/js/examples/Image/ImageExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Image/ImageExample.js", - "baseHash": "2ee70a725f5a944d99331a951e5389590847731f", + "baseHash": "3fc18bff48bbe9506ebe9d200828143b3b79a391", "issue": 12869 }, { @@ -111,13 +111,13 @@ "type": "derived", "file": "src/js/examples/Text/TextExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Text/TextExample.android.js", - "baseHash": "6eeabfb642d4f0662ac72dcce58103241819b049" + "baseHash": "bcf37a6cfe71ae8d9034349c8f61f8fac2c8c2b6" }, { "type": "patch", "file": "src/js/examples/Text/TextSharedExamples.windows.js", "baseFile": "packages/rn-tester/js/examples/Text/TextSharedExamples.js", - "baseHash": "8f78513f2b33c2858552e9c857fbcc3fbf466ec0", + "baseHash": "276177eac14554bc145ccd4125a97ad2b24ea9f3", "issue": 15125 }, { @@ -143,7 +143,7 @@ "type": "patch", "file": "src/js/examples/View/ViewExample.windows.js", "baseFile": "packages/rn-tester/js/examples/View/ViewExample.js", - "baseHash": "8f02aec2ad43cf4a32db1604e3b60e1b41aed919" + "baseHash": "8aa56a53370fb53150956fbeb9f5d82c00b677e8" }, { "type": "copy", diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 39c69f91c0b..65ebb03b556 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -19,7 +19,7 @@ "peerDependencies": { "@react-native-picker/picker": "2.11.0", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-windows": "^0.0.0-canary.1049", "react-native-xaml": "^0.0.80" }, @@ -32,8 +32,8 @@ } }, "devDependencies": { - "@react-native/new-app-screen": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/tester": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/new-app-screen": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/tester": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", "@rnw-scripts/just-task": "2.3.58", @@ -43,7 +43,7 @@ "just-scripts": "^1.3.3", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-platform-override": "0.0.0-canary.1022", "react-native-windows": "^0.0.0-canary.1049", "typescript": "5.0.4" diff --git a/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js b/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js index 0e8c8812a82..fc6b71b6b19 100644 --- a/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js @@ -16,12 +16,12 @@ import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {Platform, Switch, View} from 'react-native'; -type OnOffIndicatorProps = $ReadOnly<{on: boolean, testID: string}>; +type OnOffIndicatorProps = Readonly<{on: boolean, testID: string}>; function OnOffIndicator({on, testID}: OnOffIndicatorProps) { return {on ? 'On' : 'Off'}; } -type ExampleRowProps = $ReadOnly<{children: React.Node}>; +type ExampleRowProps = Readonly<{children: React.Node}>; function ExampleRow({children}: ExampleRowProps) { return ( ; diff --git a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js index 32c71e626cc..42e786bc487 100644 --- a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js @@ -55,7 +55,7 @@ const VIEWABILITY_CONFIG = { waitForInteraction: true, }; -type Props = $ReadOnly<{||}>; +type Props = Readonly<{||}>; type State = {| data: Array, first: number, diff --git a/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js index 69446b3f484..90c93e475fe 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js @@ -33,11 +33,11 @@ const dataImageSvg = const IMAGE_PREFETCH_URL = `${IMAGE1}?r=1&t=${Date.now()}`; const prefetchTask = Image.prefetch(IMAGE_PREFETCH_URL); -type ImageSource = $ReadOnly<{ +type ImageSource = Readonly<{ uri: string, }>; -type BlobImageProps = $ReadOnly<{ +type BlobImageProps = Readonly<{ url: string, }>; @@ -67,7 +67,7 @@ const BlobImage = ({url}: BlobImageProps): React.Node => { type BlobImageExampleState = {}; -type BlobImageExampleProps = $ReadOnly<{ +type BlobImageExampleProps = Readonly<{ urls: string[], }>; @@ -86,7 +86,7 @@ class BlobImageExample extends React.Component< } } -type NetworkImageCallbackExampleProps = $ReadOnly<{ +type NetworkImageCallbackExampleProps = Readonly<{ source: ImageSource, prefetchedSource: ImageSource, }>; @@ -264,7 +264,7 @@ type ImageSizeExampleState = { height: number, }; -type ImageSizeExampleProps = $ReadOnly<{ +type ImageSizeExampleProps = Readonly<{ source: ImageSource, }>; @@ -306,7 +306,7 @@ type MultipleSourcesExampleState = { height: number, }; -type MultipleSourcesExampleProps = $ReadOnly<{}>; +type MultipleSourcesExampleProps = Readonly<{}>; class MultipleSourcesExample extends React.Component< MultipleSourcesExampleProps, @@ -383,7 +383,7 @@ type LoadingIndicatorSourceExampleState = { imageHash: number, }; -type LoadingIndicatorSourceExampleProps = $ReadOnly<{}>; +type LoadingIndicatorSourceExampleProps = Readonly<{}>; class LoadingIndicatorSourceExample extends React.Component< LoadingIndicatorSourceExampleProps, @@ -433,7 +433,7 @@ type FadeDurationExampleState = { imageHash: number, }; -type FadeDurationExampleProps = $ReadOnly<{}>; +type FadeDurationExampleProps = Readonly<{}>; class FadeDurationExample extends React.Component< FadeDurationExampleProps, @@ -482,7 +482,7 @@ type OnLayoutExampleState = { layoutHandlerMessage: string, }; -type OnLayoutExampleProps = $ReadOnly<{}>; +type OnLayoutExampleProps = Readonly<{}>; class OnLayoutExample extends React.Component< OnLayoutExampleProps, @@ -577,7 +577,7 @@ type OnPartialLoadExampleState = { hasLoaded: boolean, }; -type OnPartialLoadExampleProps = $ReadOnly<{}>; +type OnPartialLoadExampleProps = Readonly<{}>; class OnPartialLoadExample extends React.Component< OnPartialLoadExampleProps, diff --git a/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js index 12e40a1c3da..c0b9f31cc31 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js @@ -88,7 +88,7 @@ class AttributeToggler extends React.Component<{...}, $FlowFixMe> { } } -type AdjustingFontSizeProps = $ReadOnly<{}>; +type AdjustingFontSizeProps = Readonly<{}>; type AdjustingFontSizeState = { dynamicText: string, diff --git a/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js b/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js index 908c636ce30..be25dedad5b 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js @@ -80,7 +80,7 @@ function EmptyTextExample(): React.Node { function TextAndLayoutLinesJSON({ testID, ellipsizeMode, -}: $ReadOnly<{ +}: Readonly<{ testID: string, ellipsizeMode: 'head' | 'tail' | 'middle' | 'clip', }>): React.Node { diff --git a/packages/@react-native-windows/tester/src/js/examples/View/ViewExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/View/ViewExample.windows.js index aac71c66546..6eb76dd0d35 100644 --- a/packages/@react-native-windows/tester/src/js/examples/View/ViewExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/View/ViewExample.windows.js @@ -24,7 +24,7 @@ import { } from 'react-native'; class ViewBorderStyleExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, {showBorder: boolean}, > { state: {showBorder: boolean} = { @@ -89,7 +89,7 @@ const offscreenAlphaCompositingStyles = StyleSheet.create({ }); class OffscreenAlphaCompositing extends React.Component< - $ReadOnly<{testID?: ?string}>, + Readonly<{testID?: ?string}>, { active: boolean, }, @@ -173,7 +173,7 @@ const ZIndexExampleStyles = StyleSheet.create({ }); class ZIndexExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, { flipped: boolean, }, @@ -317,7 +317,7 @@ function PositionStaticZIndexExample(): React.Node { } class DisplayNoneStyle extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, { index: number, }, @@ -383,7 +383,7 @@ class DisplayNoneStyle extends React.Component< }; } -class FlexGapExample extends React.Component<$ReadOnly<{testID?: ?string}>> { +class FlexGapExample extends React.Component> { render(): React.Node { return ( , boolValues: $ReadOnlyArray, floats: $ReadOnlyArray, @@ -24,11 +24,11 @@ type Event = $ReadOnly<{ multiArrays: $ReadOnlyArray<$ReadOnlyArray>, }>; -type LegacyStyleEvent = $ReadOnly<{ +type LegacyStyleEvent = Readonly<{ string: string, }>; -type NativeProps = $ReadOnly<{ +type NativeProps = Readonly<{ ...ViewProps, opacity?: CodegenTypes.Float, values: $ReadOnlyArray, diff --git a/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js index fe778e11158..05069d6089c 100644 --- a/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js +++ b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js @@ -13,7 +13,7 @@ import type {ViewProps} from 'react-native'; import {codegenNativeComponent} from 'react-native'; -type NativeProps = $ReadOnly<{ +type NativeProps = Readonly<{ ...ViewProps, }>; diff --git a/packages/@react-native/tester/js/components/RNTConfigurationBlock.js b/packages/@react-native/tester/js/components/RNTConfigurationBlock.js index d78f87abd47..53523a296d5 100644 --- a/packages/@react-native/tester/js/components/RNTConfigurationBlock.js +++ b/packages/@react-native/tester/js/components/RNTConfigurationBlock.js @@ -15,7 +15,7 @@ import * as React from 'react'; import {useContext} from 'react'; import {StyleSheet, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ children?: ?React.Node, testID?: string, }>; diff --git a/packages/@react-native/tester/js/components/RNTOption.js b/packages/@react-native/tester/js/components/RNTOption.js index 12de74bf477..b65efb9d754 100644 --- a/packages/@react-native/tester/js/components/RNTOption.js +++ b/packages/@react-native/tester/js/components/RNTOption.js @@ -18,7 +18,7 @@ import * as React from 'react'; import {useContext, useState} from 'react'; import {Pressable, StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ testID?: ?string, label: string, onPress?: ?(event: GestureResponderEvent) => unknown, diff --git a/packages/@react-native/tester/js/components/RNTTitleBar.js b/packages/@react-native/tester/js/components/RNTTitleBar.js index 4cb3d4f193b..7ca8f9e6279 100644 --- a/packages/@react-native/tester/js/components/RNTTitleBar.js +++ b/packages/@react-native/tester/js/components/RNTTitleBar.js @@ -98,7 +98,7 @@ const styles = StyleSheet.create({ header: { height: 40, flexDirection: 'row', - marginTop: Platform.OS === 'ios' ? 50 : 0, + marginTop: Platform.OS === 'ios' && !Platform.isTV ? 50 : 0, }, headerCenter: { flex: 1, diff --git a/packages/@react-native/tester/js/components/RNTesterBlock.js b/packages/@react-native/tester/js/components/RNTesterBlock.js index c7472b46041..bf120249d29 100644 --- a/packages/@react-native/tester/js/components/RNTesterBlock.js +++ b/packages/@react-native/tester/js/components/RNTesterBlock.js @@ -13,7 +13,7 @@ import * as React from 'react'; import {useContext} from 'react'; import {StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ children?: React.Node, title?: ?string, description?: ?string, diff --git a/packages/@react-native/tester/js/components/RNTesterButton.js b/packages/@react-native/tester/js/components/RNTesterButton.js index a3facd92b5c..92eaebe40d4 100644 --- a/packages/@react-native/tester/js/components/RNTesterButton.js +++ b/packages/@react-native/tester/js/components/RNTesterButton.js @@ -15,7 +15,7 @@ import type {GestureResponderEvent} from 'react-native'; import React from 'react'; import {Pressable, StyleSheet, Text} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ testID?: string, textTestID?: string, children?: React.Node, diff --git a/packages/@react-native/tester/js/components/RNTesterComponentTitle.js b/packages/@react-native/tester/js/components/RNTesterComponentTitle.js index b13e2badfb5..ca540154aa4 100644 --- a/packages/@react-native/tester/js/components/RNTesterComponentTitle.js +++ b/packages/@react-native/tester/js/components/RNTesterComponentTitle.js @@ -13,7 +13,7 @@ import {RNTesterThemeContext} from './RNTesterTheme'; const React = require('react'); const {StyleSheet, Text} = require('react-native'); -type Props = $ReadOnly<{ +type Props = Readonly<{ children: string, }>; diff --git a/packages/@react-native/tester/js/components/RNTesterDocumentationURL.js b/packages/@react-native/tester/js/components/RNTesterDocumentationURL.js index bbaf1eb2500..e68f070173c 100644 --- a/packages/@react-native/tester/js/components/RNTesterDocumentationURL.js +++ b/packages/@react-native/tester/js/components/RNTesterDocumentationURL.js @@ -12,7 +12,7 @@ import * as React from 'react'; import {Image, StyleSheet, TouchableOpacity} from 'react-native'; import openURLInBrowser from 'react-native/Libraries/Core/Devtools/openURLInBrowser'; -type Props = $ReadOnly<{ +type Props = Readonly<{ documentationURL: string, }>; diff --git a/packages/@react-native/tester/js/components/RNTesterNavbar.js b/packages/@react-native/tester/js/components/RNTesterNavbar.js index 5e65e1bd8c3..67d95b265b8 100644 --- a/packages/@react-native/tester/js/components/RNTesterNavbar.js +++ b/packages/@react-native/tester/js/components/RNTesterNavbar.js @@ -57,7 +57,7 @@ const ComponentTab = ({ isComponentActive, handleNavBarPress, theme, -}: $ReadOnly<{ +}: Readonly<{ handleNavBarPress: NavBarOnPressHandler, isComponentActive: boolean, theme: RNTesterTheme, @@ -78,7 +78,7 @@ const PlaygroundTab = ({ isComponentActive, handleNavBarPress, theme, -}: $ReadOnly<{ +}: Readonly<{ handleNavBarPress: NavBarOnPressHandler, isComponentActive: boolean, theme: RNTesterTheme, @@ -99,7 +99,7 @@ const APITab = ({ isAPIActive, handleNavBarPress, theme, -}: $ReadOnly<{ +}: Readonly<{ handleNavBarPress: NavBarOnPressHandler, isAPIActive: boolean, theme: RNTesterTheme, @@ -116,7 +116,7 @@ const APITab = ({ /> ); -type Props = $ReadOnly<{ +type Props = Readonly<{ handleNavBarPress: NavBarOnPressHandler, screen: string, isExamplePageOpen: boolean, diff --git a/packages/@react-native/tester/js/components/RNTesterPage.js b/packages/@react-native/tester/js/components/RNTesterPage.js index 27055491bb1..9c0e4558df2 100644 --- a/packages/@react-native/tester/js/components/RNTesterPage.js +++ b/packages/@react-native/tester/js/components/RNTesterPage.js @@ -15,7 +15,7 @@ import {useContext} from 'react'; const React = require('react'); const {Platform, ScrollView, StyleSheet, View} = require('react-native'); -type Props = $ReadOnly<{ +type Props = Readonly<{ children?: React.Node, title?: ?string, noScroll?: ?boolean, diff --git a/packages/@react-native/tester/js/components/RNTesterText.js b/packages/@react-native/tester/js/components/RNTesterText.js index 51bd4f4ea05..caa732f9ec5 100644 --- a/packages/@react-native/tester/js/components/RNTesterText.js +++ b/packages/@react-native/tester/js/components/RNTesterText.js @@ -14,7 +14,7 @@ import {RNTesterThemeContext} from './RNTesterTheme'; import React, {useContext, useMemo} from 'react'; import {Text} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ ...TextProps, variant?: 'body' | 'label' | 'caption', }>; diff --git a/packages/@react-native/tester/js/components/RNTesterTheme.js b/packages/@react-native/tester/js/components/RNTesterTheme.js index 8eb0d96b5f2..e717e33cb5b 100644 --- a/packages/@react-native/tester/js/components/RNTesterTheme.js +++ b/packages/@react-native/tester/js/components/RNTesterTheme.js @@ -15,7 +15,7 @@ import {createContext} from 'react'; import {use} from 'react'; import {Appearance} from 'react-native'; -export type RNTesterTheme = $ReadOnly<{ +export type RNTesterTheme = Readonly<{ LabelColor: ColorValue, SecondaryLabelColor: ColorValue, TertiaryLabelColor: ColorValue, diff --git a/packages/@react-native/tester/js/components/RNTesterTitle.js b/packages/@react-native/tester/js/components/RNTesterTitle.js index 88cdcb26788..f8c110e6df7 100644 --- a/packages/@react-native/tester/js/components/RNTesterTitle.js +++ b/packages/@react-native/tester/js/components/RNTesterTitle.js @@ -12,7 +12,7 @@ import {RNTesterThemeContext} from './RNTesterTheme'; import React from 'react'; import {StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ title: string, }>; diff --git a/packages/@react-native/tester/js/components/UseCase.js b/packages/@react-native/tester/js/components/UseCase.js index 2285b325400..828647dca01 100644 --- a/packages/@react-native/tester/js/components/UseCase.js +++ b/packages/@react-native/tester/js/components/UseCase.js @@ -11,7 +11,7 @@ import * as React from 'react'; import {StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ children?: React.Node, title?: ?string, note?: ?string, diff --git a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js index 0c96afb4afb..d85dbf2ecb1 100644 --- a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js +++ b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js @@ -16,7 +16,7 @@ const {RNTesterThemeContext} = require('../../components/RNTesterTheme'); const React = require('react'); const {Alert, Text, View} = require('react-native'); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; class AccessibilityIOSExample extends React.Component { render(): React.Node { return ( diff --git a/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js b/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js index cef545069fd..b1d7a7eaae7 100644 --- a/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +++ b/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js @@ -32,7 +32,7 @@ const DESTRUCTIVE_INDEX = 3; const CANCEL_INDEX = 4; const DISABLED_BUTTON_INDICES = [1, 2]; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; type State = {clicked: string}; class ActionSheetExample extends React.Component { state: State = { diff --git a/packages/@react-native/tester/js/examples/Animated/ComposingExample.js b/packages/@react-native/tester/js/examples/Animated/ComposingExample.js index c05a916a135..ecb6b3093fd 100644 --- a/packages/@react-native/tester/js/examples/Animated/ComposingExample.js +++ b/packages/@react-native/tester/js/examples/Animated/ComposingExample.js @@ -27,7 +27,7 @@ import { useWindowDimensions, } from 'react-native'; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; const boxSize = 12; const padding = 8; const leftToRightTimingConfig = (useNativeDriver: boolean) => ({ diff --git a/packages/@react-native/tester/js/examples/Animated/EasingExample.js b/packages/@react-native/tester/js/examples/Animated/EasingExample.js index af9612ffded..46db230695c 100644 --- a/packages/@react-native/tester/js/examples/Animated/EasingExample.js +++ b/packages/@react-native/tester/js/examples/Animated/EasingExample.js @@ -25,7 +25,7 @@ import { View, } from 'react-native'; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; type EasingListItem = { title: string, diff --git a/packages/@react-native/tester/js/examples/Animated/MovingBoxExample.js b/packages/@react-native/tester/js/examples/Animated/MovingBoxExample.js index 12694ca92c4..56e9fc88925 100644 --- a/packages/@react-native/tester/js/examples/Animated/MovingBoxExample.js +++ b/packages/@react-native/tester/js/examples/Animated/MovingBoxExample.js @@ -56,7 +56,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; function MovingBoxView({useNativeDriver}: {useNativeDriver: boolean}) { const x = useRef(new Animated.Value(0)); diff --git a/packages/@react-native/tester/js/examples/Animated/PanGestureExample.js b/packages/@react-native/tester/js/examples/Animated/PanGestureExample.js index e294afb7565..d9745ad7677 100644 --- a/packages/@react-native/tester/js/examples/Animated/PanGestureExample.js +++ b/packages/@react-native/tester/js/examples/Animated/PanGestureExample.js @@ -22,7 +22,7 @@ import { View, } from 'react-native'; -function TextBox({children}: $ReadOnly<{children: React.Node}>): React.Node { +function TextBox({children}: Readonly<{children: React.Node}>): React.Node { // Prevent touch from being hijacked by Text return ( @@ -34,8 +34,8 @@ function TextBox({children}: $ReadOnly<{children: React.Node}>): React.Node { function AnimatedEventExample({ containerPageXY, useNativeDriver, -}: $ReadOnly<{ - containerPageXY: $ReadOnly<{x: number, y: number}>, +}: Readonly<{ + containerPageXY: Readonly<{x: number, y: number}>, useNativeDriver: boolean, }>): React.Node { const boxRef = useRef>(); @@ -128,7 +128,7 @@ function AnimatedEventExample({ function PanResponderExample({ useNativeDriver, -}: $ReadOnly<{useNativeDriver: boolean}>): React.Node { +}: Readonly<{useNativeDriver: boolean}>): React.Node { const finalOffsetXY = useRef( new Animated.ValueXY({x: 0, y: 0}, {useNativeDriver}), ).current; diff --git a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExSet.js b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExSet.js index 3f4a9f0021e..4df8cfb6914 100644 --- a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExSet.js +++ b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExSet.js @@ -22,7 +22,7 @@ const randColor = () => { return `rgb(${colors.join(',')})`; }; -type AnExSetProps = $ReadOnly<{ +type AnExSetProps = Readonly<{ openVal: Animated.Value, containerLayout: {width: number, height: number}, id: string, diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTest.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTest.js index 14fda02e7b9..fa81bc61873 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTest.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTest.js @@ -16,7 +16,7 @@ import usePlatformTestHarness from './usePlatformTestHarness'; import * as React from 'react'; import {StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ title: string, description: string, instructions?: $ReadOnlyArray, diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js index c6a1497f712..a704a67212d 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js @@ -12,7 +12,7 @@ import type {ViewProps} from 'react-native'; import {useMemo} from 'react'; -type EventRecorderOptions = $ReadOnly<{ +type EventRecorderOptions = Readonly<{ mergeEventTypes: Array, relevantEvents: Array, }>; @@ -104,7 +104,7 @@ export default class RNTesterPlatformTestEventRecorder { createRecorderTestEventHandlers( targetNames: $ReadOnlyArray, callback?: (event: Object, eventType: string, targetName: string) => void, - ): $ReadOnly<{[targetName: string]: ViewProps}> { + ): Readonly<{[targetName: string]: ViewProps}> { const result: {[targetName: string]: ViewProps} = {}; for (const targetName of targetNames) { const recordedEventHandler = @@ -173,7 +173,7 @@ export function useRecorderTestEventHandlers( eventRecorder: RNTesterPlatformTestEventRecorder, targetNames: $ReadOnlyArray, callback?: (event: Object, eventType: string, targetName: string) => void, -): $ReadOnly<{[targetName: string]: ViewProps}> { +): Readonly<{[targetName: string]: ViewProps}> { return useMemo( () => eventRecorder.createRecorderTestEventHandlers(targetNames, callback), [eventRecorder, targetNames, callback], diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestInstructions.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestInstructions.js index d29e688b721..98bd0726bba 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestInstructions.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestInstructions.js @@ -13,7 +13,7 @@ import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet'; import * as React from 'react'; import {StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ instructions?: $ReadOnlyArray, style?: ?ViewStyleProp, }>; diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestMinimizedResultView.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestMinimizedResultView.js index d9602b4c745..e09b24d33e8 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestMinimizedResultView.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestMinimizedResultView.js @@ -14,7 +14,7 @@ import RNTesterPlatformTestResultsText from './RNTesterPlatformTestResultsText'; import * as React from 'react'; import {StyleSheet, Text, TouchableHighlight, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ numFail: number, numError: number, numPass: number, diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js index 01988eefa59..b4716abc957 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js @@ -41,7 +41,7 @@ const DISPLAY_STATUS_MAPPING: {[PlatformTestResultStatus]: string} = { SKIPPED: 'Skipped', }; -type FilterModalProps = $ReadOnly<{ +type FilterModalProps = Readonly<{ filterText: string, setFilterText: (newFilterText: string) => void, filterFail: boolean, @@ -176,7 +176,7 @@ function renderTableRow({item}: ListRenderItemInfo) { return ; } -type Props = $ReadOnly<{ +type Props = Readonly<{ numPending: number, reset: () => void, results: $ReadOnlyArray, diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultsText.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultsText.js index db58b8eee22..1a2c6c6bcd8 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultsText.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultsText.js @@ -11,7 +11,7 @@ import * as React from 'react'; import {StyleSheet, Text} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ numPass: number, numFail: number, numError: number, diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestTypes.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestTypes.js index a3b3a5685f6..0ecba3d2487 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestTypes.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestTypes.js @@ -8,17 +8,17 @@ * @format */ -type BasePlatformTestAssertionResult = $ReadOnly<{ +type BasePlatformTestAssertionResult = Readonly<{ name: string, description: string, }>; -export type PassingPlatformTestAssertionResult = $ReadOnly<{ +export type PassingPlatformTestAssertionResult = Readonly<{ ...BasePlatformTestAssertionResult, passing: true, }>; -export type FailingPlatformTestAssertionResult = $ReadOnly<{ +export type FailingPlatformTestAssertionResult = Readonly<{ ...BasePlatformTestAssertionResult, passing: false, failureMessage: string, @@ -30,14 +30,14 @@ export type PlatformTestAssertionResult = export type PlatformTestResultStatus = 'PASS' | 'FAIL' | 'ERROR' | 'SKIPPED'; -export type PlatformTestResult = $ReadOnly<{ +export type PlatformTestResult = Readonly<{ name: string, status: PlatformTestResultStatus, assertions: $ReadOnlyArray, error: unknown | null, // null is technically unnecessary but is kept to ensure the error is described as nullable }>; -export type PlatformTestContext = $ReadOnly<{ +export type PlatformTestContext = Readonly<{ assert_true(a: boolean, description: string): void, assert_equals(a: any, b: any, description: string): void, assert_not_equals(a: any, b: any, description: string): void, @@ -47,16 +47,16 @@ export type PlatformTestContext = $ReadOnly<{ export type PlatformTestCase = (context: PlatformTestContext) => void; -export type AsyncPlatformTest = $ReadOnly<{ +export type AsyncPlatformTest = Readonly<{ done(): void, step(testcase: PlatformTestCase): void, }>; -export type SyncTestOptions = $ReadOnly<{ +export type SyncTestOptions = Readonly<{ skip?: boolean, }>; -export type PlatformTestHarness = $ReadOnly<{ +export type PlatformTestHarness = Readonly<{ test( testcase: PlatformTestCase, name: string, diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/usePlatformTestHarness.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/usePlatformTestHarness.js index 619b3b17251..0f8c88ddc67 100644 --- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/usePlatformTestHarness.js +++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/usePlatformTestHarness.js @@ -32,8 +32,8 @@ function constructAsyncTestHook( addTestResult: (newResult: PlatformTestResult) => void, updateAsyncTestStatuses: ( ( - $ReadOnly<{[string]: AsyncTestStatus}>, - ) => $ReadOnly<{[string]: AsyncTestStatus}>, + Readonly<{[string]: AsyncTestStatus}>, + ) => Readonly<{[string]: AsyncTestStatus}>, ) => void, runTestCase: ( testCase: PlatformTestCase, @@ -131,7 +131,7 @@ function constructAsyncTestHook( }; } -export type PlatformTestHarnessHookResult = $ReadOnly<{ +export type PlatformTestHarnessHookResult = Readonly<{ testKey: number, harness: PlatformTestHarness, numPending: number, @@ -180,7 +180,7 @@ export default function usePlatformTestHarness(): PlatformTestHarnessHookResult const [testElementKey, setTestElementKey] = useState(0); const [asyncTestStatuses, updateAsyncTestStatuses] = useState< - $ReadOnly<{[string]: AsyncTestStatus}>, + Readonly<{[string]: AsyncTestStatus}>, >({}); const reset = useCallback(() => { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js index 320c488583e..b8ba306ff90 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js @@ -258,7 +258,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventAttributesHoverablePointers( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js index b2aef5bfe3e..4aec343c301 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js @@ -226,7 +226,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventAttributesNoHoverPointers( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js index e67bded96cc..a48c2365945 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js @@ -46,7 +46,7 @@ function PointerEventCaptureMouseTestCase( try { // $FlowFixMe[prop-missing] target0.setPointerCapture(evt.nativeEvent.pointerId); - } catch (e) {} + } catch {} } }, []); @@ -190,7 +190,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventCaptureMouse( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js index 8d33203aa19..add9f2d3cc2 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js @@ -120,7 +120,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventClickTouch( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchy.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchy.js index 17a188585ee..808f987c479 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchy.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchy.js @@ -119,7 +119,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventClickTouchHierarchy( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js index ef986ccb682..35256480d04 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js @@ -180,7 +180,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventClickTouchHierarchyPointerEvents( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js index d95acb544b5..96da6c29052 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js @@ -105,7 +105,7 @@ function PointerEventLayoutShouldFirePointerOverTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventLayoutShouldFirePointerOver( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js index 4d97b81e871..d2bdd622ee3 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js @@ -165,7 +165,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PoitnerEventPointerCancelTouch( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js index f2599701541..e45a7defda7 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js @@ -46,7 +46,7 @@ const styles = StyleSheet.create({ }, }); -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPointerMove( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveAcross.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveAcross.js index 8be2425d63b..29f28b8f0ad 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveAcross.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveAcross.js @@ -150,7 +150,7 @@ function PointerEventPointerMoveAcrossTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPointerMoveAcross( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveBetween.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveBetween.js index 6aeeed63a2f..bdefa282fc7 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveBetween.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveBetween.js @@ -120,7 +120,7 @@ function PointerEventPointerMoveBetweenTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPointerMoveBetween( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js index 02bea4940c9..3b23735f9aa 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js @@ -133,7 +133,7 @@ function PointerEventPointerMoveEventOrderTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPointerMoveEventOrder( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js index 522190c844d..88c9c857c5a 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js @@ -117,7 +117,7 @@ function PointerEventPointerMoveOnChordedMouseButtonTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPointerMoveOnChordedMouseButton( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js index 07cde4b5992..340cca78482 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js @@ -206,7 +206,7 @@ function PointerEventPointerOverOutTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPointerOverOut( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js index 977e54ecb73..6e7448a3643 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js @@ -128,7 +128,7 @@ function PointerEventPrimaryTouchPointerTestCase( ); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; export default function PointerEventPrimaryTouchPointer( props: Props, ): React.MixedElement { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js index 4481baf9e9d..419cda04fc3 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js @@ -243,7 +243,7 @@ export function mkEvent(id: string, eventName: EventName): EventOccurrence { }; } -export type EventTrackerProps = $ReadOnly<{ +export type EventTrackerProps = Readonly<{ eventsRef?: {current: Array}, onAnyEvent?: (EventOccurrence, PointerEvent) => void, eventsToTrack: Array, diff --git a/packages/@react-native/tester/js/examples/Filter/FilterExample.js b/packages/@react-native/tester/js/examples/Filter/FilterExample.js index 7a24f30b25e..d1d9b0a8307 100644 --- a/packages/@react-native/tester/js/examples/Filter/FilterExample.js +++ b/packages/@react-native/tester/js/examples/Filter/FilterExample.js @@ -20,7 +20,7 @@ import {Animated, Button, Image, StyleSheet, Text, View} from 'react-native'; const alphaHotdog = require('../../assets/alpha-hotdog.png'); const hotdog = require('../../assets/hotdog.jpg'); -type Props = $ReadOnly<{ +type Props = Readonly<{ style?: ViewStyleProp, testID?: string, imageSource?: number, diff --git a/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js b/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js index 5db6d231b75..11fffe822a9 100644 --- a/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js +++ b/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js @@ -59,7 +59,7 @@ const Item = ({item, separators}: ListRenderItemInfo) => { ); }; -type Props = $ReadOnly<{ +type Props = Readonly<{ exampleProps: Partial>, onTest?: ?() => void, testLabel?: ?string, diff --git a/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js b/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js index 472502e120b..9ac07d70b63 100644 --- a/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js +++ b/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js @@ -53,7 +53,7 @@ const VIEWABILITY_CONFIG = { waitForInteraction: true, }; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; type State = { data: Array, first: number, diff --git a/packages/@react-native/tester/js/examples/Image/ImageCapInsetsExample.js b/packages/@react-native/tester/js/examples/Image/ImageCapInsetsExample.js index a2e84272a60..8b702b04ac9 100644 --- a/packages/@react-native/tester/js/examples/Image/ImageCapInsetsExample.js +++ b/packages/@react-native/tester/js/examples/Image/ImageCapInsetsExample.js @@ -17,7 +17,7 @@ const nativeImageSource = const {Image, StyleSheet, Text, View} = ReactNative; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; class ImageCapInsetsExample extends React.Component { render(): React.Node { return ( diff --git a/packages/@react-native/tester/js/examples/Image/ImageExample.js b/packages/@react-native/tester/js/examples/Image/ImageExample.js index d598c4ae3f0..a1da1e93132 100644 --- a/packages/@react-native/tester/js/examples/Image/ImageExample.js +++ b/packages/@react-native/tester/js/examples/Image/ImageExample.js @@ -30,11 +30,11 @@ const base64Icon = const IMAGE_PREFETCH_URL = `${IMAGE1}?r=1&t=${Date.now()}`; const prefetchTask = Image.prefetch(IMAGE_PREFETCH_URL); -type ImageSource = $ReadOnly<{ +type ImageSource = Readonly<{ uri: string, }>; -type BlobImageProps = $ReadOnly<{ +type BlobImageProps = Readonly<{ url: string, }>; @@ -59,7 +59,7 @@ const BlobImage = ({url}: BlobImageProps): React.Node => { type BlobImageExampleState = {}; -type BlobImageExampleProps = $ReadOnly<{ +type BlobImageExampleProps = Readonly<{ urls: string[], }>; @@ -78,7 +78,7 @@ class BlobImageExample extends React.Component< } } -type NetworkImageCallbackExampleProps = $ReadOnly<{ +type NetworkImageCallbackExampleProps = Readonly<{ source: ImageSource, prefetchedSource: ImageSource, }>; @@ -247,7 +247,7 @@ type ImageSizeExampleState = { height: number, }; -type ImageSizeExampleProps = $ReadOnly<{ +type ImageSizeExampleProps = Readonly<{ source: ImageSource, }>; @@ -284,7 +284,7 @@ type MultipleSourcesExampleState = { height: number, }; -type MultipleSourcesExampleProps = $ReadOnly<{}>; +type MultipleSourcesExampleProps = Readonly<{}>; class MultipleSourcesExample extends React.Component< MultipleSourcesExampleProps, @@ -359,7 +359,7 @@ type LoadingIndicatorSourceExampleState = { imageHash: number, }; -type LoadingIndicatorSourceExampleProps = $ReadOnly<{}>; +type LoadingIndicatorSourceExampleProps = Readonly<{}>; class LoadingIndicatorSourceExample extends React.Component< LoadingIndicatorSourceExampleProps, @@ -407,7 +407,7 @@ type FadeDurationExampleState = { imageHash: number, }; -type FadeDurationExampleProps = $ReadOnly<{}>; +type FadeDurationExampleProps = Readonly<{}>; class FadeDurationExample extends React.Component< FadeDurationExampleProps, @@ -450,7 +450,7 @@ type OnLayoutExampleState = { layoutHandlerMessage: string, }; -type OnLayoutExampleProps = $ReadOnly<{}>; +type OnLayoutExampleProps = Readonly<{}>; class OnLayoutExample extends React.Component< OnLayoutExampleProps, @@ -543,7 +543,7 @@ type OnPartialLoadExampleState = { hasLoaded: boolean, }; -type OnPartialLoadExampleProps = $ReadOnly<{}>; +type OnPartialLoadExampleProps = Readonly<{}>; class OnPartialLoadExample extends React.Component< OnPartialLoadExampleProps, diff --git a/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js b/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js index ee4e78ccefd..b07b8300636 100644 --- a/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js +++ b/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js @@ -20,7 +20,7 @@ import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {Image, LayoutAnimation, StyleSheet, View} from 'react-native'; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; type State = { containerStyle?: {width: number}, extraText?: string, diff --git a/packages/@react-native/tester/js/examples/Layout/LayoutExample.js b/packages/@react-native/tester/js/examples/Layout/LayoutExample.js index f0bd1d27aa6..0d6b4b8eda2 100644 --- a/packages/@react-native/tester/js/examples/Layout/LayoutExample.js +++ b/packages/@react-native/tester/js/examples/Layout/LayoutExample.js @@ -19,7 +19,7 @@ import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {StyleSheet, View} from 'react-native'; -type CicleProps = $ReadOnly<{ +type CicleProps = Readonly<{ backgroundColor?: string, size?: number, }>; @@ -41,7 +41,7 @@ function Circle({ ); } -type CircleBlockProps = $ReadOnly<{ +type CircleBlockProps = Readonly<{ children: React.Node, style: ViewStyleProp, }>; diff --git a/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js b/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js index ed63414a933..ed99f2bf1b8 100644 --- a/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js +++ b/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js @@ -17,7 +17,7 @@ import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {Platform, PlatformColor, StyleSheet, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ style: ViewStyleProp, testID?: string, children?: React.Node, diff --git a/packages/@react-native/tester/js/examples/Linking/LinkingExample.js b/packages/@react-native/tester/js/examples/Linking/LinkingExample.js index 34a45fcbd8a..9e0b64418f8 100644 --- a/packages/@react-native/tester/js/examples/Linking/LinkingExample.js +++ b/packages/@react-native/tester/js/examples/Linking/LinkingExample.js @@ -25,7 +25,7 @@ import { } from 'react-native'; class OpenURLButton extends React.Component< - $ReadOnly<{ + Readonly<{ url: string, }>, > { @@ -55,7 +55,7 @@ class OpenURLButton extends React.Component< } } -class OpenSettingsExample extends React.Component<$ReadOnly<{}>> { +class OpenSettingsExample extends React.Component> { openSettings = () => { void Linking.openSettings(); }; @@ -68,7 +68,7 @@ class OpenSettingsExample extends React.Component<$ReadOnly<{}>> { const SendIntentButton = ({ action, extras, -}: $ReadOnly<{ +}: Readonly<{ action: string, extras?: Array<{ key: string, @@ -100,7 +100,7 @@ const SendIntentButton = ({ ); }; -class IntentAndroidExample extends React.Component<$ReadOnly<{}>> { +class IntentAndroidExample extends React.Component> { render(): React.Node { return ( diff --git a/packages/@react-native/tester/js/examples/MixBlendMode/MixBlendModeExample.js b/packages/@react-native/tester/js/examples/MixBlendMode/MixBlendModeExample.js index 6074da93305..e46fe8a9742 100644 --- a/packages/@react-native/tester/js/examples/MixBlendMode/MixBlendModeExample.js +++ b/packages/@react-native/tester/js/examples/MixBlendMode/MixBlendModeExample.js @@ -15,7 +15,7 @@ import React from 'react'; import {useState} from 'react'; import {Image, ImageBackground, StyleSheet, Text, View} from 'react-native'; -type Props = $ReadOnly<{ +type Props = Readonly<{ style: ViewStyleProp, testID?: string, }>; diff --git a/packages/@react-native/tester/js/examples/Performance/components/ItemList.js b/packages/@react-native/tester/js/examples/Performance/components/ItemList.js index df370f958eb..a15ebd85561 100644 --- a/packages/@react-native/tester/js/examples/Performance/components/ItemList.js +++ b/packages/@react-native/tester/js/examples/Performance/components/ItemList.js @@ -28,7 +28,7 @@ function Item(props: {data: ItemDataType}): React.Node { ); } -type ItemListProps = $ReadOnly<{ +type ItemListProps = Readonly<{ data: ItemDataType[], useFlatList?: boolean, onScroll?: (evt: ScrollEvent) => void, diff --git a/packages/@react-native/tester/js/examples/PointerEvents/PointerEventsExample.js b/packages/@react-native/tester/js/examples/PointerEvents/PointerEventsExample.js index a9ce8b05d0f..a88dac42909 100644 --- a/packages/@react-native/tester/js/examples/PointerEvents/PointerEventsExample.js +++ b/packages/@react-native/tester/js/examples/PointerEvents/PointerEventsExample.js @@ -13,15 +13,15 @@ const React = require('react'); const {StyleSheet, Text, View} = require('react-native'); -type ExampleBoxComponentProps = $ReadOnly<{ +type ExampleBoxComponentProps = Readonly<{ onLog: (msg: string) => void, }>; -type ExampleBoxProps = $ReadOnly<{ +type ExampleBoxProps = Readonly<{ Component: React.ComponentType, }>; -type ExampleBoxState = $ReadOnly<{ +type ExampleBoxState = Readonly<{ log: string[], }>; @@ -278,7 +278,7 @@ class BoxOnlyStyleExample extends React.Component<$FlowFixMe> { } } -type OverflowExampleProps = $ReadOnly<{ +type OverflowExampleProps = Readonly<{ overflow: 'hidden' | 'visible', onLog: (msg: string) => void, }>; diff --git a/packages/@react-native/tester/js/examples/RefreshControl/RefreshControlExample.js b/packages/@react-native/tester/js/examples/RefreshControl/RefreshControlExample.js index 0e02f68e031..6926a8c9428 100644 --- a/packages/@react-native/tester/js/examples/RefreshControl/RefreshControlExample.js +++ b/packages/@react-native/tester/js/examples/RefreshControl/RefreshControlExample.js @@ -20,7 +20,7 @@ import { View, } from 'react-native'; -type Data = $ReadOnly<{ +type Data = Readonly<{ clicks: number, text: string, }>; @@ -43,7 +43,7 @@ const styles = StyleSheet.create({ }); class Row extends React.Component< - $ReadOnly<{ + Readonly<{ data: Data, onClick: Data => void, }>, @@ -65,14 +65,14 @@ class Row extends React.Component< } } -type RefreshControlExampleState = $ReadOnly<{ +type RefreshControlExampleState = Readonly<{ isRefreshing: boolean, loaded: number, rowData: $ReadOnlyArray, }>; class RefreshControlExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, RefreshControlExampleState, > { state: RefreshControlExampleState = { diff --git a/packages/@react-native/tester/js/examples/ScrollView/ScrollViewKeyboardInsetsIOSExample.js b/packages/@react-native/tester/js/examples/ScrollView/ScrollViewKeyboardInsetsIOSExample.js index a3dac7c5ddf..c2f8beae6e4 100644 --- a/packages/@react-native/tester/js/examples/ScrollView/ScrollViewKeyboardInsetsIOSExample.js +++ b/packages/@react-native/tester/js/examples/ScrollView/ScrollViewKeyboardInsetsIOSExample.js @@ -42,7 +42,7 @@ function ScrollViewKeyboardInsetsExample(): React.Node { const renderItem = ({ item, index, - }: $ReadOnly<{item: number, index: number, ...}>) => { + }: Readonly<{item: number, index: number, ...}>) => { const largeInput = index % 5 === 4; return ( diff --git a/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js b/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js index 218aae85762..d4de9daae6c 100644 --- a/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js +++ b/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js @@ -64,7 +64,7 @@ const Item = ({item, section, separators}) => { ); }; -type Props = $ReadOnly<{ +type Props = Readonly<{ // $FlowFixMe[unclear-type] exampleProps: Partial>>, onTest?: ?() => void, diff --git a/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js b/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js index 32f419d10ce..c6631de7a75 100644 --- a/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js +++ b/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js @@ -25,10 +25,10 @@ const RCTSnapshot = UIManager.hasViewManagerConfig('RCTSnapshot') : View; type SnapshotReadyEvent = NativeSyntheticEvent< - $ReadOnly<{testIdentifier: string, ...}>, + Readonly<{testIdentifier: string, ...}>, >; -type Props = $ReadOnly<{ +type Props = Readonly<{ ...ViewProps, onSnapshotReady?: ?(event: SnapshotReadyEvent) => unknown, testIdentifier?: ?string, diff --git a/packages/@react-native/tester/js/examples/Switch/SwitchExample.js b/packages/@react-native/tester/js/examples/Switch/SwitchExample.js index c8692cfe61d..b520820cb5b 100644 --- a/packages/@react-native/tester/js/examples/Switch/SwitchExample.js +++ b/packages/@react-native/tester/js/examples/Switch/SwitchExample.js @@ -16,12 +16,12 @@ import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {Platform, Switch, View} from 'react-native'; -type OnOffIndicatorProps = $ReadOnly<{on: boolean, testID: string}>; +type OnOffIndicatorProps = Readonly<{on: boolean, testID: string}>; function OnOffIndicator({on, testID}: OnOffIndicatorProps) { return {on ? 'On' : 'Off'}; } -type ExampleRowProps = $ReadOnly<{children: React.Node}>; +type ExampleRowProps = Readonly<{children: React.Node}>; function ExampleRow({children}: ExampleRowProps) { return ( ; diff --git a/packages/@react-native/tester/js/examples/Text/TextExample.android.js b/packages/@react-native/tester/js/examples/Text/TextExample.android.js index 84443cf035e..04eb6f55e33 100644 --- a/packages/@react-native/tester/js/examples/Text/TextExample.android.js +++ b/packages/@react-native/tester/js/examples/Text/TextExample.android.js @@ -87,7 +87,7 @@ class AttributeToggler extends React.Component<{...}, $FlowFixMe> { } } -type AdjustingFontSizeProps = $ReadOnly<{}>; +type AdjustingFontSizeProps = Readonly<{}>; type AdjustingFontSizeState = { dynamicText: string, diff --git a/packages/@react-native/tester/js/examples/Text/TextExample.ios.js b/packages/@react-native/tester/js/examples/Text/TextExample.ios.js index 1af9c830f13..784cc150934 100644 --- a/packages/@react-native/tester/js/examples/Text/TextExample.ios.js +++ b/packages/@react-native/tester/js/examples/Text/TextExample.ios.js @@ -145,7 +145,7 @@ class AttributeToggler extends React.Component<{...}, $FlowFixMe> { } } -type AdjustingFontSizeProps = $ReadOnly<{}>; +type AdjustingFontSizeProps = Readonly<{}>; type AdjustingFontSizeState = { dynamicText: string, @@ -393,7 +393,7 @@ class TextRenderInfoExample extends React.Component< { fontSize: number, numberOfTextBlocks: number, - textMetrics: $ReadOnly<{ + textMetrics: Readonly<{ ascender: number, capHeight: number, descender: number, @@ -409,7 +409,7 @@ class TextRenderInfoExample extends React.Component< state: { fontSize: number, numberOfTextBlocks: number, - textMetrics: $ReadOnly<{ + textMetrics: Readonly<{ ascender: number, capHeight: number, descender: number, @@ -506,7 +506,7 @@ class TextRenderInfoExample extends React.Component< class TextWithCapBaseBox extends React.Component< {children: string, style?: any}, { - textMetrics: $ReadOnly<{ + textMetrics: Readonly<{ ascender: number, capHeight: number, descender: number, @@ -520,7 +520,7 @@ class TextWithCapBaseBox extends React.Component< }, > { state: { - textMetrics: $ReadOnly<{ + textMetrics: Readonly<{ ascender: number, capHeight: number, descender: number, diff --git a/packages/@react-native/tester/js/examples/Text/TextSharedExamples.js b/packages/@react-native/tester/js/examples/Text/TextSharedExamples.js index cdbb36d8955..8974df2892c 100644 --- a/packages/@react-native/tester/js/examples/Text/TextSharedExamples.js +++ b/packages/@react-native/tester/js/examples/Text/TextSharedExamples.js @@ -80,7 +80,7 @@ function EmptyTextExample(): React.Node { function TextAndLayoutLinesJSON({ testID, ellipsizeMode, -}: $ReadOnly<{ +}: Readonly<{ testID: string, ellipsizeMode: 'head' | 'tail' | 'middle' | 'clip', }>): React.Node { diff --git a/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js b/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js index 5fc810c44f0..f90d8db69c4 100644 --- a/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js +++ b/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js @@ -124,12 +124,12 @@ class TextInputAccessoryViewChangeKeyboardExample extends React.Component< } class TextInputAccessoryViewDefaultDoneButtonExample extends React.Component< - $ReadOnly<{ + Readonly<{ keyboardType: KeyboardTypeOptions, }>, {text: string}, > { - constructor(props: void | $ReadOnly<{keyboardType: KeyboardTypeOptions}>) { + constructor(props: void | Readonly<{keyboardType: KeyboardTypeOptions}>) { // $FlowFixMe[incompatible-type] super(props); this.state = {text: ''}; diff --git a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js index 2de5275b9dd..5ebc81ad1e2 100644 --- a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js +++ b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js @@ -485,7 +485,7 @@ class TokenizedTextExample extends React.Component<$FlowFixMe, $FlowFixMe> { } type SelectionExampleState = { - selection: $ReadOnly<{ + selection: Readonly<{ start: number, end: number, }>, diff --git a/packages/@react-native/tester/js/examples/Timer/TimerExample.js b/packages/@react-native/tester/js/examples/Timer/TimerExample.js index 5a0965105ed..0e36bcd2bb7 100644 --- a/packages/@react-native/tester/js/examples/Timer/TimerExample.js +++ b/packages/@react-native/tester/js/examples/Timer/TimerExample.js @@ -22,7 +22,7 @@ function burnCPU(milliseconds: number) { while (global.performance.now() < start + milliseconds) {} } -type RequestIdleCallbackTesterProps = $ReadOnly<{}>; +type RequestIdleCallbackTesterProps = Readonly<{}>; type RequestIdleCallbackTesterState = {message: string}; class RequestIdleCallbackTester extends React.Component< @@ -146,7 +146,7 @@ class RequestIdleCallbackTester extends React.Component< }; } -type TimerTesterProps = $ReadOnly<{ +type TimerTesterProps = Readonly<{ dt?: any, type: string, }>; @@ -271,7 +271,7 @@ class TimerTester extends React.Component { } class IntervalExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, { showTimer: boolean, }, diff --git a/packages/@react-native/tester/js/examples/View/ViewExample.js b/packages/@react-native/tester/js/examples/View/ViewExample.js index cbddb935dc3..773dda2440f 100644 --- a/packages/@react-native/tester/js/examples/View/ViewExample.js +++ b/packages/@react-native/tester/js/examples/View/ViewExample.js @@ -24,7 +24,7 @@ import { } from 'react-native'; class ViewBorderStyleExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, {showBorder: boolean}, > { state: {showBorder: boolean} = { @@ -89,7 +89,7 @@ const offscreenAlphaCompositingStyles = StyleSheet.create({ }); class OffscreenAlphaCompositing extends React.Component< - $ReadOnly<{testID?: ?string}>, + Readonly<{testID?: ?string}>, { active: boolean, }, @@ -173,7 +173,7 @@ const ZIndexExampleStyles = StyleSheet.create({ }); class ZIndexExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, { flipped: boolean, }, @@ -317,7 +317,7 @@ function PositionStaticZIndexExample(): React.Node { } class DisplayNoneStyle extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, { index: number, }, @@ -383,7 +383,7 @@ class DisplayNoneStyle extends React.Component< }; } -class FlexGapExample extends React.Component<$ReadOnly<{testID?: ?string}>> { +class FlexGapExample extends React.Component> { render(): React.Node { return ( void, @@ -57,7 +57,7 @@ class Button extends React.Component< } class Row extends React.Component< - $ReadOnly<{ + Readonly<{ children?: React.Node, label: string, value?: ?string, @@ -76,12 +76,12 @@ class Row extends React.Component< } } -type WebSocketImageState = $ReadOnly<{ +type WebSocketImageState = Readonly<{ blob: ?Blob, }>; class WebSocketImage extends React.Component< - $ReadOnly<{url: string}>, + Readonly<{url: string}>, WebSocketImageState, > { ws: ?WebSocket = null; @@ -150,7 +150,7 @@ type WebSocketExampleState = { }; class WebSocketExample extends React.Component< - $ReadOnly<{}>, + Readonly<{}>, WebSocketExampleState, > { state: WebSocketExampleState = { diff --git a/packages/@react-native/tester/js/types/RNTesterTypes.js b/packages/@react-native/tester/js/types/RNTesterTypes.js index 646dd551493..08a9b4e8a9c 100644 --- a/packages/@react-native/tester/js/types/RNTesterTypes.js +++ b/packages/@react-native/tester/js/types/RNTesterTypes.js @@ -8,7 +8,7 @@ * @format */ -export type RNTesterModuleExample = $ReadOnly<{ +export type RNTesterModuleExample = Readonly<{ name?: string, title: string, platform?: 'ios' | 'android', @@ -19,7 +19,7 @@ export type RNTesterModuleExample = $ReadOnly<{ render: component(), }>; -export type RNTesterModule = $ReadOnly<{ +export type RNTesterModule = Readonly<{ title: string, testTitle?: ?string, description: string, @@ -33,7 +33,7 @@ export type RNTesterModule = $ReadOnly<{ showIndividualExamples?: boolean, }>; -export type RNTesterModuleInfo = $ReadOnly<{ +export type RNTesterModuleInfo = Readonly<{ key: string, module: RNTesterModule, category?: string, @@ -47,7 +47,7 @@ export type SectionData = { data: Array, }; -export type ExamplesList = $ReadOnly<{ +export type ExamplesList = Readonly<{ components: $ReadOnlyArray>, apis: $ReadOnlyArray>, }>; diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index 530093c6150..08c4d60ef31 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -1,5 +1,5 @@ { - "baseVersion": "0.84.0-nightly-20260107-58bc6c3e3", + "baseVersion": "0.85.0-nightly-20260114-f15985f4f", "overrides": [ { "type": "copy", @@ -12,21 +12,21 @@ "type": "copy", "directory": "js/components", "baseDirectory": "packages/rn-tester/js/components", - "baseHash": "4a44c453c565b88357af138e9e3b49851bbb815b", + "baseHash": "27e5502f255969e9673a33ef148376599cdd89aa", "issue": 4054 }, { "type": "copy", "directory": "js/examples/Accessibility", "baseDirectory": "packages/rn-tester/js/examples/Accessibility", - "baseHash": "dd31cfb78bdcb1f7d1b025b2203410b6eae2b3c8", + "baseHash": "326d4bb307def47ef3c069701f08af3687dfda4f", "issue": 4054 }, { "type": "copy", "directory": "js/examples/ActionSheetIOS", "baseDirectory": "packages/rn-tester/js/examples/ActionSheetIOS", - "baseHash": "e6eb3978718f0e991b9ecfd4eb9b51d068329b6a", + "baseHash": "6bd47ddde6efabd06b1d1454f096853030aab35e", "issue": 4054 }, { @@ -47,14 +47,14 @@ "type": "copy", "directory": "js/examples/Animated", "baseDirectory": "packages/rn-tester/js/examples/Animated", - "baseHash": "882028b4cd050fb338e0abd2d91116a5d374c644", + "baseHash": "2f8e321c0aad89e827b1b7e8f655a807e69107bf", "issue": 4054 }, { "type": "copy", "directory": "js/examples/AnimatedGratuitousApp", "baseDirectory": "packages/rn-tester/js/examples/AnimatedGratuitousApp", - "baseHash": "8a8aac9f747ca0830268bf4b7c83df1405614c1b", + "baseHash": "569a8a61a02457ae7fff5a036f3257e44bd318b3", "issue": 4054 }, { @@ -145,28 +145,28 @@ "type": "copy", "directory": "js/examples/Experimental", "baseDirectory": "packages/rn-tester/js/examples/Experimental", - "baseHash": "fd5aaccdbb8dedf93e2482a22b5e96312ce611ae", + "baseHash": "a38a123969846516bcbfe4296faf29dac21323e9", "issue": 4054 }, { "type": "copy", "directory": "js/examples/Filter", "baseDirectory": "packages/rn-tester/js/examples/Filter", - "baseHash": "9bc059e0a4229fb148b6498d0d3fa0fa50fbe059", + "baseHash": "461aa63f2d276c8f056d410509a12ca362c6dc1b", "issue": 4054 }, { "type": "copy", "directory": "js/examples/FlatList", "baseDirectory": "packages/rn-tester/js/examples/FlatList", - "baseHash": "f58b39ecdfbc688f2a67fe0068b97116514af041", + "baseHash": "b1f42d26c0f053ff75f922e23868dd50c578948e", "issue": 4054 }, { "type": "copy", "directory": "js/examples/Image", "baseDirectory": "packages/rn-tester/js/examples/Image", - "baseHash": "b1490ea3b4071db8ab8a10777de7ad8791388d05", + "baseHash": "fbc5250b75d3bf4354d68862a1b83e69cb1f8e03", "issue": 4054 }, { @@ -264,28 +264,28 @@ "type": "copy", "directory": "js/examples/Layout", "baseDirectory": "packages/rn-tester/js/examples/Layout", - "baseHash": "36ed6980fcca678f858b65dd8a723dcb3bfcf5cc", + "baseHash": "3a1e2a4b049757a4ed61f0165f68bb8d5dfc9009", "issue": 4054 }, { "type": "copy", "directory": "js/examples/LinearGradient", "baseDirectory": "packages/rn-tester/js/examples/LinearGradient/", - "baseHash": "8ac057256faa96b22b3a41c4506d6379959fbf00", + "baseHash": "c85b9f893158fb2dd7fd279ab57072bd2f65b203", "issue": 4054 }, { "type": "copy", "directory": "js/examples/Linking", "baseDirectory": "packages/rn-tester/js/examples/Linking", - "baseHash": "6645d446796b252ff1bcd18453791d8529a09bb3", + "baseHash": "23ce2a432b4006fb1f38348434bb5619b7ddc8af", "issue": 4054 }, { "type": "copy", "directory": "js/examples/MixBlendMode", "baseDirectory": "packages/rn-tester/js/examples/MixBlendMode", - "baseHash": "0bbc09055f5bd015afdc67dea786a8d17dff2bc5", + "baseHash": "6fd7d20b75346531b5a9788f3c042edbe3bb2d6a", "issue": 4054 }, { @@ -334,7 +334,7 @@ "type": "copy", "directory": "js/examples/Performance", "baseDirectory": "packages/rn-tester/js/examples/Performance", - "baseHash": "e03913cdeff804265a1c4dc8b5e4b002ba7ef00f" + "baseHash": "cb99357f53c7f0d09d3562faee2dfcb7db2ea4e1" }, { "type": "copy", @@ -368,7 +368,7 @@ "type": "copy", "directory": "js/examples/PointerEvents", "baseDirectory": "packages/rn-tester/js/examples/PointerEvents", - "baseHash": "b3be0035ef4bc7b03957039ea46ae99c9d98130e", + "baseHash": "3ee6129b85450e35442fa4ebadf15ed419390663", "issue": 4054 }, { @@ -396,7 +396,7 @@ "type": "copy", "directory": "js/examples/RefreshControl", "baseDirectory": "packages/rn-tester/js/examples/RefreshControl", - "baseHash": "41dc4318a31956bfdc38a677ffce4355af4c9ea9", + "baseHash": "3b5a3a8eb3b415fbf91038e92d623788d38d3f09", "issue": 4054 }, { @@ -424,14 +424,14 @@ "type": "copy", "directory": "js/examples/ScrollView", "baseDirectory": "packages/rn-tester/js/examples/ScrollView", - "baseHash": "4dd18531581b057f8d0795a5212f98b5bb433c8b", + "baseHash": "363a47cce6463accf6beef87f07dd080088801e1", "issue": 4054 }, { "type": "copy", "directory": "js/examples/SectionList", "baseDirectory": "packages/rn-tester/js/examples/SectionList", - "baseHash": "6d0df755b1349ab1705ad95b148a8f70a7330d6d", + "baseHash": "6f76feed906a8af0b49ee02e676f8383cdcc6018", "issue": 4054 }, { @@ -452,7 +452,7 @@ "type": "copy", "directory": "js/examples/Snapshot", "baseDirectory": "packages/rn-tester/js/examples/Snapshot", - "baseHash": "b8d69b8c4231e8824f71a0333da01e286273aebe", + "baseHash": "150d9116835450e074d21104ffb678403c4d7559", "issue": 4054 }, { @@ -473,14 +473,14 @@ "type": "copy", "directory": "js/examples/Switch", "baseDirectory": "packages/rn-tester/js/examples/Switch", - "baseHash": "1b7682d93faa3a9e8b94be2dcee948fb9586d321", + "baseHash": "e24be9c84a6f7d78b39c73e60eda0db724001a4a", "issue": 4054 }, { "type": "copy", "directory": "js/examples/Text", "baseDirectory": "packages/rn-tester/js/examples/Text", - "baseHash": "1ade857d9eed74dbbf0ab3a74fd3687027624744", + "baseHash": "20d8327eb59a094bf19502343460823327b222e0", "issue": 4054 }, { @@ -501,7 +501,7 @@ "type": "copy", "file": "js/examples/TextInput/TextInputExample.ios.js", "baseFile": "packages/rn-tester/js/examples/TextInput/TextInputExample.ios.js", - "baseHash": "9ed97c0ed2a545cd137f4045f506a55a1bf8af5e", + "baseHash": "4ef1c58c8f62e6d5faf4b9c06e6d6bcae835afa7", "issue": 14292 }, { @@ -522,14 +522,14 @@ "type": "copy", "file": "js/examples/TextInput/TextInputSharedExamples.js", "baseFile": "packages/rn-tester/js/examples/TextInput/TextInputSharedExamples.js", - "baseHash": "9aa9bb1abe070483e9f2563e3354168121523ae0", + "baseHash": "326c4f65d2c61578d8bd1589b51c9b5d0ec55e10", "issue": 14291 }, { "type": "copy", "directory": "js/examples/Timer", "baseDirectory": "packages/rn-tester/js/examples/Timer", - "baseHash": "9f94fd225bd27a5fb093ad513bdb5677a85f3872", + "baseHash": "40a4df473e104257cb71e8770af4c2be2bbbc7df", "issue": 4054 }, { @@ -584,14 +584,14 @@ "type": "copy", "directory": "js/examples/View", "baseDirectory": "packages/rn-tester/js/examples/View", - "baseHash": "118363a9b248b450f1782c91d35a0102dd758ec3", + "baseHash": "58d50e241a3be5abea4332e0d3a586b97cd88592", "issue": 4054 }, { "type": "copy", "directory": "js/examples/WebSocket", "baseDirectory": "packages/rn-tester/js/examples/WebSocket", - "baseHash": "c3d237f95a50b85b29e5d8534868b3f894352e47", + "baseHash": "8b3db0dcd61cebcb6d3ec855741309c2952cd592", "issue": 4054 }, { @@ -626,7 +626,7 @@ "type": "copy", "directory": "js/types", "baseDirectory": "packages/rn-tester/js/types", - "baseHash": "40139bdab68c7a7d023f91961ce3e8513c275af9", + "baseHash": "b79ddd3aca7843e2193edf9375aa480e01cc4c8d", "issue": 4054 }, { @@ -696,7 +696,7 @@ "type": "copy", "file": "NativeComponentExample/js/MyNativeViewNativeComponent.js", "baseFile": "packages/rn-tester/NativeComponentExample/js/MyNativeViewNativeComponent.js", - "baseHash": "0c70f1762cdfcaaa1bacbbc1546923e1963522cc", + "baseHash": "9911277e1decdb44463ccc5751a17e8a1c15dd86", "issue": 4054 }, { @@ -717,7 +717,7 @@ "type": "patch", "file": "package.json", "baseFile": "packages/rn-tester/package.json", - "baseHash": "4251fa3d4fa790c4f818c79d0c6ccac5e6b476f0", + "baseHash": "e7e82fe7462b49dc0e839245c6bdeb8fcca7ef67", "issue": 13228 }, { @@ -730,7 +730,7 @@ "type": "copy", "file": "ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js", "baseFile": "packages/rn-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js", - "baseHash": "8b8f62b9569d815fa20720d22b9a259ad7fba00c" + "baseHash": "7935456448098bc2e73cb8e75b4a1532a9162d26" } ] } \ No newline at end of file diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json index 2adcae2a4fc..30ffb774785 100644 --- a/packages/@react-native/tester/package.json +++ b/packages/@react-native/tester/package.json @@ -1,6 +1,6 @@ { "name": "@react-native/tester", - "version": "0.84.0-nightly-20260107-58bc6c3e3", + "version": "0.85.0-nightly-20260114-f15985f4f", "private": true, "description": "React Native tester app.", "license": "MIT", @@ -10,7 +10,7 @@ "directory": "packages/rn-tester" }, "engines": { - "node": ">= 22.11.0" + "node": ">= 20.19.4" }, "scripts": { "start": "npx @react-native-community/cli start", @@ -25,8 +25,8 @@ "e2e-test-ios": "./scripts/maestro-test-ios.sh" }, "dependencies": { - "@react-native/new-app-screen": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/popup-menu-android": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/new-app-screen": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/popup-menu-android": "0.85.0-nightly-20260114-f15985f4f", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "nullthrows": "^1.1.1" @@ -62,7 +62,7 @@ "commander": "^12.0.0", "listr2": "^6.4.1", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "rxjs": "npm:@react-native-community/rxjs@6.5.4-custom" } } diff --git a/packages/@rnw-scripts/babel-react-native-config/package.json b/packages/@rnw-scripts/babel-react-native-config/package.json index 24b5353f995..8b2ae0741e8 100644 --- a/packages/@rnw-scripts/babel-react-native-config/package.json +++ b/packages/@rnw-scripts/babel-react-native-config/package.json @@ -11,12 +11,12 @@ }, "dependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/babel-preset": "0.85.0-nightly-20260114-f15985f4f", "babel-plugin-transform-flow-enums": "^0.0.2" }, "devDependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/babel-preset": "0.85.0-nightly-20260114-f15985f4f", "eslint": "^8.19.0", "prettier": "^3.6.2" }, diff --git a/packages/@rnw-scripts/eslint-config/package.json b/packages/@rnw-scripts/eslint-config/package.json index 5a99d008e5e..e8862dff53c 100644 --- a/packages/@rnw-scripts/eslint-config/package.json +++ b/packages/@rnw-scripts/eslint-config/package.json @@ -13,7 +13,7 @@ "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.25.1", "@microsoft/eslint-plugin-sdl": "^0.2.0", - "@react-native/eslint-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/eslint-config": "0.85.0-nightly-20260114-f15985f4f", "eslint-config-prettier": "^8.5.0", "eslint-plugin-ft-flow": "^2.0.1", "hermes-eslint": "0.23.1" diff --git a/packages/@rnw-scripts/integrate-rn/package.json b/packages/@rnw-scripts/integrate-rn/package.json index c612070fc9a..036d7f8b4b9 100644 --- a/packages/@rnw-scripts/integrate-rn/package.json +++ b/packages/@rnw-scripts/integrate-rn/package.json @@ -52,7 +52,7 @@ "jest": "^29.7.0", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "typescript": "5.0.4" }, "files": [ diff --git a/packages/@rnw-scripts/metro-dev-config/package.json b/packages/@rnw-scripts/metro-dev-config/package.json index eef901e5a36..ddf6592914a 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.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnx-kit/metro-config": "^2.2.3", "@rnx-kit/metro-plugin-duplicates-checker": "^3.0.2", "@rnx-kit/metro-serializer": "^2.0.3", @@ -30,7 +30,7 @@ "eslint": "^8.19.0", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "typescript": "5.0.4" }, "peerDependencies": { diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 4f397373586..d528ed8f8a8 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -31,7 +31,7 @@ "@typescript-eslint/eslint-plugin": "^8.36.0", "@typescript-eslint/parser": "^8.36.0", "react": "^19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-windows": "^0.0.0-canary.1049" }, "devDependencies": { @@ -44,7 +44,7 @@ "@react-native-windows/automation": "0.0.0-canary.1049", "@react-native-windows/automation-commands": "0.0.0-canary.1049", "@react-native-windows/perf-testing": "0.0.0-canary.1038", - "@react-native/metro-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", diff --git a/packages/playground/package.json b/packages/playground/package.json index a088c224b46..49656a45caa 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -15,14 +15,14 @@ "@typescript-eslint/eslint-plugin": "^8.36.0", "@typescript-eslint/parser": "^8.36.0", "react": "^19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-windows": "^0.0.0-canary.1049" }, "devDependencies": { "@babel/core": "^7.25.2", "@babel/runtime": "^7.20.0", "@react-native-community/cli": "20.0.0", - "@react-native/metro-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", "@rnw-scripts/just-task": "2.3.58", diff --git a/packages/react-native-windows-init/package.json b/packages/react-native-windows-init/package.json index 4cf0050e1f1..da0d01e3fb7 100644 --- a/packages/react-native-windows-init/package.json +++ b/packages/react-native-windows-init/package.json @@ -53,7 +53,7 @@ "jest": "^29.7.0", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "typescript": "5.0.4" }, "files": [ diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index 3df0f981862..5cfcf31da6c 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/eslint-plugin": "^8.36.0", "@typescript-eslint/parser": "^8.36.0", "react": "^19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-windows": "^0.0.0-canary.1049" }, "devDependencies": { @@ -28,7 +28,7 @@ "@babel/runtime": "^7.20.0", "@jest/globals": "^29.7.0", "@react-native-community/cli": "20.0.0", - "@react-native/metro-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 46d5953f82e..c67ca2fba09 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -23,7 +23,7 @@ "@types/react": "^19.2.3", "minimatch": "^10.0.3", "react": "^19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-windows": "^0.0.0-canary.1049" }, "devDependencies": { @@ -33,7 +33,7 @@ "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.20.0", "@react-native-community/cli": "20.0.0", - "@react-native/metro-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-node-config": "2.3.3", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", diff --git a/vnext/.flowconfig b/vnext/.flowconfig index 7b73037de5f..adf01ddf35e 100644 --- a/vnext/.flowconfig +++ b/vnext/.flowconfig @@ -173,4 +173,4 @@ untyped-import untyped-type-import [version] -^0.295.0 +^0.296.1 diff --git a/vnext/ReactCopies/IntegrationTests/IntegrationTestHarnessTest.js b/vnext/ReactCopies/IntegrationTests/IntegrationTestHarnessTest.js index 831b640ddfa..fdf95ceced4 100644 --- a/vnext/ReactCopies/IntegrationTests/IntegrationTestHarnessTest.js +++ b/vnext/ReactCopies/IntegrationTests/IntegrationTestHarnessTest.js @@ -16,7 +16,7 @@ import {NativeModules, StyleSheet, Text, View} from 'react-native'; const {TestModule} = NativeModules; -type Props = $ReadOnly<{ +type Props = Readonly<{ shouldThrow?: boolean, waitOneFrame?: boolean, }>; diff --git a/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js b/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js index 57eb5855c8c..dcb2f53ee6b 100644 --- a/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js +++ b/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js @@ -24,7 +24,7 @@ function debug(...args: Array) { // console.log.apply(null, arguments); } -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; type State = { didAnimation: boolean, diff --git a/vnext/ReactCopies/IntegrationTests/TimersTest.js b/vnext/ReactCopies/IntegrationTests/TimersTest.js index c7c055cb601..1e8b608821e 100644 --- a/vnext/ReactCopies/IntegrationTests/TimersTest.js +++ b/vnext/ReactCopies/IntegrationTests/TimersTest.js @@ -16,7 +16,7 @@ const ReactNative = require('react-native'); const {StyleSheet, Text, View} = ReactNative; const {TestModule} = ReactNative.NativeModules; -type Props = $ReadOnly<{}>; +type Props = Readonly<{}>; type State = { count: number, diff --git a/vnext/overrides.json b/vnext/overrides.json index ddca42dbe89..385d7d58cc0 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -8,13 +8,13 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.84.0-nightly-20260107-58bc6c3e3", + "baseVersion": "0.85.0-nightly-20260114-f15985f4f", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "49be0404a6bbdf103616a7506ad8a27874048119" + "baseHash": "3e63114f0431abfd021daff6285787377f3f464f" }, { "type": "derived", @@ -312,7 +312,7 @@ "type": "copy", "directory": "ReactCopies/IntegrationTests", "baseDirectory": "packages/rn-tester/IntegrationTests", - "baseHash": "5ad0c9d40b186d2358221dd6f878162fb45bed20", + "baseHash": "bb1c73af49d8355a86ef5ef5100373d8878402c6", "issue": 4054 }, { @@ -421,7 +421,7 @@ "type": "derived", "file": "src-win/Libraries/Components/Button.windows.js", "baseFile": "packages/react-native/Libraries/Components/Button.js", - "baseHash": "ef86e2343f5213a5f230c63a1ddf12cbe6fa946c" + "baseHash": "86868c251bb5f5f62af9562cd6513ca1d5ee172d" }, { "type": "platform", @@ -477,19 +477,19 @@ "type": "patch", "file": "src-win/Libraries/Components/Pressable/Pressable.windows.js", "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js", - "baseHash": "b8d87e48400468e702509ad24dab05f0a492aa19" + "baseHash": "5ff66c1735078860d360204d9e4471c05cf0fb1e" }, { "type": "patch", "file": "src-win/Libraries/Components/RefreshControl/RefreshControl.windows.js", "baseFile": "packages/react-native/Libraries/Components/RefreshControl/RefreshControl.js", - "baseHash": "2d5a412d168f38a8c28582a3eb300495050b1ddc" + "baseHash": "87b657cbbe3414f08d6e4e58aecd49b411ffeecf" }, { "type": "derived", "file": "src-win/Libraries/Components/ScrollView/ScrollView.windows.js", "baseFile": "packages/react-native/Libraries/Components/ScrollView/ScrollView.js", - "baseHash": "8574d4baf47c0476db7405fa71242fb5441b4009" + "baseHash": "3957b2081d1765002a230618b13e66d0754db94a" }, { "type": "derived", @@ -501,19 +501,19 @@ "type": "derived", "file": "src-win/Libraries/Components/Switch/Switch.windows.js", "baseFile": "packages/react-native/Libraries/Components/Switch/Switch.js", - "baseHash": "132a05e2a7c63a4fe99973501013afe4b2794390" + "baseHash": "ef4780115069491fc62455e34c9863629748f734" }, { "type": "derived", "file": "src-win/Libraries/Components/TextInput/TextInput.flow.windows.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.flow.js", - "baseHash": "e36bacf69caef9e59e1f62f9ee4335c6879ef0ed" + "baseHash": "6ea370fcabb5bb0db9682ed28ed832d971937caa" }, { "type": "patch", "file": "src-win/Libraries/Components/TextInput/TextInput.windows.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "cc397bb3c850bb0a02f4b3134fdcbc2d9b597b80" + "baseHash": "dd89cd7044a790007febaeb8ef6c40e4c9cbdf41" }, { "type": "patch", @@ -525,7 +525,7 @@ "type": "derived", "file": "src-win/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js", - "baseHash": "e933cae043648c56c9bc5617364e5f2902a92151" + "baseHash": "dccc78df243c385a8eceb3408cd7becca59c3421" }, { "type": "patch", @@ -537,31 +537,31 @@ "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableBounce.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableBounce.js", - "baseHash": "affb73c526600c75c88438bc8a41ce92d6a4d578" + "baseHash": "de068f74de3955bc9982a5f64d581ec1705d9f51" }, { "type": "patch", "file": "src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableHighlight.js", - "baseHash": "d2b4ee0540944a25d7acb35759318d352eddfa1f" + "baseHash": "c75ca47570eb31904093f8fead941ca6fa30c45c" }, { "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js", - "baseHash": "d48f21572fc72cf6d79df5aac775fb67d4f1abb4" + "baseHash": "7adb86e9810269266c8d1f9d252dc541a7030b75" }, { "type": "patch", "file": "src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableOpacity.js", - "baseHash": "f8c26819c8412926a504084fc64117caf9a40466" + "baseHash": "d865091daba5b35bca5baa7ccc33abff3660437a" }, { "type": "patch", "file": "src-win/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js", - "baseHash": "4238d1e618dba670d1a5739ad7991a8d542b61b0" + "baseHash": "f71ee1bab3695d4f47017ece98f2312d733b678c" }, { "type": "patch", @@ -586,7 +586,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/ViewAccessibility.windows.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js", - "baseHash": "3cc8eebf202cb43189f4c2cb91db01b622572411" + "baseHash": "a4e4e6f4bf2df4685da8fa72a0dc63aee8c4b5db" }, { "type": "derived", @@ -598,7 +598,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/ViewPropTypes.windows.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js", - "baseHash": "3f85fd36b8c098a91f965e9150e53d77ff3aa432" + "baseHash": "138a0f01dfe3524a61cf585461867fd522e49964" }, { "type": "patch", @@ -615,7 +615,7 @@ "type": "derived", "file": "src-win/Libraries/Image/AssetSourceResolver.windows.js", "baseFile": "packages/react-native/Libraries/Image/AssetSourceResolver.js", - "baseHash": "f9f0b6c2481694bd18f9201864fc1db803965103" + "baseHash": "6776a3d61da483d1ea3232cdf9d25a0aec68aa09" }, { "type": "patch", @@ -635,25 +635,25 @@ "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js", - "baseHash": "9554eb5c48570b8a84a6fa77addccd816d0dbacf" + "baseHash": "c53eedb18ebef127f2306a42708b032ce03307c5" }, { "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorHeader.js", - "baseHash": "614a9137be35124ce4d555c3e766568a690a9937" + "baseHash": "3d342d4c28ce5deafecf22682522fdb275ae41bf" }, { "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js", - "baseHash": "cdf958aebabbe9067d34a2df3e6f2fe7ce09f51e" + "baseHash": "47de16261eb2a5397b4bab247153fbcd8d7a3076" }, { "type": "derived", "file": "src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js", "baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js", - "baseHash": "f91edc40bb2bb20bb94be69e6d8af2aa8d53ca8e" + "baseHash": "b498a05f1276dca29f4e44d0eb5fd80bcc8a4222" }, { "type": "patch", @@ -665,7 +665,7 @@ "type": "derived", "file": "src-win/Libraries/Modal/Modal.windows.js", "baseFile": "packages/react-native/Libraries/Modal/Modal.js", - "baseHash": "e56d191d9bc53a00aec9f8c5f32a34700d1eeb9d" + "baseHash": "91e94f6894391a6dfb66e11bb436b3bffc55953f" }, { "type": "derived", @@ -706,7 +706,7 @@ "type": "patch", "file": "src-win/Libraries/Pressability/Pressability.windows.js", "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js", - "baseHash": "10801e10120946aa4c721d13f3b8f455d0f43db8", + "baseHash": "623bd2db2402499786aa79161ec7bfa10577a404", "issue": 4379 }, { @@ -736,19 +736,19 @@ "type": "derived", "file": "src-win/Libraries/Text/Text.windows.js", "baseFile": "packages/react-native/Libraries/Text/Text.js", - "baseHash": "914f50544d09bc3bfe2ea3e34951e47e52d2dd87" + "baseHash": "74cfb0cdb33d310206989381bccd0e00a7900078" }, { "type": "derived", "file": "src-win/Libraries/Text/TextProps.windows.js", "baseFile": "packages/react-native/Libraries/Text/TextProps.js", - "baseHash": "ddeedf097aec999824c4e9d246fdf6fefd61dc76" + "baseHash": "7c4f916e4b08bcffaed10144506ff99b0781fc20" }, { "type": "patch", "file": "src-win/Libraries/Types/CoreEventTypes.windows.js", "baseFile": "packages/react-native/Libraries/Types/CoreEventTypes.js", - "baseHash": "5834bb306dcf85772546feae7af58a875196d309" + "baseHash": "f28ed059b210c9552fde4b43521980ba02f18c33" }, { "type": "copy", @@ -792,13 +792,13 @@ "type": "patch", "file": "src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js", "baseFile": "packages/react-native/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js", - "baseHash": "6de61fb2342d9cdfad73a28c8d9cf39d2097a34b" + "baseHash": "9580ccd45ec45dfad95d22f6608559e98dfe0eab" }, { "type": "patch", "file": "src-win/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js", "baseFile": "packages/react-native/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js", - "baseHash": "ef274b26bb96c786b0137ca34561d4c53ab37faa", + "baseHash": "1fbf4cca23f0687d0c0ebeacce674ca79cbebce9", "issue": 15582 }, { diff --git a/vnext/package.json b/vnext/package.json index cc22a339dce..f7947cf147e 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -28,14 +28,14 @@ "@react-native-community/cli-platform-ios": "20.0.0", "@react-native-windows/cli": "0.0.0-canary.287", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/codegen": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/community-cli-plugin": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/gradle-plugin": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/js-polyfills": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/new-app-screen": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/normalize-colors": "0.84.0-nightly-20260107-58bc6c3e3", - "@react-native/virtualized-lists": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/assets-registry": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/codegen": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/community-cli-plugin": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/gradle-plugin": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/js-polyfills": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/new-app-screen": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/normalize-colors": "0.85.0-nightly-20260114-f15985f4f", + "@react-native/virtualized-lists": "0.85.0-nightly-20260114-f15985f4f", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -73,7 +73,7 @@ "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.3", "@react-native-windows/codegen": "0.0.0-canary.133", - "@react-native/metro-config": "0.84.0-nightly-20260107-58bc6c3e3", + "@react-native/metro-config": "0.85.0-nightly-20260114-f15985f4f", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.38", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.42", @@ -83,12 +83,12 @@ "@types/node": "^22.14.0", "@types/react": "^19.2.3", "eslint": "^8.19.0", - "flow-bin": "^0.295.0", + "flow-bin": "^0.296.1", "jscodeshift": "^0.14.0", "just-scripts": "^1.3.3", "prettier": "^3.6.2", "react": "19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3", + "react-native": "0.85.0-nightly-20260114-f15985f4f", "react-native-platform-override": "0.0.0-canary.1022", "react-refresh": "^0.14.0", "typescript": "5.0.4" @@ -96,7 +96,7 @@ "peerDependencies": { "@types/react": "^19.2.3", "react": "^19.2.3", - "react-native": "0.84.0-nightly-20260107-58bc6c3e3" + "react-native": "0.85.0-nightly-20260114-f15985f4f" }, "beachball": { "defaultNpmTag": "canary", diff --git a/vnext/src-win/Libraries/Components/Button.windows.js b/vnext/src-win/Libraries/Components/Button.windows.js index 6573bc7a877..f4b19360bbd 100644 --- a/vnext/src-win/Libraries/Components/Button.windows.js +++ b/vnext/src-win/Libraries/Components/Button.windows.js @@ -32,7 +32,7 @@ import View from './View/View'; import invariant from 'invariant'; import * as React from 'react'; -export type ButtonProps = $ReadOnly<{ +export type ButtonProps = Readonly<{ /** Text to display inside the button. On Android the given title will be converted to the uppercased form. diff --git a/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js b/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js index 0988d84cace..8cb33f7ac18 100644 --- a/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js +++ b/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js @@ -35,11 +35,11 @@ import type {HandledKeyboardEvent} from '../../Components/View/ViewPropTypes'; export type {PressableAndroidRippleConfig}; -export type PressableStateCallbackType = $ReadOnly<{ +export type PressableStateCallbackType = Readonly<{ pressed: boolean, }>; -type PressableBaseProps = $ReadOnly<{ +type PressableBaseProps = Readonly<{ /** * Whether a press gesture can be interrupted by a parent gesture such as a * scroll event. Defaults to true. @@ -210,7 +210,7 @@ type PressableBaseProps = $ReadOnly<{ unstable_pressDelay?: ?number, }>; -export type PressableProps = $ReadOnly<{ +export type PressableProps = Readonly<{ // Pressability may override `onMouseEnter` and `onMouseLeave` to // implement `onHoverIn` and `onHoverOut` in a platform-agnostic way. // Hover events should be used instead of mouse events. diff --git a/vnext/src-win/Libraries/Components/RefreshControl/RefreshControl.windows.js b/vnext/src-win/Libraries/Components/RefreshControl/RefreshControl.windows.js index e5e837dddc4..ac5c033be9f 100644 --- a/vnext/src-win/Libraries/Components/RefreshControl/RefreshControl.windows.js +++ b/vnext/src-win/Libraries/Components/RefreshControl/RefreshControl.windows.js @@ -21,7 +21,7 @@ import * as React from 'react'; const Platform = require('../../Utilities/Platform').default; -export type RefreshControlPropsIOS = $ReadOnly<{ +export type RefreshControlPropsIOS = Readonly<{ /** * The color of the refresh indicator. */ @@ -36,7 +36,7 @@ export type RefreshControlPropsIOS = $ReadOnly<{ title?: ?string, }>; -export type RefreshControlPropsAndroid = $ReadOnly<{ +export type RefreshControlPropsAndroid = Readonly<{ /** * Whether the pull to refresh functionality is enabled. */ @@ -55,7 +55,7 @@ export type RefreshControlPropsAndroid = $ReadOnly<{ size?: ?('default' | 'large'), }>; -type RefreshControlBaseProps = $ReadOnly<{ +type RefreshControlBaseProps = Readonly<{ /** * Called when the view starts refreshing. */ @@ -72,7 +72,7 @@ type RefreshControlBaseProps = $ReadOnly<{ progressViewOffset?: ?number, }>; -export type RefreshControlProps = $ReadOnly<{ +export type RefreshControlProps = Readonly<{ ...ViewProps, ...RefreshControlPropsIOS, ...RefreshControlPropsAndroid, diff --git a/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js b/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js index 51aca9d15eb..af20adabc5f 100644 --- a/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js +++ b/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js @@ -174,7 +174,7 @@ export interface PublicScrollViewInstance type InnerViewInstance = React.ElementRef; -export type ScrollViewPropsIOS = $ReadOnly<{ +export type ScrollViewPropsIOS = Readonly<{ /** * Controls whether iOS should automatically adjust the content inset * for scroll views that are placed behind a navigation bar or @@ -330,7 +330,7 @@ export type ScrollViewPropsIOS = $ReadOnly<{ ), }>; -export type ScrollViewPropsAndroid = $ReadOnly<{ +export type ScrollViewPropsAndroid = Readonly<{ /** * Enables nested scrolling for Android API level 21+. * Nested scrolling is supported by default on iOS @@ -391,11 +391,11 @@ export type ScrollViewPropsAndroid = $ReadOnly<{ }>; type StickyHeaderComponentType = component( - ref?: React.RefSetter<$ReadOnly void}>>, + ref?: React.RefSetter void}>>, ...ScrollViewStickyHeaderProps ); -type ScrollViewBaseProps = $ReadOnly<{ +type ScrollViewBaseProps = Readonly<{ /** * These styles will be applied to the scroll view content container which * wraps all of the child views. Example: @@ -514,7 +514,7 @@ type ScrollViewBaseProps = $ReadOnly<{ * whether content is "visible" or not. * */ - maintainVisibleContentPosition?: ?$ReadOnly<{ + maintainVisibleContentPosition?: ?Readonly<{ minIndexForVisible: number, autoscrollToTopThreshold?: ?number, }>, @@ -673,7 +673,7 @@ type ScrollViewBaseProps = $ReadOnly<{ scrollViewRef?: React.RefSetter, }>; -export type ScrollViewProps = $ReadOnly<{ +export type ScrollViewProps = Readonly<{ ...ViewProps, ...ScrollViewPropsIOS, ...ScrollViewPropsAndroid, @@ -686,7 +686,7 @@ type ScrollViewState = { const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16; -export type ScrollViewComponentStatics = $ReadOnly<{ +export type ScrollViewComponentStatics = Readonly<{ Context: typeof ScrollViewContext, }>; diff --git a/vnext/src-win/Libraries/Components/Switch/Switch.windows.js b/vnext/src-win/Libraries/Components/Switch/Switch.windows.js index f6ea385227f..35076b508cc 100644 --- a/vnext/src-win/Libraries/Components/Switch/Switch.windows.js +++ b/vnext/src-win/Libraries/Components/Switch/Switch.windows.js @@ -48,7 +48,7 @@ export type SwitchPropsIOS = { tintColor?: ?ColorValue, }; -type SwitchChangeEventData = $ReadOnly<{ +type SwitchChangeEventData = Readonly<{ target: number, value: boolean, }>; @@ -82,7 +82,7 @@ type SwitchPropsBase = { color of the background exposed by the shrunken track, use [`ios_backgroundColor`](https://reactnative.dev/docs/switch#ios_backgroundColor). */ - trackColor?: ?$ReadOnly<{ + trackColor?: ?Readonly<{ false?: ?ColorValue, true?: ?ColorValue, }>, @@ -109,7 +109,7 @@ type SwitchPropsBase = { onValueChange?: ?(value: boolean) => Promise | void, }; -export type SwitchProps = $ReadOnly<{ +export type SwitchProps = Readonly<{ ...ViewProps, ...SwitchPropsIOS, ...SwitchPropsBase, diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.flow.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.flow.windows.js index 9fa144abd79..386e67e466b 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.flow.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.flow.windows.js @@ -30,7 +30,7 @@ import * as React from 'react'; /** * @see TextInputProps.onChange */ -type TextInputChangeEventData = $ReadOnly<{ +type TextInputChangeEventData = Readonly<{ eventCount: number, target: number, text: string, @@ -40,10 +40,10 @@ export type TextInputChangeEvent = NativeSyntheticEvent; export type TextInputEvent = NativeSyntheticEvent< - $ReadOnly<{ + Readonly<{ eventCount: number, previousText: string, - range: $ReadOnly<{ + range: Readonly<{ start: number, end: number, }>, @@ -52,9 +52,9 @@ export type TextInputEvent = NativeSyntheticEvent< }>, >; -type TextInputContentSizeChangeEventData = $ReadOnly<{ +type TextInputContentSizeChangeEventData = Readonly<{ target: number, - contentSize: $ReadOnly<{ + contentSize: Readonly<{ width: number, height: number, }>, @@ -78,17 +78,17 @@ export type TextInputBlurEvent = BlurEvent; */ export type TextInputFocusEvent = FocusEvent; -type TargetEvent = $ReadOnly<{ +type TargetEvent = Readonly<{ target: number, ... }>; -export type Selection = $ReadOnly<{ +export type Selection = Readonly<{ start: number, end: number, }>; -type TextInputSelectionChangeEventData = $ReadOnly<{ +type TextInputSelectionChangeEventData = Readonly<{ ...TargetEvent, selection: Selection, ... @@ -100,7 +100,7 @@ type TextInputSelectionChangeEventData = $ReadOnly<{ export type TextInputSelectionChangeEvent = NativeSyntheticEvent; -type TextInputKeyPressEventData = $ReadOnly<{ +type TextInputKeyPressEventData = Readonly<{ ...TargetEvent, key: string, target?: ?number, @@ -114,7 +114,7 @@ type TextInputKeyPressEventData = $ReadOnly<{ export type TextInputKeyPressEvent = NativeSyntheticEvent; -type TextInputEndEditingEventData = $ReadOnly<{ +type TextInputEndEditingEventData = Readonly<{ ...TargetEvent, eventCount: number, text: string, @@ -127,7 +127,7 @@ type TextInputEndEditingEventData = $ReadOnly<{ export type TextInputEndEditingEvent = NativeSyntheticEvent; -type TextInputSubmitEditingEventData = $ReadOnly<{ +type TextInputSubmitEditingEventData = Readonly<{ ...TargetEvent, eventCount: number, text: string, @@ -271,7 +271,7 @@ export type EnterKeyHintTypeOptions = type PasswordRules = string; -export type TextInputIOSProps = $ReadOnly<{ +export type TextInputIOSProps = Readonly<{ /** * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false. * @platform ios @@ -408,7 +408,7 @@ export type TextInputIOSProps = $ReadOnly<{ smartInsertDelete?: ?boolean, }>; -export type TextInputAndroidProps = $ReadOnly<{ +export type TextInputAndroidProps = Readonly<{ /** * When provided it will set the color of the cursor (or "caret") in the component. * Unlike the behavior of `selectionColor` the cursor color will be set independently @@ -519,7 +519,7 @@ export type TextInputAndroidProps = $ReadOnly<{ // [Windows -type SubmitKeyEvent = $ReadOnly<{| +type SubmitKeyEvent = Readonly<{| altKey?: ?boolean, ctrlKey?: ?boolean, metaKey?: ?boolean, @@ -527,7 +527,7 @@ type SubmitKeyEvent = $ReadOnly<{| code: string, |}>; -export type TextInputWindowsProps = $ReadOnly<{| +export type TextInputWindowsProps = Readonly<{| /** * If `true`, clears the text field synchronously before `onSubmitEditing` is emitted. * @platform windows @@ -576,7 +576,7 @@ export type TextInputWindowsProps = $ReadOnly<{| // Windows] -type TextInputBaseProps = $ReadOnly<{ +type TextInputBaseProps = Readonly<{ /** * When provided, the text input will only accept drag and drop events for the specified * types. If null or not provided, the text input will accept all types of drag and drop events. @@ -1017,7 +1017,7 @@ type TextInputBaseProps = $ReadOnly<{ * The start and end of the text input's selection. Set start and end to * the same value to position the cursor. */ - selection?: ?$ReadOnly<{ + selection?: ?Readonly<{ start: number, end?: ?number, }>, @@ -1102,7 +1102,7 @@ type TextInputBaseProps = $ReadOnly<{ textAlign?: ?('left' | 'center' | 'right'), }>; -export type TextInputProps = $ReadOnly<{ +export type TextInputProps = Readonly<{ ...Omit, ...TextInputIOSProps, ...TextInputAndroidProps, @@ -1239,8 +1239,8 @@ type InternalTextInput = component( ...TextInputProps ); -export type TextInputComponentStatics = $ReadOnly<{ - State: $ReadOnly<{ +export type TextInputComponentStatics = Readonly<{ + State: Readonly<{ currentlyFocusedInput: () => ?HostInstance, currentlyFocusedField: () => ?number, focusTextInput: (textField: ?HostInstance) => void, diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index 98b9b59eb25..6663209cd1b 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -136,7 +136,7 @@ export type { TextInputWindowsProps, // [Windows] }; -type TextInputStateType = $ReadOnly<{ +type TextInputStateType = Readonly<{ /** * @deprecated Use currentlyFocusedInput * Returns the ID of the currently focused text field, if one exists @@ -1142,7 +1142,7 @@ TextInput.State = { focusTextInput: TextInputState.focusTextInput, }; -export type TextInputComponentStatics = $ReadOnly<{ +export type TextInputComponentStatics = Readonly<{ State: TextInputStateType, }>; diff --git a/vnext/src-win/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js b/vnext/src-win/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js index c3f988bd3c7..641f0d9aa37 100644 --- a/vnext/src-win/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +++ b/vnext/src-win/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js @@ -63,7 +63,7 @@ export type ReturnKeyType = export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline'; -export type NativeProps = $ReadOnly<{ +export type NativeProps = Readonly<{ // This allows us to inherit everything from ViewProps except for style (see below) // This must be commented for Fabric codegen to work. ...Omit, @@ -339,13 +339,13 @@ export type NativeProps = $ReadOnly<{ * Callback that is called when the text input is blurred. * `target` is the reactTag of the element */ - onBlur?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>, + onBlur?: ?BubblingEventHandler>, /** * Callback that is called when the text input is focused. * `target` is the reactTag of the element */ - onFocus?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>, + onFocus?: ?BubblingEventHandler>, /** * Callback that is called when the text input's text changes. @@ -353,7 +353,7 @@ export type NativeProps = $ReadOnly<{ * TODO: differentiate between onChange and onChangeText */ onChange?: ?BubblingEventHandler< - $ReadOnly<{target: Int32, eventCount: Int32, text: string}>, + Readonly<{target: Int32, eventCount: Int32, text: string}>, >, /** @@ -362,7 +362,7 @@ export type NativeProps = $ReadOnly<{ * TODO: differentiate between onChange and onChangeText */ onChangeText?: ?BubblingEventHandler< - $ReadOnly<{target: Int32, eventCount: Int32, text: string}>, + Readonly<{target: Int32, eventCount: Int32, text: string}>, >, /** @@ -373,18 +373,16 @@ export type NativeProps = $ReadOnly<{ * Only called for multiline text inputs. */ onContentSizeChange?: ?DirectEventHandler< - $ReadOnly<{ + Readonly<{ target: Int32, - contentSize: $ReadOnly<{width: Double, height: Double}>, + contentSize: Readonly<{width: Double, height: Double}>, }>, >, /** * Callback that is called when text input ends. */ - onEndEditing?: ?BubblingEventHandler< - $ReadOnly<{target: Int32, text: string}>, - >, + onEndEditing?: ?BubblingEventHandler>, /** * Callback that is called when the text input selection is changed. @@ -392,9 +390,9 @@ export type NativeProps = $ReadOnly<{ * `{ nativeEvent: { selection: { start, end } } }`. */ onSelectionChange?: ?DirectEventHandler< - $ReadOnly<{ + Readonly<{ target: Int32, - selection: $ReadOnly<{start: Double, end: Double}>, + selection: Readonly<{start: Double, end: Double}>, }>, >, @@ -403,7 +401,7 @@ export type NativeProps = $ReadOnly<{ * Invalid if `multiline={true}` is specified. */ onSubmitEditing?: ?BubblingEventHandler< - $ReadOnly<{target: Int32, text: string}>, + Readonly<{target: Int32, text: string}>, >, /** @@ -413,7 +411,7 @@ export type NativeProps = $ReadOnly<{ * the typed-in character otherwise including `' '` for space. * Fires before `onChange` callbacks. */ - onKeyPress?: ?BubblingEventHandler<$ReadOnly<{target: Int32, key: string}>>, + onKeyPress?: ?BubblingEventHandler>, /** * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`. @@ -421,28 +419,28 @@ export type NativeProps = $ReadOnly<{ * is not provided for performance reasons. */ onScroll?: ?DirectEventHandler< - $ReadOnly<{ + Readonly<{ target: Int32, responderIgnoreScroll: boolean, - contentInset: $ReadOnly<{ + contentInset: Readonly<{ top: Double, // always 0 on Android bottom: Double, // always 0 on Android left: Double, // always 0 on Android right: Double, // always 0 on Android }>, - contentOffset: $ReadOnly<{ + contentOffset: Readonly<{ x: Double, y: Double, }>, - contentSize: $ReadOnly<{ + contentSize: Readonly<{ width: Double, // always 0 on Android height: Double, // always 0 on Android }>, - layoutMeasurement: $ReadOnly<{ + layoutMeasurement: Readonly<{ width: Double, height: Double, }>, - velocity: $ReadOnly<{ + velocity: Readonly<{ x: Double, // always 0 on Android y: Double, // always 0 on Android }>, @@ -479,7 +477,7 @@ export type NativeProps = $ReadOnly<{ * The start and end of the text input's selection. Set start and end to * the same value to position the cursor. */ - selection?: ?$ReadOnly<{ + selection?: ?Readonly<{ start: Int32, end?: ?Int32, }>, @@ -582,7 +580,7 @@ export type NativeProps = $ReadOnly<{ textShadowRadius?: ?Float, textDecorationLine?: ?string, fontStyle?: ?string, - textShadowOffset?: ?$ReadOnly<{width?: ?Double, height?: ?Double}>, + textShadowOffset?: ?Readonly<{width?: ?Double, height?: ?Double}>, lineHeight?: ?Float, textTransform?: ?string, color?: ?Int32, diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js index 898472e91ad..96dc884e99d 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js @@ -19,7 +19,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug'; import Platform from '../../Utilities/Platform'; import * as React from 'react'; -type TouchableBounceProps = $ReadOnly<{ +type TouchableBounceProps = Readonly<{ ...React.ElementConfig, onPressAnimationComplete?: ?() => void, @@ -31,7 +31,7 @@ type TouchableBounceProps = $ReadOnly<{ hostRef: React.RefSetter>, }>; -type TouchableBounceState = $ReadOnly<{ +type TouchableBounceState = Readonly<{ pressability: Pressability, scale: Animated.Value, }>; @@ -233,10 +233,10 @@ export default (function TouchableBounceWrapper({ ...props }: { ref: React.RefSetter, - ...$ReadOnly>, + ...Readonly>, }) { return ; } as component( ref?: React.RefSetter, - ...props: $ReadOnly> + ...props: Readonly> )); diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js index 420b30258b7..68addb03f4f 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js @@ -22,7 +22,7 @@ import Platform from '../../Utilities/Platform'; import * as React from 'react'; import {cloneElement} from 'react'; -type AndroidProps = $ReadOnly<{ +type AndroidProps = Readonly<{ nextFocusDown?: ?number, nextFocusForward?: ?number, nextFocusLeft?: ?number, @@ -30,7 +30,7 @@ type AndroidProps = $ReadOnly<{ nextFocusUp?: ?number, }>; -type IOSProps = $ReadOnly<{ +type IOSProps = Readonly<{ /** * @deprecated Use `focusable` instead */ @@ -38,7 +38,7 @@ type IOSProps = $ReadOnly<{ }>; // [Windows -type WindowProps = $ReadOnly<{ +type WindowProps = Readonly<{ onAccessibilityTap?: ?() => void, //onMouseEnter: ?() => void, //onMouseLeave: ?() => void, @@ -46,7 +46,7 @@ type WindowProps = $ReadOnly<{ }>; // Windows] -type TouchableHighlightBaseProps = $ReadOnly<{ +type TouchableHighlightBaseProps = Readonly<{ /** * Determines what the opacity of the wrapped view should be when touch is active. */ @@ -72,7 +72,7 @@ type TouchableHighlightBaseProps = $ReadOnly<{ hostRef?: React.RefSetter>, }>; -export type TouchableHighlightProps = $ReadOnly<{ +export type TouchableHighlightProps = Readonly<{ ...TouchableWithoutFeedbackProps, ...AndroidProps, ...IOSProps, @@ -80,12 +80,12 @@ export type TouchableHighlightProps = $ReadOnly<{ ...TouchableHighlightBaseProps, }>; -type ExtraStyles = $ReadOnly<{ +type ExtraStyles = Readonly<{ child: ViewStyleProp, underlay: ViewStyleProp, }>; -type TouchableHighlightState = $ReadOnly<{ +type TouchableHighlightState = Readonly<{ pressability: Pressability, extraStyles: ?ExtraStyles, }>; @@ -437,13 +437,13 @@ class TouchableHighlightImpl extends React.Component< const TouchableHighlight: component( ref?: React.RefSetter>, - ...props: $ReadOnly> + ...props: Readonly> ) = ({ ref: hostRef, ...props }: { ref?: React.RefSetter>, - ...$ReadOnly>, + ...Readonly>, }) => ; TouchableHighlight.displayName = 'TouchableHighlight'; diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js index 4bb4cfaace3..edb7f645f03 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js @@ -69,7 +69,7 @@ type TouchableNativeFeedbackTVProps = { nextFocusUp?: ?number, }; -export type TouchableNativeFeedbackProps = $ReadOnly<{ +export type TouchableNativeFeedbackProps = Readonly<{ ...TouchableWithoutFeedbackProps, ...TouchableNativeFeedbackTVProps, /** @@ -87,14 +87,14 @@ export type TouchableNativeFeedbackProps = $ReadOnly<{ * type is available on Android API level 21+ */ background?: ?( - | $ReadOnly<{ + | Readonly<{ type: 'ThemeAttrAndroid', attribute: | 'selectableItemBackground' | 'selectableItemBackgroundBorderless', rippleRadius: ?number, }> - | $ReadOnly<{ + | Readonly<{ type: 'RippleAndroid', color: ?number, borderless: boolean, @@ -114,7 +114,7 @@ export type TouchableNativeFeedbackProps = $ReadOnly<{ useForeground?: ?boolean, }>; -type TouchableNativeFeedbackState = $ReadOnly<{ +type TouchableNativeFeedbackState = Readonly<{ pressability: Pressability, }>; @@ -138,7 +138,7 @@ class TouchableNativeFeedback extends React.Component< * * @param rippleRadius The radius of ripple effect */ - static SelectableBackground: (rippleRadius?: ?number) => $ReadOnly<{ + static SelectableBackground: (rippleRadius?: ?number) => Readonly<{ attribute: 'selectableItemBackground', type: 'ThemeAttrAndroid', rippleRadius: ?number, @@ -155,7 +155,7 @@ class TouchableNativeFeedback extends React.Component< * * @param rippleRadius The radius of ripple effect */ - static SelectableBackgroundBorderless: (rippleRadius?: ?number) => $ReadOnly<{ + static SelectableBackgroundBorderless: (rippleRadius?: ?number) => Readonly<{ attribute: 'selectableItemBackgroundBorderless', type: 'ThemeAttrAndroid', rippleRadius: ?number, @@ -180,7 +180,7 @@ class TouchableNativeFeedback extends React.Component< color: string, borderless: boolean, rippleRadius?: ?number, - ) => $ReadOnly<{ + ) => Readonly<{ borderless: boolean, color: ?number, rippleRadius: ?number, diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js index 7939790580d..72dd5922159 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js @@ -21,7 +21,7 @@ import flattenStyle from '../../StyleSheet/flattenStyle'; import Platform from '../../Utilities/Platform'; import * as React from 'react'; -export type TouchableOpacityTVProps = $ReadOnly<{ +export type TouchableOpacityTVProps = Readonly<{ /** * *(Apple TV only)* TV preferred focus (see documentation for the View component). * @@ -66,7 +66,7 @@ export type TouchableOpacityTVProps = $ReadOnly<{ nextFocusUp?: ?number, }>; -type TouchableOpacityBaseProps = $ReadOnly<{ +type TouchableOpacityBaseProps = Readonly<{ /** * Determines what the opacity of the wrapped view should be when touch is active. * Defaults to 0.2 @@ -77,13 +77,13 @@ type TouchableOpacityBaseProps = $ReadOnly<{ hostRef?: ?React.RefSetter>, }>; -export type TouchableOpacityProps = $ReadOnly<{ +export type TouchableOpacityProps = Readonly<{ ...TouchableWithoutFeedbackProps, ...TouchableOpacityTVProps, ...TouchableOpacityBaseProps, }>; -type TouchableOpacityState = $ReadOnly<{ +type TouchableOpacityState = Readonly<{ anim: Animated.Value, pressability: Pressability, }>; diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js index 50ef0dcae0a..90b28d42f87 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js @@ -51,7 +51,7 @@ export type TouchableWithoutFeedbackPropsWindows = { }; // Windows] -export type TouchableWithoutFeedbackProps = $ReadOnly< +export type TouchableWithoutFeedbackProps = Readonly< { children?: ?React.Node, /** diff --git a/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js b/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js index 625f0331c30..8ec1b079b38 100644 --- a/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js @@ -194,7 +194,7 @@ export type AccessibilityActionName = | 'escape'; // the info associated with an accessibility action -export type AccessibilityActionInfo = $ReadOnly<{ +export type AccessibilityActionInfo = Readonly<{ name: AccessibilityActionName | string, label?: string, ... @@ -202,7 +202,7 @@ export type AccessibilityActionInfo = $ReadOnly<{ // The info included in the event sent to onAccessibilityAction export type AccessibilityActionEvent = NativeSyntheticEvent< - $ReadOnly<{actionName: string, ...}>, + Readonly<{actionName: string, ...}>, >; export type AccessibilityState = { @@ -232,7 +232,7 @@ export type AccessibilityState = { ... }; -export type AccessibilityValue = $ReadOnly<{ +export type AccessibilityValue = Readonly<{ /** * The minimum value of this component's range. (should be an integer) */ @@ -254,7 +254,7 @@ export type AccessibilityValue = $ReadOnly<{ text?: Stringish, }>; -export type AccessibilityPropsAndroid = $ReadOnly<{ +export type AccessibilityPropsAndroid = Readonly<{ /** * Identifies the element that labels the element it is applied to. When the assistive technology focuses on the component with this props, * the text is read aloud. The value should should match the nativeID of the related element. @@ -303,7 +303,7 @@ export type AccessibilityPropsAndroid = $ReadOnly<{ importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'), }>; -export type AccessibilityPropsIOS = $ReadOnly<{ +export type AccessibilityPropsIOS = Readonly<{ /** * Prevents view from being inverted if set to true and color inversion is turned on. * @@ -373,7 +373,7 @@ export type AccessibilityPropsWindows = $ReadOnly<{ }>; // Windows] -export type AccessibilityProps = $ReadOnly<{ +export type AccessibilityProps = Readonly<{ ...AccessibilityPropsAndroid, ...AccessibilityPropsIOS, ...AccessibilityPropsWindows, // [Windows] diff --git a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js index 314c587ebdd..5119491a64d 100644 --- a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js @@ -34,7 +34,7 @@ import * as React from 'react'; export type ViewLayout = LayoutRectangle; export type ViewLayoutEvent = LayoutChangeEvent; -type DirectEventProps = $ReadOnly<{ +type DirectEventProps = Readonly<{ /** * When `accessible` is true, the system will try to invoke this function * when the user performs an accessibility custom action. @@ -80,13 +80,13 @@ type DirectEventProps = $ReadOnly<{ onAccessibilityEscape?: ?() => unknown, }>; -type MouseEventProps = $ReadOnly<{ +type MouseEventProps = Readonly<{ onMouseEnter?: ?(event: MouseEvent) => void, onMouseLeave?: ?(event: MouseEvent) => void, }>; // Experimental/Work in Progress Pointer Event Callbacks (not yet ready for use) -type PointerEventProps = $ReadOnly<{ +type PointerEventProps = Readonly<{ onAuxClick?: ?(event: PointerEvent) => void, // [Windows] onAuxClickCapture?: ?(event: PointerEvent) => void, // [Windows] onClick?: ?(event: PointerEvent) => void, @@ -113,21 +113,21 @@ type PointerEventProps = $ReadOnly<{ onLostPointerCaptureCapture?: ?(e: PointerEvent) => void, }>; -type FocusEventProps = $ReadOnly<{ +type FocusEventProps = Readonly<{ onBlur?: ?(event: BlurEvent) => void, onBlurCapture?: ?(event: BlurEvent) => void, onFocus?: ?(event: FocusEvent) => void, onFocusCapture?: ?(event: FocusEvent) => void, }>; -type KeyEventProps = $ReadOnly<{ +type KeyEventProps = Readonly<{ onKeyDown?: ?(event: KeyDownEvent) => void, onKeyDownCapture?: ?(event: KeyDownEvent) => void, onKeyUp?: ?(event: KeyUpEvent) => void, onKeyUpCapture?: ?(event: KeyUpEvent) => void, }>; -type TouchEventProps = $ReadOnly<{ +type TouchEventProps = Readonly<{ onTouchCancel?: ?(e: GestureResponderEvent) => void, onTouchCancelCapture?: ?(e: GestureResponderEvent) => void, onTouchEnd?: ?(e: GestureResponderEvent) => void, @@ -143,7 +143,7 @@ type TouchEventProps = $ReadOnly<{ * `TouchableHighlight` or `TouchableOpacity`. Check out `Touchable.js`, * `ScrollResponder.js` and `ResponderEventPlugin.js` for more discussion. */ -export type GestureResponderHandlers = $ReadOnly<{ +export type GestureResponderHandlers = Readonly<{ /** * Does this view want to "claim" touch responsiveness? This is called for * every touch move on the `View` when it is not the responder. @@ -260,12 +260,12 @@ export type GestureResponderHandlers = $ReadOnly<{ onStartShouldSetResponderCapture?: ?(e: GestureResponderEvent) => boolean, }>; -type AndroidDrawableThemeAttr = $ReadOnly<{ +type AndroidDrawableThemeAttr = Readonly<{ type: 'ThemeAttrAndroid', attribute: string, }>; -type AndroidDrawableRipple = $ReadOnly<{ +type AndroidDrawableRipple = Readonly<{ type: 'RippleAndroid', color?: ?number, borderless?: ?boolean, @@ -274,7 +274,7 @@ type AndroidDrawableRipple = $ReadOnly<{ type AndroidDrawable = AndroidDrawableThemeAttr | AndroidDrawableRipple; -export type ViewPropsAndroid = $ReadOnly<{ +export type ViewPropsAndroid = Readonly<{ nativeBackgroundAndroid?: ?AndroidDrawable, nativeForegroundAndroid?: ?AndroidDrawable, @@ -359,7 +359,7 @@ export type ViewPropsAndroid = $ReadOnly<{ onClick?: ?(event: GestureResponderEvent) => unknown, }>; -export type TVViewPropsIOS = $ReadOnly<{ +export type TVViewPropsIOS = Readonly<{ /** * *(Apple TV only)* When set to true, this view will be focusable * and navigable using the Apple TV remote. @@ -404,7 +404,7 @@ export type TVViewPropsIOS = $ReadOnly<{ tvParallaxMagnification?: number, }>; -export type ViewPropsIOS = $ReadOnly<{ +export type ViewPropsIOS = Readonly<{ /** * Whether this `View` should be rendered as a bitmap before compositing. * @@ -428,7 +428,7 @@ export const HandledEventPhase = { Bubbling: EventPhase.Bubbling, }; -export type HandledKeyboardEvent = $ReadOnly<{| +export type HandledKeyboardEvent = Readonly<{| altKey?: ?boolean, ctrlKey?: ?boolean, metaKey?: ?boolean, @@ -437,7 +437,7 @@ export type HandledKeyboardEvent = $ReadOnly<{| handledEventPhase?: number, |}>; -type ViewPropsWindows = $ReadOnly<{| +type ViewPropsWindows = Readonly<{| /** * Key up event * @@ -481,7 +481,7 @@ type ViewPropsWindows = $ReadOnly<{| |}>; // Windows] -type ViewBaseProps = $ReadOnly<{ +type ViewBaseProps = Readonly<{ children?: React.Node, style?: ?ViewStyleProp, @@ -582,7 +582,7 @@ type ViewBaseProps = $ReadOnly<{ 'aria-required'?: ?boolean, // [Windows] }>; -export type ViewProps = $ReadOnly<{ +export type ViewProps = Readonly<{ ...DirectEventProps, ...GestureResponderHandlers, ...MouseEventProps, diff --git a/vnext/src-win/Libraries/Image/AssetSourceResolver.windows.js b/vnext/src-win/Libraries/Image/AssetSourceResolver.windows.js index ca4c67684b9..832212c93c0 100644 --- a/vnext/src-win/Libraries/Image/AssetSourceResolver.windows.js +++ b/vnext/src-win/Libraries/Image/AssetSourceResolver.windows.js @@ -22,7 +22,7 @@ export type ResolvedAssetSource = { type AssetDestPathResolver = 'android' | 'generic'; // From @react-native/assets-registry -type PackagerAsset = $ReadOnly<{ +type PackagerAsset = Readonly<{ __packager_asset: boolean, fileSystemLocation: string, httpServerLocation: string, diff --git a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js index 1c6e2b563d0..cd715dc410e 100644 --- a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +++ b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js @@ -23,7 +23,7 @@ import LogBoxInspectorSection from './LogBoxInspectorSection'; import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ componentCodeFrame: ?CodeFrame, codeFrame: ?CodeFrame, }>; diff --git a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js index b2c751a463f..71f769fe0b2 100644 --- a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +++ b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js @@ -20,7 +20,7 @@ import LogBoxInspectorHeaderButton from './LogBoxInspectorHeaderButton'; import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ onSelectIndex: (selectedIndex: number) => void, selectedIndex: number, total: number, diff --git a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js index fa91c74180f..8d9169c4494 100644 --- a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +++ b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js @@ -21,7 +21,7 @@ import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; import {useState} from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ log: LogBoxLog, }>; diff --git a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js index 3fe4fdba38e..502838b7559 100644 --- a/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +++ b/vnext/src-win/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js @@ -19,7 +19,7 @@ import LogBoxButton from './LogBoxButton'; import * as LogBoxStyle from './LogBoxStyle'; import * as React from 'react'; -type Props = $ReadOnly<{ +type Props = Readonly<{ frame: StackFrame, onPress?: ?(event: GestureResponderEvent) => void, }>; diff --git a/vnext/src-win/Libraries/Modal/Modal.windows.js b/vnext/src-win/Libraries/Modal/Modal.windows.js index a68b5a01ec1..ee0d1e24e19 100644 --- a/vnext/src-win/Libraries/Modal/Modal.windows.js +++ b/vnext/src-win/Libraries/Modal/Modal.windows.js @@ -62,7 +62,7 @@ const ModalEventEmitter = // destroyed before the callback is fired. let uniqueModalIdentifier = 0; -type OrientationChangeEvent = $ReadOnly<{ +type OrientationChangeEvent = Readonly<{ orientation: 'portrait' | 'landscape', }>; @@ -397,7 +397,7 @@ const styles = StyleSheet.create({ }, }); -type ModalRefProps = $ReadOnly<{ +type ModalRefProps = Readonly<{ ref?: React.RefSetter, }>; diff --git a/vnext/src-win/Libraries/Pressability/Pressability.windows.js b/vnext/src-win/Libraries/Pressability/Pressability.windows.js index 9b833fa2873..838613b212d 100644 --- a/vnext/src-win/Libraries/Pressability/Pressability.windows.js +++ b/vnext/src-win/Libraries/Pressability/Pressability.windows.js @@ -29,7 +29,7 @@ import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventE import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js'; import invariant from 'invariant'; -export type PressabilityConfig = $ReadOnly<{ +export type PressabilityConfig = Readonly<{ /** * Whether a press gesture can be interrupted by a parent gesture such as a * scroll event. Defaults to true. @@ -165,7 +165,7 @@ export type PressabilityConfig = $ReadOnly<{ // Windows] }>; -export type EventHandlers = $ReadOnly<{ +export type EventHandlers = Readonly<{ onBlur: (event: BlurEvent) => void, onClick: (event: GestureResponderEvent) => void, onFocus: (event: FocusEvent) => void, @@ -410,13 +410,13 @@ export default class Pressability { _pressDelayTimeout: ?TimeoutID = null; _pressOutDelayTimeout: ?TimeoutID = null; _responderID: ?number | HostInstance = null; - _responderRegion: ?$ReadOnly<{ + _responderRegion: ?Readonly<{ bottom: number, left: number, right: number, top: number, }> = null; - _touchActivatePosition: ?$ReadOnly<{ + _touchActivatePosition: ?Readonly<{ pageX: number, pageY: number, }>; @@ -937,7 +937,7 @@ export default class Pressability { _isTouchWithinResponderRegion( touch: GestureResponderEvent['nativeEvent'], - responderRegion: $ReadOnly<{ + responderRegion: Readonly<{ bottom: number, left: number, right: number, diff --git a/vnext/src-win/Libraries/Text/Text.windows.js b/vnext/src-win/Libraries/Text/Text.windows.js index 930747adbcd..a6adcc535b5 100644 --- a/vnext/src-win/Libraries/Text/Text.windows.js +++ b/vnext/src-win/Libraries/Text/Text.windows.js @@ -758,7 +758,7 @@ const TextImpl: component( TextImpl.displayName = 'Text'; -type TextPressabilityProps = $ReadOnly<{ +type TextPressabilityProps = Readonly<{ onLongPress?: ?(event: GestureResponderEvent) => unknown, onPress?: ?(event: GestureResponderEvent) => unknown, onPressIn?: ?(event: GestureResponderEvent) => unknown, @@ -892,7 +892,7 @@ function useTextPressability({ ); } -type NativePressableTextProps = $ReadOnly<{ +type NativePressableTextProps = Readonly<{ textProps: NativeTextProps, textPressabilityProps: TextPressabilityProps, }>; diff --git a/vnext/src-win/Libraries/Text/TextProps.windows.js b/vnext/src-win/Libraries/Text/TextProps.windows.js index e6d478d44a4..7a3b656c430 100644 --- a/vnext/src-win/Libraries/Text/TextProps.windows.js +++ b/vnext/src-win/Libraries/Text/TextProps.windows.js @@ -25,14 +25,14 @@ import type { import * as React from 'react'; -export type PressRetentionOffset = $ReadOnly<{ +export type PressRetentionOffset = Readonly<{ top: number, left: number, bottom: number, right: number, }>; -type TextPointerEventProps = $ReadOnly<{ +type TextPointerEventProps = Readonly<{ onPointerEnter?: (event: PointerEvent) => void, onPointerLeave?: (event: PointerEvent) => void, onPointerMove?: (event: PointerEvent) => void, @@ -121,7 +121,7 @@ export type TextPropsAndroid = { minimumFontScale?: ?number, }; -type TextBaseProps = $ReadOnly<{ +type TextBaseProps = Readonly<{ onAccessibilityAction?: ?(event: AccessibilityActionEvent) => unknown, accessibilityLevel?: ?number, // Windows accessibilityPosInSet?: ?number, // Windows @@ -278,7 +278,7 @@ type TextBaseProps = $ReadOnly<{ /** * @see https://reactnative.dev/docs/text#reference */ -export type TextProps = $ReadOnly<{ +export type TextProps = Readonly<{ ...TextPointerEventProps, ...TextPropsIOS, ...TextPropsAndroid, diff --git a/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js b/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js index b44b45c90b6..5482f35e9d3 100644 --- a/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js +++ b/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js @@ -10,12 +10,12 @@ import type {HostInstance} from '../../src/private/types/HostInstance'; -export type NativeSyntheticEvent<+T> = $ReadOnly<{ +export type NativeSyntheticEvent<+T> = Readonly<{ bubbles: ?boolean, cancelable: ?boolean, currentTarget: number | HostInstance, defaultPrevented: ?boolean, - dispatchConfig: $ReadOnly<{ + dispatchConfig: Readonly<{ registrationName: string, }>, eventPhase: ?number, @@ -31,14 +31,14 @@ export type NativeSyntheticEvent<+T> = $ReadOnly<{ type: ?string, }>; -export type ResponderSyntheticEvent = $ReadOnly<{ +export type ResponderSyntheticEvent = Readonly<{ ...NativeSyntheticEvent, - touchHistory: $ReadOnly<{ + touchHistory: Readonly<{ indexOfSingleActiveTouch: number, mostRecentTimeStamp: number, numberActiveTouches: number, touchBank: $ReadOnlyArray< - $ReadOnly<{ + Readonly<{ touchActive: boolean, startPageX: number, startPageY: number, @@ -54,14 +54,14 @@ export type ResponderSyntheticEvent = $ReadOnly<{ }>, }>; -export type LayoutRectangle = $ReadOnly<{ +export type LayoutRectangle = Readonly<{ x: number, y: number, width: number, height: number, }>; -export type TextLayoutLine = $ReadOnly<{ +export type TextLayoutLine = Readonly<{ ...LayoutRectangle, ascender: number, capHeight: number, @@ -71,12 +71,12 @@ export type TextLayoutLine = $ReadOnly<{ }>; export type LayoutChangeEvent = NativeSyntheticEvent< - $ReadOnly<{ + Readonly<{ layout: LayoutRectangle, }>, >; -type TextLayoutEventData = $ReadOnly<{ +type TextLayoutEventData = Readonly<{ lines: Array, }>; @@ -230,7 +230,7 @@ export interface NativePointerEvent extends NativeMouseEvent { export type PointerEvent = NativeSyntheticEvent; -export type NativeTouchEvent = $ReadOnly<{ +export type NativeTouchEvent = Readonly<{ altKey: ?boolean, // TODO(macOS) button: ?number, // TODO(macOS) /** @@ -281,29 +281,29 @@ export type NativeTouchEvent = $ReadOnly<{ export type GestureResponderEvent = ResponderSyntheticEvent; -export type NativeScrollRectangle = $ReadOnly<{ +export type NativeScrollRectangle = Readonly<{ bottom: number, left: number, right: number, top: number, }>; -export type NativeScrollPoint = $ReadOnly<{ +export type NativeScrollPoint = Readonly<{ y: number, x: number, }>; -export type NativeScrollVelocity = $ReadOnly<{ +export type NativeScrollVelocity = Readonly<{ y: number, x: number, }>; -export type NativeScrollSize = $ReadOnly<{ +export type NativeScrollSize = Readonly<{ height: number, width: number, }>; -export type NativeScrollEvent = $ReadOnly<{ +export type NativeScrollEvent = Readonly<{ contentInset: NativeScrollRectangle, contentOffset: NativeScrollPoint, contentSize: NativeScrollSize, @@ -319,7 +319,7 @@ export type NativeScrollEvent = $ReadOnly<{ export type ScrollEvent = NativeSyntheticEvent; -export type TargetedEvent = $ReadOnly<{ +export type TargetedEvent = Readonly<{ target: number, ... }>; @@ -332,7 +332,7 @@ export type FocusEvent = NativeSyntheticEvent; // introduced for react-native-web. Replace typings with our values to catch // anything dependent on react-native-web specific values export type MouseEvent = NativeSyntheticEvent< - $ReadOnly<{ + Readonly<{ target: number, identifier: number, clientX: number, @@ -357,7 +357,7 @@ export type MouseEvent = NativeSyntheticEvent< >; // Windows] -export type KeyEvent = $ReadOnly<{ +export type KeyEvent = Readonly<{ /** * The actual key that was pressed. For example, F would be "f" or "F" depending on the shift key. * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key diff --git a/vnext/src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js b/vnext/src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js index 651fc3257e9..4f1e3f8077a 100644 --- a/vnext/src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +++ b/vnext/src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js @@ -18,11 +18,11 @@ import type {HostComponent} from '../../types/HostComponent'; import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent'; -type OrientationChangeEvent = $ReadOnly<{| +type OrientationChangeEvent = Readonly<{| orientation: 'portrait' | 'landscape', |}>; -type RCTModalHostViewNativeProps = $ReadOnly<{| +type RCTModalHostViewNativeProps = Readonly<{| ...ViewProps, /** diff --git a/vnext/src-win/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js b/vnext/src-win/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js index 618e34ad2f6..3a95f0e28c7 100644 --- a/vnext/src-win/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +++ b/vnext/src-win/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js @@ -21,12 +21,12 @@ import codegenNativeCommands from '../../../../Libraries/Utilities/codegenNative import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent'; import * as React from 'react'; -type NativeSwitchChangeEvent = $ReadOnly<{ +type NativeSwitchChangeEvent = Readonly<{ value: boolean, target: Int32, }>; -type SwitchNativeProps = $ReadOnly<{ +type SwitchNativeProps = Readonly<{ ...ViewProps, // Props diff --git a/yarn.lock b/yarn.lock index 7d5335e5f6d..23d028b2b44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3061,7 +3061,7 @@ __metadata: resolution: "@office-iss/react-native-win32-tester@workspace:packages/@office-iss/react-native-win32-tester" dependencies: "@office-iss/react-native-win32": "npm:^0.0.0-canary.311" - "@react-native/tester": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/tester": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" "@rnw-scripts/just-task": "npm:2.3.58" @@ -3074,13 +3074,13 @@ __metadata: just-scripts: "npm:^1.3.3" prettier: "npm:^3.6.2" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-platform-override: "npm:0.0.0-canary.1022" typescript: "npm:5.0.4" peerDependencies: "@office-iss/react-native-win32": ^0.0.0-canary.311 react: 19.2.3 - react-native: 0.84.0-nightly-20260107-58bc6c3e3 + react-native: 0.85.0-nightly-20260114-f15985f4f languageName: unknown linkType: soft @@ -3097,14 +3097,14 @@ __metadata: "@react-native-community/cli-platform-android": "npm:20.0.0" "@react-native-community/cli-platform-ios": "npm:20.0.0" "@react-native/assets": "npm:1.0.0" - "@react-native/assets-registry": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/codegen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/community-cli-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/gradle-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/js-polyfills": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/normalize-colors": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/virtualized-lists": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/assets-registry": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/codegen": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/community-cli-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/gradle-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/js-polyfills": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/normalize-colors": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/virtualized-lists": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "npm:^1.1.42" @@ -3126,7 +3126,7 @@ __metadata: commander: "npm:^12.0.0" eslint: "npm:^8.19.0" event-target-shim: "npm:^5.0.1" - flow-bin: "npm:^0.295.0" + flow-bin: "npm:^0.296.1" flow-enums-runtime: "npm:^0.0.6" glob: "npm:^7.1.1" hermes-compiler: "npm:0.14.0-commitly-202512102158-39fca9fda" @@ -3145,7 +3145,7 @@ __metadata: react: "npm:19.2.3" react-clone-referenced-element: "npm:^1.0.1" react-devtools-core: "npm:^6.1.5" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-platform-override: "npm:0.0.0-canary.1022" react-refresh: "npm:^0.14.0" regenerator-runtime: "npm:^0.13.2" @@ -3160,7 +3160,7 @@ __metadata: peerDependencies: "@types/react": ^19.2.3 react: ^19.2.3 - react-native: 0.84.0-nightly-20260107-58bc6c3e3 + react-native: 0.85.0-nightly-20260114-f15985f4f languageName: unknown linkType: soft @@ -3519,7 +3519,7 @@ __metadata: minimatch: "npm:^10.0.3" prettier: "npm:^3.6.2" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-windows: "npm:^0.0.0-canary.1049" typescript: "npm:5.0.4" languageName: unknown @@ -3617,7 +3617,7 @@ __metadata: prettier: "npm:^3.6.2" prompts: "npm:^2.4.1" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" semver: "npm:^7.3.2" shelljs: "npm:^0.8.4" typescript: "npm:5.0.4" @@ -3744,7 +3744,7 @@ __metadata: peerDependencies: jest: ">=29.0.3" react: ">=18.0.0" - react-native: 0.84.0-nightly-20260107-58bc6c3e3 + react-native: 0.85.0-nightly-20260114-f15985f4f react-test-renderer: ">=18.0.0" peerDependenciesMeta: react-test-renderer: @@ -3791,8 +3791,8 @@ __metadata: version: 0.0.0-use.local resolution: "@react-native-windows/tester@workspace:packages/@react-native-windows/tester" dependencies: - "@react-native/new-app-screen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/tester": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/new-app-screen": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/tester": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" "@rnw-scripts/just-task": "npm:2.3.58" @@ -3806,14 +3806,14 @@ __metadata: just-scripts: "npm:^1.3.3" prettier: "npm:^3.6.2" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-platform-override: "npm:0.0.0-canary.1022" react-native-windows: "npm:^0.0.0-canary.1049" typescript: "npm:5.0.4" peerDependencies: "@react-native-picker/picker": 2.11.0 react: 19.2.3 - react-native: 0.84.0-nightly-20260107-58bc6c3e3 + react-native: 0.85.0-nightly-20260114-f15985f4f react-native-windows: ^0.0.0-canary.1049 react-native-xaml: ^0.0.80 peerDependenciesMeta: @@ -3824,10 +3824,10 @@ __metadata: languageName: unknown linkType: soft -"@react-native/assets-registry@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/assets-registry@npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/6bca8cc05ba3f5e2cb60e8947a4565f35b514411e737b3248f78fdf5a722bd6edbd61789dcfb42d438da1674dc92c6db36ccd2db5277427202c3dc7b4f30506d +"@react-native/assets-registry@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/assets-registry@npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/46e66c648290a6da93884cfb96541e977a47ae3a587d948a275b8f17f345eb4fca136c5c975884d2b67582fc5a8faf4d14592aa9471f91f22d4c4eae2bf630d3 languageName: node linkType: hard @@ -3838,19 +3838,19 @@ __metadata: languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/babel-plugin-codegen@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/babel-plugin-codegen@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/babel-plugin-codegen@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@babel/traverse": "npm:^7.25.3" - "@react-native/codegen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/96163824c45a9925e9b0627cbf96816a695e122847460039b83533f7bafae7cbff8453804f0bc0c0e99a8fdac3761f63751afdc734b630655524af2ecee602a8 + "@react-native/codegen": "npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/2825863f1da51a0d33f3d6a766217ad73c5a07227ace37d6cfb863313e85d14c081e77ab866c7b32daa8ef5c7e21c3f08c0e23e223ca60000b666f28b963c291 languageName: node linkType: hard -"@react-native/babel-preset@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/babel-preset@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/babel-preset@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/babel-preset@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" @@ -3881,38 +3881,38 @@ __metadata: "@babel/plugin-transform-runtime": "npm:^7.24.7" "@babel/plugin-transform-typescript": "npm:^7.25.2" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@react-native/babel-plugin-codegen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - babel-plugin-syntax-hermes-parser: "npm:0.32.0" + "@react-native/babel-plugin-codegen": "npm:0.85.0-nightly-20260114-f15985f4f" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" babel-plugin-transform-flow-enums: "npm:^0.0.2" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10c0/6c2e83fb94d74c1314c058a940e8f659ada22a4ddc6e80a6b91ffe75bd9251e75cef406d6d324b699bfa404d22fd4bb7a4db77fe23bcebebae67d1ec860dce6b + checksum: 10c0/aab4c4d91ac2b955f755a2ec00e301f0b2341103ccba28c80fd1e90663ad2240eb084a85f1faf3116df2b0307ef454cc0c4fd1c68215bfce0391588b118bb67a languageName: node linkType: hard -"@react-native/codegen@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/codegen@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/codegen@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/codegen@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@babel/core": "npm:^7.25.2" "@babel/parser": "npm:^7.25.3" - hermes-parser: "npm:0.32.0" + hermes-parser: "npm:0.33.3" invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" tinyglobby: "npm:^0.2.15" yargs: "npm:^17.6.2" peerDependencies: "@babel/core": "*" - checksum: 10c0/47e21f338da329d3fc49b8208456db481ada0b30c05e46c7284d82668887bdee72496b53de78577f06416304bc18799f50624a70a31f6720388f50fedf3f926c + checksum: 10c0/277d2e8742f5ebe23582a6d116456f99927b670b2fde6b9519c172deec7cadd5ed91b6e361b1472c4525725c6ff8b045454f83d0c6b0081852b9eabfbef7a4c3 languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/community-cli-plugin@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/community-cli-plugin@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/community-cli-plugin@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: - "@react-native/dev-middleware": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/dev-middleware": "npm:0.85.0-nightly-20260114-f15985f4f" debug: "npm:^4.4.0" invariant: "npm:^2.2.4" metro: "npm:^0.83.3" @@ -3927,36 +3927,37 @@ __metadata: optional: true "@react-native/metro-config": optional: true - checksum: 10c0/22665c9e080ba37c19319dcc5fa2e3924033dcc6fe2b4d6899537e2f7aca9730d1664c68df353ddf0c6214401b6792b5735e03cad8f7ea328d59813d1c6fd300 + checksum: 10c0/72b13999d9923bf8daae41350fbee77ced60e5cdcb75683ecf4589e32c075b15921639d9aed658ff396fea2a6b9217552dcc44aef7f726e5daf4d21c884e053a languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/debugger-frontend@npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/48795e3fb03a011888b81035162ed418f3f9ae2d57d9eced1986565e375ef012f737324b7e64c78b10891138b562132222adc7e522119d3ebeb3207b0aaba8d7 +"@react-native/debugger-frontend@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/debugger-frontend@npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/a19d91425638fc25f101cdcb63e2e6473f009bf02c87d838a147bd8bbdffcaea98e08265c295df878d420cda79446acd9939f9ef979399b110624bedb36d57ea languageName: node linkType: hard -"@react-native/debugger-shell@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/debugger-shell@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/debugger-shell@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/debugger-shell@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: cross-spawn: "npm:^7.0.6" + debug: "npm:^4.4.0" fb-dotslash: "npm:0.5.8" - checksum: 10c0/0ea0c3477f35d51179c8d84f83f4bc00f5a7fa877f0cee4e51082d74581b761076f219cd630081de278b3d6051e5b31fc2dda0816a8669e0dca0dc5c098d78b5 + checksum: 10c0/65d302ab51ef2056ecc248c8e37fe60a8d3b4862eb1fb42f5fbb450d040009a905a76a315df789fcbb2b79e03e034b097ab3edbdf2bf85664d69feda2924efdf languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/dev-middleware@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/dev-middleware@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/dev-middleware@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/debugger-shell": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/debugger-frontend": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/debugger-shell": "npm:0.85.0-nightly-20260114-f15985f4f" chrome-launcher: "npm:^0.15.2" - chromium-edge-launcher: "npm:^0.2.0" + chromium-edge-launcher: "npm:^0.3.0" connect: "npm:^3.6.5" debug: "npm:^4.4.0" invariant: "npm:^2.2.4" @@ -3964,17 +3965,17 @@ __metadata: open: "npm:^7.0.3" serve-static: "npm:^1.16.2" ws: "npm:^7.5.10" - checksum: 10c0/a93f40213196197ad6663d251fca0228b9ed763a0ba7d49642f92b093e5c63659016dc779a22e5e3addfaa58499202a148021053b208a0921f7b5c41aada94b4 + checksum: 10c0/d2c243776c999c03066c5542d28dab7957d12a91471cdb5d84f5168a6edcbe8989a89c17e0ff7eeddc23b961500329235b3a27df247bdb789e7bff954250885b languageName: node linkType: hard -"@react-native/eslint-config@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/eslint-config@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/eslint-config@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/eslint-config@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@babel/core": "npm:^7.25.2" "@babel/eslint-parser": "npm:^7.25.1" - "@react-native/eslint-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/eslint-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" "@typescript-eslint/eslint-plugin": "npm:^8.36.0" "@typescript-eslint/parser": "npm:^8.36.0" eslint-config-prettier: "npm:^8.5.0" @@ -3987,54 +3988,54 @@ __metadata: peerDependencies: eslint: ^8.0.0 || ^9.0.0 prettier: ">=2" - checksum: 10c0/62e1920cddad92f3036818333e87f67c519c6a35cac3260ddb6b027d509eac3c9c17139690048e5ed172125202a85d29c23ec62621c9da176bc13da12e7da47c + checksum: 10c0/fd54903811a973bd49065949285f2467dff4f3a6dff7f9c131c0df00ff2a7abb6e67722ba1cd46689b1db9fe5acc13b2b6e2bd1e26ad030f476d652549968488 languageName: node linkType: hard -"@react-native/eslint-plugin@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/eslint-plugin@npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/24e32dd2ad8205b1b91dbf550d4bf3a4214bc5ae69f5c07964053a2d6dcd00bc3fe9731952eeb0627b63ef57d4e7a7694127605d6d649aae62478397c7aa965b +"@react-native/eslint-plugin@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/eslint-plugin@npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/1e1c4ffe1adcf81e623d1d073d793a3334cd3a67bf13059d15446e1970b7cb21f592cebb7f21432b3e4755ce5cfaa582ef14b75d0e98082cfb41deb8da93e856 languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/gradle-plugin@npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/3c19e45701f1b046545df5b0174fd83a68c7511b4429c41176d72ee2a159436623f11afd14355f3664ac714b84aa4c00f21ab536b137fa65b48ce7de825b7368 +"@react-native/gradle-plugin@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/gradle-plugin@npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/f7701ecad9d1bc87e2a83555e7bed9a3201f066fef4a4aa5e3ece9895ac3c51a2a62bb28ff75999b6c502a960fb626090015a44305f0d45e314547bfec6bfdc8 languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/js-polyfills@npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/afb7ef4a54d6694352572b38dde7008d5cb014e9ec56fa2e6489305af7860f47e797e39bce023a2913f114d6ac10bc3b02a79008cb7056f90d7be279d56bed58 +"@react-native/js-polyfills@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/js-polyfills@npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/cdfd03b357113caf1aca5fc12a3514854a8c0427a22a2354119050f018d08851ae6c5dbb91535073c1f7d3a2da1c31d0b3016d0f29b0ffc9c3f04489bd2b1d1b languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/metro-babel-transformer@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/metro-babel-transformer@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/metro-babel-transformer@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.84.0-nightly-20260107-58bc6c3e3" - hermes-parser: "npm:0.32.0" + "@react-native/babel-preset": "npm:0.85.0-nightly-20260114-f15985f4f" + hermes-parser: "npm:0.33.3" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10c0/d797a5171386e28ecc38728005b5d03725d64e0c20228f3017a321b22dfae0f13d62a2a5306b0958af09a1027b23a57d147dfab8ea44fdb4d294dcde3d27c9e0 + checksum: 10c0/247b28c706085ee114e414fef895a4afc7a16c4a217e45deb12509e9586447d3b8daad026dd3a4bcee8276e4e6e3d4d4fe19dd76f0501d4ff4e59a2bb414ba9e languageName: node linkType: hard -"@react-native/metro-config@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/metro-config@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/metro-config@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/metro-config@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: - "@react-native/js-polyfills": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/metro-babel-transformer": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/js-polyfills": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/metro-babel-transformer": "npm:0.85.0-nightly-20260114-f15985f4f" metro-config: "npm:^0.83.3" metro-runtime: "npm:^0.83.3" - checksum: 10c0/eb3e254875a20cc2f2f135e0caa91d812ce99833ad64268f792e52c4daadbba238416f391c4f30669ef6e83adf581160ebd022f0ffdac83df755fcf8ac4566fb + checksum: 10c0/8ac802f7bb9d566979c7e5e4dad783d3b8caf60a87fc9619bd786bbe733e3306cfcf5e22839d8a9057fd2a3ad9abd7eec39746eb526b2b7d4042b182934450a1 languageName: node linkType: hard @@ -4054,15 +4055,15 @@ __metadata: "@jest/create-cache-key-function": "npm:^29.7.0" "@microsoft/api-extractor": "npm:^7.52.2" "@octokit/rest": "npm:^22.0.0" - "@react-native/metro-babel-transformer": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/metro-babel-transformer": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" "@tsconfig/node22": "npm:22.0.2" "@types/react": "npm:^19.2.3" "@typescript-eslint/parser": "npm:^8.36.0" ansi-regex: "npm:^5.0.0" ansi-styles: "npm:^4.2.1" babel-plugin-minify-dead-code-elimination: "npm:^0.5.2" - babel-plugin-syntax-hermes-parser: "npm:0.32.0" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" babel-plugin-transform-define: "npm:^2.1.4" babel-plugin-transform-flow-enums: "npm:^0.0.2" clang-format: "npm:^1.8.0" @@ -4081,10 +4082,10 @@ __metadata: eslint-plugin-redundant-undefined: "npm:^0.4.0" eslint-plugin-relay: "npm:^1.8.3" fb-dotslash: "npm:0.5.8" - flow-api-translator: "npm:0.32.0" - flow-bin: "npm:^0.295.0" - hermes-eslint: "npm:0.32.0" - hermes-transform: "npm:0.32.0" + flow-api-translator: "npm:0.33.3" + flow-bin: "npm:^0.296.1" + hermes-eslint: "npm:0.33.3" + hermes-transform: "npm:0.33.3" ini: "npm:^5.0.0" inquirer: "npm:^7.1.0" jest: "npm:^29.7.0" @@ -4132,9 +4133,9 @@ __metadata: languageName: node linkType: hard -"@react-native/new-app-screen@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/new-app-screen@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/new-app-screen@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/new-app-screen@npm:0.85.0-nightly-20260114-f15985f4f" peerDependencies: "@types/react": ^19.1.0 react: "*" @@ -4142,20 +4143,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/f401d277a6160a308dc2f55fd97a479287c510ecee45901cfe45a7a0112bb71fb9c742b61c3ebdbf9b74f85242dbee238161ebc1353f489914d14cd68de1b69f + checksum: 10c0/31c40d23b9c2fd158a894c87f3636f8da6976a6782613a0cbd49556f4e6a4630707ca3136b963550edb4875b6f7f9dd5cd702d3bdd9cca57e1abea855fa6aa41 languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/normalize-colors@npm:0.84.0-nightly-20260107-58bc6c3e3" - checksum: 10c0/f37204bcc48c99e9942b694a3710342b151fd8bba6a04f3ee1dbba086df42ee3983c50483ec51b930a9463da1c6dbbbfa167c26e85dabcd730389b2a5b91190e +"@react-native/normalize-colors@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/normalize-colors@npm:0.85.0-nightly-20260114-f15985f4f" + checksum: 10c0/ac63c26da1f5a496c71c9b2477ee6e6a0f059331205c095816cf88f6d932ccb4124c98fcf20003f5da7b1fe143ab6db54b2c3bf16ccd16be1ed506cac36e5284 languageName: node linkType: hard -"@react-native/popup-menu-android@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/popup-menu-android@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/popup-menu-android@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/popup-menu-android@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: nullthrows: "npm:^1.1.1" peerDependencies: @@ -4165,26 +4166,26 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/0c76a1c6a168ef957781f12187b72ff360b539010fc0273e94f4e18a44b60f82a19b7d0fc2d0872443c341a8d89c07fc9cb1c147ef2389ba75ee79ed72f86855 + checksum: 10c0/35c3d3463f13352ef561335c3b158039ca82117b6b20d43865d8e93cc86011ff3ab0a2f7c3de5fb2112449965329329037c1ca2296e5d1bab10604d3533aafc5 languageName: node linkType: hard -"@react-native/tester@npm:0.84.0-nightly-20260107-58bc6c3e3, @react-native/tester@workspace:packages/@react-native/tester": +"@react-native/tester@npm:0.85.0-nightly-20260114-f15985f4f, @react-native/tester@workspace:packages/@react-native/tester": version: 0.0.0-use.local resolution: "@react-native/tester@workspace:packages/@react-native/tester" dependencies: "@react-native-community/cli": "npm:20.0.0" "@react-native-community/cli-platform-android": "npm:20.0.0" "@react-native-community/cli-platform-ios": "npm:20.0.0" - "@react-native/new-app-screen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/popup-menu-android": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/new-app-screen": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/popup-menu-android": "npm:0.85.0-nightly-20260114-f15985f4f" commander: "npm:^12.0.0" flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" listr2: "npm:^6.4.1" nullthrows: "npm:^1.1.1" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" rxjs: "npm:@react-native-community/rxjs@6.5.4-custom" peerDependencies: react: 19.2.3 @@ -4192,9 +4193,9 @@ __metadata: languageName: unknown linkType: soft -"@react-native/virtualized-lists@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "@react-native/virtualized-lists@npm:0.84.0-nightly-20260107-58bc6c3e3" +"@react-native/virtualized-lists@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "@react-native/virtualized-lists@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" @@ -4205,7 +4206,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/8e7451d6aca8b99572c7e44740b93c0f52922363e5f9c4f32a58b69d01ce3c9023e21e1853e6468b7aba62466d69ec89b8fc35c9ec19d1d6ca4aa447bcca561f + checksum: 10c0/a88ae93e708f972c013cb22a41c4c074e933f22c7168d50a64b9ec217e146fba7888ccfb90c218b7f04d152ebd7cadbffbfef0e5c03b9ac2eee8e5802ce4f56f languageName: node linkType: hard @@ -4235,7 +4236,7 @@ __metadata: resolution: "@rnw-scripts/babel-react-native-config@workspace:packages/@rnw-scripts/babel-react-native-config" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/babel-preset": "npm:0.85.0-nightly-20260114-f15985f4f" babel-plugin-transform-flow-enums: "npm:^0.0.2" eslint: "npm:^8.19.0" prettier: "npm:^3.6.2" @@ -4372,7 +4373,7 @@ __metadata: "@react-native-windows/automation-commands": "npm:0.0.0-canary.1049" "@react-native-windows/perf-testing": "npm:0.0.0-canary.1038" "@react-native-windows/tester": "npm:0.0.1" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-node-config": "npm:2.3.3" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" @@ -4392,7 +4393,7 @@ __metadata: jest-environment-node: "npm:^29.7.0" prettier: "npm:^3.6.2" react: "npm:^19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-windows: "npm:^0.0.0-canary.1049" react-test-renderer: "npm:19.1.0" sanitize-filename: "npm:^1.6.3" @@ -4408,7 +4409,7 @@ __metadata: "@babel/eslint-parser": "npm:^7.25.1" "@jest/globals": "npm:^29.7.0" "@microsoft/eslint-plugin-sdl": "npm:^0.2.0" - "@react-native/eslint-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/eslint-config": "npm:0.85.0-nightly-20260114-f15985f4f" eslint: "npm:^8.19.0" eslint-config-prettier: "npm:^8.5.0" eslint-plugin-ft-flow: "npm:^2.0.1" @@ -4511,7 +4512,7 @@ __metadata: ora: "npm:^3.4.0" prettier: "npm:^3.6.2" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-platform-override: "npm:0.0.0-canary.1022" semver: "npm:^7.6.3" source-map-support: "npm:^0.5.19" @@ -4632,7 +4633,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rnw-scripts/metro-dev-config@workspace:packages/@rnw-scripts/metro-dev-config" dependencies: - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/eslint-config": "npm:1.2.38" "@rnw-scripts/just-task": "npm:2.3.58" "@rnx-kit/metro-config": "npm:^2.2.3" @@ -4643,7 +4644,7 @@ __metadata: eslint: "npm:^8.19.0" prettier: "npm:^3.6.2" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" typescript: "npm:5.0.4" peerDependencies: react: 19.2.3 @@ -4660,7 +4661,7 @@ __metadata: "@react-native-community/cli": "npm:20.0.0" "@react-native-picker/picker": "npm:2.11.0" "@react-native-windows/tester": "npm:0.0.1" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" "@rnw-scripts/just-task": "npm:2.3.58" @@ -4676,7 +4677,7 @@ __metadata: just-scripts: "npm:^1.3.3" prettier: "npm:^3.6.2" react: "npm:^19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-windows: "npm:^0.0.0-canary.1049" react-test-renderer: "npm:19.1.0" typescript: "npm:5.0.4" @@ -4744,7 +4745,7 @@ __metadata: "@babel/runtime": "npm:^7.20.0" "@jest/globals": "npm:^29.7.0" "@react-native-community/cli": "npm:20.0.0" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" "@react-native/new-app-screen": "npm:0.82.0-nightly-20250821-0ef21bf8a" "@rnw-scripts/babel-node-config": "npm:2.3.3" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" @@ -4763,7 +4764,7 @@ __metadata: just-scripts: "npm:^1.3.3" prettier: "npm:^3.6.2" react: "npm:^19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-windows: "npm:^0.0.0-canary.1049" react-test-renderer: "npm:19.1.0" typescript: "npm:5.0.4" @@ -4780,7 +4781,7 @@ __metadata: "@babel/preset-typescript": "npm:^7.8.3" "@babel/runtime": "npm:^7.20.0" "@react-native-community/cli": "npm:20.0.0" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-node-config": "npm:2.3.3" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" @@ -4798,7 +4799,7 @@ __metadata: minimatch: "npm:^10.0.3" prettier: "npm:^3.6.2" react: "npm:^19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-windows: "npm:^0.0.0-canary.1049" typescript: "npm:5.0.4" languageName: unknown @@ -7864,17 +7865,16 @@ __metadata: languageName: node linkType: hard -"chromium-edge-launcher@npm:^0.2.0": - version: 0.2.0 - resolution: "chromium-edge-launcher@npm:0.2.0" +"chromium-edge-launcher@npm:^0.3.0": + version: 0.3.0 + resolution: "chromium-edge-launcher@npm:0.3.0" dependencies: "@types/node": "npm:*" escape-string-regexp: "npm:^4.0.0" is-wsl: "npm:^2.2.0" lighthouse-logger: "npm:^1.0.0" mkdirp: "npm:^1.0.4" - rimraf: "npm:^3.0.2" - checksum: 10c0/880972816dd9b95c0eb77d1f707569667a8cce7cc29fe9c8d199c47fdfbe4971e9da3e5a29f61c4ecec29437ac7cebbbb5afc30bec96306579d1121e7340606a + checksum: 10c0/ad04a75bf53ebed0b7adc5bd133587369b0c2e55c92fe460eb6ccec5efe03c161a7466756173969867a2acbe02dd40449186bd74671dd892520492283d4ff43d languageName: node linkType: hard @@ -10047,31 +10047,31 @@ __metadata: languageName: node linkType: hard -"flow-api-translator@npm:0.32.0": - version: 0.32.0 - resolution: "flow-api-translator@npm:0.32.0" +"flow-api-translator@npm:0.33.3": + version: 0.33.3 + resolution: "flow-api-translator@npm:0.33.3" dependencies: "@babel/code-frame": "npm:^7.16.0" "@typescript-eslint/parser": "npm:8.38.0" "@typescript-eslint/visitor-keys": "npm:8.38.0" flow-enums-runtime: "npm:^0.0.6" - hermes-eslint: "npm:0.32.0" - hermes-estree: "npm:0.32.0" - hermes-parser: "npm:0.32.0" - hermes-transform: "npm:0.32.0" + hermes-eslint: "npm:0.33.3" + hermes-estree: "npm:0.33.3" + hermes-parser: "npm:0.33.3" + hermes-transform: "npm:0.33.3" typescript: "npm:5.3.2" peerDependencies: prettier: ^3.0.0 || ^2.7.1 - checksum: 10c0/1209181cf0d1f87786835da7ff2717a01c53c34995996bb56864c1ae90fb146e4a63ee30d0411f2f77c190cbb86e33c288b20adc6f38afda5d77e9df9aabe7cd + checksum: 10c0/5e21aef0f6b7209b387c9054abd57eb0a6ea6db915400e98413826bd9f0e4c8319c67e4cd5942f07fed308bbecb085187ee1f044d0f766c209cf83d81e2825c3 languageName: node linkType: hard -"flow-bin@npm:^0.295.0": - version: 0.295.0 - resolution: "flow-bin@npm:0.295.0" +"flow-bin@npm:^0.296.1": + version: 0.296.1 + resolution: "flow-bin@npm:0.296.1" bin: flow: cli.js - checksum: 10c0/99c85e4fdbd50dd361a8dd9974561747fd6cc3f20ca8c0d7a0af3615385e85a3efa5148aa43f9692d0a24f12a5d5ccb4598116b6cbb44fff0b2d0b6e202d302a + checksum: 10c0/34b7251c0e557bbf71f83f95a3de4a51b877880a935e1dba92a8f7959b5d372a95679cb7fea3dcb90d71d81b78a79490550e6e6078f92ae0dab3d2a0bcf13840 languageName: node linkType: hard @@ -10783,10 +10783,10 @@ __metadata: languageName: node linkType: hard -"hermes-compiler@npm:0.16.0-commitly-202601051832-eb1eb2d95": - version: 0.16.0-commitly-202601051832-eb1eb2d95 - resolution: "hermes-compiler@npm:0.16.0-commitly-202601051832-eb1eb2d95" - checksum: 10c0/129a6de4f7002063967853ecf0df477a4292c12f614f579d8b301ef6cdfda2f795e85d27f6f450b91ed6421ba1abf68bdf883d04405f0a4abe644be46a5ed0c1 +"hermes-compiler@npm:250829098.0.5": + version: 250829098.0.5 + resolution: "hermes-compiler@npm:250829098.0.5" + checksum: 10c0/92f4fe78cae79ce9e4f9796c6ac74e128aca4b6192f90c66064ed36ef9a0487a9041ff96b82933837eb251a8b437fb893abb6a3cb7282d312b64bded1f8005ec languageName: node linkType: hard @@ -10801,14 +10801,14 @@ __metadata: languageName: node linkType: hard -"hermes-eslint@npm:0.32.0": - version: 0.32.0 - resolution: "hermes-eslint@npm:0.32.0" +"hermes-eslint@npm:0.33.3": + version: 0.33.3 + resolution: "hermes-eslint@npm:0.33.3" dependencies: esrecurse: "npm:^4.3.0" - hermes-estree: "npm:0.32.0" - hermes-parser: "npm:0.32.0" - checksum: 10c0/3ef4c1e0191b05f1a23aca04ad20b364b69ca7b751f8113eea0f3f6cbc3ef0e394ad93e8e88ddc4f1b098fc84e7d0c81dcad045e857c9fea79b2b2b1f5e67087 + hermes-estree: "npm:0.33.3" + hermes-parser: "npm:0.33.3" + checksum: 10c0/5894dbe52f5de698934d7cba0fda512d685651763df0e436cbe7e354ca3dff19bf57d1738b7a86d29f7482cfaac9791ed77d96f81150a74518ff7370da257bd2 languageName: node linkType: hard @@ -10892,16 +10892,16 @@ __metadata: languageName: node linkType: hard -"hermes-transform@npm:0.32.0": - version: 0.32.0 - resolution: "hermes-transform@npm:0.32.0" +"hermes-transform@npm:0.33.3": + version: 0.33.3 + resolution: "hermes-transform@npm:0.33.3" dependencies: "@babel/code-frame": "npm:^7.16.0" esquery: "npm:^1.4.0" flow-enums-runtime: "npm:^0.0.6" - hermes-eslint: "npm:0.32.0" - hermes-estree: "npm:0.32.0" - hermes-parser: "npm:0.32.0" + hermes-eslint: "npm:0.33.3" + hermes-estree: "npm:0.33.3" + hermes-parser: "npm:0.33.3" string-width: "npm:4.2.3" peerDependencies: prettier: ^3.0.0 @@ -10909,7 +10909,7 @@ __metadata: peerDependenciesMeta: prettier-plugin-hermes-parser: optional: true - checksum: 10c0/4b088c4fccbf0c24d1ab5a44744e25252265c0c295f02efe9352a0b44d2eaa2d3a0763d0ae1bc7c156eade2b6854134189779adbe2d8c5b2e1798a19fa99e1a4 + checksum: 10c0/c744ee058a203c1dfc563736b36ab2a6f7cd2d3b2336d0e25dc2548d11aa2603b02edc101bd2a4d3a37f6e36ace4936a3e79b05a69e45428fa0c6feed4c8cd97 languageName: node linkType: hard @@ -15775,7 +15775,7 @@ __metadata: prettier: "npm:^3.6.2" prompts: "npm:^2.4.1" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" semver: "npm:^7.3.2" source-map-support: "npm:^0.5.19" typescript: "npm:5.0.4" @@ -15808,7 +15808,7 @@ __metadata: prettier: "npm:^3.6.2" prettier-plugin-hermes-parser: "npm:0.21.1" react: "npm:19.2.3" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-platform-override: "npm:0.0.0-canary.1017" typescript: "npm:5.0.4" languageName: unknown @@ -15828,15 +15828,15 @@ __metadata: "@react-native-windows/cli": "npm:0.0.0-canary.287" "@react-native-windows/codegen": "npm:0.0.0-canary.133" "@react-native/assets": "npm:1.0.0" - "@react-native/assets-registry": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/codegen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/community-cli-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/gradle-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/js-polyfills": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/metro-config": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/new-app-screen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/normalize-colors": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/virtualized-lists": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/assets-registry": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/codegen": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/community-cli-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/gradle-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/js-polyfills": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/metro-config": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/new-app-screen": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/normalize-colors": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/virtualized-lists": "npm:0.85.0-nightly-20260114-f15985f4f" "@rnw-scripts/babel-react-native-config": "npm:0.0.0" "@rnw-scripts/eslint-config": "npm:1.2.38" "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "npm:^1.1.42" @@ -15855,7 +15855,7 @@ __metadata: commander: "npm:^12.0.0" eslint: "npm:^8.19.0" event-target-shim: "npm:^5.0.1" - flow-bin: "npm:^0.295.0" + flow-bin: "npm:^0.296.1" flow-enums-runtime: "npm:^0.0.6" glob: "npm:^7.1.1" hermes-compiler: "npm:0.14.0-commitly-202512102158-39fca9fda" @@ -15873,7 +15873,7 @@ __metadata: promise: "npm:^8.3.0" react: "npm:19.2.3" react-devtools-core: "npm:^6.1.5" - react-native: "npm:0.84.0-nightly-20260107-58bc6c3e3" + react-native: "npm:0.85.0-nightly-20260114-f15985f4f" react-native-platform-override: "npm:0.0.0-canary.1022" react-refresh: "npm:^0.14.0" regenerator-runtime: "npm:^0.13.2" @@ -15889,31 +15889,31 @@ __metadata: peerDependencies: "@types/react": ^19.2.3 react: ^19.2.3 - react-native: 0.84.0-nightly-20260107-58bc6c3e3 + react-native: 0.85.0-nightly-20260114-f15985f4f languageName: unknown linkType: soft -"react-native@npm:0.84.0-nightly-20260107-58bc6c3e3": - version: 0.84.0-nightly-20260107-58bc6c3e3 - resolution: "react-native@npm:0.84.0-nightly-20260107-58bc6c3e3" +"react-native@npm:0.85.0-nightly-20260114-f15985f4f": + version: 0.85.0-nightly-20260114-f15985f4f + resolution: "react-native@npm:0.85.0-nightly-20260114-f15985f4f" dependencies: "@jest/create-cache-key-function": "npm:^29.7.0" - "@react-native/assets-registry": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/codegen": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/community-cli-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/gradle-plugin": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/js-polyfills": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/normalize-colors": "npm:0.84.0-nightly-20260107-58bc6c3e3" - "@react-native/virtualized-lists": "npm:0.84.0-nightly-20260107-58bc6c3e3" + "@react-native/assets-registry": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/codegen": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/community-cli-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/gradle-plugin": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/js-polyfills": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/normalize-colors": "npm:0.85.0-nightly-20260114-f15985f4f" + "@react-native/virtualized-lists": "npm:0.85.0-nightly-20260114-f15985f4f" abort-controller: "npm:^3.0.0" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" babel-jest: "npm:^29.7.0" - babel-plugin-syntax-hermes-parser: "npm:0.32.0" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" base64-js: "npm:^1.5.1" commander: "npm:^12.0.0" flow-enums-runtime: "npm:^0.0.6" - hermes-compiler: "npm:0.16.0-commitly-202601051832-eb1eb2d95" + hermes-compiler: "npm:250829098.0.5" invariant: "npm:^2.2.4" jest-environment-node: "npm:^29.7.0" memoize-one: "npm:^5.0.0" @@ -15940,7 +15940,7 @@ __metadata: optional: true bin: react-native: cli.js - checksum: 10c0/dd6a8c0a92a192cc9119cdee6fd74f9f97cb36c715a495d5516e9a48367e3c9a8260c02d2c1f97983f0bec9fd5a269f3cf11f46ba140f4a421b96068bddf4fad + checksum: 10c0/f75bf547c1501d079d47da5858ae98e0216e75a3df59426a8b818d855a231b39136cb4515221e9adb65bf84064d76fa87095e96775ac43cc806d4a5c7e3c82c7 languageName: node linkType: hard