@expo/prebuild-config 57.0.3 → 57.0.5

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 (47) hide show
  1. package/build/getAutolinkedPackages.js +1 -3
  2. package/build/getAutolinkedPackages.js.map +1 -1
  3. package/build/getPrebuildConfig.js +1 -3
  4. package/build/getPrebuildConfig.js.map +1 -1
  5. package/build/index.js +4 -15
  6. package/build/index.js.map +1 -1
  7. package/build/plugins/icons/AssetContents.js +1 -3
  8. package/build/plugins/icons/AssetContents.js.map +1 -1
  9. package/build/plugins/icons/withAndroidIcons.js +1 -3
  10. package/build/plugins/icons/withAndroidIcons.js.map +1 -1
  11. package/build/plugins/icons/withAndroidManifestIcons.js +1 -3
  12. package/build/plugins/icons/withAndroidManifestIcons.js.map +1 -1
  13. package/build/plugins/icons/withIosIcons.js +1 -3
  14. package/build/plugins/icons/withIosIcons.js.map +1 -1
  15. package/build/plugins/unversioned/createLegacyPlugin.js +1 -3
  16. package/build/plugins/unversioned/createLegacyPlugin.js.map +1 -1
  17. package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js +1 -3
  18. package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js.map +1 -1
  19. package/build/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.js +1 -3
  20. package/build/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.js.map +1 -1
  21. package/build/plugins/unversioned/expo-apple-authentication.js +1 -3
  22. package/build/plugins/unversioned/expo-apple-authentication.js.map +1 -1
  23. package/build/plugins/unversioned/expo-contacts.js +1 -3
  24. package/build/plugins/unversioned/expo-contacts.js.map +1 -1
  25. package/build/plugins/unversioned/expo-document-picker.js +1 -3
  26. package/build/plugins/unversioned/expo-document-picker.js.map +1 -1
  27. package/build/plugins/unversioned/expo-inline-modules/withInlineModules.js +1 -3
  28. package/build/plugins/unversioned/expo-inline-modules/withInlineModules.js.map +1 -1
  29. package/build/plugins/unversioned/expo-notifications/expo-notifications.js +1 -3
  30. package/build/plugins/unversioned/expo-notifications/expo-notifications.js.map +1 -1
  31. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js +1 -3
  32. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js.map +1 -1
  33. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js +1 -3
  34. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js.map +1 -1
  35. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js +1 -3
  36. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js.map +1 -1
  37. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js +1 -3
  38. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js.map +1 -1
  39. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js +1 -3
  40. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js.map +1 -1
  41. package/build/plugins/unversioned/expo-updates.js +1 -3
  42. package/build/plugins/unversioned/expo-updates.js.map +1 -1
  43. package/build/plugins/unversioned/react-native-maps.js +1 -3
  44. package/build/plugins/unversioned/react-native-maps.js.map +1 -1
  45. package/build/plugins/withDefaultPlugins.js +1 -3
  46. package/build/plugins/withDefaultPlugins.js.map +1 -1
  47. package/package.json +6 -6
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getAutolinkedPackagesAsync = getAutolinkedPackagesAsync;
7
5
  exports.resolvePackagesList = resolvePackagesList;
