Skip to content

Commit 4983c4d

Browse files
[0.80] Add changes for the metro config fix (#15395)
* metro config fix * Change files
1 parent 2028f45 commit 4983c4d

File tree

6 files changed

+63
-28
lines changed

6 files changed

+63
-28
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "prerelease",
3+
"comment": "metro config fix",
4+
"packageName": "react-native-windows",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}

packages/@rnw-scripts/metro-dev-config/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
},
1919
"dependencies": {
2020
"@react-native/metro-config": "0.81.0-nightly-20250709-6892dde36",
21-
"@rnx-kit/metro-config": "^1.3.5",
22-
"@rnx-kit/metro-plugin-duplicates-checker": "^2.1.0",
23-
"@rnx-kit/metro-serializer": "^1.0.11",
21+
"@rnx-kit/metro-config": "^2.1.2",
22+
"@rnx-kit/metro-plugin-duplicates-checker": "^3.0.2",
23+
"@rnx-kit/metro-serializer": "^2.0.3",
2424
"@typescript-eslint/eslint-plugin": "^7.1.1",
2525
"@typescript-eslint/parser": "^7.1.1"
2626
},
@@ -33,4 +33,4 @@
3333
"engines": {
3434
"node": ">= 22"
3535
}
36-
}
36+
}

vnext/template/metro.config.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
22

