%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
const findProjectRoot = require('@react-native-community/cli-tools').findProjectRoot; const fs = require('fs'); const path = require('path'); const projectRoot = findProjectRoot(); function isMatchedInFile(filePath, regexp) { const contents = fs.readFileSync(filePath, 'utf8'); return !!contents.match(regexp); } /** * Checks if expo-modules-autolinking is setup on iOS */ function isExpoModulesInstalledIos(projectRoot) { const podfilePath = path.join(projectRoot, 'ios', 'Podfile'); if (!fs.existsSync(podfilePath)) { // Assumes true for managed apps return true; } return isMatchedInFile(podfilePath, /use_expo_modules!/); } /** * Checks if expo-modules-autolinking is setup on Android */ function isExpoModulesInstalledAndroid(projectRoot) { const gradlePath = path.join(projectRoot, 'android', 'settings.gradle'); if (!fs.existsSync(gradlePath)) { // Assumes true for managed apps return true; } return isMatchedInFile(gradlePath, /useExpoModules/); } module.exports = { dependency: { platforms: { // To make Expo CLI works on bare react-native projects without installing Expo Modules, we disable autolinking in this case. ios: !isExpoModulesInstalledIos(projectRoot) ? null : {}, android: !isExpoModulesInstalledAndroid(projectRoot) ? null : { packageImportPath: 'import expo.modules.ExpoModulesPackage;', }, macos: null, windows: null, }, }, };