From 2bfa9ef53ecdbf2b96e1a8af1809c76bcbd95d82 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Thu, 10 Jul 2025 09:00:39 -0700 Subject: [PATCH] Breaking: Update minimum Node.js version to 22.14.0 (#1531) Summary: Pull Request resolved: https://github.com/facebook/metro/pull/1531 Update Metro's minimum Node.js version to align with the React Native bump for RN 0.81: https://github.com/facebook/react-native/pull/51840 This is in preparation for the next Metro major (0.83), which we'll bump to for the RN 0.81 release. Changelog: ``` - **[Breaking]**: Require Node.js >= 22.14.0 ``` Differential Revision: D78027408 --- .github/workflows/build-test-and-deploy.yml | 4 ++-- .github/workflows/test.yml | 2 +- package.json | 2 +- packages/buck-worker-tool/package.json | 2 +- packages/metro-babel-register/package.json | 2 +- packages/metro-babel-transformer/package.json | 2 +- packages/metro-cache-key/package.json | 2 +- packages/metro-cache/package.json | 2 +- packages/metro-config/package.json | 2 +- packages/metro-core/package.json | 2 +- packages/metro-file-map/package.json | 2 +- packages/metro-memory-fs/package.json | 2 +- packages/metro-minify-terser/package.json | 2 +- packages/metro-resolver/package.json | 2 +- packages/metro-runtime/package.json | 2 +- packages/metro-source-map/package.json | 2 +- packages/metro-symbolicate/package.json | 2 +- packages/metro-transform-plugins/package.json | 2 +- packages/metro-transform-worker/package.json | 2 +- packages/metro/package.json | 2 +- packages/ob1/package.json | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-test-and-deploy.yml b/.github/workflows/build-test-and-deploy.yml index dbbb38945a..03d3d2ec91 100644 --- a/.github/workflows/build-test-and-deploy.yml +++ b/.github/workflows/build-test-and-deploy.yml @@ -48,9 +48,9 @@ jobs: matrix: runs-on: ['ubuntu-latest', 'windows-latest', 'macos-latest'] node-version: [ - '18.18.0', # minimum supported - 'lts/-1', # pre-latest lts + '22.14.0', # minimum supported 'lts/*', # latest lts + 'latest' # latest node version ] uses: ./.github/workflows/test.yml with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2244cc1b1e..151a8a6ed3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,7 +5,7 @@ on: node-version: type: string required: false - default: '20.x' + default: '22.x' runs-on: type: string required: false diff --git a/package.json b/package.json index dd07623e09..a31d8aa07a 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,6 @@ "license": "MIT", "dependencies": {}, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/buck-worker-tool/package.json b/packages/buck-worker-tool/package.json index 76afec8504..57f91b567e 100644 --- a/packages/buck-worker-tool/package.json +++ b/packages/buck-worker-tool/package.json @@ -26,6 +26,6 @@ "cleanup-release": "test ! -e build && mv src build && mv src.real src" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-babel-register/package.json b/packages/metro-babel-register/package.json index a5c16cf3af..00a2a8fc3d 100644 --- a/packages/metro-babel-register/package.json +++ b/packages/metro-babel-register/package.json @@ -33,6 +33,6 @@ }, "license": "MIT", "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-babel-transformer/package.json b/packages/metro-babel-transformer/package.json index 62d8c99501..bbcdaaee4f 100644 --- a/packages/metro-babel-transformer/package.json +++ b/packages/metro-babel-transformer/package.json @@ -31,6 +31,6 @@ "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-cache-key/package.json b/packages/metro-cache-key/package.json index 043041cc69..71c0a8089c 100644 --- a/packages/metro-cache-key/package.json +++ b/packages/metro-cache-key/package.json @@ -27,6 +27,6 @@ "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-cache/package.json b/packages/metro-cache/package.json index be71f5bb12..d832a52c02 100644 --- a/packages/metro-cache/package.json +++ b/packages/metro-cache/package.json @@ -30,6 +30,6 @@ }, "license": "MIT", "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-config/package.json b/packages/metro-config/package.json index d45334469a..da65536707 100644 --- a/packages/metro-config/package.json +++ b/packages/metro-config/package.json @@ -37,6 +37,6 @@ "pretty-format": "^29.7.0" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-core/package.json b/packages/metro-core/package.json index 9f23789875..9240e34b92 100644 --- a/packages/metro-core/package.json +++ b/packages/metro-core/package.json @@ -26,6 +26,6 @@ }, "license": "MIT", "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-file-map/package.json b/packages/metro-file-map/package.json index 4f25ca5ec6..80596ac30b 100644 --- a/packages/metro-file-map/package.json +++ b/packages/metro-file-map/package.json @@ -35,6 +35,6 @@ "slash": "^3.0.0" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-memory-fs/package.json b/packages/metro-memory-fs/package.json index dda9f75423..6e0e6d6160 100644 --- a/packages/metro-memory-fs/package.json +++ b/packages/metro-memory-fs/package.json @@ -24,6 +24,6 @@ "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-minify-terser/package.json b/packages/metro-minify-terser/package.json index fb78907cf9..9b52b4a1a5 100644 --- a/packages/metro-minify-terser/package.json +++ b/packages/metro-minify-terser/package.json @@ -25,6 +25,6 @@ "terser": "^5.15.0" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-resolver/package.json b/packages/metro-resolver/package.json index 7816f29d6c..479c517cd4 100644 --- a/packages/metro-resolver/package.json +++ b/packages/metro-resolver/package.json @@ -21,7 +21,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.18" + "node": ">=22.14" }, "devDependencies": { "metro": "0.82.5" diff --git a/packages/metro-runtime/package.json b/packages/metro-runtime/package.json index 799cb7d73b..4d868a70df 100644 --- a/packages/metro-runtime/package.json +++ b/packages/metro-runtime/package.json @@ -33,6 +33,6 @@ "react-test-renderer": "19.1.0" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-source-map/package.json b/packages/metro-source-map/package.json index 5687218079..2ba3f99e18 100644 --- a/packages/metro-source-map/package.json +++ b/packages/metro-source-map/package.json @@ -38,6 +38,6 @@ "terser": "^5.15.0" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-symbolicate/package.json b/packages/metro-symbolicate/package.json index 319eaebb64..016430e383 100644 --- a/packages/metro-symbolicate/package.json +++ b/packages/metro-symbolicate/package.json @@ -33,6 +33,6 @@ "vlq": "^1.0.0" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-transform-plugins/package.json b/packages/metro-transform-plugins/package.json index 9abed7b16c..6636c2e7a1 100644 --- a/packages/metro-transform-plugins/package.json +++ b/packages/metro-transform-plugins/package.json @@ -38,6 +38,6 @@ "metro": "0.82.5" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro-transform-worker/package.json b/packages/metro-transform-worker/package.json index 03641a557e..e6aefb7e6a 100644 --- a/packages/metro-transform-worker/package.json +++ b/packages/metro-transform-worker/package.json @@ -40,6 +40,6 @@ "metro-memory-fs": "0.82.5" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/metro/package.json b/packages/metro/package.json index 770afc7dd2..66ae987d1d 100644 --- a/packages/metro/package.json +++ b/packages/metro/package.json @@ -80,6 +80,6 @@ }, "license": "MIT", "engines": { - "node": ">=18.18" + "node": ">=22.14" } } diff --git a/packages/ob1/package.json b/packages/ob1/package.json index 07192616e4..08f1dd9ad8 100644 --- a/packages/ob1/package.json +++ b/packages/ob1/package.json @@ -26,6 +26,6 @@ "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18.18" + "node": ">=22.14" } }