{"version":3,"file":"compiler-plugins.js","sourceRoot":"","sources":["../../src/plugins/compiler-plugins.ts"],"names":[],"mappings":"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","sourcesContent":["import { JSONObject } from '@expo/json-file';\nimport plist from '@expo/plist';\nimport { readFile, writeFile } from 'fs-extra';\nimport path from 'path';\nimport { XcodeProject } from 'xcode';\n\nimport {\n ConfigPlugin,\n ExportedConfig,\n ExportedConfigWithProps,\n ModPlatform,\n} from '../Plugin.types';\nimport { Manifest, Properties } from '../android';\nimport { AndroidManifest } from '../android/Manifest';\nimport * as AndroidPaths from '../android/Paths';\nimport { readResourcesXMLAsync, ResourceXML } from '../android/Resources';\nimport { getProjectStringsXMLPathAsync } from '../android/Strings';\nimport { getEntitlementsPath } from '../ios/Entitlements';\nimport { InfoPlist } from '../ios/IosConfig.types';\nimport { AppDelegateProjectFile, getAppDelegate, getInfoPlistPath } from '../ios/Paths';\nimport { getPbxproj } from '../ios/utils/Xcodeproj';\nimport { writeXMLAsync } from '../utils/XML';\nimport { assert } from '../utils/errors';\nimport * as WarningAggregator from '../utils/warnings';\nimport { withInterceptedMod } from './core-plugins';\n\nexport function withBaseMods(config: ExportedConfig): ExportedConfig {\n config = applyIOSBaseMods(config);\n config = applyAndroidBaseMods(config);\n return config;\n}\n\nexport function resolveModResults(results: any, platformName: string, modName: string) {\n // If the results came from a mod, they'd be in the form of [config, data].\n // Ensure the results are an array and omit the data since it should've been written by a data provider plugin.\n const ensuredResults = results;\n\n // Sanity check to help locate non compliant mods.\n if (!ensuredResults || typeof ensuredResults !== 'object' || !ensuredResults?.mods) {\n throw new Error(\n `Mod \\`mods.${platformName}.${modName}\\` evaluated to an object that is not a valid project config. Instead got: ${JSON.stringify(\n ensuredResults\n )}`\n );\n }\n return ensuredResults;\n}\n\nfunction applyAndroidBaseMods(config: ExportedConfig): ExportedConfig {\n config = withExpoDangerousBaseMod(config, 'android');\n config = withAndroidStringsXMLBaseMod(config);\n config = withAndroidGradlePropertiesBaseMod(config);\n config = withAndroidManifestBaseMod(config);\n config = withAndroidMainActivityBaseMod(config);\n config = withAndroidSettingsGradleBaseMod(config);\n config = withAndroidProjectBuildGradleBaseMod(config);\n config = withAndroidAppBuildGradleBaseMod(config);\n return config;\n}\n\nconst withAndroidManifestBaseMod: ConfigPlugin = config => {\n // Append a rule to supply AndroidManifest.xml data to mods on `mods.android.manifest`\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'manifest',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n const filePath = await AndroidPaths.getAndroidManifestAsync(modRequest.projectRoot);\n let modResults = await Manifest.readAndroidManifestAsync(filePath);\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await Manifest.writeAndroidManifestAsync(filePath, modResults);\n } catch (error) {\n console.error(`AndroidManifest.xml mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nexport const withAndroidGradlePropertiesBaseMod: ConfigPlugin = config => {\n // Append a rule to supply gradle.properties data to mods on `mods.android.gradleProperties`\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'gradleProperties',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n const filePath = path.join(modRequest.platformProjectRoot, 'gradle.properties');\n const contents = await readFile(filePath, 'utf8');\n let modResults = Properties.parsePropertiesFile(contents);\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n await writeFile(filePath, Properties.propertiesListToString(modResults), 'utf8');\n } catch (error) {\n console.error(`gradle.properties mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nconst withAndroidStringsXMLBaseMod: ConfigPlugin = config => {\n // Append a rule to supply strings.xml data to mods on `mods.android.strings`\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'strings',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n const filePath = await getProjectStringsXMLPathAsync(modRequest.projectRoot);\n let modResults = await readResourcesXMLAsync({ path: filePath });\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeXMLAsync({ path: filePath, xml: modResults });\n } catch (error) {\n console.error(`strings.xml mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nconst withAndroidProjectBuildGradleBaseMod: ConfigPlugin = config => {\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'projectBuildGradle',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n let modResults = await AndroidPaths.getProjectBuildGradleAsync(modRequest.projectRoot);\n // Currently don't support changing the path or language\n const filePath = modResults.path;\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeFile(filePath, modResults.contents);\n } catch (error) {\n console.error(`android/build.gradle mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nconst withAndroidSettingsGradleBaseMod: ConfigPlugin = config => {\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'settingsGradle',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n let modResults = await AndroidPaths.getSettingsGradleAsync(modRequest.projectRoot);\n // Currently don't support changing the path or language\n const filePath = modResults.path;\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeFile(filePath, modResults.contents);\n } catch (error) {\n console.error(`android/settings.gradle mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nconst withAndroidAppBuildGradleBaseMod: ConfigPlugin = config => {\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'appBuildGradle',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n let modResults = await AndroidPaths.getAppBuildGradleAsync(modRequest.projectRoot);\n // Currently don't support changing the path or language\n const filePath = modResults.path;\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeFile(filePath, modResults.contents);\n } catch (error) {\n console.error(`android/app/build.gradle mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nconst withAndroidMainActivityBaseMod: ConfigPlugin = config => {\n return withInterceptedMod(config, {\n platform: 'android',\n mod: 'mainActivity',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n let modResults = await AndroidPaths.getMainActivityAsync(modRequest.projectRoot);\n // Currently don't support changing the path or language\n const filePath = modResults.path;\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeFile(filePath, modResults.contents);\n } catch (error) {\n console.error(`MainActivity mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nfunction applyIOSBaseMods(config: ExportedConfig): ExportedConfig {\n config = withExpoDangerousBaseMod(config, 'ios');\n config = withAppDelegateBaseMod(config);\n config = withIosInfoPlistBaseMod(config);\n config = withExpoPlistBaseMod(config);\n config = withXcodeProjectBaseMod(config);\n config = withEntitlementsBaseMod(config);\n\n return config;\n}\n\nconst withExpoDangerousBaseMod: ConfigPlugin = (config, platform) => {\n // Used for scheduling when dangerous mods run.\n return withInterceptedMod(config, {\n platform,\n mod: 'dangerous',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n const results = await nextMod!({\n ...config,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n return results;\n },\n });\n};\n\nconst withAppDelegateBaseMod: ConfigPlugin = config => {\n return withInterceptedMod(config, {\n platform: 'ios',\n mod: 'appDelegate',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n let modResults = getAppDelegate(modRequest.projectRoot);\n // Currently don't support changing the path or language\n const filePath = modResults.path;\n\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeFile(filePath, modResults.contents);\n } catch (error) {\n console.error(`AppDelegate mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n\nconst withExpoPlistBaseMod: ConfigPlugin = config => {\n // Append a rule to supply Expo.plist data to mods on `mods.ios.expoPlist`\n return withInterceptedMod(config, {\n platform: 'ios',\n mod: 'expoPlist',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n const supportingDirectory = path.join(\n modRequest.platformProjectRoot,\n modRequest.projectName!,\n 'Supporting'\n );\n\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n try {\n const filePath = path.resolve(supportingDirectory, 'Expo.plist');\n let modResults = plist.parse(await readFile(filePath, 'utf8'));\n\n // TODO: Fix type\n results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n modResults = results.modResults;\n\n await writeFile(filePath, plist.build(modResults));\n } catch (error) {\n WarningAggregator.addWarningIOS(\n 'updates',\n 'Expo.plist configuration could not be applied. You will need to create Expo.plist if it does not exist and add Updates configuration manually.',\n 'https://docs.expo.io/bare/updating-your-app/#configuration-options'\n );\n }\n return results;\n },\n });\n};\n\nconst withXcodeProjectBaseMod: ConfigPlugin = config => {\n // Append a rule to supply .xcodeproj data to mods on `mods.ios.xcodeproj`\n return withInterceptedMod(config, {\n platform: 'ios',\n mod: 'xcodeproj',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n const modResults = getPbxproj(modRequest.projectRoot);\n // TODO: Fix type\n const results = await nextMod!({\n ...config,\n modResults,\n modRequest,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n const resultData = results.modResults;\n await writeFile(resultData.filepath, resultData.writeSync());\n return results;\n },\n });\n};\n\nconst withIosInfoPlistBaseMod: ConfigPlugin = config => {\n // Append a rule to supply Info.plist data to mods on `mods.ios.infoPlist`\n return withInterceptedMod(config, {\n platform: 'ios',\n mod: 'infoPlist',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n const filePath = getInfoPlistPath(modRequest.projectRoot);\n\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n // Apply all of the Info.plist values to the expo.ios.infoPlist object\n // TODO: Remove this in favor of just overwriting the Info.plist with the Expo object. This will enable people to actually remove values.\n if (!config.ios) {\n config.ios = {};\n }\n if (!config.ios.infoPlist) {\n config.ios.infoPlist = {};\n }\n\n const contents = await readFile(filePath, 'utf8');\n assert(contents, 'Info.plist is empty');\n let data = plist.parse(contents);\n\n config.ios.infoPlist = {\n ...(data || {}),\n ...config.ios.infoPlist,\n };\n // TODO: Fix type\n results = await nextMod!({\n ...config,\n modRequest,\n modResults: config.ios.infoPlist as InfoPlist,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n data = results.modResults;\n\n await writeFile(filePath, plist.build(data));\n\n return results;\n },\n });\n};\n\nconst withEntitlementsBaseMod: ConfigPlugin = config => {\n // Append a rule to supply .entitlements data to mods on `mods.ios.entitlements`\n return withInterceptedMod(config, {\n platform: 'ios',\n mod: 'entitlements',\n skipEmptyMod: true,\n async action({ modRequest: { nextMod, ...modRequest }, ...config }) {\n const entitlementsPath = getEntitlementsPath(modRequest.projectRoot);\n\n let results: ExportedConfigWithProps = {\n ...config,\n modRequest,\n };\n\n try {\n const data = plist.parse(await readFile(entitlementsPath, 'utf8'));\n // Apply all of the .entitlements values to the expo.ios.entitlements object\n // TODO: Remove this in favor of just overwriting the .entitlements with the Expo object. This will enable people to actually remove values.\n if (!config.ios) {\n config.ios = {};\n }\n if (!config.ios.entitlements) {\n config.ios.entitlements = {};\n }\n\n config.ios.entitlements = {\n ...(data || {}),\n ...config.ios.entitlements,\n };\n\n // TODO: Fix type\n results = await nextMod!({\n ...config,\n modRequest,\n modResults: config.ios.entitlements as JSONObject,\n });\n resolveModResults(results, modRequest.platform, modRequest.modName);\n await writeFile(entitlementsPath, plist.build(results.modResults));\n } catch (error) {\n console.error(`${path.basename(entitlementsPath)} mod error:`);\n throw error;\n }\n return results;\n },\n });\n};\n"]}