Bump Metro to 0.83.0 (#52576)

Summary:
Bump Metro to 0.83.0.

This release contains some breaking changes for integrators, and a minimum Node.js version of 22.14.

Full release notes: https://github.com/facebook/metro/releases/tag/v0.83.0

Changelog: [General][Changed] Bump Metro to ^0.83.0

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

Rollback Plan:

Differential Revision: D78171925

Pulled By: robhogan

fbshipit-source-id: 7ea5e04d285632a14dd71ba00da872d60f283840
This commit is contained in:
Rob Hogan
2025-07-13 15:39:46 -07:00
committed by Facebook GitHub Bot
parent 60b1b7a301
commit cf45aa9dbc
7 changed files with 106 additions and 114 deletions
+2 -2
View File
@@ -94,8 +94,8 @@
"markdownlint-cli2": "^0.17.2",
"markdownlint-rule-relative-links": "^3.0.0",
"memfs": "^4.7.7",
"metro-babel-register": "^0.82.5",
"metro-transform-plugins": "^0.82.5",
"metro-babel-register": "^0.83.0",
"metro-transform-plugins": "^0.83.0",
"micromatch": "^4.0.4",
"node-fetch": "^2.2.0",
"nullthrows": "^1.1.1",
+4 -4
View File
@@ -25,13 +25,13 @@
"@react-native/dev-middleware": "0.81.0-main",
"debug": "^4.4.0",
"invariant": "^2.2.4",
"metro": "^0.82.5",
"metro-config": "^0.82.5",
"metro-core": "^0.82.5",
"metro": "^0.83.0",
"metro-config": "^0.83.0",
"metro-core": "^0.83.0",
"semver": "^7.1.3"
},
"devDependencies": {
"metro-resolver": "^0.82.5"
"metro-resolver": "^0.83.0"
},
"peerDependencies": {
"@react-native-community/cli": "*",
+2 -3
View File
@@ -76,9 +76,8 @@ function getNodePackagePath(packageName: string): string {
}
function metro(...args: $ReadOnlyArray<string>): ExecaPromise {
const metroPath = getNodePackagePath(path.join('metro', 'src', 'cli.js'));
log(`🚇 ${metroPath} ${args.join(' ')} `);
return execa('node', [metroPath, ...args]);
log(`🚇 metro ${args.join(' ')} `);
return execa('npx', ['--offline', 'metro', ...args]);
}
export const tasks = {
+2 -2
View File
@@ -28,7 +28,7 @@
"dependencies": {
"@react-native/js-polyfills": "0.81.0-main",
"@react-native/metro-babel-transformer": "0.81.0-main",
"metro-config": "^0.82.5",
"metro-runtime": "^0.82.5"
"metro-config": "^0.83.0",
"metro-runtime": "^0.83.0"
}
}
+2 -2
View File
@@ -179,8 +179,8 @@
"invariant": "^2.2.4",
"jest-environment-node": "^29.7.0",
"memoize-one": "^5.0.0",
"metro-runtime": "^0.82.5",
"metro-source-map": "^0.82.5",
"metro-runtime": "^0.83.0",
"metro-source-map": "^0.83.0",
"nullthrows": "^1.1.1",
"pretty-format": "^29.7.0",
"promise": "^8.3.0",
+2 -9
View File
@@ -41,15 +41,8 @@ function registerForMonorepo() {
// $FlowExpectedError[cannot-resolve-module] - Won't resolve in OSS
require('@fb-tools/babel-register');
} else {
// Temporarily allow the default export to be a function (Metro <= 0.82),
// or contain a `register` function (Metro >= 0.83). Remove shim once Metro
// is bumped in OSS.
const metroBabelRegister = require('metro-babel-register') /*:: as $FlowFixMe */;
const registerFunction =
typeof metroBabelRegister.register === 'function'
? metroBabelRegister.register
: metroBabelRegister;
registerFunction([
const {register} = require('metro-babel-register');
register([
PACKAGES_DIR,
PRIVATE_DIR,
SCRIPTS_DIR,
+92 -92
View File
@@ -6845,10 +6845,10 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
metro-babel-register@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.82.5.tgz#897c2021e6c44b18b533338d420fcacd5e9807c4"
integrity sha512-pWGLHX1ggicEu6UvF3Pe7E7xY7812u/EaY1OiR7f9ooy5s/W20OQsvkNshQ68j9v1yvFkckgzB2YCTYiklSsIg==
metro-babel-register@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.83.0.tgz#04fb08f2cd64018e2ad19b4a64e710d912e923c8"
integrity sha512-HfMrNvBbZSy8Sbf5aVlTub2PW86bPgp6oVOiHQ0kKLRl5+lMcvY9Tm8M5/5fZ8+TJAGOXgA9E0GNfgcSb99VLw==
dependencies:
"@babel/core" "^7.25.2"
"@babel/plugin-proposal-export-namespace-from" "^7.18.9"
@@ -6862,60 +6862,60 @@ metro-babel-register@^0.82.5:
escape-string-regexp "^1.0.5"
flow-enums-runtime "^0.0.6"
metro-babel-transformer@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.5.tgz#a65ed29265d8257109ab8c37884e6e3a2edee86d"
integrity sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q==
metro-babel-transformer@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.0.tgz#933839d581e61a2f107c708e0fbf4379a83fa1ca"
integrity sha512-ncYhd1WWElJj6W+uMgoi57mUgdWm8UZBLUg9/TYh6iFipJ6A78IuztOFbohAk+Zh5S376bF86TSDaeRouAzJkg==
dependencies:
"@babel/core" "^7.25.2"
flow-enums-runtime "^0.0.6"
hermes-parser "0.29.1"
nullthrows "^1.1.1"
metro-cache-key@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.5.tgz#290a0054b28a708266fb91c8028cf94be04f99c9"
integrity sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA==
metro-cache-key@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.0.tgz#73d6c4810454092ad833706ce39e3111171892c5"
integrity sha512-T0WmTe0NRt/7/kaWuDoUbeF5xlfqzLyVg5MO6X2XnXT8le42S2UxRWJgZOtojOXGvthdQhzdxZM2GCd+BQLfAQ==
dependencies:
flow-enums-runtime "^0.0.6"
metro-cache@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.5.tgz#4c8fe58cd5fa30b87db0b2b6a650a771ec6fe162"
integrity sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q==
metro-cache@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.0.tgz#595d9be2cc0e4bc674088a79965fb61ab6e54b36"
integrity sha512-t5ExK5od6PcI7Zc441oRNdnYoxWb9EuqBsgoVQUG2/DRsEAHCkK6EqwLYForgMABYwJOpBTGMw74f7EQMKakuw==
dependencies:
exponential-backoff "^3.1.1"
flow-enums-runtime "^0.0.6"
https-proxy-agent "^7.0.5"
metro-core "0.82.5"
metro-core "0.83.0"
metro-config@0.82.5, metro-config@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.5.tgz#07366f32c3fe6203d630af7df4781900816c7c85"
integrity sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g==
metro-config@0.83.0, metro-config@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.0.tgz#43bb29db0247c6b990993672b6acba52b67c36d5"
integrity sha512-fkuXgw8KXMOOGfPVwE1xULTeW2kfpyp8dtfD96PcBZHPxv8Pu0EAihTXkCPaKk1PKqIHenzEdW9s2MRUWvyRPA==
dependencies:
connect "^3.6.5"
cosmiconfig "^5.0.5"
flow-enums-runtime "^0.0.6"
jest-validate "^29.7.0"
metro "0.82.5"
metro-cache "0.82.5"
metro-core "0.82.5"
metro-runtime "0.82.5"
metro "0.83.0"
metro-cache "0.83.0"
metro-core "0.83.0"
metro-runtime "0.83.0"
metro-core@0.82.5, metro-core@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.5.tgz#fda1b2f7365e3a09055dd72ba1681f8fc1f6f492"
integrity sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA==
metro-core@0.83.0, metro-core@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.0.tgz#d9fb3dffea49b07db75d735e23cd2528a0a66db5"
integrity sha512-LeWfVWejZVx/cEkOYrgQ11A+2cTPdq30Xm4SM31SfA64teKCnaUPa4k6CxU65AUou5EF4nCFo7B2XE5Q2jwBvg==
dependencies:
flow-enums-runtime "^0.0.6"
lodash.throttle "^4.1.1"
metro-resolver "0.82.5"
metro-resolver "0.83.0"
metro-file-map@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.5.tgz#3e47410a9ce8f6c913480970226a17371c2d2974"
integrity sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ==
metro-file-map@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.0.tgz#6b1bc47848caccc403896eb8c81a4699c39c934c"
integrity sha512-vWbimPJ/sPwSFfYJcwSbgsM+x3E6mELFnm8WqwrvTvRm55NR05noAzx1HG/X0PJUylptHlQAbguPEA7F4jd/ug==
dependencies:
debug "^4.4.0"
fb-watchman "^2.0.0"
@@ -6927,61 +6927,61 @@ metro-file-map@0.82.5:
nullthrows "^1.1.1"
walker "^1.0.7"
metro-minify-terser@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.5.tgz#5dc77d53b6ef4079bd9c752ae046d557df4ae584"
integrity sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg==
metro-minify-terser@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.0.tgz#c84c0eae701ecd7e4cf3c595e1f483e8a5e813ad"
integrity sha512-jsVzWnkl43Kb18iQvEn0Keq0n5WQwAiAHn9vCFE6roM6E4fVLDKlzDNoWyFzs9GyodlVYkbjAuz9PCpEzBfq5Q==
dependencies:
flow-enums-runtime "^0.0.6"
terser "^5.15.0"
metro-resolver@0.82.5, metro-resolver@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.5.tgz#cb810038d488a47334df444312b23f0090eca5c3"
integrity sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g==
metro-resolver@0.83.0, metro-resolver@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.0.tgz#a4dc88b192c886c02343703127fef80e3a03ca83"
integrity sha512-TGwPrU4lpKwmvpfnN9WA4RMECpSsZ+GAtiKQRjNh6ek0f7XUR8RuGPTWc4VidTo973C0syfbYVoD/iv1hFgAiw==
dependencies:
flow-enums-runtime "^0.0.6"
metro-runtime@0.82.5, metro-runtime@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.5.tgz#97840760e4cee49f08948dd918dbeba08dd0d0ec"
integrity sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g==
metro-runtime@0.83.0, metro-runtime@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.0.tgz#495d28160784c303c98c1d32ef936b2e5524c445"
integrity sha512-35q73Hz4X8JcNa2jgHdRy7zLggyEM2tPhkw+xjfuoRXO8TtFLGl7gKug/lF3GVYWEI6I9wEf5BGsnAoE5MZ4tQ==
dependencies:
"@babel/runtime" "^7.25.0"
flow-enums-runtime "^0.0.6"
metro-source-map@0.82.5, metro-source-map@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.5.tgz#85e2e9672bff6d6cefb3b65b96fcc69f929c69c6"
integrity sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==
metro-source-map@0.83.0, metro-source-map@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.0.tgz#a9c807a6c7cf43448e6f55e280dab8aafadf0586"
integrity sha512-XsQl5MhXo249q0ImDCFatBaWzU4K6ksso9n2MKoreuMPrgmVwzOAkVvJRUxuPvjW0DzBZKwqpk3ubC5MYRalfQ==
dependencies:
"@babel/traverse" "^7.25.3"
"@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
"@babel/types" "^7.25.2"
flow-enums-runtime "^0.0.6"
invariant "^2.2.4"
metro-symbolicate "0.82.5"
metro-symbolicate "0.83.0"
nullthrows "^1.1.1"
ob1 "0.82.5"
ob1 "0.83.0"
source-map "^0.5.6"
vlq "^1.0.0"
metro-symbolicate@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz#b53255cad11f1e6795f319ca4b41857bfe295d65"
integrity sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==
metro-symbolicate@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.0.tgz#05938d2ecbf6c8318185d7b631f9938dcaa115d5"
integrity sha512-pPu73T3y4TWpmGgUIJBF8b4bPjxV9LHcqEqAc6Gd7xqN1Wquu6onhdmi72XLHxhk+mZBF2mtVIr/QKI3tOyRLg==
dependencies:
flow-enums-runtime "^0.0.6"
invariant "^2.2.4"
metro-source-map "0.82.5"
metro-source-map "0.83.0"
nullthrows "^1.1.1"
source-map "^0.5.6"
vlq "^1.0.0"
metro-transform-plugins@0.82.5, metro-transform-plugins@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz#678da4d0f9085b2a3fc0b4350062f19cc625c5fc"
integrity sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==
metro-transform-plugins@0.83.0, metro-transform-plugins@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.0.tgz#0204405be0f5ffbcd73443ac15408b1285052894"
integrity sha512-HLUB+CduKt9KOUwW6zS3YezcIAUal3mmxEi6PW6/SqpqQIqR7Ij83UswCy/LRhY2Lx6IwucR8Zg9Oo+d0cCvzA==
dependencies:
"@babel/core" "^7.25.2"
"@babel/generator" "^7.25.0"
@@ -6990,29 +6990,29 @@ metro-transform-plugins@0.82.5, metro-transform-plugins@^0.82.5:
flow-enums-runtime "^0.0.6"
nullthrows "^1.1.1"
metro-transform-worker@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.5.tgz#aabdccf17aaa584ec0fd97b5283e806958fb3418"
integrity sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw==
metro-transform-worker@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.0.tgz#40822fdaf7b37ed18478948e1714acbd4c2c8a92"
integrity sha512-z9ZGlVMcw562mFqcJrU12yAgjntdRCsQV98rOyIOLF00/ui9un+xbQjqarjYmXpO3fM8SMGD1EjhuSGFN6MmWA==
dependencies:
"@babel/core" "^7.25.2"
"@babel/generator" "^7.25.0"
"@babel/parser" "^7.25.3"
"@babel/types" "^7.25.2"
flow-enums-runtime "^0.0.6"
metro "0.82.5"
metro-babel-transformer "0.82.5"
metro-cache "0.82.5"
metro-cache-key "0.82.5"
metro-minify-terser "0.82.5"
metro-source-map "0.82.5"
metro-transform-plugins "0.82.5"
metro "0.83.0"
metro-babel-transformer "0.83.0"
metro-cache "0.83.0"
metro-cache-key "0.83.0"
metro-minify-terser "0.83.0"
metro-source-map "0.83.0"
metro-transform-plugins "0.83.0"
nullthrows "^1.1.1"
metro@0.82.5, metro@^0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.5.tgz#a27fbc08dd283a14ae58496288c10adaae65f461"
integrity sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg==
metro@0.83.0, metro@^0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.0.tgz#0837569b1c34e543fc3d4af262863c49725d9398"
integrity sha512-qQoLKhFzZH1AjO81BDftQBUUI5FNzpKC6Bv9QGcZf1YiK034yl6aLQWg6HnNEkKkGNiMwgGlEJAzn40HjQtZmw==
dependencies:
"@babel/code-frame" "^7.24.7"
"@babel/core" "^7.25.2"
@@ -7035,18 +7035,18 @@ metro@0.82.5, metro@^0.82.5:
jest-worker "^29.7.0"
jsc-safe-url "^0.2.2"
lodash.throttle "^4.1.1"
metro-babel-transformer "0.82.5"
metro-cache "0.82.5"
metro-cache-key "0.82.5"
metro-config "0.82.5"
metro-core "0.82.5"
metro-file-map "0.82.5"
metro-resolver "0.82.5"
metro-runtime "0.82.5"
metro-source-map "0.82.5"
metro-symbolicate "0.82.5"
metro-transform-plugins "0.82.5"
metro-transform-worker "0.82.5"
metro-babel-transformer "0.83.0"
metro-cache "0.83.0"
metro-cache-key "0.83.0"
metro-config "0.83.0"
metro-core "0.83.0"
metro-file-map "0.83.0"
metro-resolver "0.83.0"
metro-runtime "0.83.0"
metro-source-map "0.83.0"
metro-symbolicate "0.83.0"
metro-transform-plugins "0.83.0"
metro-transform-worker "0.83.0"
mime-types "^2.1.27"
nullthrows "^1.1.1"
serialize-error "^2.1.0"
@@ -7531,10 +7531,10 @@ nullthrows@^1.1.1:
resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
ob1@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.5.tgz#a2860e39385f4602bc2666c46f331b7531b94a8b"
integrity sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==
ob1@0.83.0:
version "0.83.0"
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.0.tgz#4c3dda1fa32ae3ccfa2cf34a73624648b458c307"
integrity sha512-uLomnfaQcMEvUnvnf7frI8YO6qe8F4pDPvatBxqLuams9BYVA9YvZqM7xJjx7cw+nYgXjreOxsIJjNsM4a6A1A==
dependencies:
flow-enums-runtime "^0.0.6"