fix(metro-config): fix `@react-native/metro-config` not being resolved (#2779)

This commit is contained in:
Tommy Nguyen 2023-11-02 11:42:12 +01:00 коммит произвёл GitHub
Родитель 067e2ed747
Коммит a5ec943ab8
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,5 @@
---
"@rnx-kit/metro-config": patch
---
Fix `@react-native/metro-config` not being resolved correctly in a pnpm setup

Просмотреть файл

@ -109,7 +109,10 @@ function getDefaultConfig(projectRoot) {
const manifest = fs.readFileSync(pkgJson, { encoding: "utf-8" }); const manifest = fs.readFileSync(pkgJson, { encoding: "utf-8" });
if (manifest.includes("@react-native/metro-config")) { if (manifest.includes("@react-native/metro-config")) {
// @ts-ignore Cannot find module or its corresponding type declarations. // @ts-ignore Cannot find module or its corresponding type declarations.
const { getDefaultConfig } = require("@react-native/metro-config"); const metroConfigPath = require.resolve("@react-native/metro-config", {
paths: [projectRoot],
});
const { getDefaultConfig } = require(metroConfigPath);
const { getAvailablePlatforms } = require("@rnx-kit/tools-react-native"); const { getAvailablePlatforms } = require("@rnx-kit/tools-react-native");
const defaultConfig = getDefaultConfig(projectRoot); const defaultConfig = getDefaultConfig(projectRoot);