@expo/config-plugins 4.0.3 → 4.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +14 -0
  2. package/build/Plugin.types.js +6 -6
  3. package/build/android/AllowBackup.js +1 -1
  4. package/build/android/Colors.js +3 -3
  5. package/build/android/EasBuild.js +1 -1
  6. package/build/android/GoogleServices.js +3 -3
  7. package/build/android/IntentFilters.js +1 -1
  8. package/build/android/JsEngine.js +2 -1
  9. package/build/android/JsEngine.js.map +1 -1
  10. package/build/android/Manifest.js +10 -10
  11. package/build/android/Name.d.ts +2 -1
  12. package/build/android/Name.js +7 -4
  13. package/build/android/Name.js.map +1 -1
  14. package/build/android/Orientation.js +2 -1
  15. package/build/android/Orientation.js.map +1 -1
  16. package/build/android/Package.js +4 -4
  17. package/build/android/Package.js.map +1 -1
  18. package/build/android/Paths.js +9 -9
  19. package/build/android/Permissions.js +6 -6
  20. package/build/android/Resources.js +5 -5
  21. package/build/android/Scheme.js +3 -3
  22. package/build/android/StatusBar.js +3 -3
  23. package/build/android/Strings.js +1 -1
  24. package/build/android/Styles.js +5 -5
  25. package/build/android/Updates.d.ts +0 -5
  26. package/build/android/Updates.js +14 -23
  27. package/build/android/Updates.js.map +1 -1
  28. package/build/android/Version.js +2 -2
  29. package/build/android/WindowSoftInputMode.js +1 -1
  30. package/build/android/codeMod.js +2 -2
  31. package/build/android/index.d.ts +1 -4
  32. package/build/android/index.js +1 -52
  33. package/build/android/index.js.map +1 -1
  34. package/build/index.js +54 -53
  35. package/build/index.js.map +1 -1
  36. package/build/ios/Bitcode.d.ts +33 -0
  37. package/build/ios/Bitcode.js +131 -0
  38. package/build/ios/Bitcode.js.map +1 -0
  39. package/build/ios/BuildScheme.js +2 -2
  40. package/build/ios/BundleIdentifier.js +3 -3
  41. package/build/ios/DeviceFamily.js +3 -3
  42. package/build/ios/Entitlements.js +2 -2
  43. package/build/ios/Entitlements.js.map +1 -1
  44. package/build/ios/Google.js +2 -2
  45. package/build/ios/JsEngine.js +2 -1
  46. package/build/ios/JsEngine.js.map +1 -1
  47. package/build/ios/Locales.js +1 -1
  48. package/build/ios/Maps.js +32 -18
  49. package/build/ios/Maps.js.map +1 -1
  50. package/build/ios/Orientation.js +2 -1
  51. package/build/ios/Orientation.js.map +1 -1
  52. package/build/ios/Paths.js +14 -14
  53. package/build/ios/Paths.js.map +1 -1
  54. package/build/ios/Permissions.js +1 -1
  55. package/build/ios/Permissions.js.map +1 -1
  56. package/build/ios/Scheme.js +4 -4
  57. package/build/ios/Swift.js +2 -2
  58. package/build/ios/Target.js +5 -5
  59. package/build/ios/Updates.d.ts +0 -5
  60. package/build/ios/Updates.js +14 -23
  61. package/build/ios/Updates.js.map +1 -1
  62. package/build/ios/Version.js +3 -3
  63. package/build/ios/codeMod.js +2 -2
  64. package/build/ios/index.d.ts +2 -3
  65. package/build/ios/index.js +20 -35
  66. package/build/ios/index.js.map +1 -1
  67. package/build/ios/utils/Xcodeproj.js +9 -9
  68. package/build/plugins/android-plugins.js +1 -1
  69. package/build/plugins/createBaseMod.js +2 -2
  70. package/build/plugins/createBaseMod.js.map +1 -1
  71. package/build/plugins/ios-plugins.js +2 -2
  72. package/build/plugins/mod-compiler.js +3 -3
  73. package/build/plugins/mod-compiler.js.map +1 -1
  74. package/build/plugins/withAndroidBaseMods.js +1 -1
  75. package/build/plugins/withIosBaseMods.js +1 -1
  76. package/build/plugins/withStaticPlugin.js +16 -5
  77. package/build/plugins/withStaticPlugin.js.map +1 -1
  78. package/build/utils/Updates.d.ts +1 -0
  79. package/build/utils/Updates.js +24 -1
  80. package/build/utils/Updates.js.map +1 -1
  81. package/build/utils/XML.d.ts +6 -0
  82. package/build/utils/XML.js +57 -10
  83. package/build/utils/XML.js.map +1 -1
  84. package/build/utils/errors.js +1 -1
  85. package/build/utils/generateCode.js +2 -2
  86. package/build/utils/history.js +1 -1
  87. package/build/utils/modules.js +1 -1
  88. package/build/utils/plugin-resolver.js +4 -4
  89. package/build/utils/sortObject.js +2 -2
  90. package/build/utils/warnings.js +1 -1
  91. package/package.json +4 -4
  92. package/build/android/NavigationBar.d.ts +0 -9
  93. package/build/android/NavigationBar.js +0 -141
  94. package/build/android/NavigationBar.js.map +0 -1
  95. package/build/android/RootViewBackgroundColor.d.ts +0 -6
  96. package/build/android/RootViewBackgroundColor.js +0 -81
  97. package/build/android/RootViewBackgroundColor.js.map +0 -1
  98. package/build/android/UserInterfaceStyle.d.ts +0 -10
  99. package/build/android/UserInterfaceStyle.js +0 -119
  100. package/build/android/UserInterfaceStyle.js.map +0 -1
  101. package/build/ios/RootViewBackgroundColor.d.ts +0 -6
  102. package/build/ios/RootViewBackgroundColor.js +0 -70
  103. package/build/ios/RootViewBackgroundColor.js.map +0 -1
  104. package/build/ios/UserInterfaceStyle.d.ts +0 -5
  105. package/build/ios/UserInterfaceStyle.js +0 -59
  106. package/build/ios/UserInterfaceStyle.js.map +0 -1
  107. package/build/utils/resolvePackageRootFolder.d.ts +0 -1
  108. package/build/utils/resolvePackageRootFolder.js +0 -57
  109. package/build/utils/resolvePackageRootFolder.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/android/Updates.ts"],"names":["CREATE_MANIFEST_ANDROID_PATH","Config","withUpdates","config","expoUsername","modResults","setUpdatesConfig","getRuntimeVersionNullable","e","getSDKVersion","sdkVersion","getUpdatesEnabled","updates","enabled","getUpdatesTimeout","fallbackToCacheTimeout","getUpdatesCheckOnLaunch","checkAutomatically","androidManifest","username","mainApplication","ENABLED","String","CHECK_ON_LAUNCH","LAUNCH_WAIT_MS","updateUrl","UPDATE_URL","setVersionsConfig","runtimeVersion","SDK_VERSION","RUNTIME_VERSION","ensureBuildGradleContainsConfigurationScript","projectRoot","buildGradleContents","isBuildGradleConfigured","cleanedUpBuildGradleContents","isBuildGradleMisconfigured","split","some","line","includes","replace","RegExp","gradleScriptApply","formatApplyLineForBuildGradle","updatesGradleScriptPath","resolveFrom","silent","Error","relativePath","path","relative","join","posixPath","process","platform","androidBuildScript","isMainApplicationMetaDataSet","Boolean","isMainApplicationMetaDataSynced","areVersionsSynced","expectedRuntimeVersion","expectedSdkVersion","currentRuntimeVersion","currentSdkVersion"],"mappings":"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","sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\nimport { ExpoConfigUpdates, getRuntimeVersion, getUpdateUrl } from '../utils/Updates';\nimport {\n addMetaDataItemToMainApplication,\n AndroidManifest,\n getMainApplicationMetaDataValue,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\n\nconst CREATE_MANIFEST_ANDROID_PATH = 'expo-updates/scripts/create-manifest-android.gradle';\n\nexport enum Config {\n ENABLED = 'expo.modules.updates.ENABLED',\n CHECK_ON_LAUNCH = 'expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH',\n LAUNCH_WAIT_MS = 'expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS',\n SDK_VERSION = 'expo.modules.updates.EXPO_SDK_VERSION',\n RUNTIME_VERSION = 'expo.modules.updates.EXPO_RUNTIME_VERSION',\n UPDATE_URL = 'expo.modules.updates.EXPO_UPDATE_URL',\n RELEASE_CHANNEL = 'expo.modules.updates.EXPO_RELEASE_CHANNEL',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'expo.modules.updates.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY',\n}\n\nexport const withUpdates: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withAndroidManifest(config, config => {\n config.modResults = setUpdatesConfig(config, config.modResults, expoUsername);\n return config;\n });\n};\n\n/**\n * runtime version maybe null in projects using classic updates. In that\n * case we use SDK version\n */\nexport function getRuntimeVersionNullable(\n config: Pick<ExpoConfigUpdates, 'runtimeVersion'>\n): string | null {\n try {\n return getRuntimeVersion(config, 'android');\n } catch (e) {\n return null;\n }\n}\n\nexport function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null {\n return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;\n}\n\nexport function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean {\n return config.updates?.enabled !== false;\n}\n\nexport function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>): number {\n return config.updates?.fallbackToCacheTimeout ?? 0;\n}\n\nexport function getUpdatesCheckOnLaunch(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): 'NEVER' | 'ALWAYS' {\n if (config.updates?.checkAutomatically === 'ON_ERROR_RECOVERY') {\n return 'NEVER';\n } else if (config.updates?.checkAutomatically === 'ON_LOAD') {\n return 'ALWAYS';\n }\n return 'ALWAYS';\n}\n\nexport function setUpdatesConfig(\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.ENABLED,\n String(getUpdatesEnabled(config))\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CHECK_ON_LAUNCH,\n getUpdatesCheckOnLaunch(config)\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.LAUNCH_WAIT_MS,\n String(getUpdatesTimeout(config))\n );\n\n const updateUrl = getUpdateUrl(config, username);\n if (updateUrl) {\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATE_URL, updateUrl);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATE_URL);\n }\n\n return setVersionsConfig(config, androidManifest);\n}\n\nexport function setVersionsConfig(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n androidManifest: AndroidManifest\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n const runtimeVersion = getRuntimeVersionNullable(config);\n const sdkVersion = getSDKVersion(config);\n if (runtimeVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.RUNTIME_VERSION, runtimeVersion);\n } else if (sdkVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.SDK_VERSION, sdkVersion);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n }\n\n return androidManifest;\n}\nexport function ensureBuildGradleContainsConfigurationScript(\n projectRoot: string,\n buildGradleContents: string\n): string {\n if (!isBuildGradleConfigured(projectRoot, buildGradleContents)) {\n let cleanedUpBuildGradleContents;\n\n const isBuildGradleMisconfigured = buildGradleContents\n .split('\\n')\n .some(line => line.includes(CREATE_MANIFEST_ANDROID_PATH));\n if (isBuildGradleMisconfigured) {\n cleanedUpBuildGradleContents = buildGradleContents.replace(\n new RegExp(`(\\n// Integration with Expo updates)?\\n.*${CREATE_MANIFEST_ANDROID_PATH}.*\\n`),\n ''\n );\n } else {\n cleanedUpBuildGradleContents = buildGradleContents;\n }\n\n const gradleScriptApply = formatApplyLineForBuildGradle(projectRoot);\n return `${cleanedUpBuildGradleContents}\\n// Integration with Expo updates\\n${gradleScriptApply}\\n`;\n } else {\n return buildGradleContents;\n }\n}\n\nexport function formatApplyLineForBuildGradle(projectRoot: string): string {\n const updatesGradleScriptPath = resolveFrom.silent(projectRoot, CREATE_MANIFEST_ANDROID_PATH);\n\n if (!updatesGradleScriptPath) {\n throw new Error(\n \"Could not find the build script for Android. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.\"\n );\n }\n\n const relativePath = path.relative(\n path.join(projectRoot, 'android', 'app'),\n updatesGradleScriptPath\n );\n const posixPath = process.platform === 'win32' ? relativePath.replace(/\\\\/g, '/') : relativePath;\n\n return `apply from: \"${posixPath}\"`;\n}\n\nexport function isBuildGradleConfigured(projectRoot: string, buildGradleContents: string): boolean {\n const androidBuildScript = formatApplyLineForBuildGradle(projectRoot);\n\n return (\n buildGradleContents\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some(line => line === androidBuildScript || line === androidBuildScript.replace(/\"/g, \"'\"))\n );\n}\n\nexport function isMainApplicationMetaDataSet(androidManifest: AndroidManifest): boolean {\n const updateUrl = getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL);\n const runtimeVersion = getMainApplicationMetaDataValue(androidManifest, Config.RUNTIME_VERSION);\n const sdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n return Boolean(updateUrl && (sdkVersion || runtimeVersion));\n}\n\nexport function isMainApplicationMetaDataSynced(\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null\n): boolean {\n return (\n getUpdateUrl(config, username) ===\n getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL) &&\n String(getUpdatesEnabled(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.ENABLED) &&\n String(getUpdatesTimeout(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.LAUNCH_WAIT_MS) &&\n getUpdatesCheckOnLaunch(config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CHECK_ON_LAUNCH) &&\n areVersionsSynced(config, androidManifest)\n );\n}\n\nexport function areVersionsSynced(\n config: Pick<ExpoConfigUpdates, 'runtimeVersion' | 'sdkVersion'>,\n androidManifest: AndroidManifest\n): boolean {\n const expectedRuntimeVersion = getRuntimeVersionNullable(config);\n const expectedSdkVersion = getSDKVersion(config);\n\n const currentRuntimeVersion = getMainApplicationMetaDataValue(\n androidManifest,\n Config.RUNTIME_VERSION\n );\n const currentSdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n if (expectedRuntimeVersion !== null) {\n return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;\n } else if (expectedSdkVersion !== null) {\n return currentSdkVersion === expectedSdkVersion && currentRuntimeVersion === null;\n } else {\n return true;\n }\n}\n"],"file":"Updates.js"}
1
+ {"version":3,"sources":["../../src/android/Updates.ts"],"names":["CREATE_MANIFEST_ANDROID_PATH","Config","withUpdates","config","expoUsername","modResults","setUpdatesConfig","getSDKVersion","sdkVersion","getUpdatesEnabled","updates","enabled","getUpdatesTimeout","fallbackToCacheTimeout","getUpdatesCheckOnLaunch","checkAutomatically","androidManifest","username","mainApplication","ENABLED","String","CHECK_ON_LAUNCH","LAUNCH_WAIT_MS","updateUrl","UPDATE_URL","setVersionsConfig","runtimeVersion","SDK_VERSION","RUNTIME_VERSION","ensureBuildGradleContainsConfigurationScript","projectRoot","buildGradleContents","isBuildGradleConfigured","cleanedUpBuildGradleContents","isBuildGradleMisconfigured","split","some","line","includes","replace","RegExp","gradleScriptApply","formatApplyLineForBuildGradle","updatesGradleScriptPath","resolveFrom","silent","Error","relativePath","path","relative","join","posixPath","process","platform","androidBuildScript","isMainApplicationMetaDataSet","Boolean","isMainApplicationMetaDataSynced","areVersionsSynced","expectedRuntimeVersion","expectedSdkVersion","currentRuntimeVersion","currentSdkVersion"],"mappings":"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","sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidManifest } from '../plugins/android-plugins';\nimport { ExpoConfigUpdates, getRuntimeVersionNullable, getUpdateUrl } from '../utils/Updates';\nimport {\n addMetaDataItemToMainApplication,\n AndroidManifest,\n getMainApplicationMetaDataValue,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\n\nconst CREATE_MANIFEST_ANDROID_PATH = 'expo-updates/scripts/create-manifest-android.gradle';\n\nexport enum Config {\n ENABLED = 'expo.modules.updates.ENABLED',\n CHECK_ON_LAUNCH = 'expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH',\n LAUNCH_WAIT_MS = 'expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS',\n SDK_VERSION = 'expo.modules.updates.EXPO_SDK_VERSION',\n RUNTIME_VERSION = 'expo.modules.updates.EXPO_RUNTIME_VERSION',\n UPDATE_URL = 'expo.modules.updates.EXPO_UPDATE_URL',\n RELEASE_CHANNEL = 'expo.modules.updates.EXPO_RELEASE_CHANNEL',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'expo.modules.updates.UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY',\n}\n\nexport const withUpdates: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withAndroidManifest(config, config => {\n config.modResults = setUpdatesConfig(config, config.modResults, expoUsername);\n return config;\n });\n};\n\nexport function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null {\n return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;\n}\n\nexport function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean {\n return config.updates?.enabled !== false;\n}\n\nexport function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>): number {\n return config.updates?.fallbackToCacheTimeout ?? 0;\n}\n\nexport function getUpdatesCheckOnLaunch(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): 'NEVER' | 'ALWAYS' {\n if (config.updates?.checkAutomatically === 'ON_ERROR_RECOVERY') {\n return 'NEVER';\n } else if (config.updates?.checkAutomatically === 'ON_LOAD') {\n return 'ALWAYS';\n }\n return 'ALWAYS';\n}\n\nexport function setUpdatesConfig(\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.ENABLED,\n String(getUpdatesEnabled(config))\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.CHECK_ON_LAUNCH,\n getUpdatesCheckOnLaunch(config)\n );\n addMetaDataItemToMainApplication(\n mainApplication,\n Config.LAUNCH_WAIT_MS,\n String(getUpdatesTimeout(config))\n );\n\n const updateUrl = getUpdateUrl(config, username);\n if (updateUrl) {\n addMetaDataItemToMainApplication(mainApplication, Config.UPDATE_URL, updateUrl);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.UPDATE_URL);\n }\n\n return setVersionsConfig(config, androidManifest);\n}\n\nexport function setVersionsConfig(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n androidManifest: AndroidManifest\n): AndroidManifest {\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n const runtimeVersion = getRuntimeVersionNullable(config, 'android');\n const sdkVersion = getSDKVersion(config);\n if (runtimeVersion) {\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.RUNTIME_VERSION, runtimeVersion);\n } else if (sdkVersion) {\n /**\n * runtime version maybe null in projects using classic updates. In that\n * case we use SDK version\n */\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n addMetaDataItemToMainApplication(mainApplication, Config.SDK_VERSION, sdkVersion);\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, Config.RUNTIME_VERSION);\n removeMetaDataItemFromMainApplication(mainApplication, Config.SDK_VERSION);\n }\n\n return androidManifest;\n}\nexport function ensureBuildGradleContainsConfigurationScript(\n projectRoot: string,\n buildGradleContents: string\n): string {\n if (!isBuildGradleConfigured(projectRoot, buildGradleContents)) {\n let cleanedUpBuildGradleContents;\n\n const isBuildGradleMisconfigured = buildGradleContents\n .split('\\n')\n .some(line => line.includes(CREATE_MANIFEST_ANDROID_PATH));\n if (isBuildGradleMisconfigured) {\n cleanedUpBuildGradleContents = buildGradleContents.replace(\n new RegExp(`(\\n// Integration with Expo updates)?\\n.*${CREATE_MANIFEST_ANDROID_PATH}.*\\n`),\n ''\n );\n } else {\n cleanedUpBuildGradleContents = buildGradleContents;\n }\n\n const gradleScriptApply = formatApplyLineForBuildGradle(projectRoot);\n return `${cleanedUpBuildGradleContents}\\n// Integration with Expo updates\\n${gradleScriptApply}\\n`;\n } else {\n return buildGradleContents;\n }\n}\n\nexport function formatApplyLineForBuildGradle(projectRoot: string): string {\n const updatesGradleScriptPath = resolveFrom.silent(projectRoot, CREATE_MANIFEST_ANDROID_PATH);\n\n if (!updatesGradleScriptPath) {\n throw new Error(\n \"Could not find the build script for Android. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.\"\n );\n }\n\n const relativePath = path.relative(\n path.join(projectRoot, 'android', 'app'),\n updatesGradleScriptPath\n );\n const posixPath = process.platform === 'win32' ? relativePath.replace(/\\\\/g, '/') : relativePath;\n\n return `apply from: \"${posixPath}\"`;\n}\n\nexport function isBuildGradleConfigured(projectRoot: string, buildGradleContents: string): boolean {\n const androidBuildScript = formatApplyLineForBuildGradle(projectRoot);\n\n return (\n buildGradleContents\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some(line => line === androidBuildScript || line === androidBuildScript.replace(/\"/g, \"'\"))\n );\n}\n\nexport function isMainApplicationMetaDataSet(androidManifest: AndroidManifest): boolean {\n const updateUrl = getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL);\n const runtimeVersion = getMainApplicationMetaDataValue(androidManifest, Config.RUNTIME_VERSION);\n const sdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n return Boolean(updateUrl && (sdkVersion || runtimeVersion));\n}\n\nexport function isMainApplicationMetaDataSynced(\n config: ExpoConfigUpdates,\n androidManifest: AndroidManifest,\n username: string | null\n): boolean {\n return (\n getUpdateUrl(config, username) ===\n getMainApplicationMetaDataValue(androidManifest, Config.UPDATE_URL) &&\n String(getUpdatesEnabled(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.ENABLED) &&\n String(getUpdatesTimeout(config)) ===\n getMainApplicationMetaDataValue(androidManifest, Config.LAUNCH_WAIT_MS) &&\n getUpdatesCheckOnLaunch(config) ===\n getMainApplicationMetaDataValue(androidManifest, Config.CHECK_ON_LAUNCH) &&\n areVersionsSynced(config, androidManifest)\n );\n}\n\nexport function areVersionsSynced(\n config: Pick<ExpoConfigUpdates, 'runtimeVersion' | 'sdkVersion'>,\n androidManifest: AndroidManifest\n): boolean {\n const expectedRuntimeVersion = getRuntimeVersionNullable(config, 'android');\n const expectedSdkVersion = getSDKVersion(config);\n\n const currentRuntimeVersion = getMainApplicationMetaDataValue(\n androidManifest,\n Config.RUNTIME_VERSION\n );\n const currentSdkVersion = getMainApplicationMetaDataValue(androidManifest, Config.SDK_VERSION);\n\n if (expectedRuntimeVersion !== null) {\n return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;\n } else if (expectedSdkVersion !== null) {\n return currentSdkVersion === expectedSdkVersion && currentRuntimeVersion === null;\n } else {\n return true;\n }\n}\n"],"file":"Updates.js"}
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getVersionName = getVersionName;
7
- exports.setVersionName = setVersionName;
8
6
  exports.getVersionCode = getVersionCode;