8
6
  exports.shouldSkipAutoPlugin = shouldSkipAutoPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"getAutolinkedPackages.js","names":["_exports","data","require","getAutolinkedPackagesAsync","projectRoot","platforms","linker","makeCachedDependenciesLinker","dependenciesPerPlatform","Promise","all","map","platform","scanExpoModuleResolutionsForPlatform","resolvePackagesList","platformPaths","allPlatformPaths","paths","Object","keys","flat","uniquePaths","Set","sort","shouldSkipAutoPlugin","config","plugin","Array","isArray","_internal","autolinkedModules","pluginId","isIncluded","includes"],"sources":["../src/getAutolinkedPackages.ts"],"sourcesContent":["import type { ModPlatform, StaticPlugin } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\nimport {\n makeCachedDependenciesLinker,\n scanExpoModuleResolutionsForPlatform,\n} from 'expo-modules-autolinking/exports';\n\n/**\n * Returns a list of packages that are autolinked to a project.\n *\n * @param projectRoot\n * @param platforms platforms to check for\n * @returns list of packages ex: `['expo-camera', 'react-native-screens']`\n */\nexport async function getAutolinkedPackagesAsync(\n projectRoot: string,\n platforms: ModPlatform[] = ['ios', 'android']\n) {\n const linker = makeCachedDependenciesLinker({ projectRoot });\n const dependenciesPerPlatform = await Promise.all(\n platforms.map((platform) => {\n return scanExpoModuleResolutionsForPlatform(linker, platform);\n })\n );\n return resolvePackagesList(dependenciesPerPlatform);\n}\n\nexport function resolvePackagesList(platformPaths: Record<string, any>[]) {\n const allPlatformPaths = platformPaths.map((paths) => Object.keys(paths)).flat();\n\n const uniquePaths = [...new Set(allPlatformPaths)];\n\n return uniquePaths.sort();\n}\n\nexport function shouldSkipAutoPlugin(\n config: Pick<ExpoConfig, '_internal'>,\n plugin: StaticPlugin | string\n) {\n // Hack workaround because expo-dev-client doesn't use expo modules.\n if (plugin === 'expo-dev-client') {\n return false;\n }\n\n // Only perform the check if `autolinkedModules` is defined, otherwise we assume\n // this is a legacy runner which doesn't support autolinking.\n if (Array.isArray(config._internal?.autolinkedModules)) {\n // Resolve the pluginId as a string.\n const pluginId = Array.isArray(plugin) ? plugin[0] : plugin;\n if (typeof pluginId === 'string') {\n // Determine if the autolinked modules list includes our moduleId\n const isIncluded = config._internal!.autolinkedModules.includes(pluginId);\n if (!isIncluded) {\n // If it doesn't then we know that any potential plugin shouldn't be applied automatically.\n return true;\n }\n }\n }\n return false;\n}\n"],"mappings":";;;;;;;;AAEA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeE,0BAA0BA,CAC9CC,WAAmB,EACnBC,SAAwB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAC7C;EACA,MAAMC,MAAM,GAAG,IAAAC,uCAA4B,EAAC;IAAEH;EAAY,CAAC,CAAC;EAC5D,MAAMI,uBAAuB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC/CL,SAAS,CAACM,GAAG,CAAEC,QAAQ,IAAK;IAC1B,OAAO,IAAAC,+CAAoC,EAACP,MAAM,EAAEM,QAAQ,CAAC;EAC/D,CAAC,CACH,CAAC;EACD,OAAOE,mBAAmB,CAACN,uBAAuB,CAAC;AACrD;AAEO,SAASM,mBAAmBA,CAACC,aAAoC,EAAE;EACxE,MAAMC,gBAAgB,GAAGD,aAAa,CAACJ,GAAG,CAAEM,KAAK,IAAKC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;EAEhF,MAAMC,WAAW,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACN,gBAAgB,CAAC,CAAC;EAElD,OAAOK,WAAW,CAACE,IAAI,CAAC,CAAC;AAC3B;AAEO,SAASC,oBAAoBA,CAClCC,MAAqC,EACrCC,MAA6B,EAC7B;EACA;EACA,IAAIA,MAAM,KAAK,iBAAiB,EAAE;IAChC,OAAO,KAAK;EACd;;EAEA;EACA;EACA,IAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAACI,SAAS,EAAEC,iBAAiB,CAAC,EAAE;IACtD;IACA,MAAMC,QAAQ,GAAGJ,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM;IAC3D,IAAI,OAAOK,QAAQ,KAAK,QAAQ,EAAE;MAChC;MACA,MAAMC,UAAU,GAAGP,MAAM,CAACI,SAAS,CAAEC,iBAAiB,CAACG,QAAQ,CAACF,QAAQ,CAAC;MACzE,IAAI,CAACC,UAAU,EAAE;QACf;QACA,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"file":"getAutolinkedPackages.js","names":["_exports","data","require","getAutolinkedPackagesAsync","projectRoot","platforms","linker","makeCachedDependenciesLinker","dependenciesPerPlatform","Promise","all","map","platform","scanExpoModuleResolutionsForPlatform","resolvePackagesList","platformPaths","allPlatformPaths","paths","Object","keys","flat","uniquePaths","Set","sort","shouldSkipAutoPlugin","config","plugin","Array","isArray","_internal","autolinkedModules","pluginId","isIncluded","includes"],"sources":["../src/getAutolinkedPackages.ts"],"sourcesContent":["import type { ModPlatform, StaticPlugin } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\nimport {\n makeCachedDependenciesLinker,\n scanExpoModuleResolutionsForPlatform,\n} from 'expo-modules-autolinking/exports';\n\n/**\n * Returns a list of packages that are autolinked to a project.\n *\n * @param projectRoot\n * @param platforms platforms to check for\n * @returns list of packages ex: `['expo-camera', 'react-native-screens']`\n */\nexport async function getAutolinkedPackagesAsync(\n projectRoot: string,\n platforms: ModPlatform[] = ['ios', 'android']\n) {\n const linker = makeCachedDependenciesLinker({ projectRoot });\n const dependenciesPerPlatform = await Promise.all(\n platforms.map((platform) => {\n return scanExpoModuleResolutionsForPlatform(linker, platform);\n })\n );\n return resolvePackagesList(dependenciesPerPlatform);\n}\n\nexport function resolvePackagesList(platformPaths: Record<string, any>[]) {\n const allPlatformPaths = platformPaths.map((paths) => Object.keys(paths)).flat();\n\n const uniquePaths = [...new Set(allPlatformPaths)];\n\n return uniquePaths.sort();\n}\n\nexport function shouldSkipAutoPlugin(\n config: Pick<ExpoConfig, '_internal'>,\n plugin: StaticPlugin | string\n) {\n // Hack workaround because expo-dev-client doesn't use expo modules.\n if (plugin === 'expo-dev-client') {\n return false;\n }\n\n // Only perform the check if `autolinkedModules` is defined, otherwise we assume\n // this is a legacy runner which doesn't support autolinking.\n if (Array.isArray(config._internal?.autolinkedModules)) {\n // Resolve the pluginId as a string.\n const pluginId = Array.isArray(plugin) ? plugin[0] : plugin;\n if (typeof pluginId === 'string') {\n // Determine if the autolinked modules list includes our moduleId\n const isIncluded = config._internal!.autolinkedModules.includes(pluginId);\n if (!isIncluded) {\n // If it doesn't then we know that any potential plugin shouldn't be applied automatically.\n return true;\n }\n }\n }\n return false;\n}\n"],"mappings":";;;;;;AAEA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeE,0BAA0BA,CAC9CC,WAAmB,EACnBC,SAAwB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAC7C;EACA,MAAMC,MAAM,GAAG,IAAAC,uCAA4B,EAAC;IAAEH;EAAY,CAAC,CAAC;EAC5D,MAAMI,uBAAuB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC/CL,SAAS,CAACM,GAAG,CAAEC,QAAQ,IAAK;IAC1B,OAAO,IAAAC,+CAAoC,EAACP,MAAM,EAAEM,QAAQ,CAAC;EAC/D,CAAC,CACH,CAAC;EACD,OAAOE,mBAAmB,CAACN,uBAAuB,CAAC;AACrD;AAEO,SAASM,mBAAmBA,CAACC,aAAoC,EAAE;EACxE,MAAMC,gBAAgB,GAAGD,aAAa,CAACJ,GAAG,CAAEM,KAAK,IAAKC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;EAEhF,MAAMC,WAAW,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACN,gBAAgB,CAAC,CAAC;EAElD,OAAOK,WAAW,CAACE,IAAI,CAAC,CAAC;AAC3B;AAEO,SAASC,oBAAoBA,CAClCC,MAAqC,EACrCC,MAA6B,EAC7B;EACA;EACA,IAAIA,MAAM,KAAK,iBAAiB,EAAE;IAChC,OAAO,KAAK;EACd;;EAEA;EACA;EACA,IAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAACI,SAAS,EAAEC,iBAAiB,CAAC,EAAE;IACtD;IACA,MAAMC,QAAQ,GAAGJ,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM;IAC3D,IAAI,OAAOK,QAAQ,KAAK,QAAQ,EAAE;MAChC;MACA,MAAMC,UAAU,GAAGP,MAAM,CAACI,SAAS,CAAEC,iBAAiB,CAACG,QAAQ,CAACF,QAAQ,CAAC;MACzE,IAAI,CAACC,UAAU,EAAE;QACf;QACA,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getPrebuildConfigAsync = getPrebuildConfigAsync;
7
5
  function _config() {
8
6
  const data = require("@expo/config");
@@ -1 +1 @@
1
- {"version":3,"file":"getPrebuildConfig.js","names":["_config","data","require","_getAutolinkedPackages","_withDefaultPlugins","getPrebuildConfigAsync","projectRoot","props","autolinkedModules","getAutolinkedPackagesAsync","platforms","getPrebuildConfig","bundleIdentifier","packageName","exp","config","rest","getConfig","skipSDKVersionRequirement","isModdedConfig","_internal","withVersionedExpoSDKPlugins","withLegacyExpoPlugins","includes","ios","withIosExpoPlugins","android","package","withAndroidExpoPlugins"],"sources":["../src/getPrebuildConfig.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport type { ModPlatform } from '@expo/config-plugins';\n\nimport { getAutolinkedPackagesAsync } from './getAutolinkedPackages';\nimport {\n withAndroidExpoPlugins,\n withIosExpoPlugins,\n withLegacyExpoPlugins,\n withVersionedExpoSDKPlugins,\n} from './plugins/withDefaultPlugins';\n\nexport async function getPrebuildConfigAsync(\n projectRoot: string,\n props: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n }\n): Promise<ReturnType<typeof getConfig>> {\n const autolinkedModules = await getAutolinkedPackagesAsync(projectRoot, props.platforms);\n\n return getPrebuildConfig(projectRoot, {\n ...props,\n autolinkedModules,\n });\n}\n\nfunction getPrebuildConfig(\n projectRoot: string,\n {\n platforms,\n bundleIdentifier,\n packageName,\n autolinkedModules,\n }: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n autolinkedModules?: string[];\n }\n) {\n // let config: ExpoConfig;\n let { exp: config, ...rest } = getConfig(projectRoot, {\n skipSDKVersionRequirement: true,\n isModdedConfig: true,\n });\n\n if (autolinkedModules) {\n if (!config._internal) {\n config._internal = {};\n }\n config._internal.autolinkedModules = autolinkedModules;\n }\n\n // Add all built-in plugins first because they should take\n // priority over the unversioned plugins.\n config = withVersionedExpoSDKPlugins(config);\n config = withLegacyExpoPlugins(config);\n\n if (platforms.includes('ios')) {\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier =\n bundleIdentifier ?? config.ios.bundleIdentifier ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withIosExpoPlugins(config, {\n bundleIdentifier: config.ios.bundleIdentifier,\n });\n }\n\n if (platforms.includes('android')) {\n if (!config.android) config.android = {};\n config.android.package = packageName ?? config.android.package ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withAndroidExpoPlugins(config, {\n package: config.android.package,\n projectRoot,\n });\n }\n\n return { exp: config, ...rest };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,uBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,sBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,oBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,mBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOO,eAAeI,sBAAsBA,CAC1CC,WAAmB,EACnBC,KAIC,EACsC;EACvC,MAAMC,iBAAiB,GAAG,MAAM,IAAAC,mDAA0B,EAACH,WAAW,EAAEC,KAAK,CAACG,SAAS,CAAC;EAExF,OAAOC,iBAAiB,CAACL,WAAW,EAAE;IACpC,GAAGC,KAAK;IACRC;EACF,CAAC,CAAC;AACJ;AAEA,SAASG,iBAAiBA,CACxBL,WAAmB,EACnB;EACEI,SAAS;EACTE,gBAAgB;EAChBC,WAAW;EACXL;AAMF,CAAC,EACD;EACA;EACA,IAAI;IAAEM,GAAG,EAAEC,MAAM;IAAE,GAAGC;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAACX,WAAW,EAAE;IACpDY,yBAAyB,EAAE,IAAI;IAC/BC,cAAc,EAAE;EAClB,CAAC,CAAC;EAEF,IAAIX,iBAAiB,EAAE;IACrB,IAAI,CAACO,MAAM,CAACK,SAAS,EAAE;MACrBL,MAAM,CAACK,SAAS,GAAG,CAAC,CAAC;IACvB;IACAL,MAAM,CAACK,SAAS,CAACZ,iBAAiB,GAAGA,iBAAiB;EACxD;;EAEA;EACA;EACAO,MAAM,GAAG,IAAAM,iDAA2B,EAACN,MAAM,CAAC;EAC5CA,MAAM,GAAG,IAAAO,2CAAqB,EAACP,MAAM,CAAC;EAEtC,IAAIL,SAAS,CAACa,QAAQ,CAAC,KAAK,CAAC,EAAE;IAC7B,IAAI,CAACR,MAAM,CAACS,GAAG,EAAET,MAAM,CAACS,GAAG,GAAG,CAAC,CAAC;IAChCT,MAAM,CAACS,GAAG,CAACZ,gBAAgB,GACzBA,gBAAgB,IAAIG,MAAM,CAACS,GAAG,CAACZ,gBAAgB,IAAI,uBAAuB;;IAE5E;IACAG,MAAM,GAAG,IAAAU,wCAAkB,EAACV,MAAM,EAAE;MAClCH,gBAAgB,EAAEG,MAAM,CAACS,GAAG,CAACZ;IAC/B,CAAC,CAAC;EACJ;EAEA,IAAIF,SAAS,CAACa,QAAQ,CAAC,SAAS,CAAC,EAAE;IACjC,IAAI,CAACR,MAAM,CAACW,OAAO,EAAEX,MAAM,CAACW,OAAO,GAAG,CAAC,CAAC;IACxCX,MAAM,CAACW,OAAO,CAACC,OAAO,GAAGd,WAAW,IAAIE,MAAM,CAACW,OAAO,CAACC,OAAO,IAAI,uBAAuB;;IAEzF;IACAZ,MAAM,GAAG,IAAAa,4CAAsB,EAACb,MAAM,EAAE;MACtCY,OAAO,EAAEZ,MAAM,CAACW,OAAO,CAACC,OAAO;MAC/BrB;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEQ,GAAG,EAAEC,MAAM;IAAE,GAAGC;EAAK,CAAC;AACjC","ignoreList":[]}
1
+ {"version":3,"file":"getPrebuildConfig.js","names":["_config","data","require","_getAutolinkedPackages","_withDefaultPlugins","getPrebuildConfigAsync","projectRoot","props","autolinkedModules","getAutolinkedPackagesAsync","platforms","getPrebuildConfig","bundleIdentifier","packageName","exp","config","rest","getConfig","skipSDKVersionRequirement","isModdedConfig","_internal","withVersionedExpoSDKPlugins","withLegacyExpoPlugins","includes","ios","withIosExpoPlugins","android","package","withAndroidExpoPlugins"],"sources":["../src/getPrebuildConfig.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport type { ModPlatform } from '@expo/config-plugins';\n\nimport { getAutolinkedPackagesAsync } from './getAutolinkedPackages';\nimport {\n withAndroidExpoPlugins,\n withIosExpoPlugins,\n withLegacyExpoPlugins,\n withVersionedExpoSDKPlugins,\n} from './plugins/withDefaultPlugins';\n\nexport async function getPrebuildConfigAsync(\n projectRoot: string,\n props: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n }\n): Promise<ReturnType<typeof getConfig>> {\n const autolinkedModules = await getAutolinkedPackagesAsync(projectRoot, props.platforms);\n\n return getPrebuildConfig(projectRoot, {\n ...props,\n autolinkedModules,\n });\n}\n\nfunction getPrebuildConfig(\n projectRoot: string,\n {\n platforms,\n bundleIdentifier,\n packageName,\n autolinkedModules,\n }: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n autolinkedModules?: string[];\n }\n) {\n // let config: ExpoConfig;\n let { exp: config, ...rest } = getConfig(projectRoot, {\n skipSDKVersionRequirement: true,\n isModdedConfig: true,\n });\n\n if (autolinkedModules) {\n if (!config._internal) {\n config._internal = {};\n }\n config._internal.autolinkedModules = autolinkedModules;\n }\n\n // Add all built-in plugins first because they should take\n // priority over the unversioned plugins.\n config = withVersionedExpoSDKPlugins(config);\n config = withLegacyExpoPlugins(config);\n\n if (platforms.includes('ios')) {\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier =\n bundleIdentifier ?? config.ios.bundleIdentifier ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withIosExpoPlugins(config, {\n bundleIdentifier: config.ios.bundleIdentifier,\n });\n }\n\n if (platforms.includes('android')) {\n if (!config.android) config.android = {};\n config.android.package = packageName ?? config.android.package ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withAndroidExpoPlugins(config, {\n package: config.android.package,\n projectRoot,\n });\n }\n\n return { exp: config, ...rest };\n}\n"],"mappings":";;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,uBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,sBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,oBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,mBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOO,eAAeI,sBAAsBA,CAC1CC,WAAmB,EACnBC,KAIC,EACsC;EACvC,MAAMC,iBAAiB,GAAG,MAAM,IAAAC,mDAA0B,EAACH,WAAW,EAAEC,KAAK,CAACG,SAAS,CAAC;EAExF,OAAOC,iBAAiB,CAACL,WAAW,EAAE;IACpC,GAAGC,KAAK;IACRC;EACF,CAAC,CAAC;AACJ;AAEA,SAASG,iBAAiBA,CACxBL,WAAmB,EACnB;EACEI,SAAS;EACTE,gBAAgB;EAChBC,WAAW;EACXL;AAMF,CAAC,EACD;EACA;EACA,IAAI;IAAEM,GAAG,EAAEC,MAAM;IAAE,GAAGC;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAACX,WAAW,EAAE;IACpDY,yBAAyB,EAAE,IAAI;IAC/BC,cAAc,EAAE;EAClB,CAAC,CAAC;EAEF,IAAIX,iBAAiB,EAAE;IACrB,IAAI,CAACO,MAAM,CAACK,SAAS,EAAE;MACrBL,MAAM,CAACK,SAAS,GAAG,CAAC,CAAC;IACvB;IACAL,MAAM,CAACK,SAAS,CAACZ,iBAAiB,GAAGA,iBAAiB;EACxD;;EAEA;EACA;EACAO,MAAM,GAAG,IAAAM,iDAA2B,EAACN,MAAM,CAAC;EAC5CA,MAAM,GAAG,IAAAO,2CAAqB,EAACP,MAAM,CAAC;EAEtC,IAAIL,SAAS,CAACa,QAAQ,CAAC,KAAK,CAAC,EAAE;IAC7B,IAAI,CAACR,MAAM,CAACS,GAAG,EAAET,MAAM,CAACS,GAAG,GAAG,CAAC,CAAC;IAChCT,MAAM,CAACS,GAAG,CAACZ,gBAAgB,GACzBA,gBAAgB,IAAIG,MAAM,CAACS,GAAG,CAACZ,gBAAgB,IAAI,uBAAuB;;IAE5E;IACAG,MAAM,GAAG,IAAAU,wCAAkB,EAACV,MAAM,EAAE;MAClCH,gBAAgB,EAAEG,MAAM,CAACS,GAAG,CAACZ;IAC/B,CAAC,CAAC;EACJ;EAEA,IAAIF,SAAS,CAACa,QAAQ,CAAC,SAAS,CAAC,EAAE;IACjC,IAAI,CAACR,MAAM,CAACW,OAAO,EAAEX,MAAM,CAACW,OAAO,GAAG,CAAC,CAAC;IACxCX,MAAM,CAACW,OAAO,CAACC,OAAO,GAAGd,WAAW,IAAIE,MAAM,CAACW,OAAO,CAACC,OAAO,IAAI,uBAAuB;;IAEzF;IACAZ,MAAM,GAAG,IAAAa,4CAAsB,EAACb,MAAM,EAAE;MACtCY,OAAO,EAAEZ,MAAM,CAACW,OAAO,CAACC,OAAO;MAC/BrB;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEQ,GAAG,EAAEC,MAAM;IAAE,GAAGC;EAAK,CAAC;AACjC","ignoreList":[]}
package/build/index.js CHANGED
@@ -1,17 +1,10 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  var _exportNames = {
7
5
  getPrebuildConfigAsync: true
8
6
  };
9
- Object.defineProperty(exports, "getPrebuildConfigAsync", {
10
- enumerable: true,
11
- get: function () {
12
- return _getPrebuildConfig().getPrebuildConfigAsync;
13
- }
14
- });
7
+ exports.getPrebuildConfigAsync = void 0;
15
8
  function _getPrebuildConfig() {
16
9
  const data = require("./getPrebuildConfig");
17
10
  _getPrebuildConfig = function () {
@@ -19,16 +12,12 @@ function _getPrebuildConfig() {
19
12
  };
20
13
  return data;
21
14
  }
15
+ exports.getPrebuildConfigAsync = _getPrebuildConfig().getPrebuildConfigAsync;
22
16
  var _withDefaultPlugins = require("./plugins/withDefaultPlugins");
23
17
  Object.keys(_withDefaultPlugins).forEach(function (key) {
24
18
  if (key === "default" || key === "__esModule") return;
25
19
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
20
  if (key in exports && exports[key] === _withDefaultPlugins[key]) return;
27
- Object.defineProperty(exports, key, {
28
- enumerable: true,
29
- get: function () {
30
- return _withDefaultPlugins[key];
31
- }
32
- });
21
+ exports[key] = _withDefaultPlugins[key];
33
22
  });
34
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getPrebuildConfig","data","require","_withDefaultPlugins","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../src/index.ts"],"sourcesContent":["export { getPrebuildConfigAsync } from './getPrebuildConfig';\nexport * from './plugins/withDefaultPlugins';\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAE,mBAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,mBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,mBAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,mBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_getPrebuildConfig","data","require","exports","getPrebuildConfigAsync","_withDefaultPlugins","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames"],"sources":["../src/index.ts"],"sourcesContent":["export { getPrebuildConfigAsync } from './getPrebuildConfig';\nexport * from './plugins/withDefaultPlugins';\n"],"mappings":";;;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6DE,OAAA,CAAAC,sBAAA,GAAAJ,kBAAA,GAAAI,sBAAA;AAC7D,IAAAC,mBAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,mBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAN,OAAA,IAAAA,OAAA,CAAAM,GAAA,MAAAJ,mBAAA,CAAAI,GAAA;EAAAN,OAAA,CAAAM,GAAA,IAAAJ,mBAAA,CAAAI,GAAA;AAAA","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.writeContentsJsonAsync = writeContentsJsonAsync;
7
5
  function _fs() {
8
6
  const data = _interopRequireDefault(require("fs"));
@@ -1 +1 @@
1
- {"version":3,"file":"AssetContents.js","names":["_fs","data","_interopRequireDefault","require","_path","e","__esModule","default","writeContentsJsonAsync","directory","images","fs","promises","mkdir","recursive","writeFile","join","JSON","stringify","info","version","author"],"sources":["../../../src/plugins/icons/AssetContents.ts"],"sourcesContent":["import fs from 'fs';\nimport { join } from 'path';\n\nexport type ContentsJsonImageIdiom =\n | 'iphone'\n | 'ipad'\n | 'watchos'\n | 'ios'\n | 'ios-marketing'\n | 'universal';\n\nexport type ContentsJsonImageAppearanceLuminosityType = 'light' | 'dark' | 'tinted';\n\nexport type ContentsJsonAppearance = {\n appearance: 'luminosity';\n value: ContentsJsonImageAppearanceLuminosityType;\n};\n\nexport type ContentsJsonImageScale = '1x' | '2x' | '3x';\n\nexport interface ContentsJsonImage {\n appearances?: ContentsJsonAppearance[];\n idiom: ContentsJsonImageIdiom;\n size?: string;\n scale?: ContentsJsonImageScale;\n filename?: string;\n platform?: ContentsJsonImageIdiom;\n}\n\nexport interface ContentsJsonColor {\n appearances?: ContentsJsonAppearance[];\n idiom: ContentsJsonImageIdiom;\n color: {\n 'color-space': 'srgb';\n components: {\n alpha: string;\n blue: string;\n green: string;\n red: string;\n };\n };\n}\n\nexport interface ContentsJson {\n images: ContentsJsonImage[];\n colors: ContentsJsonColor[];\n info: {\n version: number;\n author: string;\n };\n}\n\n/**\n * Writes the Config.json which is used to assign images to their respective platform, dpi, and idiom.\n *\n * @param directory path to add the Contents.json to.\n * @param contents image json data\n */\nexport async function writeContentsJsonAsync(\n directory: string,\n { images }: Pick<ContentsJson, 'images'>\n): Promise<void> {\n await fs.promises.mkdir(directory, { recursive: true });\n await fs.promises.writeFile(\n join(directory, 'Contents.json'),\n JSON.stringify(\n {\n images,\n info: {\n version: 1,\n // common practice is for the tool that generated the icons to be the \"author\"\n author: 'expo',\n },\n },\n null,\n 2\n )\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAmD5B;AACA;AACA;AACA;AACA;AACA;AACO,eAAeG,sBAAsBA,CAC1CC,SAAiB,EACjB;EAAEC;AAAqC,CAAC,EACzB;EACf,MAAMC,aAAE,CAACC,QAAQ,CAACC,KAAK,CAACJ,SAAS,EAAE;IAAEK,SAAS,EAAE;EAAK,CAAC,CAAC;EACvD,MAAMH,aAAE,CAACC,QAAQ,CAACG,SAAS,CACzB,IAAAC,YAAI,EAACP,SAAS,EAAE,eAAe,CAAC,EAChCQ,IAAI,CAACC,SAAS,CACZ;IACER,MAAM;IACNS,IAAI,EAAE;MACJC,OAAO,EAAE,CAAC;MACV;MACAC,MAAM,EAAE;IACV;EACF,CAAC,EACD,IAAI,EACJ,CACF,CACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"AssetContents.js","names":["_fs","data","_interopRequireDefault","require","_path","e","__esModule","default","writeContentsJsonAsync","directory","images","fs","promises","mkdir","recursive","writeFile","join","JSON","stringify","info","version","author"],"sources":["../../../src/plugins/icons/AssetContents.ts"],"sourcesContent":["import fs from 'fs';\nimport { join } from 'path';\n\nexport type ContentsJsonImageIdiom =\n | 'iphone'\n | 'ipad'\n | 'watchos'\n | 'ios'\n | 'ios-marketing'\n | 'universal';\n\nexport type ContentsJsonImageAppearanceLuminosityType = 'light' | 'dark' | 'tinted';\n\nexport type ContentsJsonAppearance = {\n appearance: 'luminosity';\n value: ContentsJsonImageAppearanceLuminosityType;\n};\n\nexport type ContentsJsonImageScale = '1x' | '2x' | '3x';\n\nexport interface ContentsJsonImage {\n appearances?: ContentsJsonAppearance[];\n idiom: ContentsJsonImageIdiom;\n size?: string;\n scale?: ContentsJsonImageScale;\n filename?: string;\n platform?: ContentsJsonImageIdiom;\n}\n\nexport interface ContentsJsonColor {\n appearances?: ContentsJsonAppearance[];\n idiom: ContentsJsonImageIdiom;\n color: {\n 'color-space': 'srgb';\n components: {\n alpha: string;\n blue: string;\n green: string;\n red: string;\n };\n };\n}\n\nexport interface ContentsJson {\n images: ContentsJsonImage[];\n colors: ContentsJsonColor[];\n info: {\n version: number;\n author: string;\n };\n}\n\n/**\n * Writes the Config.json which is used to assign images to their respective platform, dpi, and idiom.\n *\n * @param directory path to add the Contents.json to.\n * @param contents image json data\n */\nexport async function writeContentsJsonAsync(\n directory: string,\n { images }: Pick<ContentsJson, 'images'>\n): Promise<void> {\n await fs.promises.mkdir(directory, { recursive: true });\n await fs.promises.writeFile(\n join(directory, 'Contents.json'),\n JSON.stringify(\n {\n images,\n info: {\n version: 1,\n // common practice is for the tool that generated the icons to be the \"author\"\n author: 'expo',\n },\n },\n null,\n 2\n )\n );\n}\n"],"mappings":";;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAmD5B;AACA;AACA;AACA;AACA;AACA;AACO,eAAeG,sBAAsBA,CAC1CC,SAAiB,EACjB;EAAEC;AAAqC,CAAC,EACzB;EACf,MAAMC,aAAE,CAACC,QAAQ,CAACC,KAAK,CAACJ,SAAS,EAAE;IAAEK,SAAS,EAAE;EAAK,CAAC,CAAC;EACvD,MAAMH,aAAE,CAACC,QAAQ,CAACG,SAAS,CACzB,IAAAC,YAAI,EAACP,SAAS,EAAE,eAAe,CAAC,EAChCQ,IAAI,CAACC,SAAS,CACZ;IACER,MAAM;IACNS,IAAI,EAAE;MACJC,OAAO,EAAE,CAAC;MACV;MACAC,MAAM,EAAE;IACV;EACF,CAAC,EACD,IAAI,EACJ,CACF,CACF,CAAC;AACH","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.ANDROID_RES_PATH = void 0;
7
5
  exports.configureAdaptiveIconAsync = configureAdaptiveIconAsync;
8
6
  exports.dpiValues = exports.createAdaptiveIconXmlString = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidIcons.js","names":["_configPlugins","data","require","_imageUtils","_fs","_interopRequireDefault","_path","_withAndroidManifestIcons","e","__esModule","default","Colors","AndroidConfig","dpiValues","exports","mdpi","folderName","scale","hdpi","xhdpi","xxhdpi","xxxhdpi","LEGACY_BASELINE_PIXEL_SIZE","ADAPTIVE_BASELINE_PIXEL_SIZE","ANDROID_RES_PATH","MIPMAP_ANYDPI_V26","ICON_BACKGROUND","IC_LAUNCHER_WEBP","IC_LAUNCHER_ROUND_WEBP","IC_LAUNCHER_BACKGROUND_WEBP","IC_LAUNCHER_FOREGROUND_WEBP","IC_LAUNCHER_MONOCHROME_WEBP","IC_LAUNCHER_XML","IC_LAUNCHER_ROUND_XML","withAndroidIcons","config","foregroundImage","backgroundColor","backgroundImage","monochromeImage","getAdaptiveIcon","icon","getIcon","hasIcon","withAndroidManifestIcons","withAndroidAdaptiveIconColors","withDangerousMod","setIconAsync","modRequest","projectRoot","isAdaptive","android","adaptiveIcon","setRoundIconManifest","manifest","application","Manifest","getMainApplicationOrThrow","$","withAndroidColors","modResults","setBackgroundColor","legacyIcon","adaptiveForegroundImage","legacyBackgroundImage","legacyBackgroundColor","configureLegacyIconAsync","generateRoundIconAsync","deleteIconNamedAsync","configureAdaptiveIconAsync","generateMultiLayerImageAsync","outputImageFileName","imageCacheFolder","backgroundImageCacheFolder","borderRadiusRatio","generateMonochromeImageAsync","backgroundImageFileName","icLauncherXmlString","createAdaptiveIconXmlString","createAdaptiveIconXmlFiles","colors","assignColorValue","value","name","background","iconElements","push","join","add","anyDpiV26Directory","path","resolve","fs","promises","mkdir","recursive","launcherPath","launcherRoundPath","Promise","all","writeFile","map","rm","force","iterateDpiValues","dpiFolder","iconLayer","generateIconAsync","cacheType","src","backgroundLayer","compositeImagesAsync","foreground","monochromeIcon","callback","Object","values","iconSizePx","generateImageAsync","width","height","resizeMode","borderRadius","undefined","source"],"sources":["../../../src/plugins/icons/withAndroidIcons.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, withAndroidColors, withDangerousMod } from '@expo/config-plugins';\nimport type { ResourceXML } from '@expo/config-plugins/build/android/Resources';\nimport type { ExpoConfig } from '@expo/config-types';\nimport { compositeImagesAsync, generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { withAndroidManifestIcons } from './withAndroidManifestIcons';\n\nconst { Colors } = AndroidConfig;\n\ntype DPIString = 'mdpi' | 'hdpi' | 'xhdpi' | 'xxhdpi' | 'xxxhdpi';\ntype dpiMap = Record<DPIString, { folderName: string; scale: number }>;\n\nexport const dpiValues: dpiMap = {\n mdpi: { folderName: 'mipmap-mdpi', scale: 1 },\n hdpi: { folderName: 'mipmap-hdpi', scale: 1.5 },\n xhdpi: { folderName: 'mipmap-xhdpi', scale: 2 },\n xxhdpi: { folderName: 'mipmap-xxhdpi', scale: 3 },\n xxxhdpi: { folderName: 'mipmap-xxxhdpi', scale: 4 },\n};\n\nconst LEGACY_BASELINE_PIXEL_SIZE = 48;\nconst ADAPTIVE_BASELINE_PIXEL_SIZE = 108;\n\nexport const ANDROID_RES_PATH = 'android/app/src/main/res/';\nconst MIPMAP_ANYDPI_V26 = 'mipmap-anydpi-v26';\nconst ICON_BACKGROUND = 'iconBackground';\nconst IC_LAUNCHER_WEBP = 'ic_launcher.webp';\nconst IC_LAUNCHER_ROUND_WEBP = 'ic_launcher_round.webp';\nconst IC_LAUNCHER_BACKGROUND_WEBP = 'ic_launcher_background.webp';\nconst IC_LAUNCHER_FOREGROUND_WEBP = 'ic_launcher_foreground.webp';\nconst IC_LAUNCHER_MONOCHROME_WEBP = 'ic_launcher_monochrome.webp';\nconst IC_LAUNCHER_XML = 'ic_launcher.xml';\nconst IC_LAUNCHER_ROUND_XML = 'ic_launcher_round.xml';\n\nexport const withAndroidIcons: ConfigPlugin = (config) => {\n const { foregroundImage, backgroundColor, backgroundImage, monochromeImage } =\n getAdaptiveIcon(config);\n const icon = getIcon(config);\n const hasIcon = icon ?? foregroundImage;\n\n if (!hasIcon) {\n return config;\n }\n\n config = withAndroidManifestIcons(config);\n // Apply colors.xml changes\n config = withAndroidAdaptiveIconColors(config, backgroundColor);\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n await setIconAsync(config.modRequest.projectRoot, {\n icon,\n foregroundImage,\n backgroundColor,\n backgroundImage,\n monochromeImage,\n isAdaptive: !!config.android?.adaptiveIcon,\n });\n return config;\n },\n ]);\n};\n\nexport function setRoundIconManifest(\n config: Pick<ExpoConfig, 'android'>,\n manifest: AndroidConfig.Manifest.AndroidManifest\n): AndroidConfig.Manifest.AndroidManifest {\n const isAdaptive = !!config.android?.adaptiveIcon;\n const application = AndroidConfig.Manifest.getMainApplicationOrThrow(manifest);\n\n if (isAdaptive) {\n application.$['android:roundIcon'] = '@mipmap/ic_launcher_round';\n } else {\n delete application.$['android:roundIcon'];\n }\n return manifest;\n}\n\nconst withAndroidAdaptiveIconColors: ConfigPlugin<string | null> = (config, backgroundColor) => {\n return withAndroidColors(config, (config) => {\n config.modResults = setBackgroundColor(backgroundColor ?? '#ffffff', config.modResults);\n return config;\n });\n};\n\nexport function getIcon(config: ExpoConfig) {\n return config.android?.icon || config.icon || null;\n}\n\nexport function getAdaptiveIcon(config: ExpoConfig) {\n return {\n foregroundImage: config.android?.adaptiveIcon?.foregroundImage ?? null,\n backgroundColor: config.android?.adaptiveIcon?.backgroundColor ?? null,\n backgroundImage: config.android?.adaptiveIcon?.backgroundImage ?? null,\n monochromeImage: config.android?.adaptiveIcon?.monochromeImage ?? null,\n };\n}\n\n/**\n * Resizes the user-provided icon to create a set of legacy icon files in\n * their respective \"mipmap\" directories for <= Android 7, and creates a set of adaptive\n * icon files for > Android 7 from the adaptive icon files (if provided).\n */\nexport async function setIconAsync(\n projectRoot: string,\n {\n icon,\n foregroundImage,\n backgroundColor,\n backgroundImage,\n monochromeImage,\n isAdaptive,\n }: {\n icon: string | null;\n foregroundImage?: string | null;\n backgroundColor: string | null;\n backgroundImage: string | null;\n monochromeImage: string | null;\n isAdaptive: boolean;\n }\n) {\n const legacyIcon = icon ?? foregroundImage;\n const adaptiveForegroundImage = foregroundImage ?? legacyIcon;\n\n if (!legacyIcon || !adaptiveForegroundImage) {\n return null;\n }\n\n const legacyBackgroundImage = icon ? null : backgroundImage;\n const legacyBackgroundColor = icon ? null : backgroundColor;\n\n await configureLegacyIconAsync(\n projectRoot,\n legacyIcon,\n legacyBackgroundImage,\n legacyBackgroundColor\n );\n if (isAdaptive) {\n await generateRoundIconAsync(\n projectRoot,\n legacyIcon,\n legacyBackgroundImage,\n legacyBackgroundColor\n );\n } else {\n await deleteIconNamedAsync(projectRoot, IC_LAUNCHER_ROUND_WEBP);\n }\n await configureAdaptiveIconAsync(\n projectRoot,\n adaptiveForegroundImage,\n backgroundImage,\n monochromeImage,\n isAdaptive\n );\n\n return true;\n}\n\n/**\n * Configures legacy icon files to be used on Android 7 and earlier. If only adaptive icon\n * configuration was provided, we create a pseudo-adaptive icon by layering the provided files (or\n * background color if no backgroundImage is provided. If no backgroundImage and no backgroundColor\n * are provided, the background is set to transparent.)\n */\nasync function configureLegacyIconAsync(\n projectRoot: string,\n icon: string,\n backgroundImage: string | null,\n backgroundColor: string | null\n) {\n return generateMultiLayerImageAsync(projectRoot, {\n icon,\n backgroundImage,\n backgroundColor,\n outputImageFileName: IC_LAUNCHER_WEBP,\n imageCacheFolder: 'android-standard-square',\n backgroundImageCacheFolder: 'android-standard-square-background',\n });\n}\n\nasync function generateRoundIconAsync(\n projectRoot: string,\n icon: string,\n backgroundImage: string | null,\n backgroundColor: string | null\n) {\n return generateMultiLayerImageAsync(projectRoot, {\n icon,\n borderRadiusRatio: 0.5,\n outputImageFileName: IC_LAUNCHER_ROUND_WEBP,\n backgroundImage,\n backgroundColor,\n imageCacheFolder: 'android-standard-circle',\n backgroundImageCacheFolder: 'android-standard-round-background',\n isAdaptive: false,\n });\n}\n\n/**\n * Configures adaptive icon files to be used on Android 8 and up. A foreground image must be provided,\n * and will have a transparent background unless:\n * - A backgroundImage is provided, or\n * - A backgroundColor was specified\n */\nexport async function configureAdaptiveIconAsync(\n projectRoot: string,\n foregroundImage: string,\n backgroundImage: string | null,\n monochromeImage: string | null,\n isAdaptive: boolean\n) {\n if (monochromeImage) {\n await generateMonochromeImageAsync(projectRoot, {\n icon: monochromeImage,\n imageCacheFolder: 'android-adaptive-monochrome',\n outputImageFileName: IC_LAUNCHER_MONOCHROME_WEBP,\n });\n }\n await generateMultiLayerImageAsync(projectRoot, {\n backgroundColor: 'transparent',\n backgroundImage,\n backgroundImageCacheFolder: 'android-adaptive-background',\n outputImageFileName: IC_LAUNCHER_FOREGROUND_WEBP,\n icon: foregroundImage,\n imageCacheFolder: 'android-adaptive-foreground',\n backgroundImageFileName: IC_LAUNCHER_BACKGROUND_WEBP,\n isAdaptive: true,\n });\n\n // create ic_launcher.xml and ic_launcher_round.xml\n const icLauncherXmlString = createAdaptiveIconXmlString(backgroundImage, monochromeImage);\n await createAdaptiveIconXmlFiles(\n projectRoot,\n icLauncherXmlString,\n // If the user only defined icon and not android.adaptiveIcon, then skip enabling the layering system\n // this will scale the image down and present it uncropped.\n isAdaptive\n );\n}\n\nfunction setBackgroundColor(backgroundColor: string | null, colors: ResourceXML) {\n return Colors.assignColorValue(colors, {\n value: backgroundColor,\n name: ICON_BACKGROUND,\n });\n}\n\nexport const createAdaptiveIconXmlString = (\n backgroundImage: string | null,\n monochromeImage: string | null\n) => {\n const background = backgroundImage ? `@mipmap/ic_launcher_background` : `@color/iconBackground`;\n\n const iconElements: string[] = [\n `<background android:drawable=\"${background}\"/>`,\n '<foreground android:drawable=\"@mipmap/ic_launcher_foreground\"/>',\n ];\n\n if (monochromeImage) {\n iconElements.push('<monochrome android:drawable=\"@mipmap/ic_launcher_monochrome\"/>');\n }\n\n return `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n ${iconElements.join('\\n ')}\n</adaptive-icon>`;\n};\n\nasync function createAdaptiveIconXmlFiles(\n projectRoot: string,\n icLauncherXmlString: string,\n add: boolean\n) {\n const anyDpiV26Directory = path.resolve(projectRoot, ANDROID_RES_PATH, MIPMAP_ANYDPI_V26);\n await fs.promises.mkdir(anyDpiV26Directory, { recursive: true });\n const launcherPath = path.resolve(anyDpiV26Directory, IC_LAUNCHER_XML);\n const launcherRoundPath = path.resolve(anyDpiV26Directory, IC_LAUNCHER_ROUND_XML);\n if (add) {\n await Promise.all([\n fs.promises.writeFile(launcherPath, icLauncherXmlString, 'utf8'),\n fs.promises.writeFile(launcherRoundPath, icLauncherXmlString, 'utf8'),\n ]);\n } else {\n // Remove the xml if the icon switches from adaptive to standard.\n await Promise.all(\n [launcherPath, launcherRoundPath].map(async (path) => {\n return fs.promises.rm(path, { force: true });\n })\n );\n }\n}\n\nasync function generateMultiLayerImageAsync(\n projectRoot: string,\n {\n icon,\n backgroundColor,\n backgroundImage,\n imageCacheFolder,\n backgroundImageCacheFolder,\n borderRadiusRatio,\n outputImageFileName,\n backgroundImageFileName,\n isAdaptive,\n }: {\n icon: string;\n backgroundImage: string | null;\n backgroundColor: string | null;\n imageCacheFolder: string;\n backgroundImageCacheFolder: string;\n backgroundImageFileName?: string;\n borderRadiusRatio?: number;\n outputImageFileName: string;\n isAdaptive?: boolean;\n }\n) {\n await iterateDpiValues(projectRoot, async ({ dpiFolder, scale }) => {\n let iconLayer = await generateIconAsync(projectRoot, {\n cacheType: imageCacheFolder,\n src: icon,\n scale,\n // backgroundImage overrides backgroundColor\n backgroundColor: backgroundImage ? 'transparent' : (backgroundColor ?? 'transparent'),\n borderRadiusRatio,\n isAdaptive,\n });\n\n if (backgroundImage) {\n const backgroundLayer = await generateIconAsync(projectRoot, {\n cacheType: backgroundImageCacheFolder,\n src: backgroundImage,\n scale,\n backgroundColor: 'transparent',\n borderRadiusRatio,\n isAdaptive,\n });\n\n if (backgroundImageFileName) {\n await fs.promises.writeFile(\n path.resolve(dpiFolder, backgroundImageFileName),\n backgroundLayer\n );\n } else {\n iconLayer = await compositeImagesAsync({\n foreground: iconLayer,\n background: backgroundLayer,\n });\n }\n } else if (backgroundImageFileName) {\n // Remove any instances of ic_launcher_background.png that are there from previous icons\n await deleteIconNamedAsync(projectRoot, backgroundImageFileName);\n }\n\n await fs.promises.mkdir(dpiFolder, { recursive: true });\n await fs.promises.writeFile(path.resolve(dpiFolder, outputImageFileName), iconLayer);\n });\n}\n\nasync function generateMonochromeImageAsync(\n projectRoot: string,\n {\n icon,\n imageCacheFolder,\n outputImageFileName,\n }: { icon: string; imageCacheFolder: string; outputImageFileName: string }\n) {\n await iterateDpiValues(projectRoot, async ({ dpiFolder, scale }) => {\n const monochromeIcon = await generateIconAsync(projectRoot, {\n cacheType: imageCacheFolder,\n src: icon,\n scale,\n backgroundColor: 'transparent',\n isAdaptive: true,\n });\n await fs.promises.mkdir(dpiFolder, { recursive: true });\n await fs.promises.writeFile(path.resolve(dpiFolder, outputImageFileName), monochromeIcon);\n });\n}\n\nfunction iterateDpiValues(\n projectRoot: string,\n callback: (value: { dpiFolder: string; folderName: string; scale: number }) => Promise<void>\n) {\n return Promise.all(\n Object.values(dpiValues).map((value) =>\n callback({\n dpiFolder: path.resolve(projectRoot, ANDROID_RES_PATH, value.folderName),\n ...value,\n })\n )\n );\n}\n\nasync function deleteIconNamedAsync(projectRoot: string, name: string) {\n return iterateDpiValues(projectRoot, ({ dpiFolder }) => {\n return fs.promises.rm(path.resolve(dpiFolder, name), { force: true });\n });\n}\n\nasync function generateIconAsync(\n projectRoot: string,\n {\n cacheType,\n src,\n scale,\n backgroundColor,\n borderRadiusRatio,\n isAdaptive,\n }: {\n cacheType: string;\n src: string;\n scale: number;\n backgroundColor: string;\n borderRadiusRatio?: number;\n isAdaptive?: boolean;\n }\n) {\n const iconSizePx =\n (isAdaptive ? ADAPTIVE_BASELINE_PIXEL_SIZE : LEGACY_BASELINE_PIXEL_SIZE) * scale;\n\n return (\n await generateImageAsync(\n { projectRoot, cacheType },\n {\n src,\n width: iconSizePx,\n height: iconSizePx,\n resizeMode: 'cover',\n backgroundColor,\n borderRadius: borderRadiusRatio ? iconSizePx * borderRadiusRatio : undefined,\n }\n )\n ).source;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidIcons.js","names":["_configPlugins","data","require","_imageUtils","_fs","_interopRequireDefault","_path","_withAndroidManifestIcons","e","__esModule","default","Colors","AndroidConfig","dpiValues","exports","mdpi","folderName","scale","hdpi","xhdpi","xxhdpi","xxxhdpi","LEGACY_BASELINE_PIXEL_SIZE","ADAPTIVE_BASELINE_PIXEL_SIZE","ANDROID_RES_PATH","MIPMAP_ANYDPI_V26","ICON_BACKGROUND","IC_LAUNCHER_WEBP","IC_LAUNCHER_ROUND_WEBP","IC_LAUNCHER_BACKGROUND_WEBP","IC_LAUNCHER_FOREGROUND_WEBP","IC_LAUNCHER_MONOCHROME_WEBP","IC_LAUNCHER_XML","IC_LAUNCHER_ROUND_XML","withAndroidIcons","config","foregroundImage","backgroundColor","backgroundImage","monochromeImage","getAdaptiveIcon","icon","getIcon","hasIcon","withAndroidManifestIcons","withAndroidAdaptiveIconColors","withDangerousMod","setIconAsync","modRequest","projectRoot","isAdaptive","android","adaptiveIcon","setRoundIconManifest","manifest","application","Manifest","getMainApplicationOrThrow","$","withAndroidColors","modResults","setBackgroundColor","legacyIcon","adaptiveForegroundImage","legacyBackgroundImage","legacyBackgroundColor","configureLegacyIconAsync","generateRoundIconAsync","deleteIconNamedAsync","configureAdaptiveIconAsync","generateMultiLayerImageAsync","outputImageFileName","imageCacheFolder","backgroundImageCacheFolder","borderRadiusRatio","generateMonochromeImageAsync","backgroundImageFileName","icLauncherXmlString","createAdaptiveIconXmlString","createAdaptiveIconXmlFiles","colors","assignColorValue","value","name","background","iconElements","push","join","add","anyDpiV26Directory","path","resolve","fs","promises","mkdir","recursive","launcherPath","launcherRoundPath","Promise","all","writeFile","map","rm","force","iterateDpiValues","dpiFolder","iconLayer","generateIconAsync","cacheType","src","backgroundLayer","compositeImagesAsync","foreground","monochromeIcon","callback","Object","values","iconSizePx","generateImageAsync","width","height","resizeMode","borderRadius","undefined","source"],"sources":["../../../src/plugins/icons/withAndroidIcons.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, withAndroidColors, withDangerousMod } from '@expo/config-plugins';\nimport type { ResourceXML } from '@expo/config-plugins/build/android/Resources';\nimport type { ExpoConfig } from '@expo/config-types';\nimport { compositeImagesAsync, generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { withAndroidManifestIcons } from './withAndroidManifestIcons';\n\nconst { Colors } = AndroidConfig;\n\ntype DPIString = 'mdpi' | 'hdpi' | 'xhdpi' | 'xxhdpi' | 'xxxhdpi';\ntype dpiMap = Record<DPIString, { folderName: string; scale: number }>;\n\nexport const dpiValues: dpiMap = {\n mdpi: { folderName: 'mipmap-mdpi', scale: 1 },\n hdpi: { folderName: 'mipmap-hdpi', scale: 1.5 },\n xhdpi: { folderName: 'mipmap-xhdpi', scale: 2 },\n xxhdpi: { folderName: 'mipmap-xxhdpi', scale: 3 },\n xxxhdpi: { folderName: 'mipmap-xxxhdpi', scale: 4 },\n};\n\nconst LEGACY_BASELINE_PIXEL_SIZE = 48;\nconst ADAPTIVE_BASELINE_PIXEL_SIZE = 108;\n\nexport const ANDROID_RES_PATH = 'android/app/src/main/res/';\nconst MIPMAP_ANYDPI_V26 = 'mipmap-anydpi-v26';\nconst ICON_BACKGROUND = 'iconBackground';\nconst IC_LAUNCHER_WEBP = 'ic_launcher.webp';\nconst IC_LAUNCHER_ROUND_WEBP = 'ic_launcher_round.webp';\nconst IC_LAUNCHER_BACKGROUND_WEBP = 'ic_launcher_background.webp';\nconst IC_LAUNCHER_FOREGROUND_WEBP = 'ic_launcher_foreground.webp';\nconst IC_LAUNCHER_MONOCHROME_WEBP = 'ic_launcher_monochrome.webp';\nconst IC_LAUNCHER_XML = 'ic_launcher.xml';\nconst IC_LAUNCHER_ROUND_XML = 'ic_launcher_round.xml';\n\nexport const withAndroidIcons: ConfigPlugin = (config) => {\n const { foregroundImage, backgroundColor, backgroundImage, monochromeImage } =\n getAdaptiveIcon(config);\n const icon = getIcon(config);\n const hasIcon = icon ?? foregroundImage;\n\n if (!hasIcon) {\n return config;\n }\n\n config = withAndroidManifestIcons(config);\n // Apply colors.xml changes\n config = withAndroidAdaptiveIconColors(config, backgroundColor);\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n await setIconAsync(config.modRequest.projectRoot, {\n icon,\n foregroundImage,\n backgroundColor,\n backgroundImage,\n monochromeImage,\n isAdaptive: !!config.android?.adaptiveIcon,\n });\n return config;\n },\n ]);\n};\n\nexport function setRoundIconManifest(\n config: Pick<ExpoConfig, 'android'>,\n manifest: AndroidConfig.Manifest.AndroidManifest\n): AndroidConfig.Manifest.AndroidManifest {\n const isAdaptive = !!config.android?.adaptiveIcon;\n const application = AndroidConfig.Manifest.getMainApplicationOrThrow(manifest);\n\n if (isAdaptive) {\n application.$['android:roundIcon'] = '@mipmap/ic_launcher_round';\n } else {\n delete application.$['android:roundIcon'];\n }\n return manifest;\n}\n\nconst withAndroidAdaptiveIconColors: ConfigPlugin<string | null> = (config, backgroundColor) => {\n return withAndroidColors(config, (config) => {\n config.modResults = setBackgroundColor(backgroundColor ?? '#ffffff', config.modResults);\n return config;\n });\n};\n\nexport function getIcon(config: ExpoConfig) {\n return config.android?.icon || config.icon || null;\n}\n\nexport function getAdaptiveIcon(config: ExpoConfig) {\n return {\n foregroundImage: config.android?.adaptiveIcon?.foregroundImage ?? null,\n backgroundColor: config.android?.adaptiveIcon?.backgroundColor ?? null,\n backgroundImage: config.android?.adaptiveIcon?.backgroundImage ?? null,\n monochromeImage: config.android?.adaptiveIcon?.monochromeImage ?? null,\n };\n}\n\n/**\n * Resizes the user-provided icon to create a set of legacy icon files in\n * their respective \"mipmap\" directories for <= Android 7, and creates a set of adaptive\n * icon files for > Android 7 from the adaptive icon files (if provided).\n */\nexport async function setIconAsync(\n projectRoot: string,\n {\n icon,\n foregroundImage,\n backgroundColor,\n backgroundImage,\n monochromeImage,\n isAdaptive,\n }: {\n icon: string | null;\n foregroundImage?: string | null;\n backgroundColor: string | null;\n backgroundImage: string | null;\n monochromeImage: string | null;\n isAdaptive: boolean;\n }\n) {\n const legacyIcon = icon ?? foregroundImage;\n const adaptiveForegroundImage = foregroundImage ?? legacyIcon;\n\n if (!legacyIcon || !adaptiveForegroundImage) {\n return null;\n }\n\n const legacyBackgroundImage = icon ? null : backgroundImage;\n const legacyBackgroundColor = icon ? null : backgroundColor;\n\n await configureLegacyIconAsync(\n projectRoot,\n legacyIcon,\n legacyBackgroundImage,\n legacyBackgroundColor\n );\n if (isAdaptive) {\n await generateRoundIconAsync(\n projectRoot,\n legacyIcon,\n legacyBackgroundImage,\n legacyBackgroundColor\n );\n } else {\n await deleteIconNamedAsync(projectRoot, IC_LAUNCHER_ROUND_WEBP);\n }\n await configureAdaptiveIconAsync(\n projectRoot,\n adaptiveForegroundImage,\n backgroundImage,\n monochromeImage,\n isAdaptive\n );\n\n return true;\n}\n\n/**\n * Configures legacy icon files to be used on Android 7 and earlier. If only adaptive icon\n * configuration was provided, we create a pseudo-adaptive icon by layering the provided files (or\n * background color if no backgroundImage is provided. If no backgroundImage and no backgroundColor\n * are provided, the background is set to transparent.)\n */\nasync function configureLegacyIconAsync(\n projectRoot: string,\n icon: string,\n backgroundImage: string | null,\n backgroundColor: string | null\n) {\n return generateMultiLayerImageAsync(projectRoot, {\n icon,\n backgroundImage,\n backgroundColor,\n outputImageFileName: IC_LAUNCHER_WEBP,\n imageCacheFolder: 'android-standard-square',\n backgroundImageCacheFolder: 'android-standard-square-background',\n });\n}\n\nasync function generateRoundIconAsync(\n projectRoot: string,\n icon: string,\n backgroundImage: string | null,\n backgroundColor: string | null\n) {\n return generateMultiLayerImageAsync(projectRoot, {\n icon,\n borderRadiusRatio: 0.5,\n outputImageFileName: IC_LAUNCHER_ROUND_WEBP,\n backgroundImage,\n backgroundColor,\n imageCacheFolder: 'android-standard-circle',\n backgroundImageCacheFolder: 'android-standard-round-background',\n isAdaptive: false,\n });\n}\n\n/**\n * Configures adaptive icon files to be used on Android 8 and up. A foreground image must be provided,\n * and will have a transparent background unless:\n * - A backgroundImage is provided, or\n * - A backgroundColor was specified\n */\nexport async function configureAdaptiveIconAsync(\n projectRoot: string,\n foregroundImage: string,\n backgroundImage: string | null,\n monochromeImage: string | null,\n isAdaptive: boolean\n) {\n if (monochromeImage) {\n await generateMonochromeImageAsync(projectRoot, {\n icon: monochromeImage,\n imageCacheFolder: 'android-adaptive-monochrome',\n outputImageFileName: IC_LAUNCHER_MONOCHROME_WEBP,\n });\n }\n await generateMultiLayerImageAsync(projectRoot, {\n backgroundColor: 'transparent',\n backgroundImage,\n backgroundImageCacheFolder: 'android-adaptive-background',\n outputImageFileName: IC_LAUNCHER_FOREGROUND_WEBP,\n icon: foregroundImage,\n imageCacheFolder: 'android-adaptive-foreground',\n backgroundImageFileName: IC_LAUNCHER_BACKGROUND_WEBP,\n isAdaptive: true,\n });\n\n // create ic_launcher.xml and ic_launcher_round.xml\n const icLauncherXmlString = createAdaptiveIconXmlString(backgroundImage, monochromeImage);\n await createAdaptiveIconXmlFiles(\n projectRoot,\n icLauncherXmlString,\n // If the user only defined icon and not android.adaptiveIcon, then skip enabling the layering system\n // this will scale the image down and present it uncropped.\n isAdaptive\n );\n}\n\nfunction setBackgroundColor(backgroundColor: string | null, colors: ResourceXML) {\n return Colors.assignColorValue(colors, {\n value: backgroundColor,\n name: ICON_BACKGROUND,\n });\n}\n\nexport const createAdaptiveIconXmlString = (\n backgroundImage: string | null,\n monochromeImage: string | null\n) => {\n const background = backgroundImage ? `@mipmap/ic_launcher_background` : `@color/iconBackground`;\n\n const iconElements: string[] = [\n `<background android:drawable=\"${background}\"/>`,\n '<foreground android:drawable=\"@mipmap/ic_launcher_foreground\"/>',\n ];\n\n if (monochromeImage) {\n iconElements.push('<monochrome android:drawable=\"@mipmap/ic_launcher_monochrome\"/>');\n }\n\n return `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n ${iconElements.join('\\n ')}\n</adaptive-icon>`;\n};\n\nasync function createAdaptiveIconXmlFiles(\n projectRoot: string,\n icLauncherXmlString: string,\n add: boolean\n) {\n const anyDpiV26Directory = path.resolve(projectRoot, ANDROID_RES_PATH, MIPMAP_ANYDPI_V26);\n await fs.promises.mkdir(anyDpiV26Directory, { recursive: true });\n const launcherPath = path.resolve(anyDpiV26Directory, IC_LAUNCHER_XML);\n const launcherRoundPath = path.resolve(anyDpiV26Directory, IC_LAUNCHER_ROUND_XML);\n if (add) {\n await Promise.all([\n fs.promises.writeFile(launcherPath, icLauncherXmlString, 'utf8'),\n fs.promises.writeFile(launcherRoundPath, icLauncherXmlString, 'utf8'),\n ]);\n } else {\n // Remove the xml if the icon switches from adaptive to standard.\n await Promise.all(\n [launcherPath, launcherRoundPath].map(async (path) => {\n return fs.promises.rm(path, { force: true });\n })\n );\n }\n}\n\nasync function generateMultiLayerImageAsync(\n projectRoot: string,\n {\n icon,\n backgroundColor,\n backgroundImage,\n imageCacheFolder,\n backgroundImageCacheFolder,\n borderRadiusRatio,\n outputImageFileName,\n backgroundImageFileName,\n isAdaptive,\n }: {\n icon: string;\n backgroundImage: string | null;\n backgroundColor: string | null;\n imageCacheFolder: string;\n backgroundImageCacheFolder: string;\n backgroundImageFileName?: string;\n borderRadiusRatio?: number;\n outputImageFileName: string;\n isAdaptive?: boolean;\n }\n) {\n await iterateDpiValues(projectRoot, async ({ dpiFolder, scale }) => {\n let iconLayer = await generateIconAsync(projectRoot, {\n cacheType: imageCacheFolder,\n src: icon,\n scale,\n // backgroundImage overrides backgroundColor\n backgroundColor: backgroundImage ? 'transparent' : (backgroundColor ?? 'transparent'),\n borderRadiusRatio,\n isAdaptive,\n });\n\n if (backgroundImage) {\n const backgroundLayer = await generateIconAsync(projectRoot, {\n cacheType: backgroundImageCacheFolder,\n src: backgroundImage,\n scale,\n backgroundColor: 'transparent',\n borderRadiusRatio,\n isAdaptive,\n });\n\n if (backgroundImageFileName) {\n await fs.promises.writeFile(\n path.resolve(dpiFolder, backgroundImageFileName),\n backgroundLayer\n );\n } else {\n iconLayer = await compositeImagesAsync({\n foreground: iconLayer,\n background: backgroundLayer,\n });\n }\n } else if (backgroundImageFileName) {\n // Remove any instances of ic_launcher_background.png that are there from previous icons\n await deleteIconNamedAsync(projectRoot, backgroundImageFileName);\n }\n\n await fs.promises.mkdir(dpiFolder, { recursive: true });\n await fs.promises.writeFile(path.resolve(dpiFolder, outputImageFileName), iconLayer);\n });\n}\n\nasync function generateMonochromeImageAsync(\n projectRoot: string,\n {\n icon,\n imageCacheFolder,\n outputImageFileName,\n }: { icon: string; imageCacheFolder: string; outputImageFileName: string }\n) {\n await iterateDpiValues(projectRoot, async ({ dpiFolder, scale }) => {\n const monochromeIcon = await generateIconAsync(projectRoot, {\n cacheType: imageCacheFolder,\n src: icon,\n scale,\n backgroundColor: 'transparent',\n isAdaptive: true,\n });\n await fs.promises.mkdir(dpiFolder, { recursive: true });\n await fs.promises.writeFile(path.resolve(dpiFolder, outputImageFileName), monochromeIcon);\n });\n}\n\nfunction iterateDpiValues(\n projectRoot: string,\n callback: (value: { dpiFolder: string; folderName: string; scale: number }) => Promise<void>\n) {\n return Promise.all(\n Object.values(dpiValues).map((value) =>\n callback({\n dpiFolder: path.resolve(projectRoot, ANDROID_RES_PATH, value.folderName),\n ...value,\n })\n )\n );\n}\n\nasync function deleteIconNamedAsync(projectRoot: string, name: string) {\n return iterateDpiValues(projectRoot, ({ dpiFolder }) => {\n return fs.promises.rm(path.resolve(dpiFolder, name), { force: true });\n });\n}\n\nasync function generateIconAsync(\n projectRoot: string,\n {\n cacheType,\n src,\n scale,\n backgroundColor,\n borderRadiusRatio,\n isAdaptive,\n }: {\n cacheType: string;\n src: string;\n scale: number;\n backgroundColor: string;\n borderRadiusRatio?: number;\n isAdaptive?: boolean;\n }\n) {\n const iconSizePx =\n (isAdaptive ? ADAPTIVE_BASELINE_PIXEL_SIZE : LEGACY_BASELINE_PIXEL_SIZE) * scale;\n\n return (\n await generateImageAsync(\n { projectRoot, cacheType },\n {\n src,\n width: iconSizePx,\n height: iconSizePx,\n resizeMode: 'cover',\n backgroundColor,\n borderRadius: borderRadiusRatio ? iconSizePx * borderRadiusRatio : undefined,\n }\n )\n ).source;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.setRoundIconManifest = setRoundIconManifest;
7
5
  exports.withAndroidManifestIcons = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidManifestIcons.js","names":["_configPlugins","data","require","withAndroidManifestIcons","config","withAndroidManifest","modResults","setRoundIconManifest","exports","manifest","isAdaptive","android","adaptiveIcon","application","AndroidConfig","Manifest","getMainApplicationOrThrow","$"],"sources":["../../../src/plugins/icons/withAndroidManifestIcons.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, withAndroidManifest } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nexport const withAndroidManifestIcons: ConfigPlugin = (config) =>\n withAndroidManifest(config, (config) => {\n config.modResults = setRoundIconManifest(config, config.modResults);\n return config;\n });\n\nexport function setRoundIconManifest(\n config: Pick<ExpoConfig, 'android'>,\n manifest: AndroidConfig.Manifest.AndroidManifest\n): AndroidConfig.Manifest.AndroidManifest {\n const isAdaptive = !!config.android?.adaptiveIcon;\n const application = AndroidConfig.Manifest.getMainApplicationOrThrow(manifest);\n\n if (isAdaptive) {\n application.$['android:roundIcon'] = '@mipmap/ic_launcher_round';\n } else {\n delete application.$['android:roundIcon'];\n }\n return manifest;\n}\n"],"mappings":";;;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,wBAAsC,GAAIC,MAAM,IAC3D,IAAAC,oCAAmB,EAACD,MAAM,EAAGA,MAAM,IAAK;EACtCA,MAAM,CAACE,UAAU,GAAGC,oBAAoB,CAACH,MAAM,EAAEA,MAAM,CAACE,UAAU,CAAC;EACnE,OAAOF,MAAM;AACf,CAAC,CAAC;AAACI,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAEE,SAASI,oBAAoBA,CAClCH,MAAmC,EACnCK,QAAgD,EACR;EACxC,MAAMC,UAAU,GAAG,CAAC,CAACN,MAAM,CAACO,OAAO,EAAEC,YAAY;EACjD,MAAMC,WAAW,GAAGC,8BAAa,CAACC,QAAQ,CAACC,yBAAyB,CAACP,QAAQ,CAAC;EAE9E,IAAIC,UAAU,EAAE;IACdG,WAAW,CAACI,CAAC,CAAC,mBAAmB,CAAC,GAAG,2BAA2B;EAClE,CAAC,MAAM;IACL,OAAOJ,WAAW,CAACI,CAAC,CAAC,mBAAmB,CAAC;EAC3C;EACA,OAAOR,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidManifestIcons.js","names":["_configPlugins","data","require","withAndroidManifestIcons","config","withAndroidManifest","modResults","setRoundIconManifest","exports","manifest","isAdaptive","android","adaptiveIcon","application","AndroidConfig","Manifest","getMainApplicationOrThrow","$"],"sources":["../../../src/plugins/icons/withAndroidManifestIcons.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, withAndroidManifest } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nexport const withAndroidManifestIcons: ConfigPlugin = (config) =>\n withAndroidManifest(config, (config) => {\n config.modResults = setRoundIconManifest(config, config.modResults);\n return config;\n });\n\nexport function setRoundIconManifest(\n config: Pick<ExpoConfig, 'android'>,\n manifest: AndroidConfig.Manifest.AndroidManifest\n): AndroidConfig.Manifest.AndroidManifest {\n const isAdaptive = !!config.android?.adaptiveIcon;\n const application = AndroidConfig.Manifest.getMainApplicationOrThrow(manifest);\n\n if (isAdaptive) {\n application.$['android:roundIcon'] = '@mipmap/ic_launcher_round';\n } else {\n delete application.$['android:roundIcon'];\n }\n return manifest;\n}\n"],"mappings":";;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,wBAAsC,GAAIC,MAAM,IAC3D,IAAAC,oCAAmB,EAACD,MAAM,EAAGA,MAAM,IAAK;EACtCA,MAAM,CAACE,UAAU,GAAGC,oBAAoB,CAACH,MAAM,EAAEA,MAAM,CAACE,UAAU,CAAC;EACnE,OAAOF,MAAM;AACf,CAAC,CAAC;AAACI,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAEE,SAASI,oBAAoBA,CAClCH,MAAmC,EACnCK,QAAgD,EACR;EACxC,MAAMC,UAAU,GAAG,CAAC,CAACN,MAAM,CAACO,OAAO,EAAEC,YAAY;EACjD,MAAMC,WAAW,GAAGC,8BAAa,CAACC,QAAQ,CAACC,yBAAyB,CAACP,QAAQ,CAAC;EAE9E,IAAIC,UAAU,EAAE;IACdG,WAAW,CAACI,CAAC,CAAC,mBAAmB,CAAC,GAAG,2BAA2B;EAClE,CAAC,MAAM;IACL,OAAOJ,WAAW,CAACI,CAAC,CAAC,mBAAmB,CAAC;EAC3C;EACA,OAAOR,QAAQ;AACjB","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.generateUniversalIconAsync = generateUniversalIconAsync;
7
5
  exports.getIcons = getIcons;
8
6
  exports.setIconsAsync = setIconsAsync;
@@ -1 +1 @@
1
- {"version":3,"file":"withIosIcons.js","names":["_configPlugins","data","require","_Target","_imageUtils","_fs","_interopRequireDefault","_path","_AssetContents","e","__esModule","default","getProjectName","IOSConfig","XcodeUtils","IMAGE_CACHE_NAME","IMAGESET_PATH","withIosIcons","config","withDangerousMod","setIconsAsync","modRequest","projectRoot","withXcodeProject","icon","getIcons","projectName","path","extname","iconName","basename","setIconName","modResults","addIconFileToProject","exports","iosSpecificIcons","ios","paths","light","dark","tinted","filter","Boolean","iconPath","WarningAggregator","addWarningIOS","iosNamedProjectRoot","getIosNamedProjectPath","addLiquidGlassIcon","fs","promises","mkdir","join","recursive","imagesJson","baseIconPath","baseIcon","generateUniversalIconAsync","cacheKey","platform","push","darkIcon","appearance","tintedIcon","writeContentsJsonAsync","images","getAppleIconName","size","scale","name","filename","source","generateImageAsync","cacheType","src","width","height","removeTransparency","resizeMode","backgroundColor","undefined","createSquareAsync","assetPath","writeFile","idiom","appearances","value","sourceIconPath","targetIconPath","existsSync","cp","project","target","findNativeTargetByName","configurations","getBuildConfigurationsForListId","buildConfigurationList","buildSettings","ASSETCATALOG_COMPILER_APPICON_NAME","addResourceFileToGroup","filepath","groupName","isBuildFile","verbose"],"sources":["../../../src/plugins/icons/withIosIcons.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport {\n IOSConfig,\n WarningAggregator,\n withDangerousMod,\n withXcodeProject,\n} from '@expo/config-plugins';\nimport { findNativeTargetByName } from '@expo/config-plugins/build/ios/Target';\nimport type { ExpoConfig, IOSIcons } from '@expo/config-types';\nimport { createSquareAsync, generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport type { ContentsJson, ContentsJsonImage } from './AssetContents';\nimport { writeContentsJsonAsync } from './AssetContents';\n\nconst { getProjectName } = IOSConfig.XcodeUtils;\n\nconst IMAGE_CACHE_NAME = 'icons';\nconst IMAGESET_PATH = 'Images.xcassets/AppIcon.appiconset';\n\nexport const withIosIcons: ConfigPlugin = (config) => {\n config = withDangerousMod(config, [\n 'ios',\n async (config) => {\n await setIconsAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n\n config = withXcodeProject(config, (config) => {\n const icon = getIcons(config);\n const projectName = config.modRequest.projectName;\n\n if (icon && typeof icon === 'string' && path.extname(icon) === '.icon' && projectName) {\n const iconName = path.basename(icon, '.icon');\n setIconName(config.modResults, projectName, iconName);\n addIconFileToProject(config.modResults, projectName, iconName);\n }\n return config;\n });\n\n return config;\n};\n\nexport function getIcons(config: Pick<ExpoConfig, 'icon' | 'ios'>): IOSIcons | string | null {\n const iosSpecificIcons = config.ios?.icon;\n\n if (iosSpecificIcons) {\n // For backwards compatibility, the icon can be a string\n if (typeof iosSpecificIcons === 'string') {\n return iosSpecificIcons || config.icon || null;\n }\n\n if (typeof iosSpecificIcons === 'object') {\n const paths = [iosSpecificIcons.light, iosSpecificIcons.dark, iosSpecificIcons.tinted].filter(\n Boolean\n );\n for (const iconPath of paths) {\n if (typeof iconPath === 'string' && path.extname(iconPath) === '.icon') {\n WarningAggregator.addWarningIOS(\n 'icon',\n `Liquid glass icons (.icon) should be provided as a string to the \"ios.icon\" property, not as an object. Found: \"${iconPath}\"`\n );\n }\n }\n }\n\n // in iOS 18 introduced the ability to specify dark and tinted icons, which users can specify as an object\n if (!iosSpecificIcons.light && !iosSpecificIcons.dark && !iosSpecificIcons.tinted) {\n return config.icon || null;\n }\n\n return iosSpecificIcons;\n }\n\n // Top level icon property should not be used to specify a `.icon` folder\n if (config.icon && typeof config.icon === 'string' && path.extname(config.icon) === '.icon') {\n WarningAggregator.addWarningIOS(\n 'icon',\n `Liquid glass icons (.icon) should be provided via the \"ios.icon\" property, not the root \"icon\" property. Found: \"${config.icon}\"`\n );\n }\n\n if (config.icon) {\n return config.icon;\n }\n\n return null;\n}\n\nexport async function setIconsAsync(config: ExpoConfig, projectRoot: string) {\n const icon = getIcons(config);\n\n // Something like projectRoot/ios/MyApp/\n const iosNamedProjectRoot = getIosNamedProjectPath(projectRoot);\n\n if (typeof icon === 'string' && path.extname(icon) === '.icon') {\n return await addLiquidGlassIcon(icon, projectRoot, iosNamedProjectRoot);\n }\n\n // Ensure the Images.xcassets/AppIcon.appiconset path exists\n await fs.promises.mkdir(path.join(iosNamedProjectRoot, IMAGESET_PATH), { recursive: true });\n\n const imagesJson: ContentsJson['images'] = [];\n\n const baseIconPath = typeof icon === 'object' ? icon?.light || icon?.dark || icon?.tinted : icon;\n\n // Store the image JSON data for assigning via the Contents.json\n const baseIcon = await generateUniversalIconAsync(projectRoot, {\n icon: baseIconPath,\n cacheKey: 'universal-icon',\n iosNamedProjectRoot,\n platform: 'ios',\n });\n\n imagesJson.push(baseIcon);\n\n if (typeof icon === 'object') {\n if (icon?.dark) {\n const darkIcon = await generateUniversalIconAsync(projectRoot, {\n icon: icon.dark,\n cacheKey: 'universal-icon-dark',\n iosNamedProjectRoot,\n platform: 'ios',\n appearance: 'dark',\n });\n\n imagesJson.push(darkIcon);\n }\n\n if (icon?.tinted) {\n const tintedIcon = await generateUniversalIconAsync(projectRoot, {\n icon: icon.tinted,\n cacheKey: 'universal-icon-tinted',\n iosNamedProjectRoot,\n platform: 'ios',\n appearance: 'tinted',\n });\n\n imagesJson.push(tintedIcon);\n }\n }\n\n // Finally, write the Contents.json\n await writeContentsJsonAsync(path.join(iosNamedProjectRoot, IMAGESET_PATH), {\n images: imagesJson,\n });\n}\n\n/**\n * Return the project's named iOS path: ios/MyProject/\n *\n * @param projectRoot Expo project root path.\n */\nfunction getIosNamedProjectPath(projectRoot: string): string {\n const projectName = getProjectName(projectRoot);\n return path.join(projectRoot, 'ios', projectName);\n}\n\nfunction getAppleIconName(size: number, scale: number, appearance?: 'dark' | 'tinted'): string {\n let name = 'App-Icon';\n\n if (appearance) {\n name = `${name}-${appearance}`;\n }\n\n name = `${name}-${size}x${size}@${scale}x.png`;\n\n return name;\n}\n\nexport async function generateUniversalIconAsync(\n projectRoot: string,\n {\n icon,\n cacheKey,\n iosNamedProjectRoot,\n platform,\n appearance,\n }: {\n platform: 'watchos' | 'ios';\n icon?: string | null;\n appearance?: 'dark' | 'tinted';\n iosNamedProjectRoot: string;\n cacheKey: string;\n }\n): Promise<ContentsJsonImage> {\n const size = 1024;\n const filename = getAppleIconName(size, 1, appearance);\n\n let source: Buffer;\n\n if (icon) {\n // Using this method will cache the images in `.expo` based on the properties used to generate them.\n // this method also supports remote URLs and using the global sharp instance.\n source = (\n await generateImageAsync(\n { projectRoot, cacheType: IMAGE_CACHE_NAME + cacheKey },\n {\n src: icon,\n name: filename,\n width: size,\n height: size,\n // Transparency needs to be preserved in dark variant, but can safely be removed in \"light\" and \"tinted\" variants.\n removeTransparency: appearance !== 'dark',\n // The icon should be square, but if it's not then it will be cropped.\n resizeMode: 'cover',\n // Force the background color to solid white to prevent any transparency. (for \"any\" and \"tinted\" variants)\n // TODO: Maybe use a more adaptive option based on the icon color?\n backgroundColor: appearance !== 'dark' ? '#ffffff' : undefined,\n }\n )\n ).source;\n } else {\n // Create a white square image if no icon exists to mitigate the chance of a submission failure to the app store.\n source = await createSquareAsync({ size });\n }\n // Write image buffer to the file system.\n const assetPath = path.join(iosNamedProjectRoot, IMAGESET_PATH, filename);\n await fs.promises.writeFile(assetPath, source);\n\n return {\n filename,\n idiom: 'universal',\n platform,\n size: `${size}x${size}`,\n ...(appearance ? { appearances: [{ appearance: 'luminosity', value: appearance }] } : {}),\n };\n}\n\nasync function addLiquidGlassIcon(\n iconPath: string,\n projectRoot: string,\n iosNamedProjectRoot: string\n): Promise<void> {\n const iconName = path.basename(iconPath, '.icon');\n const sourceIconPath = path.join(projectRoot, iconPath);\n const targetIconPath = path.join(iosNamedProjectRoot, `${iconName}.icon`);\n\n if (!fs.existsSync(sourceIconPath)) {\n WarningAggregator.addWarningIOS(\n 'icon',\n `Liquid glass icon file not found at path: ${iconPath}`\n );\n return;\n }\n\n await fs.promises.cp(sourceIconPath, targetIconPath, { recursive: true });\n}\n\n/**\n * Adds the .icons name to the project\n */\nfunction setIconName(project: any, projectName: string, iconName: string): void {\n const [, target] = findNativeTargetByName(project, projectName);\n const configurations = IOSConfig.XcodeUtils.getBuildConfigurationsForListId(\n project,\n target.buildConfigurationList\n );\n\n for (const [, config] of configurations) {\n if ((config as any)?.buildSettings) {\n (config as any).buildSettings.ASSETCATALOG_COMPILER_APPICON_NAME = iconName;\n }\n }\n}\n\n/**\n * Adds the .icon file to the project\n */\nfunction addIconFileToProject(project: any, projectName: string, iconName: string): void {\n const iconPath = `${iconName}.icon`;\n\n IOSConfig.XcodeUtils.addResourceFileToGroup({\n filepath: `${projectName}/${iconPath}`,\n groupName: projectName,\n project,\n isBuildFile: true,\n verbose: true,\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withIosIcons.js","names":["_configPlugins","data","require","_Target","_imageUtils","_fs","_interopRequireDefault","_path","_AssetContents","e","__esModule","default","getProjectName","IOSConfig","XcodeUtils","IMAGE_CACHE_NAME","IMAGESET_PATH","withIosIcons","config","withDangerousMod","setIconsAsync","modRequest","projectRoot","withXcodeProject","icon","getIcons","projectName","path","extname","iconName","basename","setIconName","modResults","addIconFileToProject","exports","iosSpecificIcons","ios","paths","light","dark","tinted","filter","Boolean","iconPath","WarningAggregator","addWarningIOS","iosNamedProjectRoot","getIosNamedProjectPath","addLiquidGlassIcon","fs","promises","mkdir","join","recursive","imagesJson","baseIconPath","baseIcon","generateUniversalIconAsync","cacheKey","platform","push","darkIcon","appearance","tintedIcon","writeContentsJsonAsync","images","getAppleIconName","size","scale","name","filename","source","generateImageAsync","cacheType","src","width","height","removeTransparency","resizeMode","backgroundColor","undefined","createSquareAsync","assetPath","writeFile","idiom","appearances","value","sourceIconPath","targetIconPath","existsSync","cp","project","target","findNativeTargetByName","configurations","getBuildConfigurationsForListId","buildConfigurationList","buildSettings","ASSETCATALOG_COMPILER_APPICON_NAME","addResourceFileToGroup","filepath","groupName","isBuildFile","verbose"],"sources":["../../../src/plugins/icons/withIosIcons.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport {\n IOSConfig,\n WarningAggregator,\n withDangerousMod,\n withXcodeProject,\n} from '@expo/config-plugins';\nimport { findNativeTargetByName } from '@expo/config-plugins/build/ios/Target';\nimport type { ExpoConfig, IOSIcons } from '@expo/config-types';\nimport { createSquareAsync, generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport type { ContentsJson, ContentsJsonImage } from './AssetContents';\nimport { writeContentsJsonAsync } from './AssetContents';\n\nconst { getProjectName } = IOSConfig.XcodeUtils;\n\nconst IMAGE_CACHE_NAME = 'icons';\nconst IMAGESET_PATH = 'Images.xcassets/AppIcon.appiconset';\n\nexport const withIosIcons: ConfigPlugin = (config) => {\n config = withDangerousMod(config, [\n 'ios',\n async (config) => {\n await setIconsAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n\n config = withXcodeProject(config, (config) => {\n const icon = getIcons(config);\n const projectName = config.modRequest.projectName;\n\n if (icon && typeof icon === 'string' && path.extname(icon) === '.icon' && projectName) {\n const iconName = path.basename(icon, '.icon');\n setIconName(config.modResults, projectName, iconName);\n addIconFileToProject(config.modResults, projectName, iconName);\n }\n return config;\n });\n\n return config;\n};\n\nexport function getIcons(config: Pick<ExpoConfig, 'icon' | 'ios'>): IOSIcons | string | null {\n const iosSpecificIcons = config.ios?.icon;\n\n if (iosSpecificIcons) {\n // For backwards compatibility, the icon can be a string\n if (typeof iosSpecificIcons === 'string') {\n return iosSpecificIcons || config.icon || null;\n }\n\n if (typeof iosSpecificIcons === 'object') {\n const paths = [iosSpecificIcons.light, iosSpecificIcons.dark, iosSpecificIcons.tinted].filter(\n Boolean\n );\n for (const iconPath of paths) {\n if (typeof iconPath === 'string' && path.extname(iconPath) === '.icon') {\n WarningAggregator.addWarningIOS(\n 'icon',\n `Liquid glass icons (.icon) should be provided as a string to the \"ios.icon\" property, not as an object. Found: \"${iconPath}\"`\n );\n }\n }\n }\n\n // in iOS 18 introduced the ability to specify dark and tinted icons, which users can specify as an object\n if (!iosSpecificIcons.light && !iosSpecificIcons.dark && !iosSpecificIcons.tinted) {\n return config.icon || null;\n }\n\n return iosSpecificIcons;\n }\n\n // Top level icon property should not be used to specify a `.icon` folder\n if (config.icon && typeof config.icon === 'string' && path.extname(config.icon) === '.icon') {\n WarningAggregator.addWarningIOS(\n 'icon',\n `Liquid glass icons (.icon) should be provided via the \"ios.icon\" property, not the root \"icon\" property. Found: \"${config.icon}\"`\n );\n }\n\n if (config.icon) {\n return config.icon;\n }\n\n return null;\n}\n\nexport async function setIconsAsync(config: ExpoConfig, projectRoot: string) {\n const icon = getIcons(config);\n\n // Something like projectRoot/ios/MyApp/\n const iosNamedProjectRoot = getIosNamedProjectPath(projectRoot);\n\n if (typeof icon === 'string' && path.extname(icon) === '.icon') {\n return await addLiquidGlassIcon(icon, projectRoot, iosNamedProjectRoot);\n }\n\n // Ensure the Images.xcassets/AppIcon.appiconset path exists\n await fs.promises.mkdir(path.join(iosNamedProjectRoot, IMAGESET_PATH), { recursive: true });\n\n const imagesJson: ContentsJson['images'] = [];\n\n const baseIconPath = typeof icon === 'object' ? icon?.light || icon?.dark || icon?.tinted : icon;\n\n // Store the image JSON data for assigning via the Contents.json\n const baseIcon = await generateUniversalIconAsync(projectRoot, {\n icon: baseIconPath,\n cacheKey: 'universal-icon',\n iosNamedProjectRoot,\n platform: 'ios',\n });\n\n imagesJson.push(baseIcon);\n\n if (typeof icon === 'object') {\n if (icon?.dark) {\n const darkIcon = await generateUniversalIconAsync(projectRoot, {\n icon: icon.dark,\n cacheKey: 'universal-icon-dark',\n iosNamedProjectRoot,\n platform: 'ios',\n appearance: 'dark',\n });\n\n imagesJson.push(darkIcon);\n }\n\n if (icon?.tinted) {\n const tintedIcon = await generateUniversalIconAsync(projectRoot, {\n icon: icon.tinted,\n cacheKey: 'universal-icon-tinted',\n iosNamedProjectRoot,\n platform: 'ios',\n appearance: 'tinted',\n });\n\n imagesJson.push(tintedIcon);\n }\n }\n\n // Finally, write the Contents.json\n await writeContentsJsonAsync(path.join(iosNamedProjectRoot, IMAGESET_PATH), {\n images: imagesJson,\n });\n}\n\n/**\n * Return the project's named iOS path: ios/MyProject/\n *\n * @param projectRoot Expo project root path.\n */\nfunction getIosNamedProjectPath(projectRoot: string): string {\n const projectName = getProjectName(projectRoot);\n return path.join(projectRoot, 'ios', projectName);\n}\n\nfunction getAppleIconName(size: number, scale: number, appearance?: 'dark' | 'tinted'): string {\n let name = 'App-Icon';\n\n if (appearance) {\n name = `${name}-${appearance}`;\n }\n\n name = `${name}-${size}x${size}@${scale}x.png`;\n\n return name;\n}\n\nexport async function generateUniversalIconAsync(\n projectRoot: string,\n {\n icon,\n cacheKey,\n iosNamedProjectRoot,\n platform,\n appearance,\n }: {\n platform: 'watchos' | 'ios';\n icon?: string | null;\n appearance?: 'dark' | 'tinted';\n iosNamedProjectRoot: string;\n cacheKey: string;\n }\n): Promise<ContentsJsonImage> {\n const size = 1024;\n const filename = getAppleIconName(size, 1, appearance);\n\n let source: Buffer;\n\n if (icon) {\n // Using this method will cache the images in `.expo` based on the properties used to generate them.\n // this method also supports remote URLs and using the global sharp instance.\n source = (\n await generateImageAsync(\n { projectRoot, cacheType: IMAGE_CACHE_NAME + cacheKey },\n {\n src: icon,\n name: filename,\n width: size,\n height: size,\n // Transparency needs to be preserved in dark variant, but can safely be removed in \"light\" and \"tinted\" variants.\n removeTransparency: appearance !== 'dark',\n // The icon should be square, but if it's not then it will be cropped.\n resizeMode: 'cover',\n // Force the background color to solid white to prevent any transparency. (for \"any\" and \"tinted\" variants)\n // TODO: Maybe use a more adaptive option based on the icon color?\n backgroundColor: appearance !== 'dark' ? '#ffffff' : undefined,\n }\n )\n ).source;\n } else {\n // Create a white square image if no icon exists to mitigate the chance of a submission failure to the app store.\n source = await createSquareAsync({ size });\n }\n // Write image buffer to the file system.\n const assetPath = path.join(iosNamedProjectRoot, IMAGESET_PATH, filename);\n await fs.promises.writeFile(assetPath, source);\n\n return {\n filename,\n idiom: 'universal',\n platform,\n size: `${size}x${size}`,\n ...(appearance ? { appearances: [{ appearance: 'luminosity', value: appearance }] } : {}),\n };\n}\n\nasync function addLiquidGlassIcon(\n iconPath: string,\n projectRoot: string,\n iosNamedProjectRoot: string\n): Promise<void> {\n const iconName = path.basename(iconPath, '.icon');\n const sourceIconPath = path.join(projectRoot, iconPath);\n const targetIconPath = path.join(iosNamedProjectRoot, `${iconName}.icon`);\n\n if (!fs.existsSync(sourceIconPath)) {\n WarningAggregator.addWarningIOS(\n 'icon',\n `Liquid glass icon file not found at path: ${iconPath}`\n );\n return;\n }\n\n await fs.promises.cp(sourceIconPath, targetIconPath, { recursive: true });\n}\n\n/**\n * Adds the .icons name to the project\n */\nfunction setIconName(project: any, projectName: string, iconName: string): void {\n const [, target] = findNativeTargetByName(project, projectName);\n const configurations = IOSConfig.XcodeUtils.getBuildConfigurationsForListId(\n project,\n target.buildConfigurationList\n );\n\n for (const [, config] of configurations) {\n if ((config as any)?.buildSettings) {\n (config as any).buildSettings.ASSETCATALOG_COMPILER_APPICON_NAME = iconName;\n }\n }\n}\n\n/**\n * Adds the .icon file to the project\n */\nfunction addIconFileToProject(project: any, projectName: string, iconName: string): void {\n const iconPath = `${iconName}.icon`;\n\n IOSConfig.XcodeUtils.addResourceFileToGroup({\n filepath: `${projectName}/${iconPath}`,\n groupName: projectName,\n project,\n isBuildFile: true,\n verbose: true,\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.createLegacyPlugin = createLegacyPlugin;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"createLegacyPlugin.js","names":["_configPlugins","data","require","toCamelCase","s","replace","x","toUpperCase","isModuleExcluded","config","packageName","_internal","autolinkedModules","includes","createLegacyPlugin","fallback","withFallback","Array","isArray","withPlugins","withUnknown","createRunOncePlugin","withStaticPlugin","_isLegacyPlugin","plugin","methodName","Object","defineProperty","value"],"sources":["../../../src/plugins/unversioned/createLegacyPlugin.ts"],"sourcesContent":["import type { ConfigPlugin, PluginParameters } from '@expo/config-plugins';\nimport { createRunOncePlugin, withPlugins, withStaticPlugin } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nconst toCamelCase = (s: string) => s.replace(/-./g, (x) => x.toUpperCase()?.[1] ?? '');\n\nfunction isModuleExcluded(config: Pick<ExpoConfig, '_internal'>, packageName: string): boolean {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n return (\n config._internal?.autolinkedModules && !config._internal.autolinkedModules.includes(packageName)\n );\n}\n\nexport function createLegacyPlugin({\n packageName,\n fallback,\n}: {\n packageName: string;\n fallback: ConfigPlugin | PluginParameters<typeof withPlugins>;\n}): ConfigPlugin {\n let withFallback: ConfigPlugin;\n\n if (Array.isArray(fallback)) {\n withFallback = (config) => withPlugins(config, fallback);\n } else {\n withFallback = fallback;\n }\n\n const withUnknown: ConfigPlugin = (config) => {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n if (isModuleExcluded(config, packageName)) {\n return createRunOncePlugin(withFallback, packageName)(config);\n }\n\n return withStaticPlugin(config, {\n _isLegacyPlugin: true,\n plugin: packageName,\n // If the static plugin isn't found, use the unversioned one.\n fallback: createRunOncePlugin(withFallback, packageName),\n });\n };\n\n const methodName = toCamelCase(`with-${packageName}`);\n Object.defineProperty(withUnknown, 'name', {\n value: methodName,\n });\n\n return withUnknown;\n}\n"],"mappings":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,MAAME,WAAW,GAAIC,CAAS,IAAKA,CAAC,CAACC,OAAO,CAAC,KAAK,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAEtF,SAASC,gBAAgBA,CAACC,MAAqC,EAAEC,WAAmB,EAAW;EAC7F;EACA;EACA,OACED,MAAM,CAACE,SAAS,EAAEC,iBAAiB,IAAI,CAACH,MAAM,CAACE,SAAS,CAACC,iBAAiB,CAACC,QAAQ,CAACH,WAAW,CAAC;AAEpG;AAEO,SAASI,kBAAkBA,CAAC;EACjCJ,WAAW;EACXK;AAIF,CAAC,EAAgB;EACf,IAAIC,YAA0B;EAE9B,IAAIC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;IAC3BC,YAAY,GAAIP,MAAM,IAAK,IAAAU,4BAAW,EAACV,MAAM,EAAEM,QAAQ,CAAC;EAC1D,CAAC,MAAM;IACLC,YAAY,GAAGD,QAAQ;EACzB;EAEA,MAAMK,WAAyB,GAAIX,MAAM,IAAK;IAC5C;IACA;IACA,IAAID,gBAAgB,CAACC,MAAM,EAAEC,WAAW,CAAC,EAAE;MACzC,OAAO,IAAAW,oCAAmB,EAACL,YAAY,EAAEN,WAAW,CAAC,CAACD,MAAM,CAAC;IAC/D;IAEA,OAAO,IAAAa,iCAAgB,EAACb,MAAM,EAAE;MAC9Bc,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAEd,WAAW;MACnB;MACAK,QAAQ,EAAE,IAAAM,oCAAmB,EAACL,YAAY,EAAEN,WAAW;IACzD,CAAC,CAAC;EACJ,CAAC;EAED,MAAMe,UAAU,GAAGtB,WAAW,CAAC,QAAQO,WAAW,EAAE,CAAC;EACrDgB,MAAM,CAACC,cAAc,CAACP,WAAW,EAAE,MAAM,EAAE;IACzCQ,KAAK,EAAEH;EACT,CAAC,CAAC;EAEF,OAAOL,WAAW;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"createLegacyPlugin.js","names":["_configPlugins","data","require","toCamelCase","s","replace","x","toUpperCase","isModuleExcluded","config","packageName","_internal","autolinkedModules","includes","createLegacyPlugin","fallback","withFallback","Array","isArray","withPlugins","withUnknown","createRunOncePlugin","withStaticPlugin","_isLegacyPlugin","plugin","methodName","Object","defineProperty","value"],"sources":["../../../src/plugins/unversioned/createLegacyPlugin.ts"],"sourcesContent":["import type { ConfigPlugin, PluginParameters } from '@expo/config-plugins';\nimport { createRunOncePlugin, withPlugins, withStaticPlugin } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nconst toCamelCase = (s: string) => s.replace(/-./g, (x) => x.toUpperCase()?.[1] ?? '');\n\nfunction isModuleExcluded(config: Pick<ExpoConfig, '_internal'>, packageName: string): boolean {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n return (\n config._internal?.autolinkedModules && !config._internal.autolinkedModules.includes(packageName)\n );\n}\n\nexport function createLegacyPlugin({\n packageName,\n fallback,\n}: {\n packageName: string;\n fallback: ConfigPlugin | PluginParameters<typeof withPlugins>;\n}): ConfigPlugin {\n let withFallback: ConfigPlugin;\n\n if (Array.isArray(fallback)) {\n withFallback = (config) => withPlugins(config, fallback);\n } else {\n withFallback = fallback;\n }\n\n const withUnknown: ConfigPlugin = (config) => {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n if (isModuleExcluded(config, packageName)) {\n return createRunOncePlugin(withFallback, packageName)(config);\n }\n\n return withStaticPlugin(config, {\n _isLegacyPlugin: true,\n plugin: packageName,\n // If the static plugin isn't found, use the unversioned one.\n fallback: createRunOncePlugin(withFallback, packageName),\n });\n };\n\n const methodName = toCamelCase(`with-${packageName}`);\n Object.defineProperty(withUnknown, 'name', {\n value: methodName,\n });\n\n return withUnknown;\n}\n"],"mappings":";;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,MAAME,WAAW,GAAIC,CAAS,IAAKA,CAAC,CAACC,OAAO,CAAC,KAAK,EAAGC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAEtF,SAASC,gBAAgBA,CAACC,MAAqC,EAAEC,WAAmB,EAAW;EAC7F;EACA;EACA,OACED,MAAM,CAACE,SAAS,EAAEC,iBAAiB,IAAI,CAACH,MAAM,CAACE,SAAS,CAACC,iBAAiB,CAACC,QAAQ,CAACH,WAAW,CAAC;AAEpG;AAEO,SAASI,kBAAkBA,CAAC;EACjCJ,WAAW;EACXK;AAIF,CAAC,EAAgB;EACf,IAAIC,YAA0B;EAE9B,IAAIC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;IAC3BC,YAAY,GAAIP,MAAM,IAAK,IAAAU,4BAAW,EAACV,MAAM,EAAEM,QAAQ,CAAC;EAC1D,CAAC,MAAM;IACLC,YAAY,GAAGD,QAAQ;EACzB;EAEA,MAAMK,WAAyB,GAAIX,MAAM,IAAK;IAC5C;IACA;IACA,IAAID,gBAAgB,CAACC,MAAM,EAAEC,WAAW,CAAC,EAAE;MACzC,OAAO,IAAAW,oCAAmB,EAACL,YAAY,EAAEN,WAAW,CAAC,CAACD,MAAM,CAAC;IAC/D;IAEA,OAAO,IAAAa,iCAAgB,EAACb,MAAM,EAAE;MAC9Bc,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAEd,WAAW;MACnB;MACAK,QAAQ,EAAE,IAAAM,oCAAmB,EAACL,YAAY,EAAEN,WAAW;IACzD,CAAC,CAAC;EACJ,CAAC;EAED,MAAMe,UAAU,GAAGtB,WAAW,CAAC,QAAQO,WAAW,EAAE,CAAC;EACrDgB,MAAM,CAACC,cAAc,CAACP,WAAW,EAAE,MAAM,EAAE;IACzCQ,KAAK,EAAEH;EACT,CAAC,CAAC;EAEF,OAAOL,WAAW;AACpB","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.applyEdgeToEdge = applyEdgeToEdge;
7
5
  exports.withEdgeToEdge = exports.default = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withEdgeToEdge.js","names":["_configPlugins","data","require","_withRestoreDefaultTheme","TAG","withEdgeToEdge","config","applyEdgeToEdge","exports","android","WarningAggregator","addWarningAndroid","withRestoreDefaultTheme","_default","default"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEdgeToEdge.ts"],"sourcesContent":["import type { ConfigPlugin, ExportedConfigWithProps, AndroidConfig } from '@expo/config-plugins';\nimport { WarningAggregator } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nimport { withRestoreDefaultTheme } from './withRestoreDefaultTheme';\n\nconst TAG = 'EDGE_TO_EDGE_PLUGIN';\n\nexport type ResourceXMLConfig = ExportedConfigWithProps<AndroidConfig.Resources.ResourceXML>;\n\nexport const withEdgeToEdge: ConfigPlugin = (config) => {\n return applyEdgeToEdge(config);\n};\n\nexport function applyEdgeToEdge(config: ExpoConfig): ExpoConfig {\n if ('edgeToEdgeEnabled' in (config.android ?? {})) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`edgeToEdgeEnabled` customization is no longer available - Android 16 makes edge-to-edge mandatory. Remove the `edgeToEdgeEnabled` entry from your app.json/app.config.js.'\n );\n }\n\n // We always restore the default theme in case the project has a leftover react-native-edge-to-edge theme from SDK 53.\n // If they are using react-native-edge-to-edge config plugin it'll be reapplied later.\n return withRestoreDefaultTheme(config);\n}\n\nexport default withEdgeToEdge;\n"],"mappings":";;;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,yBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,wBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,GAAG,GAAG,qBAAqB;AAI1B,MAAMC,cAA4B,GAAIC,MAAM,IAAK;EACtD,OAAOC,eAAe,CAACD,MAAM,CAAC;AAChC,CAAC;AAACE,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAEK,SAASE,eAAeA,CAACD,MAAkB,EAAc;EAC9D,IAAI,mBAAmB,KAAKA,MAAM,CAACG,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;IACjDC,kCAAiB,CAACC,iBAAiB,CACjCP,GAAG,EACH,4KACF,CAAC;EACH;;EAEA;EACA;EACA,OAAO,IAAAQ,kDAAuB,EAACN,MAAM,CAAC;AACxC;AAAC,IAAAO,QAAA,GAAAL,OAAA,CAAAM,OAAA,GAEcT,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"withEdgeToEdge.js","names":["_configPlugins","data","require","_withRestoreDefaultTheme","TAG","withEdgeToEdge","config","applyEdgeToEdge","exports","android","WarningAggregator","addWarningAndroid","withRestoreDefaultTheme","_default","default"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withEdgeToEdge.ts"],"sourcesContent":["import type { ConfigPlugin, ExportedConfigWithProps, AndroidConfig } from '@expo/config-plugins';\nimport { WarningAggregator } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nimport { withRestoreDefaultTheme } from './withRestoreDefaultTheme';\n\nconst TAG = 'EDGE_TO_EDGE_PLUGIN';\n\nexport type ResourceXMLConfig = ExportedConfigWithProps<AndroidConfig.Resources.ResourceXML>;\n\nexport const withEdgeToEdge: ConfigPlugin = (config) => {\n return applyEdgeToEdge(config);\n};\n\nexport function applyEdgeToEdge(config: ExpoConfig): ExpoConfig {\n if ('edgeToEdgeEnabled' in (config.android ?? {})) {\n WarningAggregator.addWarningAndroid(\n TAG,\n '`edgeToEdgeEnabled` customization is no longer available - Android 16 makes edge-to-edge mandatory. Remove the `edgeToEdgeEnabled` entry from your app.json/app.config.js.'\n );\n }\n\n // We always restore the default theme in case the project has a leftover react-native-edge-to-edge theme from SDK 53.\n // If they are using react-native-edge-to-edge config plugin it'll be reapplied later.\n return withRestoreDefaultTheme(config);\n}\n\nexport default withEdgeToEdge;\n"],"mappings":";;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,yBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,wBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,GAAG,GAAG,qBAAqB;AAI1B,MAAMC,cAA4B,GAAIC,MAAM,IAAK;EACtD,OAAOC,eAAe,CAACD,MAAM,CAAC;AAChC,CAAC;AAACE,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAEK,SAASE,eAAeA,CAACD,MAAkB,EAAc;EAC9D,IAAI,mBAAmB,KAAKA,MAAM,CAACG,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;IACjDC,kCAAiB,CAACC,iBAAiB,CACjCP,GAAG,EACH,4KACF,CAAC;EACH;;EAEA;EACA;EACA,OAAO,IAAAQ,kDAAuB,EAACN,MAAM,CAAC;AACxC;AAAC,IAAAO,QAAA,GAAAL,OAAA,CAAAM,OAAA,GAEcT,cAAc","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.restoreDefaultTheme = restoreDefaultTheme;
7
5
  exports.withRestoreDefaultTheme = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withRestoreDefaultTheme.js","names":["_configPlugins","data","require","withRestoreDefaultTheme","config","withAndroidStyles","restoreDefaultTheme","exports","DEFAULT_THEME","style","modResults","resources","mainThemeIndex","findIndex","$","name","parent","includes","item","filter"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { withAndroidStyles } from '@expo/config-plugins';\n\nimport type { ResourceXMLConfig } from './withEdgeToEdge';\n\nexport const withRestoreDefaultTheme: ConfigPlugin = (config) => {\n // Default theme for SDK 53 and onwards projects\n return withAndroidStyles(config, (config) => {\n return restoreDefaultTheme(config);\n });\n};\n\nexport function restoreDefaultTheme(config: ResourceXMLConfig): ResourceXMLConfig {\n const DEFAULT_THEME = 'Theme.AppCompat.DayNight.NoActionBar';\n\n const { style = [] } = config.modResults.resources;\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n if (mainThemeIndex === -1) {\n return config;\n }\n\n if (style[mainThemeIndex]?.$?.parent.includes('EdgeToEdge')) {\n config.modResults.resources.style = [\n {\n $: {\n name: 'AppTheme',\n parent: DEFAULT_THEME,\n },\n item: style[mainThemeIndex].item,\n },\n ...style.filter(({ $ }) => $.name !== 'AppTheme'),\n ];\n }\n return config;\n}\n"],"mappings":";;;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,uBAAqC,GAAIC,MAAM,IAAK;EAC/D;EACA,OAAO,IAAAC,kCAAiB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOE,mBAAmB,CAACF,MAAM,CAAC;EACpC,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAJ,uBAAA,GAAAA,uBAAA;AAEK,SAASG,mBAAmBA,CAACF,MAAyB,EAAqB;EAChF,MAAMI,aAAa,GAAG,sCAAsC;EAE5D,MAAM;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS;EAClD,MAAMC,cAAc,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IAAEC;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EACxE,IAAIH,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOR,MAAM;EACf;EAEA,IAAIK,KAAK,CAACG,cAAc,CAAC,EAAEE,CAAC,EAAEE,MAAM,CAACC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAC3Db,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,GAAG,CAClC;MACEK,CAAC,EAAE;QACDC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAER;MACV,CAAC;MACDU,IAAI,EAAET,KAAK,CAACG,cAAc,CAAC,CAACM;IAC9B,CAAC,EACD,GAAGT,KAAK,CAACU,MAAM,CAAC,CAAC;MAAEL;IAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAClD;EACH;EACA,OAAOX,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"file":"withRestoreDefaultTheme.js","names":["_configPlugins","data","require","withRestoreDefaultTheme","config","withAndroidStyles","restoreDefaultTheme","exports","DEFAULT_THEME","style","modResults","resources","mainThemeIndex","findIndex","$","name","parent","includes","item","filter"],"sources":["../../../../src/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { withAndroidStyles } from '@expo/config-plugins';\n\nimport type { ResourceXMLConfig } from './withEdgeToEdge';\n\nexport const withRestoreDefaultTheme: ConfigPlugin = (config) => {\n // Default theme for SDK 53 and onwards projects\n return withAndroidStyles(config, (config) => {\n return restoreDefaultTheme(config);\n });\n};\n\nexport function restoreDefaultTheme(config: ResourceXMLConfig): ResourceXMLConfig {\n const DEFAULT_THEME = 'Theme.AppCompat.DayNight.NoActionBar';\n\n const { style = [] } = config.modResults.resources;\n const mainThemeIndex = style.findIndex(({ $ }) => $.name === 'AppTheme');\n if (mainThemeIndex === -1) {\n return config;\n }\n\n if (style[mainThemeIndex]?.$?.parent.includes('EdgeToEdge')) {\n config.modResults.resources.style = [\n {\n $: {\n name: 'AppTheme',\n parent: DEFAULT_THEME,\n },\n item: style[mainThemeIndex].item,\n },\n ...style.filter(({ $ }) => $.name !== 'AppTheme'),\n ];\n }\n return config;\n}\n"],"mappings":";;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,uBAAqC,GAAIC,MAAM,IAAK;EAC/D;EACA,OAAO,IAAAC,kCAAiB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC3C,OAAOE,mBAAmB,CAACF,MAAM,CAAC;EACpC,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAJ,uBAAA,GAAAA,uBAAA;AAEK,SAASG,mBAAmBA,CAACF,MAAyB,EAAqB;EAChF,MAAMI,aAAa,GAAG,sCAAsC;EAE5D,MAAM;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACC,SAAS;EAClD,MAAMC,cAAc,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IAAEC;EAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC;EACxE,IAAIH,cAAc,KAAK,CAAC,CAAC,EAAE;IACzB,OAAOR,MAAM;EACf;EAEA,IAAIK,KAAK,CAACG,cAAc,CAAC,EAAEE,CAAC,EAAEE,MAAM,CAACC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAC3Db,MAAM,CAACM,UAAU,CAACC,SAAS,CAACF,KAAK,GAAG,CAClC;MACEK,CAAC,EAAE;QACDC,IAAI,EAAE,UAAU;QAChBC,MAAM,EAAER;MACV,CAAC;MACDU,IAAI,EAAET,KAAK,CAACG,cAAc,CAAC,CAACM;IAC9B,CAAC,EACD,GAAGT,KAAK,CAACU,MAAM,CAAC,CAAC;MAAEL;IAAE,CAAC,KAAKA,CAAC,CAACC,IAAI,KAAK,UAAU,CAAC,CAClD;EACH;EACA,OAAOX,MAAM;AACf","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"expo-apple-authentication.js","names":["_configPlugins","data","require","_createLegacyPlugin","withAppleSignInWarning","config","withEntitlementsPlist","ios","usesAppleSignIn","WarningAggregator","addWarningIOS","_default","exports","default","createLegacyPlugin","packageName","fallback"],"sources":["../../../src/plugins/unversioned/expo-apple-authentication.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { WarningAggregator, withEntitlementsPlist } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst withAppleSignInWarning: ConfigPlugin = (config) => {\n return withEntitlementsPlist(config, (config) => {\n if (config.ios?.usesAppleSignIn) {\n WarningAggregator.addWarningIOS(\n 'ios.usesAppleSignIn',\n 'Install expo-apple-authentication to enable this feature',\n 'https://docs.expo.dev/versions/latest/sdk/apple-authentication/#eas-build'\n );\n }\n\n return config;\n });\n};\n\nexport default createLegacyPlugin({\n packageName: 'expo-apple-authentication',\n fallback: withAppleSignInWarning,\n});\n"],"mappings":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,sBAAoC,GAAIC,MAAM,IAAK;EACvD,OAAO,IAAAC,sCAAqB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC/C,IAAIA,MAAM,CAACE,GAAG,EAAEC,eAAe,EAAE;MAC/BC,kCAAiB,CAACC,aAAa,CAC7B,qBAAqB,EACrB,0DAA0D,EAC1D,2EACF,CAAC;IACH;IAEA,OAAOL,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,2BAA2B;EACxCC,QAAQ,EAAEZ;AACZ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"expo-apple-authentication.js","names":["_configPlugins","data","require","_createLegacyPlugin","withAppleSignInWarning","config","withEntitlementsPlist","ios","usesAppleSignIn","WarningAggregator","addWarningIOS","_default","exports","default","createLegacyPlugin","packageName","fallback"],"sources":["../../../src/plugins/unversioned/expo-apple-authentication.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { WarningAggregator, withEntitlementsPlist } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst withAppleSignInWarning: ConfigPlugin = (config) => {\n return withEntitlementsPlist(config, (config) => {\n if (config.ios?.usesAppleSignIn) {\n WarningAggregator.addWarningIOS(\n 'ios.usesAppleSignIn',\n 'Install expo-apple-authentication to enable this feature',\n 'https://docs.expo.dev/versions/latest/sdk/apple-authentication/#eas-build'\n );\n }\n\n return config;\n });\n};\n\nexport default createLegacyPlugin({\n packageName: 'expo-apple-authentication',\n fallback: withAppleSignInWarning,\n});\n"],"mappings":";;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,sBAAoC,GAAIC,MAAM,IAAK;EACvD,OAAO,IAAAC,sCAAqB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC/C,IAAIA,MAAM,CAACE,GAAG,EAAEC,eAAe,EAAE;MAC/BC,kCAAiB,CAACC,aAAa,CAC7B,qBAAqB,EACrB,0DAA0D,EAC1D,2EACF,CAAC;IACH;IAEA,OAAOL,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,2BAA2B;EACxCC,QAAQ,EAAEZ;AACZ,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"expo-contacts.js","names":["_configPlugins","data","require","_createLegacyPlugin","withAccessesContactNotes","config","withEntitlementsPlist","modResults","setAccessesContactNotes","entitlementsPlist","ios","accessesContactNotes","_default","exports","default","createLegacyPlugin","packageName","fallback"],"sources":["../../../src/plugins/unversioned/expo-contacts.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { withEntitlementsPlist } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\nimport type { JSONObject } from '@expo/json-file';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst withAccessesContactNotes: ConfigPlugin = (config) => {\n return withEntitlementsPlist(config, (config) => {\n config.modResults = setAccessesContactNotes(config, config.modResults);\n return config;\n });\n};\n\nfunction setAccessesContactNotes(config: ExpoConfig, entitlementsPlist: JSONObject): JSONObject {\n if (config.ios?.accessesContactNotes) {\n return {\n ...entitlementsPlist,\n 'com.apple.developer.contacts.notes': true,\n };\n }\n\n return entitlementsPlist;\n}\n\nexport default createLegacyPlugin({\n packageName: 'expo-contacts',\n fallback: withAccessesContactNotes,\n});\n"],"mappings":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,wBAAsC,GAAIC,MAAM,IAAK;EACzD,OAAO,IAAAC,sCAAqB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC/CA,MAAM,CAACE,UAAU,GAAGC,uBAAuB,CAACH,MAAM,EAAEA,MAAM,CAACE,UAAU,CAAC;IACtE,OAAOF,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAED,SAASG,uBAAuBA,CAACH,MAAkB,EAAEI,iBAA6B,EAAc;EAC9F,IAAIJ,MAAM,CAACK,GAAG,EAAEC,oBAAoB,EAAE;IACpC,OAAO;MACL,GAAGF,iBAAiB;MACpB,oCAAoC,EAAE;IACxC,CAAC;EACH;EAEA,OAAOA,iBAAiB;AAC1B;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,eAAe;EAC5BC,QAAQ,EAAEb;AACZ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"expo-contacts.js","names":["_configPlugins","data","require","_createLegacyPlugin","withAccessesContactNotes","config","withEntitlementsPlist","modResults","setAccessesContactNotes","entitlementsPlist","ios","accessesContactNotes","_default","exports","default","createLegacyPlugin","packageName","fallback"],"sources":["../../../src/plugins/unversioned/expo-contacts.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { withEntitlementsPlist } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\nimport type { JSONObject } from '@expo/json-file';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst withAccessesContactNotes: ConfigPlugin = (config) => {\n return withEntitlementsPlist(config, (config) => {\n config.modResults = setAccessesContactNotes(config, config.modResults);\n return config;\n });\n};\n\nfunction setAccessesContactNotes(config: ExpoConfig, entitlementsPlist: JSONObject): JSONObject {\n if (config.ios?.accessesContactNotes) {\n return {\n ...entitlementsPlist,\n 'com.apple.developer.contacts.notes': true,\n };\n }\n\n return entitlementsPlist;\n}\n\nexport default createLegacyPlugin({\n packageName: 'expo-contacts',\n fallback: withAccessesContactNotes,\n});\n"],"mappings":";;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,wBAAsC,GAAIC,MAAM,IAAK;EACzD,OAAO,IAAAC,sCAAqB,EAACD,MAAM,EAAGA,MAAM,IAAK;IAC/CA,MAAM,CAACE,UAAU,GAAGC,uBAAuB,CAACH,MAAM,EAAEA,MAAM,CAACE,UAAU,CAAC;IACtE,OAAOF,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAED,SAASG,uBAAuBA,CAACH,MAAkB,EAAEI,iBAA6B,EAAc;EAC9F,IAAIJ,MAAM,CAACK,GAAG,EAAEC,oBAAoB,EAAE;IACpC,OAAO;MACL,GAAGF,iBAAiB;MACpB,oCAAoC,EAAE;IACxC,CAAC;EACH;EAEA,OAAOA,iBAAiB;AAC1B;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,eAAe;EAC5BC,QAAQ,EAAEb;AACZ,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"expo-document-picker.js","names":["_configPlugins","data","require","_createLegacyPlugin","_default","exports","default","createLegacyPlugin","packageName","fallback","config","ios","usesIcloudStorage","WarningAggregator","addWarningIOS"],"sources":["../../../src/plugins/unversioned/expo-document-picker.ts"],"sourcesContent":["import { WarningAggregator } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nexport default createLegacyPlugin({\n packageName: 'expo-document-picker',\n fallback(config) {\n if (config.ios?.usesIcloudStorage) {\n WarningAggregator.addWarningIOS(\n 'ios.usesIcloudStorage',\n 'Install expo-document-picker to enable the ios.usesIcloudStorage feature'\n // TODO: add a link to a docs page with more information on how to do this\n );\n }\n return config;\n },\n});\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0D,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE3C,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,sBAAsB;EACnCC,QAAQA,CAACC,MAAM,EAAE;IACf,IAAIA,MAAM,CAACC,GAAG,EAAEC,iBAAiB,EAAE;MACjCC,kCAAiB,CAACC,aAAa,CAC7B,uBAAuB,EACvB;MACA;MACF,CAAC;IACH;IACA,OAAOJ,MAAM;EACf;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"expo-document-picker.js","names":["_configPlugins","data","require","_createLegacyPlugin","_default","exports","default","createLegacyPlugin","packageName","fallback","config","ios","usesIcloudStorage","WarningAggregator","addWarningIOS"],"sources":["../../../src/plugins/unversioned/expo-document-picker.ts"],"sourcesContent":["import { WarningAggregator } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nexport default createLegacyPlugin({\n packageName: 'expo-document-picker',\n fallback(config) {\n if (config.ios?.usesIcloudStorage) {\n WarningAggregator.addWarningIOS(\n 'ios.usesIcloudStorage',\n 'Install expo-document-picker to enable the ios.usesIcloudStorage feature'\n // TODO: add a link to a docs page with more information on how to do this\n );\n }\n return config;\n },\n});\n"],"mappings":";;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0D,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE3C,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,sBAAsB;EACnCC,QAAQA,CAACC,MAAM,EAAE;IACf,IAAIA,MAAM,CAACC,GAAG,EAAEC,iBAAiB,EAAE;MACjCC,kCAAiB,CAACC,aAAa,CAC7B,uBAAuB,EACvB;MACA;MACF,CAAC;IACH;IACA,OAAOJ,MAAM;EACf;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withInlineModules = exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"withInlineModules.js","names":["_configPlugins","data","require","createBuildGradlePropsConfigPlugin","AndroidConfig","BuildProperties","createBuildPodfilePropsConfigPlugin","IOSConfig","escapeXMLCharacters","original","noAmps","replace","noLt","noGt","noApos","getMainTargetName","config","name","safeName","XcodeUtils","sanitizedName","withInlineModules","props","propName","propValueGetter","conf","experiments","inlineModules","JSON","stringify","watchedDirectories","xcodeProjectTargets","mainTarget","targets","exports","_default","default"],"sources":["../../../../src/plugins/unversioned/expo-inline-modules/withInlineModules.ts"],"sourcesContent":["import { AndroidConfig, IOSConfig } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nconst { createBuildGradlePropsConfigPlugin } = AndroidConfig.BuildProperties;\nconst { createBuildPodfilePropsConfigPlugin } = IOSConfig.BuildProperties;\n\nfunction escapeXMLCharacters(original: string): string {\n const noAmps = original.replace('&', '&amp;');\n const noLt = noAmps.replace('<', '&lt;');\n const noGt = noLt.replace('>', '&gt;');\n const noApos = noGt.replace('\"', '\\\\\"');\n return noApos.replace(\"'\", \"\\\\'\");\n}\n\n// Note that this main target name is based on how `@expo/cli/src/prebuild/renameTemplateAppNameAsync.ts` preprocesses the ios project template.\n// It is neccesary to match the target name in the path to ExpoModulesProvider.swift for the main target as is used when generating it.\nfunction getMainTargetName(config: ExpoConfig): string {\n const name = config.name;\n const safeName = escapeXMLCharacters(name);\n return IOSConfig.XcodeUtils.sanitizedName(safeName);\n}\n\nexport const withInlineModules = (config: ExpoConfig, props: any) => {\n config = createBuildGradlePropsConfigPlugin(\n [\n {\n propName: 'expo.inlineModules.watchedDirectories',\n propValueGetter: (conf) => {\n if (!conf.experiments?.inlineModules) {\n return JSON.stringify([]);\n }\n return JSON.stringify(conf.experiments?.inlineModules?.watchedDirectories ?? []);\n },\n },\n ],\n 'withAndroidInlineModules'\n )(config);\n\n config = createBuildPodfilePropsConfigPlugin(\n [\n {\n propName: 'expo.inlineModules.watchedDirectories',\n propValueGetter: (conf) => {\n if (!conf.experiments?.inlineModules) {\n return JSON.stringify([]);\n }\n return JSON.stringify(conf.experiments?.inlineModules?.watchedDirectories ?? []);\n },\n },\n {\n propName: 'expo.inlineModules.xcodeProjectTargets',\n propValueGetter: (conf) => {\n const xcodeProjectTargets = conf.experiments?.inlineModules?.xcodeProjectTargets;\n if (!xcodeProjectTargets) {\n return JSON.stringify({ mainTarget: getMainTargetName(config), targets: [] });\n }\n return JSON.stringify({ targets: xcodeProjectTargets });\n },\n },\n ],\n 'withIosInlineModules'\n )(config);\n\n return config;\n};\n\nexport default withInlineModules;\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,MAAM;EAAEE;AAAmC,CAAC,GAAGC,8BAAa,CAACC,eAAe;AAC5E,MAAM;EAAEC;AAAoC,CAAC,GAAGC,0BAAS,CAACF,eAAe;AAEzE,SAASG,mBAAmBA,CAACC,QAAgB,EAAU;EACrD,MAAMC,MAAM,GAAGD,QAAQ,CAACE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;EAC7C,MAAMC,IAAI,GAAGF,MAAM,CAACC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;EACxC,MAAME,IAAI,GAAGD,IAAI,CAACD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;EACtC,MAAMG,MAAM,GAAGD,IAAI,CAACF,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;EACvC,OAAOG,MAAM,CAACH,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;AACnC;;AAEA;AACA;AACA,SAASI,iBAAiBA,CAACC,MAAkB,EAAU;EACrD,MAAMC,IAAI,GAAGD,MAAM,CAACC,IAAI;EACxB,MAAMC,QAAQ,GAAGV,mBAAmB,CAACS,IAAI,CAAC;EAC1C,OAAOV,0BAAS,CAACY,UAAU,CAACC,aAAa,CAACF,QAAQ,CAAC;AACrD;AAEO,MAAMG,iBAAiB,GAAGA,CAACL,MAAkB,EAAEM,KAAU,KAAK;EACnEN,MAAM,GAAGb,kCAAkC,CACzC,CACE;IACEoB,QAAQ,EAAE,uCAAuC;IACjDC,eAAe,EAAGC,IAAI,IAAK;MACzB,IAAI,CAACA,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAE;QACpC,OAAOC,IAAI,CAACC,SAAS,CAAC,EAAE,CAAC;MAC3B;MACA,OAAOD,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAEG,kBAAkB,IAAI,EAAE,CAAC;IAClF;EACF,CAAC,CACF,EACD,0BACF,CAAC,CAACd,MAAM,CAAC;EAETA,MAAM,GAAGV,mCAAmC,CAC1C,CACE;IACEiB,QAAQ,EAAE,uCAAuC;IACjDC,eAAe,EAAGC,IAAI,IAAK;MACzB,IAAI,CAACA,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAE;QACpC,OAAOC,IAAI,CAACC,SAAS,CAAC,EAAE,CAAC;MAC3B;MACA,OAAOD,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAEG,kBAAkB,IAAI,EAAE,CAAC;IAClF;EACF,CAAC,EACD;IACEP,QAAQ,EAAE,wCAAwC;IAClDC,eAAe,EAAGC,IAAI,IAAK;MACzB,MAAMM,mBAAmB,GAAGN,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAEI,mBAAmB;MAChF,IAAI,CAACA,mBAAmB,EAAE;QACxB,OAAOH,IAAI,CAACC,SAAS,CAAC;UAAEG,UAAU,EAAEjB,iBAAiB,CAACC,MAAM,CAAC;UAAEiB,OAAO,EAAE;QAAG,CAAC,CAAC;MAC/E;MACA,OAAOL,IAAI,CAACC,SAAS,CAAC;QAAEI,OAAO,EAAEF;MAAoB,CAAC,CAAC;IACzD;EACF,CAAC,CACF,EACD,sBACF,CAAC,CAACf,MAAM,CAAC;EAET,OAAOA,MAAM;AACf,CAAC;AAACkB,OAAA,CAAAb,iBAAA,GAAAA,iBAAA;AAAA,IAAAc,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEaf,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"withInlineModules.js","names":["_configPlugins","data","require","createBuildGradlePropsConfigPlugin","AndroidConfig","BuildProperties","createBuildPodfilePropsConfigPlugin","IOSConfig","escapeXMLCharacters","original","noAmps","replace","noLt","noGt","noApos","getMainTargetName","config","name","safeName","XcodeUtils","sanitizedName","withInlineModules","props","propName","propValueGetter","conf","experiments","inlineModules","JSON","stringify","watchedDirectories","xcodeProjectTargets","mainTarget","targets","exports","_default","default"],"sources":["../../../../src/plugins/unversioned/expo-inline-modules/withInlineModules.ts"],"sourcesContent":["import { AndroidConfig, IOSConfig } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nconst { createBuildGradlePropsConfigPlugin } = AndroidConfig.BuildProperties;\nconst { createBuildPodfilePropsConfigPlugin } = IOSConfig.BuildProperties;\n\nfunction escapeXMLCharacters(original: string): string {\n const noAmps = original.replace('&', '&amp;');\n const noLt = noAmps.replace('<', '&lt;');\n const noGt = noLt.replace('>', '&gt;');\n const noApos = noGt.replace('\"', '\\\\\"');\n return noApos.replace(\"'\", \"\\\\'\");\n}\n\n// Note that this main target name is based on how `@expo/cli/src/prebuild/renameTemplateAppNameAsync.ts` preprocesses the ios project template.\n// It is neccesary to match the target name in the path to ExpoModulesProvider.swift for the main target as is used when generating it.\nfunction getMainTargetName(config: ExpoConfig): string {\n const name = config.name;\n const safeName = escapeXMLCharacters(name);\n return IOSConfig.XcodeUtils.sanitizedName(safeName);\n}\n\nexport const withInlineModules = (config: ExpoConfig, props: any) => {\n config = createBuildGradlePropsConfigPlugin(\n [\n {\n propName: 'expo.inlineModules.watchedDirectories',\n propValueGetter: (conf) => {\n if (!conf.experiments?.inlineModules) {\n return JSON.stringify([]);\n }\n return JSON.stringify(conf.experiments?.inlineModules?.watchedDirectories ?? []);\n },\n },\n ],\n 'withAndroidInlineModules'\n )(config);\n\n config = createBuildPodfilePropsConfigPlugin(\n [\n {\n propName: 'expo.inlineModules.watchedDirectories',\n propValueGetter: (conf) => {\n if (!conf.experiments?.inlineModules) {\n return JSON.stringify([]);\n }\n return JSON.stringify(conf.experiments?.inlineModules?.watchedDirectories ?? []);\n },\n },\n {\n propName: 'expo.inlineModules.xcodeProjectTargets',\n propValueGetter: (conf) => {\n const xcodeProjectTargets = conf.experiments?.inlineModules?.xcodeProjectTargets;\n if (!xcodeProjectTargets) {\n return JSON.stringify({ mainTarget: getMainTargetName(config), targets: [] });\n }\n return JSON.stringify({ targets: xcodeProjectTargets });\n },\n },\n ],\n 'withIosInlineModules'\n )(config);\n\n return config;\n};\n\nexport default withInlineModules;\n"],"mappings":";;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,MAAM;EAAEE;AAAmC,CAAC,GAAGC,8BAAa,CAACC,eAAe;AAC5E,MAAM;EAAEC;AAAoC,CAAC,GAAGC,0BAAS,CAACF,eAAe;AAEzE,SAASG,mBAAmBA,CAACC,QAAgB,EAAU;EACrD,MAAMC,MAAM,GAAGD,QAAQ,CAACE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;EAC7C,MAAMC,IAAI,GAAGF,MAAM,CAACC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;EACxC,MAAME,IAAI,GAAGD,IAAI,CAACD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;EACtC,MAAMG,MAAM,GAAGD,IAAI,CAACF,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;EACvC,OAAOG,MAAM,CAACH,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;AACnC;;AAEA;AACA;AACA,SAASI,iBAAiBA,CAACC,MAAkB,EAAU;EACrD,MAAMC,IAAI,GAAGD,MAAM,CAACC,IAAI;EACxB,MAAMC,QAAQ,GAAGV,mBAAmB,CAACS,IAAI,CAAC;EAC1C,OAAOV,0BAAS,CAACY,UAAU,CAACC,aAAa,CAACF,QAAQ,CAAC;AACrD;AAEO,MAAMG,iBAAiB,GAAGA,CAACL,MAAkB,EAAEM,KAAU,KAAK;EACnEN,MAAM,GAAGb,kCAAkC,CACzC,CACE;IACEoB,QAAQ,EAAE,uCAAuC;IACjDC,eAAe,EAAGC,IAAI,IAAK;MACzB,IAAI,CAACA,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAE;QACpC,OAAOC,IAAI,CAACC,SAAS,CAAC,EAAE,CAAC;MAC3B;MACA,OAAOD,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAEG,kBAAkB,IAAI,EAAE,CAAC;IAClF;EACF,CAAC,CACF,EACD,0BACF,CAAC,CAACd,MAAM,CAAC;EAETA,MAAM,GAAGV,mCAAmC,CAC1C,CACE;IACEiB,QAAQ,EAAE,uCAAuC;IACjDC,eAAe,EAAGC,IAAI,IAAK;MACzB,IAAI,CAACA,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAE;QACpC,OAAOC,IAAI,CAACC,SAAS,CAAC,EAAE,CAAC;MAC3B;MACA,OAAOD,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAEG,kBAAkB,IAAI,EAAE,CAAC;IAClF;EACF,CAAC,EACD;IACEP,QAAQ,EAAE,wCAAwC;IAClDC,eAAe,EAAGC,IAAI,IAAK;MACzB,MAAMM,mBAAmB,GAAGN,IAAI,CAACC,WAAW,EAAEC,aAAa,EAAEI,mBAAmB;MAChF,IAAI,CAACA,mBAAmB,EAAE;QACxB,OAAOH,IAAI,CAACC,SAAS,CAAC;UAAEG,UAAU,EAAEjB,iBAAiB,CAACC,MAAM,CAAC;UAAEiB,OAAO,EAAE;QAAG,CAAC,CAAC;MAC/E;MACA,OAAOL,IAAI,CAACC,SAAS,CAAC;QAAEI,OAAO,EAAEF;MAAoB,CAAC,CAAC;IACzD;EACF,CAAC,CACF,EACD,sBACF,CAAC,CAACf,MAAM,CAAC;EAET,OAAOA,MAAM;AACf,CAAC;AAACkB,OAAA,CAAAb,iBAAA,GAAAA,iBAAA;AAAA,IAAAc,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEaf,iBAAiB","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withNotificationError = exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"expo-notifications.js","names":["_configPlugins","data","require","_createLegacyPlugin","withNotificationError","config","withDangerousMod","Error","exports","_default","default","createLegacyPlugin","packageName","fallback"],"sources":["../../../../src/plugins/unversioned/expo-notifications/expo-notifications.ts"],"sourcesContent":["import { type ConfigPlugin, withDangerousMod } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from '../createLegacyPlugin';\n\nexport const withNotificationError: ConfigPlugin = (config) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n if ('notification' in config) {\n throw new Error(\n 'The `notification` property in app config is no longer supported. Use the `expo-notifications` config plugin instead.'\n );\n }\n return config;\n },\n ]);\n};\n\nexport default createLegacyPlugin({\n packageName: 'expo-notifications',\n fallback: [\n // Android\n withNotificationError,\n // iOS\n // Automatic setting of APNS entitlement is no longer needed\n ],\n});\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,qBAAmC,GAAIC,MAAM,IAAK;EAC7D,OAAO,IAAAC,iCAAgB,EAACD,MAAM,EAAE,CAC9B,SAAS,EACT,MAAOA,MAAM,IAAK;IAChB,IAAI,cAAc,IAAIA,MAAM,EAAE;MAC5B,MAAM,IAAIE,KAAK,CACb,uHACF,CAAC;IACH;IACA,OAAOF,MAAM;EACf,CAAC,CACF,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAJ,qBAAA,GAAAA,qBAAA;AAAA,IAAAK,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEa,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,oBAAoB;EACjCC,QAAQ,EAAE;EACR;EACAT;EACA;EACA;EAAA;AAEJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"expo-notifications.js","names":["_configPlugins","data","require","_createLegacyPlugin","withNotificationError","config","withDangerousMod","Error","exports","_default","default","createLegacyPlugin","packageName","fallback"],"sources":["../../../../src/plugins/unversioned/expo-notifications/expo-notifications.ts"],"sourcesContent":["import { type ConfigPlugin, withDangerousMod } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from '../createLegacyPlugin';\n\nexport const withNotificationError: ConfigPlugin = (config) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n if ('notification' in config) {\n throw new Error(\n 'The `notification` property in app config is no longer supported. Use the `expo-notifications` config plugin instead.'\n );\n }\n return config;\n },\n ]);\n};\n\nexport default createLegacyPlugin({\n packageName: 'expo-notifications',\n fallback: [\n // Android\n withNotificationError,\n // iOS\n // Automatic setting of APNS entitlement is no longer needed\n ],\n});\n"],"mappings":";;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,qBAAmC,GAAIC,MAAM,IAAK;EAC7D,OAAO,IAAAC,iCAAgB,EAACD,MAAM,EAAE,CAC9B,SAAS,EACT,MAAOA,MAAM,IAAK;IAChB,IAAI,cAAc,IAAIA,MAAM,EAAE;MAC5B,MAAM,IAAIE,KAAK,CACb,uHACF,CAAC;IACH;IACA,OAAOF,MAAM;EACf,CAAC,CACF,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAJ,qBAAA,GAAAA,qBAAA;AAAA,IAAAK,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEa,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,oBAAoB;EACjCC,QAAQ,EAAE;EACR;EACAT;EACA;EACA;EAAA;AAEJ,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.default = void 0;
7
5
  function _withAndroidRootViewBackgroundColor() {
8
6
  const data = require("./withAndroidRootViewBackgroundColor");
@@ -1 +1 @@
1
- {"version":3,"file":"expo-system-ui.js","names":["_withAndroidRootViewBackgroundColor","data","require","_withAndroidUserInterfaceStyle","_withIosRootViewBackgroundColor","_withIosUserInterfaceStyle","_createLegacyPlugin","_default","exports","default","createLegacyPlugin","packageName","fallback","withAndroidRootViewBackgroundColor","withIosRootViewBackgroundColor","withAndroidUserInterfaceStyle","withIosUserInterfaceStyle"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/expo-system-ui.ts"],"sourcesContent":["import { withAndroidRootViewBackgroundColor } from './withAndroidRootViewBackgroundColor';\nimport { withAndroidUserInterfaceStyle } from './withAndroidUserInterfaceStyle';\nimport { withIosRootViewBackgroundColor } from './withIosRootViewBackgroundColor';\nimport { withIosUserInterfaceStyle } from './withIosUserInterfaceStyle';\nimport { createLegacyPlugin } from '../createLegacyPlugin';\n\nexport default createLegacyPlugin({\n packageName: 'expo-system-ui',\n fallback: [\n withAndroidRootViewBackgroundColor,\n withIosRootViewBackgroundColor,\n withAndroidUserInterfaceStyle,\n withIosUserInterfaceStyle,\n ],\n});\n"],"mappings":";;;;;;AAAA,SAAAA,oCAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mCAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,+BAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,8BAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gCAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,+BAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,2BAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,0BAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,oBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,mBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE5C,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,gBAAgB;EAC7BC,QAAQ,EAAE,CACRC,wEAAkC,EAClCC,gEAA8B,EAC9BC,8DAA6B,EAC7BC,sDAAyB;AAE7B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"expo-system-ui.js","names":["_withAndroidRootViewBackgroundColor","data","require","_withAndroidUserInterfaceStyle","_withIosRootViewBackgroundColor","_withIosUserInterfaceStyle","_createLegacyPlugin","_default","exports","default","createLegacyPlugin","packageName","fallback","withAndroidRootViewBackgroundColor","withIosRootViewBackgroundColor","withAndroidUserInterfaceStyle","withIosUserInterfaceStyle"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/expo-system-ui.ts"],"sourcesContent":["import { withAndroidRootViewBackgroundColor } from './withAndroidRootViewBackgroundColor';\nimport { withAndroidUserInterfaceStyle } from './withAndroidUserInterfaceStyle';\nimport { withIosRootViewBackgroundColor } from './withIosRootViewBackgroundColor';\nimport { withIosUserInterfaceStyle } from './withIosUserInterfaceStyle';\nimport { createLegacyPlugin } from '../createLegacyPlugin';\n\nexport default createLegacyPlugin({\n packageName: 'expo-system-ui',\n fallback: [\n withAndroidRootViewBackgroundColor,\n withIosRootViewBackgroundColor,\n withAndroidUserInterfaceStyle,\n withIosUserInterfaceStyle,\n ],\n});\n"],"mappings":";;;;AAAA,SAAAA,oCAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mCAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,+BAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,8BAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gCAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,+BAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,2BAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,0BAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,oBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,mBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE5C,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,gBAAgB;EAC7BC,QAAQ,EAAE,CACRC,wEAAkC,EAClCC,gEAA8B,EAC9BC,8DAA6B,EAC7BC,sDAAyB;AAE7B,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getRootViewBackgroundColor = getRootViewBackgroundColor;
7
5
  exports.withRootViewBackgroundColorStyles = exports.withRootViewBackgroundColorColors = exports.withAndroidRootViewBackgroundColor = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidRootViewBackgroundColor.js","names":["_configPlugins","data","require","assignColorValue","AndroidConfig","Colors","assignStylesValue","getAppThemeGroup","Styles","ANDROID_WINDOW_BACKGROUND","WINDOW_BACKGROUND_COLOR","withAndroidRootViewBackgroundColor","config","withRootViewBackgroundColorColors","withRootViewBackgroundColorStyles","exports","withAndroidColors","modResults","value","getRootViewBackgroundColor","name","withAndroidStyles","add","parent","android","backgroundColor"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, withAndroidColors, withAndroidStyles } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nconst { assignColorValue } = AndroidConfig.Colors;\nconst { assignStylesValue, getAppThemeGroup } = AndroidConfig.Styles;\n\nconst ANDROID_WINDOW_BACKGROUND = 'android:windowBackground';\nconst WINDOW_BACKGROUND_COLOR = 'activityBackground';\n\nexport const withAndroidRootViewBackgroundColor: ConfigPlugin = (config) => {\n config = withRootViewBackgroundColorColors(config);\n config = withRootViewBackgroundColorStyles(config);\n return config;\n};\n\nexport const withRootViewBackgroundColorColors: ConfigPlugin = (config) => {\n return withAndroidColors(config, async (config) => {\n config.modResults = assignColorValue(config.modResults, {\n value: getRootViewBackgroundColor(config),\n name: WINDOW_BACKGROUND_COLOR,\n });\n return config;\n });\n};\n\nexport const withRootViewBackgroundColorStyles: ConfigPlugin = (config) => {\n return withAndroidStyles(config, async (config) => {\n config.modResults = assignStylesValue(config.modResults, {\n add: !!getRootViewBackgroundColor(config),\n parent: getAppThemeGroup(),\n name: ANDROID_WINDOW_BACKGROUND,\n value: `@color/${WINDOW_BACKGROUND_COLOR}`,\n });\n return config;\n });\n};\n\nexport function getRootViewBackgroundColor(\n config: Pick<ExpoConfig, 'android' | 'backgroundColor'>\n) {\n return config.android?.backgroundColor || config.backgroundColor || null;\n}\n"],"mappings":";;;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,MAAM;EAAEE;AAAiB,CAAC,GAAGC,8BAAa,CAACC,MAAM;AACjD,MAAM;EAAEC,iBAAiB;EAAEC;AAAiB,CAAC,GAAGH,8BAAa,CAACI,MAAM;AAEpE,MAAMC,yBAAyB,GAAG,0BAA0B;AAC5D,MAAMC,uBAAuB,GAAG,oBAAoB;AAE7C,MAAMC,kCAAgD,GAAIC,MAAM,IAAK;EAC1EA,MAAM,GAAGC,iCAAiC,CAACD,MAAM,CAAC;EAClDA,MAAM,GAAGE,iCAAiC,CAACF,MAAM,CAAC;EAClD,OAAOA,MAAM;AACf,CAAC;AAACG,OAAA,CAAAJ,kCAAA,GAAAA,kCAAA;AAEK,MAAME,iCAA+C,GAAID,MAAM,IAAK;EACzE,OAAO,IAAAI,kCAAiB,EAACJ,MAAM,EAAE,MAAOA,MAAM,IAAK;IACjDA,MAAM,CAACK,UAAU,GAAGd,gBAAgB,CAACS,MAAM,CAACK,UAAU,EAAE;MACtDC,KAAK,EAAEC,0BAA0B,CAACP,MAAM,CAAC;MACzCQ,IAAI,EAAEV;IACR,CAAC,CAAC;IACF,OAAOE,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAF,iCAAA,GAAAA,iCAAA;AAEK,MAAMC,iCAA+C,GAAIF,MAAM,IAAK;EACzE,OAAO,IAAAS,kCAAiB,EAACT,MAAM,EAAE,MAAOA,MAAM,IAAK;IACjDA,MAAM,CAACK,UAAU,GAAGX,iBAAiB,CAACM,MAAM,CAACK,UAAU,EAAE;MACvDK,GAAG,EAAE,CAAC,CAACH,0BAA0B,CAACP,MAAM,CAAC;MACzCW,MAAM,EAAEhB,gBAAgB,CAAC,CAAC;MAC1Ba,IAAI,EAAEX,yBAAyB;MAC/BS,KAAK,EAAE,UAAUR,uBAAuB;IAC1C,CAAC,CAAC;IACF,OAAOE,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAD,iCAAA,GAAAA,iCAAA;AAEK,SAASK,0BAA0BA,CACxCP,MAAuD,EACvD;EACA,OAAOA,MAAM,CAACY,OAAO,EAAEC,eAAe,IAAIb,MAAM,CAACa,eAAe,IAAI,IAAI;AAC1E","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidRootViewBackgroundColor.js","names":["_configPlugins","data","require","assignColorValue","AndroidConfig","Colors","assignStylesValue","getAppThemeGroup","Styles","ANDROID_WINDOW_BACKGROUND","WINDOW_BACKGROUND_COLOR","withAndroidRootViewBackgroundColor","config","withRootViewBackgroundColorColors","withRootViewBackgroundColorStyles","exports","withAndroidColors","modResults","value","getRootViewBackgroundColor","name","withAndroidStyles","add","parent","android","backgroundColor"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, withAndroidColors, withAndroidStyles } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nconst { assignColorValue } = AndroidConfig.Colors;\nconst { assignStylesValue, getAppThemeGroup } = AndroidConfig.Styles;\n\nconst ANDROID_WINDOW_BACKGROUND = 'android:windowBackground';\nconst WINDOW_BACKGROUND_COLOR = 'activityBackground';\n\nexport const withAndroidRootViewBackgroundColor: ConfigPlugin = (config) => {\n config = withRootViewBackgroundColorColors(config);\n config = withRootViewBackgroundColorStyles(config);\n return config;\n};\n\nexport const withRootViewBackgroundColorColors: ConfigPlugin = (config) => {\n return withAndroidColors(config, async (config) => {\n config.modResults = assignColorValue(config.modResults, {\n value: getRootViewBackgroundColor(config),\n name: WINDOW_BACKGROUND_COLOR,\n });\n return config;\n });\n};\n\nexport const withRootViewBackgroundColorStyles: ConfigPlugin = (config) => {\n return withAndroidStyles(config, async (config) => {\n config.modResults = assignStylesValue(config.modResults, {\n add: !!getRootViewBackgroundColor(config),\n parent: getAppThemeGroup(),\n name: ANDROID_WINDOW_BACKGROUND,\n value: `@color/${WINDOW_BACKGROUND_COLOR}`,\n });\n return config;\n });\n};\n\nexport function getRootViewBackgroundColor(\n config: Pick<ExpoConfig, 'android' | 'backgroundColor'>\n) {\n return config.android?.backgroundColor || config.backgroundColor || null;\n}\n"],"mappings":";;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,MAAM;EAAEE;AAAiB,CAAC,GAAGC,8BAAa,CAACC,MAAM;AACjD,MAAM;EAAEC,iBAAiB;EAAEC;AAAiB,CAAC,GAAGH,8BAAa,CAACI,MAAM;AAEpE,MAAMC,yBAAyB,GAAG,0BAA0B;AAC5D,MAAMC,uBAAuB,GAAG,oBAAoB;AAE7C,MAAMC,kCAAgD,GAAIC,MAAM,IAAK;EAC1EA,MAAM,GAAGC,iCAAiC,CAACD,MAAM,CAAC;EAClDA,MAAM,GAAGE,iCAAiC,CAACF,MAAM,CAAC;EAClD,OAAOA,MAAM;AACf,CAAC;AAACG,OAAA,CAAAJ,kCAAA,GAAAA,kCAAA;AAEK,MAAME,iCAA+C,GAAID,MAAM,IAAK;EACzE,OAAO,IAAAI,kCAAiB,EAACJ,MAAM,EAAE,MAAOA,MAAM,IAAK;IACjDA,MAAM,CAACK,UAAU,GAAGd,gBAAgB,CAACS,MAAM,CAACK,UAAU,EAAE;MACtDC,KAAK,EAAEC,0BAA0B,CAACP,MAAM,CAAC;MACzCQ,IAAI,EAAEV;IACR,CAAC,CAAC;IACF,OAAOE,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAF,iCAAA,GAAAA,iCAAA;AAEK,MAAMC,iCAA+C,GAAIF,MAAM,IAAK;EACzE,OAAO,IAAAS,kCAAiB,EAACT,MAAM,EAAE,MAAOA,MAAM,IAAK;IACjDA,MAAM,CAACK,UAAU,GAAGX,iBAAiB,CAACM,MAAM,CAACK,UAAU,EAAE;MACvDK,GAAG,EAAE,CAAC,CAACH,0BAA0B,CAACP,MAAM,CAAC;MACzCW,MAAM,EAAEhB,gBAAgB,CAAC,CAAC;MAC1Ba,IAAI,EAAEX,yBAAyB;MAC/BS,KAAK,EAAE,UAAUR,uBAAuB;IAC1C,CAAC,CAAC;IACF,OAAOE,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACG,OAAA,CAAAD,iCAAA,GAAAA,iCAAA;AAEK,SAASK,0BAA0BA,CACxCP,MAAuD,EACvD;EACA,OAAOA,MAAM,CAACY,OAAO,EAAEC,eAAe,IAAIb,MAAM,CAACa,eAAe,IAAI,IAAI;AAC1E","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withAndroidUserInterfaceStyle = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidUserInterfaceStyle.js","names":["_configPlugins","data","require","withAndroidUserInterfaceStyle","config","withStringsXml","userInterfaceStyle","android","WarningAggregator","addWarningAndroid","exports"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { WarningAggregator, withStringsXml } from '@expo/config-plugins';\n\nexport const withAndroidUserInterfaceStyle: ConfigPlugin<void> = (config) => {\n return withStringsXml(config, (config) => {\n const userInterfaceStyle = config.android?.userInterfaceStyle ?? config.userInterfaceStyle;\n if (userInterfaceStyle) {\n WarningAggregator.addWarningAndroid(\n 'userInterfaceStyle',\n // TODO: Maybe warn that they need a certain version of React Native as well?\n 'Install expo-system-ui in your project to enable this feature.'\n );\n }\n\n return config;\n });\n};\n"],"mappings":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,6BAAiD,GAAIC,MAAM,IAAK;EAC3E,OAAO,IAAAC,+BAAc,EAACD,MAAM,EAAGA,MAAM,IAAK;IACxC,MAAME,kBAAkB,GAAGF,MAAM,CAACG,OAAO,EAAED,kBAAkB,IAAIF,MAAM,CAACE,kBAAkB;IAC1F,IAAIA,kBAAkB,EAAE;MACtBE,kCAAiB,CAACC,iBAAiB,CACjC,oBAAoB;MACpB;MACA,gEACF,CAAC;IACH;IAEA,OAAOL,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACM,OAAA,CAAAP,6BAAA,GAAAA,6BAAA","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidUserInterfaceStyle.js","names":["_configPlugins","data","require","withAndroidUserInterfaceStyle","config","withStringsXml","userInterfaceStyle","android","WarningAggregator","addWarningAndroid","exports"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { WarningAggregator, withStringsXml } from '@expo/config-plugins';\n\nexport const withAndroidUserInterfaceStyle: ConfigPlugin<void> = (config) => {\n return withStringsXml(config, (config) => {\n const userInterfaceStyle = config.android?.userInterfaceStyle ?? config.userInterfaceStyle;\n if (userInterfaceStyle) {\n WarningAggregator.addWarningAndroid(\n 'userInterfaceStyle',\n // TODO: Maybe warn that they need a certain version of React Native as well?\n 'Install expo-system-ui in your project to enable this feature.'\n );\n }\n\n return config;\n });\n};\n"],"mappings":";;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,6BAAiD,GAAIC,MAAM,IAAK;EAC3E,OAAO,IAAAC,+BAAc,EAACD,MAAM,EAAGA,MAAM,IAAK;IACxC,MAAME,kBAAkB,GAAGF,MAAM,CAACG,OAAO,EAAED,kBAAkB,IAAIF,MAAM,CAACE,kBAAkB;IAC1F,IAAIA,kBAAkB,EAAE;MACtBE,kCAAiB,CAACC,iBAAiB,CACjC,oBAAoB;MACpB;MACA,gEACF,CAAC;IACH;IAEA,OAAOL,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACM,OAAA,CAAAP,6BAAA,GAAAA,6BAAA","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getRootViewBackgroundColor = getRootViewBackgroundColor;
7
5
  exports.setRootViewBackgroundColor = setRootViewBackgroundColor;
8
6
  exports.shouldUseLegacyBehavior = shouldUseLegacyBehavior;
@@ -1 +1 @@
1
- {"version":3,"file":"withIosRootViewBackgroundColor.js","names":["_configPlugins","data","require","_normalizeColors","_interopRequireDefault","_semver","e","__esModule","default","BACKGROUND_COLOR_KEY","debug","withIosRootViewBackgroundColor","config","withInfoPlist","shouldUseLegacyBehavior","modResults","setRootViewBackgroundColor","warnSystemUIMissing","exports","sdkVersion","semver","lt","backgroundColor","getRootViewBackgroundColor","WarningAggregator","addWarningIOS","infoPlist","color","normalizeColor","Error","ios"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.ts"],"sourcesContent":["import type { ConfigPlugin, InfoPlist } from '@expo/config-plugins';\nimport { WarningAggregator, withInfoPlist } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n// @ts-ignore: uses flow\nimport normalizeColor from '@react-native/normalize-colors';\nimport semver from 'semver';\n\n// Maps to the template AppDelegate.m\nconst BACKGROUND_COLOR_KEY = 'RCTRootViewBackgroundColor';\n\nconst debug = require('debug')('expo:system-ui:plugin:ios');\n\nexport const withIosRootViewBackgroundColor: ConfigPlugin = (config) => {\n config = withInfoPlist(config, (config) => {\n if (shouldUseLegacyBehavior(config)) {\n config.modResults = setRootViewBackgroundColor(config, config.modResults);\n } else {\n warnSystemUIMissing(config);\n }\n return config;\n });\n return config;\n};\n\n/** The template was changed in SDK 43 to move the background color logic to the `expo-system-ui` module */\nexport function shouldUseLegacyBehavior(config: Pick<ExpoConfig, 'sdkVersion'>): boolean {\n try {\n return !!(config.sdkVersion && semver.lt(config.sdkVersion, '44.0.0'));\n } catch {}\n return false;\n}\n\nexport function warnSystemUIMissing(\n config: Pick<ExpoConfig, 'sdkVersion' | 'backgroundColor' | 'ios'>\n) {\n const backgroundColor = getRootViewBackgroundColor(config);\n\n if (backgroundColor) {\n // Background color needs to be set programmatically\n WarningAggregator.addWarningIOS(\n 'ios.backgroundColor',\n 'Install expo-system-ui to enable this feature',\n 'https://docs.expo.dev/build-reference/migrating/#expo-config--backgroundcolor--depends-on'\n );\n }\n}\n\nexport function setRootViewBackgroundColor(\n config: Pick<ExpoConfig, 'backgroundColor' | 'ios'>,\n infoPlist: InfoPlist\n): InfoPlist {\n const backgroundColor = getRootViewBackgroundColor(config);\n if (!backgroundColor) {\n delete infoPlist[BACKGROUND_COLOR_KEY];\n } else {\n let color = normalizeColor(backgroundColor);\n if (!color) {\n throw new Error('Invalid background color on iOS');\n }\n color = ((color << 24) | (color >>> 8)) >>> 0;\n infoPlist[BACKGROUND_COLOR_KEY] = color;\n\n debug(`Convert color: ${backgroundColor} -> ${color}`);\n }\n return infoPlist;\n}\n\nexport function getRootViewBackgroundColor(config: Pick<ExpoConfig, 'ios' | 'backgroundColor'>) {\n return config.ios?.backgroundColor || config.backgroundColor || null;\n}\n"],"mappings":";;;;;;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,iBAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,gBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF5B;;AAIA;AACA,MAAMG,oBAAoB,GAAG,4BAA4B;AAEzD,MAAMC,KAAK,GAAGR,OAAO,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC;AAEpD,MAAMS,8BAA4C,GAAIC,MAAM,IAAK;EACtEA,MAAM,GAAG,IAAAC,8BAAa,EAACD,MAAM,EAAGA,MAAM,IAAK;IACzC,IAAIE,uBAAuB,CAACF,MAAM,CAAC,EAAE;MACnCA,MAAM,CAACG,UAAU,GAAGC,0BAA0B,CAACJ,MAAM,EAAEA,MAAM,CAACG,UAAU,CAAC;IAC3E,CAAC,MAAM;MACLE,mBAAmB,CAACL,MAAM,CAAC;IAC7B;IACA,OAAOA,MAAM;EACf,CAAC,CAAC;EACF,OAAOA,MAAM;AACf,CAAC;;AAED;AAAAM,OAAA,CAAAP,8BAAA,GAAAA,8BAAA;AACO,SAASG,uBAAuBA,CAACF,MAAsC,EAAW;EACvF,IAAI;IACF,OAAO,CAAC,EAAEA,MAAM,CAACO,UAAU,IAAIC,iBAAM,CAACC,EAAE,CAACT,MAAM,CAACO,UAAU,EAAE,QAAQ,CAAC,CAAC;EACxE,CAAC,CAAC,MAAM,CAAC;EACT,OAAO,KAAK;AACd;AAEO,SAASF,mBAAmBA,CACjCL,MAAkE,EAClE;EACA,MAAMU,eAAe,GAAGC,0BAA0B,CAACX,MAAM,CAAC;EAE1D,IAAIU,eAAe,EAAE;IACnB;IACAE,kCAAiB,CAACC,aAAa,CAC7B,qBAAqB,EACrB,+CAA+C,EAC/C,2FACF,CAAC;EACH;AACF;AAEO,SAAST,0BAA0BA,CACxCJ,MAAmD,EACnDc,SAAoB,EACT;EACX,MAAMJ,eAAe,GAAGC,0BAA0B,CAACX,MAAM,CAAC;EAC1D,IAAI,CAACU,eAAe,EAAE;IACpB,OAAOI,SAAS,CAACjB,oBAAoB,CAAC;EACxC,CAAC,MAAM;IACL,IAAIkB,KAAK,GAAG,IAAAC,0BAAc,EAACN,eAAe,CAAC;IAC3C,IAAI,CAACK,KAAK,EAAE;MACV,MAAM,IAAIE,KAAK,CAAC,iCAAiC,CAAC;IACpD;IACAF,KAAK,GAAG,CAAEA,KAAK,IAAI,EAAE,GAAKA,KAAK,KAAK,CAAE,MAAM,CAAC;IAC7CD,SAAS,CAACjB,oBAAoB,CAAC,GAAGkB,KAAK;IAEvCjB,KAAK,CAAC,kBAAkBY,eAAe,OAAOK,KAAK,EAAE,CAAC;EACxD;EACA,OAAOD,SAAS;AAClB;AAEO,SAASH,0BAA0BA,CAACX,MAAmD,EAAE;EAC9F,OAAOA,MAAM,CAACkB,GAAG,EAAER,eAAe,IAAIV,MAAM,CAACU,eAAe,IAAI,IAAI;AACtE","ignoreList":[]}
1
+ {"version":3,"file":"withIosRootViewBackgroundColor.js","names":["_configPlugins","data","require","_normalizeColors","_interopRequireDefault","_semver","e","__esModule","default","BACKGROUND_COLOR_KEY","debug","withIosRootViewBackgroundColor","config","withInfoPlist","shouldUseLegacyBehavior","modResults","setRootViewBackgroundColor","warnSystemUIMissing","exports","sdkVersion","semver","lt","backgroundColor","getRootViewBackgroundColor","WarningAggregator","addWarningIOS","infoPlist","color","normalizeColor","Error","ios"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.ts"],"sourcesContent":["import type { ConfigPlugin, InfoPlist } from '@expo/config-plugins';\nimport { WarningAggregator, withInfoPlist } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n// @ts-ignore: uses flow\nimport normalizeColor from '@react-native/normalize-colors';\nimport semver from 'semver';\n\n// Maps to the template AppDelegate.m\nconst BACKGROUND_COLOR_KEY = 'RCTRootViewBackgroundColor';\n\nconst debug = require('debug')('expo:system-ui:plugin:ios');\n\nexport const withIosRootViewBackgroundColor: ConfigPlugin = (config) => {\n config = withInfoPlist(config, (config) => {\n if (shouldUseLegacyBehavior(config)) {\n config.modResults = setRootViewBackgroundColor(config, config.modResults);\n } else {\n warnSystemUIMissing(config);\n }\n return config;\n });\n return config;\n};\n\n/** The template was changed in SDK 43 to move the background color logic to the `expo-system-ui` module */\nexport function shouldUseLegacyBehavior(config: Pick<ExpoConfig, 'sdkVersion'>): boolean {\n try {\n return !!(config.sdkVersion && semver.lt(config.sdkVersion, '44.0.0'));\n } catch {}\n return false;\n}\n\nexport function warnSystemUIMissing(\n config: Pick<ExpoConfig, 'sdkVersion' | 'backgroundColor' | 'ios'>\n) {\n const backgroundColor = getRootViewBackgroundColor(config);\n\n if (backgroundColor) {\n // Background color needs to be set programmatically\n WarningAggregator.addWarningIOS(\n 'ios.backgroundColor',\n 'Install expo-system-ui to enable this feature',\n 'https://docs.expo.dev/build-reference/migrating/#expo-config--backgroundcolor--depends-on'\n );\n }\n}\n\nexport function setRootViewBackgroundColor(\n config: Pick<ExpoConfig, 'backgroundColor' | 'ios'>,\n infoPlist: InfoPlist\n): InfoPlist {\n const backgroundColor = getRootViewBackgroundColor(config);\n if (!backgroundColor) {\n delete infoPlist[BACKGROUND_COLOR_KEY];\n } else {\n let color = normalizeColor(backgroundColor);\n if (!color) {\n throw new Error('Invalid background color on iOS');\n }\n color = ((color << 24) | (color >>> 8)) >>> 0;\n infoPlist[BACKGROUND_COLOR_KEY] = color;\n\n debug(`Convert color: ${backgroundColor} -> ${color}`);\n }\n return infoPlist;\n}\n\nexport function getRootViewBackgroundColor(config: Pick<ExpoConfig, 'ios' | 'backgroundColor'>) {\n return config.ios?.backgroundColor || config.backgroundColor || null;\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,iBAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,gBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF5B;;AAIA;AACA,MAAMG,oBAAoB,GAAG,4BAA4B;AAEzD,MAAMC,KAAK,GAAGR,OAAO,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC;AAEpD,MAAMS,8BAA4C,GAAIC,MAAM,IAAK;EACtEA,MAAM,GAAG,IAAAC,8BAAa,EAACD,MAAM,EAAGA,MAAM,IAAK;IACzC,IAAIE,uBAAuB,CAACF,MAAM,CAAC,EAAE;MACnCA,MAAM,CAACG,UAAU,GAAGC,0BAA0B,CAACJ,MAAM,EAAEA,MAAM,CAACG,UAAU,CAAC;IAC3E,CAAC,MAAM;MACLE,mBAAmB,CAACL,MAAM,CAAC;IAC7B;IACA,OAAOA,MAAM;EACf,CAAC,CAAC;EACF,OAAOA,MAAM;AACf,CAAC;;AAED;AAAAM,OAAA,CAAAP,8BAAA,GAAAA,8BAAA;AACO,SAASG,uBAAuBA,CAACF,MAAsC,EAAW;EACvF,IAAI;IACF,OAAO,CAAC,EAAEA,MAAM,CAACO,UAAU,IAAIC,iBAAM,CAACC,EAAE,CAACT,MAAM,CAACO,UAAU,EAAE,QAAQ,CAAC,CAAC;EACxE,CAAC,CAAC,MAAM,CAAC;EACT,OAAO,KAAK;AACd;AAEO,SAASF,mBAAmBA,CACjCL,MAAkE,EAClE;EACA,MAAMU,eAAe,GAAGC,0BAA0B,CAACX,MAAM,CAAC;EAE1D,IAAIU,eAAe,EAAE;IACnB;IACAE,kCAAiB,CAACC,aAAa,CAC7B,qBAAqB,EACrB,+CAA+C,EAC/C,2FACF,CAAC;EACH;AACF;AAEO,SAAST,0BAA0BA,CACxCJ,MAAmD,EACnDc,SAAoB,EACT;EACX,MAAMJ,eAAe,GAAGC,0BAA0B,CAACX,MAAM,CAAC;EAC1D,IAAI,CAACU,eAAe,EAAE;IACpB,OAAOI,SAAS,CAACjB,oBAAoB,CAAC;EACxC,CAAC,MAAM;IACL,IAAIkB,KAAK,GAAG,IAAAC,0BAAc,EAACN,eAAe,CAAC;IAC3C,IAAI,CAACK,KAAK,EAAE;MACV,MAAM,IAAIE,KAAK,CAAC,iCAAiC,CAAC;IACpD;IACAF,KAAK,GAAG,CAAEA,KAAK,IAAI,EAAE,GAAKA,KAAK,KAAK,CAAE,MAAM,CAAC;IAC7CD,SAAS,CAACjB,oBAAoB,CAAC,GAAGkB,KAAK;IAEvCjB,KAAK,CAAC,kBAAkBY,eAAe,OAAOK,KAAK,EAAE,CAAC;EACxD;EACA,OAAOD,SAAS;AAClB;AAEO,SAASH,0BAA0BA,CAACX,MAAmD,EAAE;EAC9F,OAAOA,MAAM,CAACkB,GAAG,EAAER,eAAe,IAAIV,MAAM,CAACU,eAAe,IAAI,IAAI;AACtE","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getUserInterfaceStyle = getUserInterfaceStyle;
7
5
  exports.setUserInterfaceStyle = setUserInterfaceStyle;
8
6
  exports.withIosUserInterfaceStyle = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"withIosUserInterfaceStyle.js","names":["_iosPlugins","data","require","withIosUserInterfaceStyle","exports","createInfoPlistPluginWithPropertyGuard","setUserInterfaceStyle","infoPlistProperty","expoConfigProperty","expoPropertyGetter","getUserInterfaceStyle","config","ios","userInterfaceStyle","UIUserInterfaceStyle","infoPlist","style","mapUserInterfaceStyleForInfoPlist"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.ts"],"sourcesContent":["import type { InfoPlist } from '@expo/config-plugins';\nimport { createInfoPlistPluginWithPropertyGuard } from '@expo/config-plugins/build/plugins/ios-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nexport const withIosUserInterfaceStyle = createInfoPlistPluginWithPropertyGuard(\n setUserInterfaceStyle,\n {\n infoPlistProperty: 'UIUserInterfaceStyle',\n expoConfigProperty: 'userInterfaceStyle | ios.userInterfaceStyle',\n expoPropertyGetter: getUserInterfaceStyle,\n },\n 'withIosUserInterfaceStyle'\n);\n\nexport function getUserInterfaceStyle(\n config: Pick<ExpoConfig, 'ios' | 'userInterfaceStyle'>\n): string {\n return config.ios?.userInterfaceStyle ?? config.userInterfaceStyle ?? 'light';\n}\n\nexport function setUserInterfaceStyle(\n config: Pick<ExpoConfig, 'ios' | 'userInterfaceStyle'>,\n { UIUserInterfaceStyle, ...infoPlist }: InfoPlist\n): InfoPlist {\n const userInterfaceStyle = getUserInterfaceStyle(config);\n const style = mapUserInterfaceStyleForInfoPlist(userInterfaceStyle);\n\n if (!style) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n UIUserInterfaceStyle: style,\n };\n}\n\nfunction mapUserInterfaceStyleForInfoPlist(\n userInterfaceStyle: string\n): NonNullable<InfoPlist['UIUserInterfaceStyle']> | null {\n switch (userInterfaceStyle) {\n case 'light':\n return 'Light';\n case 'dark':\n return 'Dark';\n case 'automatic':\n return 'Automatic';\n }\n\n return null;\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,IAAAE,oDAAsC,EAC7EC,qBAAqB,EACrB;EACEC,iBAAiB,EAAE,sBAAsB;EACzCC,kBAAkB,EAAE,6CAA6C;EACjEC,kBAAkB,EAAEC;AACtB,CAAC,EACD,2BACF,CAAC;AAEM,SAASA,qBAAqBA,CACnCC,MAAsD,EAC9C;EACR,OAAOA,MAAM,CAACC,GAAG,EAAEC,kBAAkB,IAAIF,MAAM,CAACE,kBAAkB,IAAI,OAAO;AAC/E;AAEO,SAASP,qBAAqBA,CACnCK,MAAsD,EACtD;EAAEG,oBAAoB;EAAE,GAAGC;AAAqB,CAAC,EACtC;EACX,MAAMF,kBAAkB,GAAGH,qBAAqB,CAACC,MAAM,CAAC;EACxD,MAAMK,KAAK,GAAGC,iCAAiC,CAACJ,kBAAkB,CAAC;EAEnE,IAAI,CAACG,KAAK,EAAE;IACV,OAAOD,SAAS;EAClB;EAEA,OAAO;IACL,GAAGA,SAAS;IACZD,oBAAoB,EAAEE;EACxB,CAAC;AACH;AAEA,SAASC,iCAAiCA,CACxCJ,kBAA0B,EAC6B;EACvD,QAAQA,kBAAkB;IACxB,KAAK,OAAO;MACV,OAAO,OAAO;IAChB,KAAK,MAAM;MACT,OAAO,MAAM;IACf,KAAK,WAAW;MACd,OAAO,WAAW;EACtB;EAEA,OAAO,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"file":"withIosUserInterfaceStyle.js","names":["_iosPlugins","data","require","withIosUserInterfaceStyle","exports","createInfoPlistPluginWithPropertyGuard","setUserInterfaceStyle","infoPlistProperty","expoConfigProperty","expoPropertyGetter","getUserInterfaceStyle","config","ios","userInterfaceStyle","UIUserInterfaceStyle","infoPlist","style","mapUserInterfaceStyleForInfoPlist"],"sources":["../../../../src/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.ts"],"sourcesContent":["import type { InfoPlist } from '@expo/config-plugins';\nimport { createInfoPlistPluginWithPropertyGuard } from '@expo/config-plugins/build/plugins/ios-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\n\nexport const withIosUserInterfaceStyle = createInfoPlistPluginWithPropertyGuard(\n setUserInterfaceStyle,\n {\n infoPlistProperty: 'UIUserInterfaceStyle',\n expoConfigProperty: 'userInterfaceStyle | ios.userInterfaceStyle',\n expoPropertyGetter: getUserInterfaceStyle,\n },\n 'withIosUserInterfaceStyle'\n);\n\nexport function getUserInterfaceStyle(\n config: Pick<ExpoConfig, 'ios' | 'userInterfaceStyle'>\n): string {\n return config.ios?.userInterfaceStyle ?? config.userInterfaceStyle ?? 'light';\n}\n\nexport function setUserInterfaceStyle(\n config: Pick<ExpoConfig, 'ios' | 'userInterfaceStyle'>,\n { UIUserInterfaceStyle, ...infoPlist }: InfoPlist\n): InfoPlist {\n const userInterfaceStyle = getUserInterfaceStyle(config);\n const style = mapUserInterfaceStyleForInfoPlist(userInterfaceStyle);\n\n if (!style) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n UIUserInterfaceStyle: style,\n };\n}\n\nfunction mapUserInterfaceStyleForInfoPlist(\n userInterfaceStyle: string\n): NonNullable<InfoPlist['UIUserInterfaceStyle']> | null {\n switch (userInterfaceStyle) {\n case 'light':\n return 'Light';\n case 'dark':\n return 'Dark';\n case 'automatic':\n return 'Automatic';\n }\n\n return null;\n}\n"],"mappings":";;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,IAAAE,oDAAsC,EAC7EC,qBAAqB,EACrB;EACEC,iBAAiB,EAAE,sBAAsB;EACzCC,kBAAkB,EAAE,6CAA6C;EACjEC,kBAAkB,EAAEC;AACtB,CAAC,EACD,2BACF,CAAC;AAEM,SAASA,qBAAqBA,CACnCC,MAAsD,EAC9C;EACR,OAAOA,MAAM,CAACC,GAAG,EAAEC,kBAAkB,IAAIF,MAAM,CAACE,kBAAkB,IAAI,OAAO;AAC/E;AAEO,SAASP,qBAAqBA,CACnCK,MAAsD,EACtD;EAAEG,oBAAoB;EAAE,GAAGC;AAAqB,CAAC,EACtC;EACX,MAAMF,kBAAkB,GAAGH,qBAAqB,CAACC,MAAM,CAAC;EACxD,MAAMK,KAAK,GAAGC,iCAAiC,CAACJ,kBAAkB,CAAC;EAEnE,IAAI,CAACG,KAAK,EAAE;IACV,OAAOD,SAAS;EAClB;EAEA,OAAO;IACL,GAAGA,SAAS;IACZD,oBAAoB,EAAEE;EACxB,CAAC;AACH;AAEA,SAASC,iCAAiCA,CACxCJ,kBAA0B,EAC6B;EACvD,QAAQA,kBAAkB;IACxB,KAAK,OAAO;MACV,OAAO,OAAO;IAChB,KAAK,MAAM;MACT,OAAO,MAAM;IACf,KAAK,WAAW;MACd,OAAO,WAAW;EACtB;EAEA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withExpoUpdates = exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"expo-updates.js","names":["_configPlugins","data","require","packageName","withExpoUpdates","config","withStaticPlugin","_isLegacyPlugin","plugin","fallback","createRunOncePlugin","withUnversionedUpdates","exports","AndroidConfig","Updates","withUpdates","IOSConfig","_default","default"],"sources":["../../../src/plugins/unversioned/expo-updates.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport {\n AndroidConfig,\n createRunOncePlugin,\n IOSConfig,\n withStaticPlugin,\n} from '@expo/config-plugins';\n\n// Local unversioned updates plugin\n\nconst packageName = 'expo-updates';\n\nexport const withExpoUpdates: ConfigPlugin = (config) => {\n return withStaticPlugin(config, {\n _isLegacyPlugin: true,\n // Pass props to the static plugin if it exists.\n plugin: packageName,\n // If the static plugin isn't found, use the unversioned one.\n fallback: createRunOncePlugin((config) => withUnversionedUpdates(config), packageName),\n });\n};\n\nconst withUnversionedUpdates: ConfigPlugin = (config) => {\n config = AndroidConfig.Updates.withUpdates(config);\n config = IOSConfig.Updates.withUpdates(config);\n return config;\n};\n\nexport default withExpoUpdates;\n"],"mappings":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA;;AAEA,MAAME,WAAW,GAAG,cAAc;AAE3B,MAAMC,eAA6B,GAAIC,MAAM,IAAK;EACvD,OAAO,IAAAC,iCAAgB,EAACD,MAAM,EAAE;IAC9BE,eAAe,EAAE,IAAI;IACrB;IACAC,MAAM,EAAEL,WAAW;IACnB;IACAM,QAAQ,EAAE,IAAAC,oCAAmB,EAAEL,MAAM,IAAKM,sBAAsB,CAACN,MAAM,CAAC,EAAEF,WAAW;EACvF,CAAC,CAAC;AACJ,CAAC;AAACS,OAAA,CAAAR,eAAA,GAAAA,eAAA;AAEF,MAAMO,sBAAoC,GAAIN,MAAM,IAAK;EACvDA,MAAM,GAAGQ,8BAAa,CAACC,OAAO,CAACC,WAAW,CAACV,MAAM,CAAC;EAClDA,MAAM,GAAGW,0BAAS,CAACF,OAAO,CAACC,WAAW,CAACV,MAAM,CAAC;EAC9C,OAAOA,MAAM;AACf,CAAC;AAAC,IAAAY,QAAA,GAAAL,OAAA,CAAAM,OAAA,GAEad,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"expo-updates.js","names":["_configPlugins","data","require","packageName","withExpoUpdates","config","withStaticPlugin","_isLegacyPlugin","plugin","fallback","createRunOncePlugin","withUnversionedUpdates","exports","AndroidConfig","Updates","withUpdates","IOSConfig","_default","default"],"sources":["../../../src/plugins/unversioned/expo-updates.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport {\n AndroidConfig,\n createRunOncePlugin,\n IOSConfig,\n withStaticPlugin,\n} from '@expo/config-plugins';\n\n// Local unversioned updates plugin\n\nconst packageName = 'expo-updates';\n\nexport const withExpoUpdates: ConfigPlugin = (config) => {\n return withStaticPlugin(config, {\n _isLegacyPlugin: true,\n // Pass props to the static plugin if it exists.\n plugin: packageName,\n // If the static plugin isn't found, use the unversioned one.\n fallback: createRunOncePlugin((config) => withUnversionedUpdates(config), packageName),\n });\n};\n\nconst withUnversionedUpdates: ConfigPlugin = (config) => {\n config = AndroidConfig.Updates.withUpdates(config);\n config = IOSConfig.Updates.withUpdates(config);\n return config;\n};\n\nexport default withExpoUpdates;\n"],"mappings":";;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA;;AAEA,MAAME,WAAW,GAAG,cAAc;AAE3B,MAAMC,eAA6B,GAAIC,MAAM,IAAK;EACvD,OAAO,IAAAC,iCAAgB,EAACD,MAAM,EAAE;IAC9BE,eAAe,EAAE,IAAI;IACrB;IACAC,MAAM,EAAEL,WAAW;IACnB;IACAM,QAAQ,EAAE,IAAAC,oCAAmB,EAAEL,MAAM,IAAKM,sBAAsB,CAACN,MAAM,CAAC,EAAEF,WAAW;EACvF,CAAC,CAAC;AACJ,CAAC;AAACS,OAAA,CAAAR,eAAA,GAAAA,eAAA;AAEF,MAAMO,sBAAoC,GAAIN,MAAM,IAAK;EACvDA,MAAM,GAAGQ,8BAAa,CAACC,OAAO,CAACC,WAAW,CAACV,MAAM,CAAC;EAClDA,MAAM,GAAGW,0BAAS,CAACF,OAAO,CAACC,WAAW,CAACV,MAAM,CAAC;EAC9C,OAAOA,MAAM;AACf,CAAC;AAAC,IAAAY,QAAA,GAAAL,OAAA,CAAAM,OAAA,GAEad,eAAe","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.default = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-maps.js","names":["_configPlugins","data","require","_resolveFrom","_interopRequireDefault","_createLegacyPlugin","e","__esModule","default","LOCATION_USAGE","withDefaultLocationPermissions","config","isLinked","_internal","autolinkedModules","includes","projectRoot","resolveFrom","silent","withInfoPlist","modResults","NSLocationWhenInUseUsageDescription","AndroidConfig","Permissions","withPermissions","_default","exports","createLegacyPlugin","packageName","fallback","GoogleMapsApiKey","withGoogleMapsApiKey","IOSConfig","Maps","withMaps"],"sources":["../../../src/plugins/unversioned/react-native-maps.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, IOSConfig, withInfoPlist } from '@expo/config-plugins';\nimport resolveFrom from 'resolve-from';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst LOCATION_USAGE = 'Allow $(PRODUCT_NAME) to access your location';\n\n// Copied from expo-location package, this gets used when the\n// user has react-native-maps installed but not expo-location.\nconst withDefaultLocationPermissions: ConfigPlugin = (config) => {\n const isLinked =\n !config._internal?.autolinkedModules ||\n config._internal.autolinkedModules.includes('react-native-maps');\n // Only add location permissions if react-native-maps is installed.\n if (\n config._internal?.projectRoot &&\n resolveFrom.silent(config._internal.projectRoot, 'react-native-maps') &&\n isLinked\n ) {\n config = withInfoPlist(config, (config) => {\n config.modResults.NSLocationWhenInUseUsageDescription =\n config.modResults.NSLocationWhenInUseUsageDescription || LOCATION_USAGE;\n return config;\n });\n\n return AndroidConfig.Permissions.withPermissions(config, [\n 'android.permission.ACCESS_COARSE_LOCATION',\n 'android.permission.ACCESS_FINE_LOCATION',\n ]);\n }\n return config;\n};\n\nexport default createLegacyPlugin({\n packageName: 'react-native-maps',\n fallback: [\n AndroidConfig.GoogleMapsApiKey.withGoogleMapsApiKey,\n IOSConfig.Maps.withMaps,\n withDefaultLocationPermissions,\n ],\n});\n"],"mappings":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,oBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,mBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0D,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1D,MAAMG,cAAc,GAAG,+CAA+C;;AAEtE;AACA;AACA,MAAMC,8BAA4C,GAAIC,MAAM,IAAK;EAC/D,MAAMC,QAAQ,GACZ,CAACD,MAAM,CAACE,SAAS,EAAEC,iBAAiB,IACpCH,MAAM,CAACE,SAAS,CAACC,iBAAiB,CAACC,QAAQ,CAAC,mBAAmB,CAAC;EAClE;EACA,IACEJ,MAAM,CAACE,SAAS,EAAEG,WAAW,IAC7BC,sBAAW,CAACC,MAAM,CAACP,MAAM,CAACE,SAAS,CAACG,WAAW,EAAE,mBAAmB,CAAC,IACrEJ,QAAQ,EACR;IACAD,MAAM,GAAG,IAAAQ,8BAAa,EAACR,MAAM,EAAGA,MAAM,IAAK;MACzCA,MAAM,CAACS,UAAU,CAACC,mCAAmC,GACnDV,MAAM,CAACS,UAAU,CAACC,mCAAmC,IAAIZ,cAAc;MACzE,OAAOE,MAAM;IACf,CAAC,CAAC;IAEF,OAAOW,8BAAa,CAACC,WAAW,CAACC,eAAe,CAACb,MAAM,EAAE,CACvD,2CAA2C,EAC3C,yCAAyC,CAC1C,CAAC;EACJ;EACA,OAAOA,MAAM;AACf,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAlB,OAAA,GAEa,IAAAmB,wCAAkB,EAAC;EAChCC,WAAW,EAAE,mBAAmB;EAChCC,QAAQ,EAAE,CACRP,8BAAa,CAACQ,gBAAgB,CAACC,oBAAoB,EACnDC,0BAAS,CAACC,IAAI,CAACC,QAAQ,EACvBxB,8BAA8B;AAElC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"react-native-maps.js","names":["_configPlugins","data","require","_resolveFrom","_interopRequireDefault","_createLegacyPlugin","e","__esModule","default","LOCATION_USAGE","withDefaultLocationPermissions","config","isLinked","_internal","autolinkedModules","includes","projectRoot","resolveFrom","silent","withInfoPlist","modResults","NSLocationWhenInUseUsageDescription","AndroidConfig","Permissions","withPermissions","_default","exports","createLegacyPlugin","packageName","fallback","GoogleMapsApiKey","withGoogleMapsApiKey","IOSConfig","Maps","withMaps"],"sources":["../../../src/plugins/unversioned/react-native-maps.ts"],"sourcesContent":["import type { ConfigPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, IOSConfig, withInfoPlist } from '@expo/config-plugins';\nimport resolveFrom from 'resolve-from';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst LOCATION_USAGE = 'Allow $(PRODUCT_NAME) to access your location';\n\n// Copied from expo-location package, this gets used when the\n// user has react-native-maps installed but not expo-location.\nconst withDefaultLocationPermissions: ConfigPlugin = (config) => {\n const isLinked =\n !config._internal?.autolinkedModules ||\n config._internal.autolinkedModules.includes('react-native-maps');\n // Only add location permissions if react-native-maps is installed.\n if (\n config._internal?.projectRoot &&\n resolveFrom.silent(config._internal.projectRoot, 'react-native-maps') &&\n isLinked\n ) {\n config = withInfoPlist(config, (config) => {\n config.modResults.NSLocationWhenInUseUsageDescription =\n config.modResults.NSLocationWhenInUseUsageDescription || LOCATION_USAGE;\n return config;\n });\n\n return AndroidConfig.Permissions.withPermissions(config, [\n 'android.permission.ACCESS_COARSE_LOCATION',\n 'android.permission.ACCESS_FINE_LOCATION',\n ]);\n }\n return config;\n};\n\nexport default createLegacyPlugin({\n packageName: 'react-native-maps',\n fallback: [\n AndroidConfig.GoogleMapsApiKey.withGoogleMapsApiKey,\n IOSConfig.Maps.withMaps,\n withDefaultLocationPermissions,\n ],\n});\n"],"mappings":";;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,oBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,mBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0D,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1D,MAAMG,cAAc,GAAG,+CAA+C;;AAEtE;AACA;AACA,MAAMC,8BAA4C,GAAIC,MAAM,IAAK;EAC/D,MAAMC,QAAQ,GACZ,CAACD,MAAM,CAACE,SAAS,EAAEC,iBAAiB,IACpCH,MAAM,CAACE,SAAS,CAACC,iBAAiB,CAACC,QAAQ,CAAC,mBAAmB,CAAC;EAClE;EACA,IACEJ,MAAM,CAACE,SAAS,EAAEG,WAAW,IAC7BC,sBAAW,CAACC,MAAM,CAACP,MAAM,CAACE,SAAS,CAACG,WAAW,EAAE,mBAAmB,CAAC,IACrEJ,QAAQ,EACR;IACAD,MAAM,GAAG,IAAAQ,8BAAa,EAACR,MAAM,EAAGA,MAAM,IAAK;MACzCA,MAAM,CAACS,UAAU,CAACC,mCAAmC,GACnDV,MAAM,CAACS,UAAU,CAACC,mCAAmC,IAAIZ,cAAc;MACzE,OAAOE,MAAM;IACf,CAAC,CAAC;IAEF,OAAOW,8BAAa,CAACC,WAAW,CAACC,eAAe,CAACb,MAAM,EAAE,CACvD,2CAA2C,EAC3C,yCAAyC,CAC1C,CAAC;EACJ;EACA,OAAOA,MAAM;AACf,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAlB,OAAA,GAEa,IAAAmB,wCAAkB,EAAC;EAChCC,WAAW,EAAE,mBAAmB;EAChCC,QAAQ,EAAE,CACRP,8BAAa,CAACQ,gBAAgB,CAACC,oBAAoB,EACnDC,0BAAS,CAACC,IAAI,CAACC,QAAQ,EACvBxB,8BAA8B;AAElC,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getAutoPlugins = getAutoPlugins;
7
5
  exports.getLegacyExpoPlugins = getLegacyExpoPlugins;
8
6
  exports.withIosExpoPlugins = exports.withAndroidExpoPlugins = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getAutolinkedPackages","_withAndroidIcons","_withIosIcons","_withEdgeToEdge","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_withInlineModules","_expoNotifications","_expoSystemUi","_expoUpdates","_reactNativeMaps","e","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","DeploymentTarget","withDeploymentTarget","withDeploymentTargetPodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","DevelopmentTeam","withDevelopmentTeam","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","PredictiveBackGesture","withPredictiveBackGesture","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","SystemBars","withSystemBars","PrimaryColor","withPrimaryColor","withEdgeToEdge","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withInlineModules","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport type { ConfigPlugin, StaticPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, IOSConfig, withPlugins, withStaticPlugin } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withEdgeToEdge from './unversioned/edge-to-edge/withEdgeToEdge';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withInlineModules from './unversioned/expo-inline-modules/withInlineModules';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n // Deployment Target\n IOSConfig.DeploymentTarget.withDeploymentTarget,\n IOSConfig.DeploymentTarget.withDeploymentTargetPodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n IOSConfig.DevelopmentTeam.withDevelopmentTeam,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n projectRoot: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n return withPlugins(config, [\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n AndroidConfig.PredictiveBackGesture.withPredictiveBackGesture,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n AndroidConfig.Locales.withLocales,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.SystemBars.withSystemBars,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n withEdgeToEdge,\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-system-ui',\n 'expo-inline-modules',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n withSystemUI,\n withInlineModules,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":";;;;;;;;;;AAIA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,uBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,sBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,kBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,cAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,aAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,gBAAA;EAAA,MAAAP,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAM,eAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,yBAAA;EAAA,MAAAR,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAO,wBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAQ,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,oBAAA;EAAA,MAAAV,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAS,mBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,mBAAA;EAAA,MAAAX,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAU,kBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,mBAAA;EAAA,MAAAZ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAW,kBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,cAAA;EAAA,MAAAb,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAY,aAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,aAAA;EAAA,MAAAd,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAa,YAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,iBAAA;EAAA,MAAAf,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAc,gBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAG,uBAAAa,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAnBvD;AACA;AACA;;AAmBA,MAAMG,KAAK,GAAG,IAAAC,gBAAK,EAAC,sBAAsB,CAAC;;AAE3C;AACA;AACA;AACA;AACO,MAAMC,kBAEX,GAAGA,CAACC,MAAM,EAAE;EAAEC;AAAiB,CAAC,KAAK;EACrC;EACA,IAAI,CAACD,MAAM,CAACE,GAAG,EAAEF,MAAM,CAACE,GAAG,GAAG,CAAC,CAAC;EAChCF,MAAM,CAACE,GAAG,CAACD,gBAAgB,GAAGA,gBAAgB;EAE9C,OAAO,IAAAE,4BAAW,EAACH,MAAM,EAAE,CACzB,CAACI,0BAAS,CAACC,gBAAgB,CAACC,oBAAoB,EAAE;IAAEL;EAAiB,CAAC,CAAC,EACvEG,0BAAS,CAACG,MAAM,CAACC,UAAU,EAC3BJ,0BAAS,CAACK,IAAI,CAACC,eAAe,EAC9BN,0BAAS,CAACK,IAAI,CAACE,eAAe,EAC9BP,0BAAS,CAACQ,WAAW,CAACC,eAAe,EACrCT,0BAAS,CAACU,kBAAkB,CAACC,sBAAsB,EACnDX,0BAAS,CAACY,MAAM,CAACC,UAAU,EAC3Bb,0BAAS,CAACc,uBAAuB,CAACC,2BAA2B,EAC7Df,0BAAS,CAACgB,OAAO,CAACC,eAAe,EACjCjB,0BAAS,CAACgB,OAAO,CAACE,WAAW,EAC7BlB,0BAAS,CAACG,MAAM,CAACgB,sBAAsB;EACvC;EACAnB,0BAAS,CAACoB,gBAAgB,CAACC,oBAAoB,EAC/CrB,0BAAS,CAACoB,gBAAgB,CAACE,gCAAgC;EAC3D;EACAtB,0BAAS,CAACuB,YAAY,CAACC,qBAAqB;EAC5C;EACAxB,0BAAS,CAACyB,YAAY,CAACC,gBAAgB,EACvC1B,0BAAS,CAAC2B,OAAO,CAACC,WAAW,EAC7B5B,0BAAS,CAAC6B,OAAO,CAACC,WAAW,EAC7B9B,0BAAS,CAAC+B,eAAe,CAACC,mBAAmB;EAC7C;EACAC,4BAAY,EACZjC,0BAAS,CAACkC,WAAW,CAACC,eAAe,CACtC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AAHAC,OAAA,CAAAzC,kBAAA,GAAAA,kBAAA;AAIO,MAAM0C,sBAGX,GAAGA,CAACzC,MAAM,EAAE0C,KAAK,KAAK;EACtB;EACA,IAAI,CAAC1C,MAAM,CAAC2C,OAAO,EAAE3C,MAAM,CAAC2C,OAAO,GAAG,CAAC,CAAC;EACxC3C,MAAM,CAAC2C,OAAO,CAACC,OAAO,GAAGF,KAAK,CAACE,OAAO;EACtC,OAAO,IAAAzC,4BAAW,EAACH,MAAM,EAAE;EACzB;EACA6C,8BAAa,CAACpC,IAAI,CAACqC,sBAAsB;EAEzC;EACAD,8BAAa,CAACE,cAAc,CAACC,aAAa;EAE1C;EACAH,8BAAa,CAACE,cAAc,CAACE,eAAe,EAC5CJ,8BAAa,CAACK,OAAO,CAACC,iBAAiB,EACvCN,8BAAa,CAACzB,OAAO,CAACE,WAAW;EAEjC;EACAuB,8BAAa,CAACO,WAAW,CAACC,eAAe,EACzCR,8BAAa,CAACS,mBAAmB,CAACC,uBAAuB,EACzDV,8BAAa,CAACW,qBAAqB,CAACC,yBAAyB;EAC7D;EACA;EACAZ,8BAAa,CAACa,aAAa,CAACC,wBAAwB,EACpDd,8BAAa,CAAC7B,MAAM,CAACC,UAAU,EAC/B4B,8BAAa,CAACjC,WAAW,CAACC,eAAe,EACzCgC,8BAAa,CAACe,WAAW,CAACC,8BAA8B,EACxDhB,8BAAa,CAACe,WAAW,CAACE,eAAe;EAEzC;EACAjB,8BAAa,CAACpC,IAAI,CAACsD,QAAQ,EAC3BlB,8BAAa,CAACZ,OAAO,CAACC,WAAW;EAEjC;EACAW,8BAAa,CAACE,cAAc,CAACxB,sBAAsB;EAEnD;EACAsB,8BAAa,CAACmB,UAAU,CAACC,cAAc,EACvCpB,8BAAa,CAACqB,YAAY,CAACC,gBAAgB,EAC3CC,yBAAc,EAEdC,oCAAgB;EAChB;EACA;EACAxB,8BAAa,CAACK,OAAO,CAACoB,mBAAmB,CAC1C,CAAC;AACJ,CAAC;;AAED;AAAA9B,OAAA,CAAAC,sBAAA,GAAAA,sBAAA;AACA,MAAM8B,wBAAkC,GAAG,CACzC,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,CACtB;AAEM,MAAMC,2BAAyC,GAAIxE,MAAM,IAAK;EACnE,OAAO,IAAAG,4BAAW,EAACH,MAAM,EAAE,CACzByE,0BAAQ,EACRC,kCAAuB,EACvBC,uBAAY,EACZC,4BAAiB,EACjBC,sBAAW,EACXC,6BAAkB,EAClBC,uBAAY,EACZC,4BAAiB,CAClB,CAAC;AACJ,CAAC;AAACxC,OAAA,CAAAgC,2BAAA,GAAAA,2BAAA;AAEK,SAASS,cAAcA,CAAA,EAAG;EAC/B,OAAOV,wBAAwB,CAACW,MAAM,CAACC,iBAAiB,CAAC,CAACD,MAAM,CAACE,2BAA2B,CAAC;AAC/F;AAEO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,OAAOF,iBAAiB;AAC1B;;AAEA;AACA;AACA,MAAMA,iBAAiB,GAAG,CACxB,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,CAC5B;;AAED;AACA;AACA,MAAMC,2BAA2B,GAAG,CAClC,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,CACtB;AAED,MAAME,yBAAkE,GAAGA,CAACtF,MAAM,EAAEuF,OAAO,KAAK;EAC9F,OAAOA,OAAO,CAACC,MAAM,CAAC,CAACC,IAAI,EAAEC,MAAM,KAAK;IACtC,IAAI,IAAAC,6CAAoB,EAAC3F,MAAM,EAAE0F,MAAM,CAAC,EAAE;MACxC7F,KAAK,CAAC,gCAAgC,EAAE6F,MAAM,CAAC;MAC/C,OAAOD,IAAI;IACb;IAEA,OAAO,IAAAG,iCAAgB,EAACH,IAAI,EAAE;MAC5B;MACAI,eAAe,EAAE,IAAI;MACrBH,MAAM;MACN;MACAI,QAAQ,EAAG9F,MAAM,IAAKA;IACxB,CAAC,CAAC;EACJ,CAAC,EAAEA,MAAM,CAAC;AACZ,CAAC;AAEM,SAAS+F,qBAAqBA,CAAC/F,MAAkB,EAAE;EACxD,OAAOsF,yBAAyB,CAACtF,MAAM,EAAE,CACvC,GAAG,IAAIgG,GAAG,CAACZ,2BAA2B,CAACF,MAAM,CAACC,iBAAiB,CAAC,CAAC,CAClE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getAutolinkedPackages","_withAndroidIcons","_withIosIcons","_withEdgeToEdge","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_withInlineModules","_expoNotifications","_expoSystemUi","_expoUpdates","_reactNativeMaps","e","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","DeploymentTarget","withDeploymentTarget","withDeploymentTargetPodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","DevelopmentTeam","withDevelopmentTeam","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","PredictiveBackGesture","withPredictiveBackGesture","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","SystemBars","withSystemBars","PrimaryColor","withPrimaryColor","withEdgeToEdge","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withInlineModules","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport type { ConfigPlugin, StaticPlugin } from '@expo/config-plugins';\nimport { AndroidConfig, IOSConfig, withPlugins, withStaticPlugin } from '@expo/config-plugins';\nimport type { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withEdgeToEdge from './unversioned/edge-to-edge/withEdgeToEdge';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withInlineModules from './unversioned/expo-inline-modules/withInlineModules';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n // Deployment Target\n IOSConfig.DeploymentTarget.withDeploymentTarget,\n IOSConfig.DeploymentTarget.withDeploymentTargetPodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n IOSConfig.DevelopmentTeam.withDevelopmentTeam,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n projectRoot: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n return withPlugins(config, [\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n AndroidConfig.PredictiveBackGesture.withPredictiveBackGesture,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n AndroidConfig.Locales.withLocales,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.SystemBars.withSystemBars,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n withEdgeToEdge,\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-system-ui',\n 'expo-inline-modules',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n withSystemUI,\n withInlineModules,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/prebuild-config",
3
- "version": "57.0.3",
3
+ "version": "57.0.5",
4
4
  "description": "Get the prebuild config",
5
5
  "main": "build/index.js",
6
6
  "repository": {
@@ -31,21 +31,21 @@
31
31
  "expo-module-scripts": "56.0.3"
32
32
  },
33
33
  "dependencies": {
34
- "@expo/config": "~57.0.1",
35
- "@expo/config-plugins": "~57.0.1",
34
+ "@expo/config": "~57.0.2",
35
+ "@expo/config-plugins": "~57.0.3",
36
36
  "@expo/config-types": "^57.0.1",
37
- "@expo/image-utils": "^0.11.0",
37
+ "@expo/image-utils": "^0.11.1",
38
38
  "@expo/json-file": "^11.0.0",
39
39
  "@react-native/normalize-colors": "0.86.0",
40
40
  "debug": "^4.3.1",
41
- "expo-modules-autolinking": "~57.0.3",
41
+ "expo-modules-autolinking": "~57.0.5",
42
42
  "resolve-from": "^5.0.0",
43
43
  "semver": "^7.6.0"
44
44
  },
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "db75d06da35e96d8438ff2e3a35ece3d637484c6",
48
+ "gitHead": "6ffed84381e2d2bb80c2fc713d99724f707d6c06",
49
49
  "scripts": {
50
50
  "build": "tsc --emitDeclarationOnly && babel src --out-dir build --extensions \".ts\" --source-maps --ignore \"src/**/__mocks__/*\",\"src/**/__tests__/*\"",
51
51
  "clean": "expo-module clean",