Integration 04/20/24 (03a51da72) (#13255)

* RN Integration 04/20

* Change files

* add captureStackTrace

* add PixelRatio example copy override

* add PixelRatioExample.js

* snapshots for PixelRatio

* return empty StackFrame instead of nullptr

* add email to change files
This commit is contained in:
Marlene Cota 2024-05-21 12:20:52 -07:00 коммит произвёл GitHub
Родитель 809f824367
Коммит ef55e6fc47
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
55 изменённых файлов: 2504 добавлений и 1207 удалений

Просмотреть файл

@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "RN Integration 04/20",
"packageName": "@office-iss/react-native-win32",
"email": "1422161+marlenecota@users.noreply.github.com",
"dependentChangeType": "patch"
}

Просмотреть файл

@ -0,0 +1,7 @@
{
"type": "patch",
"comment": "RN Integration 04/20",
"packageName": "@react-native-windows/automation-channel",
"email": "1422161+marlenecota@users.noreply.github.com",
"dependentChangeType": "patch"
}

Просмотреть файл

@ -0,0 +1,7 @@
{
"type": "patch",
"comment": "RN Integration 04/20",
"packageName": "@rnw-scripts/eslint-config",
"email": "1422161+marlenecota@users.noreply.github.com",
"dependentChangeType": "patch"
}

Просмотреть файл

@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "RN Integration 04/20",
"packageName": "react-native-windows",
"email": "1422161+marlenecota@users.noreply.github.com",
"dependentChangeType": "patch"
}

Просмотреть файл

@ -5,7 +5,7 @@
"excludePatterns": [
"src/js/examples-win32/**"
],
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
"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": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2"
"baseHash": "17abcd7c97a27d4d970d27c1449107222ffb6c85"
}
]
}

Просмотреть файл

@ -19,7 +19,7 @@
"peerDependencies": {
"@office-iss/react-native-win32": "^0.0.0-canary.246",
"react": "18.0.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec"
"react-native": "0.75.0-nightly-20240420-03a51da72"
},
"devDependencies": {
"@office-iss/react-native-win32": "^0.0.0-canary.246",
@ -30,7 +30,7 @@
"@types/node": "^18.0.0",
"eslint": "^8.19.0",
"just-scripts": "^1.3.3",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-platform-override": "^1.9.33",
"typescript": "5.0.4"
},

Просмотреть файл

