From 293993f0c22cf9abb736843e76f20919c1c2bb24 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Mon, 2 Jun 2025 22:43:37 +0530 Subject: [PATCH 01/48] :Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e --- .../react-native-win32-tester/overrides.json | 4 +- .../react-native-win32-tester/package.json | 2 +- .../src/js/utils/RNTesterList.win32.js | 5 + .../react-native-win32/.flowconfig | 4 +- .../react-native-win32/overrides.json | 14 +- .../react-native-win32/package.json | 2 +- .../Components/TextInput/TextInput.win32.js | 221 ++++++------ .../Libraries/StyleSheet/StyleSheet.win32.js | 2 +- .../react-native-win32/src-win/index.win32.js | 70 ++-- .../animated/NativeAnimatedHelper.win32.js | 25 +- .../automation-channel/package.json | 2 +- .../tester/overrides.json | 8 +- .../@react-native-windows/tester/package.json | 2 +- .../Modal/ModalPresentation.windows.js | 2 +- .../js/examples/Text/TextExample.windows.js | 19 +- .../src/js/utils/RNTesterList.windows.js | 5 + .../@react-native/monorepo/overrides.json | 4 +- packages/@react-native/monorepo/package.json | 18 +- .../tester/js/RNTesterAppShared.js | 2 + .../js/components/RNTesterModuleList.js | 4 +- .../js/examples/Modal/ModalPresentation.js | 2 +- .../examples/ScrollView/ScrollViewExample.js | 60 ++++ .../js/examples/Text/TextExample.android.js | 14 +- .../js/examples/Text/TextExample.ios.js | 13 +- .../TextInput/TextInputSharedExamples.js | 2 + .../tester/js/utils/RNTesterList.android.js | 5 + .../tester/js/utils/RNTesterList.ios.js | 5 + packages/@react-native/tester/overrides.json | 20 +- packages/@react-native/tester/package.json | 11 +- .../@rnw-scripts/integrate-rn/package.json | 4 +- packages/e2e-test-app-fabric/package.json | 2 +- packages/e2e-test-app/package.json | 2 +- packages/integration-test-app/package.json | 2 +- packages/playground/package.json | 2 +- .../0.62.2/flowconfig.windows.conflict | 4 - packages/sample-app-fabric/package.json | 2 +- packages/sample-apps/package.json | 2 +- packages/sample-custom-component/package.json | 2 +- vnext/.flowconfig | 4 +- .../cxxreact/JSExecutor.cpp | 7 +- .../jsinspector-modern/NetworkIOAgent.cpp | 13 + .../jsinspector-modern/NetworkIOAgent.h | 3 - .../react/renderer/css/CSSTokenizer.h | 29 +- .../react/runtime/ReactInstance.cpp | 2 +- .../NativeReactNativeFeatureFlagsSpec.g.h | 142 ++++---- .../components/rnwcore/EventEmitters.cpp | 96 +++--- vnext/codegen/rnwcoreJSI-generated.cpp | 18 +- vnext/codegen/rnwcoreJSI.h | 27 +- vnext/overrides.json | 22 +- vnext/package.json | 2 +- .../Components/TextInput/TextInput.windows.js | 221 ++++++------ .../src-win/Libraries/Modal/Modal.windows.js | 37 +- vnext/src-win/index.windows.js | 81 +++-- yarn.lock | 320 +++++++++++++++++- 54 files changed, 1027 insertions(+), 566 deletions(-) diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index 4dbe9a5c677..a4535e235eb 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.79.0-nightly-20250303-cee63397b", + "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", "overrides": [ { "type": "patch", @@ -42,7 +42,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.win32.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "3cf41a5b5fe9269145523937f8cc190ad154e615" + "baseHash": "39dc13e5f5a3b5fb58b807788ee5021ff6b7889c" } ] } \ No newline at end of file diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index 02023b918c4..b388c8e5436 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -30,7 +30,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-platform-override": "^1.9.55", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js index a842c50b0f4..46467462aa6 100644 --- a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js +++ b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js @@ -196,6 +196,11 @@ const APIs: Array = ([ category: 'Basic', module: require('../examples/AppState/AppStateExample'), }, + { + key: 'URLExample', + category: 'Basic', + module: require('../examples/Urls/UrlExample'), + }, { key: 'BorderExample', category: 'UI', diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index 796c26bb08b..9b00a07fb6f 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -136,6 +136,8 @@ module.name_mapper='^@office-iss/react-native-win32/\(.*\)$' -> '\ module.name_mapper='^@react-native/dev-middleware$' -> '/\1' module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\|xml\)$' -> '/Libraries/Image/RelativeImageStub' +react.runtime=automatic + suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FlowFixMeProps @@ -167,4 +169,4 @@ untyped-import untyped-type-import [version] -^0.262.0 +^0.265.2 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index fd3656ae977..a16f3f448dc 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,19 +7,19 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.79.0-nightly-20250303-cee63397b", + "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "23e4ec639f146691148b6736f4e84478ae2a5416" + "baseHash": "b8b53bf5315c0b91d0f69c3fe9274797a55b993f" }, { "type": "derived", "file": "src-win/index.win32.js", "baseFile": "packages/react-native/index.js", - "baseHash": "62b4752ea0e271645cc0fff8b54f2c1167284d43" + "baseHash": "7a10369d15e8b09ef772d8f229cbfc712d074cbf" }, { "type": "platform", @@ -29,7 +29,7 @@ "type": "patch", "file": "src-win/Libraries/Alert/Alert.win32.js", "baseFile": "packages/react-native/Libraries/Alert/Alert.js", - "baseHash": "95ce9fad7e029b50ff6f1598e38aa420660913dc" + "baseHash": "bd8f474e454f2b703ca7fb55cb022f24046bc0f8" }, { "type": "derived", @@ -109,7 +109,7 @@ "type": "derived", "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "eb047724db45395fe5d6487e269a00a198807eb8" + "baseHash": "f762096a46203b6bae385806087b7b7cb5744f16" }, { "type": "patch", @@ -402,7 +402,7 @@ "type": "patch", "file": "src-win/Libraries/StyleSheet/StyleSheet.win32.js", "baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js", - "baseHash": "6c83ae0478119480b693eeab590fa4ba5af98084" + "baseHash": "49fb1640b0942be2966d759057ca5923c5358c81" }, { "type": "derived", @@ -492,7 +492,7 @@ "type": "patch", "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js", "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js", - "baseHash": "8c67d57575cccb7281b15ca2591e4edf5c5c36dd", + "baseHash": "c511868b72abd4e0e7d0b07e0453ea56687ffddb", "issue": 11041 }, { diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 245e6ed746b..d18b719de09 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -88,7 +88,7 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-platform-override": "^1.9.55", "typescript": "5.0.4" }, 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 92e760560dd..40a58968175 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 @@ -18,7 +18,6 @@ import type { import type {ViewProps} from '../View/ViewPropTypes'; import type {TextInputInstance, TextInputType} from './TextInput.flow'; -import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags'; import usePressability from '../../Pressability/usePressability'; import flattenStyle from '../../StyleSheet/flattenStyle'; import StyleSheet, { @@ -69,6 +68,9 @@ else if (Platform.OS === 'win32') { } // Windows] +/** + * @see TextInputProps.onChange + */ export type TextInputChangeEventData = $ReadOnly<{ eventCount: number, target: number, @@ -91,6 +93,9 @@ export type TextInputEvent = NativeSyntheticEvent< }>, >; +/** + * @see TextInputProps.onContentSizeChange + */ export type TextInputContentSizeChangeEventData = $ReadOnly<{ target: number, contentSize: $ReadOnly<{ @@ -106,16 +111,29 @@ export type TargetEvent = $ReadOnly<{ target: number, }>; +/** + * @see TextInputProps.onFocus + */ export type TextInputFocusEventData = TargetEvent; export type TextInputBlurEvent = NativeSyntheticEvent; export type TextInputFocusEvent = NativeSyntheticEvent; +/** + * @see TextInputProps.onScroll + */ +export type TextInputScrollEventData = { + contentOffset: {x: number, y: number}, +}; + type Selection = $ReadOnly<{ start: number, end: number, }>; +/** + * @see TextInputProps.onSelectionChange + */ export type TextInputSelectionChangeEventData = $ReadOnly<{ ...TargetEvent, selection: Selection, @@ -124,7 +142,10 @@ export type TextInputSelectionChangeEventData = $ReadOnly<{ export type TextInputSelectionChangeEvent = NativeSyntheticEvent; -type TextInputKeyPressEventData = $ReadOnly<{ +/** + * @see TextInputProps.onKeyPress + */ +export type TextInputKeyPressEventData = $ReadOnly<{ ...TargetEvent, key: string, target?: ?number, @@ -134,12 +155,30 @@ type TextInputKeyPressEventData = $ReadOnly<{ export type TextInputKeyPressEvent = NativeSyntheticEvent; +/** + * @see TextInputProps.onEndEditing + */ export type TextInputEndEditingEventData = $ReadOnly<{ ...TargetEvent, eventCount: number, text: string, }>; +export type TextInputEndEditingEvent = + NativeSyntheticEvent; + +/** + * @see TextInputProps.onSubmitEditing + */ +export type TextInputSubmitEditingEventData = $ReadOnly<{ + ...TargetEvent, + eventCount: number, + text: string, +}>; + +export type TextInputSubmitEditingEvent = + NativeSyntheticEvent; + export type TextInputEditingEvent = NativeSyntheticEvent; @@ -427,6 +466,21 @@ export type TextInputAndroidProps = $ReadOnly<{ */ disableFullscreenUI?: ?boolean, + /** + * Determines whether the individual fields in your app should be included in a + * view structure for autofill purposes on Android API Level 26+. Defaults to auto. + * To disable auto complete, use `off`. + * + * *Android Only* + * + * The following values work on Android only: + * + * - `auto` - let Android decide + * - `no` - not important for autofill + * - `noExcludeDescendants` - this view and its children aren't important for autofill + * - `yes` - is important for autofill + * - `yesExcludeDescendants` - this view is important for autofill but its children aren't + */ importantForAutofill?: ?( | 'auto' | 'no' @@ -494,6 +548,7 @@ export type TextInputAndroidProps = $ReadOnly<{ underlineColorAndroid?: ?ColorValue, }>; +type TextInputBaseProps = $ReadOnly<{ // [Windows type SubmitKeyEvent = $ReadOnly<{| @@ -520,20 +575,6 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] -export type TextInputProps = $ReadOnly<{ - ...$Diff>, - ...TextInputIOSProps, - ...TextInputAndroidProps, - ...TextInputWindowsProps, // [Windows] - - /** - * String to be read by screenreaders to indicate an error state. The acceptable parameters - * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates - * the error message. Setting accessibilityInvalid to false removes the error message. - */ - accessibilityErrorMessage?: ?Stringish, - accessibilityInvalid?: ?boolean, - /** * Can tell `TextInput` to automatically capitalize certain characters. * @@ -835,7 +876,7 @@ export type TextInputProps = $ReadOnly<{ /** * Callback that is called when text input ends. */ - onEndEditing?: ?(e: TextInputEditingEvent) => mixed, + onEndEditing?: ?(e: TextInputEndEditingEvent) => mixed, /** * Callback that is called when the text input is focused. @@ -877,7 +918,7 @@ export type TextInputProps = $ReadOnly<{ * Callback that is called when the text input's submit button is pressed. * Invalid if `multiline={true}` is specified. */ - onSubmitEditing?: ?(e: TextInputEditingEvent) => mixed, + onSubmitEditing?: ?(e: TextInputSubmitEditingEvent) => mixed, /** * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`. @@ -958,7 +999,9 @@ export type TextInputProps = $ReadOnly<{ selectionColor?: ?ColorValue, /** - * The text selection handle color. + * When provided it will set the color of the selection handles when highlighting text. + * Unlike the behavior of `selectionColor` the handle color will be set independently + * from the color of the text selection box. * @platform android */ selectionHandleColor?: ?ColorValue, @@ -1033,6 +1076,43 @@ export type TextInputProps = $ReadOnly<{ value?: ?Stringish, }>; +export type TextInputProps = $ReadOnly<{ + ...$Diff>, + ...TextInputIOSProps, + ...TextInputAndroidProps, + ...TextInputBaseProps, + ...TextInputWindowsProps, // [Windows] +}>; + +type TextInputStateType = $ReadOnly<{ + /** + * @deprecated Use currentlyFocusedInput + * Returns the ID of the currently focused text field, if one exists + * If no text field is focused it returns null + */ + currentlyFocusedField: () => ?number, + + /** + * Returns the ref of the currently focused text field, if one exists + * If no text field is focused it returns null + */ + currentlyFocusedInput: () => ?HostInstance, + + /** + * @param textField ref of the text field to focus + * Focuses the specified text field + * noop if the text field was already focused + */ + focusTextInput: (textField: ?HostInstance) => void, + + /** + * @param textField ref of the text field to focus + * Unfocuses the specified text field + * noop if it wasn't focused + */ + blurTextInput: (textField: ?HostInstance) => void, +}>; + type ViewCommands = $NonMaybeType< | typeof AndroidTextInputCommands | typeof RCTMultilineTextInputNativeCommands @@ -1051,7 +1131,7 @@ const emptyFunctionThatReturnsTrue = () => true; * in native and in JavaScript. This is necessary due to the asynchronous nature * of text input events. */ -function useTextInputStateSynchronization_STATE({ +function useTextInputStateSynchronization({ props, mostRecentEventCount, selection, @@ -1127,94 +1207,6 @@ function useTextInputStateSynchronization_STATE({ return {setLastNativeText, setLastNativeSelection}; } -/** - * This hook handles the synchronization between the state of the text input - * in native and in JavaScript. This is necessary due to the asynchronous nature - * of text input events. - */ -function useTextInputStateSynchronization_REFS({ - props, - mostRecentEventCount, - selection, - inputRef, - text, - viewCommands, -}: { - props: TextInputProps, - mostRecentEventCount: number, - selection: ?Selection, - inputRef: React.RefObject, - text?: string, - viewCommands: ViewCommands, -}): { - setLastNativeText: string => void, - setLastNativeSelection: LastNativeSelection => void, -} { - const lastNativeTextRef = useRef(props.value); - const lastNativeSelectionRef = useRef({ - selection: {start: -1, end: -1}, - mostRecentEventCount: mostRecentEventCount, - }); - - // This is necessary in case native updates the text and JS decides - // that the update should be ignored and we should stick with the value - // that we have in JS. - useLayoutEffect(() => { - const nativeUpdate: {text?: string, selection?: Selection} = {}; - - const lastNativeSelection = lastNativeSelectionRef.current.selection; - - if ( - lastNativeTextRef.current !== props.value && - typeof props.value === 'string' - ) { - nativeUpdate.text = props.value; - lastNativeTextRef.current = props.value; - } - - if ( - selection && - lastNativeSelection && - (lastNativeSelection.start !== selection.start || - lastNativeSelection.end !== selection.end) - ) { - nativeUpdate.selection = selection; - lastNativeSelectionRef.current = {selection, mostRecentEventCount}; - } - - if (Object.keys(nativeUpdate).length === 0) { - return; - } - - if (inputRef.current != null) { - viewCommands.setTextAndSelection( - inputRef.current, - mostRecentEventCount, - text, - selection?.start ?? -1, - selection?.end ?? -1, - ); - } - }, [ - mostRecentEventCount, - inputRef, - props.value, - props.defaultValue, - selection, - text, - viewCommands, - ]); - - return { - setLastNativeText: lastNativeText => { - lastNativeTextRef.current = lastNativeText; - }, - setLastNativeSelection: lastNativeSelection => { - lastNativeSelectionRef.current = lastNativeSelection; - }, - }; -} - /** * A foundational component for inputting text into the app via a * keyboard. Props provide configurability for several features, such as @@ -1370,10 +1362,6 @@ function InternalTextInput(props: TextInputProps): React.Node { : RCTSinglelineTextInputNativeCommands); const [mostRecentEventCount, setMostRecentEventCount] = useState(0); - const useTextInputStateSynchronization = - ReactNativeFeatureFlags.useRefsForTextInputState() - ? useTextInputStateSynchronization_REFS - : useTextInputStateSynchronization_STATE; const {setLastNativeText, setLastNativeSelection} = useTextInputStateSynchronization({ props, @@ -1947,7 +1935,7 @@ const autoCompleteWebToTextContentTypeMap = { }; const ExportedForwardRef: component( - ref: React.RefSetter, + ref?: React.RefSetter, ...props: React.ElementConfig ) = React.forwardRef(function TextInput( { @@ -2018,12 +2006,7 @@ ExportedForwardRef.State = { }; export type TextInputComponentStatics = $ReadOnly<{ - State: $ReadOnly<{ - currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput, - currentlyFocusedField: typeof TextInputState.currentlyFocusedField, - focusTextInput: typeof TextInputState.focusTextInput, - blurTextInput: typeof TextInputState.blurTextInput, - }>, + State: TextInputStateType, }>; const styles = StyleSheet.create({ diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js index 515ded0fc64..4f9cba27deb 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js @@ -10,13 +10,13 @@ 'use strict'; +import typeof * as StyleSheetExports from './StyleSheetExports'; import type { ____ColorValue_Internal, ____DangerouslyImpreciseStyle_Internal, ____DangerouslyImpreciseStyleProp_Internal, ____ImageStyle_Internal, ____ImageStyleProp_Internal, - ____Styles_Internal, ____TextStyle_Internal, ____TextStyleProp_Internal, ____ViewStyle_Internal, diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index e4127732083..218bb0f3989 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -108,16 +108,8 @@ const invariant = require('invariant'); import typeof {ColorGradientWin32} from './Libraries/StyleSheet/PlatformColorValueTypesWin32'; module.exports = { - // Components - get AccessibilityInfo(): AccessibilityInfo { - return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo') - .default; - }, - get registerCallableModule(): registerCallableModule { - return require('./Libraries/Core/registerCallableModule').default; - }, // #region Components - get ActivityIndicator(): ActivityIndicator { + get ActivityIndicator() { return require('./Libraries/Components/ActivityIndicator/ActivityIndicator') .default; }, @@ -142,15 +134,15 @@ module.exports = { return require('./Libraries/Components/TextInput/InputAccessoryView') .default; }, - get experimental_LayoutConformance(): LayoutConformance { - return require('./Libraries/Components/LayoutConformance/LayoutConformance') + get KeyboardAvoidingView() { + return require('./Libraries/Components/Keyboard/KeyboardAvoidingView') .default; }, - get KeyboardAvoidingView(): KeyboardAvoidingView { - return require('./Libraries/Components/Keyboard/KeyboardAvoidingView') + get experimental_LayoutConformance() { + return require('./Libraries/Components/LayoutConformance/LayoutConformance') .default; }, - get Modal(): Modal { + get Modal() { return require('./Libraries/Modal/Modal').default; }, get Pressable(): Pressable { @@ -221,9 +213,13 @@ module.exports = { get VirtualizedSectionList(): VirtualizedSectionList { return require('./Libraries/Lists/VirtualizedSectionList').default; }, - - // APIs - get ActionSheetIOS(): ActionSheetIOS { + // #endregion + // #region APIs + get AccessibilityInfo() { + return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo') + .default; + }, + get ActionSheetIOS() { return require('./Libraries/ActionSheetIOS/ActionSheetIOS').default; }, get Alert(): Alert { @@ -269,7 +265,11 @@ module.exports = { get Dimensions(): Dimensions { return require('./Libraries/Utilities/Dimensions').default; }, - get Easing(): Easing { + get DynamicColorIOS() { + return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') + .DynamicColorIOS; + }, + get Easing() { return require('./Libraries/Animated/Easing').default; }, get findNodeHandle(): $PropertyType { @@ -296,14 +296,20 @@ module.exports = { get LogBox(): LogBox { return require('./Libraries/LogBox/LogBox').default; }, - get NativeDialogManagerAndroid(): NativeDialogManagerAndroid { + get NativeAppEventEmitter() { + return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; + }, + get NativeDialogManagerAndroid() { return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid') .default; }, get NativeEventEmitter(): NativeEventEmitter { return require('./Libraries/EventEmitter/NativeEventEmitter').default; }, - get Networking(): Networking { + get NativeModules() { + return require('./Libraries/BatchedBridge/NativeModules').default; + }, + get Networking() { return require('./Libraries/Network/RCTNetworking').default; }, get PanResponder(): PanResponder { @@ -315,7 +321,14 @@ module.exports = { get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; }, - get PushNotificationIOS(): PushNotificationIOS { + get Platform() { + return require('./Libraries/Utilities/Platform').default; + }, + get PlatformColor() { + return require('./Libraries/StyleSheet/PlatformColorValueTypes') + .PlatformColor; + }, + get PushNotificationIOS() { warnOnce( 'pushNotificationIOS-moved', 'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' + @@ -325,8 +338,19 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, - // $FlowFixMe[value-as-type] - get Settings(): Settings { + get processColor() { + return require('./Libraries/StyleSheet/processColor').default; + }, + get registerCallableModule() { + return require('./Libraries/Core/registerCallableModule').default; + }, + get requireNativeComponent() { + return require('./Libraries/ReactNative/requireNativeComponent').default; + }, + get RootTagContext() { + return require('./Libraries/ReactNative/RootTag').RootTagContext; + }, + get Settings() { return require('./Libraries/Settings/Settings').default; }, get Share(): Share { 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 71e99918396..e950c294954 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 @@ -57,6 +57,8 @@ const eventListenerAnimationFinishedCallbacks: { let globalEventEmitterGetValueListener: ?EventSubscription = null; let globalEventEmitterAnimationFinishedListener: ?EventSubscription = null; +const shouldSignalBatch = ReactNativeFeatureFlags.animatedShouldSignalBatch(); + function createNativeOperations(): $NonMaybeType { const methodNames = [ 'createAnimatedNode', // 1 @@ -106,6 +108,11 @@ function createNativeOperations(): $NonMaybeType { if (queueOperations || queue.length !== 0) { // $FlowExpectedError[incompatible-call] - Dynamism. queue.push(() => method(...args)); + } else if (shouldSignalBatch) { + // $FlowExpectedError[incompatible-call] - Dynamism. + queue.push(() => method(...args)); + clearImmediate(flushQueueImmediate); + flushQueueImmediate = setImmediate(API.flushQueue); } else { // $FlowExpectedError[incompatible-call] - Dynamism. method(...args); @@ -138,21 +145,25 @@ const API = { }) as $NonMaybeType['getValue'], setWaitingForIdentifier(id: string): void { + if (shouldSignalBatch) { + return; + } + waitingForQueuedOperations.add(id); queueOperations = true; if ( ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() && flushQueueImmediate ) { - if (ReactNativeFeatureFlags.enableAnimatedClearImmediateFix()) { - clearImmediate(flushQueueImmediate); - } else { - clearTimeout(flushQueueImmediate); - } + clearImmediate(flushQueueImmediate); } }, unsetWaitingForIdentifier(id: string): void { + if (shouldSignalBatch) { + return; + } + waitingForQueuedOperations.delete(id); if (waitingForQueuedOperations.size === 0) { @@ -209,7 +220,7 @@ const API = { return; } - if (Platform.OS === 'android') { + if (Platform.OS === 'android' || shouldSignalBatch) { NativeAnimatedModule?.startOperationBatch?.(); } @@ -218,7 +229,7 @@ const API = { } queue.length = 0; - if (Platform.OS === 'android') { + if (Platform.OS === 'android' || shouldSignalBatch) { NativeAnimatedModule?.finishOperationBatch?.(); } }) as () => void, diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 5c6ca58e811..f390e17fb77 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -32,7 +32,7 @@ "just-scripts": "^1.3.2", "prettier": "2.8.8", "react": "19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963", "typescript": "5.0.4" }, diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 6b024616fa9..07517da0974 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.79.0-nightly-20250303-cee63397b", + "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", "overrides": [ { "type": "derived", @@ -91,7 +91,7 @@ "type": "patch", "file": "src/js/examples/Modal/ModalPresentation.windows.js", "baseFile": "packages/rn-tester/js/examples/Modal/ModalPresentation.js", - "baseHash": "dd016bc7cd48220dc8f0d50523c0282e019c89e6" + "baseHash": "85f44b8ecf18784f6a0088df636b2b9742546b09" }, { "type": "patch", @@ -104,7 +104,7 @@ "type": "derived", "file": "src/js/examples/Text/TextExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Text/TextExample.android.js", - "baseHash": "57b504a530b7ecfe38ebfa4092aa2c8554726e74" + "baseHash": "b40001649bf2c261009213ba56c7bc0bf2998419" }, { "type": "derived", @@ -149,7 +149,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.windows.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "3cf41a5b5fe9269145523937f8cc190ad154e615" + "baseHash": "39dc13e5f5a3b5fb58b807788ee5021ff6b7889c" } ] } \ No newline at end of file diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 2b3486fe77d..1f1ad6c49d0 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -32,7 +32,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-platform-override": "^1.9.55", "react-native-windows": "^0.0.0-canary.963", "typescript": "5.0.4" diff --git a/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js b/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js index 19a521e4d1d..947224c7040 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js @@ -80,7 +80,7 @@ function ModalPresentation() { const [currentOrientation, setCurrentOrientation] = useState('unknown'); type OrientationChangeEvent = Parameters< - $NonMaybeType['onOrientationChange']>, + $NonMaybeType, >[0]; const onOrientationChange = (event: OrientationChangeEvent) => setCurrentOrientation(event.nativeEvent.orientation); 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 f121074d58a..cd2800deff3 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 @@ -15,6 +15,7 @@ import type {RNTesterModule} from '../../types/RNTesterTypes'; +import hotdog from '../../assets/hotdog.jpg'; import RNTesterText from '../../components/RNTesterText'; import TextLegend from '../../components/TextLegend'; import TextAdjustsDynamicLayoutExample from './TextAdjustsDynamicLayoutExample'; @@ -22,6 +23,7 @@ import TextInlineViewsExample from './TextInlineViewsExample'; const TextInlineView = require('../../components/TextInlineView'); const React = require('react'); const { + Image, LayoutAnimation, StyleSheet, Text, @@ -523,11 +525,8 @@ function MaxFontSizeMultiplierExample(props: {}): React.Node { function NumberOfLinesExample(props: {}): React.Node { return ( - <> - + + Maximum of one line no matter now much I write here. If I keep writing it{"'"}ll just truncate after one line @@ -543,11 +542,19 @@ function NumberOfLinesExample(props: {}): React.Node { RNTesterText of two lines no matter now much I write here. If I keep writing it{"'"}ll just truncate after two lines + + The hotdog should be truncated. The hotdog should be truncated. The + hotdog should be truncated. The hotdog should be truncated. The hotdog + should be truncated. The hotdog should be truncated. The hotdog should + be truncated. The hotdog should be truncated. The hotdog should be + truncated. The hotdog should be truncated. + + No maximum lines specified no matter now much I write here. If I keep writing it{"'"}ll just keep going and going - + ); } diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js index c0a3793fafe..4daee8a0138 100644 --- a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js +++ b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js @@ -264,6 +264,11 @@ const APIs: Array = ([ category: 'Basic', module: require('../examples/AppState/AppStateExample'), }, + { + key: 'URLExample', + category: 'Basic', + module: require('../examples/Urls/UrlExample'), + }, { key: 'BorderExample', category: 'UI', diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index 5d2ea50b580..7fbc4d3683c 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.79.0-nightly-20250303-cee63397b", + "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", "overrides": [ { "type": "patch", "file": "package.json", "baseFile": "package.json", - "baseHash": "fd52075bc7dc43ff71facb9d5753b570c78f6d03" + "baseHash": "da7558bb52890862f9c6727ab5bb309fde106c1b" } ] } \ No newline at end of file diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index 866ab71f0c0..e72d2c89631 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -47,10 +47,9 @@ "@babel/preset-env": "^7.25.3", "@babel/preset-flow": "^7.24.7", "@definitelytyped/dtslint": "^0.0.127", - "@jest/create-cache-key-function": "^29.6.3", - "@pkgjs/parseargs": "^0.11.0", - "@react-native/metro-babel-transformer": "0.79.0-nightly-20250303-cee63397b", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/metro-babel-transformer": "0.80.0-main", + "@react-native/metro-config": "0.80.0-main", "@tsconfig/node18": "1.0.1", "@types/react": "^19.0.0", "@typescript-eslint/parser": "^7.1.1", @@ -62,6 +61,8 @@ "chalk": "^4.0.0", "clang-format": "^1.8.0", "connect": "^3.6.5", + "debug": "^4.4.0", + "deep-equal": "1.1.1", "eslint": "^8.57.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-babel": "^5.3.1", @@ -76,7 +77,7 @@ "eslint-plugin-redundant-undefined": "^0.4.0", "eslint-plugin-relay": "^1.8.3", "flow-api-translator": "0.25.1", - "flow-bin": "^0.262.0", + "flow-bin": "^0.265.2", "glob": "^7.1.1", "hermes-eslint": "0.24.0", "hermes-transform": "0.24.0", @@ -85,10 +86,9 @@ "jest-diff": "^29.7.0", "jest-junit": "^10.0.0", "jest-snapshot": "^29.7.0", - "jscodeshift": "^0.14.0", - "metro-babel-register": "^0.81.0", - "metro-memory-fs": "^0.81.0", - "metro-transform-plugins": "^0.81.0", + "metro-babel-register": "^0.82.0", + "metro-memory-fs": "^0.82.0", + "metro-transform-plugins": "^0.82.0", "micromatch": "^4.0.4", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", diff --git a/packages/@react-native/tester/js/RNTesterAppShared.js b/packages/@react-native/tester/js/RNTesterAppShared.js index e41e6cd640d..ef69b0b2fc4 100644 --- a/packages/@react-native/tester/js/RNTesterAppShared.js +++ b/packages/@react-native/tester/js/RNTesterAppShared.js @@ -26,6 +26,7 @@ import { getExamplesListWithRecentlyUsed, initialNavigationState, } from './utils/testerStateUtils'; +import ReportFullyDrawnView from '../ReportFullyDrawnView/ReportFullyDrawnView'; import * as React from 'react'; import { BackHandler, @@ -298,6 +299,7 @@ const RNTesterApp = ({ handleNavBarPress={handleNavBarPress} /> + ); }; diff --git a/packages/@react-native/tester/js/components/RNTesterModuleList.js b/packages/@react-native/tester/js/components/RNTesterModuleList.js index 699d9c8e7ff..0af3c21d7c6 100644 --- a/packages/@react-native/tester/js/components/RNTesterModuleList.js +++ b/packages/@react-native/tester/js/components/RNTesterModuleList.js @@ -61,8 +61,8 @@ const renderSectionHeader = ({section}: {section: any, ...}) => ( ); -const RNTesterModuleList: React.ComponentType = React.memo( - ({sections, handleModuleCardPress}) => { +const RNTesterModuleList: React.ComponentType = React.memo( + ({sections, handleModuleCardPress}: any) => { const filter = ({example, filterRegex, category}: any) => filterRegex.test(example.module.title) && (!category || example.category === category); diff --git a/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js b/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js index e90c85f4dd4..63093f86fdc 100644 --- a/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js +++ b/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js @@ -80,7 +80,7 @@ function ModalPresentation() { const [currentOrientation, setCurrentOrientation] = useState('unknown'); type OrientationChangeEvent = Parameters< - $NonMaybeType['onOrientationChange']>, + $NonMaybeType, >[0]; const onOrientationChange = (event: OrientationChangeEvent) => setCurrentOrientation(event.nativeEvent.orientation); diff --git a/packages/@react-native/tester/js/examples/ScrollView/ScrollViewExample.js b/packages/@react-native/tester/js/examples/ScrollView/ScrollViewExample.js index 6ec79751e73..c0d44afaa77 100644 --- a/packages/@react-native/tester/js/examples/ScrollView/ScrollViewExample.js +++ b/packages/@react-native/tester/js/examples/ScrollView/ScrollViewExample.js @@ -457,6 +457,16 @@ const examples: Array = [ return ; }, }, + { + name: 'touchableChildrenOverflowingContainerHorizontal', + title: + ' touchable children overflow content container (horizontal = true)\n', + description: + "Children that overflow ScrollView's content container should still receive touch events", + render() { + return ; + }, + }, ]; if (Platform.OS === 'ios') { @@ -1352,6 +1362,56 @@ function ClippingExampleHorizontal() { ); } +function TouchableItem({index}: {index: number}) { + const [pressed, setPressed] = useState(false); + + return ( + setPressed(p => !p)} + testID={`touchable_item_${index}`} + style={{ + position: 'relative', + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + flexGrow: 1, + flexShrink: 1, + flexBasis: '25%', + margin: 5, + backgroundColor: pressed ? 'gray' : 'lightgray', + }}> + Item {index} + + ); +} + +function ChildrenWithTouchEventsOverflowingContainerHorizontal() { + return ( + + + + + + + + ); +} + class Item extends React.PureComponent<{ msg?: string, style?: ViewStyleProp, 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 15cdfec2979..0c5445c461f 100644 --- a/packages/@react-native/tester/js/examples/Text/TextExample.android.js +++ b/packages/@react-native/tester/js/examples/Text/TextExample.android.js @@ -12,6 +12,7 @@ import type {RNTesterModule} from '../../types/RNTesterTypes'; +import hotdog from '../../assets/hotdog.jpg'; import RNTesterText from '../../components/RNTesterText'; import TextLegend from '../../components/TextLegend'; import TextAdjustsDynamicLayoutExample from './TextAdjustsDynamicLayoutExample'; @@ -20,6 +21,7 @@ import TextInlineViewsExample from './TextInlineViewsExample'; const TextInlineView = require('../../components/TextInlineView'); const React = require('react'); const { + Image, LayoutAnimation, StyleSheet, Text, @@ -515,7 +517,7 @@ function MaxFontSizeMultiplierExample(props: {}): React.Node { function NumberOfLinesExample(props: {}): React.Node { return ( - <> + Maximum of one line no matter now much I write here. If I keep writing it{"'"}ll just truncate after one line @@ -532,11 +534,19 @@ function NumberOfLinesExample(props: {}): React.Node { RNTesterText of two lines no matter now much I write here. If I keep writing it{"'"}ll just truncate after two lines + + The hotdog should be truncated. The hotdog should be truncated. The + hotdog should be truncated. The hotdog should be truncated. The hotdog + should be truncated. The hotdog should be truncated. The hotdog should + be truncated. The hotdog should be truncated. The hotdog should be + truncated. The hotdog should be truncated. + + No maximum lines specified no matter now much I write here. If I keep writing it{"'"}ll just keep going and going - + ); } 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 6d80e60dbe3..3d98b57dd01 100644 --- a/packages/@react-native/tester/js/examples/Text/TextExample.ios.js +++ b/packages/@react-native/tester/js/examples/Text/TextExample.ios.js @@ -12,6 +12,7 @@ import type {RNTesterModule} from '../../types/RNTesterTypes'; +import hotdog from '../../assets/hotdog.jpg'; import RNTesterText from '../../components/RNTesterText'; import TextLegend from '../../components/TextLegend'; import TextInlineViewsExample from './TextInlineViewsExample'; @@ -20,6 +21,7 @@ const TextInlineView = require('../../components/TextInlineView'); const React = require('react'); const { Button, + Image, LayoutAnimation, Platform, Text, @@ -1103,9 +1105,10 @@ const examples = [ }, { title: 'numberOfLines attribute', + name: 'numberOfLines', render: function (): React.Node { return ( - + Maximum of one line, no matter how much I write here. If I keep writing, it{"'"}ll just truncate after one line. @@ -1114,6 +1117,14 @@ const examples = [ Maximum of two lines, no matter how much I write here. If I keep writing, it{"'"}ll just truncate after two lines. + + The hotdog should be truncated. The hotdog should be truncated. The + hotdog should be truncated. The hotdog should be truncated. The + hotdog should be truncated. The hotdog should be truncated. The + hotdog should be truncated. The hotdog should be truncated. The + hotdog should be truncated. The hotdog should be truncated. + + No maximum lines specified, no matter how much I write here. If I keep writing, it{"'"}ll just keep going and going. diff --git a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js index 8a9cc05b4ae..b6ef5e9db9b 100644 --- a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js +++ b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js @@ -866,6 +866,7 @@ function DynamicContentWidth() { Uncontrolled: Controlled: = ([ category: 'Basic', module: require('../examples/AppState/AppStateExample'), }, + { + key: 'URLExample', + category: 'Basic', + module: require('../examples/Urls/UrlExample'), + }, { key: 'BorderExample', category: 'UI', diff --git a/packages/@react-native/tester/js/utils/RNTesterList.ios.js b/packages/@react-native/tester/js/utils/RNTesterList.ios.js index 134bd94bc94..0790a03c0ce 100644 --- a/packages/@react-native/tester/js/utils/RNTesterList.ios.js +++ b/packages/@react-native/tester/js/utils/RNTesterList.ios.js @@ -194,6 +194,11 @@ const APIs: Array = ([ key: 'AppStateExample', module: require('../examples/AppState/AppStateExample'), }, + { + key: 'URLExample', + category: 'Basic', + module: require('../examples/Urls/UrlExample'), + }, { key: 'BorderExample', module: require('../examples/Border/BorderExample').default, diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index 187c5911b6a..21ca045b6ba 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -1,5 +1,5 @@ { - "baseVersion": "0.79.0-nightly-20250303-cee63397b", + "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", "overrides": [ { "type": "copy", @@ -12,7 +12,7 @@ "type": "copy", "directory": "js/components", "baseDirectory": "packages/rn-tester/js/components", - "baseHash": "117e82a127facc2e88e576cab7140219eb9e51b3", + "baseHash": "55955c658c2583b3dd9a1ebd954ec6c8fb27be03", "issue": 4054 }, { @@ -236,7 +236,7 @@ "type": "copy", "directory": "js/examples/Modal", "baseDirectory": "packages/rn-tester/js/examples/Modal", - "baseHash": "47bd80a8fbdc88e70bca4e11ccea9e130d4dc45a", + "baseHash": "6f7b3e5f779970df44071279b741476f194e38d4", "issue": 4054 }, { @@ -383,7 +383,7 @@ "type": "copy", "directory": "js/examples/ScrollView", "baseDirectory": "packages/rn-tester/js/examples/ScrollView", - "baseHash": "3d1688893a2bf80a0dc4d8d5aa0eb87c52539c38", + "baseHash": "1dbe14827aa2ce436656ba7dbad7390302d2e9b2", "issue": 4054 }, { @@ -439,7 +439,7 @@ "type": "copy", "directory": "js/examples/Text", "baseDirectory": "packages/rn-tester/js/examples/Text", - "baseHash": "3448bb4b09f3ec11e2923f7fa2463c611ef85006", + "baseHash": "9f90a3af870c1efe28bc29b30abf3cb874820978", "issue": 4054 }, { @@ -481,7 +481,7 @@ "type": "patch", "file": "js/examples/TextInput/TextInputSharedExamples.js", "baseFile": "packages/rn-tester/js/examples/TextInput/TextInputSharedExamples.js", - "baseHash": "c7f206359cb110517a643604f46c96e8a2e13f27", + "baseHash": "c6ff0d7ecf6b0db88ec76b4b4fc8dfe142337dd6", "issue": 14291 }, { @@ -572,7 +572,7 @@ "type": "copy", "file": "js/RNTesterAppShared.js", "baseFile": "packages/rn-tester/js/RNTesterAppShared.js", - "baseHash": "8381b2c2e97bd18b48ac04c7a058a636d0b58a90", + "baseHash": "697f8ac4ce6f03a546df3ac60e8293bd862184d2", "issue": 4054 }, { @@ -586,14 +586,14 @@ "type": "patch", "file": "js/utils/RNTesterList.android.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "3cf41a5b5fe9269145523937f8cc190ad154e615", + "baseHash": "39dc13e5f5a3b5fb58b807788ee5021ff6b7889c", "issue": 13228 }, { "type": "patch", "file": "js/utils/RNTesterList.ios.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.ios.js", - "baseHash": "7a41161f07e9302f5c3091d0e4a8acb4f6ef01e0", + "baseHash": "7ca1b93dcc72ef3ff5e8856d6fa3ccd906a63e96", "issue": 13228 }, { @@ -656,7 +656,7 @@ "type": "patch", "file": "package.json", "baseFile": "packages/rn-tester/package.json", - "baseHash": "465eafe4a4aa8296d839eb7f0e01b1966cc38044", + "baseHash": "e30b0f85845127e6de68e618be83e69bf210596f", "issue": 13228 } ] diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json index f9befd27972..83ad20a7185 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.79.0-main", + "version": "0.80.0-main", "private": true, "description": "React Native tester app.", "license": "MIT", @@ -26,7 +26,8 @@ "e2e-test-ios": "./scripts/maestro-test-ios.sh" }, "dependencies": { - "@react-native/popup-menu-android": "0.79.0-nightly-20250123-d1028885e", + "@react-native/oss-library-example": "0.80.0-main", + "@react-native/popup-menu-android": "0.80.0-main", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "nullthrows": "^1.1.1" @@ -49,9 +50,9 @@ } }, "devDependencies": { - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native-community/cli-platform-android": "15.0.0-alpha.2", - "@react-native-community/cli-platform-ios": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", + "@react-native-community/cli-platform-android": "17.0.0", + "@react-native-community/cli-platform-ios": "17.0.0", "commander": "^12.0.0", "listr2": "^6.4.1", "rxjs": "npm:@react-native-community/rxjs@6.5.4-custom" diff --git a/packages/@rnw-scripts/integrate-rn/package.json b/packages/@rnw-scripts/integrate-rn/package.json index f9348d98484..c39843d5f89 100644 --- a/packages/@rnw-scripts/integrate-rn/package.json +++ b/packages/@rnw-scripts/integrate-rn/package.json @@ -19,7 +19,7 @@ "integrate-rn": "./bin.js" }, "dependencies": { - "@react-native-community/template": "0.78.0-nightly-2025110-200ade2", + "@react-native-community/template": "0.80.0-nightly-20250317-fc7385c1e", "@react-native-windows/find-repo-root": "^0.0.0-canary.94", "@react-native-windows/fs": "^0.0.0-canary.65", "@react-native-windows/package-utils": "^0.0.0-canary.91", @@ -61,4 +61,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index c20997ea094..0f5b00ade52 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963" }, "devDependencies": { diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index f5591a6a82c..946f5ec5880 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963", "react-native-xaml": "^0.0.78" }, diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index 20e4b1cd1c8..0de6625c4bc 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/parser": "^7.1.1", "chai": "^4.2.0", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963" }, "devDependencies": { diff --git a/packages/playground/package.json b/packages/playground/package.json index bc9ad63635a..3056403d58e 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -15,7 +15,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963" }, "devDependencies": { diff --git a/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict b/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict index 06e8bd073e0..da1658dc3ee 100644 --- a/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict +++ b/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict @@ -85,8 +85,4 @@ untyped-import untyped-type-import [version] -<<<<<<< Upstream ^0.113.0 -======= -Conflicting edit ->>>>>>> Override diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index 4bb3746f848..3671672745e 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963" }, "devDependencies": { diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index 8124f746119..e55d5dda01f 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963" }, "devDependencies": { diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index c540790b528..9ea5d6a9988 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -22,7 +22,7 @@ "dependencies": { "@types/react": "^19.0.0", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963" }, "devDependencies": { diff --git a/vnext/.flowconfig b/vnext/.flowconfig index 7eda757fb5b..bb17f27754c 100644 --- a/vnext/.flowconfig +++ b/vnext/.flowconfig @@ -130,6 +130,8 @@ module.name_mapper='^react-native-windows/\(.*\)$' -> '/\1' module.name_mapper='^@react-native/dev-middleware$' -> '/\1' module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\|xml\)$' -> '/Libraries/Image/RelativeImageStub' +react.runtime=automatic + suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FlowFixMeProps @@ -160,4 +162,4 @@ untyped-import untyped-type-import [version] -^0.262.0 +^0.265.2 diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp index 31ec1f84144..4bf25095cc3 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp @@ -9,11 +9,11 @@ #include "RAMBundleRegistry.h" -#include #include #include #include +#include #include namespace facebook::react { @@ -24,7 +24,10 @@ std::string JSExecutor::getSyntheticBundlePath( if (bundleId == RAMBundleRegistry::MAIN_BUNDLE_ID) { return bundlePath; } - return folly::to("seg-", bundleId, ".js"); + + std::array buffer{}; + std::snprintf(buffer.data(), buffer.size(), "seg-%u.js", bundleId); + return buffer.data(); } double JSExecutor::performanceNow() { diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp index 344efffb526..beccdecaa6c 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp @@ -11,7 +11,11 @@ #include "Base64.h" #include "Utf8.h" +#include + +#include #include +#include namespace facebook::react::jsinspector_modern { @@ -268,7 +272,16 @@ bool NetworkIOAgent::handleRequest( } if (InspectorFlags::getInstance().getNetworkInspectionEnabled()) { + // @cdp Network.enable support is experimental. if (req.method == "Network.enable") { + NetworkReporter::getInstance().enableDebugging(); + frontendChannel_(cdp::jsonResult(req.id)); + return true; + } + + // @cdp Network.disable support is experimental. + if (req.method == "Network.disable") { + NetworkReporter::getInstance().disableDebugging(); frontendChannel_(cdp::jsonResult(req.id)); return true; } diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h index 2f8e4976801..e36ee1c4474 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h @@ -12,12 +12,9 @@ #include "ScopedExecutor.h" #include -#include -#include #include #include #include -#include namespace facebook::react::jsinspector_modern { diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h index 94907338f5c..d78d25f513e 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h @@ -10,6 +10,7 @@ #include #include +#include #include namespace facebook::react { @@ -136,6 +137,11 @@ class CSSTokenizer { constexpr CSSToken consumeNumber() { // https://www.w3.org/TR/css-syntax-3/#consume-number // https://www.w3.org/TR/css-syntax-3/#convert-a-string-to-a-number +<<<<<<< Upstream + + auto* b = remainingCharacters_.data(); + auto* e = b + remainingCharacters_.size(); +======= int32_t signPart = 1; // [Windows] if (peek() == '+' || peek() == '-') { if (peek() == '-') { @@ -173,23 +179,20 @@ class CSSTokenizer { } advance(); } +>>>>>>> Override - while (isDigit(peek())) { - exponentPart = exponentPart * 10 + (peek() - '0'); - advance(); - } - } float value; - if (exponentPart == 0 && fractionalPart == 0) { - value = static_cast(signPart * intPart); - } else { - value = static_cast( - signPart * - (intPart + (fractionalPart * std::pow(10, -fractionDigits))) * - std::pow(10, exponentSign * exponentPart)); - } + fast_float::parse_options options{ + fast_float::chars_format::general | + fast_float::chars_format::allow_leading_plus}; + auto [ptr, ec] = fast_float::from_chars_advanced(b, e, value, options); + // Do we need to handle any other errors? + // bool isOk = ec == std::errc(); + + position_ += ptr - b; consumeRunningValue(); + return {CSSTokenType::Number, value}; } diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp index 78876d42a7a..fae0521341a 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp @@ -329,7 +329,7 @@ void ReactInstance::registerSegment( << segmentId; runtimeScheduler_->scheduleWork([=](jsi::Runtime& runtime) { TraceSection s("ReactInstance::registerSegment"); - const auto tag = folly::to(segmentId); + auto tag = std::to_string(segmentId); auto script = JSBigFileString::fromPath(segmentPath); if (script->size() == 0) { throw std::invalid_argument( diff --git a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h index 18918f8d199..dd43b8b1c01 100644 --- a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h +++ b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h @@ -19,22 +19,22 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS static constexpr auto methods = std::tuple{ SyncMethod{0, L"commonTestFlag"}, SyncMethod{1, L"commonTestFlagWithoutNativeImplementation"}, - SyncMethod{2, L"disableMountItemReorderingAndroid"}, - SyncMethod{3, L"enableAccumulatedUpdatesInRawPropsAndroid"}, - SyncMethod{4, L"enableBridgelessArchitecture"}, - SyncMethod{5, L"enableCppPropsIteratorSetter"}, - SyncMethod{6, L"enableEagerRootViewAttachment"}, - SyncMethod{7, L"enableFabricLogs"}, - SyncMethod{8, L"enableFabricRenderer"}, - SyncMethod{9, L"enableIOSViewClipToPaddingBox"}, - SyncMethod{10, L"enableImagePrefetchingAndroid"}, - SyncMethod{11, L"enableJSRuntimeGCOnMemoryPressureOnIOS"}, - SyncMethod{12, L"enableLayoutAnimationsOnAndroid"}, - SyncMethod{13, L"enableLayoutAnimationsOnIOS"}, - SyncMethod{14, L"enableLongTaskAPI"}, - SyncMethod{15, L"enableNativeCSSParsing"}, - SyncMethod{16, L"enableNewBackgroundAndBorderDrawables"}, - SyncMethod{17, L"enablePreciseSchedulingForPremountItemsOnAndroid"}, + SyncMethod{2, L"animatedShouldSignalBatch"}, + SyncMethod{3, L"disableMountItemReorderingAndroid"}, + SyncMethod{4, L"enableAccumulatedUpdatesInRawPropsAndroid"}, + SyncMethod{5, L"enableBridgelessArchitecture"}, + SyncMethod{6, L"enableCppPropsIteratorSetter"}, + SyncMethod{7, L"enableEagerRootViewAttachment"}, + SyncMethod{8, L"enableFabricLogs"}, + SyncMethod{9, L"enableFabricRenderer"}, + SyncMethod{10, L"enableIOSViewClipToPaddingBox"}, + SyncMethod{11, L"enableImagePrefetchingAndroid"}, + SyncMethod{12, L"enableJSRuntimeGCOnMemoryPressureOnIOS"}, + SyncMethod{13, L"enableLayoutAnimationsOnAndroid"}, + SyncMethod{14, L"enableLayoutAnimationsOnIOS"}, + SyncMethod{15, L"enableLongTaskAPI"}, + SyncMethod{16, L"enableNativeCSSParsing"}, + SyncMethod{17, L"enableNewBackgroundAndBorderDrawables"}, SyncMethod{18, L"enablePropsUpdateReconciliationAndroid"}, SyncMethod{19, L"enableReportEventPaintTime"}, SyncMethod{20, L"enableSynchronousStateUpdates"}, @@ -43,24 +43,23 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS SyncMethod{23, L"enableViewRecycling"}, SyncMethod{24, L"enableViewRecyclingForText"}, SyncMethod{25, L"enableViewRecyclingForView"}, - SyncMethod{26, L"excludeYogaFromRawProps"}, - SyncMethod{27, L"fixDifferentiatorEmittingUpdatesWithWrongParentTag"}, - SyncMethod{28, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"}, - SyncMethod{29, L"fixMountingCoordinatorReportedPendingTransactionsOnAndroid"}, - SyncMethod{30, L"fuseboxEnabledRelease"}, - SyncMethod{31, L"fuseboxNetworkInspectionEnabled"}, - SyncMethod{32, L"lazyAnimationCallbacks"}, - SyncMethod{33, L"removeTurboModuleManagerDelegateMutex"}, - SyncMethod{34, L"throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS"}, - SyncMethod{35, L"traceTurboModulePromiseRejectionsOnAndroid"}, - SyncMethod{36, L"useAlwaysAvailableJSErrorHandling"}, - SyncMethod{37, L"useEditTextStockAndroidFocusBehavior"}, - SyncMethod{38, L"useFabricInterop"}, - SyncMethod{39, L"useNativeViewConfigsInBridgelessMode"}, - SyncMethod{40, L"useOptimizedEventBatchingOnAndroid"}, - SyncMethod{41, L"useRawPropsJsiValue"}, - SyncMethod{42, L"useTurboModuleInterop"}, - SyncMethod{43, L"useTurboModules"}, + SyncMethod{26, L"fixDifferentiatorEmittingUpdatesWithWrongParentTag"}, + SyncMethod{27, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"}, + SyncMethod{28, L"fixMountingCoordinatorReportedPendingTransactionsOnAndroid"}, + SyncMethod{29, L"fuseboxEnabledRelease"}, + SyncMethod{30, L"fuseboxNetworkInspectionEnabled"}, + SyncMethod{31, L"lazyAnimationCallbacks"}, + SyncMethod{32, L"removeTurboModuleManagerDelegateMutex"}, + SyncMethod{33, L"throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS"}, + SyncMethod{34, L"traceTurboModulePromiseRejectionsOnAndroid"}, + SyncMethod{35, L"useAlwaysAvailableJSErrorHandling"}, + SyncMethod{36, L"useEditTextStockAndroidFocusBehavior"}, + SyncMethod{37, L"useFabricInterop"}, + SyncMethod{38, L"useNativeViewConfigsInBridgelessMode"}, + SyncMethod{39, L"useOptimizedEventBatchingOnAndroid"}, + SyncMethod{40, L"useRawPropsJsiValue"}, + SyncMethod{41, L"useTurboModuleInterop"}, + SyncMethod{42, L"useTurboModules"}, }; template @@ -79,84 +78,84 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS " REACT_SYNC_METHOD(commonTestFlagWithoutNativeImplementation) static bool commonTestFlagWithoutNativeImplementation() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 2, + "animatedShouldSignalBatch", + " REACT_SYNC_METHOD(animatedShouldSignalBatch) bool animatedShouldSignalBatch() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(animatedShouldSignalBatch) static bool animatedShouldSignalBatch() noexcept { /* implementation */ }\n"); + REACT_SHOW_METHOD_SPEC_ERRORS( + 3, "disableMountItemReorderingAndroid", " REACT_SYNC_METHOD(disableMountItemReorderingAndroid) bool disableMountItemReorderingAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(disableMountItemReorderingAndroid) static bool disableMountItemReorderingAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 3, + 4, "enableAccumulatedUpdatesInRawPropsAndroid", " REACT_SYNC_METHOD(enableAccumulatedUpdatesInRawPropsAndroid) bool enableAccumulatedUpdatesInRawPropsAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableAccumulatedUpdatesInRawPropsAndroid) static bool enableAccumulatedUpdatesInRawPropsAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 4, + 5, "enableBridgelessArchitecture", " REACT_SYNC_METHOD(enableBridgelessArchitecture) bool enableBridgelessArchitecture() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableBridgelessArchitecture) static bool enableBridgelessArchitecture() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 5, + 6, "enableCppPropsIteratorSetter", " REACT_SYNC_METHOD(enableCppPropsIteratorSetter) bool enableCppPropsIteratorSetter() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableCppPropsIteratorSetter) static bool enableCppPropsIteratorSetter() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 6, + 7, "enableEagerRootViewAttachment", " REACT_SYNC_METHOD(enableEagerRootViewAttachment) bool enableEagerRootViewAttachment() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableEagerRootViewAttachment) static bool enableEagerRootViewAttachment() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 7, + 8, "enableFabricLogs", " REACT_SYNC_METHOD(enableFabricLogs) bool enableFabricLogs() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableFabricLogs) static bool enableFabricLogs() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 8, + 9, "enableFabricRenderer", " REACT_SYNC_METHOD(enableFabricRenderer) bool enableFabricRenderer() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableFabricRenderer) static bool enableFabricRenderer() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 9, + 10, "enableIOSViewClipToPaddingBox", " REACT_SYNC_METHOD(enableIOSViewClipToPaddingBox) bool enableIOSViewClipToPaddingBox() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableIOSViewClipToPaddingBox) static bool enableIOSViewClipToPaddingBox() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 10, + 11, "enableImagePrefetchingAndroid", " REACT_SYNC_METHOD(enableImagePrefetchingAndroid) bool enableImagePrefetchingAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableImagePrefetchingAndroid) static bool enableImagePrefetchingAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 11, + 12, "enableJSRuntimeGCOnMemoryPressureOnIOS", " REACT_SYNC_METHOD(enableJSRuntimeGCOnMemoryPressureOnIOS) bool enableJSRuntimeGCOnMemoryPressureOnIOS() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableJSRuntimeGCOnMemoryPressureOnIOS) static bool enableJSRuntimeGCOnMemoryPressureOnIOS() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 12, + 13, "enableLayoutAnimationsOnAndroid", " REACT_SYNC_METHOD(enableLayoutAnimationsOnAndroid) bool enableLayoutAnimationsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableLayoutAnimationsOnAndroid) static bool enableLayoutAnimationsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 13, + 14, "enableLayoutAnimationsOnIOS", " REACT_SYNC_METHOD(enableLayoutAnimationsOnIOS) bool enableLayoutAnimationsOnIOS() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableLayoutAnimationsOnIOS) static bool enableLayoutAnimationsOnIOS() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 14, + 15, "enableLongTaskAPI", " REACT_SYNC_METHOD(enableLongTaskAPI) bool enableLongTaskAPI() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableLongTaskAPI) static bool enableLongTaskAPI() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 15, + 16, "enableNativeCSSParsing", " REACT_SYNC_METHOD(enableNativeCSSParsing) bool enableNativeCSSParsing() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableNativeCSSParsing) static bool enableNativeCSSParsing() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 16, + 17, "enableNewBackgroundAndBorderDrawables", " REACT_SYNC_METHOD(enableNewBackgroundAndBorderDrawables) bool enableNewBackgroundAndBorderDrawables() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableNewBackgroundAndBorderDrawables) static bool enableNewBackgroundAndBorderDrawables() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 17, - "enablePreciseSchedulingForPremountItemsOnAndroid", - " REACT_SYNC_METHOD(enablePreciseSchedulingForPremountItemsOnAndroid) bool enablePreciseSchedulingForPremountItemsOnAndroid() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(enablePreciseSchedulingForPremountItemsOnAndroid) static bool enablePreciseSchedulingForPremountItemsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 18, "enablePropsUpdateReconciliationAndroid", @@ -199,91 +198,86 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS " REACT_SYNC_METHOD(enableViewRecyclingForView) static bool enableViewRecyclingForView() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 26, - "excludeYogaFromRawProps", - " REACT_SYNC_METHOD(excludeYogaFromRawProps) bool excludeYogaFromRawProps() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(excludeYogaFromRawProps) static bool excludeYogaFromRawProps() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 27, "fixDifferentiatorEmittingUpdatesWithWrongParentTag", " REACT_SYNC_METHOD(fixDifferentiatorEmittingUpdatesWithWrongParentTag) bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fixDifferentiatorEmittingUpdatesWithWrongParentTag) static bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 28, + 27, "fixMappingOfEventPrioritiesBetweenFabricAndReact", " REACT_SYNC_METHOD(fixMappingOfEventPrioritiesBetweenFabricAndReact) bool fixMappingOfEventPrioritiesBetweenFabricAndReact() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fixMappingOfEventPrioritiesBetweenFabricAndReact) static bool fixMappingOfEventPrioritiesBetweenFabricAndReact() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 29, + 28, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid", " REACT_SYNC_METHOD(fixMountingCoordinatorReportedPendingTransactionsOnAndroid) bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fixMountingCoordinatorReportedPendingTransactionsOnAndroid) static bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 30, + 29, "fuseboxEnabledRelease", " REACT_SYNC_METHOD(fuseboxEnabledRelease) bool fuseboxEnabledRelease() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fuseboxEnabledRelease) static bool fuseboxEnabledRelease() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 31, + 30, "fuseboxNetworkInspectionEnabled", " REACT_SYNC_METHOD(fuseboxNetworkInspectionEnabled) bool fuseboxNetworkInspectionEnabled() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fuseboxNetworkInspectionEnabled) static bool fuseboxNetworkInspectionEnabled() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 32, + 31, "lazyAnimationCallbacks", " REACT_SYNC_METHOD(lazyAnimationCallbacks) bool lazyAnimationCallbacks() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(lazyAnimationCallbacks) static bool lazyAnimationCallbacks() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 33, + 32, "removeTurboModuleManagerDelegateMutex", " REACT_SYNC_METHOD(removeTurboModuleManagerDelegateMutex) bool removeTurboModuleManagerDelegateMutex() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(removeTurboModuleManagerDelegateMutex) static bool removeTurboModuleManagerDelegateMutex() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 34, + 33, "throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS", " REACT_SYNC_METHOD(throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS) bool throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS) static bool throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 35, + 34, "traceTurboModulePromiseRejectionsOnAndroid", " REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) static bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 36, + 35, "useAlwaysAvailableJSErrorHandling", " REACT_SYNC_METHOD(useAlwaysAvailableJSErrorHandling) bool useAlwaysAvailableJSErrorHandling() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useAlwaysAvailableJSErrorHandling) static bool useAlwaysAvailableJSErrorHandling() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 37, + 36, "useEditTextStockAndroidFocusBehavior", " REACT_SYNC_METHOD(useEditTextStockAndroidFocusBehavior) bool useEditTextStockAndroidFocusBehavior() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useEditTextStockAndroidFocusBehavior) static bool useEditTextStockAndroidFocusBehavior() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 38, + 37, "useFabricInterop", " REACT_SYNC_METHOD(useFabricInterop) bool useFabricInterop() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useFabricInterop) static bool useFabricInterop() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 39, + 38, "useNativeViewConfigsInBridgelessMode", " REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) static bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 40, + 39, "useOptimizedEventBatchingOnAndroid", " REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) static bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 41, + 40, "useRawPropsJsiValue", " REACT_SYNC_METHOD(useRawPropsJsiValue) bool useRawPropsJsiValue() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useRawPropsJsiValue) static bool useRawPropsJsiValue() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 42, + 41, "useTurboModuleInterop", " REACT_SYNC_METHOD(useTurboModuleInterop) bool useTurboModuleInterop() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useTurboModuleInterop) static bool useTurboModuleInterop() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 43, + 42, "useTurboModules", " REACT_SYNC_METHOD(useTurboModules) bool useTurboModules() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useTurboModules) static bool useTurboModules() noexcept { /* implementation */ }\n"); diff --git a/vnext/codegen/react/components/rnwcore/EventEmitters.cpp b/vnext/codegen/react/components/rnwcore/EventEmitters.cpp index adcd150d680..b606e786965 100644 --- a/vnext/codegen/react/components/rnwcore/EventEmitters.cpp +++ b/vnext/codegen/react/components/rnwcore/EventEmitters.cpp @@ -14,117 +14,117 @@ namespace facebook::react { -void AndroidDrawerLayoutEventEmitter::onDrawerSlide(OnDrawerSlide $event) const { - dispatchEvent("drawerSlide", [$event=std::move($event)](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); - $payload.setProperty(runtime, "offset", $event.offset); - return $payload; +void AndroidDrawerLayoutEventEmitter::onDrawerSlide(OnDrawerSlide event) const { + dispatchEvent("drawerSlide", [event=std::move(event)](jsi::Runtime &runtime) { + auto payload = jsi::Object(runtime); + payload.setProperty(runtime, "offset", event.offset); + return payload; }); } -void AndroidDrawerLayoutEventEmitter::onDrawerStateChanged(OnDrawerStateChanged $event) const { - dispatchEvent("drawerStateChanged", [$event=std::move($event)](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); - $payload.setProperty(runtime, "drawerState", $event.drawerState); - return $payload; +void AndroidDrawerLayoutEventEmitter::onDrawerStateChanged(OnDrawerStateChanged event) const { + dispatchEvent("drawerStateChanged", [event=std::move(event)](jsi::Runtime &runtime) { + auto payload = jsi::Object(runtime); + payload.setProperty(runtime, "drawerState", event.drawerState); + return payload; }); } -void AndroidDrawerLayoutEventEmitter::onDrawerOpen(OnDrawerOpen $event) const { +void AndroidDrawerLayoutEventEmitter::onDrawerOpen(OnDrawerOpen event) const { dispatchEvent("drawerOpen", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void AndroidDrawerLayoutEventEmitter::onDrawerClose(OnDrawerClose $event) const { +void AndroidDrawerLayoutEventEmitter::onDrawerClose(OnDrawerClose event) const { dispatchEvent("drawerClose", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void AndroidSwipeRefreshLayoutEventEmitter::onRefresh(OnRefresh $event) const { +void AndroidSwipeRefreshLayoutEventEmitter::onRefresh(OnRefresh event) const { dispatchEvent("refresh", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void AndroidSwitchEventEmitter::onChange(OnChange $event) const { - dispatchEvent("change", [$event=std::move($event)](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); - $payload.setProperty(runtime, "value", $event.value); -$payload.setProperty(runtime, "target", $event.target); - return $payload; +void AndroidSwitchEventEmitter::onChange(OnChange event) const { + dispatchEvent("change", [event=std::move(event)](jsi::Runtime &runtime) { + auto payload = jsi::Object(runtime); + payload.setProperty(runtime, "value", event.value); +payload.setProperty(runtime, "target", event.target); + return payload; }); } -void PullToRefreshViewEventEmitter::onRefresh(OnRefresh $event) const { +void PullToRefreshViewEventEmitter::onRefresh(OnRefresh event) const { dispatchEvent("refresh", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void ModalHostViewEventEmitter::onRequestClose(OnRequestClose $event) const { +void ModalHostViewEventEmitter::onRequestClose(OnRequestClose event) const { dispatchEvent("requestClose", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void ModalHostViewEventEmitter::onShow(OnShow $event) const { +void ModalHostViewEventEmitter::onShow(OnShow event) const { dispatchEvent("show", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void ModalHostViewEventEmitter::onDismiss(OnDismiss $event) const { +void ModalHostViewEventEmitter::onDismiss(OnDismiss event) const { dispatchEvent("dismiss", [](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); + auto payload = jsi::Object(runtime); - return $payload; + return payload; }); } -void ModalHostViewEventEmitter::onOrientationChange(OnOrientationChange $event) const { - dispatchEvent("orientationChange", [$event=std::move($event)](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); - $payload.setProperty(runtime, "orientation", toString($event.orientation)); - return $payload; +void ModalHostViewEventEmitter::onOrientationChange(OnOrientationChange event) const { + dispatchEvent("orientationChange", [event=std::move(event)](jsi::Runtime &runtime) { + auto payload = jsi::Object(runtime); + payload.setProperty(runtime, "orientation", toString(event.orientation)); + return payload; }); } -void SwitchEventEmitter::onChange(OnChange $event) const { - dispatchEvent("change", [$event=std::move($event)](jsi::Runtime &runtime) { - auto $payload = jsi::Object(runtime); - $payload.setProperty(runtime, "value", $event.value); -$payload.setProperty(runtime, "target", $event.target); - return $payload; +void SwitchEventEmitter::onChange(OnChange event) const { + dispatchEvent("change", [event=std::move(event)](jsi::Runtime &runtime) { + auto payload = jsi::Object(runtime); + payload.setProperty(runtime, "value", event.value); +payload.setProperty(runtime, "target", event.target); + return payload; }); } diff --git a/vnext/codegen/rnwcoreJSI-generated.cpp b/vnext/codegen/rnwcoreJSI-generated.cpp index 75de3b43ef4..a00b4a1bb74 100644 --- a/vnext/codegen/rnwcoreJSI-generated.cpp +++ b/vnext/codegen/rnwcoreJSI-generated.cpp @@ -21,6 +21,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_commonT rt ); } +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_animatedShouldSignalBatch(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->animatedShouldSignalBatch( + rt + ); +} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_disableMountItemReorderingAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->disableMountItemReorderingAndroid( rt @@ -96,11 +101,6 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableN rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePreciseSchedulingForPremountItemsOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->enablePreciseSchedulingForPremountItemsOnAndroid( - rt - ); -} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->enablePropsUpdateReconciliationAndroid( rt @@ -141,11 +141,6 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableV rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_excludeYogaFromRawProps(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->excludeYogaFromRawProps( - rt - ); -} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->fixDifferentiatorEmittingUpdatesWithWrongParentTag( rt @@ -236,6 +231,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI : TurboModule("NativeReactNativeFeatureFlagsCxx", jsInvoker) { methodMap_["commonTestFlag"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_commonTestFlag}; methodMap_["commonTestFlagWithoutNativeImplementation"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_commonTestFlagWithoutNativeImplementation}; + methodMap_["animatedShouldSignalBatch"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_animatedShouldSignalBatch}; methodMap_["disableMountItemReorderingAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_disableMountItemReorderingAndroid}; methodMap_["enableAccumulatedUpdatesInRawPropsAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableAccumulatedUpdatesInRawPropsAndroid}; methodMap_["enableBridgelessArchitecture"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBridgelessArchitecture}; @@ -251,7 +247,6 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["enableLongTaskAPI"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableLongTaskAPI}; methodMap_["enableNativeCSSParsing"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNativeCSSParsing}; methodMap_["enableNewBackgroundAndBorderDrawables"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNewBackgroundAndBorderDrawables}; - methodMap_["enablePreciseSchedulingForPremountItemsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePreciseSchedulingForPremountItemsOnAndroid}; methodMap_["enablePropsUpdateReconciliationAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePropsUpdateReconciliationAndroid}; methodMap_["enableReportEventPaintTime"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableReportEventPaintTime}; methodMap_["enableSynchronousStateUpdates"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableSynchronousStateUpdates}; @@ -260,7 +255,6 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["enableViewRecycling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecycling}; methodMap_["enableViewRecyclingForText"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForText}; methodMap_["enableViewRecyclingForView"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForView}; - methodMap_["excludeYogaFromRawProps"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_excludeYogaFromRawProps}; methodMap_["fixDifferentiatorEmittingUpdatesWithWrongParentTag"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixDifferentiatorEmittingUpdatesWithWrongParentTag}; methodMap_["fixMappingOfEventPrioritiesBetweenFabricAndReact"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMappingOfEventPrioritiesBetweenFabricAndReact}; methodMap_["fixMountingCoordinatorReportedPendingTransactionsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMountingCoordinatorReportedPendingTransactionsOnAndroid}; diff --git a/vnext/codegen/rnwcoreJSI.h b/vnext/codegen/rnwcoreJSI.h index d03a6000dbd..be9d85a1794 100644 --- a/vnext/codegen/rnwcoreJSI.h +++ b/vnext/codegen/rnwcoreJSI.h @@ -22,6 +22,7 @@ namespace facebook::react { public: virtual bool commonTestFlag(jsi::Runtime &rt) = 0; virtual bool commonTestFlagWithoutNativeImplementation(jsi::Runtime &rt) = 0; + virtual bool animatedShouldSignalBatch(jsi::Runtime &rt) = 0; virtual bool disableMountItemReorderingAndroid(jsi::Runtime &rt) = 0; virtual bool enableAccumulatedUpdatesInRawPropsAndroid(jsi::Runtime &rt) = 0; virtual bool enableBridgelessArchitecture(jsi::Runtime &rt) = 0; @@ -37,7 +38,6 @@ namespace facebook::react { virtual bool enableLongTaskAPI(jsi::Runtime &rt) = 0; virtual bool enableNativeCSSParsing(jsi::Runtime &rt) = 0; virtual bool enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt) = 0; - virtual bool enablePreciseSchedulingForPremountItemsOnAndroid(jsi::Runtime &rt) = 0; virtual bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) = 0; virtual bool enableReportEventPaintTime(jsi::Runtime &rt) = 0; virtual bool enableSynchronousStateUpdates(jsi::Runtime &rt) = 0; @@ -46,7 +46,6 @@ namespace facebook::react { virtual bool enableViewRecycling(jsi::Runtime &rt) = 0; virtual bool enableViewRecyclingForText(jsi::Runtime &rt) = 0; virtual bool enableViewRecyclingForView(jsi::Runtime &rt) = 0; - virtual bool excludeYogaFromRawProps(jsi::Runtime &rt) = 0; virtual bool fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime &rt) = 0; virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) = 0; virtual bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(jsi::Runtime &rt) = 0; @@ -110,6 +109,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::commonTestFlagWithoutNativeImplementation, jsInvoker_, instance_); } + bool animatedShouldSignalBatch(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::animatedShouldSignalBatch) == 1, + "Expected animatedShouldSignalBatch(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::animatedShouldSignalBatch, jsInvoker_, instance_); + } bool disableMountItemReorderingAndroid(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::disableMountItemReorderingAndroid) == 1, @@ -230,14 +237,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableNewBackgroundAndBorderDrawables, jsInvoker_, instance_); } - bool enablePreciseSchedulingForPremountItemsOnAndroid(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::enablePreciseSchedulingForPremountItemsOnAndroid) == 1, - "Expected enablePreciseSchedulingForPremountItemsOnAndroid(...) to have 1 parameters"); - - return bridging::callFromJs( - rt, &T::enablePreciseSchedulingForPremountItemsOnAndroid, jsInvoker_, instance_); - } bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::enablePropsUpdateReconciliationAndroid) == 1, @@ -302,14 +301,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableViewRecyclingForView, jsInvoker_, instance_); } - bool excludeYogaFromRawProps(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::excludeYogaFromRawProps) == 1, - "Expected excludeYogaFromRawProps(...) to have 1 parameters"); - - return bridging::callFromJs( - rt, &T::excludeYogaFromRawProps, jsInvoker_, instance_); - } bool fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::fixDifferentiatorEmittingUpdatesWithWrongParentTag) == 1, diff --git a/vnext/overrides.json b/vnext/overrides.json index 2c17eb23962..3c480b607e0 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -8,13 +8,13 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.79.0-nightly-20250303-cee63397b", + "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "23e4ec639f146691148b6736f4e84478ae2a5416" + "baseHash": "b8b53bf5315c0b91d0f69c3fe9274797a55b993f" }, { "type": "derived", @@ -44,7 +44,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp", "baseFile": "packages/react-native/ReactCommon/cxxreact/JSExecutor.cpp", - "baseHash": "f6420ce2d56117dc241a9a9dd08b6184fb6b1447", + "baseHash": "eeaefdb8689f30047c3907fbb706c49a43e1cdfa", "issue": 13172 }, { @@ -72,14 +72,14 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp", "baseFile": "packages/react-native/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp", - "baseHash": "a0bea220f9bdcbbe4d1cf0eab62b09f46d88081b", + "baseHash": "a93ab8657c51bd7691b80ad7f909ad232c36dad5", "issue": 13587 }, { "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h", "baseFile": "packages/react-native/ReactCommon/jsinspector-modern/NetworkIOAgent.h", - "baseHash": "3575887bdd97425ce5968fc9a45a5ead2463c8f3", + "baseHash": "08efa2256dc40edb4e4f348b85e4c53ca8eb2681", "issue": 13587 }, { @@ -161,7 +161,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h", "baseFile": "packages/react-native/ReactCommon/react/renderer/css/CSSTokenizer.h", - "baseHash": "9690fcea2fdb52334fc96c27db02c43a1b4b98a5", + "baseHash": "b23b75c8666ff6efa7606a3f7c9a3f7806129755", "issue": 14665 }, { @@ -182,7 +182,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp", "baseFile": "packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp", - "baseHash": "651098ef1888fbabab0a70d8e542f46c35d09d7a", + "baseHash": "55c16545281db580d9767455089926aae00c65cb", "issue": 13172 }, { @@ -196,7 +196,7 @@ "type": "derived", "file": "src-win/index.windows.js", "baseFile": "packages/react-native/index.js", - "baseHash": "62b4752ea0e271645cc0fff8b54f2c1167284d43" + "baseHash": "7a10369d15e8b09ef772d8f229cbfc712d074cbf" }, { "type": "platform", @@ -252,7 +252,7 @@ "type": "patch", "file": "src-win/Libraries/Alert/Alert.windows.js", "baseFile": "packages/react-native/Libraries/Alert/Alert.js", - "baseHash": "95ce9fad7e029b50ff6f1598e38aa420660913dc" + "baseHash": "bd8f474e454f2b703ca7fb55cb022f24046bc0f8" }, { "type": "platform", @@ -364,7 +364,7 @@ "type": "patch", "file": "src-win/Libraries/Components/TextInput/TextInput.windows.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "eb047724db45395fe5d6487e269a00a198807eb8" + "baseHash": "f762096a46203b6bae385806087b7b7cb5744f16" }, { "type": "patch", @@ -518,7 +518,7 @@ "type": "derived", "file": "src-win/Libraries/Modal/Modal.windows.js", "baseFile": "packages/react-native/Libraries/Modal/Modal.js", - "baseHash": "c3936520f4d839c5cd5ede287c0c41a7427286c6" + "baseHash": "dab3191508232552315a5326970bd8d2c7f25e55" }, { "type": "derived", diff --git a/vnext/package.json b/vnext/package.json index d21b62f2ad2..5e5522753a5 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -83,7 +83,7 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-platform-override": "^1.9.55", "react-refresh": "^0.14.0", "typescript": "5.0.4" diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index 453955f7546..4e0d970bd65 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -20,7 +20,6 @@ import type { import type {TextInputInstance, TextInputType} from './TextInput.flow'; import type {HandledKeyboardEvent, ViewProps} from '../View/ViewPropTypes'; -import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags'; import usePressability from '../../Pressability/usePressability'; import flattenStyle from '../../StyleSheet/flattenStyle'; import StyleSheet, { @@ -70,6 +69,9 @@ else if (Platform.OS === 'windows') { } // Windows] +/** + * @see TextInputProps.onChange + */ export type TextInputChangeEventData = $ReadOnly<{ eventCount: number, target: number, @@ -92,6 +94,9 @@ export type TextInputEvent = NativeSyntheticEvent< }>, >; +/** + * @see TextInputProps.onContentSizeChange + */ export type TextInputContentSizeChangeEventData = $ReadOnly<{ target: number, contentSize: $ReadOnly<{ @@ -107,16 +112,29 @@ export type TargetEvent = $ReadOnly<{ target: number, }>; +/** + * @see TextInputProps.onFocus + */ export type TextInputFocusEventData = TargetEvent; export type TextInputBlurEvent = NativeSyntheticEvent; export type TextInputFocusEvent = NativeSyntheticEvent; +/** + * @see TextInputProps.onScroll + */ +export type TextInputScrollEventData = { + contentOffset: {x: number, y: number}, +}; + type Selection = $ReadOnly<{ start: number, end: number, }>; +/** + * @see TextInputProps.onSelectionChange + */ export type TextInputSelectionChangeEventData = $ReadOnly<{ ...TargetEvent, selection: Selection, @@ -125,7 +143,10 @@ export type TextInputSelectionChangeEventData = $ReadOnly<{ export type TextInputSelectionChangeEvent = NativeSyntheticEvent; -type TextInputKeyPressEventData = $ReadOnly<{ +/** + * @see TextInputProps.onKeyPress + */ +export type TextInputKeyPressEventData = $ReadOnly<{ ...TargetEvent, key: string, target?: ?number, @@ -135,12 +156,30 @@ type TextInputKeyPressEventData = $ReadOnly<{ export type TextInputKeyPressEvent = NativeSyntheticEvent; +/** + * @see TextInputProps.onEndEditing + */ export type TextInputEndEditingEventData = $ReadOnly<{ ...TargetEvent, eventCount: number, text: string, }>; +export type TextInputEndEditingEvent = + NativeSyntheticEvent; + +/** + * @see TextInputProps.onSubmitEditing + */ +export type TextInputSubmitEditingEventData = $ReadOnly<{ + ...TargetEvent, + eventCount: number, + text: string, +}>; + +export type TextInputSubmitEditingEvent = + NativeSyntheticEvent; + export type TextInputEditingEvent = NativeSyntheticEvent; @@ -428,6 +467,21 @@ export type TextInputAndroidProps = $ReadOnly<{ */ disableFullscreenUI?: ?boolean, + /** + * Determines whether the individual fields in your app should be included in a + * view structure for autofill purposes on Android API Level 26+. Defaults to auto. + * To disable auto complete, use `off`. + * + * *Android Only* + * + * The following values work on Android only: + * + * - `auto` - let Android decide + * - `no` - not important for autofill + * - `noExcludeDescendants` - this view and its children aren't important for autofill + * - `yes` - is important for autofill + * - `yesExcludeDescendants` - this view is important for autofill but its children aren't + */ importantForAutofill?: ?( | 'auto' | 'no' @@ -495,6 +549,7 @@ export type TextInputAndroidProps = $ReadOnly<{ underlineColorAndroid?: ?ColorValue, }>; +type TextInputBaseProps = $ReadOnly<{ // [Windows type SubmitKeyEvent = $ReadOnly<{| @@ -554,20 +609,6 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] -export type TextInputProps = $ReadOnly<{ - ...$Diff>, - ...TextInputIOSProps, - ...TextInputAndroidProps, - ...TextInputWindowsProps, // [Windows] - - /** - * String to be read by screenreaders to indicate an error state. The acceptable parameters - * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates - * the error message. Setting accessibilityInvalid to false removes the error message. - */ - accessibilityErrorMessage?: ?Stringish, - accessibilityInvalid?: ?boolean, - /** * Can tell `TextInput` to automatically capitalize certain characters. * @@ -869,7 +910,7 @@ export type TextInputProps = $ReadOnly<{ /** * Callback that is called when text input ends. */ - onEndEditing?: ?(e: TextInputEditingEvent) => mixed, + onEndEditing?: ?(e: TextInputEndEditingEvent) => mixed, /** * Callback that is called when the text input is focused. @@ -911,7 +952,7 @@ export type TextInputProps = $ReadOnly<{ * Callback that is called when the text input's submit button is pressed. * Invalid if `multiline={true}` is specified. */ - onSubmitEditing?: ?(e: TextInputEditingEvent) => mixed, + onSubmitEditing?: ?(e: TextInputSubmitEditingEvent) => mixed, /** * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`. @@ -992,7 +1033,9 @@ export type TextInputProps = $ReadOnly<{ selectionColor?: ?ColorValue, /** - * The text selection handle color. + * When provided it will set the color of the selection handles when highlighting text. + * Unlike the behavior of `selectionColor` the handle color will be set independently + * from the color of the text selection box. * @platform android */ selectionHandleColor?: ?ColorValue, @@ -1067,6 +1110,43 @@ export type TextInputProps = $ReadOnly<{ value?: ?Stringish, }>; +export type TextInputProps = $ReadOnly<{ + ...$Diff>, + ...TextInputIOSProps, + ...TextInputAndroidProps, + ...TextInputBaseProps, + ...TextInputWindowsProps, // [Windows] +}>; + +type TextInputStateType = $ReadOnly<{ + /** + * @deprecated Use currentlyFocusedInput + * Returns the ID of the currently focused text field, if one exists + * If no text field is focused it returns null + */ + currentlyFocusedField: () => ?number, + + /** + * Returns the ref of the currently focused text field, if one exists + * If no text field is focused it returns null + */ + currentlyFocusedInput: () => ?HostInstance, + + /** + * @param textField ref of the text field to focus + * Focuses the specified text field + * noop if the text field was already focused + */ + focusTextInput: (textField: ?HostInstance) => void, + + /** + * @param textField ref of the text field to focus + * Unfocuses the specified text field + * noop if it wasn't focused + */ + blurTextInput: (textField: ?HostInstance) => void, +}>; + type ViewCommands = $NonMaybeType< | typeof AndroidTextInputCommands | typeof RCTMultilineTextInputNativeCommands @@ -1085,7 +1165,7 @@ const emptyFunctionThatReturnsTrue = () => true; * in native and in JavaScript. This is necessary due to the asynchronous nature * of text input events. */ -function useTextInputStateSynchronization_STATE({ +function useTextInputStateSynchronization({ props, mostRecentEventCount, selection, @@ -1161,94 +1241,6 @@ function useTextInputStateSynchronization_STATE({ return {setLastNativeText, setLastNativeSelection}; } -/** - * This hook handles the synchronization between the state of the text input - * in native and in JavaScript. This is necessary due to the asynchronous nature - * of text input events. - */ -function useTextInputStateSynchronization_REFS({ - props, - mostRecentEventCount, - selection, - inputRef, - text, - viewCommands, -}: { - props: TextInputProps, - mostRecentEventCount: number, - selection: ?Selection, - inputRef: React.RefObject, - text?: string, - viewCommands: ViewCommands, -}): { - setLastNativeText: string => void, - setLastNativeSelection: LastNativeSelection => void, -} { - const lastNativeTextRef = useRef(props.value); - const lastNativeSelectionRef = useRef({ - selection: {start: -1, end: -1}, - mostRecentEventCount: mostRecentEventCount, - }); - - // This is necessary in case native updates the text and JS decides - // that the update should be ignored and we should stick with the value - // that we have in JS. - useLayoutEffect(() => { - const nativeUpdate: {text?: string, selection?: Selection} = {}; - - const lastNativeSelection = lastNativeSelectionRef.current.selection; - - if ( - lastNativeTextRef.current !== props.value && - typeof props.value === 'string' - ) { - nativeUpdate.text = props.value; - lastNativeTextRef.current = props.value; - } - - if ( - selection && - lastNativeSelection && - (lastNativeSelection.start !== selection.start || - lastNativeSelection.end !== selection.end) - ) { - nativeUpdate.selection = selection; - lastNativeSelectionRef.current = {selection, mostRecentEventCount}; - } - - if (Object.keys(nativeUpdate).length === 0) { - return; - } - - if (inputRef.current != null) { - viewCommands.setTextAndSelection( - inputRef.current, - mostRecentEventCount, - text, - selection?.start ?? -1, - selection?.end ?? -1, - ); - } - }, [ - mostRecentEventCount, - inputRef, - props.value, - props.defaultValue, - selection, - text, - viewCommands, - ]); - - return { - setLastNativeText: lastNativeText => { - lastNativeTextRef.current = lastNativeText; - }, - setLastNativeSelection: lastNativeSelection => { - lastNativeSelectionRef.current = lastNativeSelection; - }, - }; -} - /** * A foundational component for inputting text into the app via a * keyboard. Props provide configurability for several features, such as @@ -1405,10 +1397,6 @@ function InternalTextInput(props: TextInputProps): React.Node { : RCTSinglelineTextInputNativeCommands); const [mostRecentEventCount, setMostRecentEventCount] = useState(0); - const useTextInputStateSynchronization = - ReactNativeFeatureFlags.useRefsForTextInputState() - ? useTextInputStateSynchronization_REFS - : useTextInputStateSynchronization_STATE; const {setLastNativeText, setLastNativeSelection} = useTextInputStateSynchronization({ props, @@ -2000,7 +1988,7 @@ const autoCompleteWebToTextContentTypeMap = { }; const ExportedForwardRef: component( - ref: React.RefSetter, + ref?: React.RefSetter, ...props: React.ElementConfig ) = React.forwardRef(function TextInput( { @@ -2071,12 +2059,7 @@ ExportedForwardRef.State = { }; export type TextInputComponentStatics = $ReadOnly<{ - State: $ReadOnly<{ - currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput, - currentlyFocusedField: typeof TextInputState.currentlyFocusedField, - focusTextInput: typeof TextInputState.focusTextInput, - blurTextInput: typeof TextInputState.blurTextInput, - }>, + State: TextInputStateType, }>; const styles = StyleSheet.create({ diff --git a/vnext/src-win/Libraries/Modal/Modal.windows.js b/vnext/src-win/Libraries/Modal/Modal.windows.js index 2030dedc8e7..26f0be2a9c7 100644 --- a/vnext/src-win/Libraries/Modal/Modal.windows.js +++ b/vnext/src-win/Libraries/Modal/Modal.windows.js @@ -8,6 +8,7 @@ * @flow strict-local */ +import type {HostInstance} from '../../src/private/types/HostInstance'; import type {ViewProps} from '../Components/View/ViewPropTypes'; import type {RootTag} from '../ReactNative/RootTag'; import type {DirectEventHandler} from '../Types/CodegenTypes'; @@ -15,7 +16,6 @@ import type {DirectEventHandler} from '../Types/CodegenTypes'; import NativeEventEmitter from '../EventEmitter/NativeEventEmitter'; import {type ColorValue} from '../StyleSheet/StyleSheet'; import {type EventSubscription} from '../vendor/emitter/EventEmitter'; -import ModalInjection from './ModalInjection'; import NativeModalManager from './NativeModalManager'; import RCTModalHostView from './RCTModalHostViewNativeComponent'; import VirtualizedLists from '@react-native/virtualized-lists'; @@ -36,6 +36,8 @@ type ModalEventDefinitions = { modalDismissed: [{modalID: number}], }; +export type PublicModalInstance = HostInstance; + const ModalEventEmitter = (Platform.OS === 'ios' || Platform.OS === 'windows') && // [Windows] NativeModalManager != null @@ -104,6 +106,11 @@ export type ModalBaseProps = { * Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`. */ backdropColor?: ColorValue, + + /** + * A ref to the native Modal component. + */ + modalRef?: React.RefSetter, }; export type ModalPropsIOS = { @@ -321,6 +328,7 @@ class Modal extends React.Component { onRequestClose={this.props.onRequestClose} onShow={this.props.onShow} onDismiss={onDismiss} + ref={this.props.modalRef} visible={this.props.visible} statusBarTranslucent={this.props.statusBarTranslucent} navigationBarTranslucent={this.props.navigationBarTranslucent} @@ -368,10 +376,25 @@ const styles = StyleSheet.create({ }, }); -// $FlowFixMe[prop-missing] -const ExportedModal: React.AbstractComponent< - React.ElementConfig, - // $FlowFixMe[incompatible-type-arg] -> = ModalInjection.unstable_Modal ?? Modal; +type ModalRefProps = $ReadOnly<{ + ref?: React.RefSetter, +}>; + +// NOTE: This wrapper component is necessary because `Modal` is a class +// component and we need to map `ref` to a differently named prop. This can be +// removed when `Modal` is a functional component. +function Wrapper({ + ref, + ...props +}: { + ...ModalRefProps, + ...ModalProps, +}): React.Node { + return ; +} + +Wrapper.displayName = 'Modal'; +// $FlowExpectedError[prop-missing] +Wrapper.Context = VirtualizedListContextResetter; -export default ExportedModal; +export default Wrapper; diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index 43bcc600df9..66bf3530b87 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -109,15 +109,8 @@ const warnOnce = require('./Libraries/Utilities/warnOnce').default; const invariant = require('invariant'); module.exports = { - get registerCallableModule(): RegisterCallableModule { - return require('./Libraries/Core/registerCallableModule').default; - }, - // Components - get AccessibilityInfo(): AccessibilityInfo { - return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo') - .default; - }, - get ActivityIndicator(): ActivityIndicator { + // #region Components + get ActivityIndicator() { return require('./Libraries/Components/ActivityIndicator/ActivityIndicator') .default; }, @@ -142,15 +135,15 @@ module.exports = { return require('./Libraries/Components/TextInput/InputAccessoryView') .default; }, - get experimental_LayoutConformance(): LayoutConformance { - return require('./Libraries/Components/LayoutConformance/LayoutConformance') + get KeyboardAvoidingView() { + return require('./Libraries/Components/Keyboard/KeyboardAvoidingView') .default; }, - get KeyboardAvoidingView(): KeyboardAvoidingView { - return require('./Libraries/Components/Keyboard/KeyboardAvoidingView') + get experimental_LayoutConformance() { + return require('./Libraries/Components/LayoutConformance/LayoutConformance') .default; }, - get Modal(): Modal { + get Modal() { return require('./Libraries/Modal/Modal').default; }, get Pressable(): Pressable { @@ -219,9 +212,13 @@ module.exports = { get VirtualizedSectionList(): VirtualizedSectionList { return require('./Libraries/Lists/VirtualizedSectionList').default; }, - - // APIs - get ActionSheetIOS(): ActionSheetIOS { + // #endregion + // #region APIs + get AccessibilityInfo() { + return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo') + .default; + }, + get ActionSheetIOS() { return require('./Libraries/ActionSheetIOS/ActionSheetIOS').default; }, get Alert(): Alert { @@ -253,7 +250,16 @@ module.exports = { ); return require('./Libraries/Components/Clipboard/Clipboard').default; }, - get DeviceInfo(): DeviceInfo { + get codegenNativeCommands() { + return require('./Libraries/Utilities/codegenNativeCommands').default; + }, + get codegenNativeComponent() { + return require('./Libraries/Utilities/codegenNativeComponent').default; + }, + get DeviceEventEmitter() { + return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default; + }, + get DeviceInfo() { return require('./Libraries/Utilities/DeviceInfo').default; }, get DevMenu(): DevMenu { @@ -265,7 +271,11 @@ module.exports = { get Dimensions(): Dimensions { return require('./Libraries/Utilities/Dimensions').default; }, - get Easing(): Easing { + get DynamicColorIOS() { + return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') + .DynamicColorIOS; + }, + get Easing() { return require('./Libraries/Animated/Easing').default; }, get findNodeHandle(): $PropertyType { @@ -289,14 +299,20 @@ module.exports = { get LogBox(): LogBox { return require('./Libraries/LogBox/LogBox').default; }, - get NativeDialogManagerAndroid(): NativeDialogManagerAndroid { + get NativeAppEventEmitter() { + return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; + }, + get NativeDialogManagerAndroid() { return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid') .default; }, get NativeEventEmitter(): NativeEventEmitter { return require('./Libraries/EventEmitter/NativeEventEmitter').default; }, - get Networking(): Networking { + get NativeModules() { + return require('./Libraries/BatchedBridge/NativeModules').default; + }, + get Networking() { return require('./Libraries/Network/RCTNetworking').default; }, get PanResponder(): PanResponder { @@ -308,7 +324,14 @@ module.exports = { get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; }, - get PushNotificationIOS(): PushNotificationIOS { + get Platform() { + return require('./Libraries/Utilities/Platform').default; + }, + get PlatformColor() { + return require('./Libraries/StyleSheet/PlatformColorValueTypes') + .PlatformColor; + }, + get PushNotificationIOS() { warnOnce( 'pushNotificationIOS-moved', 'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' + @@ -318,7 +341,19 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, - get Settings(): Settings { + get processColor() { + return require('./Libraries/StyleSheet/processColor').default; + }, + get registerCallableModule() { + return require('./Libraries/Core/registerCallableModule').default; + }, + get requireNativeComponent() { + return require('./Libraries/ReactNative/requireNativeComponent').default; + }, + get RootTagContext() { + return require('./Libraries/ReactNative/RootTag').RootTagContext; + }, + get Settings() { return require('./Libraries/Settings/Settings').default; }, get Share(): Share { diff --git a/yarn.lock b/yarn.lock index 6c91664ceb3..51bc13155f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2111,6 +2111,11 @@ resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.79.0-nightly-20250303-cee63397b.tgz#1d5f66cc3618c81219728bfc38da1a6e9d44982a" integrity sha512-v3vrkYFnVL1huzRl2V9MzuTNlkfp73r3kvpItaONdicwFkRApYCGCdkn+s4HmRWuwsv0167Xg79vimBf0zD4mw== +"@react-native/assets-registry@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0-nightly-20250317-fc7385c1e.tgz#b02eb0d9f725aa9298ba79eaa65fb7c9c876478a" + integrity sha512-xdJJptt/Gq/ptr3pwFrwnJbwP+kGyI0iAkCfA5lQ0IgSeK90ezRWxFd1VRMjRBThLaKPYEb9zK8HIG7WRJ0lUw== + "@react-native/assets@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" @@ -2188,6 +2193,17 @@ nullthrows "^1.1.1" yargs "^17.6.2" +"@react-native/codegen@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0-nightly-20250317-fc7385c1e.tgz#21907ee35992d142294fac55a82e7503ad8dd672" + integrity sha512-78b17vFGQDCDxVwpLvjuyNnTqZOMRa3ZiqVWrprpPDls+SNeUcJ5xhKHmHDvaImRpfq5KqDeAQjUl9FM5U/KIA== + dependencies: + glob "^7.1.1" + hermes-parser "0.25.1" + invariant "^2.2.4" + nullthrows "^1.1.1" + yargs "^17.6.2" + "@react-native/community-cli-plugin@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.79.0-nightly-20250303-cee63397b.tgz#74bb4ad8f4c0dfc85fd1a4aafc0637055ca7a37f" @@ -2202,11 +2218,30 @@ metro-core "^0.81.0" semver "^7.1.3" +"@react-native/community-cli-plugin@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0-nightly-20250317-fc7385c1e.tgz#2f4f3b3b1981fee3b83cc618606a2991d2b663e5" + integrity sha512-CKCrev9kmpQ6KHq4mQBfTfV7I+fl8doOI3jRND0OSl9REQBnXpcyGXpqi8ZE56QftAJhRTOnUX1BZCeBUpnEtQ== + dependencies: + "@react-native/dev-middleware" "0.80.0-nightly-20250317-fc7385c1e" + chalk "^4.0.0" + debug "^4.4.0" + invariant "^2.2.4" + metro "^0.82.0" + metro-config "^0.82.0" + metro-core "^0.82.0" + semver "^7.1.3" + "@react-native/debugger-frontend@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.79.0-nightly-20250303-cee63397b.tgz#11946f4790cdfff351e1aed3dc956006f0881fb2" integrity sha512-hHFJpRuCoVGzvlJxBdZFl6SKdG1GCwQY+hlxyWs60+DW9hwDmWE+rz9WBU9+6zw5pnmKTEpd/zZWz3MrTWWkUA== +"@react-native/debugger-frontend@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0-nightly-20250317-fc7385c1e.tgz#132bd6c9d523e5fad7dbde008c6cdb55dda39389" + integrity sha512-eoCXz9DJTpd3AM8tgUP9MsUOFQmKqPLhRSJL4fnhtDGMimSGLO+KldSIvKQwel9I2SpbGWOpcEsordiyYPtaUw== + "@react-native/dev-middleware@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.79.0-nightly-20250303-cee63397b.tgz#7fd19b43d316184c3d28955cf55cdc99242c220f" @@ -2224,6 +2259,23 @@ serve-static "^1.16.2" ws "^6.2.3" +"@react-native/dev-middleware@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0-nightly-20250317-fc7385c1e.tgz#93e277a25012a96c8afba29e19e4ae8fa841101e" + integrity sha512-68PgpUlaebdGaTO7jM4VHXmSTgqE3SX9R/LKNgsZyPYqC38UgNT1EI2l6d2oRh1r57Muc7Y55zErk470XVaRXw== + dependencies: + "@isaacs/ttlcache" "^1.4.1" + "@react-native/debugger-frontend" "0.80.0-nightly-20250317-fc7385c1e" + chrome-launcher "^0.15.2" + chromium-edge-launcher "^0.2.0" + connect "^3.6.5" + debug "^4.4.0" + invariant "^2.2.4" + nullthrows "^1.1.1" + open "^7.0.3" + serve-static "^1.16.2" + ws "^6.2.3" + "@react-native/eslint-config@0.79.0-nightly-20250123-d1028885e": version "0.79.0-nightly-20250123-d1028885e" resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.79.0-nightly-20250123-d1028885e.tgz#a4c538e720e9474a7cabdca8d93a266006f53de0" @@ -2252,11 +2304,21 @@ resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.79.0-nightly-20250303-cee63397b.tgz#90b61e57a79007bcce5bf58d64f1b7a724489379" integrity sha512-Fw5RsMDDODT4YUtxt53ytTpgfBPhDD/lehRhYVyO4Ud6bN6oUiS8lBdZWKo/7B3mwDh9OEt0ppeBOYTZwirRZA== +"@react-native/gradle-plugin@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0-nightly-20250317-fc7385c1e.tgz#c9460e245374a2f6f68db6e93895bc74e4e63517" + integrity sha512-FfUMIsuySTIKECPPSixWo/xIn2YSkR7VjIscRes2BOpd2OCqEuSkVtAwQ4giVqkssuV1Eh3Z0cJOhEcidKxCXw== + "@react-native/js-polyfills@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.79.0-nightly-20250303-cee63397b.tgz#20f5b19d244185686262153d0bc93f327f84c9d7" integrity sha512-uPQt+6fE39CpOksFfQIj+suThswQxxLJUf2aaJHZvvTClbXqVrFhjGoCADZ+XSIqrbIK1MIsYA6kCtMCuGmSgA== +"@react-native/js-polyfills@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0-nightly-20250317-fc7385c1e.tgz#6e08f926c19e8e3a47a81bb89f8e02d253bcae51" + integrity sha512-hku4R9HxtBscv68ge0szC9dCOT3uonbz9qyIkEuWIr1kRZg53fK+ibgC7KrFfvhJdRsqqxIRaveQ/4LCntZ88Q== + "@react-native/metro-babel-transformer@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.79.0-nightly-20250303-cee63397b.tgz#4f345cf45fbf86e71de30ee7fa3e59cc30d7cc6d" @@ -2282,6 +2344,11 @@ resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.79.0-nightly-20250303-cee63397b.tgz#39ab0aae6aa677d9bedbfd63696a20d2e591f622" integrity sha512-IgyPFEoOkAd8nvP970tavgqrwQwVI/JHnkqfREU9gi//HSq/RzLSwq6nT5VLIIzdHl0HuoZNotPiPbAxpyOTeQ== +"@react-native/normalize-colors@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250317-fc7385c1e.tgz#9192423f143ba416287e895b91a0e6dc2b178f9c" + integrity sha512-8mqZH9FG0wmBzEIH8OFTKcxXpUm4k7r5HStTxqAztxTjpTfRvJTLKxB9DcPukGAsdRkMSBAPKgxjWV+zREEVYA== + "@react-native/popup-menu-android@0.79.0-nightly-20250123-d1028885e": version "0.79.0-nightly-20250123-d1028885e" resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.79.0-nightly-20250123-d1028885e.tgz#d7f5ed675e66bee93b2d4580bc17ff21c3e3c167" @@ -2297,6 +2364,14 @@ invariant "^2.2.4" nullthrows "^1.1.1" +"@react-native/virtualized-lists@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0-nightly-20250317-fc7385c1e.tgz#470866c04f98375e450445217e70815c4e77710d" + integrity sha512-w+lelo+0h3bjlfdNfOD+sEb5VpvaJc/oz0/IdtIWNa0iAeOKWxBdwyJuPTjg+ZAJtp7MQD+SXZaHF7Mov7vvag== + dependencies: + invariant "^2.2.4" + nullthrows "^1.1.1" + "@rnx-kit/align-deps@^2.5.0": version "2.5.5" resolved "https://registry.yarnpkg.com/@rnx-kit/align-deps/-/align-deps-2.5.5.tgz#708b4fd65941699e1ef33c728d34bc568e648b73" @@ -4974,6 +5049,13 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, d dependencies: ms "^2.1.3" +debug@^4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -6743,6 +6825,11 @@ hermes-estree@0.25.1: resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480" integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw== +hermes-estree@0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24" + integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ== + hermes-parser@0.21.1: version "0.21.1" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.21.1.tgz#b2ab42b6ee1bed8c659ed61a03d3f61a63183ada" @@ -6771,6 +6858,13 @@ hermes-parser@0.25.1: dependencies: hermes-estree "0.25.1" +hermes-parser@0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.28.1.tgz#17b9e6377f334b6870a1f6da2e123fdcd0b605ac" + integrity sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg== + dependencies: + hermes-estree "0.28.1" + hermes-transform@0.24.0: version "0.24.0" resolved "https://registry.yarnpkg.com/hermes-transform/-/hermes-transform-0.24.0.tgz#bf7693978b8f2d94f79c3a6700018b21ec08233e" @@ -8615,6 +8709,16 @@ metro-babel-transformer@0.81.0: hermes-parser "0.24.0" nullthrows "^1.1.1" +metro-babel-transformer@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.4.tgz#1ac029add8f75d0048c54efc266c0a78791f52b2" + integrity sha512-4juJahGRb1gmNbQq48lNinB6WFNfb6m0BQqi/RQibEltNiqTCxew/dBspI2EWA4xVCd3mQWGfw0TML4KurQZnQ== + dependencies: + "@babel/core" "^7.25.2" + flow-enums-runtime "^0.0.6" + hermes-parser "0.28.1" + nullthrows "^1.1.1" + metro-cache-key@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.81.0.tgz#5db34fa1a323a2310205bda7abd0df9614e36f45" @@ -8622,6 +8726,13 @@ metro-cache-key@0.81.0: dependencies: flow-enums-runtime "^0.0.6" +metro-cache-key@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.4.tgz#21f850008fa2570a51e3958574ea5a791574752e" + integrity sha512-2JCTqcpF+f2OghOpe/+x+JywfzDkrHdAqinPFWmK2ezNAU/qX0jBFaTETogPibFivxZJil37w9Yp6syX8rFUng== + dependencies: + flow-enums-runtime "^0.0.6" + metro-cache@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.81.0.tgz#90470d10d190ad708f04c6e337eec2c7cddb3db0" @@ -8631,6 +8742,16 @@ metro-cache@0.81.0: flow-enums-runtime "^0.0.6" metro-core "0.81.0" +metro-cache@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.4.tgz#f44557f8b33f5d7b7ba4ccba2880c111e9884329" + integrity sha512-vX0ylSMGtORKiZ4G8uP6fgfPdDiCWvLZUGZ5zIblSGylOX6JYhvExl0Zg4UA9pix/SSQu5Pnp9vdODMFsNIxhw== + dependencies: + exponential-backoff "^3.1.1" + flow-enums-runtime "^0.0.6" + https-proxy-agent "^7.0.5" + metro-core "0.82.4" + metro-config@0.81.0, metro-config@^0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.81.0.tgz#8f8074033cb7e9ddb5b0459642adf6880bc9fbc1" @@ -8645,6 +8766,20 @@ metro-config@0.81.0, metro-config@^0.81.0: metro-core "0.81.0" metro-runtime "0.81.0" +metro-config@0.82.4, metro-config@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.4.tgz#d42fa8b6a4d53493c34d217bbc6c13ee4817355c" + integrity sha512-Ki3Wumr3hKHGDS7RrHsygmmRNc/PCJrvkLn0+BWWxmbOmOcMMJDSmSI+WRlT8jd5VPZFxIi4wg+sAt5yBXAK0g== + dependencies: + connect "^3.6.5" + cosmiconfig "^5.0.5" + flow-enums-runtime "^0.0.6" + jest-validate "^29.7.0" + metro "0.82.4" + metro-cache "0.82.4" + metro-core "0.82.4" + metro-runtime "0.82.4" + metro-core@0.81.0, metro-core@^0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.81.0.tgz#d0b634f9cf97849b7730c59457ab7a439811d4c8" @@ -8654,6 +8789,15 @@ metro-core@0.81.0, metro-core@^0.81.0: lodash.throttle "^4.1.1" metro-resolver "0.81.0" +metro-core@0.82.4, metro-core@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.4.tgz#f7f498929ac066dafe704c3598a990eeb2acdc8c" + integrity sha512-Xo4ozbxPg2vfgJGCgXZ8sVhC2M0lhTqD+tsKO2q9aelq/dCjnnSb26xZKcQO80CQOQUL7e3QWB7pLFGPjZm31A== + dependencies: + flow-enums-runtime "^0.0.6" + lodash.throttle "^4.1.1" + metro-resolver "0.82.4" + metro-file-map@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.81.0.tgz#af0ccf4f8db4fd8429f78f231faa49dde2c402c3" @@ -8673,6 +8817,21 @@ metro-file-map@0.81.0: optionalDependencies: fsevents "^2.3.2" +metro-file-map@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.4.tgz#186d737088433dd290c5974d9d96d7e62d36e4f9" + integrity sha512-eO7HD1O3aeNsbEe6NBZvx1lLJUrxgyATjnDmb7bm4eyF6yWOQot9XVtxTDLNifECuvsZ4jzRiTInrbmIHkTdGA== + dependencies: + debug "^4.4.0" + fb-watchman "^2.0.0" + flow-enums-runtime "^0.0.6" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-worker "^29.7.0" + micromatch "^4.0.4" + nullthrows "^1.1.1" + walker "^1.0.7" + metro-memory-fs@^0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-memory-fs/-/metro-memory-fs-0.81.0.tgz#f11ac95bb294f3fd4c933cf93ab9ee6da626d352" @@ -8688,6 +8847,14 @@ metro-minify-terser@0.81.0: flow-enums-runtime "^0.0.6" terser "^5.15.0" +metro-minify-terser@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.4.tgz#3750c14e7a25eba591f6c75eed995f6751030618" + integrity sha512-W79Mi6BUwWVaM8Mc5XepcqkG+TSsCyyo//dmTsgYfJcsmReQorRFodil3bbJInETvjzdnS1mCsUo9pllNjT1Hg== + dependencies: + flow-enums-runtime "^0.0.6" + terser "^5.15.0" + metro-resolver@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.81.0.tgz#141f4837e1e0c5a1810ea02f2d9be3c9f6cf3766" @@ -8695,6 +8862,13 @@ metro-resolver@0.81.0: dependencies: flow-enums-runtime "^0.0.6" +metro-resolver@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.4.tgz#936a2300fa577183a1e0e6f7cc405e52f9276f0e" + integrity sha512-uWoHzOBGQTPT5PjippB8rRT3iI9CTgFA9tRiLMzrseA5o7YAlgvfTdY9vFk2qyk3lW3aQfFKWkmqENryPRpu+Q== + dependencies: + flow-enums-runtime "^0.0.6" + metro-runtime@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.81.0.tgz#63af9b3fec15d1f307d89ef4881f5ba2c592291e" @@ -8703,6 +8877,14 @@ metro-runtime@0.81.0: "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" +metro-runtime@0.82.4, metro-runtime@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.4.tgz#70e0b871683fdb594f2a7c03403b6350deca086b" + integrity sha512-vVyFO7H+eLXRV2E7YAUYA7aMGBECGagqxmFvC2hmErS7oq90BbPVENfAHbUWq1vWH+MRiivoRxdxlN8gBoF/dw== + dependencies: + "@babel/runtime" "^7.25.0" + flow-enums-runtime "^0.0.6" + metro-runtime@^0.81.0: version "0.81.2" resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.81.2.tgz#143cd2712d297ba9366e74283e230044fc2465ad" @@ -8743,6 +8925,22 @@ metro-source-map@0.81.2, metro-source-map@^0.81.0: source-map "^0.5.6" vlq "^1.0.0" +metro-source-map@0.82.4, metro-source-map@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.4.tgz#ddd9bdf3a5864ee8f0b296ed11e46bdc2de321ac" + integrity sha512-9jzDQJ0FPas1FuQFtwmBHsez2BfhFNufMowbOMeG3ZaFvzeziE8A0aJwILDS3U+V5039ssCQFiQeqDgENWvquA== + dependencies: + "@babel/traverse" "^7.25.3" + "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3" + "@babel/types" "^7.25.2" + flow-enums-runtime "^0.0.6" + invariant "^2.2.4" + metro-symbolicate "0.82.4" + nullthrows "^1.1.1" + ob1 "0.82.4" + source-map "^0.5.6" + vlq "^1.0.0" + metro-symbolicate@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.81.0.tgz#b7b1eae8bfd6ad2a922fa2bcb9f2144e464adafb" @@ -8768,6 +8966,18 @@ metro-symbolicate@0.81.2: source-map "^0.5.6" vlq "^1.0.0" +metro-symbolicate@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.4.tgz#76603b0ec2ad8fe5f174aa76485cc46228547a91" + integrity sha512-LwEwAtdsx7z8rYjxjpLWxuFa2U0J6TS6ljlQM4WAATKa4uzV8unmnRuN2iNBWTmRqgNR77mzmI2vhwD4QSCo+w== + dependencies: + flow-enums-runtime "^0.0.6" + invariant "^2.2.4" + metro-source-map "0.82.4" + nullthrows "^1.1.1" + source-map "^0.5.6" + vlq "^1.0.0" + metro-transform-plugins@0.81.0, metro-transform-plugins@^0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.81.0.tgz#614c0e50593df545487b3f3383fed810c608fb32" @@ -8780,6 +8990,18 @@ metro-transform-plugins@0.81.0, metro-transform-plugins@^0.81.0: flow-enums-runtime "^0.0.6" nullthrows "^1.1.1" +metro-transform-plugins@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.4.tgz#9d3bb855126e0a63ac2ccf012ed2bc7829209e8c" + integrity sha512-NoWQRPHupVpnDgYguiEcm7YwDhnqW02iWWQjO2O8NsNP09rEMSq99nPjARWfukN7+KDh6YjLvTIN20mj3dk9kw== + dependencies: + "@babel/core" "^7.25.2" + "@babel/generator" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.3" + flow-enums-runtime "^0.0.6" + nullthrows "^1.1.1" + metro-transform-worker@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.81.0.tgz#43e63c95014f36786f0e1a132c778c6392950de7" @@ -8799,6 +9021,25 @@ metro-transform-worker@0.81.0: metro-transform-plugins "0.81.0" nullthrows "^1.1.1" +metro-transform-worker@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.4.tgz#cf7db4ef89301ab6658f7a0988fd030e28f86b28" + integrity sha512-kPI7Ad/tdAnI9PY4T+2H0cdgGeSWWdiPRKuytI806UcN4VhFL6OmYa19/4abYVYF+Cd2jo57CDuwbaxRfmXDhw== + dependencies: + "@babel/core" "^7.25.2" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/types" "^7.25.2" + flow-enums-runtime "^0.0.6" + metro "0.82.4" + metro-babel-transformer "0.82.4" + metro-cache "0.82.4" + metro-cache-key "0.82.4" + metro-minify-terser "0.82.4" + metro-source-map "0.82.4" + metro-transform-plugins "0.82.4" + nullthrows "^1.1.1" + metro@0.81.0, metro@^0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro/-/metro-0.81.0.tgz#cffe9b7d597728dee8b57903ca155417b7c13a4f" @@ -8847,6 +9088,52 @@ metro@0.81.0, metro@^0.81.0: ws "^7.5.10" yargs "^17.6.2" +metro@0.82.4, metro@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.4.tgz#e4fb4552f1387610b0b2873ed07d4cd59754d636" + integrity sha512-/gFmw3ux9CPG5WUmygY35hpyno28zi/7OUn6+OFfbweA8l0B+PPqXXLr0/T6cf5nclCcH0d22o+02fICaShVxw== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/core" "^7.25.2" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.3" + "@babel/types" "^7.25.2" + accepts "^1.3.7" + chalk "^4.0.0" + ci-info "^2.0.0" + connect "^3.6.5" + debug "^4.4.0" + error-stack-parser "^2.0.6" + flow-enums-runtime "^0.0.6" + graceful-fs "^4.2.4" + hermes-parser "0.28.1" + image-size "^1.0.2" + invariant "^2.2.4" + jest-worker "^29.7.0" + jsc-safe-url "^0.2.2" + lodash.throttle "^4.1.1" + metro-babel-transformer "0.82.4" + metro-cache "0.82.4" + metro-cache-key "0.82.4" + metro-config "0.82.4" + metro-core "0.82.4" + metro-file-map "0.82.4" + metro-resolver "0.82.4" + metro-runtime "0.82.4" + metro-source-map "0.82.4" + metro-symbolicate "0.82.4" + metro-transform-plugins "0.82.4" + metro-transform-worker "0.82.4" + mime-types "^2.1.27" + nullthrows "^1.1.1" + serialize-error "^2.1.0" + source-map "^0.5.6" + throat "^5.0.0" + ws "^7.5.10" + yargs "^17.6.2" + micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.7, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" @@ -9276,6 +9563,13 @@ ob1@0.81.2: dependencies: flow-enums-runtime "^0.0.6" +ob1@0.82.4: + version "0.82.4" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.4.tgz#60f04f61b8ab96e1f818eb856b35c97bbef44726" + integrity sha512-n9S8e4l5TvkrequEAMDidl4yXesruWTNTzVkeaHSGywoTOIwTzZzKw7Z670H3eaXDZui5MJXjWGNzYowVZIxCA== + dependencies: + flow-enums-runtime "^0.0.6" + object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -10045,19 +10339,19 @@ react-native-xaml@^0.0.78: dependencies: "@types/react" "*" -react-native@0.79.0-nightly-20250303-cee63397b: - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.79.0-nightly-20250303-cee63397b.tgz#7ca4ee8e894ca3fa3f6d733cdf1bf35346b0c66f" - integrity sha512-iF/BRQYIl9QvhYC+B1Q0CDi1GPgApPDQFE3bN2s11kTA5vNAy6FU/1w1NwUU4F5XNeTVSPdoaDyB8xEWmMvRzw== +react-native@0.80.0-nightly-20250317-fc7385c1e: + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.80.0-nightly-20250317-fc7385c1e.tgz#8df65db4db298334ed4ebacbce51fb69e312849f" + integrity sha512-Vgwuf27mnlPhsn8NvsjooyV3yA9HumLjk+AswRRtebysLS5Cu0MJmhvCYhSm045aAWl3asdRwX2Q5E/baSI+ng== dependencies: "@jest/create-cache-key-function" "^29.7.0" - "@react-native/assets-registry" "0.79.0-nightly-20250303-cee63397b" - "@react-native/codegen" "0.79.0-nightly-20250303-cee63397b" - "@react-native/community-cli-plugin" "0.79.0-nightly-20250303-cee63397b" - "@react-native/gradle-plugin" "0.79.0-nightly-20250303-cee63397b" - "@react-native/js-polyfills" "0.79.0-nightly-20250303-cee63397b" - "@react-native/normalize-colors" "0.79.0-nightly-20250303-cee63397b" - "@react-native/virtualized-lists" "0.79.0-nightly-20250303-cee63397b" + "@react-native/assets-registry" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/codegen" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/community-cli-plugin" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/gradle-plugin" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/js-polyfills" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/normalize-colors" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/virtualized-lists" "0.80.0-nightly-20250317-fc7385c1e" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" @@ -10072,8 +10366,8 @@ react-native@0.79.0-nightly-20250303-cee63397b: invariant "^2.2.4" jest-environment-node "^29.7.0" memoize-one "^5.0.0" - metro-runtime "^0.81.0" - metro-source-map "^0.81.0" + metro-runtime "^0.82.0" + metro-source-map "^0.82.0" nullthrows "^1.1.1" pretty-format "^29.7.0" promise "^8.3.0" From d0590b7749c99fb410cb640730212f0274e99c11 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Mon, 2 Jun 2025 22:50:59 +0530 Subject: [PATCH 02/48] Change files --- ...-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json | 7 +++++++ ...ation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json | 7 +++++++ ...-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json | 7 +++++++ ...form-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json | 7 +++++++ ...ative-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json | 7 +++++++ 5 files changed, 35 insertions(+) create mode 100644 change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json create mode 100644 change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json create mode 100644 change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json create mode 100644 change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json create mode 100644 change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json diff --git a/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json b/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json new file mode 100644 index 00000000000..a1e282f9537 --- /dev/null +++ b/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "packageName": "@office-iss/react-native-win32", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json b/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json new file mode 100644 index 00000000000..7da79a03266 --- /dev/null +++ b/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "packageName": "@react-native-windows/automation-channel", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json b/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json new file mode 100644 index 00000000000..e465ef83003 --- /dev/null +++ b/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "packageName": "@rnw-scripts/integrate-rn", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json b/change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json new file mode 100644 index 00000000000..ec42b6aeadd --- /dev/null +++ b/change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "packageName": "react-native-platform-override", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json b/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json new file mode 100644 index 00000000000..ac853506caf --- /dev/null +++ b/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "packageName": "react-native-windows", + "email": "hmalothu@microsoft.com", + "dependentChangeType": "none" +} From 93e41b1ca90d1e517ab8477b9825624455527907 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Mon, 2 Jun 2025 23:25:32 +0530 Subject: [PATCH 03/48] Fixed version in tester/package.json --- packages/@react-native-windows/tester/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 1f1ad6c49d0..cc8cca8dcbc 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -19,12 +19,12 @@ "peerDependencies": { "@react-native-picker/picker": "2.4.10", "react": "19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b", + "react-native": "0.80.0-nightly-20250317-fc7385c1e", "react-native-windows": "^0.0.0-canary.963", "react-native-xaml": "^0.0.78" }, "devDependencies": { - "@react-native/tester": "0.79.0-main", + "@react-native/tester": "0.80.0-main", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", From e1d39472b8e345afbe4f2ba540d5e0a5d8fb9031 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 00:02:18 +0530 Subject: [PATCH 04/48] Fixed version of community CLI template --- packages/@rnw-scripts/integrate-rn/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@rnw-scripts/integrate-rn/package.json b/packages/@rnw-scripts/integrate-rn/package.json index c39843d5f89..d5a88ff08e7 100644 --- a/packages/@rnw-scripts/integrate-rn/package.json +++ b/packages/@rnw-scripts/integrate-rn/package.json @@ -19,7 +19,7 @@ "integrate-rn": "./bin.js" }, "dependencies": { - "@react-native-community/template": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native-community/template": "0.78.0-nightly-2025110-200ade2", "@react-native-windows/find-repo-root": "^0.0.0-canary.94", "@react-native-windows/fs": "^0.0.0-canary.65", "@react-native-windows/package-utils": "^0.0.0-canary.91", From 6b916eb7c73594ea7ae0934af21489132e24a5cd Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 00:07:04 +0530 Subject: [PATCH 05/48] updated tester/package.json --- packages/@office-iss/react-native-win32-tester/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index b388c8e5436..b16a19fd0da 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.79.0-main", + "@react-native/tester": "0.80.0-main", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "flow-enums-runtime": "^0.0.6" From f0d579f16d7a940af6fb3cb4376f646fd6209dc6 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 11:09:56 +0530 Subject: [PATCH 06/48] updated versions --- packages/@office-iss/react-native-win32-tester/package.json | 4 ++-- .../@react-native-windows/automation-channel/package.json | 2 +- packages/@react-native-windows/tester/package.json | 2 +- packages/@react-native/monorepo/package.json | 4 ++-- packages/@react-native/tester/package.json | 4 ++-- packages/@rnw-scripts/integrate-rn/package.json | 2 +- packages/e2e-test-app-fabric/package.json | 2 +- packages/e2e-test-app/package.json | 2 +- packages/integration-test-app/package.json | 2 +- packages/playground/package.json | 2 +- .../e2etest/collateral/0.62.2/flowconfig.windows.conflict | 4 ++++ packages/sample-app-fabric/package.json | 2 +- packages/sample-apps/package.json | 2 +- packages/sample-custom-component/package.json | 2 +- .../react/renderer/css/CSSTokenizer.h | 6 ------ 15 files changed, 20 insertions(+), 22 deletions(-) diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index b16a19fd0da..df2082bbadf 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.80.0-main", + "@react-native/tester": "0.80.0-nightly-20250317-fc7385c1e", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "flow-enums-runtime": "^0.0.6" @@ -19,7 +19,7 @@ "peerDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.288", "react": "19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b" + "react-native": "0.80.0-nightly-20250317-fc7385c1e" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.288", diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 2c68b3a5189..4b6d0da9567 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -33,7 +33,7 @@ "prettier": "2.8.8", "react": "19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963", + "react-native-windows": "^0.0.0-canary.964", "typescript": "5.0.4" }, "files": [ diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 76206656756..0973d6f58d5 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -24,7 +24,7 @@ "react-native-xaml": "^0.0.78" }, "devDependencies": { - "@react-native/tester": "0.80.0-main", + "@react-native/tester": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index e72d2c89631..db55114540c 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -48,8 +48,8 @@ "@babel/preset-flow": "^7.24.7", "@definitelytyped/dtslint": "^0.0.127", "@jest/create-cache-key-function": "^29.7.0", - "@react-native/metro-babel-transformer": "0.80.0-main", - "@react-native/metro-config": "0.80.0-main", + "@react-native/metro-babel-transformer": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@tsconfig/node18": "1.0.1", "@types/react": "^19.0.0", "@typescript-eslint/parser": "^7.1.1", diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json index 83ad20a7185..66d1dd0dc39 100644 --- a/packages/@react-native/tester/package.json +++ b/packages/@react-native/tester/package.json @@ -26,8 +26,8 @@ "e2e-test-ios": "./scripts/maestro-test-ios.sh" }, "dependencies": { - "@react-native/oss-library-example": "0.80.0-main", - "@react-native/popup-menu-android": "0.80.0-main", + "@react-native/oss-library-example": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/popup-menu-android": "0.80.0-nightly-20250317-fc7385c1e", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "nullthrows": "^1.1.1" diff --git a/packages/@rnw-scripts/integrate-rn/package.json b/packages/@rnw-scripts/integrate-rn/package.json index d5a88ff08e7..5a722b00b09 100644 --- a/packages/@rnw-scripts/integrate-rn/package.json +++ b/packages/@rnw-scripts/integrate-rn/package.json @@ -19,7 +19,7 @@ "integrate-rn": "./bin.js" }, "dependencies": { - "@react-native-community/template": "0.78.0-nightly-2025110-200ade2", + "@react-native-community/template": "0.79.0-nightly-202536-45e44d1", "@react-native-windows/find-repo-root": "^0.0.0-canary.94", "@react-native-windows/fs": "^0.0.0-canary.65", "@react-native-windows/package-utils": "^0.0.0-canary.91", diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 49ac3d0777b..3e98d2316ad 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -21,7 +21,7 @@ "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963" + "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index 5660e743737..68aebabbeb5 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -21,7 +21,7 @@ "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963", + "react-native-windows": "^0.0.0-canary.964", "react-native-xaml": "^0.0.78" }, "devDependencies": { diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index 65d8ecd395e..5db6119e528 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -18,7 +18,7 @@ "chai": "^4.2.0", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963" + "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/packages/playground/package.json b/packages/playground/package.json index 3056403d58e..2777c5f2555 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963" + "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict b/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict index da1658dc3ee..06e8bd073e0 100644 --- a/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict +++ b/packages/react-native-platform-override/src/e2etest/collateral/0.62.2/flowconfig.windows.conflict @@ -85,4 +85,8 @@ untyped-import untyped-type-import [version] +<<<<<<< Upstream ^0.113.0 +======= +Conflicting edit +>>>>>>> Override diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index 3671672745e..a4cabc39c2f 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963" + "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index e55d5dda01f..288d49bde35 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963" + "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 9ea5d6a9988..9ae08b41e15 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -23,7 +23,7 @@ "@types/react": "^19.0.0", "react": "^19.0.0", "react-native": "0.80.0-nightly-20250317-fc7385c1e", - "react-native-windows": "^0.0.0-canary.963" + "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h index d78d25f513e..c0f45043227 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h @@ -137,11 +137,6 @@ class CSSTokenizer { constexpr CSSToken consumeNumber() { // https://www.w3.org/TR/css-syntax-3/#consume-number // https://www.w3.org/TR/css-syntax-3/#convert-a-string-to-a-number -<<<<<<< Upstream - - auto* b = remainingCharacters_.data(); - auto* e = b + remainingCharacters_.size(); -======= int32_t signPart = 1; // [Windows] if (peek() == '+' || peek() == '-') { if (peek() == '-') { @@ -179,7 +174,6 @@ class CSSTokenizer { } advance(); } ->>>>>>> Override float value; fast_float::parse_options options{ From 63165267f614403d66c030404b5625c5a0cf13b2 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 12:21:42 +0530 Subject: [PATCH 07/48] updated versions --- .../react-native-win32-tester/package.json | 2 +- .../@react-native-windows/tester/package.json | 2 +- packages/@react-native/tester/package.json | 1 - yarn.lock | 523 ++++++++++++++++-- 4 files changed, 472 insertions(+), 56 deletions(-) diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index df2082bbadf..3a9b9f41338 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.80.0-nightly-20250317-fc7385c1e", + "@react-native/tester": "0.80.0-main", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "flow-enums-runtime": "^0.0.6" diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 0973d6f58d5..76206656756 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -24,7 +24,7 @@ "react-native-xaml": "^0.0.78" }, "devDependencies": { - "@react-native/tester": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/tester": "0.80.0-main", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json index 66d1dd0dc39..dc4dde03cc9 100644 --- a/packages/@react-native/tester/package.json +++ b/packages/@react-native/tester/package.json @@ -26,7 +26,6 @@ "e2e-test-ios": "./scripts/maestro-test-ios.sh" }, "dependencies": { - "@react-native/oss-library-example": "0.80.0-nightly-20250317-fc7385c1e", "@react-native/popup-menu-android": "0.80.0-nightly-20250317-fc7385c1e", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", diff --git a/yarn.lock b/yarn.lock index 51bc13155f2..7f6059db0bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1083,17 +1083,6 @@ "@babel/plugin-transform-modules-commonjs" "^7.26.3" "@babel/plugin-transform-typescript" "^7.27.0" -"@babel/register@7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.5.tgz#e4d8d0f615ea3233a27b5c6ada6750ee59559939" - integrity sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ== - dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.5" - source-map-support "^0.5.16" - "@babel/register@^7.13.16", "@babel/register@^7.24.6": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.25.9.tgz#1c465acf7dc983d70ccc318eb5b887ecb04f021b" @@ -1479,7 +1468,7 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^29.2.1", "@jest/create-cache-key-function@^29.6.3", "@jest/create-cache-key-function@^29.7.0": +"@jest/create-cache-key-function@^29.2.1", "@jest/create-cache-key-function@^29.7.0": version "29.7.0" resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== @@ -1916,11 +1905,6 @@ dependencies: "@octokit/openapi-types" "^12.11.0" -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - "@puppeteer/browsers@2.4.1": version "2.4.1" resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-2.4.1.tgz#7afd271199cc920ece2ff25109278be0a3e8a225" @@ -1964,6 +1948,36 @@ execa "^5.0.0" fast-glob "^3.3.2" +"@react-native-community/cli-clean@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-17.0.0.tgz#f2c12dedc4a400ed51fbb7c6953f1ae5ae85b7ed" + integrity sha512-mQUdUDYmQ/1FeYh+bQHsflmWPXqBrxe7ixvEhUFhbYocnM8nkYHrSnq8W8V4+8C7I/3jP2VUk4q1SSxFUqk3KA== + dependencies: + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-glob "^3.3.2" + +"@react-native-community/cli-config-android@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-android/-/cli-config-android-17.0.0.tgz#e361124de00d7b4e0cdea68570806fc27760257b" + integrity sha512-XwWgcjvpjhqeUQrs04UCmmVLLMHBpsXE+CfjgGK/BPtMsaD76N5OvD94WlbQs0okVYmGngOudoE9XFb5wcnHrA== + dependencies: + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + fast-glob "^3.3.2" + fast-xml-parser "^4.4.1" + +"@react-native-community/cli-config-apple@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-apple/-/cli-config-apple-17.0.0.tgz#1fac39d2aa0df21016fd1b494bb04141c5ac4934" + integrity sha512-eMVe4aK2fsS0PcSWx7eI5snLP6J+N6jS4v625F+6K9GRzmxHF7cMFk3feFEmjreQxQm84OeZrJwnRnqhbnImIg== + dependencies: + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-glob "^3.3.2" + "@react-native-community/cli-config@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-15.0.0-alpha.2.tgz#fe535e9174593041ec0c8e6abbb9cb4127195315" @@ -1976,6 +1990,18 @@ fast-glob "^3.3.2" joi "^17.2.1" +"@react-native-community/cli-config@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-17.0.0.tgz#bc91bdc09ae625699af5f8b06b9a6faa53b2f0ca" + integrity sha512-/Wb5zNmcdY4JzHKlHUqyDRXApFYCzxdi7CUIdIFOEaRaUYoKYtp0fUq2Y+US89phLMBO8x5s2IHc6dlFnaErGg== + dependencies: + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + cosmiconfig "^9.0.0" + deepmerge "^4.3.0" + fast-glob "^3.3.2" + joi "^17.2.1" + "@react-native-community/cli-debugger-ui@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-15.0.0-alpha.2.tgz#8ee14142c270c83fb5072050cad4f97e99ec5e5a" @@ -2005,6 +2031,27 @@ wcwidth "^1.0.1" yaml "^2.2.1" +"@react-native-community/cli-doctor@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-17.0.0.tgz#520e29d813e3772cdcd2534b27f9d422556f4f13" + integrity sha512-EqzjvVm1h9qf9iL8qxWxIcgSq3X2me6N8UN/oT9apSspf8QbWu2xTQQT2kHibFt37FTUsK/v3VgPKcMLnpZdrg== + dependencies: + "@react-native-community/cli-config" "17.0.0" + "@react-native-community/cli-platform-android" "17.0.0" + "@react-native-community/cli-platform-apple" "17.0.0" + "@react-native-community/cli-platform-ios" "17.0.0" + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + command-exists "^1.2.8" + deepmerge "^4.3.0" + envinfo "^7.13.0" + execa "^5.0.0" + node-stream-zip "^1.9.1" + ora "^5.4.1" + semver "^7.5.2" + wcwidth "^1.0.1" + yaml "^2.2.1" + "@react-native-community/cli-platform-android@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-15.0.0-alpha.2.tgz#479f743086fb3c853d9a8038e26035d25776db7c" @@ -2017,6 +2064,17 @@ fast-xml-parser "^4.4.1" logkitty "^0.7.1" +"@react-native-community/cli-platform-android@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-17.0.0.tgz#9b89a6f0171005cff2161762d36e17b55cabd708" + integrity sha512-bgn7FHf45DCtm7U8ZCXt6pTZ+f+Uzg8WtYgGoXpzOtFSeXgqmeuhHRyFP2ZSeUDDSVuHsJTgxQC13A2+mUnkvQ== + dependencies: + "@react-native-community/cli-config-android" "17.0.0" + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + execa "^5.0.0" + logkitty "^0.7.1" + "@react-native-community/cli-platform-apple@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-15.0.0-alpha.2.tgz#561272ec7bf6cbedf8737cf1b71566b63e9b704b" @@ -2029,6 +2087,17 @@ fast-xml-parser "^4.4.1" ora "^5.4.1" +"@react-native-community/cli-platform-apple@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-17.0.0.tgz#bcd88cd74a2c7cd709f9f48209795cc46dacd035" + integrity sha512-2wJzZNDx3fzp0nDy/A/IKjhXrH/ouVMhEvzMD4kjbBp2v4CqASggKXcyFxqTeXccepl/anRcU0IIFlsfaNBACg== + dependencies: + "@react-native-community/cli-config-apple" "17.0.0" + "@react-native-community/cli-tools" "17.0.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.4.1" + "@react-native-community/cli-platform-ios@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-15.0.0-alpha.2.tgz#c237e561d60d3aa463d51327b37e6943910f7bb5" @@ -2036,6 +2105,13 @@ dependencies: "@react-native-community/cli-platform-apple" "15.0.0-alpha.2" +"@react-native-community/cli-platform-ios@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-17.0.0.tgz#a19130e78d7b2bb87328c233654e9c33d4507195" + integrity sha512-WV/YvMUcy/CUi4W/C8WO9wnWWOH+kIsR5Y/bFtRdsjIP0FIWncWAUi8cSyCTWW9G0rOA1Cy5afHpdE8A9G/B/w== + dependencies: + "@react-native-community/cli-platform-apple" "17.0.0" + "@react-native-community/cli-server-api@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-15.0.0-alpha.2.tgz#37dcfe41cc7204e01290c616c9262e5e71f70424" @@ -2051,6 +2127,22 @@ serve-static "^1.13.1" ws "^6.2.3" +"@react-native-community/cli-server-api@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-17.0.0.tgz#a1f8fa5281c22d436cdf24fddc4b591186ca59c4" + integrity sha512-D4LILojRwbtsSAoV6Db6Fp7/FJ+mIeaKHlGmr5AZrelge/0u5quj2JQo2VS+TM5+9rvJOezVsd8k2VYX/ByccQ== + dependencies: + "@react-native-community/cli-tools" "17.0.0" + body-parser "^1.20.3" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.1" + nocache "^3.0.1" + open "^6.2.0" + pretty-format "^26.6.2" + serve-static "^1.13.1" + ws "^6.2.3" + "@react-native-community/cli-tools@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-15.0.0-alpha.2.tgz#0c02c61a30730814925d6c1e08d43b57ec083f24" @@ -2067,6 +2159,22 @@ shell-quote "^1.7.3" sudo-prompt "^9.0.0" +"@react-native-community/cli-tools@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-17.0.0.tgz#c46bae5e5ffeee7067d0e55d2ee1de128e310ac3" + integrity sha512-mVXH7U/uXd7yizqm2iE+W4SSVc4FGYYEafAu29HihA+FHttonqdg35zVAnIX2FKbyla+TotR1ACNSgo7KFDq+w== + dependencies: + "@vscode/sudo-prompt" "^9.0.0" + appdirsjs "^1.2.4" + chalk "^4.1.2" + execa "^5.0.0" + find-up "^5.0.0" + launch-editor "^2.9.1" + mime "^2.4.1" + ora "^5.4.1" + prompts "^2.4.2" + semver "^7.5.2" + "@react-native-community/cli-types@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-15.0.0-alpha.2.tgz#12d62c7e928115758bbb7de6ded3d21a57dbb7b9" @@ -2074,6 +2182,13 @@ dependencies: joi "^17.2.1" +"@react-native-community/cli-types@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-17.0.0.tgz#954c8a555fe8be0fabf6420fc4f06daa30ec6283" + integrity sha512-NMOHp+PsA6WF4eCY+06U9X1VU4cjwKPzjbid3hzAQL9OwwcKQVqHTBjAU8xvVPGFQHWz8P/ZwpAwm2TT0k7jrA== + dependencies: + joi "^17.2.1" + "@react-native-community/cli@15.0.0-alpha.2": version "15.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-15.0.0-alpha.2.tgz#e465127a176a9eac3f0c1e4a16bd1830627fbbfb" @@ -2096,10 +2211,31 @@ prompts "^2.4.2" semver "^7.5.2" -"@react-native-community/template@0.78.0-nightly-2025110-200ade2": - version "0.78.0-nightly-2025110-200ade2" - resolved "https://registry.yarnpkg.com/@react-native-community/template/-/template-0.78.0-nightly-2025110-200ade2.tgz#cd1a2a8a43018b57af180bdd1c8abe7d0af5e47b" - integrity sha512-fJLD2X5NPSosyn1cD52D0LgfSxqrHWyEmJep837YbSbcJsur6R6PSlv8ia/Z+3e7KN3LAaegzBaZ1gyZUzVb2w== +"@react-native-community/cli@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-17.0.0.tgz#457ab42611ff1193968415e8731c2c3d283b213e" + integrity sha512-c2SiCEGh0rK3BgCfTmWon968LJuJhWc3ZhDNh5MGvaMk0RuYt2K5MSXbSQ5kaRI1xdgzhXteDnoQlDp1PnyejQ== + dependencies: + "@react-native-community/cli-clean" "17.0.0" + "@react-native-community/cli-config" "17.0.0" + "@react-native-community/cli-doctor" "17.0.0" + "@react-native-community/cli-server-api" "17.0.0" + "@react-native-community/cli-tools" "17.0.0" + "@react-native-community/cli-types" "17.0.0" + chalk "^4.1.2" + commander "^9.4.1" + deepmerge "^4.3.0" + execa "^5.0.0" + find-up "^5.0.0" + fs-extra "^8.1.0" + graceful-fs "^4.1.3" + prompts "^2.4.2" + semver "^7.5.2" + +"@react-native-community/template@0.79.0-nightly-202536-45e44d1": + version "0.79.0-nightly-202536-45e44d1" + resolved "https://registry.yarnpkg.com/@react-native-community/template/-/template-0.79.0-nightly-202536-45e44d1.tgz#4dcfd523ff31ac3d28db1aed991b834fc04d90eb" + integrity sha512-PNMFXGQ+kl5Te3xEoIx9fwXAYwgNxy7sYIXVByrytV4S8AIzKDXOQdkM3S7CnpADykB4GdSO6GrpEz5gvu7Hrw== "@react-native-picker/picker@^2.5.1": version "2.11.0" @@ -2129,6 +2265,14 @@ "@babel/traverse" "^7.25.3" "@react-native/codegen" "0.79.0-nightly-20250303-cee63397b" +"@react-native/babel-plugin-codegen@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0-nightly-20250317-fc7385c1e.tgz#9b850531cd98f61b81695e565f5e9cf0925b713c" + integrity sha512-f+MgbLl+CReAnD8XlAqp/8Uxv5EateuvidhEgouOjt6N8e/JAFt7dCd8uDhrKOM0xuuzYCvhOxZtnDvMhU2Now== + dependencies: + "@babel/traverse" "^7.25.3" + "@react-native/codegen" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/babel-preset@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.79.0-nightly-20250303-cee63397b.tgz#cbe7d5d192f6f0e77488fa7a70b9860dd5a86966" @@ -2180,6 +2324,57 @@ babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" +"@react-native/babel-preset@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0-nightly-20250317-fc7385c1e.tgz#078fb221a1a74c04e4dc03b45e0f432e4dbd2e00" + integrity sha512-JcDp9L9vVBhegZq6FLFG9WmQGyi43+1EWBFXkAJTGuGzx93zEORhEVjdye/CgwTX4hVKd09o2NeQ289wFekBSQ== + dependencies: + "@babel/core" "^7.25.2" + "@babel/plugin-proposal-export-default-from" "^7.24.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-default-from" "^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.4" + "@babel/plugin-transform-async-to-generator" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.25.0" + "@babel/plugin-transform-class-properties" "^7.25.4" + "@babel/plugin-transform-classes" "^7.25.4" + "@babel/plugin-transform-computed-properties" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.8" + "@babel/plugin-transform-flow-strip-types" "^7.25.2" + "@babel/plugin-transform-for-of" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.25.1" + "@babel/plugin-transform-literals" "^7.25.2" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" + "@babel/plugin-transform-numeric-separator" "^7.24.7" + "@babel/plugin-transform-object-rest-spread" "^7.24.7" + "@babel/plugin-transform-optional-catch-binding" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.8" + "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/plugin-transform-private-methods" "^7.24.7" + "@babel/plugin-transform-private-property-in-object" "^7.24.7" + "@babel/plugin-transform-react-display-name" "^7.24.7" + "@babel/plugin-transform-react-jsx" "^7.25.2" + "@babel/plugin-transform-react-jsx-self" "^7.24.7" + "@babel/plugin-transform-react-jsx-source" "^7.24.7" + "@babel/plugin-transform-regenerator" "^7.24.7" + "@babel/plugin-transform-runtime" "^7.24.7" + "@babel/plugin-transform-shorthand-properties" "^7.24.7" + "@babel/plugin-transform-spread" "^7.24.7" + "@babel/plugin-transform-sticky-regex" "^7.24.7" + "@babel/plugin-transform-typescript" "^7.25.2" + "@babel/plugin-transform-unicode-regex" "^7.24.7" + "@babel/template" "^7.25.0" + "@react-native/babel-plugin-codegen" "0.80.0-nightly-20250317-fc7385c1e" + babel-plugin-syntax-hermes-parser "0.25.1" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.14.0" + "@react-native/codegen@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.79.0-nightly-20250303-cee63397b.tgz#14e2ef8ca15c7d917a650583b234748e3ab5f38d" @@ -2329,6 +2524,16 @@ hermes-parser "0.25.1" nullthrows "^1.1.1" +"@react-native/metro-babel-transformer@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0-nightly-20250317-fc7385c1e.tgz#e01d877f40182c5d82c4e60d6247c232afb7b183" + integrity sha512-My/mmJEQWVaxo35D01rbJeDs8TwOuNw90IHhAxBprOMPZKb65a/RBk+6DmSN+n3Z15C1kS4eLZ1lfabMPte/RQ== + dependencies: + "@babel/core" "^7.25.2" + "@react-native/babel-preset" "0.80.0-nightly-20250317-fc7385c1e" + hermes-parser "0.25.1" + nullthrows "^1.1.1" + "@react-native/metro-config@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.79.0-nightly-20250303-cee63397b.tgz#5f709afb51fa2732dac79288a28c0ce35fab3729" @@ -2339,6 +2544,16 @@ metro-config "^0.81.0" metro-runtime "^0.81.0" +"@react-native/metro-config@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0-nightly-20250317-fc7385c1e.tgz#da0f71924a569709a0ca20b183db868ef19d73c3" + integrity sha512-XKcW+Rp+02vy6P5CI+877mlB877/oBf4HZPY/zjJx5arDxR0NzaQSPWXfB9MIMYbIv+3RoH4/nEZ6UeSZ7qAUg== + dependencies: + "@react-native/js-polyfills" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/metro-babel-transformer" "0.80.0-nightly-20250317-fc7385c1e" + metro-config "^0.82.0" + metro-runtime "^0.82.0" + "@react-native/normalize-colors@0.79.0-nightly-20250303-cee63397b": version "0.79.0-nightly-20250303-cee63397b" resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.79.0-nightly-20250303-cee63397b.tgz#39ab0aae6aa677d9bedbfd63696a20d2e591f622" @@ -2349,10 +2564,10 @@ resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250317-fc7385c1e.tgz#9192423f143ba416287e895b91a0e6dc2b178f9c" integrity sha512-8mqZH9FG0wmBzEIH8OFTKcxXpUm4k7r5HStTxqAztxTjpTfRvJTLKxB9DcPukGAsdRkMSBAPKgxjWV+zREEVYA== -"@react-native/popup-menu-android@0.79.0-nightly-20250123-d1028885e": - version "0.79.0-nightly-20250123-d1028885e" - resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.79.0-nightly-20250123-d1028885e.tgz#d7f5ed675e66bee93b2d4580bc17ff21c3e3c167" - integrity sha512-APMAasySWMiPgkFbTDJZpVF6eJFwIVzoQqQ2oSDWH9IZ3dGnr7wZUW4IH2DKqwpNHZqYup7QPQMG+q627FqFtA== +"@react-native/popup-menu-android@0.80.0-nightly-20250317-fc7385c1e": + version "0.80.0-nightly-20250317-fc7385c1e" + resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.80.0-nightly-20250317-fc7385c1e.tgz#9c3162c6d0e3e62e17969fdf227c538a32cc288a" + integrity sha512-HUWs9TQgD92Z2ARm5/ynK63PnMiGTKtnJtG+MPyVmyULDyOu57zdJMsCUJzFRe4696iVVvM2THSUU4n7ySDStQ== dependencies: nullthrows "^1.1.1" @@ -3300,6 +3515,11 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@vscode/sudo-prompt@^9.0.0": + version "9.3.1" + resolved "https://registry.yarnpkg.com/@vscode/sudo-prompt/-/sudo-prompt-9.3.1.tgz#c562334bc6647733649fd42afc96c0eea8de3b65" + integrity sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA== + "@vue/compiler-core@3.5.12": version "3.5.12" resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.12.tgz#bd70b7dabd12b0b6f31bc53418ba3da77994c437" @@ -4038,13 +4258,6 @@ babel-plugin-replace-ts-export-assignment@^0.0.2: resolved "https://registry.yarnpkg.com/babel-plugin-replace-ts-export-assignment/-/babel-plugin-replace-ts-export-assignment-0.0.2.tgz#927a30ba303fcf271108980a8d4f80a693e1d53f" integrity sha512-BiTEG2Ro+O1spuheL5nB289y37FFmz0ISE6GjpNCG2JuA/WNcuEHSYw01+vN8quGf208sID3FnZFDwVyqX18YQ== -babel-plugin-syntax-hermes-parser@0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.24.0.tgz#79d0c73daae7bd7d4b07f64ee281c75aa48845cf" - integrity sha512-J4wETqz7ehbyYl2uge65zsfr0Ue+0yJYYMMkGAWpZc0fB02z4JAcx+mJEXVU14yiihGwqVUlR7oS4/gDYOxUdA== - dependencies: - hermes-parser "0.24.0" - babel-plugin-syntax-hermes-parser@0.25.1: version "0.25.1" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz#58b539df973427fcfbb5176a3aec7e5dee793cb0" @@ -4052,6 +4265,13 @@ babel-plugin-syntax-hermes-parser@0.25.1: dependencies: hermes-parser "0.25.1" +babel-plugin-syntax-hermes-parser@0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz#9e80a774ddb8038307a62316486669c668fb3568" + integrity sha512-meT17DOuUElMNsL5LZN56d+KBp22hb0EfxWfuPUeoSi54e40v1W4C2V36P75FpsH9fVEfDKpw5Nnkahc8haSsQ== + dependencies: + hermes-parser "0.28.1" + babel-plugin-transform-define@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-define/-/babel-plugin-transform-define-2.1.4.tgz#8f7088211176a55a72788d584ceea9f691a021c1" @@ -4202,6 +4422,24 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +body-parser@^1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -4333,6 +4571,14 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" @@ -4344,6 +4590,24 @@ call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: get-intrinsic "^1.2.4" set-function-length "^1.2.1" +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -4862,6 +5126,11 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -5080,6 +5349,18 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" +deep-equal@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5281,6 +5562,15 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -5469,6 +5759,11 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" @@ -5502,6 +5797,13 @@ es-object-atoms@^1.0.0: dependencies: es-errors "^1.3.0" +es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + es-set-tostringtag@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" @@ -6244,10 +6546,10 @@ flow-bin@^0.261.2: resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.261.2.tgz#8558c965950f8e38872ea21f66bf04932da2380b" integrity sha512-lTYA05K4obAjyrrX4in3sLZyAECSFCDwQiGpZHJLm8ldCk+qcW11Wcxq/CdvyQAOPR7Kpb5BPRSaj4hwEXIAUw== -flow-bin@^0.262.0: - version "0.262.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.262.0.tgz#612f7cb96c51d9fe7e6819ab9d582f19e5674554" - integrity sha512-B7l0NcpQ3uZuaWs07aQCjG+8fcxF/awbEmuf1p/6a/ZnQjPBB5uIzWmTuxdnrQns5/2orCpC37k9FJuRP7Aj3g== +flow-bin@^0.265.2: + version "0.265.3" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.265.3.tgz#cbaad2115f4622e34920981dc79949824c27f421" + integrity sha512-08PjO2kjuQxy8MxYJNCzmgRpAe1uqTf7kQ+U32QTavRzTD/7IJASYKFEEvCkVNHlhSy8CTJsN+AQdHsXVqChIw== flow-enums-runtime@^0.0.6: version "0.0.6" @@ -6456,6 +6758,22 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" +get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + get-monorepo-packages@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-monorepo-packages/-/get-monorepo-packages-1.3.0.tgz#4fd82bff2290765b9ef2e08856c9f1e63f21b5eb" @@ -6474,6 +6792,14 @@ get-port@^5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -6665,6 +6991,11 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + got@^11.0.2: version "11.8.6" resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" @@ -6759,6 +7090,11 @@ has-symbols@^1.0.2, has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" @@ -7017,7 +7353,7 @@ husky@^4.2.5: slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -7173,6 +7509,14 @@ ip-address@^9.0.5: jsbn "1.1.0" sprintf-js "^1.1.3" +is-arguments@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" @@ -7363,6 +7707,16 @@ is-primitive@^3.0.1: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-3.0.1.tgz#98c4db1abff185485a657fc2905052b940524d05" integrity sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w== +is-regex@^1.0.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -8297,6 +8651,14 @@ last-run@^2.0.0: resolved "https://registry.yarnpkg.com/last-run/-/last-run-2.0.0.tgz#f82dcfbfce6e63d041bd83d64c82e34cdba6572e" integrity sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ== +launch-editor@^2.9.1: + version "2.10.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + lazystream@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" @@ -8649,6 +9011,16 @@ marky@^1.2.2: resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.5.tgz#55796b688cbd72390d2d399eaaf1832c9413e3c0" integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + mem@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -8682,19 +9054,19 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -metro-babel-register@^0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.81.0.tgz#05e9deda5633e38aceb7120b1865cbbc63c5b8ef" - integrity sha512-CU9D49k9ti02ebHXuYlbDNPdBj0C4SnCDIGk328epmcO0p++WzFSWWO92cGc7i0HqKyzgeMskPGJV825Eh7zSg== +metro-babel-register@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.82.4.tgz#39322d00c58b0df6f647b7deb7a018aafc74770f" + integrity sha512-xLVgl8x3rv5rlOnaRmJsNBM8ezkPDfazulRRFgUK3WZE1ZAHLjgMGgJQJa/mPxNVglvQ0KAYZxfBzJ9UY2U33A== dependencies: "@babel/core" "^7.25.2" "@babel/plugin-proposal-export-namespace-from" "^7.18.9" "@babel/plugin-transform-flow-strip-types" "^7.25.2" "@babel/plugin-transform-modules-commonjs" "^7.24.8" "@babel/preset-typescript" "^7.24.7" - "@babel/register" "7.22.5" + "@babel/register" "^7.24.6" babel-plugin-replace-ts-export-assignment "^0.0.2" - babel-plugin-syntax-hermes-parser "0.24.0" + babel-plugin-syntax-hermes-parser "0.28.1" babel-plugin-transform-flow-enums "^0.0.2" escape-string-regexp "^1.0.5" flow-enums-runtime "^0.0.6" @@ -8832,10 +9204,10 @@ metro-file-map@0.82.4: nullthrows "^1.1.1" walker "^1.0.7" -metro-memory-fs@^0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-memory-fs/-/metro-memory-fs-0.81.0.tgz#f11ac95bb294f3fd4c933cf93ab9ee6da626d352" - integrity sha512-hbmyOuVigPU81Kd+CUCq7tXgEkrHmteWG1WJHTEwldoLHuYUzSeaoE8LlLUbqPF+OPW0asYx/cTDrfNM8KCuqw== +metro-memory-fs@^0.82.0: + version "0.82.4" + resolved "https://registry.yarnpkg.com/metro-memory-fs/-/metro-memory-fs-0.82.4.tgz#4be4e9ec6317ed482fd553d7f666ac306a6f4b6f" + integrity sha512-IyCnG2MKNs2vUBX3YbTBEmYCTfrGUySkcDAdcstPPU9vuYl1v+X/btuUi7VEGocIZ9k/jkmy+Fnke9pPakzLcA== dependencies: flow-enums-runtime "^0.0.6" @@ -8978,7 +9350,7 @@ metro-symbolicate@0.82.4: source-map "^0.5.6" vlq "^1.0.0" -metro-transform-plugins@0.81.0, metro-transform-plugins@^0.81.0: +metro-transform-plugins@0.81.0: version "0.81.0" resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.81.0.tgz#614c0e50593df545487b3f3383fed810c608fb32" integrity sha512-uErLAPBvttGCrmGSCa0dNHlOTk3uJFVEVWa5WDg6tQ79PRmuYRwzUgLhVzn/9/kyr75eUX3QWXN79Jvu4txt6Q== @@ -8990,7 +9362,7 @@ metro-transform-plugins@0.81.0, metro-transform-plugins@^0.81.0: flow-enums-runtime "^0.0.6" nullthrows "^1.1.1" -metro-transform-plugins@0.82.4: +metro-transform-plugins@0.82.4, metro-transform-plugins@^0.82.0: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.4.tgz#9d3bb855126e0a63ac2ccf012ed2bc7829209e8c" integrity sha512-NoWQRPHupVpnDgYguiEcm7YwDhnqW02iWWQjO2O8NsNP09rEMSq99nPjARWfukN7+KDh6YjLvTIN20mj3dk9kw== @@ -9152,7 +9524,7 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -9580,6 +9952,14 @@ object-inspect@^1.13.1: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== +object-is@^1.0.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -10011,7 +10391,7 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pirates@^4.0.4, pirates@^4.0.5, pirates@^4.0.6: +pirates@^4.0.4, pirates@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== @@ -10267,6 +10647,13 @@ qrcode@^1.5.0: pngjs "^5.0.0" yargs "^15.3.1" +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -10299,6 +10686,16 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + react-clone-referenced-element@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.1.1.tgz#8d76727dc0459788e461741e804a512d20757381" @@ -10540,6 +10937,18 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" +regexp.prototype.flags@^1.2.0: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + regexp.prototype.flags@^1.5.2: version "1.5.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" @@ -10946,7 +11355,7 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1: +set-function-length@^1.2.1, set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -11814,6 +12223,14 @@ type-fest@^4.39.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.40.0.tgz#62bc09caccb99a75e1ad6b9b4653e8805e5e1eee" integrity sha512-ABHZ2/tS2JkvH1PEjxFDTUWC8dB5OsIGZP4IFLhR293GqT5Y5qB1WwL2kMPYhQW9DVgVD8Hd7I8gjwPIf5GFkw== +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" @@ -12009,7 +12426,7 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@~1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== From 9b577cd9bc929a04965896af07827ecd9fe2cf37 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 14:14:25 +0530 Subject: [PATCH 08/48] Updated windows.js file --- .../src-win/Libraries/Components/TextInput/TextInput.windows.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index 4e0d970bd65..c4aff553126 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -549,7 +549,6 @@ export type TextInputAndroidProps = $ReadOnly<{ underlineColorAndroid?: ?ColorValue, }>; -type TextInputBaseProps = $ReadOnly<{ // [Windows type SubmitKeyEvent = $ReadOnly<{| @@ -609,6 +608,7 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] +type TextInputBaseProps = $ReadOnly<{ /** * Can tell `TextInput` to automatically capitalize certain characters. * From 418fff63527a33b0a511d826b27cb5c25f7453c3 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 15:35:22 +0530 Subject: [PATCH 09/48] updates txtinput.js file --- .../Libraries/Components/TextInput/TextInput.windows.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index c4aff553126..b60d6bdae39 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -609,6 +609,15 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] type TextInputBaseProps = $ReadOnly<{ + + /** + * String to be read by screenreaders to indicate an error state. The acceptable parameters + * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates + * the error message. Setting accessibilityInvalid to false removes the error message. + */ + accessibilityErrorMessage?: ?Stringish, + accessibilityInvalid?: ?boolean, + /** * Can tell `TextInput` to automatically capitalize certain characters. * From c7de3a5552d8ac14992fad561adfb381acab2dc6 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 17:58:53 +0530 Subject: [PATCH 10/48] updated vcxproj file --- vnext/ReactCommon/ReactCommon.vcxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vnext/ReactCommon/ReactCommon.vcxproj b/vnext/ReactCommon/ReactCommon.vcxproj index 6164251f380..b493506ad92 100644 --- a/vnext/ReactCommon/ReactCommon.vcxproj +++ b/vnext/ReactCommon/ReactCommon.vcxproj @@ -121,6 +121,7 @@ + @@ -182,6 +183,7 @@ + Create From ba24ca54a1af7700566fa2ec28132bc263956801 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 23:04:48 +0530 Subject: [PATCH 11/48] Fixed build errors --- vnext/Shared/Shared.vcxitems | 1 + vnext/Shared/Shared.vcxitems.filters | 1 + vnext/stubs/double-conversion/double-conversion.h | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/vnext/Shared/Shared.vcxitems b/vnext/Shared/Shared.vcxitems index 0bb372c02b3..eac731ab7c8 100644 --- a/vnext/Shared/Shared.vcxitems +++ b/vnext/Shared/Shared.vcxitems @@ -555,6 +555,7 @@ + diff --git a/vnext/Shared/Shared.vcxitems.filters b/vnext/Shared/Shared.vcxitems.filters index 26156838da0..a36a5684a90 100644 --- a/vnext/Shared/Shared.vcxitems.filters +++ b/vnext/Shared/Shared.vcxitems.filters @@ -343,6 +343,7 @@ + diff --git a/vnext/stubs/double-conversion/double-conversion.h b/vnext/stubs/double-conversion/double-conversion.h index 4c91cf68cb8..e57165d67a5 100644 --- a/vnext/stubs/double-conversion/double-conversion.h +++ b/vnext/stubs/double-conversion/double-conversion.h @@ -25,10 +25,12 @@ class StringBuilder { return m_ss.str().length(); } - void Finalize() { + char* Finalize() { std::string str = m_ss.str(); memcpy(m_buffer, str.c_str(), str.length()); - } + m_buffer[str.length()] = '\0'; // IMPORTANT: Add null terminator + return m_buffer; // Returns char* that will convert to std::string +} char *m_buffer; std::stringstream m_ss; From 5dfcbbb0b4272e326902fa26ec06a1e9fc0b189b Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 3 Jun 2025 23:48:42 +0530 Subject: [PATCH 12/48] Fixed build errors --- .../Fabric/AbiComponentDescriptor.cpp | 6 ------ vnext/stubs/double-conversion/double-conversion.h | 8 ++++---- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/vnext/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp b/vnext/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp index 3de025771cf..0c440fc3cad 100644 --- a/vnext/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +++ b/vnext/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp @@ -89,12 +89,6 @@ facebook::react::Props::Shared AbiComponentDescriptor::cloneProps( return ShadowNodeT::defaultSharedProps(); } - if constexpr (std::is_base_of_v) { - if (facebook::react::ReactNativeFeatureFlags::excludeYogaFromRawProps()) { - rawProps.filterYogaStylePropsInDynamicConversion(); - } - } - rawProps.parse(rawPropsParser_); // Call old-style constructor diff --git a/vnext/stubs/double-conversion/double-conversion.h b/vnext/stubs/double-conversion/double-conversion.h index e57165d67a5..df66e9160d2 100644 --- a/vnext/stubs/double-conversion/double-conversion.h +++ b/vnext/stubs/double-conversion/double-conversion.h @@ -25,12 +25,12 @@ class StringBuilder { return m_ss.str().length(); } - char* Finalize() { + char *Finalize() { std::string str = m_ss.str(); memcpy(m_buffer, str.c_str(), str.length()); - m_buffer[str.length()] = '\0'; // IMPORTANT: Add null terminator - return m_buffer; // Returns char* that will convert to std::string -} + m_buffer[str.length()] = '\0'; // IMPORTANT: Add null terminator + return m_buffer; // Returns char* that will convert to std::string + } char *m_buffer; std::stringstream m_ss; From eba5b39f392bc78c9c25a62afa7f8c8975500fb0 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Wed, 4 Jun 2025 14:53:36 +0530 Subject: [PATCH 13/48] updated yarn.lock --- yarn.lock | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index ed7f3aef2bc..3e9f2e5e9dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10361,7 +10361,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -10910,12 +10910,17 @@ regenerator-runtime@^0.13.2: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== +regexp.prototype.flags@^1.2.0: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - "@babel/runtime" "^7.8.4" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" regexp.prototype.flags@^1.5.2: version "1.5.3" From 99978fbf060e6634a7e538bde4efbeefcde03cf2 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Wed, 4 Jun 2025 15:14:13 +0530 Subject: [PATCH 14/48] Removed external file reference --- .../react/renderer/css/CSSTokenizer.h | 1 - 1 file changed, 1 deletion(-) diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h index c0f45043227..87958e59ca6 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h @@ -10,7 +10,6 @@ #include #include -#include #include namespace facebook::react { From 4a9228e76af6b71a6e279040a53ad5140c377d6f Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Wed, 4 Jun 2025 22:20:06 +0530 Subject: [PATCH 15/48] Reverted CSS Tokenizer.h file --- .../react/renderer/css/CSSTokenizer.h | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h index 87958e59ca6..7e8e799df20 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h @@ -174,18 +174,22 @@ class CSSTokenizer { advance(); } + while (isDigit(peek())) { + exponentPart = exponentPart * 10 + (peek() - '0'); + advance(); + } + } float value; - fast_float::parse_options options{ - fast_float::chars_format::general | - fast_float::chars_format::allow_leading_plus}; - auto [ptr, ec] = fast_float::from_chars_advanced(b, e, value, options); - - // Do we need to handle any other errors? - // bool isOk = ec == std::errc(); + if (exponentPart == 0 && fractionalPart == 0) { + value = static_cast(signPart * intPart); + } else { + value = static_cast( + signPart * + (intPart + (fractionalPart * std::pow(10, -fractionDigits))) * + std::pow(10, exponentSign * exponentPart)); + } - position_ += ptr - b; consumeRunningValue(); - return {CSSTokenType::Number, value}; } @@ -270,4 +274,4 @@ class CSSTokenizer { std::string_view remainingCharacters_; size_t position_{0}; }; -} // namespace facebook::react +} // namespace facebook::react \ No newline at end of file From 6bd9caa6c26bccef072cf045070a6a66e0ec4afc Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 4 Jun 2025 14:59:37 -0700 Subject: [PATCH 16/48] Save State: Fix FastFloat Import --- vnext/ReactCommon/ReactCommon.vcxproj | 2 + .../react/renderer/css/CSSTokenizer.h | 46 ++----------------- 2 files changed, 7 insertions(+), 41 deletions(-) diff --git a/vnext/ReactCommon/ReactCommon.vcxproj b/vnext/ReactCommon/ReactCommon.vcxproj index b493506ad92..f9d3678a25f 100644 --- a/vnext/ReactCommon/ReactCommon.vcxproj +++ b/vnext/ReactCommon/ReactCommon.vcxproj @@ -71,6 +71,7 @@ $(ReactNativeWindowsDir)stubs; $(ReactNativeWindowsDir)\Shared\tracing; + $(FollyDir)\..\..\fast_float-6.1.4\include; %(AdditionalIncludeDirectories); _WIN32;_CRT_SECURE_NO_WARNINGS;FOLLY_CFG_NO_COROUTINES;FOLLY_NO_CONFIG;NOMINMAX;RN_EXPORT=;JSI_EXPORT=;WIN32;_WINDLL;%(PreprocessorDefinitions) @@ -278,6 +279,7 @@ + diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h index c0f45043227..c70c853a710 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include namespace facebook::react { @@ -137,48 +137,12 @@ class CSSTokenizer { constexpr CSSToken consumeNumber() { // https://www.w3.org/TR/css-syntax-3/#consume-number // https://www.w3.org/TR/css-syntax-3/#convert-a-string-to-a-number - int32_t signPart = 1; // [Windows] - if (peek() == '+' || peek() == '-') { - if (peek() == '-') { - signPart = -1; // [Windows] - } - advance(); - } - - double intPart = 0; - while (isDigit(peek())) { - intPart = intPart * 10 + (peek() - '0'); - advance(); - } - - double fractionalPart = 0; - int32_t fractionDigits = 0; - if (peek() == '.') { - advance(); - while (isDigit(peek())) { - fractionalPart = fractionalPart * 10 + (peek() - '0'); - fractionDigits++; - advance(); - } - } - - int32_t exponentSign = 1; // [Windows] - double exponentPart = 0; - if ((peek() == 'e' || peek() == 'E') && - (isDigit(peek(1)) || - ((peek(1) == '+' || peek(1) == '-') && isDigit(peek(2))))) { - advance(); - if (peek() == '+' || peek() == '-') { - if (peek() == '-') { - exponentSign = -1; // [Windows] - } - advance(); - } + auto* b = remainingCharacters_.data(); + auto* e = b + remainingCharacters_.size(); float value; fast_float::parse_options options{ - fast_float::chars_format::general | - fast_float::chars_format::allow_leading_plus}; + fast_float::chars_format::general}; auto [ptr, ec] = fast_float::from_chars_advanced(b, e, value, options); // Do we need to handle any other errors? @@ -271,4 +235,4 @@ class CSSTokenizer { std::string_view remainingCharacters_; size_t position_{0}; }; -} // namespace facebook::react +} // namespace facebook::react \ No newline at end of file From e918f12255a36766eb73bdd8a019d8bc16be734d Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 4 Jun 2025 15:29:36 -0700 Subject: [PATCH 17/48] Remove Unneeded --- vnext/ReactCommon/ReactCommon.vcxproj | 1 - 1 file changed, 1 deletion(-) diff --git a/vnext/ReactCommon/ReactCommon.vcxproj b/vnext/ReactCommon/ReactCommon.vcxproj index f9d3678a25f..9ab2bed76bf 100644 --- a/vnext/ReactCommon/ReactCommon.vcxproj +++ b/vnext/ReactCommon/ReactCommon.vcxproj @@ -71,7 +71,6 @@ $(ReactNativeWindowsDir)stubs; $(ReactNativeWindowsDir)\Shared\tracing; - $(FollyDir)\..\..\fast_float-6.1.4\include; %(AdditionalIncludeDirectories); _WIN32;_CRT_SECURE_NO_WARNINGS;FOLLY_CFG_NO_COROUTINES;FOLLY_NO_CONFIG;NOMINMAX;RN_EXPORT=;JSI_EXPORT=;WIN32;_WINDLL;%(PreprocessorDefinitions) From 6cbeb686d315b83705260d70bf69e8346f48524d Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 4 Jun 2025 16:29:16 -0700 Subject: [PATCH 18/48] Package.json Updates --- .../react-native-win32/package.json | 26 +- .../automation-channel/package.json | 4 +- .../@react-native-windows/cli/package.json | 6 +- .../babel-react-native-config/package.json | 6 +- .../metro-dev-config/package.json | 4 +- packages/e2e-test-app-fabric/package.json | 6 +- packages/e2e-test-app/package.json | 6 +- packages/integration-test-app/package.json | 6 +- packages/playground/package.json | 6 +- packages/sample-app-fabric/package.json | 6 +- packages/sample-apps/package.json | 6 +- packages/sample-custom-component/package.json | 6 +- vnext/package.json | 30 +- yarn.lock | 613 +----------------- 14 files changed, 72 insertions(+), 659 deletions(-) diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index d18b719de09..9d3c17b40b6 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -26,17 +26,17 @@ "dependencies": { "@babel/runtime": "^7.0.0", "@jest/create-cache-key-function": "^29.7.0", - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native-community/cli-platform-android": "15.0.0-alpha.2", - "@react-native-community/cli-platform-ios": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", + "@react-native-community/cli-platform-android": "17.0.0", + "@react-native-community/cli-platform-ios": "17.0.0", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.79.0-nightly-20250303-cee63397b", - "@react-native/codegen": "0.79.0-nightly-20250303-cee63397b", - "@react-native/community-cli-plugin": "0.79.0-nightly-20250303-cee63397b", - "@react-native/gradle-plugin": "0.79.0-nightly-20250303-cee63397b", - "@react-native/js-polyfills": "0.79.0-nightly-20250303-cee63397b", - "@react-native/normalize-colors": "0.79.0-nightly-20250303-cee63397b", - "@react-native/virtualized-lists": "0.79.0-nightly-20250303-cee63397b", + "@react-native/assets-registry": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/codegen": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/community-cli-plugin": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/gradle-plugin": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/js-polyfills": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/normalize-colors": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/virtualized-lists": "0.80.0-nightly-20250317-fc7385c1e", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -72,7 +72,7 @@ "devDependencies": { "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.25.1", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.40", @@ -95,7 +95,7 @@ "peerDependencies": { "@types/react": "^19.0.0", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b" + "react-native": "0.80.0-nightly-20250317-fc7385c1e" }, "beachball": { "defaultNpmTag": "canary", @@ -112,4 +112,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 4b6d0da9567..35580141005 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -22,7 +22,7 @@ "jsonrpc-lite": "^2.2.0" }, "devDependencies": { - "@react-native-community/cli": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", "@rnw-scripts/ts-config": "2.0.5", @@ -44,4 +44,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/@react-native-windows/cli/package.json b/packages/@react-native-windows/cli/package.json index d5b0acea29b..419750b1a02 100644 --- a/packages/@react-native-windows/cli/package.json +++ b/packages/@react-native-windows/cli/package.json @@ -40,8 +40,8 @@ "xpath": "^0.0.27" }, "devDependencies": { - "@react-native-community/cli-doctor": "15.0.0-alpha.2", - "@react-native-community/cli-types": "15.0.0-alpha.2", + "@react-native-community/cli-doctor": "17.0.0", + "@react-native-community/cli-types": "17.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/jest-unittest-config": "1.5.11", "@rnw-scripts/just-task": "2.3.53", @@ -88,4 +88,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/@rnw-scripts/babel-react-native-config/package.json b/packages/@rnw-scripts/babel-react-native-config/package.json index 4c1e4083f26..92cd81e0f76 100644 --- a/packages/@rnw-scripts/babel-react-native-config/package.json +++ b/packages/@rnw-scripts/babel-react-native-config/package.json @@ -11,16 +11,16 @@ }, "dependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.79.0-nightly-20250303-cee63397b", + "@react-native/babel-preset": "0.80.0-nightly-20250317-fc7385c1e", "babel-plugin-transform-flow-enums": "^0.0.2" }, "devDependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.79.0-nightly-20250303-cee63397b", + "@react-native/babel-preset": "0.80.0-nightly-20250317-fc7385c1e", "eslint": "^8.19.0", "prettier": "2.8.8" }, "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/@rnw-scripts/metro-dev-config/package.json b/packages/@rnw-scripts/metro-dev-config/package.json index 92ac2e0b2a2..5f07d38d342 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.79.0-nightly-20250303-cee63397b", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnx-kit/metro-config": "^1.3.5", "@rnx-kit/metro-plugin-duplicates-checker": "^2.1.0", "@rnx-kit/metro-serializer": "^1.0.11", @@ -33,4 +33,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 3e98d2316ad..e8707075488 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -29,10 +29,10 @@ "@babel/preset-env": "^7.25.3", "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.20.0", - "@react-native-community/cli": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", "@react-native-windows/automation": "^0.3.386", "@react-native-windows/automation-commands": "^0.1.407", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -55,4 +55,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index 68aebabbeb5..321caa85883 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -30,10 +30,10 @@ "@babel/preset-env": "^7.25.3", "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.20.0", - "@react-native-community/cli": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", "@react-native-windows/automation": "^0.3.386", "@react-native-windows/automation-commands": "^0.1.407", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -55,4 +55,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index 5db6119e528..53bdb8e554d 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -27,8 +27,8 @@ "@babel/preset-typescript": "^7.11.5", "@babel/traverse": "^7.11.5", "@babel/types": "^7.11.5", - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native-community/cli": "17.0.0", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/eslint-config": "^1.2.36", "@rnw-scripts/just-task": "^2.3.53", @@ -51,4 +51,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/playground/package.json b/packages/playground/package.json index 2777c5f2555..6802a801510 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -21,8 +21,8 @@ "devDependencies": { "@babel/core": "^7.25.2", "@babel/runtime": "^7.20.0", - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native-community/cli": "17.0.0", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", @@ -39,4 +39,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index a4cabc39c2f..43787b2b7ff 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -26,8 +26,8 @@ "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.20.0", "@jest/globals": "^29.7.0", - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native-community/cli": "17.0.0", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -48,4 +48,4 @@ "engines": { "node": ">=18" } -} +} \ No newline at end of file diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index 288d49bde35..5b40bca19ba 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -23,10 +23,10 @@ "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.25.1", "@babel/runtime": "^7.20.0", - "@react-native-community/cli": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", "@react-native-windows/cli": "0.0.0-canary.265", "@react-native-windows/codegen": "0.0.0-canary.123", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", @@ -50,4 +50,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 9ae08b41e15..2d300184aa0 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -31,8 +31,8 @@ "@babel/preset-env": "^7.25.3", "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.20.0", - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native-community/cli": "17.0.0", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -53,4 +53,4 @@ "engines": { "node": ">=18" } -} +} \ No newline at end of file diff --git a/vnext/package.json b/vnext/package.json index 8600b39f335..f5016c3fbb1 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -23,18 +23,18 @@ "dependencies": { "@babel/runtime": "^7.0.0", "@jest/create-cache-key-function": "^29.7.0", - "@react-native-community/cli": "15.0.0-alpha.2", - "@react-native-community/cli-platform-android": "15.0.0-alpha.2", - "@react-native-community/cli-platform-ios": "15.0.0-alpha.2", + "@react-native-community/cli": "17.0.0", + "@react-native-community/cli-platform-android": "17.0.0", + "@react-native-community/cli-platform-ios": "17.0.0", "@react-native-windows/cli": "0.0.0-canary.265", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.79.0-nightly-20250303-cee63397b", - "@react-native/codegen": "0.79.0-nightly-20250303-cee63397b", - "@react-native/community-cli-plugin": "0.79.0-nightly-20250303-cee63397b", - "@react-native/gradle-plugin": "0.79.0-nightly-20250303-cee63397b", - "@react-native/js-polyfills": "0.79.0-nightly-20250303-cee63397b", - "@react-native/normalize-colors": "0.79.0-nightly-20250303-cee63397b", - "@react-native/virtualized-lists": "0.79.0-nightly-20250303-cee63397b", + "@react-native/assets-registry": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/codegen": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/community-cli-plugin": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/gradle-plugin": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/js-polyfills": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/normalize-colors": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/virtualized-lists": "0.80.0-nightly-20250317-fc7385c1e", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -49,8 +49,8 @@ "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.81.0", - "metro-source-map": "^0.81.0", + "metro-runtime": "^0.82.0", + "metro-source-map": "^0.82.0", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", @@ -68,7 +68,7 @@ }, "devDependencies": { "@react-native-windows/codegen": "0.0.0-canary.123", - "@react-native/metro-config": "0.79.0-nightly-20250303-cee63397b", + "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.40", @@ -91,7 +91,7 @@ "peerDependencies": { "@types/react": "^19.0.0", "react": "^19.0.0", - "react-native": "0.79.0-nightly-20250303-cee63397b" + "react-native": "0.80.0-nightly-20250317-fc7385c1e" }, "beachball": { "defaultNpmTag": "canary", @@ -150,4 +150,4 @@ "engines": { "node": ">= 18" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 3e9f2e5e9dd..83cf5351836 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,7 +55,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.5.tgz#7d0658ec1a8420fc866d1df1b03bea0e79934c82" integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg== -"@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.22.0", "@babel/core@^7.23.9", "@babel/core@^7.24.7", "@babel/core@^7.25.2": +"@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.22.0", "@babel/core@^7.23.9", "@babel/core@^7.25.2": version "7.27.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce" integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== @@ -311,7 +311,7 @@ "@babel/template" "^7.27.2" "@babel/types" "^7.27.3" -"@babel/parser@^7.1.0", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.25.3", "@babel/parser@^7.25.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.25.3", "@babel/parser@^7.25.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": version "7.27.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.5.tgz#ed22f871f110aa285a6fd934a0efed621d118826" integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg== @@ -603,7 +603,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-properties@^7.24.7", "@babel/plugin-transform-class-properties@^7.25.4", "@babel/plugin-transform-class-properties@^7.27.1": +"@babel/plugin-transform-class-properties@^7.25.4", "@babel/plugin-transform-class-properties@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== @@ -751,7 +751,7 @@ "@babel/helper-module-transforms" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.24.7", "@babel/plugin-transform-modules-commonjs@^7.24.8", "@babel/plugin-transform-modules-commonjs@^7.27.1": +"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.24.8", "@babel/plugin-transform-modules-commonjs@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== @@ -831,7 +831,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8", "@babel/plugin-transform-optional-chaining@^7.27.1": +"@babel/plugin-transform-optional-chaining@^7.24.8", "@babel/plugin-transform-optional-chaining@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== @@ -1971,16 +1971,6 @@ optionalDependencies: npmlog "2 || ^3.1.0 || ^4.0.0" -"@react-native-community/cli-clean@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-15.0.0-alpha.2.tgz#c6598086cd1432deaa2bed82f6d2833feb112091" - integrity sha512-QNq5lZpoxGHIneKBB1S8hSpvgFYGST7CP1GWrgrmOaIieNFsh2oWhTePzGyxUgxr0i0qzolmWwuwqqyIPMUSyQ== - dependencies: - "@react-native-community/cli-tools" "15.0.0-alpha.2" - chalk "^4.1.2" - execa "^5.0.0" - fast-glob "^3.3.2" - "@react-native-community/cli-clean@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-17.0.0.tgz#f2c12dedc4a400ed51fbb7c6953f1ae5ae85b7ed" @@ -2011,18 +2001,6 @@ execa "^5.0.0" fast-glob "^3.3.2" -"@react-native-community/cli-config@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-15.0.0-alpha.2.tgz#fe535e9174593041ec0c8e6abbb9cb4127195315" - integrity sha512-gkmVP7s5sR74HOz2unPsRdNTEmwQyzpeEcB2OI3g35WAyccpYO7OpmpE1PlQ0O9qKdQlQJKbL7fq2DhqswVAdg== - dependencies: - "@react-native-community/cli-tools" "15.0.0-alpha.2" - chalk "^4.1.2" - cosmiconfig "^9.0.0" - deepmerge "^4.3.0" - fast-glob "^3.3.2" - joi "^17.2.1" - "@react-native-community/cli-config@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-17.0.0.tgz#bc91bdc09ae625699af5f8b06b9a6faa53b2f0ca" @@ -2035,35 +2013,6 @@ fast-glob "^3.3.2" joi "^17.2.1" -"@react-native-community/cli-debugger-ui@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-15.0.0-alpha.2.tgz#8ee14142c270c83fb5072050cad4f97e99ec5e5a" - integrity sha512-odOFpsOgbCc2si2+D16eyeY4h4u3qu12XssRGV8VqvhKLh0khQ/wA6y01/1ghy1sA0Pus1LyBwFEix6X3epXBw== - dependencies: - serve-static "^1.13.1" - -"@react-native-community/cli-doctor@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-15.0.0-alpha.2.tgz#d83c4146111c5f3c2e2468d6cdcb4e76ed0e4e37" - integrity sha512-kcBwSUMmD0AGP+kvlxTkzGlMLxOqCZIJ6pBbpnTPAhSjYrvYzHNZTTYqeggcACR7mlERot0t6tJvXeGHP1s59g== - dependencies: - "@react-native-community/cli-config" "15.0.0-alpha.2" - "@react-native-community/cli-platform-android" "15.0.0-alpha.2" - "@react-native-community/cli-platform-apple" "15.0.0-alpha.2" - "@react-native-community/cli-platform-ios" "15.0.0-alpha.2" - "@react-native-community/cli-tools" "15.0.0-alpha.2" - chalk "^4.1.2" - command-exists "^1.2.8" - deepmerge "^4.3.0" - envinfo "^7.13.0" - execa "^5.0.0" - node-stream-zip "^1.9.1" - ora "^5.4.1" - semver "^7.5.2" - strip-ansi "^5.2.0" - wcwidth "^1.0.1" - yaml "^2.2.1" - "@react-native-community/cli-doctor@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-17.0.0.tgz#520e29d813e3772cdcd2534b27f9d422556f4f13" @@ -2085,18 +2034,6 @@ wcwidth "^1.0.1" yaml "^2.2.1" -"@react-native-community/cli-platform-android@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-15.0.0-alpha.2.tgz#479f743086fb3c853d9a8038e26035d25776db7c" - integrity sha512-cKHbENaYreKCRtF8cSgTX3mn8XeupTVNzF57tWtOq6Prs+9Bd8ZsOylFZEvkyb3wY1S+BFDAXebAGzbL9ZlY3w== - dependencies: - "@react-native-community/cli-tools" "15.0.0-alpha.2" - chalk "^4.1.2" - execa "^5.0.0" - fast-glob "^3.3.2" - fast-xml-parser "^4.4.1" - logkitty "^0.7.1" - "@react-native-community/cli-platform-android@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-17.0.0.tgz#9b89a6f0171005cff2161762d36e17b55cabd708" @@ -2108,18 +2045,6 @@ execa "^5.0.0" logkitty "^0.7.1" -"@react-native-community/cli-platform-apple@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-15.0.0-alpha.2.tgz#561272ec7bf6cbedf8737cf1b71566b63e9b704b" - integrity sha512-eXE6KES4mNWQA1c/d+aWQnNsgjD7rdrsMAH4t0xOhXn4XWCw1FF6Y7PjUY8fi784RFIzEYB2xiVMvWQsC6BmAQ== - dependencies: - "@react-native-community/cli-tools" "15.0.0-alpha.2" - chalk "^4.1.2" - execa "^5.0.0" - fast-glob "^3.3.2" - fast-xml-parser "^4.4.1" - ora "^5.4.1" - "@react-native-community/cli-platform-apple@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-17.0.0.tgz#bcd88cd74a2c7cd709f9f48209795cc46dacd035" @@ -2131,13 +2056,6 @@ execa "^5.0.0" fast-xml-parser "^4.4.1" -"@react-native-community/cli-platform-ios@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-15.0.0-alpha.2.tgz#c237e561d60d3aa463d51327b37e6943910f7bb5" - integrity sha512-7teqYOMf7SnBmUbSeGklDS2lJCpAa1LKzmy/L8vFiayWImUTJHKzkJyZNzhmiLSImcibFYVH7uaD2DWuFNcrOQ== - dependencies: - "@react-native-community/cli-platform-apple" "15.0.0-alpha.2" - "@react-native-community/cli-platform-ios@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-17.0.0.tgz#a19130e78d7b2bb87328c233654e9c33d4507195" @@ -2145,21 +2063,6 @@ dependencies: "@react-native-community/cli-platform-apple" "17.0.0" -"@react-native-community/cli-server-api@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-15.0.0-alpha.2.tgz#37dcfe41cc7204e01290c616c9262e5e71f70424" - integrity sha512-e4bHsl/J006+coMTOpj6i44QPDat/X2s1sc3rqQkFL5vHIduB+Z6IyDI+W9F5uHrJhtQukE5NdajkjcXyjGLVA== - dependencies: - "@react-native-community/cli-debugger-ui" "15.0.0-alpha.2" - "@react-native-community/cli-tools" "15.0.0-alpha.2" - compression "^1.7.1" - connect "^3.6.5" - errorhandler "^1.5.1" - nocache "^3.0.1" - pretty-format "^26.6.2" - serve-static "^1.13.1" - ws "^6.2.3" - "@react-native-community/cli-server-api@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-17.0.0.tgz#a1f8fa5281c22d436cdf24fddc4b591186ca59c4" @@ -2176,22 +2079,6 @@ serve-static "^1.13.1" ws "^6.2.3" -"@react-native-community/cli-tools@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-15.0.0-alpha.2.tgz#0c02c61a30730814925d6c1e08d43b57ec083f24" - integrity sha512-XzjIFizlqLtwHqhFJHbYfedFOIebFEt1bdLSsHi2HSiZQlltW8KTwWiHC1VHfoEpePErvP2/jsx/dZtX7wNNSw== - dependencies: - appdirsjs "^1.2.4" - chalk "^4.1.2" - execa "^5.0.0" - find-up "^5.0.0" - mime "^2.4.1" - open "^6.2.0" - ora "^5.4.1" - semver "^7.5.2" - shell-quote "^1.7.3" - sudo-prompt "^9.0.0" - "@react-native-community/cli-tools@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-17.0.0.tgz#c46bae5e5ffeee7067d0e55d2ee1de128e310ac3" @@ -2208,13 +2095,6 @@ prompts "^2.4.2" semver "^7.5.2" -"@react-native-community/cli-types@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-15.0.0-alpha.2.tgz#12d62c7e928115758bbb7de6ded3d21a57dbb7b9" - integrity sha512-5gLZKQLG4ejrMEzdBw0KaGcX7jTTpWoGypxqL+8sQ7Pkenklfsr1RJRFxv+hzO/yX9psMFMgZUXluLajWwuvcg== - dependencies: - joi "^17.2.1" - "@react-native-community/cli-types@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-17.0.0.tgz#954c8a555fe8be0fabf6420fc4f06daa30ec6283" @@ -2222,28 +2102,6 @@ dependencies: joi "^17.2.1" -"@react-native-community/cli@15.0.0-alpha.2": - version "15.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-15.0.0-alpha.2.tgz#e465127a176a9eac3f0c1e4a16bd1830627fbbfb" - integrity sha512-Yf7kupKmEuytelafCNeNug4ZAC0i7GPgKVyXfRhwVtVp5ykXtWcng2bqPa4YRl4fgWgu5JhoOQhVMEV1cUDzAA== - dependencies: - "@react-native-community/cli-clean" "15.0.0-alpha.2" - "@react-native-community/cli-config" "15.0.0-alpha.2" - "@react-native-community/cli-debugger-ui" "15.0.0-alpha.2" - "@react-native-community/cli-doctor" "15.0.0-alpha.2" - "@react-native-community/cli-server-api" "15.0.0-alpha.2" - "@react-native-community/cli-tools" "15.0.0-alpha.2" - "@react-native-community/cli-types" "15.0.0-alpha.2" - chalk "^4.1.2" - commander "^9.4.1" - deepmerge "^4.3.0" - execa "^5.0.0" - find-up "^5.0.0" - fs-extra "^8.1.0" - graceful-fs "^4.1.3" - prompts "^2.4.2" - semver "^7.5.2" - "@react-native-community/cli@17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-17.0.0.tgz#457ab42611ff1193968415e8731c2c3d283b213e" @@ -2275,11 +2133,6 @@ resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.11.0.tgz#4587fbce6a382adedad74311e96ee10bb2b2d63a" integrity sha512-QuZU6gbxmOID5zZgd/H90NgBnbJ3VV6qVzp6c7/dDrmWdX8S0X5YFYgDcQFjE3dRen9wB9FWnj2VVdPU64adSg== -"@react-native/assets-registry@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.79.0-nightly-20250303-cee63397b.tgz#1d5f66cc3618c81219728bfc38da1a6e9d44982a" - integrity sha512-v3vrkYFnVL1huzRl2V9MzuTNlkfp73r3kvpItaONdicwFkRApYCGCdkn+s4HmRWuwsv0167Xg79vimBf0zD4mw== - "@react-native/assets-registry@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0-nightly-20250317-fc7385c1e.tgz#b02eb0d9f725aa9298ba79eaa65fb7c9c876478a" @@ -2290,14 +2143,6 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/babel-plugin-codegen@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.79.0-nightly-20250303-cee63397b.tgz#e00dce8bdd920c6fc159746a45073f5230a82157" - integrity sha512-jkvrpgs4a0tpZ5MnmhXfgnQnuXXPAU18q8OwHDPzOaMzZrxc8FeytI0bhWWm1cI3J7DMk7+PRSJ2Wqr330Hw5Q== - dependencies: - "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.79.0-nightly-20250303-cee63397b" - "@react-native/babel-plugin-codegen@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0-nightly-20250317-fc7385c1e.tgz#9b850531cd98f61b81695e565f5e9cf0925b713c" @@ -2306,57 +2151,6 @@ "@babel/traverse" "^7.25.3" "@react-native/codegen" "0.80.0-nightly-20250317-fc7385c1e" -"@react-native/babel-preset@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.79.0-nightly-20250303-cee63397b.tgz#cbe7d5d192f6f0e77488fa7a70b9860dd5a86966" - integrity sha512-j6se0dRDqI7vBXbH1aSQ95dIbWefzznHcSFVHFBwvbrJsEag+1uOg+Ejwjf2dRBSn4nVQvKQe6DGT3dP2SjTsg== - dependencies: - "@babel/core" "^7.25.2" - "@babel/plugin-proposal-export-default-from" "^7.24.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-default-from" "^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.4" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.25.0" - "@babel/plugin-transform-class-properties" "^7.25.4" - "@babel/plugin-transform-classes" "^7.25.4" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.8" - "@babel/plugin-transform-flow-strip-types" "^7.25.2" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.25.1" - "@babel/plugin-transform-literals" "^7.25.2" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.8" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.24.7" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-react-display-name" "^7.24.7" - "@babel/plugin-transform-react-jsx" "^7.25.2" - "@babel/plugin-transform-react-jsx-self" "^7.24.7" - "@babel/plugin-transform-react-jsx-source" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-runtime" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-typescript" "^7.25.2" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/template" "^7.25.0" - "@react-native/babel-plugin-codegen" "0.79.0-nightly-20250303-cee63397b" - babel-plugin-syntax-hermes-parser "0.25.1" - babel-plugin-transform-flow-enums "^0.0.2" - react-refresh "^0.14.0" - "@react-native/babel-preset@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0-nightly-20250317-fc7385c1e.tgz#078fb221a1a74c04e4dc03b45e0f432e4dbd2e00" @@ -2408,19 +2202,6 @@ babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.79.0-nightly-20250303-cee63397b.tgz#14e2ef8ca15c7d917a650583b234748e3ab5f38d" - integrity sha512-OZqJVz9OqEI0K5JePMt/81mgbjMoF2xQawGHRpZQ2mxoNO6t2kvnrF48koxJoR1ZRS6Cd04ANwueIh0c1FZtQw== - dependencies: - "@babel/parser" "^7.25.3" - glob "^7.1.1" - hermes-parser "0.25.1" - invariant "^2.2.4" - jscodeshift "^17.0.0" - nullthrows "^1.1.1" - yargs "^17.6.2" - "@react-native/codegen@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0-nightly-20250317-fc7385c1e.tgz#21907ee35992d142294fac55a82e7503ad8dd672" @@ -2432,20 +2213,6 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/community-cli-plugin@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.79.0-nightly-20250303-cee63397b.tgz#74bb4ad8f4c0dfc85fd1a4aafc0637055ca7a37f" - integrity sha512-5cZo70Jzo85/F3JiTx2+3iqX4mQRUIKvPg7xIzN3K6eHfhxiOSgw89VyOuLwR4ONUwNU8KoTjn8415q2L9GScQ== - dependencies: - "@react-native/dev-middleware" "0.79.0-nightly-20250303-cee63397b" - chalk "^4.0.0" - debug "^2.2.0" - invariant "^2.2.4" - metro "^0.81.0" - metro-config "^0.81.0" - metro-core "^0.81.0" - semver "^7.1.3" - "@react-native/community-cli-plugin@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0-nightly-20250317-fc7385c1e.tgz#2f4f3b3b1981fee3b83cc618606a2991d2b663e5" @@ -2460,33 +2227,11 @@ metro-core "^0.82.0" semver "^7.1.3" -"@react-native/debugger-frontend@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.79.0-nightly-20250303-cee63397b.tgz#11946f4790cdfff351e1aed3dc956006f0881fb2" - integrity sha512-hHFJpRuCoVGzvlJxBdZFl6SKdG1GCwQY+hlxyWs60+DW9hwDmWE+rz9WBU9+6zw5pnmKTEpd/zZWz3MrTWWkUA== - "@react-native/debugger-frontend@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0-nightly-20250317-fc7385c1e.tgz#132bd6c9d523e5fad7dbde008c6cdb55dda39389" integrity sha512-eoCXz9DJTpd3AM8tgUP9MsUOFQmKqPLhRSJL4fnhtDGMimSGLO+KldSIvKQwel9I2SpbGWOpcEsordiyYPtaUw== -"@react-native/dev-middleware@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.79.0-nightly-20250303-cee63397b.tgz#7fd19b43d316184c3d28955cf55cdc99242c220f" - integrity sha512-cur4/nRU21rgFbv8u0QlBNMPeSoiH7nQlsSxDUs+guMkkUiVxDB1C3abYUvs51NQidLOyg7ABkVqBKwUSeZF8w== - dependencies: - "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.79.0-nightly-20250303-cee63397b" - chrome-launcher "^0.15.2" - chromium-edge-launcher "^0.2.0" - connect "^3.6.5" - debug "^2.2.0" - invariant "^2.2.4" - nullthrows "^1.1.1" - open "^7.0.3" - serve-static "^1.16.2" - ws "^6.2.3" - "@react-native/dev-middleware@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0-nightly-20250317-fc7385c1e.tgz#93e277a25012a96c8afba29e19e4ae8fa841101e" @@ -2527,36 +2272,16 @@ resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.79.0-nightly-20250123-d1028885e.tgz#7983608a83b724ab2f31d2e84e67fb5f9a7ad3b1" integrity sha512-vYrjxRh3wvL9MmmmsO52keyONK8O7CqayB1gvgSf/EeptcnnCpd0YdJ06NU54aB3zh6p+k4vkxHliNFqpBTFBg== -"@react-native/gradle-plugin@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.79.0-nightly-20250303-cee63397b.tgz#90b61e57a79007bcce5bf58d64f1b7a724489379" - integrity sha512-Fw5RsMDDODT4YUtxt53ytTpgfBPhDD/lehRhYVyO4Ud6bN6oUiS8lBdZWKo/7B3mwDh9OEt0ppeBOYTZwirRZA== - "@react-native/gradle-plugin@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0-nightly-20250317-fc7385c1e.tgz#c9460e245374a2f6f68db6e93895bc74e4e63517" integrity sha512-FfUMIsuySTIKECPPSixWo/xIn2YSkR7VjIscRes2BOpd2OCqEuSkVtAwQ4giVqkssuV1Eh3Z0cJOhEcidKxCXw== -"@react-native/js-polyfills@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.79.0-nightly-20250303-cee63397b.tgz#20f5b19d244185686262153d0bc93f327f84c9d7" - integrity sha512-uPQt+6fE39CpOksFfQIj+suThswQxxLJUf2aaJHZvvTClbXqVrFhjGoCADZ+XSIqrbIK1MIsYA6kCtMCuGmSgA== - "@react-native/js-polyfills@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0-nightly-20250317-fc7385c1e.tgz#6e08f926c19e8e3a47a81bb89f8e02d253bcae51" integrity sha512-hku4R9HxtBscv68ge0szC9dCOT3uonbz9qyIkEuWIr1kRZg53fK+ibgC7KrFfvhJdRsqqxIRaveQ/4LCntZ88Q== -"@react-native/metro-babel-transformer@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.79.0-nightly-20250303-cee63397b.tgz#4f345cf45fbf86e71de30ee7fa3e59cc30d7cc6d" - integrity sha512-bGJeKZaQLGeaOJGB9tNfVCTNe+AvFBCC4+4Jo3UPwLG3WJ1Mf2L9UPHtkF/+M26kMaN9onNE+qnoVZ+2eLd3Ew== - dependencies: - "@babel/core" "^7.25.2" - "@react-native/babel-preset" "0.79.0-nightly-20250303-cee63397b" - hermes-parser "0.25.1" - nullthrows "^1.1.1" - "@react-native/metro-babel-transformer@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0-nightly-20250317-fc7385c1e.tgz#e01d877f40182c5d82c4e60d6247c232afb7b183" @@ -2567,16 +2292,6 @@ hermes-parser "0.25.1" nullthrows "^1.1.1" -"@react-native/metro-config@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.79.0-nightly-20250303-cee63397b.tgz#5f709afb51fa2732dac79288a28c0ce35fab3729" - integrity sha512-7/3ibNtaarKIHX/eT//qSmHIrKHI/yvzNyhUpVRtVzi3LIXCD8fkQB/wGowvx6dPjUVaSLBR/aC+p8gsAfn6PA== - dependencies: - "@react-native/js-polyfills" "0.79.0-nightly-20250303-cee63397b" - "@react-native/metro-babel-transformer" "0.79.0-nightly-20250303-cee63397b" - metro-config "^0.81.0" - metro-runtime "^0.81.0" - "@react-native/metro-config@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0-nightly-20250317-fc7385c1e.tgz#da0f71924a569709a0ca20b183db868ef19d73c3" @@ -2587,11 +2302,6 @@ metro-config "^0.82.0" metro-runtime "^0.82.0" -"@react-native/normalize-colors@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.79.0-nightly-20250303-cee63397b.tgz#39ab0aae6aa677d9bedbfd63696a20d2e591f622" - integrity sha512-IgyPFEoOkAd8nvP970tavgqrwQwVI/JHnkqfREU9gi//HSq/RzLSwq6nT5VLIIzdHl0HuoZNotPiPbAxpyOTeQ== - "@react-native/normalize-colors@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250317-fc7385c1e.tgz#9192423f143ba416287e895b91a0e6dc2b178f9c" @@ -2604,14 +2314,6 @@ dependencies: nullthrows "^1.1.1" -"@react-native/virtualized-lists@0.79.0-nightly-20250303-cee63397b": - version "0.79.0-nightly-20250303-cee63397b" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.79.0-nightly-20250303-cee63397b.tgz#9831d218b32908af6f7284bdd299dcfeb12d61ac" - integrity sha512-NA6DLMv6QygQL/OrOwAANPtrw3TR2RAPyB0HRexa2SsoryTP7RnO5YXnPAay8RRZfEeGEZp9AXo1OKPu+6nyug== - dependencies: - invariant "^2.2.4" - nullthrows "^1.1.1" - "@react-native/virtualized-lists@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0-nightly-20250317-fc7385c1e.tgz#470866c04f98375e450445217e70815c4e77710d" @@ -4066,13 +3768,6 @@ ast-types@^0.13.4: dependencies: tslib "^2.0.1" -ast-types@^0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2" - integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg== - dependencies: - tslib "^2.0.1" - astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" @@ -5425,11 +5120,6 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== -denodeify@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" - integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== - depcheck@^1.4.1: version "1.4.7" resolved "https://registry.yarnpkg.com/depcheck/-/depcheck-1.4.7.tgz#57976e2fa43625f477efc0f19ad868ef94f8a26c" @@ -8281,7 +7971,7 @@ jest-validate@^24.9.0: leven "^3.1.0" pretty-format "^24.9.0" -jest-validate@^29.6.3, jest-validate@^29.7.0: +jest-validate@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== @@ -8307,7 +7997,7 @@ jest-watcher@^29.7.0: jest-util "^29.7.0" string-length "^4.0.1" -jest-worker@^29.6.3, jest-worker@^29.7.0: +jest-worker@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== @@ -8408,30 +8098,6 @@ jscodeshift@^0.14.0: temp "^0.8.4" write-file-atomic "^2.3.0" -jscodeshift@^17.0.0: - version "17.1.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-17.1.1.tgz#03d81c8d32bd7100c2f092cf2a38bd9ae88379c6" - integrity sha512-4vq5B1sD37aa9qed3zWq2XQPun5XjxebIv+Folr57lt8B4HLGDHEz1UG7pfcxzSaelzPbcY7yZSs033/S0i6wQ== - dependencies: - "@babel/core" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/plugin-transform-class-properties" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.24.7" - "@babel/preset-flow" "^7.24.7" - "@babel/preset-typescript" "^7.24.7" - "@babel/register" "^7.24.6" - flow-parser "0.*" - graceful-fs "^4.2.4" - micromatch "^4.0.7" - neo-async "^2.5.0" - picocolors "^1.0.1" - recast "^0.23.9" - tmp "^0.2.3" - write-file-atomic "^5.0.1" - jsesc@^3.0.2, jsesc@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" @@ -9066,16 +8732,6 @@ metro-babel-register@^0.82.0: escape-string-regexp "^1.0.5" flow-enums-runtime "^0.0.6" -metro-babel-transformer@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.81.0.tgz#cf468eafea52e4d8a77844eb7257f8a76e9d9d94" - integrity sha512-Dc0QWK4wZIeHnyZ3sevWGTnnSkIDDn/SWyfrn99zbKbDOCoCYy71PAn9uCRrP/hduKLJQOy+tebd63Rr9D8tXg== - dependencies: - "@babel/core" "^7.25.2" - flow-enums-runtime "^0.0.6" - hermes-parser "0.24.0" - nullthrows "^1.1.1" - metro-babel-transformer@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.4.tgz#1ac029add8f75d0048c54efc266c0a78791f52b2" @@ -9086,13 +8742,6 @@ metro-babel-transformer@0.82.4: hermes-parser "0.28.1" nullthrows "^1.1.1" -metro-cache-key@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.81.0.tgz#5db34fa1a323a2310205bda7abd0df9614e36f45" - integrity sha512-qX/IwtknP9bQZL78OK9xeSvLM/xlGfrs6SlUGgHvrxtmGTRSsxcyqxR+c+7ch1xr05n62Gin/O44QKg5V70rNQ== - dependencies: - flow-enums-runtime "^0.0.6" - metro-cache-key@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.4.tgz#21f850008fa2570a51e3958574ea5a791574752e" @@ -9100,15 +8749,6 @@ metro-cache-key@0.82.4: dependencies: flow-enums-runtime "^0.0.6" -metro-cache@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.81.0.tgz#90470d10d190ad708f04c6e337eec2c7cddb3db0" - integrity sha512-DyuqySicHXkHUDZFVJmh0ygxBSx6pCKUrTcSgb884oiscV/ROt1Vhye+x+OIHcsodyA10gzZtrVtxIFV4l9I4g== - dependencies: - exponential-backoff "^3.1.1" - flow-enums-runtime "^0.0.6" - metro-core "0.81.0" - metro-cache@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.4.tgz#f44557f8b33f5d7b7ba4ccba2880c111e9884329" @@ -9119,20 +8759,6 @@ metro-cache@0.82.4: https-proxy-agent "^7.0.5" metro-core "0.82.4" -metro-config@0.81.0, metro-config@^0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.81.0.tgz#8f8074033cb7e9ddb5b0459642adf6880bc9fbc1" - integrity sha512-6CinEaBe3WLpRlKlYXXu8r1UblJhbwD6Gtnoib5U8j6Pjp7XxMG9h/DGMeNp9aGLDu1OieUqiXpFo7O0/rR5Kg== - dependencies: - connect "^3.6.5" - cosmiconfig "^5.0.5" - flow-enums-runtime "^0.0.6" - jest-validate "^29.6.3" - metro "0.81.0" - metro-cache "0.81.0" - metro-core "0.81.0" - metro-runtime "0.81.0" - metro-config@0.82.4, metro-config@^0.82.0: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.4.tgz#d42fa8b6a4d53493c34d217bbc6c13ee4817355c" @@ -9147,15 +8773,6 @@ metro-config@0.82.4, metro-config@^0.82.0: metro-core "0.82.4" metro-runtime "0.82.4" -metro-core@0.81.0, metro-core@^0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.81.0.tgz#d0b634f9cf97849b7730c59457ab7a439811d4c8" - integrity sha512-CVkM5YCOAFkNMvJai6KzA0RpztzfEKRX62/PFMOJ9J7K0uq/UkOFLxcgpcncMIrfy0PbfEj811b69tjULUQe1Q== - dependencies: - flow-enums-runtime "^0.0.6" - lodash.throttle "^4.1.1" - metro-resolver "0.81.0" - metro-core@0.82.4, metro-core@^0.82.0: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.4.tgz#f7f498929ac066dafe704c3598a990eeb2acdc8c" @@ -9165,25 +8782,6 @@ metro-core@0.82.4, metro-core@^0.82.0: lodash.throttle "^4.1.1" metro-resolver "0.82.4" -metro-file-map@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.81.0.tgz#af0ccf4f8db4fd8429f78f231faa49dde2c402c3" - integrity sha512-zMDI5uYhQCyxbye/AuFx/pAbsz9K+vKL7h1ShUXdN2fz4VUPiyQYRsRqOoVG1DsiCgzd5B6LW0YW77NFpjDQeg== - dependencies: - anymatch "^3.0.3" - debug "^2.2.0" - fb-watchman "^2.0.0" - flow-enums-runtime "^0.0.6" - graceful-fs "^4.2.4" - invariant "^2.2.4" - jest-worker "^29.6.3" - micromatch "^4.0.4" - node-abort-controller "^3.1.1" - nullthrows "^1.1.1" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - metro-file-map@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.4.tgz#186d737088433dd290c5974d9d96d7e62d36e4f9" @@ -9206,14 +8804,6 @@ metro-memory-fs@^0.82.0: dependencies: flow-enums-runtime "^0.0.6" -metro-minify-terser@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.81.0.tgz#8b0abe977d63a99b99fa94d53678ef3170d5b659" - integrity sha512-U2ramh3W822ZR1nfXgIk+emxsf5eZSg10GbQrT0ZizImK8IZ5BmJY+BHRIkQgHzWFpExOVxC7kWbGL1bZALswA== - dependencies: - flow-enums-runtime "^0.0.6" - terser "^5.15.0" - metro-minify-terser@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.4.tgz#3750c14e7a25eba591f6c75eed995f6751030618" @@ -9222,13 +8812,6 @@ metro-minify-terser@0.82.4: flow-enums-runtime "^0.0.6" terser "^5.15.0" -metro-resolver@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.81.0.tgz#141f4837e1e0c5a1810ea02f2d9be3c9f6cf3766" - integrity sha512-Uu2Q+buHhm571cEwpPek8egMbdSTqmwT/5U7ZVNpK6Z2ElQBBCxd7HmFAslKXa7wgpTO2FAn6MqGeERbAtVDUA== - dependencies: - flow-enums-runtime "^0.0.6" - metro-resolver@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.4.tgz#936a2300fa577183a1e0e6f7cc405e52f9276f0e" @@ -9236,14 +8819,6 @@ metro-resolver@0.82.4: dependencies: flow-enums-runtime "^0.0.6" -metro-runtime@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.81.0.tgz#63af9b3fec15d1f307d89ef4881f5ba2c592291e" - integrity sha512-6oYB5HOt37RuGz2eV4A6yhcl+PUTwJYLDlY9vhT+aVjbUWI6MdBCf69vc4f5K5Vpt+yOkjy+2LDwLS0ykWFwYw== - dependencies: - "@babel/runtime" "^7.25.0" - flow-enums-runtime "^0.0.6" - metro-runtime@0.82.4, metro-runtime@^0.82.0: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.4.tgz#70e0b871683fdb594f2a7c03403b6350deca086b" @@ -9260,22 +8835,6 @@ metro-runtime@^0.81.0: "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" -metro-source-map@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.81.0.tgz#ca83964124bb227d5f0bdb1ee304dbfe635f869e" - integrity sha512-TzsVxhH83dyxg4A4+L1nzNO12I7ps5IHLjKGZH3Hrf549eiZivkdjYiq/S5lOB+p2HiQ+Ykcwtmcja95LIC62g== - dependencies: - "@babel/traverse" "^7.25.3" - "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3" - "@babel/types" "^7.25.2" - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-symbolicate "0.81.0" - nullthrows "^1.1.1" - ob1 "0.81.0" - source-map "^0.5.6" - vlq "^1.0.0" - metro-source-map@0.81.2, metro-source-map@^0.81.0: version "0.81.2" resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.81.2.tgz#d47950419351bd684820c7ca8b53ee2b69772605" @@ -9308,19 +8867,6 @@ metro-source-map@0.82.4, metro-source-map@^0.82.0: source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.81.0.tgz#b7b1eae8bfd6ad2a922fa2bcb9f2144e464adafb" - integrity sha512-C/1rWbNTPYp6yzID8IPuQPpVGzJ2rbWYBATxlvQ9dfK5lVNoxcwz77hjcY8ISLsRRR15hyd/zbjCNKPKeNgE1Q== - dependencies: - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-source-map "0.81.0" - nullthrows "^1.1.1" - source-map "^0.5.6" - through2 "^2.0.1" - vlq "^1.0.0" - metro-symbolicate@0.81.2: version "0.81.2" resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.81.2.tgz#af30923ba92f26d1c4dfd3a2eab5bff62f8cf214" @@ -9345,18 +8891,6 @@ metro-symbolicate@0.82.4: source-map "^0.5.6" vlq "^1.0.0" -metro-transform-plugins@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.81.0.tgz#614c0e50593df545487b3f3383fed810c608fb32" - integrity sha512-uErLAPBvttGCrmGSCa0dNHlOTk3uJFVEVWa5WDg6tQ79PRmuYRwzUgLhVzn/9/kyr75eUX3QWXN79Jvu4txt6Q== - dependencies: - "@babel/core" "^7.25.2" - "@babel/generator" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.3" - flow-enums-runtime "^0.0.6" - nullthrows "^1.1.1" - metro-transform-plugins@0.82.4, metro-transform-plugins@^0.82.0: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.4.tgz#9d3bb855126e0a63ac2ccf012ed2bc7829209e8c" @@ -9369,25 +8903,6 @@ metro-transform-plugins@0.82.4, metro-transform-plugins@^0.82.0: flow-enums-runtime "^0.0.6" nullthrows "^1.1.1" -metro-transform-worker@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.81.0.tgz#43e63c95014f36786f0e1a132c778c6392950de7" - integrity sha512-HrQ0twiruhKy0yA+9nK5bIe3WQXZcC66PXTvRIos61/EASLAP2DzEmW7IxN/MGsfZegN2UzqL2CG38+mOB45vg== - dependencies: - "@babel/core" "^7.25.2" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.3" - "@babel/types" "^7.25.2" - flow-enums-runtime "^0.0.6" - metro "0.81.0" - metro-babel-transformer "0.81.0" - metro-cache "0.81.0" - metro-cache-key "0.81.0" - metro-minify-terser "0.81.0" - metro-source-map "0.81.0" - metro-transform-plugins "0.81.0" - nullthrows "^1.1.1" - metro-transform-worker@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.4.tgz#cf7db4ef89301ab6658f7a0988fd030e28f86b28" @@ -9407,54 +8922,6 @@ metro-transform-worker@0.82.4: metro-transform-plugins "0.82.4" nullthrows "^1.1.1" -metro@0.81.0, metro@^0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.81.0.tgz#cffe9b7d597728dee8b57903ca155417b7c13a4f" - integrity sha512-kzdzmpL0gKhEthZ9aOV7sTqvg6NuTxDV8SIm9pf9sO8VVEbKrQk5DNcwupOUjgPPFAuKUc2NkT0suyT62hm2xg== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/core" "^7.25.2" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.3" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.3" - "@babel/types" "^7.25.2" - accepts "^1.3.7" - chalk "^4.0.0" - ci-info "^2.0.0" - connect "^3.6.5" - debug "^2.2.0" - denodeify "^1.2.1" - error-stack-parser "^2.0.6" - flow-enums-runtime "^0.0.6" - graceful-fs "^4.2.4" - hermes-parser "0.24.0" - image-size "^1.0.2" - invariant "^2.2.4" - jest-worker "^29.6.3" - jsc-safe-url "^0.2.2" - lodash.throttle "^4.1.1" - metro-babel-transformer "0.81.0" - metro-cache "0.81.0" - metro-cache-key "0.81.0" - metro-config "0.81.0" - metro-core "0.81.0" - metro-file-map "0.81.0" - metro-resolver "0.81.0" - metro-runtime "0.81.0" - metro-source-map "0.81.0" - metro-symbolicate "0.81.0" - metro-transform-plugins "0.81.0" - metro-transform-worker "0.81.0" - mime-types "^2.1.27" - nullthrows "^1.1.1" - serialize-error "^2.1.0" - source-map "^0.5.6" - strip-ansi "^6.0.0" - throat "^5.0.0" - ws "^7.5.10" - yargs "^17.6.2" - metro@0.82.4, metro@^0.82.0: version "0.82.4" resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.4.tgz#e4fb4552f1387610b0b2873ed07d4cd59754d636" @@ -9501,7 +8968,7 @@ metro@0.82.4, metro@^0.82.0: ws "^7.5.10" yargs "^17.6.2" -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.7, micromatch@^4.0.8: +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -9766,11 +9233,6 @@ nocache@^3.0.1: resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== -node-abort-controller@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - node-dir@^0.1.17: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" @@ -9911,13 +9373,6 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -ob1@0.81.0: - version "0.81.0" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.81.0.tgz#dc3154cca7aa9c2eb58f5ac63e9ee23ff4c6f520" - integrity sha512-6Cvrkxt1tqaRdWqTAMcVYEiO5i1xcF9y7t06nFdjFqkfPsEloCf8WwhXdwBpNUkVYSQlSGS7cDgVQR86miBfBQ== - dependencies: - flow-enums-runtime "^0.0.6" - ob1@0.81.2: version "0.81.2" resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.81.2.tgz#1c144d5ed63a0d1778bec32bf8a56c93397911ed" @@ -10361,7 +9816,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -10789,7 +10244,7 @@ read-yaml-file@^2.1.0: js-yaml "^4.0.0" strip-bom "^4.0.0" -readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -10850,17 +10305,6 @@ recast@^0.21.0: source-map "~0.6.1" tslib "^2.0.1" -recast@^0.23.9: - version "0.23.9" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.9.tgz#587c5d3a77c2cfcb0c18ccce6da4361528c2587b" - integrity sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q== - dependencies: - ast-types "^0.16.1" - esprima "~4.0.0" - source-map "~0.6.1" - tiny-invariant "^1.3.3" - tslib "^2.0.1" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -11413,7 +10857,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.6.1, shell-quote@^1.7.3, shell-quote@^1.8.1: +shell-quote@^1.6.1, shell-quote@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== @@ -11447,7 +10891,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1, signal-exit@^4.1.0: +signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== @@ -11848,11 +11292,6 @@ strnum@^1.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== -sudo-prompt@^9.0.0: - version "9.2.1" - resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.2.1.tgz#77efb84309c9ca489527a4e749f287e6bdd52afd" - integrity sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw== - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -12004,24 +11443,11 @@ throat@^5.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== -through2@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -tiny-invariant@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" - integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== - tinybench@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-3.1.0.tgz#ec68451ff05233cf3de12c46f39f06011897109a" @@ -12034,7 +11460,7 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@^0.2.1, tmp@^0.2.3: +tmp@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== @@ -12771,14 +12197,6 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" -write-file-atomic@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" - integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^4.0.1" - ws@^5.2.4: version "5.2.4" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.4.tgz#c7bea9f1cfb5f410de50e70e82662e562113f9a7" @@ -12845,11 +12263,6 @@ xpath@^0.0.27: resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92" integrity sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ== -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" From 46e6e7e30175c66720ccfc1f0de5a7b511722b51 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:45:36 -0700 Subject: [PATCH 19/48] Change files --- ...e-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json diff --git a/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json b/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json new file mode 100644 index 00000000000..7c3a7e2ffae --- /dev/null +++ b/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate 3/17", + "packageName": "@react-native-windows/cli", + "email": "34109996+chiaramooney@users.noreply.github.com", + "dependentChangeType": "patch" +} From b7cdcce9b07773d60fa43cae47800ddb0434148f Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Thu, 5 Jun 2025 12:02:43 +0530 Subject: [PATCH 20/48] fixed linting issues --- .../Libraries/Components/TextInput/TextInput.win32.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 40a58968175..1a23226c394 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 @@ -548,7 +548,6 @@ export type TextInputAndroidProps = $ReadOnly<{ underlineColorAndroid?: ?ColorValue, }>; -type TextInputBaseProps = $ReadOnly<{ // [Windows type SubmitKeyEvent = $ReadOnly<{| @@ -575,6 +574,16 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] +type TextInputBaseProps = $ReadOnly<{ + + /** + * String to be read by screenreaders to indicate an error state. The acceptable parameters + * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates + * the error message. Setting accessibilityInvalid to false removes the error message. + */ + accessibilityErrorMessage?: ?Stringish, + accessibilityInvalid?: ?boolean, + /** * Can tell `TextInput` to automatically capitalize certain characters. * From dba20d0ff4cff2550e72aeba8758b904e5090903 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Thu, 5 Jun 2025 16:12:57 +0530 Subject: [PATCH 21/48] fixed lint errors --- .../Components/TextInput/TextInput.win32.js | 5 ++-- .../react-native-win32/src-win/index.win32.js | 26 ----------------- .../Components/TextInput/TextInput.windows.js | 1 - vnext/src-win/index.windows.js | 29 ------------------- 4 files changed, 2 insertions(+), 59 deletions(-) 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 1a23226c394..c664317274d 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 @@ -575,15 +575,14 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] type TextInputBaseProps = $ReadOnly<{ - - /** + /** * String to be read by screenreaders to indicate an error state. The acceptable parameters * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates * the error message. Setting accessibilityInvalid to false removes the error message. */ accessibilityErrorMessage?: ?Stringish, accessibilityInvalid?: ?boolean, - + /** * Can tell `TextInput` to automatically capitalize certain characters. * diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 218bb0f3989..ec9e7e5eb2d 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -265,10 +265,6 @@ module.exports = { get Dimensions(): Dimensions { return require('./Libraries/Utilities/Dimensions').default; }, - get DynamicColorIOS() { - return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') - .DynamicColorIOS; - }, get Easing() { return require('./Libraries/Animated/Easing').default; }, @@ -296,9 +292,6 @@ module.exports = { get LogBox(): LogBox { return require('./Libraries/LogBox/LogBox').default; }, - get NativeAppEventEmitter() { - return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; - }, get NativeDialogManagerAndroid() { return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid') .default; @@ -306,9 +299,6 @@ module.exports = { get NativeEventEmitter(): NativeEventEmitter { return require('./Libraries/EventEmitter/NativeEventEmitter').default; }, - get NativeModules() { - return require('./Libraries/BatchedBridge/NativeModules').default; - }, get Networking() { return require('./Libraries/Network/RCTNetworking').default; }, @@ -321,13 +311,6 @@ module.exports = { get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; }, - get Platform() { - return require('./Libraries/Utilities/Platform').default; - }, - get PlatformColor() { - return require('./Libraries/StyleSheet/PlatformColorValueTypes') - .PlatformColor; - }, get PushNotificationIOS() { warnOnce( 'pushNotificationIOS-moved', @@ -338,18 +321,9 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, - get processColor() { - return require('./Libraries/StyleSheet/processColor').default; - }, get registerCallableModule() { return require('./Libraries/Core/registerCallableModule').default; }, - get requireNativeComponent() { - return require('./Libraries/ReactNative/requireNativeComponent').default; - }, - get RootTagContext() { - return require('./Libraries/ReactNative/RootTag').RootTagContext; - }, get Settings() { return require('./Libraries/Settings/Settings').default; }, diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index 96fd009d3e2..78cc5a2aba2 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -609,7 +609,6 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] type TextInputBaseProps = $ReadOnly<{ - /** * String to be read by screenreaders to indicate an error state. The acceptable parameters * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index 66bf3530b87..79e08a6b1d5 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -256,9 +256,6 @@ module.exports = { get codegenNativeComponent() { return require('./Libraries/Utilities/codegenNativeComponent').default; }, - get DeviceEventEmitter() { - return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default; - }, get DeviceInfo() { return require('./Libraries/Utilities/DeviceInfo').default; }, @@ -271,10 +268,6 @@ module.exports = { get Dimensions(): Dimensions { return require('./Libraries/Utilities/Dimensions').default; }, - get DynamicColorIOS() { - return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') - .DynamicColorIOS; - }, get Easing() { return require('./Libraries/Animated/Easing').default; }, @@ -299,9 +292,6 @@ module.exports = { get LogBox(): LogBox { return require('./Libraries/LogBox/LogBox').default; }, - get NativeAppEventEmitter() { - return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; - }, get NativeDialogManagerAndroid() { return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid') .default; @@ -309,9 +299,6 @@ module.exports = { get NativeEventEmitter(): NativeEventEmitter { return require('./Libraries/EventEmitter/NativeEventEmitter').default; }, - get NativeModules() { - return require('./Libraries/BatchedBridge/NativeModules').default; - }, get Networking() { return require('./Libraries/Network/RCTNetworking').default; }, @@ -324,13 +311,6 @@ module.exports = { get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; }, - get Platform() { - return require('./Libraries/Utilities/Platform').default; - }, - get PlatformColor() { - return require('./Libraries/StyleSheet/PlatformColorValueTypes') - .PlatformColor; - }, get PushNotificationIOS() { warnOnce( 'pushNotificationIOS-moved', @@ -341,18 +321,9 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, - get processColor() { - return require('./Libraries/StyleSheet/processColor').default; - }, get registerCallableModule() { return require('./Libraries/Core/registerCallableModule').default; }, - get requireNativeComponent() { - return require('./Libraries/ReactNative/requireNativeComponent').default; - }, - get RootTagContext() { - return require('./Libraries/ReactNative/RootTag').RootTagContext; - }, get Settings() { return require('./Libraries/Settings/Settings').default; }, From fe6c9b21a2295efdcc9567e691f67f2c97b234fe Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:45:55 -0700 Subject: [PATCH 22/48] Fix Linting Errors --- .../react-native-win32/src-win/index.win32.js | 103 +++++++----------- .../src-win/Libraries/Alert/Alert.windows.js | 3 + .../Components/TextInput/TextInput.windows.js | 1 - vnext/src-win/index.windows.js | 103 +++++++----------- 4 files changed, 79 insertions(+), 131 deletions(-) diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 218bb0f3989..107e0fd76fc 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -24,6 +24,8 @@ import typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue'; import typeof AppState from './Libraries/AppState/AppState'; import typeof FocusManager from './Libraries/Utilities/FocusManager'; import typeof NativeModules from './Libraries/BatchedBridge/NativeModules'; +import typeof codegenNativeCommands from './Libraries/Utilities/codegenNativeCommands'; +import typeof codegenNativeComponent from './Libraries/Utilities/codegenNativeComponent'; // Components import typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo'; import typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator'; @@ -70,7 +72,7 @@ import typeof Networking from './Libraries/Network/RCTNetworking'; import typeof * as Systrace from './Libraries/Performance/Systrace'; import typeof PermissionsAndroid from './Libraries/PermissionsAndroid/PermissionsAndroid'; import typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS'; -import typeof AppRegistry from './Libraries/ReactNative/AppRegistry'; +import typeof {AppRegistry} from './Libraries/ReactNative/AppRegistry'; import typeof I18nManager from './Libraries/ReactNative/I18nManager'; import typeof {RootTagContext} from './Libraries/ReactNative/RootTag'; import typeof UIManager from './Libraries/ReactNative/UIManager'; @@ -109,7 +111,7 @@ import typeof {ColorGradientWin32} from './Libraries/StyleSheet/PlatformColorVal module.exports = { // #region Components - get ActivityIndicator() { + get ActivityIndicator(): ActivityIndicator { return require('./Libraries/Components/ActivityIndicator/ActivityIndicator') .default; }, @@ -134,15 +136,15 @@ module.exports = { return require('./Libraries/Components/TextInput/InputAccessoryView') .default; }, - get KeyboardAvoidingView() { + get KeyboardAvoidingView(): KeyboardAvoidingView { return require('./Libraries/Components/Keyboard/KeyboardAvoidingView') .default; }, - get experimental_LayoutConformance() { + get experimental_LayoutConformance(): LayoutConformance { return require('./Libraries/Components/LayoutConformance/LayoutConformance') .default; }, - get Modal() { + get Modal(): Modal { return require('./Libraries/Modal/Modal').default; }, get Pressable(): Pressable { @@ -215,11 +217,11 @@ module.exports = { }, // #endregion // #region APIs - get AccessibilityInfo() { + get AccessibilityInfo(): AccessibilityInfo { return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo') .default; }, - get ActionSheetIOS() { + get ActionSheetIOS(): ActionSheetIOS { return require('./Libraries/ActionSheetIOS/ActionSheetIOS').default; }, get Alert(): Alert { @@ -236,7 +238,7 @@ module.exports = { return require('./Libraries/Utilities/Appearance'); }, get AppRegistry(): AppRegistry { - return require('./Libraries/ReactNative/AppRegistry').default; + return require('./Libraries/ReactNative/AppRegistry').AppRegistry; }, get AppState(): AppState { return require('./Libraries/AppState/AppState').default; @@ -253,6 +255,15 @@ module.exports = { ); return require('./Libraries/Components/Clipboard/Clipboard').default; }, + get codegenNativeCommands(): codegenNativeCommands { + return require('./Libraries/Utilities/codegenNativeCommands').default; + }, + get codegenNativeComponent(): codegenNativeComponent { + return require('./Libraries/Utilities/codegenNativeComponent').default; + }, + get DeviceEventEmitter(): RCTDeviceEventEmitter { + return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default; + }, get DeviceInfo(): DeviceInfo { return require('./Libraries/Utilities/DeviceInfo').default; }, @@ -265,19 +276,16 @@ module.exports = { get Dimensions(): Dimensions { return require('./Libraries/Utilities/Dimensions').default; }, - get DynamicColorIOS() { + get DynamicColorIOS(): DynamicColorIOS { return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') .DynamicColorIOS; }, - get Easing() { + get Easing(): Easing { return require('./Libraries/Animated/Easing').default; }, get findNodeHandle(): $PropertyType { return require('./Libraries/ReactNative/RendererProxy').findNodeHandle; }, - get FocusManager(): FocusManager { - return require('./Libraries/Utilities/FocusManager').default; - }, get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, @@ -296,20 +304,20 @@ module.exports = { get LogBox(): LogBox { return require('./Libraries/LogBox/LogBox').default; }, - get NativeAppEventEmitter() { + get NativeAppEventEmitter(): RCTNativeAppEventEmitter { return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; }, - get NativeDialogManagerAndroid() { + get NativeDialogManagerAndroid(): NativeDialogManagerAndroid { return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid') .default; }, get NativeEventEmitter(): NativeEventEmitter { return require('./Libraries/EventEmitter/NativeEventEmitter').default; }, - get NativeModules() { + get NativeModules(): NativeModules { return require('./Libraries/BatchedBridge/NativeModules').default; }, - get Networking() { + get Networking(): Networking { return require('./Libraries/Network/RCTNetworking').default; }, get PanResponder(): PanResponder { @@ -321,14 +329,14 @@ module.exports = { get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; }, - get Platform() { + get Platform(): Platform { return require('./Libraries/Utilities/Platform').default; }, - get PlatformColor() { + get PlatformColor(): PlatformColor { return require('./Libraries/StyleSheet/PlatformColorValueTypes') .PlatformColor; }, - get PushNotificationIOS() { + get PushNotificationIOS(): PushNotificationIOS { warnOnce( 'pushNotificationIOS-moved', 'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' + @@ -338,19 +346,19 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, - get processColor() { + get processColor(): processColor { return require('./Libraries/StyleSheet/processColor').default; }, - get registerCallableModule() { + get registerCallableModule(): RegisterCallableModule { return require('./Libraries/Core/registerCallableModule').default; }, - get requireNativeComponent() { + get requireNativeComponent(): { return require('./Libraries/ReactNative/requireNativeComponent').default; }, - get RootTagContext() { + get RootTagContext(): RootTagContext { return require('./Libraries/ReactNative/RootTag').RootTagContext; }, - get Settings() { + get Settings(): Settings { return require('./Libraries/Settings/Settings').default; }, get Share(): Share { @@ -379,6 +387,12 @@ module.exports = { return require('./Libraries/ReactNative/RendererProxy') .unstable_batchedUpdates; }, + get unstable_enableLogBox(): () => void { + return () => + console.warn( + 'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.', + ); + }, get useAnimatedValue(): useAnimatedValue { return require('./Libraries/Animated/useAnimatedValue').default; }, @@ -394,45 +408,6 @@ module.exports = { get Vibration(): Vibration { return require('./Libraries/Vibration/Vibration').default; }, - - // Plugins - get DeviceEventEmitter(): RCTDeviceEventEmitter { - return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default; - }, - get DynamicColorIOS(): DynamicColorIOS { - return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') - .DynamicColorIOS; - }, - get NativeAppEventEmitter(): RCTNativeAppEventEmitter { - return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; - }, - get NativeModules(): NativeModules { - return require('./Libraries/BatchedBridge/NativeModules').default; - }, - get Platform(): Platform { - return require('./Libraries/Utilities/Platform').default; - }, - get PlatformColor(): PlatformColor { - return require('./Libraries/StyleSheet/PlatformColorValueTypes') - .PlatformColor; - }, - get processColor(): processColor { - return require('./Libraries/StyleSheet/processColor').default; - }, - get requireNativeComponent(): ( - uiViewClassName: string, - ) => HostComponent { - return require('./Libraries/ReactNative/requireNativeComponent').default; - }, - get RootTagContext(): RootTagContext { - return require('./Libraries/ReactNative/RootTag').RootTagContext; - }, - get unstable_enableLogBox(): () => void { - return () => - console.warn( - 'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.', - ); - }, // Win32 Types (Typescript components exported as flow any) get ColorGradientWin32(): ColorGradientWin32 { return require('./Libraries/StyleSheet/PlatformColorValueTypesWin32') diff --git a/vnext/src-win/Libraries/Alert/Alert.windows.js b/vnext/src-win/Libraries/Alert/Alert.windows.js index 9c4c379c78d..e9d0cf7bf12 100644 --- a/vnext/src-win/Libraries/Alert/Alert.windows.js +++ b/vnext/src-win/Libraries/Alert/Alert.windows.js @@ -116,12 +116,15 @@ class Alert { if (action === constants.buttonClicked) { if (buttonKey === constants.buttonNeutral) { // $FlowFixMe[incompatible-type] + // $FlowFixMe[incompatible-use] buttonNeutral.onPress && buttonNeutral.onPress(); } else if (buttonKey === constants.buttonNegative) { // $FlowFixMe[incompatible-type] + // $FlowFixMe[incompatible-use] buttonNegative.onPress && buttonNegative.onPress(); } else if (buttonKey === constants.buttonPositive) { // $FlowFixMe[incompatible-type] + // $FlowFixMe[incompatible-use] buttonPositive.onPress && buttonPositive.onPress(); } } else if (action === constants.dismissed) { diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index 96fd009d3e2..78cc5a2aba2 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -609,7 +609,6 @@ type TextInputWindowsProps = $ReadOnly<{| // Windows] type TextInputBaseProps = $ReadOnly<{ - /** * String to be read by screenreaders to indicate an error state. The acceptable parameters * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index 66bf3530b87..c3955f38702 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -23,6 +23,8 @@ import typeof Easing from './Libraries/Animated/Easing'; import typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue'; import typeof AppState from './Libraries/AppState/AppState'; import typeof NativeModules from './Libraries/BatchedBridge/NativeModules'; +import typeof codegenNativeCommands from './Libraries/Utilities/codegenNativeCommands'; +import typeof codegenNativeComponent from './Libraries/Utilities/codegenNativeComponent'; // Components import typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo'; import typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator'; @@ -73,7 +75,7 @@ import typeof Networking from './Libraries/Network/RCTNetworking'; import typeof * as Systrace from './Libraries/Performance/Systrace'; import typeof PermissionsAndroid from './Libraries/PermissionsAndroid/PermissionsAndroid'; import typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS'; -import typeof AppRegistry from './Libraries/ReactNative/AppRegistry'; +import typeof {AppRegistry} from './Libraries/ReactNative/AppRegistry'; import typeof I18nManager from './Libraries/ReactNative/I18nManager'; import typeof {RootTagContext} from './Libraries/ReactNative/RootTag'; import typeof UIManager from './Libraries/ReactNative/UIManager'; @@ -100,7 +102,9 @@ import typeof Platform from './Libraries/Utilities/Platform'; import typeof useColorScheme from './Libraries/Utilities/useColorScheme'; import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions'; import typeof Vibration from './Libraries/Vibration/Vibration'; -import typeof DevMenu from './src/private/devmenu/DevMenu'; +import typeof DevMenuimportimport { codegenNativeComponent } from '../types'; + { codegenNativeCommands } from '../types'; + from './src/private/devmenu/DevMenu'; export type {HostComponent, HostInstance}; // Windows]] @@ -110,7 +114,7 @@ const invariant = require('invariant'); module.exports = { // #region Components - get ActivityIndicator() { + get ActivityIndicator(): ActivityIndicator { return require('./Libraries/Components/ActivityIndicator/ActivityIndicator') .default; }, @@ -135,15 +139,15 @@ module.exports = { return require('./Libraries/Components/TextInput/InputAccessoryView') .default; }, - get KeyboardAvoidingView() { + get KeyboardAvoidingView(): KeyboardAvoidingView { return require('./Libraries/Components/Keyboard/KeyboardAvoidingView') .default; }, - get experimental_LayoutConformance() { + get experimental_LayoutConformance(): LayoutConformance { return require('./Libraries/Components/LayoutConformance/LayoutConformance') .default; }, - get Modal() { + get Modal(): Modal { return require('./Libraries/Modal/Modal').default; }, get Pressable(): Pressable { @@ -214,11 +218,11 @@ module.exports = { }, // #endregion // #region APIs - get AccessibilityInfo() { + get AccessibilityInfo(): AccessibilityInfo { return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo') .default; }, - get ActionSheetIOS() { + get ActionSheetIOS(): ActionSheetIOS { return require('./Libraries/ActionSheetIOS/ActionSheetIOS').default; }, get Alert(): Alert { @@ -233,7 +237,7 @@ module.exports = { return require('./Libraries/Utilities/Appearance'); }, get AppRegistry(): AppRegistry { - return require('./Libraries/ReactNative/AppRegistry').default; + return require('./Libraries/ReactNative/AppRegistry').AppRegistry; }, get AppState(): AppState { return require('./Libraries/AppState/AppState').default; @@ -250,16 +254,16 @@ module.exports = { ); return require('./Libraries/Components/Clipboard/Clipboard').default; }, - get codegenNativeCommands() { + get codegenNativeCommands(): codegenNativeCommands { return require('./Libraries/Utilities/codegenNativeCommands').default; }, - get codegenNativeComponent() { + get codegenNativeComponent(): codegenNativeComponent { return require('./Libraries/Utilities/codegenNativeComponent').default; }, - get DeviceEventEmitter() { + get DeviceEventEmitter(): RCTDeviceEventEmitter { return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default; }, - get DeviceInfo() { + get DeviceInfo(): DeviceInfo { return require('./Libraries/Utilities/DeviceInfo').default; }, get DevMenu(): DevMenu { @@ -271,11 +275,11 @@ module.exports = { get Dimensions(): Dimensions { return require('./Libraries/Utilities/Dimensions').default; }, - get DynamicColorIOS() { + get DynamicColorIOS(): DynamicColorIOS { return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') .DynamicColorIOS; }, - get Easing() { + get Easing(): Easing { return require('./Libraries/Animated/Easing').default; }, get findNodeHandle(): $PropertyType { @@ -299,20 +303,20 @@ module.exports = { get LogBox(): LogBox { return require('./Libraries/LogBox/LogBox').default; }, - get NativeAppEventEmitter() { + get NativeAppEventEmitter(): RCTNativeAppEventEmitter { return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; }, - get NativeDialogManagerAndroid() { + get NativeDialogManagerAndroid(): NativeDialogManagerAndroid { return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid') .default; }, get NativeEventEmitter(): NativeEventEmitter { return require('./Libraries/EventEmitter/NativeEventEmitter').default; }, - get NativeModules() { + get NativeModules(): NativeModules { return require('./Libraries/BatchedBridge/NativeModules').default; }, - get Networking() { + get Networking(): Networking { return require('./Libraries/Network/RCTNetworking').default; }, get PanResponder(): PanResponder { @@ -324,14 +328,14 @@ module.exports = { get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; }, - get Platform() { + get Platform(): Platform { return require('./Libraries/Utilities/Platform').default; }, - get PlatformColor() { + get PlatformColor(): PlatformColor { return require('./Libraries/StyleSheet/PlatformColorValueTypes') .PlatformColor; }, - get PushNotificationIOS() { + get PushNotificationIOS(): PushNotificationIOS { warnOnce( 'pushNotificationIOS-moved', 'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' + @@ -341,19 +345,19 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, - get processColor() { + get processColor(): processColor { return require('./Libraries/StyleSheet/processColor').default; }, - get registerCallableModule() { + get registerCallableModule(): RegisterCallableModule { return require('./Libraries/Core/registerCallableModule').default; }, - get requireNativeComponent() { + get requireNativeComponent(): { return require('./Libraries/ReactNative/requireNativeComponent').default; }, - get RootTagContext() { + get RootTagContext(): RootTagContext { return require('./Libraries/ReactNative/RootTag').RootTagContext; }, - get Settings() { + get Settings(): Settings { return require('./Libraries/Settings/Settings').default; }, get Share(): Share { @@ -382,6 +386,12 @@ module.exports = { return require('./Libraries/ReactNative/RendererProxy') .unstable_batchedUpdates; }, + get unstable_enableLogBox(): () => void { + return () => + console.warn( + 'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.', + ); + }, get useAnimatedValue(): useAnimatedValue { return require('./Libraries/Animated/useAnimatedValue').default; }, @@ -398,45 +408,6 @@ module.exports = { return require('./Libraries/Vibration/Vibration').default; }, - // Plugins - get DeviceEventEmitter(): RCTDeviceEventEmitter { - return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default; - }, - get DynamicColorIOS(): DynamicColorIOS { - return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS') - .DynamicColorIOS; - }, - get NativeAppEventEmitter(): RCTNativeAppEventEmitter { - return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default; - }, - get NativeModules(): NativeModules { - return require('./Libraries/BatchedBridge/NativeModules').default; - }, - get Platform(): Platform { - return require('./Libraries/Utilities/Platform').default; - }, - get PlatformColor(): PlatformColor { - return require('./Libraries/StyleSheet/PlatformColorValueTypes') - .PlatformColor; - }, - get processColor(): processColor { - return require('./Libraries/StyleSheet/processColor').default; - }, - get requireNativeComponent(): ( - uiViewClassName: string, - ) => HostComponent { - return require('./Libraries/ReactNative/requireNativeComponent').default; - }, - get RootTagContext(): RootTagContext { - return require('./Libraries/ReactNative/RootTag').RootTagContext; - }, - get unstable_enableLogBox(): () => void { - return () => - console.warn( - 'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.', - ); - }, - // Additional windows exports (Typescript components exported as flow any) get DatePicker(): any { invariant( From 6f4619f4b2b233add93f0195640f49f8df5ba2c2 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:53:00 -0700 Subject: [PATCH 23/48] Fix Lint --- .../@office-iss/react-native-win32/src-win/index.win32.js | 4 ++++ vnext/src-win/index.windows.js | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 107e0fd76fc..24ffddfe28d 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -286,6 +286,9 @@ module.exports = { get findNodeHandle(): $PropertyType { return require('./Libraries/ReactNative/RendererProxy').findNodeHandle; }, + get FocusManager(): FocusManager { + return require('./Libraries/Utilities/FocusManager').default; + }, get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, @@ -346,6 +349,7 @@ module.exports = { return require('./Libraries/PushNotificationIOS/PushNotificationIOS') .default; }, + // $FlowFixMe[value-as-type] get processColor(): processColor { return require('./Libraries/StyleSheet/processColor').default; }, diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index c3955f38702..ffdeec4171f 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -102,9 +102,7 @@ import typeof Platform from './Libraries/Utilities/Platform'; import typeof useColorScheme from './Libraries/Utilities/useColorScheme'; import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions'; import typeof Vibration from './Libraries/Vibration/Vibration'; -import typeof DevMenuimportimport { codegenNativeComponent } from '../types'; - { codegenNativeCommands } from '../types'; - from './src/private/devmenu/DevMenu'; +import typeof DevMenu from './src/private/devmenu/DevMenu'; export type {HostComponent, HostInstance}; // Windows]] From 53c4b21dd29d95129296aaa08fcbb3d3022fb502 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Thu, 5 Jun 2025 15:06:09 -0700 Subject: [PATCH 24/48] Fix Lint --- .../@office-iss/react-native-win32/src-win/index.win32.js | 4 +++- vnext/src-win/index.windows.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 24ffddfe28d..03002b52a45 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -356,7 +356,9 @@ module.exports = { get registerCallableModule(): RegisterCallableModule { return require('./Libraries/Core/registerCallableModule').default; }, - get requireNativeComponent(): { + get requireNativeComponent(): ( + uiViewClassName: string, + ) => HostComponent { return require('./Libraries/ReactNative/requireNativeComponent').default; }, get RootTagContext(): RootTagContext { diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index ffdeec4171f..c58a849e92c 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -349,7 +349,9 @@ module.exports = { get registerCallableModule(): RegisterCallableModule { return require('./Libraries/Core/registerCallableModule').default; }, - get requireNativeComponent(): { + get requireNativeComponent(): ( + uiViewClassName: string, + ) => HostComponent { return require('./Libraries/ReactNative/requireNativeComponent').default; }, get RootTagContext(): RootTagContext { From 783b48c9af918512054dd7d1617006af81810167 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Thu, 5 Jun 2025 16:10:01 -0700 Subject: [PATCH 25/48] Fix Lint --- .../src-win/Libraries/StyleSheet/StyleSheet.win32.js | 9 +++------ .../react-native-win32/src-win/index.win32.js | 6 +++--- vnext/src-win/index.windows.js | 6 +++--- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js index 4f9cba27deb..ead2c022981 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js @@ -23,13 +23,10 @@ import type { ____ViewStyleProp_Internal, } from './StyleSheetTypes'; -import composeStyles from '../../src/private/styles/composeStyles'; -import flatten from './flattenStyle'; - -const ReactNativeStyleAttributes = - require('../Components/View/ReactNativeStyleAttributes').default; -const PixelRatio = require('../Utilities/PixelRatio').default; const Platform = require('../Utilities/Platform').default; // [Win32] +const StyleSheet: StyleSheetExports = ( + require('./StyleSheetExports') as $FlowFixMe +).default; export type {NativeColorValue} from './StyleSheetTypes'; diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 03002b52a45..383529471a2 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -255,10 +255,10 @@ module.exports = { ); return require('./Libraries/Components/Clipboard/Clipboard').default; }, - get codegenNativeCommands(): codegenNativeCommands { + get codegenNativeCommands(): codegenNativeCommands { return require('./Libraries/Utilities/codegenNativeCommands').default; }, - get codegenNativeComponent(): codegenNativeComponent { + get codegenNativeComponent(): codegenNativeComponent { return require('./Libraries/Utilities/codegenNativeComponent').default; }, get DeviceEventEmitter(): RCTDeviceEventEmitter { @@ -353,7 +353,7 @@ module.exports = { get processColor(): processColor { return require('./Libraries/StyleSheet/processColor').default; }, - get registerCallableModule(): RegisterCallableModule { + get registerCallableModule(): registerCallableModule { return require('./Libraries/Core/registerCallableModule').default; }, get requireNativeComponent(): ( diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index c58a849e92c..b5740f88c68 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -252,10 +252,10 @@ module.exports = { ); return require('./Libraries/Components/Clipboard/Clipboard').default; }, - get codegenNativeCommands(): codegenNativeCommands { + get codegenNativeCommands(): codegenNativeCommands { return require('./Libraries/Utilities/codegenNativeCommands').default; }, - get codegenNativeComponent(): codegenNativeComponent { + get codegenNativeComponent(): codegenNativeComponent { return require('./Libraries/Utilities/codegenNativeComponent').default; }, get DeviceEventEmitter(): RCTDeviceEventEmitter { @@ -346,7 +346,7 @@ module.exports = { get processColor(): processColor { return require('./Libraries/StyleSheet/processColor').default; }, - get registerCallableModule(): RegisterCallableModule { + get registerCallableModule(): registerCallableModule { return require('./Libraries/Core/registerCallableModule').default; }, get requireNativeComponent(): ( From d9f9427d740ce7f1fbbba594c1806345d9c4008c Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 6 Jun 2025 08:33:05 -0700 Subject: [PATCH 26/48] Fix Lint + Fix Desktop Tests + Remove StyleSheet.win32 --- .ado/jobs/desktop.yml | 1 + .../react-native-win32/overrides.json | 6 - .../Libraries/StyleSheet/StyleSheet.win32.js | 356 ------------------ 3 files changed, 1 insertion(+), 362 deletions(-) delete mode 100644 packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js diff --git a/.ado/jobs/desktop.yml b/.ado/jobs/desktop.yml index 0acf236e2d8..b37b00ed158 100644 --- a/.ado/jobs/desktop.yml +++ b/.ado/jobs/desktop.yml @@ -305,6 +305,7 @@ jobs: # Bundler Invoke-WebRequest -UseBasicParsing -Uri "http://localhost:8081/IntegrationTests/IntegrationTestsApp.bundle?platform=windows&dev=true" + continueOnError: true - task: VSTest@2 displayName: Run Desktop Integration Tests diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index a16f3f448dc..82b9367e117 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -398,12 +398,6 @@ "type": "platform", "file": "src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.js" }, - { - "type": "patch", - "file": "src-win/Libraries/StyleSheet/StyleSheet.win32.js", - "baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js", - "baseHash": "49fb1640b0942be2966d759057ca5923c5358c81" - }, { "type": "derived", "file": "src-win/Libraries/Text/Text.d.ts", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js deleted file mode 100644 index ead2c022981..00000000000 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.win32.js +++ /dev/null @@ -1,356 +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'; - -import typeof * as StyleSheetExports from './StyleSheetExports'; -import type { - ____ColorValue_Internal, - ____DangerouslyImpreciseStyle_Internal, - ____DangerouslyImpreciseStyleProp_Internal, - ____ImageStyle_Internal, - ____ImageStyleProp_Internal, - ____TextStyle_Internal, - ____TextStyleProp_Internal, - ____ViewStyle_Internal, - ____ViewStyleProp_Internal, -} from './StyleSheetTypes'; - -const Platform = require('../Utilities/Platform').default; // [Win32] -const StyleSheet: StyleSheetExports = ( - require('./StyleSheetExports') as $FlowFixMe -).default; - -export type {NativeColorValue} from './StyleSheetTypes'; - -/** - * This type should be used as the type for anything that is a color. It is - * most useful when using DynamicColorIOS which can be a string or a dynamic - * color object. - * - * type props = {backgroundColor: ColorValue}; - */ -export type ColorValue = ____ColorValue_Internal; - -/** - * This type should be used as the type for a prop that is passed through - * to a 's `style` prop. This ensures call sites of the component - * can't pass styles that View doesn't support such as `fontSize`.` - * - * type Props = {style: ViewStyleProp} - * const MyComponent = (props: Props) => - */ -export type ViewStyleProp = ____ViewStyleProp_Internal; - -/** - * This type should be used as the type for a prop that is passed through - * to a 's `style` prop. This ensures call sites of the component - * can't pass styles that Text doesn't support such as `resizeMode`.` - * - * type Props = {style: TextStyleProp} - * const MyComponent = (props: Props) => - */ -export type TextStyleProp = ____TextStyleProp_Internal; - -/** - * This type should be used as the type for a prop that is passed through - * to an 's `style` prop. This ensures call sites of the component - * can't pass styles that Image doesn't support such as `fontSize`.` - * - * type Props = {style: ImageStyleProp} - * const MyComponent = (props: Props) => - */ -export type ImageStyleProp = ____ImageStyleProp_Internal; - -/** - * WARNING: You probably shouldn't be using this type. This type - * is similar to the ones above except it allows styles that are accepted - * by all of View, Text, or Image. It is therefore very unsafe to pass this - * through to an underlying component. Using this is almost always a mistake - * and using one of the other more restrictive types is likely the right choice. - */ -export type DangerouslyImpreciseStyleProp = - ____DangerouslyImpreciseStyleProp_Internal; - -/** - * Utility type for getting the values for specific style keys. - * - * The following is bad because position is more restrictive than 'string': - * ``` - * type Props = {position: string}; - * ``` - * - * You should use the following instead: - * - * ``` - * type Props = {position: TypeForStyleKey<'position'>}; - * ``` - * - * This will correctly give you the type 'absolute' | 'relative' - */ -export type TypeForStyleKey< - +key: $Keys<____DangerouslyImpreciseStyle_Internal>, -> = $ElementType<____DangerouslyImpreciseStyle_Internal, key>; - -/** - * This type is an object of the different possible style - * properties that can be specified for View. - * - * Note that this isn't a safe way to type a style prop for a component as - * results from StyleSheet.create return an internal identifier, not - * an object of styles. - * - * If you want to type the style prop of a function, - * consider using ViewStyleProp. - * - * A reasonable usage of this type is for helper functions that return an - * object of styles to pass to a View that can't be precomputed with - * StyleSheet.create. - */ -export type ViewStyle = ____ViewStyle_Internal; - -/** - * This type is an object of the different possible style - * properties that can be specified for Text. - * - * Note that this isn't a safe way to type a style prop for a component as - * results from StyleSheet.create return an internal identifier, not - * an object of styles. - * - * If you want to type the style prop of a function, - * consider using TextStyleProp. - * - * A reasonable usage of this type is for helper functions that return an - * object of styles to pass to a Text that can't be precomputed with - * StyleSheet.create. - */ -export type TextStyle = ____TextStyle_Internal; - -/** - * This type is an object of the different possible style - * properties that can be specified for Image. - * - * Note that this isn't a safe way to type a style prop for a component as - * results from StyleSheet.create return an internal identifier, not - * an object of styles. - * - * If you want to type the style prop of a function, - * consider using ImageStyleProp. - * - * A reasonable usage of this type is for helper functions that return an - * object of styles to pass to an Image that can't be precomputed with - * StyleSheet.create. - */ -export type ImageStyle = ____ImageStyle_Internal; - -/** - * WARNING: You probably shouldn't be using this type. This type is an object - * with all possible style keys and their values. Note that this isn't - * a safe way to type a style prop for a component as results from - * StyleSheet.create return an internal identifier, not an object of styles. - * - * If you want to type the style prop of a function, consider using - * ViewStyleProp, TextStyleProp, or ImageStyleProp. - * - * This should only be used by very core utilities that operate on an object - * containing any possible style value. - */ -export type DangerouslyImpreciseStyle = ____DangerouslyImpreciseStyle_Internal; - -let hairlineWidth: number = - Platform.OS === 'win32' ? 0.5 : PixelRatio.roundToNearestPixel(0.4); // TODO(windows ISS) - Avoid calls to PixelRatio - needs multi window support -if (hairlineWidth === 0) { - hairlineWidth = 1 / PixelRatio.get(); -} - -const absoluteFill: { - +bottom: 0, - +left: 0, - +position: 'absolute', - +right: 0, - +top: 0, -} = { - position: 'absolute', - left: 0, - right: 0, - top: 0, - bottom: 0, -}; -if (__DEV__) { - Object.freeze(absoluteFill); -} - -/** - * A StyleSheet is an abstraction similar to CSS StyleSheets - * - * Create a new StyleSheet: - * - * ``` - * const styles = StyleSheet.create({ - * container: { - * borderRadius: 4, - * borderWidth: 0.5, - * borderColor: '#d6d7da', - * }, - * title: { - * fontSize: 19, - * fontWeight: 'bold', - * }, - * activeTitle: { - * color: 'red', - * }, - * }); - * ``` - * - * Use a StyleSheet: - * - * ``` - * - * - * - * ``` - * - * Code quality: - * - * - By moving styles away from the render function, you're making the code - * easier to understand. - * - Naming the styles is a good way to add meaning to the low level components - * in the render function, and encourage reuse. - * - In most IDEs, using `StyleSheet.create()` will offer static type checking - * and suggestions to help you write valid styles. - * - */ -export default { - /** - * This is defined as the width of a thin line on the platform. It can be - * used as the thickness of a border or division between two elements. - * Example: - * ``` - * { - * borderBottomColor: '#bbb', - * borderBottomWidth: StyleSheet.hairlineWidth - * } - * ``` - * - * This constant will always be a round number of pixels (so a line defined - * by it look crisp) and will try to match the standard width of a thin line - * on the underlying platform. However, you should not rely on it being a - * constant size, because on different platforms and screen densities its - * value may be calculated differently. - * - * A line with hairline width may not be visible if your simulator is downscaled. - */ - hairlineWidth, - - /** - * A very common pattern is to create overlays with position absolute and zero positioning, - * so `absoluteFill` can be used for convenience and to reduce duplication of these repeated - * styles. - */ - absoluteFill: (absoluteFill: any), // TODO: This should be updated after we fix downstream Flow sites. - - /** - * Sometimes you may want `absoluteFill` but with a couple tweaks - `absoluteFillObject` can be - * used to create a customized entry in a `StyleSheet`, e.g.: - * - * const styles = StyleSheet.create({ - * wrapper: { - * ...StyleSheet.absoluteFillObject, - * top: 10, - * backgroundColor: 'transparent', - * }, - * }); - */ - absoluteFillObject: absoluteFill, - - /** - * Combines two styles such that `style2` will override any styles in `style1`. - * If either style is falsy, the other one is returned without allocating an - * array, saving allocations and maintaining reference equality for - * PureComponent checks. - */ - compose: composeStyles, - - /** - * Flattens an array of style objects, into one aggregated style object. - * - * Example: - * ``` - * const styles = StyleSheet.create({ - * listItem: { - * flex: 1, - * fontSize: 16, - * color: 'white' - * }, - * selectedListItem: { - * color: 'green' - * } - * }); - * - * StyleSheet.flatten([styles.listItem, styles.selectedListItem]) - * // returns { flex: 1, fontSize: 16, color: 'green' } - * ``` - */ - flatten, - - /** - * WARNING: EXPERIMENTAL. Breaking changes will probably happen a lot and will - * not be reliably announced. The whole thing might be deleted, who knows? Use - * at your own risk. - * - * Sets a function to use to pre-process a style property value. This is used - * internally to process color and transform values. You should not use this - * unless you really know what you are doing and have exhausted other options. - */ - setStyleAttributePreprocessor( - property: string, - process: (nextProp: mixed) => mixed, - ) { - let value; - - if (ReactNativeStyleAttributes[property] === true) { - value = {process}; - } else if (typeof ReactNativeStyleAttributes[property] === 'object') { - value = {...ReactNativeStyleAttributes[property], process}; - } else { - console.error(`${property} is not a valid style attribute`); - return; - } - - if ( - __DEV__ && - typeof value.process === 'function' && - typeof ReactNativeStyleAttributes[property]?.process === 'function' && - value.process !== ReactNativeStyleAttributes[property]?.process - ) { - console.warn(`Overwriting ${property} style attribute preprocessor`); - } - - ReactNativeStyleAttributes[property] = value; - }, - - /** - * An identity function for creating style sheets. - */ - // $FlowFixMe[unsupported-variance-annotation] - create<+S: ____Styles_Internal>(obj: S): $ReadOnly { - // TODO: This should return S as the return type. But first, - // we need to codemod all the callsites that are typing this - // return value as a number (even though it was opaque). - if (__DEV__) { - for (const key in obj) { - if (obj[key]) { - Object.freeze(obj[key]); - } - } - } - return obj; - }, -}; From 73b6eb49f0a52a5d76502896267b9916add8e63d Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 6 Jun 2025 09:23:01 -0700 Subject: [PATCH 27/48] Add Support for ReportFullyDrawn --- .../ReportFullyDrawnView.js | 13 ++++++++++ .../ReportFullyDrawnViewNativeComponent.js | 24 +++++++++++++++++++ .../ReportFullyDrawnView.js | 13 ++++++++++ .../ReportFullyDrawnViewNativeComponent.js | 24 +++++++++++++++++++ .../ReportFullyDrawnView.js | 13 ++++++++++ .../ReportFullyDrawnViewNativeComponent.js | 24 +++++++++++++++++++ packages/@react-native/tester/overrides.json | 14 +++++++++++ 7 files changed, 125 insertions(+) create mode 100644 packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnView.js create mode 100644 packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js create mode 100644 packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnView.js create mode 100644 packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js create mode 100644 packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnView.js create mode 100644 packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js diff --git a/packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnView.js b/packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnView.js new file mode 100644 index 00000000000..882c04ff694 --- /dev/null +++ b/packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnView.js @@ -0,0 +1,13 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import {View} from 'react-native'; + +export default View; diff --git a/packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js b/packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js new file mode 100644 index 00000000000..232e9c07643 --- /dev/null +++ b/packages/@office-iss/react-native-win32-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js @@ -0,0 +1,24 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import type {HostComponent} from 'react-native'; +import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes'; + +import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; + +type NativeProps = $ReadOnly<{ + ...ViewProps, +}>; + +export type ReportFullyDrawnViewType = HostComponent; + +export default (codegenNativeComponent( + 'RNTReportFullyDrawnView', +): ReportFullyDrawnViewType); diff --git a/packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnView.js b/packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnView.js new file mode 100644 index 00000000000..882c04ff694 --- /dev/null +++ b/packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnView.js @@ -0,0 +1,13 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import {View} from 'react-native'; + +export default View; diff --git a/packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js b/packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js new file mode 100644 index 00000000000..232e9c07643 --- /dev/null +++ b/packages/@react-native-windows/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js @@ -0,0 +1,24 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import type {HostComponent} from 'react-native'; +import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes'; + +import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; + +type NativeProps = $ReadOnly<{ + ...ViewProps, +}>; + +export type ReportFullyDrawnViewType = HostComponent; + +export default (codegenNativeComponent( + 'RNTReportFullyDrawnView', +): ReportFullyDrawnViewType); diff --git a/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnView.js b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnView.js new file mode 100644 index 00000000000..882c04ff694 --- /dev/null +++ b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnView.js @@ -0,0 +1,13 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import {View} from 'react-native'; + +export default View; diff --git a/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js new file mode 100644 index 00000000000..232e9c07643 --- /dev/null +++ b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js @@ -0,0 +1,24 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import type {HostComponent} from 'react-native'; +import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes'; + +import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; + +type NativeProps = $ReadOnly<{ + ...ViewProps, +}>; + +export type ReportFullyDrawnViewType = HostComponent; + +export default (codegenNativeComponent( + 'RNTReportFullyDrawnView', +): ReportFullyDrawnViewType); diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index 21ca045b6ba..b83edb6d1bc 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -658,6 +658,20 @@ "baseFile": "packages/rn-tester/package.json", "baseHash": "e30b0f85845127e6de68e618be83e69bf210596f", "issue": 13228 + }, + { + "type": "copy", + "file": "ReportFullyDrawnView/ReportFullyDrawnView.js", + "baseFile": "packages/rn-tester/ReportFullyDrawnView/ReportFullyDrawnView.js", + "baseHash": "2f2b868b9b4870303f8665e55293cce4ed6b8d3f", + "issue": 0 + }, + { + "type": "copy", + "file": "ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js", + "baseFile": "packages/rn-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js", + "baseHash": "6bf9a8a646111c9613a511281686d8cec6c964ca", + "issue": 0 } ] } \ No newline at end of file From ced7bf3c79a1f044b3402ffe95a5e9e52af092e6 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:47:22 -0700 Subject: [PATCH 28/48] Add StyleSheet Copy --- .../react-native-win32/overrides.json | 7 + .../Libraries/StyleSheet/StyleSheet.js | 165 ++++++++++++++++++ 2 files changed, 172 insertions(+) create mode 100644 packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 82b9367e117..a3c57b2bcc6 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -398,6 +398,13 @@ "type": "platform", "file": "src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.js" }, + { + "type": "copy", + "file": "src-win/Libraries/StyleSheet/StyleSheet.js", + "baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js", + "baseHash": "49fb1640b0942be2966d759057ca5923c5358c81", + "issue": 0 + }, { "type": "derived", "file": "src-win/Libraries/Text/Text.d.ts", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js new file mode 100644 index 00000000000..b6cb186c5db --- /dev/null +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js @@ -0,0 +1,165 @@ +/** + * 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'; + +import typeof * as StyleSheetExports from './StyleSheetExports'; +import type { + ____ColorValue_Internal, + ____DangerouslyImpreciseStyle_Internal, + ____DangerouslyImpreciseStyleProp_Internal, + ____ImageStyle_Internal, + ____ImageStyleProp_Internal, + ____TextStyle_Internal, + ____TextStyleProp_Internal, + ____ViewStyle_Internal, + ____ViewStyleProp_Internal, +} from './StyleSheetTypes'; +const StyleSheet: StyleSheetExports = ( + require('./StyleSheetExports') as $FlowFixMe +).default; + +export type {NativeColorValue} from './StyleSheetTypes'; + +/** + * This type should be used as the type for anything that is a color. It is + * most useful when using DynamicColorIOS which can be a string or a dynamic + * color object. + * + * type props = {backgroundColor: ColorValue}; + */ +export type ColorValue = ____ColorValue_Internal; + +/** + * This type should be used as the type for a prop that is passed through + * to a 's `style` prop. This ensures call sites of the component + * can't pass styles that View doesn't support such as `fontSize`.` + * + * type Props = {style: ViewStyleProp} + * const MyComponent = (props: Props) => + */ +export type ViewStyleProp = ____ViewStyleProp_Internal; + +/** + * This type should be used as the type for a prop that is passed through + * to a 's `style` prop. This ensures call sites of the component + * can't pass styles that Text doesn't support such as `resizeMode`.` + * + * type Props = {style: TextStyleProp} + * const MyComponent = (props: Props) => + */ +export type TextStyleProp = ____TextStyleProp_Internal; + +/** + * This type should be used as the type for a prop that is passed through + * to an 's `style` prop. This ensures call sites of the component + * can't pass styles that Image doesn't support such as `fontSize`.` + * + * type Props = {style: ImageStyleProp} + * const MyComponent = (props: Props) => + */ +export type ImageStyleProp = ____ImageStyleProp_Internal; + +/** + * WARNING: You probably shouldn't be using this type. This type + * is similar to the ones above except it allows styles that are accepted + * by all of View, Text, or Image. It is therefore very unsafe to pass this + * through to an underlying component. Using this is almost always a mistake + * and using one of the other more restrictive types is likely the right choice. + */ +export type DangerouslyImpreciseStyleProp = + ____DangerouslyImpreciseStyleProp_Internal; + +/** + * Utility type for getting the values for specific style keys. + * + * The following is bad because position is more restrictive than 'string': + * ``` + * type Props = {position: string}; + * ``` + * + * You should use the following instead: + * + * ``` + * type Props = {position: TypeForStyleKey<'position'>}; + * ``` + * + * This will correctly give you the type 'absolute' | 'relative' + */ +export type TypeForStyleKey< + +key: $Keys<____DangerouslyImpreciseStyle_Internal>, +> = $ElementType<____DangerouslyImpreciseStyle_Internal, key>; + +/** + * This type is an object of the different possible style + * properties that can be specified for View. + * + * Note that this isn't a safe way to type a style prop for a component as + * results from StyleSheet.create return an internal identifier, not + * an object of styles. + * + * If you want to type the style prop of a function, + * consider using ViewStyleProp. + * + * A reasonable usage of this type is for helper functions that return an + * object of styles to pass to a View that can't be precomputed with + * StyleSheet.create. + */ +export type ViewStyle = ____ViewStyle_Internal; + +/** + * This type is an object of the different possible style + * properties that can be specified for Text. + * + * Note that this isn't a safe way to type a style prop for a component as + * results from StyleSheet.create return an internal identifier, not + * an object of styles. + * + * If you want to type the style prop of a function, + * consider using TextStyleProp. + * + * A reasonable usage of this type is for helper functions that return an + * object of styles to pass to a Text that can't be precomputed with + * StyleSheet.create. + */ +export type TextStyle = ____TextStyle_Internal; + +/** + * This type is an object of the different possible style + * properties that can be specified for Image. + * + * Note that this isn't a safe way to type a style prop for a component as + * results from StyleSheet.create return an internal identifier, not + * an object of styles. + * + * If you want to type the style prop of a function, + * consider using ImageStyleProp. + * + * A reasonable usage of this type is for helper functions that return an + * object of styles to pass to an Image that can't be precomputed with + * StyleSheet.create. + */ +export type ImageStyle = ____ImageStyle_Internal; + +/** + * WARNING: You probably shouldn't be using this type. This type is an object + * with all possible style keys and their values. Note that this isn't + * a safe way to type a style prop for a component as results from + * StyleSheet.create return an internal identifier, not an object of styles. + * + * If you want to type the style prop of a function, consider using + * ViewStyleProp, TextStyleProp, or ImageStyleProp. + * + * This should only be used by very core utilities that operate on an object + * containing any possible style value. + */ +export type DangerouslyImpreciseStyle = ____DangerouslyImpreciseStyle_Internal; + +export default StyleSheet; From 8e33fccbd6c8a484ce8978d8f4f4af3d1b48d4a2 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:57:16 -0700 Subject: [PATCH 29/48] Add UrlExample.js --- .../tester/js/examples/Urls/UrlExample.js | 92 +++++++++++++++++++ packages/@react-native/tester/overrides.json | 7 ++ 2 files changed, 99 insertions(+) create mode 100644 packages/@react-native/tester/js/examples/Urls/UrlExample.js diff --git a/packages/@react-native/tester/js/examples/Urls/UrlExample.js b/packages/@react-native/tester/js/examples/Urls/UrlExample.js new file mode 100644 index 00000000000..ed7af41bce7 --- /dev/null +++ b/packages/@react-native/tester/js/examples/Urls/UrlExample.js @@ -0,0 +1,92 @@ +/** + * 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. + * + * @format + * @flow + */ + +'use strict'; + +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + +import RNTesterText from '../../components/RNTesterText'; +import React from 'react'; +import {StyleSheet, View} from 'react-native'; + +type Props = { + url: string, +}; + +function URLComponent(props: Props) { + const parsedUrl = new URL(props.url); + return ( + + {`href: ${parsedUrl.href}`} + {`hash: ${parsedUrl.hash}`} + {`host: ${parsedUrl.host}`} + {`hostname: ${parsedUrl.hostname}`} + {`password: ${parsedUrl.password}`} + {`username: ${parsedUrl.username}`} + {`pathname: ${parsedUrl.pathname}`} + {`port: ${parsedUrl.port}`} + {`search: ${parsedUrl.search}`} + + ); +} + +const styles = StyleSheet.create({ + container: { + padding: 10, + }, +}); + +exports.title = 'URL'; +exports.category = 'Basic'; +exports.description = 'URL Parameters test'; +exports.examples = [ + { + title: 'completeURL', + description: 'URL with username,password,port,and queryparams', + render(): React.Node { + return ( + + ); + }, + }, + { + title: 'basicURL', + description: 'Basic URL without username, password, or port', + render(): React.Node { + return ; + }, + }, + { + title: 'queryParamsURL', + description: 'URL with query parameters', + render(): React.Node { + return ( + + ); + }, + }, + { + title: 'authAndPortURL', + description: 'URL with username, password, and port', + render(): React.Node { + return ( + + ); + }, + }, +] as Array; diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index b83edb6d1bc..bc033cfd884 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -526,6 +526,13 @@ "baseHash": "ba8d337f59715ce8fbd05f6cbc79def6ea14334c", "issue": 4054 }, + { + "type": "copy", + "file": "js/examples/Urls/UrlExample.js", + "baseFile": "packages/rn-tester/js/examples/Urls/UrlExample.js", + "baseHash": "2dc9c4108dc6983696bd0fcdf619d653f99545e6", + "issue": 0 + }, { "type": "copy", "directory": "js/examples/Vibration", From bc5b6c4a8a99694de61a6f68c43cf4ce244e55cb Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 6 Jun 2025 12:39:16 -0700 Subject: [PATCH 30/48] Override getNativeComponentAttributes.js --- vnext/overrides.json | 7 + .../getNativeComponentAttributes.windows.js | 213 ++++++++++++++++++ 2 files changed, 220 insertions(+) create mode 100644 vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js diff --git a/vnext/overrides.json b/vnext/overrides.json index 3c480b607e0..7675b8899ea 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -568,6 +568,13 @@ "baseHash": "97027444d74f5a2f03a966753c23f86145f3fc0b", "issue": 4379 }, + { + "type": "patch", + "file": "src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js", + "baseFile": "packages/react-native/Libraries/ReactNative/getNativeComponentAttributes.js", + "baseHash": "b6a30163636ad82b1e52ac6bac613e45837c354c", + "issue": 14744 + }, { "type": "patch", "file": "src-win/Libraries/ReactNative/PaperUIManager.windows.js", diff --git a/vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js b/vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js new file mode 100644 index 00000000000..bba95656ee4 --- /dev/null +++ b/vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js @@ -0,0 +1,213 @@ +/** + * 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'; + +import processBoxShadow from '../StyleSheet/processBoxShadow'; + +const ReactNativeStyleAttributes = + require('../Components/View/ReactNativeStyleAttributes').default; +const resolveAssetSource = require('../Image/resolveAssetSource').default; +const processBackgroundImage = + require('../StyleSheet/processBackgroundImage').default; +const processColor = require('../StyleSheet/processColor').default; +const processColorArray = require('../StyleSheet/processColorArray').default; +const processFilter = require('../StyleSheet/processFilter').default; +const insetsDiffer = require('../Utilities/differ/insetsDiffer').default; +const matricesDiffer = require('../Utilities/differ/matricesDiffer').default; +const pointsDiffer = require('../Utilities/differ/pointsDiffer').default; +const sizesDiffer = require('../Utilities/differ/sizesDiffer').default; +const UIManager = require('./UIManager').default; +const nullthrows = require('nullthrows'); + +function getNativeComponentAttributes(uiViewClassName: string): any { + const viewConfig = UIManager.hasViewManagerConfig(uiViewClassName); // [Windows] - Remove after #14744 is closed. + + if (viewConfig == null) { + return null; + } + + // TODO: This seems like a whole lot of runtime initialization for every + // native component that can be either avoided or simplified. + let {baseModuleName, bubblingEventTypes, directEventTypes} = viewConfig; + let nativeProps = viewConfig.NativeProps; + + bubblingEventTypes = bubblingEventTypes ?? {}; + directEventTypes = directEventTypes ?? {}; + + while (baseModuleName) { + const baseModule = UIManager.hasViewManagerConfig(baseModuleName); // [Windows] - Remove after #14744 is closed. + if (!baseModule) { + baseModuleName = null; + } else { + bubblingEventTypes = { + ...baseModule.bubblingEventTypes, + ...bubblingEventTypes, + }; + directEventTypes = { + ...baseModule.directEventTypes, + ...directEventTypes, + }; + nativeProps = { + ...baseModule.NativeProps, + ...nativeProps, + }; + baseModuleName = baseModule.baseModuleName; + } + } + + const validAttributes: {[string]: mixed} = {}; + + for (const key in nativeProps) { + const typeName = nativeProps[key]; + const diff = getDifferForType(typeName); + const process = getProcessorForType(typeName); + + // If diff or process == null, omit the corresponding property from the Attribute + // Why: + // 1. Consistency with AttributeType flow type + // 2. Consistency with Static View Configs, which omit the null properties + validAttributes[key] = + diff == null + ? process == null + ? true + : {process} + : process == null + ? {diff} + : {diff, process}; + } + + // Unfortunately, the current setup declares style properties as top-level + // props. This makes it so we allow style properties in the `style` prop. + // TODO: Move style properties into a `style` prop and disallow them as + // top-level props on the native side. + validAttributes.style = ReactNativeStyleAttributes; + + Object.assign(viewConfig, { + uiViewClassName, + validAttributes, + bubblingEventTypes, + directEventTypes, + }); + + attachDefaultEventTypes(viewConfig); + + return viewConfig; +} + +function attachDefaultEventTypes(viewConfig: any) { + // This is supported on UIManager platforms (ex: Android), + // as lazy view managers are not implemented for all platforms. + // See [UIManager] for details on constants and implementations. + const constants = UIManager.getConstants(); + if (constants.ViewManagerNames || constants.LazyViewManagersEnabled) { + // Lazy view managers enabled. + viewConfig = merge( + viewConfig, + nullthrows(UIManager.getDefaultEventTypes)(), + ); + } else { + viewConfig.bubblingEventTypes = merge( + viewConfig.bubblingEventTypes, + constants.genericBubblingEventTypes, + ); + viewConfig.directEventTypes = merge( + viewConfig.directEventTypes, + constants.genericDirectEventTypes, + ); + } +} + +// TODO: Figure out how to avoid all this runtime initialization cost. +function merge(destination: ?Object, source: ?Object): ?Object { + if (!source) { + return destination; + } + if (!destination) { + return source; + } + + for (const key in source) { + if (!source.hasOwnProperty(key)) { + continue; + } + + let sourceValue = source[key]; + if (destination.hasOwnProperty(key)) { + const destinationValue = destination[key]; + if ( + typeof sourceValue === 'object' && + typeof destinationValue === 'object' + ) { + sourceValue = merge(destinationValue, sourceValue); + } + } + destination[key] = sourceValue; + } + return destination; +} + +function getDifferForType( + typeName: string, +): ?(prevProp: any, nextProp: any) => boolean { + switch (typeName) { + // iOS Types + case 'CATransform3D': + return matricesDiffer; + case 'CGPoint': + return pointsDiffer; + case 'CGSize': + return sizesDiffer; + case 'UIEdgeInsets': + return insetsDiffer; + // Android Types + case 'Point': + return pointsDiffer; + case 'EdgeInsets': + return insetsDiffer; + } + return null; +} + +function getProcessorForType(typeName: string): ?(nextProp: any) => any { + switch (typeName) { + // iOS Types + case 'CGColor': + case 'UIColor': + return processColor; + case 'CGColorArray': + case 'UIColorArray': + return processColorArray; + case 'CGImage': + case 'UIImage': + case 'RCTImageSource': + return resolveAssetSource; + case 'BoxShadowArray': + return processBoxShadow; + case 'FilterArray': + return processFilter; + // Android Types + case 'Color': + return processColor; + case 'ColorArray': + return processColorArray; + case 'Filter': + return processFilter; + case 'BackgroundImage': + return processBackgroundImage; + case 'ImageSource': + return resolveAssetSource; + case 'BoxShadow': + return processBoxShadow; + } + return null; +} + +export default getNativeComponentAttributes; From 7d7b253e78cc3e620a8c07571471fab4e2fd5bfd Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 6 Jun 2025 16:01:01 -0700 Subject: [PATCH 31/48] Update Snapshots + Fix Flow --- .../react-native-win32/.flowconfig | 1 - .../__snapshots__/HomeUIADump.test.ts.snap | 85 ++- .../TextComponentTest.test.ts.snap | 86 +-- .../ViewComponentTest.test.ts.snap | 36 +- .../__snapshots__/snapshotPages.test.js.snap | 663 +++++++++++++++++- 5 files changed, 798 insertions(+), 73 deletions(-) diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index 9b00a07fb6f..4d602b1bee8 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -28,7 +28,6 @@ /Libraries/Network/RCTNetworking.js /Libraries/Pressability/Pressability.js /Libraries/Pressability/HoverState.js -/Libraries/StyleSheet/StyleSheet.js /Libraries/StyleSheet/PlatformColorValueTypes.js /Libraries/Text/TextProps.js /Libraries/Types/CoreEventTypes.js diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap b/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap index 204104d7ef8..ba9c75eeb8d 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap @@ -6182,6 +6182,87 @@ exports[`Home UIA Tree Dump TurboModule 1`] = ` } `; +exports[`Home UIA Tree Dump URL 1`] = ` +{ + "Automation Tree": { + "AutomationId": "URL", + "ControlType": 50026, + "IsKeyboardFocusable": true, + "LocalizedControlType": "group", + "Name": "URL URL Parameters test", + "__Children": [ + { + "AutomationId": "", + "ControlType": 50020, + "LocalizedControlType": "text", + "Name": "URL", + "TextRangePattern.GetText": "URL", + }, + { + "AutomationId": "", + "ControlType": 50020, + "LocalizedControlType": "text", + "Name": "URL Parameters test", + "TextRangePattern.GetText": "URL Parameters test", + }, + ], + }, + "Component Tree": { + "Type": "Microsoft.ReactNative.Composition.ViewComponentView", + "_Props": { + "AccessibilityLabel": "URL URL Parameters test", + "TestId": "URL", + }, + "__Children": [ + { + "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView", + "_Props": {}, + }, + { + "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView", + "_Props": {}, + }, + ], + }, + "Visual Tree": { + "Brush": { + "Brush Type": "ColorBrush", + "Color": "rgba(255, 255, 255, 255)", + }, + "Comment": "URL", + "Offset": "0, 0, 0", + "Size": "966, 78", + "Visual Type": "SpriteVisual", + "__Children": [ + { + "Offset": "16, 16, 0", + "Size": "32, 25", + "Visual Type": "SpriteVisual", + "__Children": [ + { + "Offset": "0, 0, 0", + "Size": "32, 25", + "Visual Type": "SpriteVisual", + }, + ], + }, + { + "Offset": "16, 45, 0", + "Size": "934, 17", + "Visual Type": "SpriteVisual", + "__Children": [ + { + "Offset": "0, 0, 0", + "Size": "934, 17", + "Visual Type": "SpriteVisual", + }, + ], + }, + ], + }, +} +`; + exports[`Home UIA Tree Dump View 1`] = ` { "Automation Tree": { @@ -6317,12 +6398,12 @@ exports[`Home UIA Tree Dump WebSocket 1`] = ` "__Children": [ { "Offset": "16, 16, 0", - "Size": "89, 25", + "Size": "89, 24", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "89, 25", + "Size": "89, 24", "Visual Type": "SpriteVisual", }, ], diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap b/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap index 9d526f39324..400b590d0fc 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap @@ -258,7 +258,7 @@ exports[`Text Tests Text can be selectable 1`] = ` "Visual Tree": { "Comment": "text-selectable", "Offset": "0, 0, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", }, } @@ -306,7 +306,7 @@ exports[`Text Tests Text can have a customized selection color 1`] = ` "Visual Tree": { "Comment": "text-selection-color", "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", }, } @@ -396,12 +396,12 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 40", + "Size": "916, 39", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 40", + "Size": "916, 39", "Visual Type": "SpriteVisual", "__Children": [ { @@ -437,7 +437,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(255, 0, 0, 255)", }, "Offset": "-10, 20, 0", - "Size": "10, 14", + "Size": "10, 13", "Visual Type": "SpriteVisual", }, { @@ -473,7 +473,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(255, 0, 0, 255)", }, "Offset": "0, 22, 0", - "Size": "20, 10", + "Size": "20, 9", "Visual Type": "SpriteVisual", }, ], @@ -482,12 +482,12 @@ exports[`Text Tests Text can have advanced borders 1`] = ` }, { "Offset": "0, 38, 0", - "Size": "916, 39", + "Size": "916, 40", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 39", + "Size": "916, 40", "Visual Type": "SpriteVisual", "__Children": [ { @@ -523,7 +523,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 0, 255, 255)", }, "Offset": "-10, 20, 0", - "Size": "10, 13", + "Size": "10, 14", "Visual Type": "SpriteVisual", }, { @@ -559,7 +559,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 0, 255, 255)", }, "Offset": "0, 22, 0", - "Size": "20, 9", + "Size": "20, 10", "Visual Type": "SpriteVisual", }, ], @@ -568,12 +568,12 @@ exports[`Text Tests Text can have advanced borders 1`] = ` }, { "Offset": "0, 77, 0", - "Size": "916, 22", + "Size": "916, 21", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 22", + "Size": "916, 21", "Visual Type": "SpriteVisual", "__Children": [ { @@ -609,7 +609,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 128, 0, 255)", }, "Offset": "-1, 4, 0", - "Size": "1, 14", + "Size": "1, 13", "Visual Type": "SpriteVisual", }, { @@ -645,7 +645,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 128, 0, 255)", }, "Offset": "0, 4, 0", - "Size": "1, 14", + "Size": "1, 13", "Visual Type": "SpriteVisual", }, ], @@ -799,12 +799,12 @@ exports[`Text Tests Text can have borders 1`] = ` }, { "Offset": "100, 127, 0", - "Size": "716, 138", + "Size": "716, 139", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "716, 138", + "Size": "716, 139", "Visual Type": "SpriteVisual", "__Children": [ { @@ -957,8 +957,8 @@ exports[`Text Tests Text can have inline views/images 1`] = ` "Visual Type": "SpriteVisual", "__Children": [ { - "Offset": "229, 0, 0", - "Size": "26, 19", + "Offset": "0, 0, 0", + "Size": "0, 0", "Visual Type": "SpriteVisual", "__Children": [ { @@ -967,19 +967,19 @@ exports[`Text Tests Text can have inline views/images 1`] = ` "Color": "rgba(70, 130, 180, 255)", }, "Offset": "0, 0, 0", - "Size": "26, 19", + "Size": "0, 0", "Visual Type": "SpriteVisual", }, ], }, { - "Offset": "384, 0, 0", - "Size": "34, 23", + "Offset": "0, 0, 0", + "Size": "0, 0", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "34, 23", + "Size": "0, 0", "Visual Type": "SpriteVisual", }, ], @@ -1042,29 +1042,29 @@ exports[`Text Tests Text can have nested views 1`] = ` "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", }, ], }, { "Offset": "0, 18, 0", - "Size": "916, 24", + "Size": "916, 23", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 24", + "Size": "916, 23", "Visual Type": "SpriteVisual", "__Children": [ { - "Offset": "125, 0, 0", - "Size": "21, 19", + "Offset": "0, 0, 0", + "Size": "0, 0", "Visual Type": "SpriteVisual", "__Children": [ { @@ -1073,7 +1073,7 @@ exports[`Text Tests Text can have nested views 1`] = ` "Color": "rgba(255, 0, 0, 255)", }, "Offset": "0, 0, 0", - "Size": "21, 19", + "Size": "0, 0", "Visual Type": "SpriteVisual", }, ], @@ -1105,7 +1105,7 @@ exports[`Text Tests Text can have shadows 1`] = ` "Visual Tree": { "Comment": "text-shadow", "Offset": "0, 0, 0", - "Size": "916, 28", + "Size": "916, 27", "Visual Type": "SpriteVisual", }, } @@ -1228,12 +1228,12 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", }, ], @@ -1249,8 +1249,8 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` "Visual Type": "SpriteVisual", "__Children": [ { - "Offset": "0, 19, 0", - "Size": "51, 19", + "Offset": "0, 0, 0", + "Size": "0, 0", "Visual Type": "SpriteVisual", "__Children": [ { @@ -1259,14 +1259,14 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` "Color": "rgba(255, 0, 0, 255)", }, "Offset": "0, 0, 0", - "Size": "51, 19", + "Size": "0, 0", "Visual Type": "SpriteVisual", }, ], }, { - "Offset": "1, 20, 0", - "Size": "48, 98", + "Offset": "0, 0, 0", + "Size": "0, 0", "Visual Type": "SpriteVisual", "__Children": [ { @@ -1275,7 +1275,7 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` "Color": "rgba(70, 130, 180, 255)", }, "Offset": "0, 0, 0", - "Size": "48, 98", + "Size": "0, 0", "Visual Type": "SpriteVisual", }, ], @@ -1286,12 +1286,12 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` }, { "Offset": "0, 103, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", }, ], @@ -1307,13 +1307,13 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` "Visual Type": "SpriteVisual", "__Children": [ { - "Offset": "0, 19, 0", - "Size": "51, 19", + "Offset": "0, 0, 0", + "Size": "0, 0", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "51, 19", + "Size": "0, 0", "Visual Type": "SpriteVisual", }, ], diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/ViewComponentTest.test.ts.snap b/packages/e2e-test-app-fabric/test/__snapshots__/ViewComponentTest.test.ts.snap index 3d3eb0fd2c7..3228f9b04c5 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/ViewComponentTest.test.ts.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/ViewComponentTest.test.ts.snap @@ -452,12 +452,10 @@ exports[`View Tests Views can have backface visibility 1`] = ` { "Type": "Microsoft.ReactNative.Composition.ViewComponentView", "_Props": {}, - "__Children": [ - { - "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView", - "_Props": {}, - }, - ], + }, + { + "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView", + "_Props": {}, }, { "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView", @@ -540,20 +538,18 @@ exports[`View Tests Views can have backface visibility 1`] = ` "Offset": "0, 0, 0", "Size": "150, 150", "Visual Type": "SpriteVisual", - "__Children": [ - { - "Offset": "10, 56, 0", - "Size": "130, 38", - "Visual Type": "SpriteVisual", - "__Children": [ - { - "Offset": "0, 0, 0", - "Size": "130, 38", - "Visual Type": "SpriteVisual", - }, - ], - }, - ], + }, + ], + }, + { + "Offset": "393, 85, 0", + "Size": "130, 38", + "Visual Type": "SpriteVisual", + "__Children": [ + { + "Offset": "0, 0, 0", + "Size": "130, 38", + "Visual Type": "SpriteVisual", }, ], }, diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index d2763ba1f8b..478608b2e7a 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -51681,6 +51681,113 @@ exports[`snapshotAllPages ScrollView 22`] = ` `; +exports[`snapshotAllPages ScrollView 23`] = ` + + + + + + Item + 1 + + + + + Item + 2 + + + + + Item + 3 + + + + + +`; + exports[`snapshotAllPages ScrollViewAnimated 1`] = ` Maximum of one line no matter now much I write here. If I keep writing it ' ll just truncate after one line - , + , + , + + + The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. + + , -] + + `; exports[`snapshotAllPages Text 28`] = ` @@ -78433,6 +78568,7 @@ exports[`snapshotAllPages TextInput 20`] = ` "fontSize": 16, } } + testID="dynamic-width-uncontrolled-textinput" /> `; +exports[`snapshotAllPages URL 1`] = ` + + + href: https://username:password@reactnative.dev:8080/docs/path?query=testQuery&key=value#fragment + + + hash: #fragment + + + host: reactnative.dev:8080 + + + hostname: reactnative.dev + + + password: password + + + username: username + + + pathname: /docs/path + + + port: 8080 + + + search: ?query=testQuery&key=value + + +`; + +exports[`snapshotAllPages URL 2`] = ` + + + href: https://reactnative.dev/docs/path + + + hash: + + + host: reactnative.dev + + + hostname: reactnative.dev + + + password: + + + username: + + + pathname: /docs/path + + + port: + + + search: + + +`; + +exports[`snapshotAllPages URL 3`] = ` + + + href: https://reactnative.dev/docs/path?query=testQuery&key=value + + + hash: + + + host: reactnative.dev + + + hostname: reactnative.dev + + + password: + + + username: + + + pathname: /docs/path + + + port: + + + search: ?query=testQuery&key=value + + +`; + +exports[`snapshotAllPages URL 4`] = ` + + + href: https://username:password@reactnative.dev:8080/docs/path + + + hash: + + + host: reactnative.dev:8080 + + + hostname: reactnative.dev + + + password: password + + + username: username + + + pathname: /docs/path + + + port: 8080 + + + search: + + +`; + exports[`snapshotAllPages View 1`] = ` Date: Mon, 9 Jun 2025 12:02:38 -0700 Subject: [PATCH 32/48] Fix Lint --- vnext/overrides.json | 7 - .../getNativeComponentAttributes.windows.js | 213 ------------------ vnext/src-win/index.windows.js | 2 +- 3 files changed, 1 insertion(+), 221 deletions(-) delete mode 100644 vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js diff --git a/vnext/overrides.json b/vnext/overrides.json index 7675b8899ea..3c480b607e0 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -568,13 +568,6 @@ "baseHash": "97027444d74f5a2f03a966753c23f86145f3fc0b", "issue": 4379 }, - { - "type": "patch", - "file": "src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js", - "baseFile": "packages/react-native/Libraries/ReactNative/getNativeComponentAttributes.js", - "baseHash": "b6a30163636ad82b1e52ac6bac613e45837c354c", - "issue": 14744 - }, { "type": "patch", "file": "src-win/Libraries/ReactNative/PaperUIManager.windows.js", diff --git a/vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js b/vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js deleted file mode 100644 index bba95656ee4..00000000000 --- a/vnext/src-win/Libraries/ReactNative/getNativeComponentAttributes.windows.js +++ /dev/null @@ -1,213 +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'; - -import processBoxShadow from '../StyleSheet/processBoxShadow'; - -const ReactNativeStyleAttributes = - require('../Components/View/ReactNativeStyleAttributes').default; -const resolveAssetSource = require('../Image/resolveAssetSource').default; -const processBackgroundImage = - require('../StyleSheet/processBackgroundImage').default; -const processColor = require('../StyleSheet/processColor').default; -const processColorArray = require('../StyleSheet/processColorArray').default; -const processFilter = require('../StyleSheet/processFilter').default; -const insetsDiffer = require('../Utilities/differ/insetsDiffer').default; -const matricesDiffer = require('../Utilities/differ/matricesDiffer').default; -const pointsDiffer = require('../Utilities/differ/pointsDiffer').default; -const sizesDiffer = require('../Utilities/differ/sizesDiffer').default; -const UIManager = require('./UIManager').default; -const nullthrows = require('nullthrows'); - -function getNativeComponentAttributes(uiViewClassName: string): any { - const viewConfig = UIManager.hasViewManagerConfig(uiViewClassName); // [Windows] - Remove after #14744 is closed. - - if (viewConfig == null) { - return null; - } - - // TODO: This seems like a whole lot of runtime initialization for every - // native component that can be either avoided or simplified. - let {baseModuleName, bubblingEventTypes, directEventTypes} = viewConfig; - let nativeProps = viewConfig.NativeProps; - - bubblingEventTypes = bubblingEventTypes ?? {}; - directEventTypes = directEventTypes ?? {}; - - while (baseModuleName) { - const baseModule = UIManager.hasViewManagerConfig(baseModuleName); // [Windows] - Remove after #14744 is closed. - if (!baseModule) { - baseModuleName = null; - } else { - bubblingEventTypes = { - ...baseModule.bubblingEventTypes, - ...bubblingEventTypes, - }; - directEventTypes = { - ...baseModule.directEventTypes, - ...directEventTypes, - }; - nativeProps = { - ...baseModule.NativeProps, - ...nativeProps, - }; - baseModuleName = baseModule.baseModuleName; - } - } - - const validAttributes: {[string]: mixed} = {}; - - for (const key in nativeProps) { - const typeName = nativeProps[key]; - const diff = getDifferForType(typeName); - const process = getProcessorForType(typeName); - - // If diff or process == null, omit the corresponding property from the Attribute - // Why: - // 1. Consistency with AttributeType flow type - // 2. Consistency with Static View Configs, which omit the null properties - validAttributes[key] = - diff == null - ? process == null - ? true - : {process} - : process == null - ? {diff} - : {diff, process}; - } - - // Unfortunately, the current setup declares style properties as top-level - // props. This makes it so we allow style properties in the `style` prop. - // TODO: Move style properties into a `style` prop and disallow them as - // top-level props on the native side. - validAttributes.style = ReactNativeStyleAttributes; - - Object.assign(viewConfig, { - uiViewClassName, - validAttributes, - bubblingEventTypes, - directEventTypes, - }); - - attachDefaultEventTypes(viewConfig); - - return viewConfig; -} - -function attachDefaultEventTypes(viewConfig: any) { - // This is supported on UIManager platforms (ex: Android), - // as lazy view managers are not implemented for all platforms. - // See [UIManager] for details on constants and implementations. - const constants = UIManager.getConstants(); - if (constants.ViewManagerNames || constants.LazyViewManagersEnabled) { - // Lazy view managers enabled. - viewConfig = merge( - viewConfig, - nullthrows(UIManager.getDefaultEventTypes)(), - ); - } else { - viewConfig.bubblingEventTypes = merge( - viewConfig.bubblingEventTypes, - constants.genericBubblingEventTypes, - ); - viewConfig.directEventTypes = merge( - viewConfig.directEventTypes, - constants.genericDirectEventTypes, - ); - } -} - -// TODO: Figure out how to avoid all this runtime initialization cost. -function merge(destination: ?Object, source: ?Object): ?Object { - if (!source) { - return destination; - } - if (!destination) { - return source; - } - - for (const key in source) { - if (!source.hasOwnProperty(key)) { - continue; - } - - let sourceValue = source[key]; - if (destination.hasOwnProperty(key)) { - const destinationValue = destination[key]; - if ( - typeof sourceValue === 'object' && - typeof destinationValue === 'object' - ) { - sourceValue = merge(destinationValue, sourceValue); - } - } - destination[key] = sourceValue; - } - return destination; -} - -function getDifferForType( - typeName: string, -): ?(prevProp: any, nextProp: any) => boolean { - switch (typeName) { - // iOS Types - case 'CATransform3D': - return matricesDiffer; - case 'CGPoint': - return pointsDiffer; - case 'CGSize': - return sizesDiffer; - case 'UIEdgeInsets': - return insetsDiffer; - // Android Types - case 'Point': - return pointsDiffer; - case 'EdgeInsets': - return insetsDiffer; - } - return null; -} - -function getProcessorForType(typeName: string): ?(nextProp: any) => any { - switch (typeName) { - // iOS Types - case 'CGColor': - case 'UIColor': - return processColor; - case 'CGColorArray': - case 'UIColorArray': - return processColorArray; - case 'CGImage': - case 'UIImage': - case 'RCTImageSource': - return resolveAssetSource; - case 'BoxShadowArray': - return processBoxShadow; - case 'FilterArray': - return processFilter; - // Android Types - case 'Color': - return processColor; - case 'ColorArray': - return processColorArray; - case 'Filter': - return processFilter; - case 'BackgroundImage': - return processBackgroundImage; - case 'ImageSource': - return resolveAssetSource; - case 'BoxShadow': - return processBoxShadow; - } - return null; -} - -export default getNativeComponentAttributes; diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index b5740f88c68..15bc5fac189 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -53,7 +53,7 @@ import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/Tou import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity'; import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback'; import typeof View from './Libraries/Components/View/View'; -import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule'; +import typeof registerCallableModule from './Libraries/Core/registerCallableModule'; import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter'; import typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter'; import typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter'; From fe00d4fbe2357928dfc4ceb367974cc6fecf31c5 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Mon, 9 Jun 2025 14:59:52 -0700 Subject: [PATCH 33/48] Update Snapshots --- .../TextComponentTest.test.ts.snap | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap b/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap index ccea7d640de..13f58ae7d1e 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/TextComponentTest.test.ts.snap @@ -258,7 +258,7 @@ exports[`Text Tests Text can be selectable 1`] = ` "Visual Tree": { "Comment": "text-selectable", "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", }, } @@ -391,12 +391,12 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Visual Tree": { "Comment": "advanced-borders", "Offset": "0, 0, 0", - "Size": "916, 98", + "Size": "916, 97", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 39", + "Size": "916, 40", "Visual Type": "SpriteVisual", "__Children": [ { @@ -437,7 +437,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(255, 0, 0, 255)", }, "Offset": "-10, 20, 0", - "Size": "10, 13", + "Size": "10, 14", "Visual Type": "SpriteVisual", }, { @@ -473,7 +473,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(255, 0, 0, 255)", }, "Offset": "0, 22, 0", - "Size": "20, 9", + "Size": "20, 10", "Visual Type": "SpriteVisual", }, ], @@ -482,12 +482,12 @@ exports[`Text Tests Text can have advanced borders 1`] = ` }, { "Offset": "0, 38, 0", - "Size": "916, 40", + "Size": "916, 39", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 40", + "Size": "916, 39", "Visual Type": "SpriteVisual", "__Children": [ { @@ -523,7 +523,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 0, 255, 255)", }, "Offset": "-10, 20, 0", - "Size": "10, 14", + "Size": "10, 13", "Visual Type": "SpriteVisual", }, { @@ -559,7 +559,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 0, 255, 255)", }, "Offset": "0, 22, 0", - "Size": "20, 10", + "Size": "20, 9", "Visual Type": "SpriteVisual", }, ], @@ -568,12 +568,12 @@ exports[`Text Tests Text can have advanced borders 1`] = ` }, { "Offset": "0, 77, 0", - "Size": "916, 21", + "Size": "916, 22", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 21", + "Size": "916, 22", "Visual Type": "SpriteVisual", "__Children": [ { @@ -609,7 +609,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 128, 0, 255)", }, "Offset": "-1, 4, 0", - "Size": "1, 13", + "Size": "1, 14", "Visual Type": "SpriteVisual", }, { @@ -645,7 +645,7 @@ exports[`Text Tests Text can have advanced borders 1`] = ` "Color": "rgba(0, 128, 0, 255)", }, "Offset": "0, 4, 0", - "Size": "1, 13", + "Size": "1, 14", "Visual Type": "SpriteVisual", }, ], @@ -740,7 +740,7 @@ exports[`Text Tests Text can have borders 1`] = ` "Visual Tree": { "Comment": "text-border", "Offset": "0, 0, 0", - "Size": "916, 384", + "Size": "916, 385", "Visual Type": "SpriteVisual", "__Children": [ { @@ -853,12 +853,12 @@ exports[`Text Tests Text can have borders 1`] = ` }, { "Offset": "0, 365, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", }, ], @@ -953,7 +953,7 @@ exports[`Text Tests Text can have inline views/images 1`] = ` "Visual Tree": { "Comment": "text-view", "Offset": "0, 0, 0", - "Size": "916, 27", + "Size": "916, 26", "Visual Type": "SpriteVisual", "__Children": [ { @@ -1037,7 +1037,7 @@ exports[`Text Tests Text can have nested views 1`] = ` "Visual Tree": { "Comment": "text-nested-view", "Offset": "0, 0, 0", - "Size": "916, 41", + "Size": "916, 40", "Visual Type": "SpriteVisual", "__Children": [ { @@ -1105,7 +1105,7 @@ exports[`Text Tests Text can have shadows 1`] = ` "Visual Tree": { "Comment": "text-shadow", "Offset": "0, 0, 0", - "Size": "916, 27", + "Size": "916, 28", "Visual Type": "SpriteVisual", }, } @@ -1223,17 +1223,17 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` "Visual Tree": { "Comment": "text-view-images-clipped", "Offset": "0, 0, 0", - "Size": "916, 222", + "Size": "916, 223", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 20", + "Size": "916, 19", "Visual Type": "SpriteVisual", }, ], @@ -1286,12 +1286,12 @@ exports[`Text Tests Texts can clip inline View/Images 1`] = ` }, { "Offset": "0, 103, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "916, 19", + "Size": "916, 20", "Visual Type": "SpriteVisual", }, ], From 6c02e24d5c67b4a8bbafe59f400ce84c1d564ca3 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 10 Jun 2025 09:25:41 -0700 Subject: [PATCH 34/48] Re-add TestID --- .../tester/src/js/examples/Text/TextExample.windows.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 cd2800deff3..0b4452c26c9 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 @@ -526,7 +526,10 @@ function MaxFontSizeMultiplierExample(props: {}): React.Node { function NumberOfLinesExample(props: {}): React.Node { return ( - + Maximum of one line no matter now much I write here. If I keep writing it{"'"}ll just truncate after one line From 34b90440cc6a170a694ad6d37e196526b175a947 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 10 Jun 2025 09:52:00 -0700 Subject: [PATCH 35/48] Test Culprit: E2E Paper --- vnext/overrides.json | 7 ++ .../ReactNativeFeatureFlagsBase.js | 116 ++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js diff --git a/vnext/overrides.json b/vnext/overrides.json index 3c480b607e0..392d58547db 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -634,6 +634,13 @@ "baseFile": "packages/react-native/src/private/debugging/ReactDevToolsSettingsManager.android.js", "baseHash": "1e0309d141da6c7a6a9afa571aae831ca221bbe2" }, + { + "type": "patch", + "file": "src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js", + "baseFile": "packages/react-native/src/private/featureflags/ReactNativeFeatureFlagsBase.js", + "baseHash": "32823af7188e2935b7fbf1cb368ab9ad94b38d4f", + "issue": 0 + }, { "type": "patch", "file": "src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js", diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js new file mode 100644 index 00000000000..755542cd6ee --- /dev/null +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -0,0 +1,116 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict + * @format + */ + +import type { + ReactNativeFeatureFlagsJsOnly, + ReactNativeFeatureFlagsJsOnlyOverrides, +} from './ReactNativeFeatureFlags'; + +import NativeReactNativeFeatureFlags from './specs/NativeReactNativeFeatureFlags'; + +const accessedFeatureFlags: Set = new Set(); +let overrides: ?ReactNativeFeatureFlagsJsOnlyOverrides; + +export type Getter = () => T; + +// This defines the types for the overrides object, whose methods also receive +// the default value as a parameter. +export type OverridesFor = Partial<{ + [key in keyof T]: (ReturnType) => ReturnType, +}>; + +function createGetter( + configName: string, + customValueGetter: Getter, + defaultValue: T, +): Getter { + let cachedValue: ?T; + + return () => { + if (cachedValue == null) { + cachedValue = customValueGetter() ?? defaultValue; + } + return cachedValue; + }; +} + +export function createJavaScriptFlagGetter< + K: $Keys, +>( + configName: K, + defaultValue: ReturnType, +): Getter> { + return createGetter( + configName, + () => { + accessedFeatureFlags.add(configName); + return overrides?.[configName]?.(defaultValue); + }, + defaultValue, + ); +} + +type NativeFeatureFlags = $NonMaybeType; + +export function createNativeFlagGetter>( + configName: K, + defaultValue: ReturnType<$NonMaybeType>, + skipUnavailableNativeModuleError: boolean = false, +): Getter>> { + return createGetter( + configName, + () => { + maybeLogUnavailableNativeModuleError(configName); + return NativeReactNativeFeatureFlags?.[configName]?.(); + }, + defaultValue, + ); +} + +export function getOverrides(): ?ReactNativeFeatureFlagsJsOnlyOverrides { + return overrides; +} + +export function setOverrides( + newOverrides: ReactNativeFeatureFlagsJsOnlyOverrides, +): void { + if (overrides != null) { + throw new Error('Feature flags cannot be overridden more than once'); + } + + if (accessedFeatureFlags.size > 0) { + const accessedFeatureFlagsStr = Array.from(accessedFeatureFlags).join(', '); + throw new Error( + `Feature flags were accessed before being overridden: ${accessedFeatureFlagsStr}`, + ); + } + + overrides = newOverrides; +} + +const reportedConfigNames: Set = new Set(); +const hasTurboModules = + global.RN$Bridgeless === true || global.__turboModuleProxy != null; + +function maybeLogUnavailableNativeModuleError(configName: string): void { + if ( + !NativeReactNativeFeatureFlags && + // Don't log more than once per config + !reportedConfigNames.has(configName) && + // Don't log in the legacy architecture. + hasTurboModules + ) { + reportedConfigNames.add(configName); + // Window - Temp Disable to Test Pipeline issue + // console.error( + // `Could not access feature flag '${configName}' because native module method was not available`, + // ); + } +} From 44b02bcd72c27f7842915cb0d04efccb92871378 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Tue, 10 Jun 2025 23:17:59 +0530 Subject: [PATCH 36/48] updated snapshot --- .../test/__snapshots__/snapshotPages.test.js.snap | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index 478608b2e7a..482936defd2 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -71979,6 +71979,7 @@ exports[`snapshotAllPages Text 27`] = ` }, ] } + testID="text-one-line" > Maximum of one line no matter now much I write here. If I keep writing it ' From 26692295c00a4a998388bfde7297ad748fd0289b Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 10 Jun 2025 12:03:59 -0700 Subject: [PATCH 37/48] Remove Nested Image Example; Not Supported --- .../tester/src/js/examples/Text/TextExample.windows.js | 3 --- 1 file changed, 3 deletions(-) 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 0b4452c26c9..cfe99739eb6 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 @@ -15,7 +15,6 @@ import type {RNTesterModule} from '../../types/RNTesterTypes'; -import hotdog from '../../assets/hotdog.jpg'; import RNTesterText from '../../components/RNTesterText'; import TextLegend from '../../components/TextLegend'; import TextAdjustsDynamicLayoutExample from './TextAdjustsDynamicLayoutExample'; @@ -23,7 +22,6 @@ import TextInlineViewsExample from './TextInlineViewsExample'; const TextInlineView = require('../../components/TextInlineView'); const React = require('react'); const { - Image, LayoutAnimation, StyleSheet, Text, @@ -551,7 +549,6 @@ function NumberOfLinesExample(props: {}): React.Node { should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. - No maximum lines specified no matter now much I write here. If I keep From 376ef7e5d7574611eac72367c5ff6f9b363f3707 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:42:32 -0700 Subject: [PATCH 38/48] Remove Issue: 0 Tags --- .../@office-iss/react-native-win32/overrides.json | 9 +++------ .../@react-native-windows/tester/overrides.json | 3 +-- packages/@react-native/tester/overrides.json | 12 ++++-------- vnext/overrides.json | 12 ++++-------- .../featureflags/ReactNativeFeatureFlagsBase.js | 15 ++++++++------- 5 files changed, 20 insertions(+), 31 deletions(-) diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index a3c57b2bcc6..ec13c58cc2b 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -92,8 +92,7 @@ "type": "patch", "file": "src-win/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js", "baseFile": "packages/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js", - "baseHash": "454f8b04bd6203c70b48aa6ec26e1c05dee42124", - "issue": 0 + "baseHash": "454f8b04bd6203c70b48aa6ec26e1c05dee42124" }, { "type": "copy", @@ -136,8 +135,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Touchable/Touchable.win32.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/Touchable.js", - "baseHash": "5e13ce3ef1cfeb38a1a9695c3013617527c21175", - "issue": 0 + "baseHash": "5e13ce3ef1cfeb38a1a9695c3013617527c21175" }, { "type": "derived", @@ -402,8 +400,7 @@ "type": "copy", "file": "src-win/Libraries/StyleSheet/StyleSheet.js", "baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js", - "baseHash": "49fb1640b0942be2966d759057ca5923c5358c81", - "issue": 0 + "baseHash": "49fb1640b0942be2966d759057ca5923c5358c81" }, { "type": "derived", diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 07517da0974..3294ad030f6 100644 --- a/packages/@react-native-windows/tester/overrides.json +++ b/packages/@react-native-windows/tester/overrides.json @@ -129,8 +129,7 @@ "type": "patch", "file": "src/js/examples/TurboModule/SampleTurboModuleExample.windows.js", "baseFile": "packages/rn-tester/js/examples/TurboModule/SampleTurboModuleExample.js", - "baseHash": "5cfdbaaa81a57c5611955cce6f484eca7ad7a355", - "issue": 0 + "baseHash": "5cfdbaaa81a57c5611955cce6f484eca7ad7a355" }, { "type": "patch", diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index bc033cfd884..626a4c72ffd 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -292,8 +292,7 @@ "type": "copy", "directory": "js/examples/Performance", "baseDirectory": "packages/rn-tester/js/examples/Performance", - "baseHash": "92bfefb1a48b340fb9728044cd7647464e357997", - "issue": 0 + "baseHash": "92bfefb1a48b340fb9728044cd7647464e357997" }, { "type": "copy", @@ -530,8 +529,7 @@ "type": "copy", "file": "js/examples/Urls/UrlExample.js", "baseFile": "packages/rn-tester/js/examples/Urls/UrlExample.js", - "baseHash": "2dc9c4108dc6983696bd0fcdf619d653f99545e6", - "issue": 0 + "baseHash": "2dc9c4108dc6983696bd0fcdf619d653f99545e6" }, { "type": "copy", @@ -670,15 +668,13 @@ "type": "copy", "file": "ReportFullyDrawnView/ReportFullyDrawnView.js", "baseFile": "packages/rn-tester/ReportFullyDrawnView/ReportFullyDrawnView.js", - "baseHash": "2f2b868b9b4870303f8665e55293cce4ed6b8d3f", - "issue": 0 + "baseHash": "2f2b868b9b4870303f8665e55293cce4ed6b8d3f" }, { "type": "copy", "file": "ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js", "baseFile": "packages/rn-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js", - "baseHash": "6bf9a8a646111c9613a511281686d8cec6c964ca", - "issue": 0 + "baseHash": "6bf9a8a646111c9613a511281686d8cec6c964ca" } ] } \ No newline at end of file diff --git a/vnext/overrides.json b/vnext/overrides.json index 392d58547db..7644472fd40 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -382,8 +382,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Touchable/Touchable.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/Touchable.js", - "baseHash": "5e13ce3ef1cfeb38a1a9695c3013617527c21175", - "issue": 0 + "baseHash": "5e13ce3ef1cfeb38a1a9695c3013617527c21175" }, { "type": "derived", @@ -511,8 +510,7 @@ "type": "patch", "file": "src-win/Libraries/Modal/Modal.d.ts", "baseFile": "packages/react-native/Libraries/Modal/Modal.d.ts", - "baseHash": "aeebd34b8cccade2637e310a63a1e9a41f149f64", - "issue": 0 + "baseHash": "aeebd34b8cccade2637e310a63a1e9a41f149f64" }, { "type": "derived", @@ -638,15 +636,13 @@ "type": "patch", "file": "src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js", "baseFile": "packages/react-native/src/private/featureflags/ReactNativeFeatureFlagsBase.js", - "baseHash": "32823af7188e2935b7fbf1cb368ab9ad94b38d4f", - "issue": 0 + "baseHash": "32823af7188e2935b7fbf1cb368ab9ad94b38d4f" }, { "type": "patch", "file": "src-win/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js", "baseFile": "packages/react-native/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js", - "baseHash": "b68cd3eb3257f988de7a238ebd5e6424769531a7", - "issue": 0 + "baseHash": "b68cd3eb3257f988de7a238ebd5e6424769531a7" }, { "type": "platform", diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js index 755542cd6ee..73587b9d4c7 100644 --- a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -96,8 +96,9 @@ export function setOverrides( } const reportedConfigNames: Set = new Set(); -const hasTurboModules = - global.RN$Bridgeless === true || global.__turboModuleProxy != null; +// [Windows] +// const hasTurboModules = +// global.RN$Bridgeless === true || global.__turboModuleProxy != null; function maybeLogUnavailableNativeModuleError(configName: string): void { if ( @@ -105,12 +106,12 @@ function maybeLogUnavailableNativeModuleError(configName: string): void { // Don't log more than once per config !reportedConfigNames.has(configName) && // Don't log in the legacy architecture. - hasTurboModules + // hasTurboModules [Windows] ) { reportedConfigNames.add(configName); - // Window - Temp Disable to Test Pipeline issue - // console.error( - // `Could not access feature flag '${configName}' because native module method was not available`, - // ); + Window - Temp Disable to Test Pipeline issue + console.error( + `Could not access feature flag '${configName}' because native module method was not available`, + ); } } From a3023905537a0a700bfd4546cff508adc0785c26 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Wed, 11 Jun 2025 10:25:50 +0530 Subject: [PATCH 39/48] fixing build errors --- .../src/private/featureflags/ReactNativeFeatureFlagsBase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js index 73587b9d4c7..88b5836c8c4 100644 --- a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -109,7 +109,7 @@ function maybeLogUnavailableNativeModuleError(configName: string): void { // hasTurboModules [Windows] ) { reportedConfigNames.add(configName); - Window - Temp Disable to Test Pipeline issue + // Window - Temp Disable to Test Pipeline issue console.error( `Could not access feature flag '${configName}' because native module method was not available`, ); From 9a2b350d76026fcd1f38fe660aa4342faa2ebc54 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Wed, 11 Jun 2025 15:05:59 +0530 Subject: [PATCH 40/48] Fixed syntax error --- .../src/private/featureflags/ReactNativeFeatureFlagsBase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js index 88b5836c8c4..a2fafc1e254 100644 --- a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -104,7 +104,7 @@ function maybeLogUnavailableNativeModuleError(configName: string): void { if ( !NativeReactNativeFeatureFlags && // Don't log more than once per config - !reportedConfigNames.has(configName) && + !reportedConfigNames.has(configName) // Don't log in the legacy architecture. // hasTurboModules [Windows] ) { From 39dda1eeec22f18e9abc91620ca907eb51fe774b Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 11 Jun 2025 09:39:31 -0700 Subject: [PATCH 41/48] Test Fix: Paper E2E Tests --- .../test/__snapshots__/snapshotPages.test.js.snap | 12 ------------ .../featureflags/ReactNativeFeatureFlagsBase.js | 11 ++++++----- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index 482936defd2..956fba84c1b 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -72043,18 +72043,6 @@ exports[`snapshotAllPages Text 27`] = ` } > The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. The hotdog should be truncated. - = new Set(); -// [Windows] -// const hasTurboModules = -// global.RN$Bridgeless === true || global.__turboModuleProxy != null; +const hasTurboModules = + global.RN$Bridgeless === true || global.__turboModuleProxy != null; + +const isFabric = global.nativeFabricUIManager; // [Windows] function maybeLogUnavailableNativeModuleError(configName: string): void { if ( @@ -106,10 +107,10 @@ function maybeLogUnavailableNativeModuleError(configName: string): void { // Don't log more than once per config !reportedConfigNames.has(configName) && // Don't log in the legacy architecture. - // hasTurboModules [Windows] + hasTurboModules && + isFabric // [Windows] ) { reportedConfigNames.add(configName); - Window - Temp Disable to Test Pipeline issue console.error( `Could not access feature flag '${configName}' because native module method was not available`, ); From 8d0bc896f4246b8694eb6a58a96bd92158a04dae Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 11 Jun 2025 09:59:13 -0700 Subject: [PATCH 42/48] Refine Fix --- .../src/private/featureflags/ReactNativeFeatureFlagsBase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js index 5b2c9bbbfc3..d2cd6654ee5 100644 --- a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -105,7 +105,7 @@ function maybeLogUnavailableNativeModuleError(configName: string): void { if ( !NativeReactNativeFeatureFlags && // Don't log more than once per config - !reportedConfigNames.has(configName) + !reportedConfigNames.has(configName) && // Don't log in the legacy architecture. hasTurboModules && isFabric // [Windows] From e3eb8e8db1ea5aa2c58d4aee9d1a768bdf94546f Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Thu, 12 Jun 2025 00:24:31 +0530 Subject: [PATCH 43/48] Fixing tester app build --- .../src/private/featureflags/ReactNativeFeatureFlagsBase.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js index d2cd6654ee5..0b0204fbbd6 100644 --- a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -104,9 +104,7 @@ const isFabric = global.nativeFabricUIManager; // [Windows] function maybeLogUnavailableNativeModuleError(configName: string): void { if ( !NativeReactNativeFeatureFlags && - // Don't log more than once per config !reportedConfigNames.has(configName) && - // Don't log in the legacy architecture. hasTurboModules && isFabric // [Windows] ) { From cbb18938a0f4ab12e85a1225ada4ca28b1b6e4cc Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 11 Jun 2025 12:01:41 -0700 Subject: [PATCH 44/48] Fix CLI tests --- vnext/Scripts/creaternwapp.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnext/Scripts/creaternwapp.cmd b/vnext/Scripts/creaternwapp.cmd index cfeceaf9124..61540c27fdb 100644 --- a/vnext/Scripts/creaternwapp.cmd +++ b/vnext/Scripts/creaternwapp.cmd @@ -114,7 +114,7 @@ for /f "delims=" %%a in ('npm show react@%R_VERSION% version') do @set R_VERSION set RNCLI_TEMPLATE= if not "x%RN_VERSION:nightly=%"=="x%RN_VERSION%" ( @echo creaternwapp.cmd Override @react-native-community/template version - set RNCLI_TEMPLATE=--template "@react-native-community/template@^%RN_VERSION:~0,4%.0" + set RNCLI_TEMPLATE=--template "@react-native-community/template@^%RN_VERSION:~0,4%.0-" ) @echo creaternwapp.cmd: Creating base RN app project with: npx --yes @react-native-community/cli@latest init %APP_NAME% --version %RN_VERSION% %RNCLI_TEMPLATE% --verbose --skip-install --install-pods false --skip-git-init true From 9424792c16b4e8f2a87fbcdf6b25f273406a5545 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:29:35 -0700 Subject: [PATCH 45/48] Disable Chakra Tests --- .ado/jobs/e2e-test.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.ado/jobs/e2e-test.yml b/.ado/jobs/e2e-test.yml index aae1bd54e31..0d51d5c2523 100644 --- a/.ado/jobs/e2e-test.yml +++ b/.ado/jobs/e2e-test.yml @@ -14,23 +14,23 @@ parameters: default: - BuildEnvironment: PullRequest Matrix: - - Name: X64Chakra - BuildPlatform: x64 - UseChakra: true + #- Name: X64Chakra + # BuildPlatform: x64 + # UseChakra: true - Name: X64Hermes BuildPlatform: x64 UseChakra: false - BuildEnvironment: Continuous Matrix: - - Name: X64Chakra - BuildPlatform: x64 - UseChakra: true + #- Name: X64Chakra + # BuildPlatform: x64 + # UseChakra: true - Name: X64Hermes BuildPlatform: x64 UseChakra: false - - Name: X86Chakra - BuildPlatform: x86 - UseChakra: true + #- Name: X86Chakra + # BuildPlatform: x86 + # UseChakra: true - Name: X86Hermes BuildPlatform: x86 UseChakra: false From bdcf4b70ec8971e87c8451e44d305f957abd43a9 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:40:42 -0700 Subject: [PATCH 46/48] Code Cleanup --- .../react-native-win32/overrides.json | 6 - .../Libraries/StyleSheet/StyleSheet.js | 165 ------------------ vnext/ReactCommon/ReactCommon.vcxproj | 1 - .../react/renderer/css/CSSTokenizer.h | 2 +- .../ReactNativeFeatureFlagsBase.js | 4 +- 5 files changed, 4 insertions(+), 174 deletions(-) delete mode 100644 packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index ec13c58cc2b..83496e56fc6 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -396,12 +396,6 @@ "type": "platform", "file": "src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.js" }, - { - "type": "copy", - "file": "src-win/Libraries/StyleSheet/StyleSheet.js", - "baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js", - "baseHash": "49fb1640b0942be2966d759057ca5923c5358c81" - }, { "type": "derived", "file": "src-win/Libraries/Text/Text.d.ts", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js b/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js deleted file mode 100644 index b6cb186c5db..00000000000 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/StyleSheet/StyleSheet.js +++ /dev/null @@ -1,165 +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'; - -import typeof * as StyleSheetExports from './StyleSheetExports'; -import type { - ____ColorValue_Internal, - ____DangerouslyImpreciseStyle_Internal, - ____DangerouslyImpreciseStyleProp_Internal, - ____ImageStyle_Internal, - ____ImageStyleProp_Internal, - ____TextStyle_Internal, - ____TextStyleProp_Internal, - ____ViewStyle_Internal, - ____ViewStyleProp_Internal, -} from './StyleSheetTypes'; -const StyleSheet: StyleSheetExports = ( - require('./StyleSheetExports') as $FlowFixMe -).default; - -export type {NativeColorValue} from './StyleSheetTypes'; - -/** - * This type should be used as the type for anything that is a color. It is - * most useful when using DynamicColorIOS which can be a string or a dynamic - * color object. - * - * type props = {backgroundColor: ColorValue}; - */ -export type ColorValue = ____ColorValue_Internal; - -/** - * This type should be used as the type for a prop that is passed through - * to a 's `style` prop. This ensures call sites of the component - * can't pass styles that View doesn't support such as `fontSize`.` - * - * type Props = {style: ViewStyleProp} - * const MyComponent = (props: Props) => - */ -export type ViewStyleProp = ____ViewStyleProp_Internal; - -/** - * This type should be used as the type for a prop that is passed through - * to a 's `style` prop. This ensures call sites of the component - * can't pass styles that Text doesn't support such as `resizeMode`.` - * - * type Props = {style: TextStyleProp} - * const MyComponent = (props: Props) => - */ -export type TextStyleProp = ____TextStyleProp_Internal; - -/** - * This type should be used as the type for a prop that is passed through - * to an 's `style` prop. This ensures call sites of the component - * can't pass styles that Image doesn't support such as `fontSize`.` - * - * type Props = {style: ImageStyleProp} - * const MyComponent = (props: Props) => - */ -export type ImageStyleProp = ____ImageStyleProp_Internal; - -/** - * WARNING: You probably shouldn't be using this type. This type - * is similar to the ones above except it allows styles that are accepted - * by all of View, Text, or Image. It is therefore very unsafe to pass this - * through to an underlying component. Using this is almost always a mistake - * and using one of the other more restrictive types is likely the right choice. - */ -export type DangerouslyImpreciseStyleProp = - ____DangerouslyImpreciseStyleProp_Internal; - -/** - * Utility type for getting the values for specific style keys. - * - * The following is bad because position is more restrictive than 'string': - * ``` - * type Props = {position: string}; - * ``` - * - * You should use the following instead: - * - * ``` - * type Props = {position: TypeForStyleKey<'position'>}; - * ``` - * - * This will correctly give you the type 'absolute' | 'relative' - */ -export type TypeForStyleKey< - +key: $Keys<____DangerouslyImpreciseStyle_Internal>, -> = $ElementType<____DangerouslyImpreciseStyle_Internal, key>; - -/** - * This type is an object of the different possible style - * properties that can be specified for View. - * - * Note that this isn't a safe way to type a style prop for a component as - * results from StyleSheet.create return an internal identifier, not - * an object of styles. - * - * If you want to type the style prop of a function, - * consider using ViewStyleProp. - * - * A reasonable usage of this type is for helper functions that return an - * object of styles to pass to a View that can't be precomputed with - * StyleSheet.create. - */ -export type ViewStyle = ____ViewStyle_Internal; - -/** - * This type is an object of the different possible style - * properties that can be specified for Text. - * - * Note that this isn't a safe way to type a style prop for a component as - * results from StyleSheet.create return an internal identifier, not - * an object of styles. - * - * If you want to type the style prop of a function, - * consider using TextStyleProp. - * - * A reasonable usage of this type is for helper functions that return an - * object of styles to pass to a Text that can't be precomputed with - * StyleSheet.create. - */ -export type TextStyle = ____TextStyle_Internal; - -/** - * This type is an object of the different possible style - * properties that can be specified for Image. - * - * Note that this isn't a safe way to type a style prop for a component as - * results from StyleSheet.create return an internal identifier, not - * an object of styles. - * - * If you want to type the style prop of a function, - * consider using ImageStyleProp. - * - * A reasonable usage of this type is for helper functions that return an - * object of styles to pass to an Image that can't be precomputed with - * StyleSheet.create. - */ -export type ImageStyle = ____ImageStyle_Internal; - -/** - * WARNING: You probably shouldn't be using this type. This type is an object - * with all possible style keys and their values. Note that this isn't - * a safe way to type a style prop for a component as results from - * StyleSheet.create return an internal identifier, not an object of styles. - * - * If you want to type the style prop of a function, consider using - * ViewStyleProp, TextStyleProp, or ImageStyleProp. - * - * This should only be used by very core utilities that operate on an object - * containing any possible style value. - */ -export type DangerouslyImpreciseStyle = ____DangerouslyImpreciseStyle_Internal; - -export default StyleSheet; diff --git a/vnext/ReactCommon/ReactCommon.vcxproj b/vnext/ReactCommon/ReactCommon.vcxproj index 9ab2bed76bf..b493506ad92 100644 --- a/vnext/ReactCommon/ReactCommon.vcxproj +++ b/vnext/ReactCommon/ReactCommon.vcxproj @@ -278,7 +278,6 @@ - diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h index 1458ce710c7..080da1ed286 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h @@ -10,7 +10,7 @@ #include #include -#include +#include // [Windows] - Full relative path needed to find file #include namespace facebook::react { diff --git a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js index 0b0204fbbd6..fa942d44b74 100644 --- a/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/vnext/src-win/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -104,9 +104,11 @@ const isFabric = global.nativeFabricUIManager; // [Windows] function maybeLogUnavailableNativeModuleError(configName: string): void { if ( !NativeReactNativeFeatureFlags && + // Don't log more than once per config !reportedConfigNames.has(configName) && + // Don't log in the legacy architecture. hasTurboModules && - isFabric // [Windows] + isFabric // [Windows] - condition still yields true for legacy apps on Windows, must add UIManager check ) { reportedConfigNames.add(configName); console.error( From a1f52b42ba6dc14931221cafd704875eabad8420 Mon Sep 17 00:00:00 2001 From: Jon Thysell Date: Thu, 12 Jun 2025 09:56:38 -0700 Subject: [PATCH 47/48] Delete change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json --- ...form-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json diff --git a/change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json b/change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json deleted file mode 100644 index ec42b6aeadd..00000000000 --- a/change/react-native-platform-override-ca75f755-a485-4c5d-ab06-eb86e5d7ff83.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", - "packageName": "react-native-platform-override", - "email": "hmalothu@microsoft.com", - "dependentChangeType": "none" -} From 9fedf45491816d1cd02cb1679a5906a904cf8451 Mon Sep 17 00:00:00 2001 From: Jon Thysell Date: Thu, 12 Jun 2025 09:59:00 -0700 Subject: [PATCH 48/48] Fix changefiles --- ...t-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json | 6 +++--- ...mation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json | 6 +++--- ...ve-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json | 2 +- ...s-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json | 6 +++--- ...native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json b/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json index a1e282f9537..7a14261f3a9 100644 --- a/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json +++ b/change/@office-iss-react-native-win32-2393f54c-703d-4a15-bb87-43de8cb83d42.json @@ -1,7 +1,7 @@ { - "type": "none", - "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "type": "prerelease", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250317-fc7385c1e", "packageName": "@office-iss/react-native-win32", "email": "hmalothu@microsoft.com", - "dependentChangeType": "none" + "dependentChangeType": "patch" } diff --git a/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json b/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json index 7da79a03266..1118744df92 100644 --- a/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json +++ b/change/@react-native-windows-automation-channel-ded36452-34c7-45bb-9bd0-e9d563b1266b.json @@ -1,7 +1,7 @@ { - "type": "none", - "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "type": "patch", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250317-fc7385c1e", "packageName": "@react-native-windows/automation-channel", "email": "hmalothu@microsoft.com", - "dependentChangeType": "none" + "dependentChangeType": "patch" } diff --git a/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json b/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json index 7c3a7e2ffae..567f4259448 100644 --- a/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json +++ b/change/@react-native-windows-cli-e327f463-f420-4402-b550-d608bea38b73.json @@ -1,6 +1,6 @@ { "type": "prerelease", - "comment": "Integrate 3/17", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250317-fc7385c1e", "packageName": "@react-native-windows/cli", "email": "34109996+chiaramooney@users.noreply.github.com", "dependentChangeType": "patch" diff --git a/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json b/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json index e465ef83003..6675ccf4142 100644 --- a/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json +++ b/change/@rnw-scripts-integrate-rn-69bbd269-37d8-4f31-b9f2-625feed8b11d.json @@ -1,7 +1,7 @@ { - "type": "none", - "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "type": "patch", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250317-fc7385c1e", "packageName": "@rnw-scripts/integrate-rn", "email": "hmalothu@microsoft.com", - "dependentChangeType": "none" + "dependentChangeType": "patch" } diff --git a/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json b/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json index ac853506caf..d1584a335d9 100644 --- a/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json +++ b/change/react-native-windows-fbfb5e37-1e37-4cf6-95e7-7317e3df4909.json @@ -1,7 +1,7 @@ { - "type": "none", - "comment": ":Solved override issues for Integration 0.80.0-nightly-20250317-fc7385c1e", + "type": "prerelease", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250317-fc7385c1e", "packageName": "react-native-windows", "email": "hmalothu@microsoft.com", - "dependentChangeType": "none" + "dependentChangeType": "patch" }