7
+ exports.getVersionName = getVersionName;
9
8
  exports.setVersionCode = setVersionCode;
9
+ exports.setVersionName = setVersionName;
10
10
  exports.withVersion = void 0;
11
11
 
12
12
  function _androidPlugins() {
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setWindowSoftInputModeMode = setWindowSoftInputModeMode;
7
6
  exports.getWindowSoftInputModeMode = getWindowSoftInputModeMode;
7
+ exports.setWindowSoftInputModeMode = setWindowSoftInputModeMode;
8
8
  exports.withWindowSoftInputMode = void 0;
9
9
 
10
10
  function _androidPlugins() {
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.findNewInstanceCodeBlock = findNewInstanceCodeBlock;
7
- exports.appendContentsInsideDeclarationBlock = appendContentsInsideDeclarationBlock;
8
6
  exports.addImports = addImports;
7
+ exports.appendContentsInsideDeclarationBlock = appendContentsInsideDeclarationBlock;
8
+ exports.findNewInstanceCodeBlock = findNewInstanceCodeBlock;
9
9
 
10
10
  function _commonCodeMod() {
11
11
  const data = require("../utils/commonCodeMod");
@@ -7,7 +7,6 @@ import * as IntentFilters from './IntentFilters';
7
7
  import * as JsEngine from './JsEngine';
8
8
  import * as Manifest from './Manifest';
9
9
  import * as Name from './Name';
10
- import * as NavigationBar from './NavigationBar';
11
10
  import * as Orientation from './Orientation';
12
11
  import * as Package from './Package';
13
12
  import * as Paths from './Paths';
@@ -15,14 +14,12 @@ import * as Permissions from './Permissions';
15
14
  import * as PrimaryColor from './PrimaryColor';
16
15
  import * as Properties from './Properties';
17
16
  import * as Resources from './Resources';
18
- import * as RootViewBackgroundColor from './RootViewBackgroundColor';
19
17
  import * as Scheme from './Scheme';
20
18
  import * as StatusBar from './StatusBar';
21
19
  import * as Strings from './Strings';
22
20
  import * as Styles from './Styles';
23
21
  import * as Updates from './Updates';
24
- import * as UserInterfaceStyle from './UserInterfaceStyle';
25
22
  import * as Version from './Version';
26
23
  import * as WindowSoftInputMode from './WindowSoftInputMode';
27
24
  export { Manifest, Colors, Paths, Permissions, Properties, Resources, Scheme, Strings, Styles };
28
- export { AllowBackup, EasBuild, GoogleMapsApiKey, GoogleServices, IntentFilters, Name, NavigationBar, Orientation, Package, PrimaryColor, RootViewBackgroundColor, StatusBar, Updates, UserInterfaceStyle, Version, JsEngine, WindowSoftInputMode, };
25
+ export { AllowBackup, EasBuild, GoogleMapsApiKey, GoogleServices, IntentFilters, Name, Orientation, Package, PrimaryColor, StatusBar, Updates, Version, JsEngine, WindowSoftInputMode, };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WindowSoftInputMode = exports.Version = exports.UserInterfaceStyle = exports.Updates = exports.Styles = exports.Strings = exports.StatusBar = exports.Scheme = exports.RootViewBackgroundColor = exports.Resources = exports.Properties = exports.PrimaryColor = exports.Permissions = exports.Paths = exports.Package = exports.Orientation = exports.NavigationBar = exports.Name = exports.Manifest = exports.JsEngine = exports.IntentFilters = exports.GoogleServices = exports.GoogleMapsApiKey = exports.EasBuild = exports.Colors = exports.AllowBackup = void 0;
6
+ exports.WindowSoftInputMode = exports.Version = exports.Updates = exports.Styles = exports.Strings = exports.StatusBar = exports.Scheme = exports.Resources = exports.Properties = exports.PrimaryColor = exports.Permissions = exports.Paths = exports.Package = exports.Orientation = exports.Name = exports.Manifest = exports.JsEngine = exports.IntentFilters = exports.GoogleServices = exports.GoogleMapsApiKey = exports.EasBuild = exports.Colors = exports.AllowBackup = void 0;
7
7
 
8
8
  function AllowBackup() {
9
9
  const data = _interopRequireWildcard(require("./AllowBackup"));
@@ -158,23 +158,6 @@ Object.defineProperty(exports, "Name", {
158
158
  }
159
159
  });
160
160
 
161
- function NavigationBar() {
162
- const data = _interopRequireWildcard(require("./NavigationBar"));
163
-
164
- NavigationBar = function () {
165
- return data;
166
- };
167
-
168
- return data;
169
- }
170
-
171
- Object.defineProperty(exports, "NavigationBar", {
172
- enumerable: true,
173
- get: function () {
174
- return NavigationBar();
175
- }
176
- });
177
-
178
161
  function Orientation() {
179
162
  const data = _interopRequireWildcard(require("./Orientation"));
180
163
 
@@ -294,23 +277,6 @@ Object.defineProperty(exports, "Resources", {
294
277
  }
295
278
  });
296
279
 
297
- function RootViewBackgroundColor() {
298
- const data = _interopRequireWildcard(require("./RootViewBackgroundColor"));
299
-
300
- RootViewBackgroundColor = function () {
301
- return data;
302
- };
303
-
304
- return data;
305
- }
306
-
307
- Object.defineProperty(exports, "RootViewBackgroundColor", {
308
- enumerable: true,
309
- get: function () {
310
- return RootViewBackgroundColor();
311
- }
312
- });
313
-
314
280
  function Scheme() {
315
281
  const data = _interopRequireWildcard(require("./Scheme"));
316
282
 
@@ -396,23 +362,6 @@ Object.defineProperty(exports, "Updates", {
396
362
  }
397
363
  });
398
364
 
399
- function UserInterfaceStyle() {
400
- const data = _interopRequireWildcard(require("./UserInterfaceStyle"));
401
-
402
- UserInterfaceStyle = function () {
403
- return data;
404
- };
405
-
406
- return data;
407
- }
408
-
409
- Object.defineProperty(exports, "UserInterfaceStyle", {
410
- enumerable: true,
411
- get: function () {
412
- return UserInterfaceStyle();
413
- }
414
- });
415
-
416
365
  function Version() {
417
366
  const data = _interopRequireWildcard(require("./Version"));
418
367
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/android/index.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["import * as AllowBackup from './AllowBackup';\nimport * as Colors from './Colors';\nimport * as EasBuild from './EasBuild';\nimport * as GoogleMapsApiKey from './GoogleMapsApiKey';\nimport * as GoogleServices from './GoogleServices';\nimport * as IntentFilters from './IntentFilters';\nimport * as JsEngine from './JsEngine';\nimport * as Manifest from './Manifest';\nimport * as Name from './Name';\nimport * as NavigationBar from './NavigationBar';\nimport * as Orientation from './Orientation';\nimport * as Package from './Package';\nimport * as Paths from './Paths';\nimport * as Permissions from './Permissions';\nimport * as PrimaryColor from './PrimaryColor';\nimport * as Properties from './Properties';\nimport * as Resources from './Resources';\nimport * as RootViewBackgroundColor from './RootViewBackgroundColor';\nimport * as Scheme from './Scheme';\nimport * as StatusBar from './StatusBar';\nimport * as Strings from './Strings';\nimport * as Styles from './Styles';\nimport * as Updates from './Updates';\nimport * as UserInterfaceStyle from './UserInterfaceStyle';\nimport * as Version from './Version';\nimport * as WindowSoftInputMode from './WindowSoftInputMode';\n\nexport { Manifest, Colors, Paths, Permissions, Properties, Resources, Scheme, Strings, Styles };\n\nexport {\n AllowBackup,\n EasBuild,\n GoogleMapsApiKey,\n GoogleServices,\n IntentFilters,\n Name,\n NavigationBar,\n Orientation,\n Package,\n PrimaryColor,\n RootViewBackgroundColor,\n StatusBar,\n Updates,\n UserInterfaceStyle,\n Version,\n JsEngine,\n WindowSoftInputMode,\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/android/index.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["import * as AllowBackup from './AllowBackup';\nimport * as Colors from './Colors';\nimport * as EasBuild from './EasBuild';\nimport * as GoogleMapsApiKey from './GoogleMapsApiKey';\nimport * as GoogleServices from './GoogleServices';\nimport * as IntentFilters from './IntentFilters';\nimport * as JsEngine from './JsEngine';\nimport * as Manifest from './Manifest';\nimport * as Name from './Name';\nimport * as Orientation from './Orientation';\nimport * as Package from './Package';\nimport * as Paths from './Paths';\nimport * as Permissions from './Permissions';\nimport * as PrimaryColor from './PrimaryColor';\nimport * as Properties from './Properties';\nimport * as Resources from './Resources';\nimport * as Scheme from './Scheme';\nimport * as StatusBar from './StatusBar';\nimport * as Strings from './Strings';\nimport * as Styles from './Styles';\nimport * as Updates from './Updates';\nimport * as Version from './Version';\nimport * as WindowSoftInputMode from './WindowSoftInputMode';\n\nexport { Manifest, Colors, Paths, Permissions, Properties, Resources, Scheme, Strings, Styles };\n\nexport {\n AllowBackup,\n EasBuild,\n GoogleMapsApiKey,\n GoogleServices,\n IntentFilters,\n Name,\n Orientation,\n Package,\n PrimaryColor,\n StatusBar,\n Updates,\n Version,\n JsEngine,\n WindowSoftInputMode,\n};\n"],"file":"index.js"}
package/build/index.js CHANGED
@@ -39,16 +39,18 @@ var _exportNames = {
39
39
  evalModsAsync: true,
40
40
  PluginError: true
41
41
  };
42
- Object.defineProperty(exports, "withPlugins", {
42
+ exports.IOSConfig = exports.History = exports.BaseMods = exports.AndroidConfig = void 0;
43
+ Object.defineProperty(exports, "PluginError", {
43
44
  enumerable: true,
44
45
  get: function () {
45
- return _withPlugins().withPlugins;
46
+ return _errors().PluginError;
46
47
  }
47
48
  });
48
- Object.defineProperty(exports, "withRunOnce", {
49
+ exports.XML = exports.WarningAggregator = exports.Updates = void 0;
50
+ Object.defineProperty(exports, "compileModsAsync", {
49
51
  enumerable: true,
50
52
  get: function () {
51
- return _withRunOnce().withRunOnce;
53
+ return _modCompiler().compileModsAsync;
52
54
  }
53
55
  });
54
56
  Object.defineProperty(exports, "createRunOncePlugin", {
@@ -57,151 +59,150 @@ Object.defineProperty(exports, "createRunOncePlugin", {
57
59
  return _withRunOnce().createRunOncePlugin;
58
60
  }
59
61
  });
60
- Object.defineProperty(exports, "withDangerousMod", {
62
+ Object.defineProperty(exports, "evalModsAsync", {
61
63
  enumerable: true,
62
64
  get: function () {
63
- return _withDangerousMod().withDangerousMod;
65
+ return _modCompiler().evalModsAsync;
64
66
  }
65
67
  });
66
- Object.defineProperty(exports, "withMod", {
68
+ Object.defineProperty(exports, "withAndroidColors", {
67
69
  enumerable: true,
68
70
  get: function () {
69
- return _withMod().withMod;
71
+ return _androidPlugins().withAndroidColors;
70
72
  }
71
73
  });
72
- Object.defineProperty(exports, "withBaseMod", {
74
+ Object.defineProperty(exports, "withAndroidColorsNight", {
73
75
  enumerable: true,
74
76
  get: function () {
75
- return _withMod().withBaseMod;
77
+ return _androidPlugins().withAndroidColorsNight;
76
78
  }
77
79
  });
78
- Object.defineProperty(exports, "withAppDelegate", {
80
+ Object.defineProperty(exports, "withAndroidManifest", {
79
81
  enumerable: true,
80
82
  get: function () {
81
- return _iosPlugins().withAppDelegate;
83
+ return _androidPlugins().withAndroidManifest;
82
84
  }
83
85
  });
84
- Object.defineProperty(exports, "withInfoPlist", {
86
+ Object.defineProperty(exports, "withAndroidStyles", {
85
87
  enumerable: true,
86
88
  get: function () {
87
- return _iosPlugins().withInfoPlist;
89
+ return _androidPlugins().withAndroidStyles;
88
90
  }
89
91
  });
90
- Object.defineProperty(exports, "withEntitlementsPlist", {
92
+ Object.defineProperty(exports, "withAppBuildGradle", {
91
93
  enumerable: true,
92
94
  get: function () {
93
- return _iosPlugins().withEntitlementsPlist;
95
+ return _androidPlugins().withAppBuildGradle;
94
96
  }
95
97
  });
96
- Object.defineProperty(exports, "withExpoPlist", {
98
+ Object.defineProperty(exports, "withAppDelegate", {
97
99
  enumerable: true,
98
100
  get: function () {
99
- return _iosPlugins().withExpoPlist;
101
+ return _iosPlugins().withAppDelegate;
100
102
  }
101
103
  });
102
- Object.defineProperty(exports, "withXcodeProject", {
104
+ Object.defineProperty(exports, "withBaseMod", {
103
105
  enumerable: true,
104
106
  get: function () {
105
- return _iosPlugins().withXcodeProject;
107
+ return _withMod().withBaseMod;
106
108
  }
107
109
  });
108
- Object.defineProperty(exports, "withAndroidManifest", {
110
+ Object.defineProperty(exports, "withDangerousMod", {
109
111
  enumerable: true,
110
112
  get: function () {
111
- return _androidPlugins().withAndroidManifest;
113
+ return _withDangerousMod().withDangerousMod;
112
114
  }
113
115
  });
114
- Object.defineProperty(exports, "withStringsXml", {
116
+ Object.defineProperty(exports, "withDefaultBaseMods", {
115
117
  enumerable: true,
116
118
  get: function () {
117
- return _androidPlugins().withStringsXml;
119
+ return _modCompiler().withDefaultBaseMods;
118
120
  }
119
121
  });
120
- Object.defineProperty(exports, "withAndroidColors", {
122
+ Object.defineProperty(exports, "withEntitlementsPlist", {
121
123
  enumerable: true,
122
124
  get: function () {
123
- return _androidPlugins().withAndroidColors;
125
+ return _iosPlugins().withEntitlementsPlist;
124
126
  }
125
127
  });
126
- Object.defineProperty(exports, "withAndroidColorsNight", {
128
+ Object.defineProperty(exports, "withExpoPlist", {
127
129
  enumerable: true,
128
130
  get: function () {
129
- return _androidPlugins().withAndroidColorsNight;
131
+ return _iosPlugins().withExpoPlist;
130
132
  }
131
133
  });
132
- Object.defineProperty(exports, "withAndroidStyles", {
134
+ Object.defineProperty(exports, "withGradleProperties", {
133
135
  enumerable: true,
134
136
  get: function () {
135
- return _androidPlugins().withAndroidStyles;
137
+ return _androidPlugins().withGradleProperties;
136
138
  }
137
139
  });
138
- Object.defineProperty(exports, "withMainActivity", {
140
+ Object.defineProperty(exports, "withInfoPlist", {
139
141
  enumerable: true,
140
142
  get: function () {
141
- return _androidPlugins().withMainActivity;
143
+ return _iosPlugins().withInfoPlist;
142
144
  }
143
145
  });
144
- Object.defineProperty(exports, "withMainApplication", {
146
+ Object.defineProperty(exports, "withMainActivity", {
145
147
  enumerable: true,
146
148
  get: function () {
147
- return _androidPlugins().withMainApplication;
149
+ return _androidPlugins().withMainActivity;
148
150
  }
149
151
  });
150
- Object.defineProperty(exports, "withProjectBuildGradle", {
152
+ Object.defineProperty(exports, "withMainApplication", {
151
153
  enumerable: true,
152
154
  get: function () {
153
- return _androidPlugins().withProjectBuildGradle;
155
+ return _androidPlugins().withMainApplication;
154
156
  }
155
157
  });
156
- Object.defineProperty(exports, "withAppBuildGradle", {
158
+ Object.defineProperty(exports, "withMod", {
157
159
  enumerable: true,
158
160
  get: function () {
159
- return _androidPlugins().withAppBuildGradle;
161
+ return _withMod().withMod;
160
162
  }
161
163
  });
162
- Object.defineProperty(exports, "withSettingsGradle", {
164
+ Object.defineProperty(exports, "withPlugins", {
163
165
  enumerable: true,
164
166
  get: function () {
165
- return _androidPlugins().withSettingsGradle;
167
+ return _withPlugins().withPlugins;
166
168
  }
167
169
  });
168
- Object.defineProperty(exports, "withGradleProperties", {
170
+ Object.defineProperty(exports, "withProjectBuildGradle", {
169
171
  enumerable: true,
170
172
  get: function () {
171
- return _androidPlugins().withGradleProperties;
173
+ return _androidPlugins().withProjectBuildGradle;
172
174
  }
173
175
  });
174
- Object.defineProperty(exports, "withStaticPlugin", {
176
+ Object.defineProperty(exports, "withRunOnce", {
175
177
  enumerable: true,
176
178
  get: function () {
177
- return _withStaticPlugin().withStaticPlugin;
179
+ return _withRunOnce().withRunOnce;
178
180
  }
179
181
  });
180
- Object.defineProperty(exports, "compileModsAsync", {
182
+ Object.defineProperty(exports, "withSettingsGradle", {
181
183
  enumerable: true,
182
184
  get: function () {
183
- return _modCompiler().compileModsAsync;
185
+ return _androidPlugins().withSettingsGradle;
184
186
  }
185
187
  });
186
- Object.defineProperty(exports, "withDefaultBaseMods", {
188
+ Object.defineProperty(exports, "withStaticPlugin", {
187
189
  enumerable: true,
188
190
  get: function () {
189
- return _modCompiler().withDefaultBaseMods;
191
+ return _withStaticPlugin().withStaticPlugin;
190
192
  }
191
193
  });
192
- Object.defineProperty(exports, "evalModsAsync", {
194
+ Object.defineProperty(exports, "withStringsXml", {
193
195
  enumerable: true,
194
196
  get: function () {
195
- return _modCompiler().evalModsAsync;
197
+ return _androidPlugins().withStringsXml;
196
198
  }
197
199
  });
198
- Object.defineProperty(exports, "PluginError", {
200
+ Object.defineProperty(exports, "withXcodeProject", {
199
201
  enumerable: true,
200
202
  get: function () {
201
- return _errors().PluginError;
203
+ return _iosPlugins().withXcodeProject;
202
204
  }
203
205
  });
204
- exports.Updates = exports.WarningAggregator = exports.History = exports.XML = exports.IOSConfig = exports.AndroidConfig = exports.BaseMods = void 0;
205
206
 
206
207
  function AndroidConfig() {
207
208
  const data = _interopRequireWildcard(require("./android"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["BaseMods","withGeneratedBaseMods","provider","withAndroidBaseMods","getAndroidModFileProviders","withIosBaseMods","getIosModFileProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAQA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAcA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AA1DA;AACA;AACA;AAUA;;AAOA;AACA;AACA;AAuCO,MAAMA,QAAQ,GAAG;AACtBC,EAAAA,qBAAqB,EAArBA,sCADsB;AAEtBC,EAAAA,QAAQ,EAARA,yBAFsB;AAGtBC,EAAAA,mBAAmB,EAAnBA,0CAHsB;AAItBC,EAAAA,0BAA0B,EAA1BA,iDAJsB;AAKtBC,EAAAA,eAAe,EAAfA,kCALsB;AAMtBC,EAAAA,sBAAsB,EAAtBA;AANsB,CAAjB","sourcesContent":["/**\n * For internal use in Expo CLI\n */\nimport * as AndroidConfig from './android';\nimport * as IOSConfig from './ios';\nimport { provider, withGeneratedBaseMods } from './plugins/createBaseMod';\nimport { getAndroidModFileProviders, withAndroidBaseMods } from './plugins/withAndroidBaseMods';\nimport { getIosModFileProviders, withIosBaseMods } from './plugins/withIosBaseMods';\nimport * as XML from './utils/XML';\nimport * as History from './utils/history';\nimport * as WarningAggregator from './utils/warnings';\n\n// TODO: Remove\nexport * as Updates from './utils/Updates';\n\nexport { IOSConfig, AndroidConfig };\n\nexport { WarningAggregator, History, XML };\n\n/**\n * These are the \"config-plugins\"\n */\n\nexport * from './Plugin.types';\n\nexport { withPlugins } from './plugins/withPlugins';\n\nexport { withRunOnce, createRunOncePlugin } from './plugins/withRunOnce';\n\nexport { withDangerousMod } from './plugins/withDangerousMod';\nexport { withMod, withBaseMod } from './plugins/withMod';\n\nexport {\n withAppDelegate,\n withInfoPlist,\n withEntitlementsPlist,\n withExpoPlist,\n withXcodeProject,\n} from './plugins/ios-plugins';\n\nexport {\n withAndroidManifest,\n withStringsXml,\n withAndroidColors,\n withAndroidColorsNight,\n withAndroidStyles,\n withMainActivity,\n withMainApplication,\n withProjectBuildGradle,\n withAppBuildGradle,\n withSettingsGradle,\n withGradleProperties,\n} from './plugins/android-plugins';\n\nexport { withStaticPlugin } from './plugins/withStaticPlugin';\n\nexport { compileModsAsync, withDefaultBaseMods, evalModsAsync } from './plugins/mod-compiler';\n\nexport { PluginError } from './utils/errors';\n\nexport const BaseMods = {\n withGeneratedBaseMods,\n provider,\n withAndroidBaseMods,\n getAndroidModFileProviders,\n withIosBaseMods,\n getIosModFileProviders,\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["BaseMods","withGeneratedBaseMods","provider","withAndroidBaseMods","getAndroidModFileProviders","withIosBaseMods","getIosModFileProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAQA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAcA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AA1DA;AACA;AACA;AAUA;;AAOA;AACA;AACA;AAuCO,MAAMA,QAAQ,GAAG;AACtBC,EAAAA,qBAAqB,EAArBA,sCADsB;AAEtBC,EAAAA,QAAQ,EAARA,yBAFsB;AAGtBC,EAAAA,mBAAmB,EAAnBA,0CAHsB;AAItBC,EAAAA,0BAA0B,EAA1BA,iDAJsB;AAKtBC,EAAAA,eAAe,EAAfA,kCALsB;AAMtBC,EAAAA,sBAAsB,EAAtBA;AANsB,CAAjB","sourcesContent":["/**\n * For internal use in Expo CLI\n */\nimport * as AndroidConfig from './android';\nimport * as IOSConfig from './ios';\nimport { provider, withGeneratedBaseMods } from './plugins/createBaseMod';\nimport { getAndroidModFileProviders, withAndroidBaseMods } from './plugins/withAndroidBaseMods';\nimport { getIosModFileProviders, withIosBaseMods } from './plugins/withIosBaseMods';\nimport * as XML from './utils/XML';\nimport * as History from './utils/history';\nimport * as WarningAggregator from './utils/warnings';\n\n// TODO: Remove\nexport * as Updates from './utils/Updates';\n\nexport { IOSConfig, AndroidConfig };\n\nexport { WarningAggregator, History, XML };\n\n/**\n * These are the \"config-plugins\"\n */\n\nexport * from './Plugin.types';\n\nexport { withPlugins } from './plugins/withPlugins';\n\nexport { withRunOnce, createRunOncePlugin } from './plugins/withRunOnce';\n\nexport { withDangerousMod } from './plugins/withDangerousMod';\nexport { withMod, withBaseMod } from './plugins/withMod';\n\nexport {\n withAppDelegate,\n withInfoPlist,\n withEntitlementsPlist,\n withExpoPlist,\n withXcodeProject,\n} from './plugins/ios-plugins';\n\nexport {\n withAndroidManifest,\n withStringsXml,\n withAndroidColors,\n withAndroidColorsNight,\n withAndroidStyles,\n withMainActivity,\n withMainApplication,\n withProjectBuildGradle,\n withAppBuildGradle,\n withSettingsGradle,\n withGradleProperties,\n} from './plugins/android-plugins';\n\nexport { withStaticPlugin } from './plugins/withStaticPlugin';\n\nexport { compileModsAsync, withDefaultBaseMods, evalModsAsync } from './plugins/mod-compiler';\n\nexport { PluginError } from './utils/errors';\n\nexport const BaseMods = {\n withGeneratedBaseMods,\n provider,\n withAndroidBaseMods,\n getAndroidModFileProviders,\n withIosBaseMods,\n getIosModFileProviders,\n};\n"],"file":"index.js"}
@@ -0,0 +1,33 @@
1
+ import { ExpoConfig } from '@expo/config-types';
2
+ import { XcodeProject } from 'xcode';
3
+ import { ConfigPlugin } from '../Plugin.types';
4
+ declare type Bitcode = NonNullable<ExpoConfig['ios']>['bitcode'];
5
+ /**
6
+ * Plugin to set a bitcode preference for the Xcode project
7
+ * based on the project's Expo config `ios.bitcode` value.
8
+ */
9
+ export declare const withBitcode: ConfigPlugin;
10
+ /**
11
+ * Plugin to set a custom bitcode preference for the Xcode project.
12
+ * Does not read from the Expo config `ios.bitcode`.
13
+ *
14
+ * @param bitcode custom bitcode setting.
15
+ */
16
+ export declare const withCustomBitcode: ConfigPlugin<Bitcode>;
17
+ /**
18
+ * Get the bitcode preference from the Expo config.
19
+ */
20
+ export declare function getBitcode(config: Pick<ExpoConfig, 'ios'>): Bitcode;
21
+ /**
22
+ * Enable or disable the `ENABLE_BITCODE` property of the project configurations.
23
+ */
24
+ export declare function setBitcodeWithConfig(config: Pick<ExpoConfig, 'ios'>, { project }: {
25
+ project: XcodeProject;
26
+ }): XcodeProject;
27
+ /**
28
+ * Enable or disable the `ENABLE_BITCODE` property.
29
+ */
30
+ export declare function setBitcode(bitcode: Bitcode, { project }: {
31
+ project: XcodeProject;
32
+ }): XcodeProject;
33
+ export {};
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getBitcode = getBitcode;
7
+ exports.setBitcode = setBitcode;
8
+ exports.setBitcodeWithConfig = setBitcodeWithConfig;
9
+ exports.withCustomBitcode = exports.withBitcode = void 0;
10
+
11
+ function _iosPlugins() {
12
+ const data = require("../plugins/ios-plugins");
13
+
14
+ _iosPlugins = function () {
15
+ return data;
16
+ };
17
+
18
+ return data;
19
+ }
20
+
21
+ function _warnings() {
22
+ const data = require("../utils/warnings");
23
+
24
+ _warnings = function () {
25
+ return data;
26
+ };
27
+
28
+ return data;
29
+ }
30
+
31
+ function _Xcodeproj() {
32
+ const data = require("./utils/Xcodeproj");
33
+
34
+ _Xcodeproj = function () {
35
+ return data;
36
+ };
37
+
38
+ return data;
39
+ }
40
+
41
+ /**
42
+ * Plugin to set a bitcode preference for the Xcode project
43
+ * based on the project's Expo config `ios.bitcode` value.
44
+ */
45
+ const withBitcode = config => {
46
+ return (0, _iosPlugins().withXcodeProject)(config, async config => {
47
+ config.modResults = await setBitcodeWithConfig(config, {
48
+ project: config.modResults
49
+ });
50
+ return config;
51
+ });
52
+ };
53
+ /**
54
+ * Plugin to set a custom bitcode preference for the Xcode project.
55
+ * Does not read from the Expo config `ios.bitcode`.
56
+ *
57
+ * @param bitcode custom bitcode setting.
58
+ */
59
+
60
+
61
+ exports.withBitcode = withBitcode;
62
+
63
+ const withCustomBitcode = (config, bitcode) => {
64
+ return (0, _iosPlugins().withXcodeProject)(config, async config => {
65
+ config.modResults = await setBitcode(bitcode, {
66
+ project: config.modResults
67
+ });
68
+ return config;
69
+ });
70
+ };
71
+ /**
72
+ * Get the bitcode preference from the Expo config.
73
+ */
74
+
75
+
76
+ exports.withCustomBitcode = withCustomBitcode;
77
+
78
+ function getBitcode(config) {
79
+ var _config$ios;
80
+
81
+ return (_config$ios = config.ios) === null || _config$ios === void 0 ? void 0 : _config$ios.bitcode;
82
+ }
83
+ /**
84
+ * Enable or disable the `ENABLE_BITCODE` property of the project configurations.
85
+ */
86
+
87
+
88
+ function setBitcodeWithConfig(config, {
89
+ project
90
+ }) {
91
+ const bitcode = getBitcode(config);
92
+ return setBitcode(bitcode, {
93
+ project
94
+ });
95
+ }
96
+ /**
97
+ * Enable or disable the `ENABLE_BITCODE` property.
98
+ */
99
+
100
+
101
+ function setBitcode(bitcode, {
102
+ project
103
+ }) {
104
+ const isDefaultBehavior = bitcode == null; // If the value is undefined, then do nothing.
105
+
106
+ if (isDefaultBehavior) {
107
+ return project;
108
+ }
109
+
110
+ const targetName = typeof bitcode === 'string' ? bitcode : undefined;
111
+ const isBitcodeEnabled = !!bitcode;
112
+
113
+ if (targetName) {
114
+ // Assert if missing
115
+ const configs = Object.entries(project.pbxXCBuildConfigurationSection()).filter(_Xcodeproj().isNotComment);
116
+ const hasConfiguration = configs.find(([, configuration]) => configuration.name === targetName);
117
+
118
+ if (hasConfiguration) {
119
+ // If targetName is defined then disable bitcode everywhere.
120
+ project.addBuildProperty('ENABLE_BITCODE', 'NO');
121
+ } else {
122
+ const names = [// Remove duplicates, wrap in double quotes, and sort alphabetically.
123
+ ...new Set(configs.map(([, configuration]) => `"${configuration.name}"`))].sort();
124
+ (0, _warnings().addWarningIOS)('ios.bitcode', `No configuration named "${targetName}". Expected one of: ${names.join(', ')}.`);
125
+ }
126
+ }
127
+
128
+ project.addBuildProperty('ENABLE_BITCODE', isBitcodeEnabled ? 'YES' : 'NO', targetName);
129
+ return project;
130
+ }
131
+ //# sourceMappingURL=Bitcode.js.map