diff --git a/package.json b/package.json index e52ee17aea99c0..13c015401d3fd0 100644 --- a/package.json +++ b/package.json @@ -55,8 +55,9 @@ "@babel/generator": "^7.20.0", "@babel/plugin-transform-regenerator": "^7.0.0", "@definitelytyped/dtslint": "^0.0.127", - "@jest/create-cache-key-function": "^29.2.1", + "@jest/create-cache-key-function": "29.2.1", "@reactions/component": "^2.0.2", + "@react-native/metro-config": "^0.72.0", "@types/react": "^18.0.18", "@typescript-eslint/parser": "^5.30.5", "async": "^3.2.2", @@ -81,7 +82,7 @@ "flow-bin": "^0.202.0", "hermes-eslint": "0.8.0", "inquirer": "^7.1.0", - "jest": "^29.2.1", + "jest": "29.2.1", "jest-junit": "^10.0.0", "jscodeshift": "^0.14.0", "metro-babel-register": "0.75.1", diff --git a/packages/hermes-inspector-msggen/package.json b/packages/hermes-inspector-msggen/package.json index 78d8a77a611109..015c3c402b9ecb 100644 --- a/packages/hermes-inspector-msggen/package.json +++ b/packages/hermes-inspector-msggen/package.json @@ -21,7 +21,7 @@ "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/preset-flow": "^7.18.0", - "jest": "^29.2.1" + "jest": "29.2.1" }, "jest": { "transform": { diff --git a/packages/metro-config/index.js b/packages/metro-config/index.js new file mode 100644 index 00000000000000..07a16e217c3d2b --- /dev/null +++ b/packages/metro-config/index.js @@ -0,0 +1,86 @@ +/** + * 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 + * @noformat + */ + +/*:: import type {ConfigT} from 'metro-config'; */ + +const {getDefaultConfig: getBaseConfig, mergeConfig} = require('metro-config'); + +const INTERNAL_CALLSITES_REGEX = new RegExp( + [ + '/Libraries/Renderer/implementations/.+\\.js$', + '/Libraries/BatchedBridge/MessageQueue\\.js$', + '/Libraries/YellowBox/.+\\.js$', + '/Libraries/LogBox/.+\\.js$', + '/Libraries/Core/Timers/.+\\.js$', + '/Libraries/WebSocket/.+\\.js$', + '/Libraries/vendor/.+\\.js$', + '/node_modules/react-devtools-core/.+\\.js$', + '/node_modules/react-refresh/.+\\.js$', + '/node_modules/scheduler/.+\\.js$', + '/node_modules/event-target-shim/.+\\.js$', + '/node_modules/invariant/.+\\.js$', + '/node_modules/react-native/index.js$', + '/metro-runtime/.+\\.js$', + '^\\[native code\\]$', + ].join('|'), +); + +/** + * Get the base Metro configuration for a React Native project. + */ +function getDefaultConfig( + projectRoot /*: string */ +) /*: ConfigT */ { + const config = { + resolver: { + resolverMainFields: ['react-native', 'browser', 'main'], + platforms: ['android', 'ios'], + unstable_conditionNames: ['import', 'require', 'react-native'], + }, + serializer: { + getPolyfills: () => require('@react-native/js-polyfills')(), + }, + server: { + port: Number(process.env.RCT_METRO_PORT) || 8081, + }, + symbolicator: { + customizeFrame: (frame /*: $ReadOnly<{file: ?string, ...}>*/) => { + const collapse = Boolean( + frame.file && INTERNAL_CALLSITES_REGEX.test(frame.file), + ); + return {collapse}; + }, + }, + transformer: { + allowOptionalDependencies: true, + assetRegistryPath: 'react-native/Libraries/Image/AssetRegistry', + asyncRequireModulePath: require.resolve( + 'metro-runtime/src/modules/asyncRequire', + ), + babelTransformerPath: require.resolve( + 'metro-react-native-babel-transformer', + ), + getTransformOptions: async () => ({ + transform: { + experimentalImportSupport: false, + inlineRequires: true, + }, + }), + }, + watchFolders: [], + }; + + return mergeConfig( + getBaseConfig.getDefaultValues(projectRoot), + config, + ); +} + +module.exports = {getDefaultConfig}; diff --git a/packages/metro-config/package.json b/packages/metro-config/package.json new file mode 100644 index 00000000000000..d97d633c1b1dc2 --- /dev/null +++ b/packages/metro-config/package.json @@ -0,0 +1,18 @@ +{ + "name": "@react-native/metro-config", + "version": "0.72.0", + "description": "Metro configuration for React Native.", + "repository": { + "type": "git", + "url": "git@github.com:facebook/react-native.git", + "directory": "packages/metro-config" + }, + "license": "MIT", + "exports": "./index.js", + "dependencies": { + "@react-native/js-polyfills": "^0.72.1", + "metro-config": "0.76.0", + "metro-react-native-babel-transformer": "0.76.0", + "metro-runtime": "0.76.0" + } +} diff --git a/packages/react-native/metro.config.js b/packages/react-native/metro.config.js index 0805c2d035ef1b..bd787c451b2282 100644 --- a/packages/react-native/metro.config.js +++ b/packages/react-native/metro.config.js @@ -9,14 +9,15 @@ 'use strict'; +const {getDefaultConfig} = require('@react-native/metro-config'); +const {mergeConfig} = require('metro-config'); const path = require('path'); -const getPolyfills = require('./rn-get-polyfills'); /** * This cli config is needed for development purposes, e.g. for running * integration tests during local development or on CI services. */ -module.exports = { +const config = { // Make Metro able to resolve required packages that might be imported from /packages/react-native watchFolders: [ path.resolve(__dirname, '../../node_modules'), @@ -31,7 +32,6 @@ module.exports = { 'react-native': __dirname, }, }, - serializer: { - getPolyfills, - }, }; + +module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/packages/react-native/package.json b/packages/react-native/package.json index fd7ffca1ebee5d..1faeefb96e1216 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -78,14 +78,14 @@ "react": "18.2.0" }, "dependencies": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.0.0-alpha.0", - "@react-native-community/cli-platform-android": "11.0.0-alpha.0", - "@react-native-community/cli-platform-ios": "11.0.0-alpha.0", + "@jest/create-cache-key-function": "29.2.1", + "@react-native-community/cli": "11.0.0", + "@react-native-community/cli-platform-android": "11.0.0", + "@react-native-community/cli-platform-ios": "11.0.0", "@react-native/assets-registry": "^0.72.0", "@react-native/codegen": "^0.72.4", "@react-native/gradle-plugin": "^0.72.6", - "@react-native/js-polyfills": "^0.72.1", + "@react-native/js-polyfills": "^0.72.0", "@react-native/normalize-colors": "^0.72.0", "@react-native/virtualized-lists": "^0.72.3", "abort-controller": "^3.0.0", @@ -95,11 +95,12 @@ "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.5", "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", + "jest-environment-node": "29.2.1", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "0.75.1", - "metro-source-map": "0.75.1", + "metro-react-native-babel-transformer": "0.76.0", + "metro-runtime": "0.76.0", + "metro-source-map": "0.76.0", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", @@ -132,5 +133,9 @@ "jsSrcsDir": "Libraries" } ] + }, + "resolutions": { + "@jest/create-cache-key-function": "29.2.1", + "jest-environment-node": "29.2.1" } } diff --git a/packages/react-native/template/metro.config.js b/packages/react-native/template/metro.config.js index e91aba937cd579..eec104b8e9190b 100644 --- a/packages/react-native/template/metro.config.js +++ b/packages/react-native/template/metro.config.js @@ -5,13 +5,16 @@ * @format */ -module.exports = { - transformer: { - getTransformOptions: async () => ({ - transform: { - experimentalImportSupport: false, - inlineRequires: true, - }, - }), - }, -}; +const {getDefaultConfig} = require('@react-native/metro-config'); + +const {mergeConfig} = require('metro-config'); + +/** + * Metro configuration + * https://facebook.github.io/metro/docs/configuration + * + * @type {import('metro-config').MetroConfig} + */ +const config = {}; + +module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/packages/react-native/template/package.json b/packages/react-native/template/package.json index 241e3143f56d04..382dd36919f0a7 100644 --- a/packages/react-native/template/package.json +++ b/packages/react-native/template/package.json @@ -18,30 +18,21 @@ "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.12.5", "@react-native/eslint-config": "^0.72.1", + "@react-native/metro-config": "^0.72.0", "@tsconfig/react-native": "^2.0.2", + "@types/metro-config": "^0.76.1", "@types/react": "^18.0.24", "@types/react-test-renderer": "^18.0.0", - "babel-jest": "^29.2.1", + "babel-jest": "29.2.1", "eslint": "^8.19.0", - "jest": "^29.2.1", - "metro-react-native-babel-preset": "0.75.1", + "jest": "29.2.1", + "metro-config": "0.76.0", + "metro-react-native-babel-preset": "0.76.0", "prettier": "^2.4.1", "react-test-renderer": "18.2.0", "typescript": "4.8.4" }, "engines": { "node": ">=16" - }, - "overrides": { - "@react-native-community/cli": "11.0.0-alpha.0", - "@react-native-community/cli-platform-android": "11.0.0-alpha.0", - "@react-native-community/cli-platform-ios": "11.0.0-alpha.0", - "@react-native-community/cli-plugin-metro": "11.0.0-alpha.0" - }, - "resolutions": { - "@react-native-community/cli": "11.0.0-alpha.0", - "@react-native-community/cli-platform-android": "11.0.0-alpha.0", - "@react-native-community/cli-platform-ios": "11.0.0-alpha.0", - "@react-native-community/cli-plugin-metro": "11.0.0-alpha.0" } } diff --git a/packages/rn-tester/metro.config.js b/packages/rn-tester/metro.config.js index a49778e984d0d8..afea15c559afd5 100644 --- a/packages/rn-tester/metro.config.js +++ b/packages/rn-tester/metro.config.js @@ -9,14 +9,17 @@ 'use strict'; +const {getDefaultConfig} = require('@react-native/metro-config'); +const {mergeConfig} = require('metro-config'); const path = require('path'); -const getPolyfills = require('../react-native/rn-get-polyfills'); /** * This cli config is needed for development purposes, e.g. for running * integration tests during local development or on CI services. + * + * @type {import('metro-config').MetroConfig} */ -module.exports = { +const config = { // Make Metro able to resolve required external dependencies watchFolders: [ path.resolve(__dirname, '../../node_modules'), @@ -32,7 +35,6 @@ module.exports = { 'react-native': path.resolve(__dirname, '../react-native'), }, }, - serializer: { - getPolyfills, - }, }; + +module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/packages/rn-tester/package.json b/packages/rn-tester/package.json index 90924e232302f9..36e39e0697a1aa 100644 --- a/packages/rn-tester/package.json +++ b/packages/rn-tester/package.json @@ -20,9 +20,9 @@ "clean-ios": "rm -rf build/generated/ios Pods Podfile.lock" }, "dependencies": { + "flow-enums-runtime": "^0.0.5", "invariant": "^2.2.4", - "nullthrows": "^1.1.1", - "flow-enums-runtime": "^0.0.5" + "nullthrows": "^1.1.1" }, "peerDependencies": { "react": "18.2.0", diff --git a/yarn.lock b/yarn.lock index b7293aed5d1217..8540bb25fad8e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1797,7 +1797,7 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^29.2.1": +"@jest/create-cache-key-function@29.2.1": version "29.2.1" resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.2.1.tgz#5f168051001ffea318b720cd6062daaf0b074913" integrity sha512-///wxGQUyP0GCr3L1OcqIzhsKvN2gOyqWsRxs56XGCdD8EEuoKg857G9nC+zcWIpIsG+3J5UnEbhe3LJw8CNmQ== @@ -2248,7 +2248,7 @@ optionalDependencies: npmlog "2 || ^3.1.0 || ^4.0.0" -"@react-native-community/cli-clean@^11.0.0-alpha.0": +"@react-native-community/cli-clean@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-11.0.0.tgz#7225f8df011893de1cb740a0cad3dd2670574da5" integrity sha512-CWulRz6Ey2ntr3Ml/bMgSXhcE2yWj3R/Vrho2D00Y3wuU6p4cK/Af7YIidyn5E0NI/CMtXZ0cE1l5WME0o4wsA== @@ -2258,7 +2258,7 @@ execa "^1.0.0" prompts "^2.4.0" -"@react-native-community/cli-config@^11.0.0", "@react-native-community/cli-config@^11.0.0-alpha.0": +"@react-native-community/cli-config@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-11.0.0.tgz#c41acda2ff7aa2a4f1b5cdd895e341f27009ff8f" integrity sha512-aKjv/lG7rr2WSN7MSP/P2HUJwoUI94Zct9eyxWEPBV5d48dVR4u7UXcGPRJSJTwVl7+RGNVThnGH8Gh55e1+Lw== @@ -2270,13 +2270,6 @@ glob "^7.1.3" joi "^17.2.1" -"@react-native-community/cli-debugger-ui@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz#4bb6d41c7e46449714dc7ba5d9f5b41ef0ea7c57" - integrity sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA== - dependencies: - serve-static "^1.13.1" - "@react-native-community/cli-debugger-ui@^11.0.0-alpha.2": version "11.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.0.0-alpha.2.tgz#edd28413f8bf7c1b6ae7d7f2f168166afedbb719" @@ -2284,7 +2277,7 @@ dependencies: serve-static "^1.13.1" -"@react-native-community/cli-doctor@^11.0.0-alpha.0": +"@react-native-community/cli-doctor@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-11.0.0.tgz#bf4c8993cc0439c8347803e01aeafbd40bb3f69f" integrity sha512-eOvQw6YTDJXSPMYV7lM2bIKi80Ccwj+EAvYIYBHy77NwpL06MXNGUdNPuH/NgkYTR53gfJIMawddUm4qQN1b3w== @@ -2307,7 +2300,7 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" -"@react-native-community/cli-hermes@^11.0.0-alpha.0": +"@react-native-community/cli-hermes@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-11.0.0.tgz#0586e8a923174d81342f629abcd03ffab2020292" integrity sha512-HNkiFnW/U9laf1ekvGfWhfX6N9OzZFd5oFK0BTolvETAZt4qFWFbP7BqkpHhA7iaxs76sCnE/VEAwQQndQWKWg== @@ -2318,18 +2311,7 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@11.0.0-alpha.0": - version "11.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-11.0.0-alpha.0.tgz#c4a4cd2104e67d78fbce72a9af75ea1941505110" - integrity sha512-4yaXpxxbQGoNOvrg7+bHaF22FT4jSEv4rDwC6/B7G9aQ2LkCW/45xpOaAwV8yk2HjjWyRXIhaHDc9dEg8T4BmA== - dependencies: - "@react-native-community/cli-tools" "^11.0.0-alpha.0" - chalk "^4.1.2" - execa "^1.0.0" - glob "^7.1.3" - logkitty "^0.7.1" - -"@react-native-community/cli-platform-android@^11.0.0": +"@react-native-community/cli-platform-android@11.0.0", "@react-native-community/cli-platform-android@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-11.0.0.tgz#ef08118e3aac4cc02422109a8204afc4277d1714" integrity sha512-1jhP/1qONcAsIa7yoI6t+S4rW3Ctevv2W89uVgzNxyOK6GNSD0WWM1awO83iWo3YU+iknluUmHampq+nIiirNA== @@ -2340,19 +2322,7 @@ glob "^7.1.3" logkitty "^0.7.1" -"@react-native-community/cli-platform-ios@11.0.0-alpha.0": - version "11.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.0.0-alpha.0.tgz#cc7c7c828c25dd8d0e134ce95fb1e50de1ff572a" - integrity sha512-dyycqtRnhU1ktgQBsvmie3RdlxtpIHCQ5uUQIW+ZCsnigkl6pC/ulyLxOFwAJmczEuH1RIj9kl/hJ81sxv5CjQ== - dependencies: - "@react-native-community/cli-tools" "^11.0.0-alpha.0" - chalk "^4.1.2" - execa "^1.0.0" - fast-xml-parser "^4.0.12" - glob "^7.1.3" - ora "^5.4.1" - -"@react-native-community/cli-platform-ios@^11.0.0": +"@react-native-community/cli-platform-ios@11.0.0", "@react-native-community/cli-platform-ios@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.0.0.tgz#4c7bbcdeffe3307566a6183b5c50d6403b87c9f3" integrity sha512-xGWmmifNiZG0auKe2sCAhQ46yHAUZDNyAfPP3m4zXGYP3jaSAi01KldnBaboC9ZNNrjUNOmkKh4v6IrXXxxCXg== @@ -2364,7 +2334,7 @@ glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-plugin-metro@^11.0.0-alpha.0": +"@react-native-community/cli-plugin-metro@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.0.0.tgz#00fe753f8fe8b1294a0c08653a42ddb4961f60d7" integrity sha512-ekPZEhB6LP7OhiIw73UbEbwlgsHcISW1jCO6ZKwlv5gFxP7kZaq6yzh4dirbxFUECa28O4VmceKwTeicCsU0EQ== @@ -2379,7 +2349,7 @@ metro-resolver "0.76.0" readline "^1.3.0" -"@react-native-community/cli-server-api@^11.0.0", "@react-native-community/cli-server-api@^11.0.0-alpha.0": +"@react-native-community/cli-server-api@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-11.0.0.tgz#ab6d46e5f243edb05b170b7007d531b853a2bc15" integrity sha512-9EcqWDp65GBF3qtXsoyCcHd7RLrl2BEBXcBqN/f6pBSsqHkwJFUNalEdL832Pd7aGnSnQ6TrFX/3AFJWXAd06A== @@ -2394,7 +2364,7 @@ serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-tools@^11.0.0", "@react-native-community/cli-tools@^11.0.0-alpha.0": +"@react-native-community/cli-tools@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-11.0.0.tgz#6a9e2c8577fc45bb16bded694cf9cec902d18840" integrity sha512-WfybGk4jK/QUIe+lA2zKyKd3ifjVBxjqZ10onfXYHxjqf02MXK4n1utOnzLfarS4WrbHSmLtHlzO7ytJAeQjFw== @@ -2409,27 +2379,27 @@ semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-types@^11.0.0-alpha.0": +"@react-native-community/cli-types@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-11.0.0.tgz#8ad65b1d969e24e163b68bff4e8c0dac67f7804e" integrity sha512-w+1hOzV6VKqpCcO6/LF6lxrcl47tQ6ojlMCmhrB4Ah92gSbcmAluSWgb+kbzPIhsGxW0h/YnLR/4RXM9lnknDA== dependencies: joi "^17.2.1" -"@react-native-community/cli@11.0.0-alpha.0": - version "11.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-11.0.0-alpha.0.tgz#8e9f920a0c90348e71c85ef0867a0d306f62cc24" - integrity sha512-zd1p/FC1xVUnn5AxHRfy2GH1y72MV4W7uL23K7YJxqpegBuU2odggfKUsYTT5jIgiXsZYdaQvOFMLdBW0s5ejQ== - dependencies: - "@react-native-community/cli-clean" "^11.0.0-alpha.0" - "@react-native-community/cli-config" "^11.0.0-alpha.0" - "@react-native-community/cli-debugger-ui" "^10.0.0" - "@react-native-community/cli-doctor" "^11.0.0-alpha.0" - "@react-native-community/cli-hermes" "^11.0.0-alpha.0" - "@react-native-community/cli-plugin-metro" "^11.0.0-alpha.0" - "@react-native-community/cli-server-api" "^11.0.0-alpha.0" - "@react-native-community/cli-tools" "^11.0.0-alpha.0" - "@react-native-community/cli-types" "^11.0.0-alpha.0" +"@react-native-community/cli@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-11.0.0.tgz#3648715669c80f28207931c12f70bb95df6a9a88" + integrity sha512-urzxlfjq5hp/3UyaB2DnT3YOffLCexUtX+X2Y4S224YdGsYL7ge+GiZN0c1aSBhcvgC6g7NxJO3rhRZ2qwcoNg== + dependencies: + "@react-native-community/cli-clean" "^11.0.0" + "@react-native-community/cli-config" "^11.0.0" + "@react-native-community/cli-debugger-ui" "^11.0.0-alpha.2" + "@react-native-community/cli-doctor" "^11.0.0" + "@react-native-community/cli-hermes" "^11.0.0" + "@react-native-community/cli-plugin-metro" "^11.0.0" + "@react-native-community/cli-server-api" "^11.0.0" + "@react-native-community/cli-tools" "^11.0.0" + "@react-native-community/cli-types" "^11.0.0" chalk "^4.1.2" commander "^9.4.1" execa "^1.0.0" @@ -5601,7 +5571,7 @@ jest-each@^29.2.1: jest-util "^29.2.1" pretty-format "^29.2.1" -jest-environment-node@^29.2.1: +jest-environment-node@29.2.1, jest-environment-node@^29.2.1: version "29.2.1" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.2.1.tgz#f90311d0f0e8ef720349f83c97a076e403f90665" integrity sha512-PulFKwEMz6nTAdLUwglFKei3b/LixwlRiqTN6nvPE1JtrLtlnpd6LXnFI1NFHYJGlTmIWilMP2n9jEtPPKX50g== @@ -5924,7 +5894,7 @@ jest-worker@^29.2.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.2.1: +jest@29.2.1: version "29.2.1" resolved "https://registry.yarnpkg.com/jest/-/jest-29.2.1.tgz#352ec0b81a0e436691d546d984cd7d8f72ffd26a" integrity sha512-K0N+7rx+fv3Us3KhuwRSJt55MMpZPs9Q3WSO/spRZSnsalX8yEYOTQ1PiSN7OvqzoRX4JEUXCbOJRlP4n8m5LA== @@ -6603,19 +6573,24 @@ metro-react-native-babel-transformer@0.75.1: metro-source-map "0.75.1" nullthrows "^1.1.1" +metro-react-native-babel-transformer@0.76.0: + version "0.76.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.0.tgz#8c8872f0d3a0ec9dad2480df53c92c10eac92c79" + integrity sha512-mLyUiGq2qPoEwV3oncD82HOtM4wAl8YmXtGY17D4iqH6/5pE32lRnDDYt0WnJYACZDs3RB3MhTjGCM7rJNwn/A== + dependencies: + "@babel/core" "^7.20.0" + babel-preset-fbjs "^3.4.0" + hermes-parser "0.8.0" + metro-babel-transformer "0.76.0" + metro-react-native-babel-preset "0.76.0" + metro-source-map "0.76.0" + nullthrows "^1.1.1" + metro-resolver@0.76.0: version "0.76.0" resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.76.0.tgz#3fa778adbab30859023a89e7a1241f4eb68171f2" integrity sha512-bU6HvKzPJOHGoe9na+tUa0g3pZqMUaSGE+noFx2qeSMtoIgOYkDzmuU9ZOAGcUOz0qJJtGs+QmgM+nBqfSS/pQ== -metro-runtime@0.75.1: - version "0.75.1" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.75.1.tgz#e34936400ef4af28aa4e5f43c7fd7b6fbad68c1b" - integrity sha512-AbmDCLPV2efz/LD3+k7bHTchUYmwEzB1L99UJYLYQksLlV1aoW+ri9hurXc/0mc55Jw6h4uKKe1nlAKJYZLJEg== - dependencies: - "@babel/runtime" "^7.0.0" - react-refresh "^0.4.0" - metro-runtime@0.76.0: version "0.76.0" resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.76.0.tgz#ccc4721010a24d4919bf50e9146d06d28266efb3"