@ -260,6 +260,18 @@ const APIs: Array<RNTesterModuleInfo> = ([
category: 'Basic',
module: require('../examples/PanResponder/PanResponderExample'),
},
{
key: 'PixelRatio',
category: 'UI',
module: require('../examples/PixelRatio/PixelRatioExample'),
},
/*
{
key: 'PermissionsExampleAndroid',
category: 'Android',
module: require('../examples/PermissionsAndroid/PermissionsExample'),
},
*/
{
key: 'PlatformColorExample',
category: 'UI',

Просмотреть файл

@ -153,4 +153,4 @@ untyped-import
untyped-type-import
[version]
^0.233.0
^0.234.0

Просмотреть файл

@ -7,13 +7,13 @@
"**/__snapshots__/**",
"src-win/rntypes/**"
],
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
"overrides": [
{
"type": "derived",
"file": ".flowconfig",
"baseFile": ".flowconfig",
"baseHash": "207887dce4d232e4ded4dbeefe4188766b24144a"
"baseHash": "4f8e1f39d8ed29d7d0e21455cac407d352a6824d"
},
{
"type": "derived",

Просмотреть файл

@ -30,13 +30,13 @@
"@react-native-community/cli-platform-android": "14.0.0-alpha.2",
"@react-native-community/cli-platform-ios": "14.0.0-alpha.2",
"@react-native/assets": "1.0.0",
"@react-native/assets-registry": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/codegen": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/community-cli-plugin": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/gradle-plugin": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/js-polyfills": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/normalize-colors": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/virtualized-lists": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/assets-registry": "0.75.0-nightly-20240420-03a51da72",
"@react-native/codegen": "0.75.0-nightly-20240420-03a51da72",
"@react-native/community-cli-plugin": "0.75.0-nightly-20240420-03a51da72",
"@react-native/gradle-plugin": "0.75.0-nightly-20240420-03a51da72",
"@react-native/js-polyfills": "0.75.0-nightly-20240420-03a51da72",
"@react-native/normalize-colors": "0.75.0-nightly-20240420-03a51da72",
"@react-native/virtualized-lists": "0.75.0-nightly-20240420-03a51da72",
"abort-controller": "^3.0.0",
"anser": "^1.4.9",
"ansi-regex": "^5.0.0",
@ -56,7 +56,7 @@
"pretty-format": "^26.5.2",
"promise": "^8.3.0",
"react-clone-referenced-element": "^1.0.1",
"react-devtools-core": "^5.0.2",
"react-devtools-core": "5.1.0",
"react-refresh": "^0.14.0",
"react-shallow-renderer": "^16.15.0",
"regenerator-runtime": "^0.13.2",
@ -70,7 +70,7 @@
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/eslint-parser": "^7.20.0",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.20",
@ -86,14 +86,14 @@
"just-scripts": "^1.3.3",
"prettier": "2.8.8",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-platform-override": "^1.9.33",
"typescript": "5.0.4"
},
"peerDependencies": {
"@types/react": "^18.2.6",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec"
"react-native": "0.75.0-nightly-20240420-03a51da72"
},
"beachball": {
"defaultNpmTag": "canary",

Просмотреть файл

@ -31,7 +31,7 @@
"just-scripts": "^1.3.2",
"prettier": "2.8.8",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817",
"typescript": "5.0.4"
},

Просмотреть файл

@ -5,7 +5,7 @@
"excludePatterns": [
"src/js/examples-win/**"
],
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
"overrides": [
{
"type": "derived",
@ -78,7 +78,7 @@
"type": "derived",
"file": "src/js/utils/RNTesterList.windows.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
"baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2"
"baseHash": "17abcd7c97a27d4d970d27c1449107222ffb6c85"
}
]
}

Просмотреть файл

@ -18,7 +18,7 @@
"peerDependencies": {
"@react-native-picker/picker": "2.4.10",
"react": "18.0.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817",
"react-native-xaml": "^0.0.78"
},
@ -31,7 +31,7 @@
"@types/node": "^18.0.0",
"eslint": "^8.19.0",
"just-scripts": "^1.3.3",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-platform-override": "^1.9.33",
"react-native-windows": "^0.0.0-canary.817",
"typescript": "5.0.4"

Просмотреть файл

@ -346,6 +346,18 @@ const APIs: Array<RNTesterModuleInfo> = ([
category: 'Basic',
module: require('../examples/PanResponder/PanResponderExample'),
},
{
key: 'PixelRatio',
category: 'UI',
module: require('../examples/PixelRatio/PixelRatioExample'),
},
/*
{
key: 'PermissionsExampleAndroid',
category: 'Android',
module: require('../examples/PermissionsAndroid/PermissionsExample'),
},
*/
{
key: 'PlatformColorExample',
category: 'UI',

Просмотреть файл

@ -1,11 +1,11 @@
{
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
"overrides": [
{
"type": "patch",
"file": "package.json",
"baseFile": "package.json",
"baseHash": "81f7183581b4f3efc83807acf9d13acf11cbbc6e"
"baseHash": "d3015ceabe0cf60dff4ad9eb59b102608b40c8ca"
}
]
}

Просмотреть файл

@ -2,14 +2,7 @@
"name": "@react-native/monorepo",
"private": true,
"version": "1000.0.0",
"description": "A framework for building native apps using React",
"license": "MIT",
"repository": "github:facebook/react-native",
"types": "types",
"jest-junit": {
"outputDirectory": "reports/junit",
"outputName": "js-test-results.xml"
},
"scripts": {
"android": "cd packages/rn-tester && npm run android",
"build-android": "./gradlew :packages:react-native:ReactAndroid:build",
@ -42,9 +35,6 @@
"packages/*",
"tools/*"
],
"peerDependencies": {
"react": "18.2.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/eslint-parser": "^7.20.0",
@ -55,8 +45,8 @@
"@definitelytyped/dtslint": "^0.0.127",
"@jest/create-cache-key-function": "^29.6.3",
"@pkgjs/parseargs": "^0.11.0",
"@react-native/metro-babel-transformer": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-babel-transformer": "0.75.0-nightly-20240420-03a51da72",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@tsconfig/node18": "1.0.1",
"@types/react": "^18.2.6",
"@typescript-eslint/parser": "^7.1.1",
@ -83,7 +73,7 @@
"eslint-plugin-redundant-undefined": "^0.4.0",
"eslint-plugin-relay": "^1.8.3",
"flow-api-translator": "0.20.1",
"flow-bin": "^0.233.0",
"flow-bin": "^0.234.0",
"glob": "^7.1.1",
"hermes-eslint": "0.20.0",
"hermes-transform": "0.20.0",

Просмотреть файл

@ -49,6 +49,7 @@ export default function RNTOption(props: Props): React.Node {
testID={props.testID}>
<View
style={[
{borderColor: theme.BorderColor},
styles.container,
props.selected === true ? styles.selected : null,
pressed && props.selected !== true ? styles.pressed : null,
@ -60,7 +61,7 @@ export default function RNTOption(props: Props): React.Node {
: null,
props.style,
]}>
<Text style={styles.label}>{props.label}</Text>
<Text style={{color: theme.SecondaryLabelColor}}>{props.label}</Text>
</View>
</Pressable>
);
@ -70,16 +71,12 @@ const styles = StyleSheet.create({
pressed: {
backgroundColor: 'rgba(100,215,255,.3)',
},
label: {
color: 'black',
},
selected: {
backgroundColor: 'rgba(100,215,255,.3)',
borderColor: 'rgba(100,215,255,.3)',
},
disabled: {borderWidth: 0},
container: {
borderColor: 'rgba(0,0,0, 0.1)',
borderWidth: 1,
borderRadius: 16,
padding: 6,

Просмотреть файл

@ -39,8 +39,12 @@ function RNTTestDetails({
)}
{expect == null ? null : (
<View style={styles.section}>
<Text style={styles.heading}>Expectation</Text>
<Text style={styles.paragraph}>{expect}</Text>
<Text style={[styles.heading, {color: theme.LabelColor}]}>
Expectation
</Text>
<Text style={[styles.paragraph, {color: theme.LabelColor}]}>
{expect}
</Text>
</View>
)}
</>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -12,6 +12,7 @@ import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
import RNTConfigurationBlock from '../../components/RNTConfigurationBlock';
import RNTesterButton from '../../components/RNTesterButton';
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
import * as React from 'react';
import {Animated, Easing, StyleSheet, Text, View} from 'react-native';
@ -29,11 +30,14 @@ const styles = StyleSheet.create({
function CompositeAnimationsWithEasingExample(): React.Node {
const anims = [1, 2, 3].map(() => new Animated.Value(0));
const theme = React.useContext(RNTesterThemeContext);
return (
<View>
<RNTConfigurationBlock>
<Text>Note you cannot `useNativeDriver` for layout properties.</Text>
<Text style={{color: theme.SecondaryLabelColor}}>
Note you cannot `useNativeDriver` for layout properties.
</Text>
</RNTConfigurationBlock>
<RNTesterButton
onPress={() => {

Просмотреть файл

@ -14,6 +14,7 @@ import type AnimatedValue from 'react-native/Libraries/Animated/nodes/AnimatedVa
import RNTConfigurationBlock from '../../components/RNTConfigurationBlock';
import RNTesterButton from '../../components/RNTesterButton';
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
import ToggleNativeDriver from './utils/ToggleNativeDriver';
import * as React from 'react';
import {
@ -152,11 +153,14 @@ function ComposingExampleItem({
const animation = React.useRef(
compositeAnimation(xTranslations.current, useNativeDriver),
);
const theme = React.useContext(RNTesterThemeContext);
return (
<View style={styles.itemContainer}>
<Text style={styles.itemTitle}>{title}</Text>
<Text>{description}</Text>
<Text style={[styles.itemTitle, {color: theme.SecondaryLabelColor}]}>
{title}
</Text>
<Text style={{color: theme.SecondaryLabelColor}}>{description}</Text>
<View style={styles.boxesContainer}>
{boxIndexes.map(boxIndex => {
const translateX = xTranslations.current[boxIndex].interpolate({

Просмотреть файл

@ -10,14 +10,26 @@
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
import * as React from 'react';
import {Text} from 'react-native';
function AnimatedContinuousInteractionsExample(): React.Node {
const theme = React.useContext(RNTesterThemeContext);
return (
<Text style={{color: theme.SecondaryLabelColor}}>
Checkout the Gratuitous Animation App!
</Text>
);
}
export default ({
title: 'Continuous Interactions',
name: 'continuousInteractions',
description: ('Gesture events, chaining, 2D ' +
'values, interrupting and transitioning ' +
'animations, etc.': string),
render: (): React.Node => <Text>Checkout the Gratuitous Animation App!</Text>,
render(): React.Element<typeof AnimatedContinuousInteractionsExample> {
return <AnimatedContinuousInteractionsExample />;
},
}: RNTesterModuleExample);

Просмотреть файл

@ -12,6 +12,7 @@ import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
import RNTConfigurationBlock from '../../components/RNTConfigurationBlock';
import RNTesterButton from '../../components/RNTesterButton';
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
import ToggleNativeDriver from './utils/ToggleNativeDriver';
import * as React from 'react';
import {
@ -103,10 +104,14 @@ function EasingItem({
},
];
const theme = React.useContext(RNTesterThemeContext);
return (
<View style={styles.itemContainer}>
<View style={styles.itemMeta}>
<Text style={styles.itemTitle}>{item.title}</Text>
<Text style={[styles.itemTitle, {color: theme.SecondaryLabelColor}]}>
{item.title}
</Text>
<RNTesterButton
onPress={() => {
opacityAndScale.current.setValue(0);

Просмотреть файл

@ -98,7 +98,9 @@ function AnimatedTransformStyleExample(): React.Node {
borderBottomColor: theme.SeparatorColor,
})}
/>
<Text style={styles.optionsTitle}>Selected Styles</Text>
<Text style={[styles.optionsTitle, {color: theme.SecondaryLabelColor}]}>
Selected Styles
</Text>
<View style={styles.options}>
{Object.keys(properties).map(property => {
return (
@ -125,7 +127,9 @@ function AnimatedTransformStyleExample(): React.Node {
)}
/>
<View style={styles.section}>
<Text>{'Should not crash when transform style key is undefined'}</Text>
<Text style={{color: theme.SecondaryLabelColor}}>
{'Should not crash when transform style key is undefined'}
</Text>
<Animated.View style={[styles.animatedView, {transform: undefined}]} />
</View>
</View>

Просмотреть файл

@ -8,6 +8,7 @@
* @format
*/
import {RNTesterThemeContext} from '../../../components/RNTesterTheme';
import * as React from 'react';
import {StyleSheet, Switch, Text, View} from 'react-native';
@ -27,9 +28,10 @@ export default function ToggleNativeDriver({
onValueChange,
style,
}: Props): React.Node {
const theme = React.useContext(RNTesterThemeContext);
return (
<View style={StyleSheet.compose(styles.row, style)}>
<Text>Use Native Driver</Text>
<Text style={{color: theme.SecondaryLabelColor}}>Use Native Driver</Text>
<Switch
testID="toggle-use-native-driver"
onValueChange={onValueChange}

Просмотреть файл

@ -124,6 +124,7 @@ class RNTesterPlatformTestEventRecorder {
'on' + eventName[0].toUpperCase() + eventName.slice(1);
return {
...acc,
// $FlowFixMe[missing-local-annot]
[eventPropName]: e => {
recordedEventHandler(e, eventName);
},

Просмотреть файл

@ -0,0 +1,201 @@
/**
* 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 strict-local
*/
'use strict';
import React, {useState} from 'react';
import {
Button,
PixelRatio,
StyleSheet,
Text,
TextInput,
View,
} from 'react-native';
function LayoutSizeToPixel() {
const [layoutDPSize, setLayoutDPSize] = useState<number>(0);
const pixelSize = PixelRatio.getPixelSizeForLayoutSize(
layoutDPSize ? layoutDPSize : 0,
);
const handleDPInputChange = (changedText: string) => {
const layoutSize = parseInt(changedText, 10);
setLayoutDPSize(layoutSize);
};
return (
<View style={styles.cardContainer}>
<View style={styles.card}>
<View style={styles.row}>
<Text style={styles.inputLabel}>Layout Size(dp): </Text>
<TextInput
style={styles.input}
value={layoutDPSize ? layoutDPSize.toString() : ''}
keyboardType={'numeric'}
onChangeText={handleDPInputChange}
/>
</View>
<View style={[styles.row, styles.outputContainer]}>
<Text style={styles.inputLabel}>Pixel Size: </Text>
<Text>{pixelSize}px</Text>
</View>
</View>
</View>
);
}
function RoundToNearestPixel() {
const [layoutDPSizeText, setLayoutDPSizeText] = useState('');
const layoutDPSize = parseFloat(layoutDPSizeText);
const pixelSize = PixelRatio.roundToNearestPixel(
layoutDPSize ? layoutDPSize : 0,
);
const handleDPInputChange = (changedText: string) => {
setLayoutDPSizeText(changedText);
};
return (
<View style={styles.cardContainer}>
<View style={styles.card}>
<View style={styles.row}>
<Text style={styles.inputLabel}>Layout Size(dp): </Text>
<TextInput
style={styles.input}
value={layoutDPSizeText ? layoutDPSizeText.toString() : ''}
keyboardType={'numeric'}
onChangeText={handleDPInputChange}
/>
</View>
<View style={[styles.row, styles.outputContainer]}>
<Text style={styles.inputLabel}>Nearest Layout Size: </Text>
<Text>{pixelSize}dp</Text>
</View>
</View>
</View>
);
}
function GetPixelRatio() {
const [pixelDensity, setPixelDensity] = useState(0);
const getPixelDensityCallback = () => {
setPixelDensity(PixelRatio.get());
};
return (
<View style={styles.cardContainer}>
<View style={styles.card}>
<Button onPress={getPixelDensityCallback} title={'Get Pixel Density'} />
{pixelDensity ? (
<View style={[styles.row, styles.outputContainer]}>
<Text style={styles.inputLabel}>Pixel Density: </Text>
<Text>{pixelDensity}</Text>
</View>
) : null}
</View>
</View>
);
}
function GetFontScale() {
const [fontScale, setFontScale] = useState(0);
const getPixelDensityCallback = () => {
setFontScale(PixelRatio.getFontScale());
};
return (
<View style={styles.cardContainer}>
<View style={styles.card}>
<Button onPress={getPixelDensityCallback} title={'Get Font Scale'} />
{fontScale ? (
<View style={[styles.row, styles.outputContainer]}>
<Text style={styles.inputLabel}>Font scale: </Text>
<Text>{fontScale}</Text>
</View>
) : null}
</View>
</View>
);
}
const styles = StyleSheet.create({
cardContainer: {
marginVertical: 40,
flex: 1,
alignSelf: 'center',
},
row: {
flexDirection: 'row',
alignItems: 'center',
},
outputContainer: {
marginTop: 16,
},
inputLabel: {
fontWeight: 'bold',
},
input: {
borderRadius: 6,
borderWidth: 1,
paddingVertical: 0,
height: 30,
width: 200,
alignSelf: 'center',
marginLeft: 14,
paddingHorizontal: 8,
},
card: {
width: 200,
height: 200,
alignItems: 'center',
justifyContent: 'center',
backfaceVisibility: 'hidden',
},
});
exports.title = 'PixelRatio';
exports.category = 'UI';
exports.documentationURL = 'https://reactnative.dev/docs/pixelratio';
exports.description = "Gives access to device's pixel density and font scale";
exports.examples = [
{
title: 'Get pixel density',
description: 'Get pixel density of the device.',
render(): React$Node {
return <GetPixelRatio />;
},
},
{
title: 'Get font scale',
description: 'Get the scaling factor for font sizes.',
render(): React$Node {
return <GetFontScale />;
},
},
{
title: 'Get pixel size from layout size',
description: 'layout size (dp) -> pixel size (px)',
render(): React$Node {
return <LayoutSizeToPixel />;
},
},
{
title: 'Rounds a layout size to the nearest pixel',
description:
'Rounds a layout size (dp) to the nearest layout size that corresponds to an integer number of pixels',
render(): React$Node {
return <RoundToNearestPixel />;
},
},
];

Просмотреть файл

@ -263,6 +263,11 @@ const APIs: Array<RNTesterModuleInfo> = ([
category: 'Basic',
module: require('../examples/PanResponder/PanResponderExample'),
},
{
key: 'PixelRatio',
category: 'UI',
module: require('../examples/PixelRatio/PixelRatioExample'),
},
{
key: 'PermissionsExampleAndroid',
category: 'Android',

Просмотреть файл

@ -264,6 +264,10 @@ const APIs: Array<RNTesterModuleInfo> = ([
key: 'PlatformColorExample',
module: require('../examples/PlatformColor/PlatformColorExample'),
},
{
key: 'PixelRatio',
module: require('../examples/PixelRatio/PixelRatioExample'),
},
{
key: 'PointerEventsExample',
module: require('../examples/PointerEvents/PointerEventsExample'),

Просмотреть файл

@ -1,5 +1,5 @@
{
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
"overrides": [
{
"type": "copy",
@ -12,14 +12,14 @@
"type": "copy",
"directory": "js/components",
"baseDirectory": "packages/rn-tester/js/components",
"baseHash": "e30582c7ce0ba5cc7965a1b5ccd7f443692e24e1",
"baseHash": "c451b2c1c49baed92d62937cfa6c9578a946c6f5",
"issue": 4054
},
{
"type": "copy",
"directory": "js/examples/Accessibility",
"baseDirectory": "packages/rn-tester/js/examples/Accessibility",
"baseHash": "c3e22748043a47b6947f0fdb6f9374e57112f4de",
"baseHash": "a7c60c86d2c129b8956401f9a655643fbbfd0d47",
"issue": 4054
},
{
@ -47,7 +47,7 @@
"type": "copy",
"directory": "js/examples/Animated",
"baseDirectory": "packages/rn-tester/js/examples/Animated",
"baseHash": "c36e4c9d8e937947a40b8ba8c0f267b212feffca",
"baseHash": "9c619928fc015d297b782786f44405c1803868e4",
"issue": 4054
},
{
@ -124,7 +124,7 @@
"type": "copy",
"directory": "js/examples/Experimental",
"baseDirectory": "packages/rn-tester/js/examples/Experimental",
"baseHash": "3cf296dfcc8341700a9aa7664521fe1e419723c9",
"baseHash": "3534648810ee7fde6157ba4c8ea0a344236f93b7",
"issue": 4054
},
{
@ -260,6 +260,13 @@
"baseHash": "22fe8ca750de2518f0465659fbe84d9ba49705ec",
"issue": 4054
},
{
"type": "copy",
"directory": "js/examples/PixelRatio",
"baseDirectory": "packages/rn-tester/js/examples/PixelRatio",
"baseHash": "fce96794101df81b2eeb7a98b21e4a9456c1e437",
"issue": 4054
},
{
"type": "copy",
"directory": "js/examples/PlatformColor",
@ -488,14 +495,14 @@
"type": "patch",
"file": "js/utils/RNTesterList.android.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
"baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2",
"baseHash": "17abcd7c97a27d4d970d27c1449107222ffb6c85",
"issue": 13228
},
{
"type": "patch",
"file": "js/utils/RNTesterList.ios.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.ios.js",
"baseHash": "39db425962737a74284b382273a83103d1bcaf91",
"baseHash": "468e29aa66b33e980efc15bf13d09b164fdec61b",
"issue": 13228
},
{

Просмотреть файл

@ -23,10 +23,10 @@
"clean-ios": "rm -rf build/generated/ios Pods Podfile.lock"
},
"dependencies": {
"@react-native/popup-menu-android": "0.75.0-main",
"flow-enums-runtime": "^0.0.6",
"invariant": "^2.2.4",
"nullthrows": "^1.1.1",
"@react-native/popup-menu-android": "0.75.0-main"
"nullthrows": "^1.1.1"
},
"peerDependencies": {
"react": "18.2.0",

Просмотреть файл

@ -11,12 +11,12 @@
},
"dependencies": {
"@babel/core": "^7.20.0",
"@react-native/babel-preset": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/babel-preset": "0.75.0-nightly-20240420-03a51da72",
"babel-plugin-transform-flow-enums": "^0.0.2"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@react-native/babel-preset": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/babel-preset": "0.75.0-nightly-20240420-03a51da72",
"eslint": "^8.19.0",
"prettier": "2.8.8"
},

Просмотреть файл

@ -12,7 +12,7 @@
"@babel/core": "^7.20.0",
"@babel/eslint-parser": "^7.20.0",
"@microsoft/eslint-plugin-sdl": "^0.2.0",
"@react-native/eslint-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/eslint-config": "0.75.0-nightly-20240420-03a51da72",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-ft-flow": "^2.0.1"
},

Просмотреть файл

@ -17,7 +17,7 @@
"lint:fix": "rnw-scripts lint:fix"
},
"dependencies": {
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnx-kit/metro-config": "^1.3.5",
"@rnx-kit/metro-plugin-duplicates-checker": "^2.1.0",
"@rnx-kit/metro-serializer": "^1.0.11",

Просмотреть файл

@ -20,7 +20,7 @@
"@typescript-eslint/eslint-plugin": "^5.21.0",
"@typescript-eslint/parser": "^5.21.0",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817"
},
"devDependencies": {
@ -29,9 +29,12 @@
"@babel/preset-env": "^7.20.0",
"@babel/preset-typescript": "^7.8.3",
"@babel/runtime": "^7.20.0",
"@react-native-windows/automation": "^0.3.238",
"@react-native-windows/automation-commands": "^0.1.258",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@react-native-windows/automation": "^0.3.239",
"@react-native-windows/automation-commands": "^0.1.259",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",

Просмотреть файл

@ -2594,12 +2594,12 @@ exports[`Home UIA Tree Dump Cxx TurboModule 1`] = `
},
{
"Offset": "15, 69, 0",
"Size": "65, 19",
"Size": "65, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "65, 19",
"Size": "65, 20",
"Visual Type": "SpriteVisual",
},
{
@ -2611,12 +2611,12 @@ exports[`Home UIA Tree Dump Cxx TurboModule 1`] = `
},
{
"Offset": "853, 69, 0",
"Size": "22, 19",
"Size": "22, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "22, 19",
"Size": "22, 20",
"Visual Type": "SpriteVisual",
},
{
@ -2628,12 +2628,12 @@ exports[`Home UIA Tree Dump Cxx TurboModule 1`] = `
},
{
"Offset": "901, 69, 0",
"Size": "52, 19",
"Size": "52, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "52, 19",
"Size": "52, 20",
"Visual Type": "SpriteVisual",
},
{
@ -7660,12 +7660,12 @@ exports[`Home UIA Tree Dump Performance API Examples 1`] = `
"__Children": [
{
"Offset": "15, 12, 0",
"Size": "234, 28",
"Size": "234, 27",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "234, 28",
"Size": "234, 27",
"Visual Type": "SpriteVisual",
},
{
@ -7918,6 +7918,176 @@ exports[`Home UIA Tree Dump Performance Comparison Examples 1`] = `
}
`;
exports[`Home UIA Tree Dump PixelRatio 1`] = `
{
"Automation Tree": {
"AutomationId": "PixelRatio",
"ControlType": 50026,
"IsKeyboardFocusable": true,
"LocalizedControlType": "group",
"Name": "PixelRatio Gives access to device's pixel density and font scale",
"__Children": [
{
"AutomationId": "",
"ControlType": 50020,
"LocalizedControlType": "text",
"Name": "PixelRatio",
},
{
"AutomationId": "",
"ControlType": 50020,
"LocalizedControlType": "text",
"Name": "Gives access to device's pixel density and font scale",
},
{
"AutomationId": "",
"ControlType": 50020,
"LocalizedControlType": "text",
"Name": "UI",
},
{
"AutomationId": "",
"ControlType": 50020,
"LocalizedControlType": "text",
"Name": "iOS",
},
{
"AutomationId": "",
"ControlType": 50020,
"LocalizedControlType": "text",
"Name": "Android",
},
],
},
"Component Tree": {
"Type": "Microsoft.ReactNative.Composition.ViewComponentView",
"_Props": {
"AccessibilityLabel": "PixelRatio Gives access to device's pixel density and font scale",
"TestId": "PixelRatio",
},
"__Children": [
{
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
"_Props": {},
},
{
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
"_Props": {},
},
{
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
"_Props": {},
},
{
"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": "PixelRatio",
"Offset": "0, 0, 0",
"Size": "968, 99",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "15, 12, 0",
"Size": "87, 28",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "87, 28",
"Visual Type": "SpriteVisual",
},
{
"Offset": "0, 0, 0",
"Size": "0, 0",
"Visual Type": "SpriteVisual",
},
],
},
{
"Offset": "15, 43, 0",
"Size": "938, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "938, 20",
"Visual Type": "SpriteVisual",
},
{
"Offset": "0, 0, 0",
"Size": "0, 0",
"Visual Type": "SpriteVisual",
},
],
},
{
"Offset": "15, 69, 0",
"Size": "65, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "65, 19",
"Visual Type": "SpriteVisual",
},
{
"Offset": "0, 0, 0",
"Size": "0, 0",
"Visual Type": "SpriteVisual",
},
],
},
{
"Offset": "853, 69, 0",
"Size": "22, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "22, 19",
"Visual Type": "SpriteVisual",
},
{
"Offset": "0, 0, 0",
"Size": "0, 0",
"Visual Type": "SpriteVisual",
},
],
},
{
"Offset": "901, 69, 0",
"Size": "52, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "52, 19",
"Visual Type": "SpriteVisual",
},
{
"Offset": "0, 0, 0",
"Size": "0, 0",
"Visual Type": "SpriteVisual",
},
],
},
],
},
}
`;
exports[`Home UIA Tree Dump PlatformColor 1`] = `
{
"Automation Tree": {
@ -8034,12 +8204,12 @@ exports[`Home UIA Tree Dump PlatformColor 1`] = `
},
{
"Offset": "15, 69, 0",
"Size": "65, 19",
"Size": "65, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "65, 19",
"Size": "65, 20",
"Visual Type": "SpriteVisual",
},
{
@ -8051,12 +8221,12 @@ exports[`Home UIA Tree Dump PlatformColor 1`] = `
},
{
"Offset": "853, 69, 0",
"Size": "22, 19",
"Size": "22, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "22, 19",
"Size": "22, 20",
"Visual Type": "SpriteVisual",
},
{
@ -8068,12 +8238,12 @@ exports[`Home UIA Tree Dump PlatformColor 1`] = `
},
{
"Offset": "901, 69, 0",
"Size": "52, 19",
"Size": "52, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "52, 19",
"Size": "52, 20",
"Visual Type": "SpriteVisual",
},
{
@ -8170,12 +8340,12 @@ exports[`Home UIA Tree Dump Pointer Events 1`] = `
"__Children": [
{
"Offset": "15, 12, 0",
"Size": "125, 28",
"Size": "125, 27",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "125, 28",
"Size": "125, 27",
"Visual Type": "SpriteVisual",
},
{
@ -8675,17 +8845,17 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
},
"Comment": "RTLExample",
"Offset": "0, 0, 0",
"Size": "968, 99",
"Size": "968, 100",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "15, 12, 0",
"Size": "105, 27",
"Size": "105, 28",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "105, 27",
"Size": "105, 28",
"Visual Type": "SpriteVisual",
},
{
@ -8714,12 +8884,12 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
},
{
"Offset": "15, 69, 0",
"Size": "65, 20",
"Size": "65, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "65, 20",
"Size": "65, 19",
"Visual Type": "SpriteVisual",
},
{
@ -8731,12 +8901,12 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
},
{
"Offset": "853, 69, 0",
"Size": "22, 20",
"Size": "22, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "22, 20",
"Size": "22, 19",
"Visual Type": "SpriteVisual",
},
{
@ -8748,12 +8918,12 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
},
{
"Offset": "901, 69, 0",
"Size": "52, 20",
"Size": "52, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "52, 20",
"Size": "52, 19",
"Visual Type": "SpriteVisual",
},
{
@ -9634,7 +9804,7 @@ exports[`Home UIA Tree Dump Share 1`] = `
},
"Comment": "Share",
"Offset": "0, 0, 0",
"Size": "968, 100",
"Size": "968, 99",
"Visual Type": "SpriteVisual",
"__Children": [
{
@ -10693,12 +10863,12 @@ exports[`Home UIA Tree Dump Timers 1`] = `
},
{
"Offset": "15, 69, 0",
"Size": "65, 19",
"Size": "65, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "65, 19",
"Size": "65, 20",
"Visual Type": "SpriteVisual",
},
{
@ -10710,12 +10880,12 @@ exports[`Home UIA Tree Dump Timers 1`] = `
},
{
"Offset": "853, 69, 0",
"Size": "22, 19",
"Size": "22, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "22, 19",
"Size": "22, 20",
"Visual Type": "SpriteVisual",
},
{
@ -10727,12 +10897,12 @@ exports[`Home UIA Tree Dump Timers 1`] = `
},
{
"Offset": "901, 69, 0",
"Size": "52, 19",
"Size": "52, 20",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "52, 19",
"Size": "52, 20",
"Visual Type": "SpriteVisual",
},
{
@ -11169,12 +11339,12 @@ exports[`Home UIA Tree Dump Transforms 1`] = `
"__Children": [
{
"Offset": "15, 12, 0",
"Size": "97, 28",
"Size": "97, 27",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "97, 28",
"Size": "97, 27",
"Visual Type": "SpriteVisual",
},
{
@ -11504,17 +11674,17 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
},
"Comment": "TurboModule",
"Offset": "0, 0, 0",
"Size": "968, 100",
"Size": "968, 99",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "15, 12, 0",
"Size": "121, 27",
"Size": "121, 28",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "121, 27",
"Size": "121, 28",
"Visual Type": "SpriteVisual",
},
{
@ -11543,12 +11713,12 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
},
{
"Offset": "15, 69, 0",
"Size": "65, 20",
"Size": "65, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "65, 20",
"Size": "65, 19",
"Visual Type": "SpriteVisual",
},
{
@ -11560,12 +11730,12 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
},
{
"Offset": "853, 69, 0",
"Size": "22, 20",
"Size": "22, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "22, 20",
"Size": "22, 19",
"Visual Type": "SpriteVisual",
},
{
@ -11577,12 +11747,12 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
},
{
"Offset": "901, 69, 0",
"Size": "52, 20",
"Size": "52, 19",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
"Size": "52, 20",
"Size": "52, 19",
"Visual Type": "SpriteVisual",
},
{
@ -11844,7 +12014,7 @@ exports[`Home UIA Tree Dump WebSocket 1`] = `
},
"Comment": "WebSocket",
"Offset": "0, 0, 0",
"Size": "968, 99",
"Size": "968, 100",
"Visual Type": "SpriteVisual",
"__Children": [
{

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -20,7 +20,7 @@
"@typescript-eslint/eslint-plugin": "^5.21.0",
"@typescript-eslint/parser": "^5.21.0",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817",
"react-native-xaml": "^0.0.78"
},
@ -32,7 +32,7 @@
"@babel/runtime": "^7.20.0",
"@react-native-windows/automation": "^0.3.239",
"@react-native-windows/automation-commands": "^0.1.259",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",

Просмотреть файл

@ -17,7 +17,7 @@
"@typescript-eslint/parser": "^5.21.0",
"chai": "^4.2.0",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817"
},
"devDependencies": {
@ -27,7 +27,7 @@
"@babel/preset-typescript": "^7.11.5",
"@babel/traverse": "^7.11.5",
"@babel/types": "^7.11.5",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/eslint-config": "^1.2.16",
"@rnw-scripts/just-task": "^2.3.32",

Просмотреть файл

@ -16,13 +16,13 @@
"@typescript-eslint/eslint-plugin": "^5.21.0",
"@typescript-eslint/parser": "^5.21.0",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/runtime": "^7.20.0",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",
"@rnw-scripts/just-task": "2.3.32",

Просмотреть файл

@ -15,7 +15,7 @@
"@typescript-eslint/eslint-plugin": "^5.21.0",
"@typescript-eslint/parser": "^5.21.0",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817"
},
"devDependencies": {
@ -25,7 +25,7 @@
"@babel/preset-typescript": "^7.8.3",
"@babel/runtime": "^7.20.0",
"@jest/globals": "^29.7.0",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",

Просмотреть файл

@ -16,7 +16,7 @@
"@typescript-eslint/eslint-plugin": "^5.30.5",
"@typescript-eslint/parser": "^5.57.1",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-windows": "^0.0.0-canary.817"
},
"devDependencies": {
@ -25,7 +25,7 @@
"@babel/runtime": "^7.20.0",
"@react-native-windows/cli": "0.0.0-canary.213",
"@react-native-windows/codegen": "0.0.0-canary.87",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",
"@rnw-scripts/just-task": "2.3.32",

Просмотреть файл

@ -146,4 +146,4 @@ untyped-import
untyped-type-import
[version]
^0.233.0
^0.234.0

Просмотреть файл

@ -44,6 +44,12 @@ bool JSExecutor::supportsConsole() const {
return false;
}
std::unique_ptr<facebook::react::jsinspector_modern::StackTrace> JSExecutor::captureStackTrace(
facebook::jsi::Runtime &runtime,
size_t framesToSkip) {
return std::make_unique<facebook::react::jsinspector_modern::StackTrace>();
}
std::unique_ptr<jsinspector_modern::RuntimeAgentDelegate>
JSExecutor::createAgentDelegate(
jsinspector_modern::FrontendChannel frontendChannel,

Просмотреть файл

@ -16,6 +16,7 @@
#include <jsinspector-modern/FallbackRuntimeAgentDelegate.h>
#include <jsinspector-modern/ReactCdp.h>
#include <jsinspector-modern/ConsoleMessage.h>
#include <jsinspector-modern/StackTrace.h>
#ifndef RN_EXPORT
#define RN_EXPORT __attribute__((visibility("default")))
@ -146,6 +147,22 @@ class RN_EXPORT JSExecutor : public jsinspector_modern::RuntimeTargetDelegate {
virtual bool supportsConsole() const;
/**
* \returns an opaque representation of a stack trace. This may be passed back
* to the `RuntimeTargetDelegate` as part of `addConsoleMessage` or other APIs
* that report stack traces.
* \param framesToSkip The number of call frames to skip. The first call frame
* is the topmost (current) frame on the Runtime's call stack, which will
* typically be the (native) JSI HostFunction that called this method.
* \note The method is called on the JS thread, and receives a valid reference
* to the current \c jsi::Runtime. The callee MAY use its own intrinsic
* Runtime reference, if it has one, without checking it for equivalence with
* the one provided here.
*/
std::unique_ptr<jsinspector_modern::StackTrace> captureStackTrace(
jsi::Runtime& runtime,
size_t framesToSkip = 0) override;
/**
* Create a RuntimeAgentDelegate that can be used to debug the JS VM instance.
*/

Просмотреть файл

@ -419,6 +419,12 @@ bool HermesJSRuntime::supportsConsole() const {
return false;
}
std::unique_ptr<facebook::react::jsinspector_modern::StackTrace> HermesJSRuntime::captureStackTrace(
facebook::jsi::Runtime &runtime,
size_t framesToSkip) {
return std::make_unique<facebook::react::jsinspector_modern::StackTrace>();
}
std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate> HermesJSRuntime::createAgentDelegate(
facebook::react::jsinspector_modern::FrontendChannel frontendChannel,
facebook::react::jsinspector_modern::SessionState &sessionState,

Просмотреть файл

@ -61,6 +61,9 @@ class HermesJSRuntime : public facebook::react::JSRuntime {
void addConsoleMessage(facebook::jsi::Runtime &runtime, facebook::react::jsinspector_modern::ConsoleMessage message)
override;
bool supportsConsole() const override;
std::unique_ptr<facebook::react::jsinspector_modern::StackTrace> captureStackTrace(
facebook::jsi::Runtime &runtime,
size_t framesToSkip = 0) override;
std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate> createAgentDelegate(
facebook::react::jsinspector_modern::FrontendChannel frontendChannel,

Просмотреть файл

@ -598,9 +598,6 @@
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\ShadowTreeRegistry.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\ShadowView.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\ShadowViewMutation.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\Stubs.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\StubView.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\StubViewTree.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\TelemetryController.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\observers\events\EventPerformanceLogger.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\scheduler\Scheduler.cpp" />

Просмотреть файл

@ -29,9 +29,10 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
SyncMethod<bool() noexcept>{10, L"forceBatchingMountItemsOnAndroid"},
SyncMethod<bool() noexcept>{11, L"inspectorEnableCxxInspectorPackagerConnection"},
SyncMethod<bool() noexcept>{12, L"inspectorEnableModernCDPRegistry"},
SyncMethod<bool() noexcept>{13, L"useModernRuntimeScheduler"},
SyncMethod<bool() noexcept>{14, L"useNativeViewConfigsInBridgelessMode"},
SyncMethod<bool() noexcept>{15, L"useStateAlignmentMechanism"},
SyncMethod<bool() noexcept>{13, L"preventDoubleTextMeasure"},
SyncMethod<bool() noexcept>{14, L"useModernRuntimeScheduler"},
SyncMethod<bool() noexcept>{15, L"useNativeViewConfigsInBridgelessMode"},
SyncMethod<bool() noexcept>{16, L"useStateAlignmentMechanism"},
};
template <class TModule>
@ -105,16 +106,21 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
" REACT_SYNC_METHOD(inspectorEnableModernCDPRegistry) static bool inspectorEnableModernCDPRegistry() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
13,
"preventDoubleTextMeasure",
" REACT_SYNC_METHOD(preventDoubleTextMeasure) bool preventDoubleTextMeasure() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(preventDoubleTextMeasure) static bool preventDoubleTextMeasure() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
14,
"useModernRuntimeScheduler",
" REACT_SYNC_METHOD(useModernRuntimeScheduler) bool useModernRuntimeScheduler() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useModernRuntimeScheduler) static bool useModernRuntimeScheduler() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
14,
15,
"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(
15,
16,
"useStateAlignmentMechanism",
" REACT_SYNC_METHOD(useStateAlignmentMechanism) bool useStateAlignmentMechanism() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useStateAlignmentMechanism) static bool useStateAlignmentMechanism() noexcept { /* implementation */ }\n");

Просмотреть файл

@ -34,11 +34,9 @@ struct UIManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
SyncMethod<std::vector<std::string>() noexcept>{15, L"getDefaultEventTypes"},
Method<void(bool) noexcept>{16, L"setLayoutAnimationEnabledExperimental"},
Method<void(double, double) noexcept>{17, L"sendAccessibilityEvent"},
Method<void(double, std::vector<std::string>, Callback<::React::JSValue>, Callback<std::string, double>) noexcept>{18, L"showPopupMenu"},
Method<void() noexcept>{19, L"dismissPopupMenu"},
SyncMethod<::React::JSValue(std::string) noexcept>{20, L"lazilyLoadView"},
Method<void(double) noexcept>{21, L"focus"},
Method<void(double) noexcept>{22, L"blur"},
SyncMethod<::React::JSValue(std::string) noexcept>{18, L"lazilyLoadView"},
Method<void(double) noexcept>{19, L"focus"},
Method<void(double) noexcept>{20, L"blur"},
};
template <class TModule>
@ -137,26 +135,16 @@ struct UIManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
" REACT_METHOD(sendAccessibilityEvent) static void sendAccessibilityEvent(double reactTag, double eventType) noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
18,
"showPopupMenu",
" REACT_METHOD(showPopupMenu) void showPopupMenu(double reactTag, std::vector<std::string> const & items, std::function<void(::React::JSValue const &)> const & error, std::function<void(std::string, double)> const & success) noexcept { /* implementation */ }\n"
" REACT_METHOD(showPopupMenu) static void showPopupMenu(double reactTag, std::vector<std::string> const & items, std::function<void(::React::JSValue const &)> const & error, std::function<void(std::string, double)> const & success) noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
19,
"dismissPopupMenu",
" REACT_METHOD(dismissPopupMenu) void dismissPopupMenu() noexcept { /* implementation */ }\n"
" REACT_METHOD(dismissPopupMenu) static void dismissPopupMenu() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
20,
"lazilyLoadView",
" REACT_SYNC_METHOD(lazilyLoadView) ::React::JSValue lazilyLoadView(std::string name) noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(lazilyLoadView) static ::React::JSValue lazilyLoadView(std::string name) noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
21,
19,
"focus",
" REACT_METHOD(focus) void focus(double reactTag) noexcept { /* implementation */ }\n"
" REACT_METHOD(focus) static void focus(double reactTag) noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
22,
20,
"blur",
" REACT_METHOD(blur) void blur(double reactTag) noexcept { /* implementation */ }\n"
" REACT_METHOD(blur) static void blur(double reactTag) noexcept { /* implementation */ }\n");

Просмотреть файл

@ -76,6 +76,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_inspect
rt
);
}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventDoubleTextMeasure(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->preventDoubleTextMeasure(
rt
);
}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useModernRuntimeScheduler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useModernRuntimeScheduler(
rt
@ -107,6 +112,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
methodMap_["forceBatchingMountItemsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_forceBatchingMountItemsOnAndroid};
methodMap_["inspectorEnableCxxInspectorPackagerConnection"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_inspectorEnableCxxInspectorPackagerConnection};
methodMap_["inspectorEnableModernCDPRegistry"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_inspectorEnableModernCDPRegistry};
methodMap_["preventDoubleTextMeasure"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventDoubleTextMeasure};
methodMap_["useModernRuntimeScheduler"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useModernRuntimeScheduler};
methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeViewConfigsInBridgelessMode};
methodMap_["useStateAlignmentMechanism"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useStateAlignmentMechanism};
@ -2666,22 +2672,6 @@ static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_sendAccessibilityEven
);
return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_showPopupMenu(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
static_cast<NativeUIManagerCxxSpecJSI *>(&turboModule)->showPopupMenu(
rt,
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt).asArray(rt),
count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asObject(rt).asFunction(rt),
count <= 3 ? throw jsi::JSError(rt, "Expected argument in position 3 to be passed") : args[3].asObject(rt).asFunction(rt)
);
return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_dismissPopupMenu(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
static_cast<NativeUIManagerCxxSpecJSI *>(&turboModule)->dismissPopupMenu(
rt
);
return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_lazilyLoadView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<NativeUIManagerCxxSpecJSI *>(&turboModule)->lazilyLoadView(
rt,
@ -2724,8 +2714,6 @@ NativeUIManagerCxxSpecJSI::NativeUIManagerCxxSpecJSI(std::shared_ptr<CallInvoker
methodMap_["getDefaultEventTypes"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_getDefaultEventTypes};
methodMap_["setLayoutAnimationEnabledExperimental"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_setLayoutAnimationEnabledExperimental};
methodMap_["sendAccessibilityEvent"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_sendAccessibilityEvent};
methodMap_["showPopupMenu"] = MethodMetadata {4, __hostFunction_NativeUIManagerCxxSpecJSI_showPopupMenu};
methodMap_["dismissPopupMenu"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_dismissPopupMenu};
methodMap_["lazilyLoadView"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_lazilyLoadView};
methodMap_["focus"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_focus};
methodMap_["blur"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_blur};

Просмотреть файл

@ -33,6 +33,7 @@ public:
virtual bool forceBatchingMountItemsOnAndroid(jsi::Runtime &rt) = 0;
virtual bool inspectorEnableCxxInspectorPackagerConnection(jsi::Runtime &rt) = 0;
virtual bool inspectorEnableModernCDPRegistry(jsi::Runtime &rt) = 0;
virtual bool preventDoubleTextMeasure(jsi::Runtime &rt) = 0;
virtual bool useModernRuntimeScheduler(jsi::Runtime &rt) = 0;
virtual bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) = 0;
virtual bool useStateAlignmentMechanism(jsi::Runtime &rt) = 0;
@ -163,6 +164,14 @@ private:
return bridging::callFromJs<bool>(
rt, &T::inspectorEnableModernCDPRegistry, jsInvoker_, instance_);
}
bool preventDoubleTextMeasure(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::preventDoubleTextMeasure) == 1,
"Expected preventDoubleTextMeasure(...) to have 1 parameters");
return bridging::callFromJs<bool>(
rt, &T::preventDoubleTextMeasure, jsInvoker_, instance_);
}
bool useModernRuntimeScheduler(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::useModernRuntimeScheduler) == 1,
@ -7048,8 +7057,6 @@ public:
virtual jsi::Array getDefaultEventTypes(jsi::Runtime &rt) = 0;
virtual void setLayoutAnimationEnabledExperimental(jsi::Runtime &rt, bool enabled) = 0;
virtual void sendAccessibilityEvent(jsi::Runtime &rt, double reactTag, double eventType) = 0;
virtual void showPopupMenu(jsi::Runtime &rt, double reactTag, jsi::Array items, jsi::Function error, jsi::Function success) = 0;
virtual void dismissPopupMenu(jsi::Runtime &rt) = 0;
virtual jsi::Object lazilyLoadView(jsi::Runtime &rt, jsi::String name) = 0;
virtual void focus(jsi::Runtime &rt, double reactTag) = 0;
virtual void blur(jsi::Runtime &rt, double reactTag) = 0;
@ -7228,22 +7235,6 @@ private:
return bridging::callFromJs<void>(
rt, &T::sendAccessibilityEvent, jsInvoker_, instance_, std::move(reactTag), std::move(eventType));
}
void showPopupMenu(jsi::Runtime &rt, double reactTag, jsi::Array items, jsi::Function error, jsi::Function success) override {
static_assert(
bridging::getParameterCount(&T::showPopupMenu) == 5,
"Expected showPopupMenu(...) to have 5 parameters");
return bridging::callFromJs<void>(
rt, &T::showPopupMenu, jsInvoker_, instance_, std::move(reactTag), std::move(items), std::move(error), std::move(success));
}
void dismissPopupMenu(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::dismissPopupMenu) == 1,
"Expected dismissPopupMenu(...) to have 1 parameters");
return bridging::callFromJs<void>(
rt, &T::dismissPopupMenu, jsInvoker_, instance_);
}
jsi::Object lazilyLoadView(jsi::Runtime &rt, jsi::String name) override {
static_assert(
bridging::getParameterCount(&T::lazilyLoadView) == 2,

Просмотреть файл

@ -8,13 +8,13 @@
"**/__snapshots__/**",
"src-win/rntypes/**"
],
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
"overrides": [
{
"type": "derived",
"file": ".flowconfig",
"baseFile": ".flowconfig",
"baseHash": "207887dce4d232e4ded4dbeefe4188766b24144a"
"baseHash": "4f8e1f39d8ed29d7d0e21455cac407d352a6824d"
},
{
"type": "derived",
@ -592,4 +592,4 @@
"baseHash": "b4a125d9134f33aeaba9e06988e18cbb0b4e9e9c"
}
]
}
}

Просмотреть файл

@ -28,13 +28,13 @@
"@react-native-community/cli-platform-ios": "14.0.0-alpha.2",
"@react-native-windows/cli": "0.0.0-canary.213",
"@react-native/assets": "1.0.0",
"@react-native/assets-registry": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/codegen": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/community-cli-plugin": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/gradle-plugin": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/js-polyfills": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/normalize-colors": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/virtualized-lists": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/assets-registry": "0.75.0-nightly-20240420-03a51da72",
"@react-native/codegen": "0.75.0-nightly-20240420-03a51da72",
"@react-native/community-cli-plugin": "0.75.0-nightly-20240420-03a51da72",
"@react-native/gradle-plugin": "0.75.0-nightly-20240420-03a51da72",
"@react-native/js-polyfills": "0.75.0-nightly-20240420-03a51da72",
"@react-native/normalize-colors": "0.75.0-nightly-20240420-03a51da72",
"@react-native/virtualized-lists": "0.75.0-nightly-20240420-03a51da72",
"abort-controller": "^3.0.0",
"anser": "^1.4.9",
"ansi-regex": "^5.0.0",
@ -52,7 +52,7 @@
"nullthrows": "^1.1.1",
"pretty-format": "^26.5.2",
"promise": "^8.3.0",
"react-devtools-core": "^5.0.2",
"react-devtools-core": "5.1.0",
"react-refresh": "^0.14.0",
"react-shallow-renderer": "^16.15.0",
"regenerator-runtime": "^0.13.2",
@ -66,7 +66,7 @@
},
"devDependencies": {
"@react-native-windows/codegen": "0.0.0-canary.87",
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.16",
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.20",
@ -82,7 +82,7 @@
"just-scripts": "^1.3.3",
"prettier": "2.8.8",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
"react-native": "0.75.0-nightly-20240420-03a51da72",
"react-native-platform-override": "^1.9.33",
"react-refresh": "^0.14.0",
"typescript": "5.0.4"
@ -90,7 +90,7 @@
"peerDependencies": {
"@types/react": "^18.2.6",
"react": "18.2.0",
"react-native": "0.75.0-nightly-20240413-1b152f6ec"
"react-native": "0.75.0-nightly-20240420-03a51da72"
},
"beachball": {
"defaultNpmTag": "canary",

178
yarn.lock
Просмотреть файл

@ -2487,27 +2487,27 @@
resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.7.5.tgz#e43fcd65f260fa4f23e974ccb9fb7c1f7a9ff94a"
integrity sha512-vhMaOLkXSUb+YKVbukMJToU4g+89VMhBG2U9+cLYF8X8HtFRidrHjohGqT8/OyesDuKIXeLIP+UFYI9Q9CRA9Q==
"@react-native/assets-registry@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.75.0-nightly-20240413-1b152f6ec.tgz#1a4f446df7e13aa8d040f10b2c94da9352e2f277"
integrity sha512-AQg+BgJ8mCuZHVO+8FJmR+lWH7mVycDcuaYU10VQZgA+HJZr27K/fxR0boAVAfddWyatkLUa+NncK5NzdSFKuQ==
"@react-native/assets-registry@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.75.0-nightly-20240420-03a51da72.tgz#f24727d38c0ad6cba5ce7acfec1707cbcff316fa"
integrity sha512-8SKaVWov9+ywuX5rfMZSrH765XBoEen9kNKEyi8W51PdCw8LpJTjD6WCMtsqe/HOnD3LEGKm9xvI3JnXp+Zk+g==
"@react-native/assets@1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
"@react-native/babel-plugin-codegen@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.0-nightly-20240413-1b152f6ec.tgz#184d21ce2bf7327df8fe4941c8699679231f4b70"
integrity sha512-cKnXTHICyro1n0f60nrPR9xj1hwWlpmxxNZc1+mREdHvyYGo6ce84goCPTe349XoH1tWj89g/H1FaOrdjVcznw==
"@react-native/babel-plugin-codegen@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.0-nightly-20240420-03a51da72.tgz#418e3b4b7ff323fe973ec7ccf507ab0979a4d41a"
integrity sha512-y44ynwZ0bkmeerEaUoxNxWPQUeypE4r5Z0HF7fEgySkSMMfUKqZcnQVtVmXBm/KDorCzlx/JZC/4Dky5Pyq4SQ==
dependencies:
"@react-native/codegen" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/codegen" "0.75.0-nightly-20240420-03a51da72"
"@react-native/babel-preset@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.75.0-nightly-20240413-1b152f6ec.tgz#6d97dd2cbede918765ac3ecdf6f39dbd6e0bafeb"
integrity sha512-liq/BGo7xgl+UPWt2eEx9xEGXguCnfdfl8Ml0iQ/c82Q/ZmhlW528B54F0lVbbfIvaqbPkT41jNlZGGC2PDwcA==
"@react-native/babel-preset@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.75.0-nightly-20240420-03a51da72.tgz#464c3bed086368abef17a5cf4c9687439f9adaa2"
integrity sha512-SrNWKC1De44eUyZCQNxj/Jpt5x7mAObqCw07nmW+rR6BKAwtSbt1R8pSfItuuu3UKYYfEHwY6ANjisAKSD3iwQ==
dependencies:
"@babel/core" "^7.20.0"
"@babel/plugin-proposal-async-generator-functions" "^7.0.0"
@ -2549,14 +2549,14 @@
"@babel/plugin-transform-typescript" "^7.5.0"
"@babel/plugin-transform-unicode-regex" "^7.0.0"
"@babel/template" "^7.0.0"
"@react-native/babel-plugin-codegen" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/babel-plugin-codegen" "0.75.0-nightly-20240420-03a51da72"
babel-plugin-transform-flow-enums "^0.0.2"
react-refresh "^0.14.0"
"@react-native/codegen@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.75.0-nightly-20240413-1b152f6ec.tgz#79af3a0da2aad8c90f38c49fcbfb971fee6d073b"
integrity sha512-YBk5AQxptih20XZf8fDhmJG5ZqpcPNTPlZFPZMLgfrm0ld0NdJlPknbbJz34YrYTCImFrGhmZNlReQCuuTkO7g==
"@react-native/codegen@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.75.0-nightly-20240420-03a51da72.tgz#c242d436a0eab928dd645b16e68a58fd494640ef"
integrity sha512-wbUglCC63jmtvoIR0HvwsC8ZWm7yyu++A/vZDVlc2UOm4RV0YPAaFIolNFwBWd1eGRuKo6Ws3flhNmkFk0EHZw==
dependencies:
"@babel/parser" "^7.20.0"
glob "^7.1.1"
@ -2566,15 +2566,15 @@
mkdirp "^0.5.1"
nullthrows "^1.1.1"
"@react-native/community-cli-plugin@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.0-nightly-20240413-1b152f6ec.tgz#faae27a257952459e3dd7170d7ba59430e729070"
integrity sha512-RsgWTMNdTYNYR9nMvWvto4MxlLrFvwRv7/fy+e5pT7nLBSlHSqZ3Nh1hVoCSc5dbsQLkrxTyQmSvG8x8vl9AFw==
"@react-native/community-cli-plugin@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.0-nightly-20240420-03a51da72.tgz#2ee69c3e5bae97c27a1e0b4b6b301776982e3509"
integrity sha512-UBbw3cJmmrc94hsX6a7abDq6qBqaQe9xP5n5FplaJEUIefUyf+FD5mK+5PNmwZKDSWFTMWBj4++tgn9/L/S4Iw==
dependencies:
"@react-native-community/cli-server-api" "14.0.0-alpha.2"
"@react-native-community/cli-tools" "14.0.0-alpha.2"
"@react-native/dev-middleware" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/dev-middleware" "0.75.0-nightly-20240420-03a51da72"
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240420-03a51da72"
chalk "^4.0.0"
execa "^5.1.1"
metro "^0.80.3"
@ -2584,18 +2584,18 @@
querystring "^0.2.1"
readline "^1.3.0"
"@react-native/debugger-frontend@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.75.0-nightly-20240413-1b152f6ec.tgz#f226a73ea89405de99bbe8cb1daa5da0f857ab0a"
integrity sha512-Fdg+q2JA9qQhFpaq114NBoGPc+5rSuZMQeyGM8uxf/wXGs/+EI+3e9nU2QtN59M36yxjDrA6iISdXqUsXPA6hw==
"@react-native/debugger-frontend@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.75.0-nightly-20240420-03a51da72.tgz#cede088794c95d2ccaf382fc208eacb737dbab62"
integrity sha512-DeKCbgPYlihIE9AryGGOsYlTaFOuEn7U2tygtm4wJfooIiTFN9PI8dEA8n3kEo/0QPKlLTb0iD9SebHPE8JHzA==
"@react-native/dev-middleware@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.75.0-nightly-20240413-1b152f6ec.tgz#0dbb0df5d81c87b75798249a80d985781fb38b4f"
integrity sha512-0fGUrmmbxHe+Uuxp0K/r1GX0acQtbthshedhW0ln0ooZwbymhpukTXROe/cy/JlliUXMEPR561up/TgVcxUoww==
"@react-native/dev-middleware@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.75.0-nightly-20240420-03a51da72.tgz#6c4c88dd884ab0ec5afca9412112eccc218acc49"
integrity sha512-yvvsMQaRsAS1g1BR9sXAgG1YfPWDfG1Mc3+WVZwHvROzCYXJNKFd4WKrJMWn40Ndsx0bI3+a5ChjTXZizqKH2A==
dependencies:
"@isaacs/ttlcache" "^1.4.1"
"@react-native/debugger-frontend" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/debugger-frontend" "0.75.0-nightly-20240420-03a51da72"
chrome-launcher "^0.15.2"
chromium-edge-launcher "^0.2.0"
connect "^3.6.5"
@ -2608,14 +2608,14 @@
temp-dir "^2.0.0"
ws "^6.2.2"
"@react-native/eslint-config@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.75.0-nightly-20240413-1b152f6ec.tgz#3337f1ad091ea34acb140e4765b07f435d9fa021"
integrity sha512-ru0kDHyZr+5XgducnEr4AyDusL8i4TlozT3XeDBiTonp6ru5QyGYZmFPGc1kb5N9PjU++vHtFI/PMXMFl4kIXg==
"@react-native/eslint-config@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.75.0-nightly-20240420-03a51da72.tgz#673b7220b784f0a3e3b2933b610e46d21b79cd80"
integrity sha512-U6uWZbisWpS2jFtLegcp4kRup6bOR/6JEk3eD623CVQGTI1cz0+FuHr+Fb9OHu3qM/ylWPktucEHRINglmNlRQ==
dependencies:
"@babel/core" "^7.20.0"
"@babel/eslint-parser" "^7.20.0"
"@react-native/eslint-plugin" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/eslint-plugin" "0.75.0-nightly-20240420-03a51da72"
"@typescript-eslint/eslint-plugin" "^7.1.1"
"@typescript-eslint/parser" "^7.1.1"
eslint-config-prettier "^8.5.0"
@ -2626,45 +2626,45 @@
eslint-plugin-react-hooks "^4.6.0"
eslint-plugin-react-native "^4.0.0"
"@react-native/eslint-plugin@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.75.0-nightly-20240413-1b152f6ec.tgz#3450b2b0091b385f830349bc68c56908fce3b07f"
integrity sha512-NJX5uFQqtmxDjpcdEVHhPyi/Z/yjRH43xHBqs8Um6jNe6fVnhxv0XLDaugUk4EEGdzJhKwPUPhlzjiJbGdJO9g==
"@react-native/eslint-plugin@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.75.0-nightly-20240420-03a51da72.tgz#dec25e700c47e96066ff186f097fe8599244b3c3"
integrity sha512-LxqQnVLumTDc3Vm1sDZSIJmiiA8Pu+Plt0ZPBaoRIkftRJKgvHxE9jUerHBWCeqD71lUMIFqEALA6m8o+O5NZQ==
"@react-native/gradle-plugin@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.75.0-nightly-20240413-1b152f6ec.tgz#c9067d1d9462a2e6a596ed034f539ddb2ab7713e"
integrity sha512-x4GzGBg8Mfmv+L8rKG8lcAh25A1TnGLwTSnooGWi6m5/x1pPi96q/1S3x1E3oe4+uMJqlsU5siMLhSqS8Ad5YA==
"@react-native/gradle-plugin@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.75.0-nightly-20240420-03a51da72.tgz#755a920860fdf0729cefff66759a5b5d2cc7364e"
integrity sha512-l3sfaXIHhXj01yvWD7AC5IyfsNfX/cFTJTWSFTbj1hVrDYu8ZCAFNFCW84kxYMGODq4+uh5S5TJ2qA6/AAPONQ==
"@react-native/js-polyfills@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.75.0-nightly-20240413-1b152f6ec.tgz#17a9a3842060e754f90660d101d6d216bcd95e82"
integrity sha512-+/RRdJgEw7SFOBRwp0FJwRxnmdfvMbV5LHQxVgtDvgFnB+Da1byxcNg1HPd9vYjt268B8zoMe1vwmn7xdtk7mg==
"@react-native/js-polyfills@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.75.0-nightly-20240420-03a51da72.tgz#5731b97f212042204ae5515ab23c2efca868add9"
integrity sha512-b+9xL5qUIGHcNNi3kQiAbg15hAvvv3oReczJwaBqzoqZnPvf6ea0vOb3+wgrHNbAoUpGfMova2vfXdTGkt3IaQ==
"@react-native/metro-babel-transformer@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.0-nightly-20240413-1b152f6ec.tgz#5210f475e983af30a568f298af582a38befb092d"
integrity sha512-d9rD4pv5L1V1IzNka1WzrB7ymLJ9yRE/w6/LPXZkJM74gd/GO9IxIrwLAWIpa9hY97/FKgxktIEcwtuWYcGkZg==
"@react-native/metro-babel-transformer@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.0-nightly-20240420-03a51da72.tgz#735fbac108725eb3c8b865959338ea29a6177e7e"
integrity sha512-qqt+QqUthQ2CjcWriOKBuvtZO/R4SBEynhQXZ3f3aH5KWfIKGZyi+aJn7NY507NP428YG/vrBeuC/CNzbBPA1w==
dependencies:
"@babel/core" "^7.20.0"
"@react-native/babel-preset" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/babel-preset" "0.75.0-nightly-20240420-03a51da72"
hermes-parser "0.20.1"
nullthrows "^1.1.1"
"@react-native/metro-config@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.75.0-nightly-20240413-1b152f6ec.tgz#51f8750c35df0f7c8c56c9b9bf81d35189d36b5c"
integrity sha512-xFMGtmd4RoKgozQQA5BumfhljywbW4ZyH2JDC35WCeAj69FwvuqPk0JB9cI2eTtrvylmQlD6kQiQZEqFBIAuDQ==
"@react-native/metro-config@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.75.0-nightly-20240420-03a51da72.tgz#c9a34219611a912b5b65e588ee6424a232b936e1"
integrity sha512-jk+FvKbjnG9nq4xxkaCoSl2cXQop5zSGIhbyC/o/YjAmarWzzj55S2X8fdAdoOZKPMw5ig3Lf1Hb/D9tLZbkEw==
dependencies:
"@react-native/js-polyfills" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/js-polyfills" "0.75.0-nightly-20240420-03a51da72"
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240420-03a51da72"
metro-config "^0.80.3"
metro-runtime "^0.80.3"
"@react-native/normalize-colors@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.75.0-nightly-20240413-1b152f6ec.tgz#e6afd2bed3b97a6ee4a840d10d183afee08c7caa"
integrity sha512-zZl6louzlA88XpO8oa/1wtHXzq7egk9q/ayoX+uKNa5b7oTA5nAel4g2fmDLAWAtVkGElTB2WSlEs6ORfWUWNQ==
"@react-native/normalize-colors@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.75.0-nightly-20240420-03a51da72.tgz#ac2ebe883d59c7768c66ec53f67e5e8a362c2dbb"
integrity sha512-OZ48SXu6/gkDkzWSboaNZF8ZA+KfhkYQdJPQl94D8gXYlvxHfZFREaVYUQiCUtn2PsR8lBCkk5koSHxl1fe2hA==
"@react-native/popup-menu-android@0.75.0-main":
version "0.75.0-main"
@ -2673,10 +2673,10 @@
dependencies:
nullthrows "^1.1.1"
"@react-native/virtualized-lists@0.75.0-nightly-20240413-1b152f6ec":
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.75.0-nightly-20240413-1b152f6ec.tgz#333f565bb8979901e5dfe37cbe1d323546dbcba9"
integrity sha512-YaPq/9qmrQntKE9UZRy8Z1SiqUyK/qFbvnELiDs1PobjbhMo0XpMqAfLgIPy4FmdCOe3OpUDbz852thEA2ukbA==
"@react-native/virtualized-lists@0.75.0-nightly-20240420-03a51da72":
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.75.0-nightly-20240420-03a51da72.tgz#7c08e74271fe927f7cf0e774d2cc05b8a614fe4a"
integrity sha512-PvWIIKX4j6Eded+C+ehpLJu9IB4Jo5w/OII1sIfchF4cW0qc/+IAoUTpHjxen0OUFpFd0cBLWxGHfc5tPOyTOQ==
dependencies:
invariant "^2.2.4"
nullthrows "^1.1.1"
@ -6792,10 +6792,10 @@ flow-bin@^0.217.2:
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.217.2.tgz#96affa17f3cb303019f740bffeb28cfab7ce1250"
integrity sha512-fk4NcfybYjzlww1sEsfk71nqXvonAYpMRFEjmZxibDWWBiaw8DGmqXWZ7XzSunVB15VkJfOstn/sYP1EYPPyWg==
flow-bin@^0.233.0:
version "0.233.0"
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.233.0.tgz#e31951c81d3ec590e1cbfd96e540f6dd2459554c"
integrity sha512-BInTgW8v6xdWzVcItgKKUYCacheMw78Xrrn0Ziii5lN+vf/RKmvVX9mFHuOSN1zawZuq7GpqmT6oIS/oQuOAQg==
flow-bin@^0.234.0:
version "0.234.0"
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.234.0.tgz#17dfc5aac1d928b6d7194f93bd0bf742d735c77d"
integrity sha512-uLmvfFRW6yEcz2wSJ2H6192RwknBpzAHBezDcXzmxJASxB6QzjKadhPxZvsJ74uJ+9Th1hDNuRB4mGrVUeneyA==
flow-enums-runtime@^0.0.5:
version "0.0.5"
@ -10805,10 +10805,10 @@ react-clone-referenced-element@^1.0.1:
resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.1.1.tgz#8d76727dc0459788e461741e804a512d20757381"
integrity sha512-LZBPvQV8W0B5dFzXFu+D3Tpil8YHS8tO00iFsfXcTLdtpuH7XyvaHqHcoz4hd4uNPQCZ30fceh+s7mLznzMXvg==
react-devtools-core@^5.0.2:
version "5.2.0"
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.2.0.tgz#072ecd2d84d3653817cc11e4b16f60a3c2b705f9"
integrity sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==
react-devtools-core@5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.1.0.tgz#3396494ac94b21602cac4fd657d600e0b52f4a0b"
integrity sha512-NRtLBqYVLrIY+lOa2oTpFiAhI7Hru0AUXI0tP9neCyaPPAzlZyeH0i+VZ0shIyRTJbpvyqbD/uCsewA2hpfZHw==
dependencies:
shell-quote "^1.6.1"
ws "^7"
@ -10835,22 +10835,22 @@ react-native-xaml@^0.0.78:
dependencies:
"@types/react" "*"
react-native@0.75.0-nightly-20240413-1b152f6ec:
version "0.75.0-nightly-20240413-1b152f6ec"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.75.0-nightly-20240413-1b152f6ec.tgz#43ccfa63ba92e2567568342c26faa97ff69be963"
integrity sha512-tO08Q81W8Hg9xcyVLqeBaGVsrAdWWlYMdRY32tYXTMhmP6Cx8ekSGVuxzyyQxIYLvQMRgYyZEInf+WHz9LUBAA==
react-native@0.75.0-nightly-20240420-03a51da72:
version "0.75.0-nightly-20240420-03a51da72"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.75.0-nightly-20240420-03a51da72.tgz#3299823ac316bc88200a882366f29df7a032a2c2"
integrity sha512-NXwJn9zOqFZLqtIUdtzK80ELSvj6NxXgGgMCH7CTFU5OQIDDbhQmBSx3VDPxh6HJ8QTt+cmuGSYYBOT6BpdYgw==
dependencies:
"@jest/create-cache-key-function" "^29.6.3"
"@react-native-community/cli" "14.0.0-alpha.2"
"@react-native-community/cli-platform-android" "14.0.0-alpha.2"
"@react-native-community/cli-platform-ios" "14.0.0-alpha.2"
"@react-native/assets-registry" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/codegen" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/community-cli-plugin" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/gradle-plugin" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/js-polyfills" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/normalize-colors" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/virtualized-lists" "0.75.0-nightly-20240413-1b152f6ec"
"@react-native/assets-registry" "0.75.0-nightly-20240420-03a51da72"
"@react-native/codegen" "0.75.0-nightly-20240420-03a51da72"
"@react-native/community-cli-plugin" "0.75.0-nightly-20240420-03a51da72"
"@react-native/gradle-plugin" "0.75.0-nightly-20240420-03a51da72"
"@react-native/js-polyfills" "0.75.0-nightly-20240420-03a51da72"
"@react-native/normalize-colors" "0.75.0-nightly-20240420-03a51da72"
"@react-native/virtualized-lists" "0.75.0-nightly-20240420-03a51da72"
abort-controller "^3.0.0"
anser "^1.4.9"
ansi-regex "^5.0.0"
@ -10868,7 +10868,7 @@ react-native@0.75.0-nightly-20240413-1b152f6ec:
nullthrows "^1.1.1"
pretty-format "^26.5.2"
promise "^8.3.0"
react-devtools-core "^5.0.2"
react-devtools-core "5.1.0"
react-refresh "^0.14.0"
react-shallow-renderer "^16.15.0"
regenerator-runtime "^0.13.2"