33
const fs = require('fs');
44
const path = require('path');
5-
const exclusionList = require('metro-config/src/defaults/exclusionList');
6-
75
const rnwPath = fs.realpathSync(
86
path.resolve(require.resolve('react-native-windows/package.json'), '..'),
97
);
@@ -25,7 +23,7 @@ const config = {
2523
watchFolders: [rnwPath, rnwRootNodeModules, rnwPackages],
2624
// devMode]{{/devMode}}
2725
resolver: {
28-
blockList: exclusionList([
26+
blockList: [
2927
// This stops "npx @react-native-community/cli run-windows" from causing the metro server to crash if its already running
3028
new RegExp(
3129
`${path.resolve(__dirname, 'windows').replace(/[/\\]/g, '/')}.*`,
@@ -34,7 +32,7 @@ const config = {
3432
new RegExp(`${rnwPath}/build/.*`),
3533
new RegExp(`${rnwPath}/target/.*`),
3634
/.*\.ProjectImports\.zip/,
37-
]),
35+
],
3836
//{{#devMode}} [devMode
3937
extraNodeModules: {
4038
'react-native-windows': rnwPath,

vnext/templates/cpp-app/metro.config.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
22

33
const fs = require('fs');
44
const path = require('path');
5-
const exclusionList = require('metro-config/src/defaults/exclusionList');
6-
75
const rnwPath = fs.realpathSync(
86
path.resolve(require.resolve('react-native-windows/package.json'), '..'),
97
);
@@ -25,7 +23,7 @@ const config = {
2523
watchFolders: [rnwPath, rnwRootNodeModules, rnwPackages],
2624
// devMode]{{/devMode}}
2725
resolver: {
28-
blockList: exclusionList([
26+
blockList: [
2927
// This stops "npx @react-native-community/cli run-windows" from causing the metro server to crash if its already running
3028
new RegExp(
3129
`${path.resolve(__dirname, 'windows').replace(/[/\\]/g, '/')}.*`,
@@ -34,7 +32,7 @@ const config = {
3432
new RegExp(`${rnwPath}/build/.*`),
3533
new RegExp(`${rnwPath}/target/.*`),
3634
/.*\.ProjectImports\.zip/,
37-
]),
35+
],
3836
//{{#devMode}} [devMode
3937
extraNodeModules: {
4038
'react-native-windows': rnwPath,

vnext/templates/cpp-lib/example/metro.config.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
22
const fs = require('fs');
33
const path = require('path');
44
const escape = require('escape-string-regexp');
5-
const exclusionList = require('metro-config/src/defaults/exclusionList');
65
const pack = require('../package.json');
76

87
const root = path.resolve(__dirname, '..');
@@ -33,7 +32,7 @@ const config = {
3332
// We need to make sure that only one version is loaded for peerDependencies
3433
// So we block them at the root, and alias them to the versions in example's node_modules
3534
resolver: {
36-
blockList: exclusionList(
35+
blockList:
3736
modules.map(
3837
(m) =>
3938
new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`)
@@ -47,7 +46,7 @@ const config = {
4746
new RegExp(`${rnwPath}/target/.*`),
4847
/.*\.ProjectImports\.zip/,
4948
])
50-
),
49+
,
5150

5251
extraNodeModules: modules.reduce((acc, name) => {
5352
acc[name] = path.join(__dirname, 'node_modules', name);

yarn.lock

Lines changed: 46 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2651,6 +2651,11 @@
26512651
resolved "https://registry.yarnpkg.com/@rnx-kit/console/-/console-1.1.0.tgz#86364f8e6c68b01e9493730276c0d8109a80cd41"
26522652
integrity sha512-N+zFhTSXroiK4eL26vs61Pmtl7wzTPAKLd4JKw9/fk5cNAHUscCXF/uclzuYN61Ye5AwygIvcwbm9wv4Jfa92A==
26532653

2654+
"@rnx-kit/console@^2.0.0":
2655+
version "2.0.0"
2656+
resolved "https://registry.yarnpkg.com/@rnx-kit/console/-/console-2.0.0.tgz#8a59b99092a387ef2f7d74ba5d502e5e433bc175"
2657+
integrity sha512-8kyM0TUWpawWlaypHKWLgJjPoF5HcsjIxx9LSnYM8VgwBW1gOl2cCDhPYaeS8IG9m0fi4rMtQD8OJqmwpJ2jEg==
2658+
26542659
"@rnx-kit/jest-preset@^0.1.16", "@rnx-kit/jest-preset@^0.1.17":
26552660
version "0.1.18"
26562661
resolved "https://registry.yarnpkg.com/@rnx-kit/jest-preset/-/jest-preset-0.1.18.tgz#815893ebcb2bc49d1b131363c5027136ddd7ee01"
@@ -2661,14 +2666,14 @@
26612666
"@babel/preset-typescript" "^7.0.0"
26622667
find-up "^5.0.0"
26632668

2664-
"@rnx-kit/metro-config@^1.3.5":
2665-
version "1.3.17"
2666-
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-config/-/metro-config-1.3.17.tgz#8efc69151161e0ce76b6966d3fc9de284a189391"
2667-
integrity sha512-OAQhevPAYkRcFtGHv8Fxl9P0rQhc3slcclmHHIsV6IYanqeIl8uW/djmLY27MBLu+uvjNCirc7XJ9sH9mUYuRQ==
2669+
"@rnx-kit/metro-config@^2.1.2":
2670+
version "2.2.0"
2671+
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-config/-/metro-config-2.2.0.tgz#8867daad76f1bd32eb89a25402b7a77a24731449"
2672+
integrity sha512-L3MceV9dC0f/cZhbCWPcfJaQVslFK0IlllgHym6mZS2BKQmYkxomUiKD/lqRS6W88qoV8SarGEDRQgqwYryu1g==
26682673
dependencies:
2669-
"@rnx-kit/tools-node" "^2.0.0"
2670-
"@rnx-kit/tools-react-native" "^1.4.1"
2671-
"@rnx-kit/tools-workspaces" "^0.1.3"
2674+
"@rnx-kit/tools-node" "^3.0.0"
2675+
"@rnx-kit/tools-react-native" "^2.3.1"
2676+
"@rnx-kit/tools-workspaces" "^0.2.0"
26722677

26732678
"@rnx-kit/metro-plugin-cyclic-dependencies-detector@^1.1.1":
26742679
version "1.1.2"
@@ -2678,14 +2683,22 @@
26782683
"@rnx-kit/console" "^1.0.11"
26792684
"@rnx-kit/tools-node" "^2.0.0"
26802685

2681-
"@rnx-kit/metro-plugin-duplicates-checker@^2.1.0", "@rnx-kit/metro-plugin-duplicates-checker@^2.1.1":
2686+
"@rnx-kit/metro-plugin-duplicates-checker@^2.1.1":
26822687
version "2.1.3"
26832688
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-plugin-duplicates-checker/-/metro-plugin-duplicates-checker-2.1.3.tgz#a76ada37c18a2008997094f0c370d0371a29efd2"
26842689
integrity sha512-YfA12XKiL9okd8nOJ9uNbtSYal1ol9w01I9u3rfz/BBFXjxQAQpv+ATRTfRL4tDgcePXfY5hiINaDscWuCvfeg==
26852690
dependencies:
26862691
"@rnx-kit/console" "^1.0.11"
26872692
"@rnx-kit/tools-node" "^2.0.0"
26882693

2694+
"@rnx-kit/metro-plugin-duplicates-checker@^3.0.2":
2695+
version "3.0.2"
2696+
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-plugin-duplicates-checker/-/metro-plugin-duplicates-checker-3.0.2.tgz#19a06208a9046d8bf6663f5b5264bc3b19dc7c5f"
2697+
integrity sha512-DAGSJCo+6nG6MJw6c1UuXmM4ZxusOdMhxmUQC3UXgmpNJH87t/VqrmJDDMzfUTbMK0nmbZ7tes0Wg67r6A68qw==
2698+
dependencies:
2699+
"@rnx-kit/console" "^2.0.0"
2700+
"@rnx-kit/tools-node" "^3.0.0"
2701+
26892702
"@rnx-kit/metro-plugin-typescript@^0.4.4":
26902703
version "0.4.5"
26912704
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-plugin-typescript/-/metro-plugin-typescript-0.4.5.tgz#a838b462f369cd5a48df868dc29c436976ed1ba2"
@@ -2711,14 +2724,21 @@
27112724
esbuild-plugin-lodash "^1.2.0"
27122725
fast-glob "^3.2.7"
27132726

2714-
"@rnx-kit/metro-serializer@^1.0.11", "@rnx-kit/metro-serializer@^1.0.14":
2727+
"@rnx-kit/metro-serializer@^1.0.14":
27152728
version "1.0.14"
27162729
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-serializer/-/metro-serializer-1.0.14.tgz#8542e13441cadd749026e398127fe29e143e99ed"
27172730
integrity sha512-xBVtpCE3w8GKK0nS95PnxJeQmsGq9K98LMEN/BD1wRuXNpASiSRPNI2vA3ol0ID76xwsl+afg9SptccrydMpbA==
27182731
dependencies:
27192732
"@rnx-kit/tools-react-native" "^1.3.4"
27202733
semver "^7.0.0"
27212734

2735+
"@rnx-kit/metro-serializer@^2.0.3":
2736+
version "2.0.3"
2737+
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-serializer/-/metro-serializer-2.0.3.tgz#6f4bf04ca0fe65ce34c8ebfcff58b1b89aa0ab17"
2738+
integrity sha512-ZmXoaaQiXsI/b33xT23vpWs9y+TZQA97xRp/MR98qdU2QWCJqd3IlYsr+WYphvN4ZBlpgxt3SvPrjdbYrcg1EA==
2739+
dependencies:
2740+
"@rnx-kit/tools-react-native" "^2.3.0"
2741+
27222742
"@rnx-kit/metro-service@^3.1.6":
27232743
version "3.1.6"
27242744
resolved "https://registry.yarnpkg.com/@rnx-kit/metro-service/-/metro-service-3.1.6.tgz#33a587c031cad12c9716323a72a0abb18fb1a7e7"
@@ -2749,20 +2769,33 @@
27492769
resolved "https://registry.yarnpkg.com/@rnx-kit/tools-node/-/tools-node-2.1.2.tgz#8f854b0136beadfc8b8a6c2c8f5f0f0cfefadfc4"
27502770
integrity sha512-pCpiUpC/032ZoN4iFZFWtKp3Vrjma115nXwv2gyD2XFxj6DFyTX6pYjSK70xT7gwLMU0C3bZonN1JxiOBlGb0A==
27512771

2772+
"@rnx-kit/tools-node@^3.0.0":
2773+
version "3.0.2"
2774+
resolved "https://registry.yarnpkg.com/@rnx-kit/tools-node/-/tools-node-3.0.2.tgz#9993e86ee3f06af71662eae75ffdb07b8d7313c5"
2775+
integrity sha512-nz0kq7FxJ89Vh5NLHZjmexl3sdGeoPaPZMSWQhW6g9JzryGVdU+CyLQtQbajtwaDMQB2qH/IqpmOzAxNFr5pgg==
2776+
27522777
"@rnx-kit/tools-react-native@^1.3.2", "@rnx-kit/tools-react-native@^1.3.4", "@rnx-kit/tools-react-native@^1.4.0", "@rnx-kit/tools-react-native@^1.4.1":
27532778
version "1.4.2"
27542779
resolved "https://registry.yarnpkg.com/@rnx-kit/tools-react-native/-/tools-react-native-1.4.2.tgz#099972ecb705276d17fea72da5531f24271fe3a7"
27552780
integrity sha512-dzXMvJdOXWl6hyAem8TceinWIH5zEjCSj0lvtHx09fIPbFu9IjiFT6X8xBBmAOXixzu4FLJw1c41N78a2Q/yCg==
27562781
dependencies:
27572782
"@rnx-kit/tools-node" "^2.0.1"
27582783

2759-
"@rnx-kit/tools-workspaces@^0.1.3":
2760-
version "0.1.6"
2761-
resolved "https://registry.yarnpkg.com/@rnx-kit/tools-workspaces/-/tools-workspaces-0.1.6.tgz#94e5fb72c9857cf4a00d27e931b7ca5a362b4695"
2762-
integrity sha512-af5CYnc1dtnMIAl2u0U1QHUCGgLNN9ZQkYCAtQOHPxxgF5yX2Cr9jrXLZ9M+/h/eSVbK0ETjJWbNbPoiUSW/7w==
2784+
"@rnx-kit/tools-react-native@^2.3.0", "@rnx-kit/tools-react-native@^2.3.1":
2785+
version "2.3.1"
2786+
resolved "https://registry.yarnpkg.com/@rnx-kit/tools-react-native/-/tools-react-native-2.3.1.tgz#f6b03fae7ccf5dbe5066d7eea6af2189d914abe7"
2787+
integrity sha512-6XVhP6W0C9xyjDeyhMC0/bmlgk8rAfrFGEafupn36q1dOzhcN3uXVQaLVFhYW6dF29NafakKg9gzfUeRTOz7bg==
2788+
dependencies:
2789+
"@rnx-kit/tools-node" "^3.0.0"
2790+
2791+
"@rnx-kit/tools-workspaces@^0.2.0":
2792+
version "0.2.3"
2793+
resolved "https://registry.yarnpkg.com/@rnx-kit/tools-workspaces/-/tools-workspaces-0.2.3.tgz#dd239dae99abfcd3ccffcbdc0c5e62db85f2bbe7"
2794+
integrity sha512-nJ1aRBqUoEPYVdc9cYZtpR6k5F+DcdtLWdlSAGd9f1HU2tqvDpRJhOId9uY3T57fC+YVtPijlp9/55gNGsaiJw==
27632795
dependencies:
27642796
fast-glob "^3.2.7"
27652797
find-up "^5.0.0"
2798+
micromatch "^4.0.0"
27662799
read-yaml-file "^2.1.0"
27672800
strip-json-comments "^3.1.1"
27682801

0 commit comments

Comments
 (0)