Skip to content

Commit c21d60f

Browse files
committed
fix(metro-config): fix crash when react-native-web is installed
1 parent fe40053 commit c21d60f

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

.changeset/lazy-laws-eat.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rnx-kit/metro-config": patch
3+
---
4+
5+
Fixed crash when `react-native-web` is installed

packages/metro-config/src/defaultConfig.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,23 @@ function getPreludeModules(availablePlatforms, projectRoot) {
2525
const requireOptions = { paths: [projectRoot] };
2626
const mainModules = new Set([
2727
require.resolve(
28-
"react-native/Libraries/Core/InitializeCore",
28+
"react-native/Libraries/Core/InitializeCore.js",
2929
requireOptions
3030
),
3131
]);
3232
for (const moduleName of Object.values(availablePlatforms)) {
3333
if (moduleName) {
34-
mainModules.add(
35-
require.resolve(
36-
`${moduleName}/Libraries/Core/InitializeCore`,
37-
requireOptions
38-
)
39-
);
34+
try {
35+
mainModules.add(
36+
require.resolve(
37+
`${moduleName}/Libraries/Core/InitializeCore.js`,
38+
requireOptions
39+
)
40+
);
41+
} catch (_) {
42+
// Not all platform implementations have `InitializeCore.js` e.g.,
43+
// `react-native-web`.
44+
}
4045
}
4146
}
4247
return Array.from(mainModules);

0 commit comments

Comments
 (0)