Skip to content

Commit 8bf7cb7

Browse files
authored
Use node resolver to locate React Native package (#472)
1 parent 2e0bd2c commit 8bf7cb7

File tree

1 file changed

+4
-15
lines changed

1 file changed

+4
-15
lines changed

android/build.gradle

+4-15
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,10 @@ def resolveReactNativeDirectory() {
5252
return file(reactNativeLocation)
5353
}
5454

55-
// monorepo workaround
56-
// react-native can be hoisted or in project's own node_modules
57-
def reactNativeFromProjectNodeModules = file("${rootProject.projectDir}/../node_modules/react-native")
58-
if (reactNativeFromProjectNodeModules.exists()) {
59-
return reactNativeFromProjectNodeModules
60-
}
61-
62-
def reactNativeFromLiveMarkdownMonorepo = file("${projectDir}/../../../node_modules/react-native")
63-
if (reactNativeFromLiveMarkdownMonorepo.exists()) {
64-
return reactNativeFromLiveMarkdownMonorepo
65-
}
66-
67-
def reactNativeFromNodeModulesWithLiveMarkdown = file("${projectDir}/../../react-native")
68-
if (reactNativeFromNodeModulesWithLiveMarkdown.exists()) {
69-
return reactNativeFromNodeModulesWithLiveMarkdown
55+
// Fallback to node resolver for custom directory structures like monorepos.
56+
def reactNativePackage = file(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim())
57+
if (reactNativePackage.exists()) {
58+
return reactNativePackage.parentFile
7059
}
7160

7261
throw new GradleException("[react-native-live-markdown] Unable to resolve react-native location in node_modules. Your app should define `REACT_NATIVE_NODE_MODULES_DIR` extension property in `app/build.gradle` with a path to react-native in node_modules.")

0 commit comments

Comments
 (0)