From 8a1f1671001644142c71718b2651f4a167db034e Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Mon, 27 Mar 2023 18:48:06 +0100 Subject: [PATCH 1/2] Port [RN] Fix paths in objc-test.sh, temporarily exclude /IntegrationTests from main --- packages/react-native/template/package.json | 12 +++++++++ .../rn-tester/RNTester/RNTester.xctestplan | 1 + packages/rn-tester/package.json | 2 +- scripts/objc-test.sh | 27 ++++++++++++------- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/packages/react-native/template/package.json b/packages/react-native/template/package.json index cd546c3f77d5..241e3143f56d 100644 --- a/packages/react-native/template/package.json +++ b/packages/react-native/template/package.json @@ -31,5 +31,17 @@ }, "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/RNTester/RNTester.xctestplan b/packages/rn-tester/RNTester/RNTester.xctestplan index 147173b22f8b..3fcd0a248433 100644 --- a/packages/rn-tester/RNTester/RNTester.xctestplan +++ b/packages/rn-tester/RNTester/RNTester.xctestplan @@ -28,6 +28,7 @@ }, "testTargets" : [ { + "enabled": false, "target" : { "containerPath" : "container:RNTesterPods.xcodeproj", "identifier" : "E7DB215222B2F332005AC45F", diff --git a/packages/rn-tester/package.json b/packages/rn-tester/package.json index 28ae2dad4d06..90924e232302 100644 --- a/packages/rn-tester/package.json +++ b/packages/rn-tester/package.json @@ -11,7 +11,7 @@ "directory": "packages/rn-tester" }, "scripts": { - "start": "../react-native/scripts/packager.sh", + "start": "react-native start", "install-android-jsc": "../../gradlew :packages:rn-tester:android:app:installJscDebug", "install-android-hermes": "../../gradlew :packages:rn-tester:android:app:installHermesDebug", "clean-android": "rm -rf android/app/build", diff --git a/scripts/objc-test.sh b/scripts/objc-test.sh index 83ff7639de7f..490e7ada8b23 100755 --- a/scripts/objc-test.sh +++ b/scripts/objc-test.sh @@ -75,9 +75,9 @@ waitForWebSocketServer() { runTests() { # shellcheck disable=SC1091 - source "./scripts/.tests.env" + source "$ROOT/scripts/.tests.env" xcodebuild build test \ - -workspace packages/rn-tester/RNTesterPods.xcworkspace \ + -workspace RNTesterPods.xcworkspace \ -scheme RNTester \ -sdk iphonesimulator \ -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ @@ -86,7 +86,7 @@ runTests() { buildProject() { xcodebuild build \ - -workspace packages/rn-tester/RNTesterPods.xcworkspace \ + -workspace RNTesterPods.xcworkspace \ -scheme RNTester \ -sdk iphonesimulator } @@ -105,16 +105,21 @@ xcbeautifyFormat() { xcbeautify --report junit --report-path "$REPORTS_DIR/ios/results.xml" } -preloadBundles() { - # Preload the RNTesterApp bundle for better performance in integration tests - curl -s 'http://localhost:8081/packages/rn-tester/js/RNTesterApp.ios.bundle?platform=ios&dev=true' -o /dev/null - curl -s 'http://localhost:8081/packages/rn-tester/js/RNTesterApp.ios.bundle?platform=ios&dev=true&minify=false' -o /dev/null +preloadBundlesRNIntegrationTests() { + # Preload IntegrationTests bundles (/) + # TODO(T149119847): These need to be relocated into a dir with a Metro config curl -s 'http://localhost:8081/IntegrationTests/IntegrationTestsApp.bundle?platform=ios&dev=true' -o /dev/null curl -s 'http://localhost:8081/IntegrationTests/RCTRootViewIntegrationTestApp.bundle?platform=ios&dev=true' -o /dev/null } +preloadBundlesRNTester() { + # Preload RNTesterApp bundles (packages/rn-tester/) + curl -s 'http://localhost:8081/js/RNTesterApp.ios.bundle?platform=ios&dev=true' -o /dev/null + curl -s 'http://localhost:8081/js/RNTesterApp.ios.bundle?platform=ios&dev=true&minify=false' -o /dev/null +} + main() { - cd "$ROOT" || exit + cd "$ROOT/packages/rn-tester" || exit # If first argument is "test", actually start the packager and run tests. # Otherwise, just build RNTester and exit @@ -122,13 +127,15 @@ main() { # Start the WebSocket test server echo "Launch WebSocket Server" - sh "./IntegrationTests/launchWebSocketServer.sh" & + sh "$ROOT/IntegrationTests/launchWebSocketServer.sh" & waitForWebSocketServer # Start the packager yarn start --max-workers=1 || echo "Can't start packager automatically" & waitForPackager - preloadBundles + preloadBundlesRNTester + # TODO(T149119847) + # preloadBundlesRNIntegrationTests # Build and run tests. if [ -x "$(command -v xcbeautify)" ]; then From 4d245ccb95ae2160415b2f17032496d56c691ebf Mon Sep 17 00:00:00 2001 From: Alex Hunt Date: Tue, 21 Mar 2023 04:17:09 -0700 Subject: [PATCH 2/2] Add @react-native/metro-config package (#36502) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: Changelog: [General][Added] - Add `react-native/metro-config` package Pull Request resolved: https://github.com/facebook/react-native/pull/36502 ## Context ### React Native Metro config → React Native repo (https://github.com/facebook/react-native/pull/36502) We (the React Native team) are aiming to relocate the default Metro config for React Native out of `react-native-community/cli-plugin-metro` and **into the React Native repo + app template** as a new `react-native/metro-config` package. This is the first (and minimum viable) phase we can ship to separate the release process of Metro from RN CLI in order to reduce coupling and iterate faster for our users. **See full motivation, design, and test plan here: https://github.com/facebook/react-native/pull/36502** ## Changes - This PR adds the new `react-native/metro-config` package, reproduces all static values previously defined in RN CLI. The values which remain in RN CLI are dynamic values derived from CLI options passed by the user. {F906910591} Reviewed By: cortinico Differential Revision: D44099692 fbshipit-source-id: 672a67e19d866ac2c64fc84983b5d82c604918c6 --- package.json | 1 + packages/metro-config/index.js | 86 ++++++++++++++++ packages/metro-config/package.json | 18 ++++ packages/react-native/metro.config.js | 10 +- packages/react-native/package.json | 13 +-- .../react-native/template/metro.config.js | 23 +++-- packages/react-native/template/package.json | 17 +--- packages/rn-tester/metro.config.js | 12 ++- packages/rn-tester/package.json | 4 +- yarn.lock | 99 +++++++------------ 10 files changed, 180 insertions(+), 103 deletions(-) create mode 100644 packages/metro-config/index.js create mode 100644 packages/metro-config/package.json diff --git a/package.json b/package.json index e52ee17aea99..6c7f0ffd0e2f 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "@definitelytyped/dtslint": "^0.0.127", "@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", diff --git a/packages/metro-config/index.js b/packages/metro-config/index.js new file mode 100644 index 000000000000..07a16e217c3d --- /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 000000000000..d97d633c1b1d --- /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 0805c2d035ef..bd787c451b22 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 fd7ffca1ebee..e2d0e37aef85 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -79,13 +79,13 @@ }, "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", + "@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", @@ -98,8 +98,9 @@ "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", diff --git a/packages/react-native/template/metro.config.js b/packages/react-native/template/metro.config.js index e91aba937cd5..eec104b8e919 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 241e3143f56d..77d222db5aaa 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", "eslint": "^8.19.0", "jest": "^29.2.1", - "metro-react-native-babel-preset": "0.75.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 a49778e984d0..afea15c559af 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 90924e232302..36e39e0697a1 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 b7293aed5d12..0dea5b9279d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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" @@ -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"