@expo/prebuild-config 4.0.3 → 5.0.1

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 (67) hide show
  1. package/build/getAutolinkedPackages.js +6 -5
  2. package/build/getAutolinkedPackages.js.map +1 -1
  3. package/build/getPrebuildConfig.js.map +1 -1
  4. package/build/importExpoModulesAutolinking.d.ts +16 -0
  5. package/build/importExpoModulesAutolinking.js +38 -0
  6. package/build/importExpoModulesAutolinking.js.map +1 -0
  7. package/build/index.js.map +1 -1
  8. package/build/plugins/icons/AssetContents.js.map +1 -1
  9. package/build/plugins/icons/withAndroidIcons.d.ts +2 -1
  10. package/build/plugins/icons/withAndroidIcons.js +144 -132
  11. package/build/plugins/icons/withAndroidIcons.js.map +1 -1
  12. package/build/plugins/icons/withAndroidManifestIcons.js.map +1 -1
  13. package/build/plugins/icons/withIosIcons.js.map +1 -1
  14. package/build/plugins/unversioned/createLegacyPlugin.js.map +1 -1
  15. package/build/plugins/unversioned/expo-ads-admob/expo-ads-admob.js.map +1 -1
  16. package/build/plugins/unversioned/expo-ads-admob/withAndroidAdMob.js.map +1 -1
  17. package/build/plugins/unversioned/expo-ads-admob/withIosAdMob.js.map +1 -1
  18. package/build/plugins/unversioned/expo-apple-authentication.js.map +1 -1
  19. package/build/plugins/unversioned/expo-branch/expo-branch.js.map +1 -1
  20. package/build/plugins/unversioned/expo-branch/withAndroidBranch.js.map +1 -1
  21. package/build/plugins/unversioned/expo-branch/withIosBranch.js.map +1 -1
  22. package/build/plugins/unversioned/expo-contacts.js.map +1 -1
  23. package/build/plugins/unversioned/expo-document-picker.js.map +1 -1
  24. package/build/plugins/unversioned/expo-facebook/expo-facebook.js.map +1 -1
  25. package/build/plugins/unversioned/expo-facebook/withAndroidFacebook.js.map +1 -1
  26. package/build/plugins/unversioned/expo-facebook/withIosFacebook.js.map +1 -1
  27. package/build/plugins/unversioned/expo-facebook/withSKAdNetworkIdentifiers.js.map +1 -1
  28. package/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.js.map +1 -1
  29. package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js.map +1 -1
  30. package/build/plugins/unversioned/expo-notifications/expo-notifications.js.map +1 -1
  31. package/build/plugins/unversioned/expo-notifications/withAndroidNotifications.js.map +1 -1
  32. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.d.ts +94 -5
  33. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js +89 -86
  34. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js.map +1 -1
  35. package/build/plugins/unversioned/expo-splash-screen/expo-splash-screen.js.map +1 -1
  36. package/build/plugins/unversioned/expo-splash-screen/getAndroidSplashConfig.js.map +1 -1
  37. package/build/plugins/unversioned/expo-splash-screen/getIosSplashConfig.js.map +1 -1
  38. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashDrawables.js.map +1 -1
  39. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.js.map +1 -1
  40. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js.map +1 -1
  41. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.js.map +1 -1
  42. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.js.map +1 -1
  43. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStyles.js.map +1 -1
  44. package/build/plugins/unversioned/expo-splash-screen/withIosSplashAssets.js.map +1 -1
  45. package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js.map +1 -1
  46. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreen.js +25 -1
  47. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreen.js.map +1 -1
  48. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.d.ts +14 -0
  49. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.js +212 -0
  50. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.js.map +1 -0
  51. package/build/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.d.ts +5 -7
  52. package/build/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.js +11 -87
  53. package/build/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.js.map +1 -1
  54. package/build/plugins/unversioned/expo-splash-screen/wtihIosSplashScreenStoryboardImage.d.ts +5 -0
  55. package/build/plugins/unversioned/expo-splash-screen/wtihIosSplashScreenStoryboardImage.js +68 -0
  56. package/build/plugins/unversioned/expo-splash-screen/wtihIosSplashScreenStoryboardImage.js.map +1 -0
  57. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js.map +1 -1
  58. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js.map +1 -1
  59. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js.map +1 -1
  60. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js.map +1 -1
  61. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.d.ts +2 -2
  62. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js +8 -10
  63. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js.map +1 -1
  64. package/build/plugins/unversioned/expo-updates.js.map +1 -1
  65. package/build/plugins/unversioned/react-native-maps.js.map +1 -1
  66. package/build/plugins/withDefaultPlugins.js.map +1 -1
  67. package/package.json +14 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/icons/withAndroidManifestIcons.ts"],"names":["withAndroidManifestIcons","config","modResults","setRoundIconManifest","manifest","isAdaptive","android","adaptiveIcon","application","AndroidConfig","Manifest","getMainApplicationOrThrow","$"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,wBAAsC,GAAGC,MAAM,IAC1D,0CAAoBA,MAApB,EAA4BA,MAAM,IAAI;AACpCA,EAAAA,MAAM,CAACC,UAAP,GAAoBC,oBAAoB,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAxC;AACA,SAAOD,MAAP;AACD,CAHD,CADK;;;;AAMA,SAASE,oBAAT,CACLF,MADK,EAELG,QAFK,EAGmC;AAAA;;AACxC,QAAMC,UAAU,GAAG,CAAC,qBAACJ,MAAM,CAACK,OAAR,4CAAC,gBAAgBC,YAAjB,CAApB;;AACA,QAAMC,WAAW,GAAGC,+BAAcC,QAAd,CAAuBC,yBAAvB,CAAiDP,QAAjD,CAApB;;AAEA,MAAIC,UAAJ,EAAgB;AACdG,IAAAA,WAAW,CAACI,CAAZ,CAAc,mBAAd,IAAqC,2BAArC;AACD,GAFD,MAEO;AACL,WAAOJ,WAAW,CAACI,CAAZ,CAAc,mBAAd,CAAP;AACD;;AACD,SAAOR,QAAP;AACD","sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { 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"],"file":"withAndroidManifestIcons.js"}
1
+ {"version":3,"file":"withAndroidManifestIcons.js","names":["withAndroidManifestIcons","config","withAndroidManifest","modResults","setRoundIconManifest","manifest","isAdaptive","android","adaptiveIcon","application","AndroidConfig","Manifest","getMainApplicationOrThrow","$"],"sources":["../../../src/plugins/icons/withAndroidManifestIcons.ts"],"sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { 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":";;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,wBAAsC,GAAIC,MAAD,IACpD,IAAAC,oCAAA,EAAoBD,MAApB,EAA6BA,MAAD,IAAY;EACtCA,MAAM,CAACE,UAAP,GAAoBC,oBAAoB,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAAxC;EACA,OAAOF,MAAP;AACD,CAHD,CADK;;;;AAMA,SAASG,oBAAT,CACLH,MADK,EAELI,QAFK,EAGmC;EAAA;;EACxC,MAAMC,UAAU,GAAG,CAAC,qBAACL,MAAM,CAACM,OAAR,4CAAC,gBAAgBC,YAAjB,CAApB;;EACA,MAAMC,WAAW,GAAGC,8BAAA,CAAcC,QAAd,CAAuBC,yBAAvB,CAAiDP,QAAjD,CAApB;;EAEA,IAAIC,UAAJ,EAAgB;IACdG,WAAW,CAACI,CAAZ,CAAc,mBAAd,IAAqC,2BAArC;EACD,CAFD,MAEO;IACL,OAAOJ,WAAW,CAACI,CAAZ,CAAc,mBAAd,CAAP;EACD;;EACD,OAAOR,QAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/icons/withIosIcons.ts"],"names":["getProjectName","IOSConfig","XcodeUtils","withIosIcons","config","setIconsAsync","modRequest","projectRoot","IMAGE_CACHE_NAME","IMAGESET_PATH","ICON_CONTENTS","idiom","sizes","size","scales","getIcons","ios","icon","WarningAggregator","addWarningIOS","iosNamedProjectRoot","getIosNamedProjectPath","fs","ensureDir","imagesJson","generatedIcons","platform","isMarketing","scale","filename","getAppleIconName","iconSizePx","source","cacheType","src","name","width","height","removeTransparency","resizeMode","backgroundColor","assetPath","writeFile","push","images","projectName"],"mappings":"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","sourcesContent":["import { ConfigPlugin, IOSConfig, WarningAggregator, withDangerousMod } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport { generateImageAsync } from '@expo/image-utils';\nimport * as fs from 'fs-extra';\nimport { join } from 'path';\n\nimport { ContentsJson, ContentsJsonImageIdiom, writeContentsJsonAsync } from './AssetContents';\n\nconst { getProjectName } = IOSConfig.XcodeUtils;\n\nexport const withIosIcons: ConfigPlugin = config => {\n return withDangerousMod(config, [\n 'ios',\n async config => {\n await setIconsAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nconst IMAGE_CACHE_NAME = 'icons';\nconst IMAGESET_PATH = 'Images.xcassets/AppIcon.appiconset';\n\n// Hard-coding seemed like the clearest and safest way to implement the sizes.\nexport const ICON_CONTENTS: {\n idiom: ContentsJsonImageIdiom;\n sizes: { size: number; scales: (1 | 2 | 3)[] }[];\n}[] = [\n {\n idiom: 'iphone',\n sizes: [\n {\n size: 20,\n scales: [2, 3],\n },\n {\n size: 29,\n scales: [1, 2, 3],\n },\n {\n size: 40,\n scales: [2, 3],\n },\n {\n size: 60,\n scales: [2, 3],\n },\n // TODO: 76x76@2x seems unused now\n // {\n // size: 76,\n // scales: [2],\n // },\n ],\n },\n {\n idiom: 'ipad',\n sizes: [\n {\n size: 20,\n scales: [1, 2],\n },\n {\n size: 29,\n scales: [1, 2],\n },\n {\n size: 40,\n scales: [1, 2],\n },\n {\n size: 76,\n scales: [1, 2],\n },\n {\n size: 83.5,\n scales: [2],\n },\n ],\n },\n {\n idiom: 'ios-marketing',\n sizes: [\n {\n size: 1024,\n scales: [1],\n },\n ],\n },\n];\n\nexport function getIcons(config: Pick<ExpoConfig, 'icon' | 'ios'>): string | null {\n // No support for empty strings.\n return config.ios?.icon || config.icon || null;\n}\n\nexport async function setIconsAsync(config: ExpoConfig, projectRoot: string) {\n const icon = getIcons(config);\n if (!icon) {\n WarningAggregator.addWarningIOS(\n 'icon',\n 'This is the image that your app uses on your home screen, you will need to configure it manually.'\n );\n return;\n }\n\n // Something like projectRoot/ios/MyApp/\n const iosNamedProjectRoot = getIosNamedProjectPath(projectRoot);\n\n // Ensure the Images.xcassets/AppIcon.appiconset path exists\n await fs.ensureDir(join(iosNamedProjectRoot, IMAGESET_PATH));\n\n // Store the image JSON data for assigning via the Contents.json\n const imagesJson: ContentsJson['images'] = [];\n\n // keep track of icons that have been generated so we can reuse them in the Contents.json\n const generatedIcons: Record<string, boolean> = {};\n\n for (const platform of ICON_CONTENTS) {\n const isMarketing = platform.idiom === 'ios-marketing';\n for (const { size, scales } of platform.sizes) {\n for (const scale of scales) {\n // The marketing icon is special because it makes no sense.\n const filename = isMarketing ? 'ItunesArtwork@2x.png' : getAppleIconName(size, scale);\n // Only create an image that hasn't already been generated.\n if (!(filename in generatedIcons)) {\n const iconSizePx = size * scale;\n\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 const { source } = await generateImageAsync(\n { projectRoot, cacheType: IMAGE_CACHE_NAME },\n {\n src: icon,\n name: filename,\n width: iconSizePx,\n height: iconSizePx,\n removeTransparency: true,\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.\n // TODO: Maybe use a more adaptive option based on the icon color?\n backgroundColor: '#ffffff',\n }\n );\n // Write image buffer to the file system.\n const assetPath = join(iosNamedProjectRoot, IMAGESET_PATH, filename);\n await fs.writeFile(assetPath, source);\n // Save a reference to the generated image so we don't create a duplicate.\n generatedIcons[filename] = true;\n }\n imagesJson.push({\n idiom: platform.idiom,\n size: `${size}x${size}`,\n // @ts-ignore: template types not supported in TS yet\n scale: `${scale}x`,\n filename,\n });\n }\n }\n }\n\n // Finally, write the Config.json\n await writeContentsJsonAsync(join(iosNamedProjectRoot, IMAGESET_PATH), { images: imagesJson });\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 join(projectRoot, 'ios', projectName);\n}\n\nfunction getAppleIconName(size: number, scale: number): string {\n return `App-Icon-${size}x${size}@${scale}x.png`;\n}\n"],"file":"withIosIcons.js"}
1
+ {"version":3,"file":"withIosIcons.js","names":["getProjectName","IOSConfig","XcodeUtils","withIosIcons","config","withDangerousMod","setIconsAsync","modRequest","projectRoot","IMAGE_CACHE_NAME","IMAGESET_PATH","ICON_CONTENTS","idiom","sizes","size","scales","getIcons","ios","icon","WarningAggregator","addWarningIOS","iosNamedProjectRoot","getIosNamedProjectPath","fs","ensureDir","join","imagesJson","generatedIcons","platform","isMarketing","scale","filename","getAppleIconName","iconSizePx","source","generateImageAsync","cacheType","src","name","width","height","removeTransparency","resizeMode","backgroundColor","assetPath","writeFile","push","writeContentsJsonAsync","images","projectName"],"sources":["../../../src/plugins/icons/withIosIcons.ts"],"sourcesContent":["import { ConfigPlugin, IOSConfig, WarningAggregator, withDangerousMod } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport { generateImageAsync } from '@expo/image-utils';\nimport * as fs from 'fs-extra';\nimport { join } from 'path';\n\nimport { ContentsJson, ContentsJsonImageIdiom, writeContentsJsonAsync } from './AssetContents';\n\nconst { getProjectName } = IOSConfig.XcodeUtils;\n\nexport const withIosIcons: ConfigPlugin = (config) => {\n return withDangerousMod(config, [\n 'ios',\n async (config) => {\n await setIconsAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nconst IMAGE_CACHE_NAME = 'icons';\nconst IMAGESET_PATH = 'Images.xcassets/AppIcon.appiconset';\n\n// Hard-coding seemed like the clearest and safest way to implement the sizes.\nexport const ICON_CONTENTS: {\n idiom: ContentsJsonImageIdiom;\n sizes: { size: number; scales: (1 | 2 | 3)[] }[];\n}[] = [\n {\n idiom: 'iphone',\n sizes: [\n {\n size: 20,\n scales: [2, 3],\n },\n {\n size: 29,\n scales: [1, 2, 3],\n },\n {\n size: 40,\n scales: [2, 3],\n },\n {\n size: 60,\n scales: [2, 3],\n },\n // TODO: 76x76@2x seems unused now\n // {\n // size: 76,\n // scales: [2],\n // },\n ],\n },\n {\n idiom: 'ipad',\n sizes: [\n {\n size: 20,\n scales: [1, 2],\n },\n {\n size: 29,\n scales: [1, 2],\n },\n {\n size: 40,\n scales: [1, 2],\n },\n {\n size: 76,\n scales: [1, 2],\n },\n {\n size: 83.5,\n scales: [2],\n },\n ],\n },\n {\n idiom: 'ios-marketing',\n sizes: [\n {\n size: 1024,\n scales: [1],\n },\n ],\n },\n];\n\nexport function getIcons(config: Pick<ExpoConfig, 'icon' | 'ios'>): string | null {\n // No support for empty strings.\n return config.ios?.icon || config.icon || null;\n}\n\nexport async function setIconsAsync(config: ExpoConfig, projectRoot: string) {\n const icon = getIcons(config);\n if (!icon) {\n WarningAggregator.addWarningIOS(\n 'icon',\n 'This is the image that your app uses on your home screen, you will need to configure it manually.'\n );\n return;\n }\n\n // Something like projectRoot/ios/MyApp/\n const iosNamedProjectRoot = getIosNamedProjectPath(projectRoot);\n\n // Ensure the Images.xcassets/AppIcon.appiconset path exists\n await fs.ensureDir(join(iosNamedProjectRoot, IMAGESET_PATH));\n\n // Store the image JSON data for assigning via the Contents.json\n const imagesJson: ContentsJson['images'] = [];\n\n // keep track of icons that have been generated so we can reuse them in the Contents.json\n const generatedIcons: Record<string, boolean> = {};\n\n for (const platform of ICON_CONTENTS) {\n const isMarketing = platform.idiom === 'ios-marketing';\n for (const { size, scales } of platform.sizes) {\n for (const scale of scales) {\n // The marketing icon is special because it makes no sense.\n const filename = isMarketing ? 'ItunesArtwork@2x.png' : getAppleIconName(size, scale);\n // Only create an image that hasn't already been generated.\n if (!(filename in generatedIcons)) {\n const iconSizePx = size * scale;\n\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 const { source } = await generateImageAsync(\n { projectRoot, cacheType: IMAGE_CACHE_NAME },\n {\n src: icon,\n name: filename,\n width: iconSizePx,\n height: iconSizePx,\n removeTransparency: true,\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.\n // TODO: Maybe use a more adaptive option based on the icon color?\n backgroundColor: '#ffffff',\n }\n );\n // Write image buffer to the file system.\n const assetPath = join(iosNamedProjectRoot, IMAGESET_PATH, filename);\n await fs.writeFile(assetPath, source);\n // Save a reference to the generated image so we don't create a duplicate.\n generatedIcons[filename] = true;\n }\n imagesJson.push({\n idiom: platform.idiom,\n size: `${size}x${size}`,\n // @ts-ignore: template types not supported in TS yet\n scale: `${scale}x`,\n filename,\n });\n }\n }\n }\n\n // Finally, write the Config.json\n await writeContentsJsonAsync(join(iosNamedProjectRoot, IMAGESET_PATH), { images: imagesJson });\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 join(projectRoot, 'ios', projectName);\n}\n\nfunction getAppleIconName(size: number, scale: number): string {\n return `App-Icon-${size}x${size}@${scale}x.png`;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/unversioned/createLegacyPlugin.ts"],"names":["toCamelCase","s","replace","x","toUpperCase","isModuleExcluded","config","packageName","_internal","autolinkedModules","includes","createLegacyPlugin","fallback","withFallback","Array","isArray","withUnknown","_isLegacyPlugin","plugin","methodName","Object","defineProperty","value"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AASA,MAAMA,WAAW,GAAIC,CAAD,IAAeA,CAAC,CAACC,OAAF,CAAU,KAAV,EAAiBC,CAAC,IAAIA,CAAC,CAACC,WAAF,GAAgB,CAAhB,CAAtB,CAAnC;;AAEA,SAASC,gBAAT,CAA0BC,MAA1B,EAAiEC,WAAjE,EAA+F;AAAA;;AAC7F;AACA;AACA,SACE,sBAAAD,MAAM,CAACE,SAAP,wEAAkBC,iBAAlB,KAAuC,CAACH,MAAM,CAACE,SAAP,CAAiBC,iBAAjB,CAAmCC,QAAnC,CAA4CH,WAA5C,CAD1C;AAGD;;AAEM,SAASI,kBAAT,CAA4B;AACjCJ,EAAAA,WADiC;AAEjCK,EAAAA;AAFiC,CAA5B,EAMU;AACf,MAAIC,YAAJ;;AAEA,MAAIC,KAAK,CAACC,OAAN,CAAcH,QAAd,CAAJ,EAA6B;AAC3BC,IAAAA,YAAY,GAAGP,MAAM,IAAI,kCAAYA,MAAZ,EAAoBM,QAApB,CAAzB;AACD,GAFD,MAEO;AACLC,IAAAA,YAAY,GAAGD,QAAf;AACD;;AAED,QAAMI,WAAyB,GAAGV,MAAM,IAAI;AAC1C;AACA;AACA,QAAID,gBAAgB,CAACC,MAAD,EAASC,WAAT,CAApB,EAA2C;AACzC,aAAO,0CAAoBM,YAApB,EAAkCN,WAAlC,EAA+CD,MAA/C,CAAP;AACD;;AAED,WAAO,uCAAiBA,MAAjB,EAAyB;AAC9BW,MAAAA,eAAe,EAAE,IADa;AAE9BC,MAAAA,MAAM,EAAEX,WAFsB;AAG9B;AACAK,MAAAA,QAAQ,EAAE,0CAAoBC,YAApB,EAAkCN,WAAlC;AAJoB,KAAzB,CAAP;AAMD,GAbD;;AAeA,QAAMY,UAAU,GAAGnB,WAAW,CAAE,QAAOO,WAAY,EAArB,CAA9B;AACAa,EAAAA,MAAM,CAACC,cAAP,CAAsBL,WAAtB,EAAmC,MAAnC,EAA2C;AACzCM,IAAAA,KAAK,EAAEH;AADkC,GAA3C;AAIA,SAAOH,WAAP;AACD","sourcesContent":["import {\n ConfigPlugin,\n createRunOncePlugin,\n PluginParameters,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { 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"],"file":"createLegacyPlugin.js"}
1
+ {"version":3,"file":"createLegacyPlugin.js","names":["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 {\n ConfigPlugin,\n createRunOncePlugin,\n PluginParameters,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { 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":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AASA,MAAMA,WAAW,GAAIC,CAAD,IAAeA,CAAC,CAACC,OAAF,CAAU,KAAV,EAAkBC,CAAD,IAAOA,CAAC,CAACC,WAAF,GAAgB,CAAhB,CAAxB,CAAnC;;AAEA,SAASC,gBAAT,CAA0BC,MAA1B,EAAiEC,WAAjE,EAA+F;EAAA;;EAC7F;EACA;EACA,OACE,sBAAAD,MAAM,CAACE,SAAP,wEAAkBC,iBAAlB,KAAuC,CAACH,MAAM,CAACE,SAAP,CAAiBC,iBAAjB,CAAmCC,QAAnC,CAA4CH,WAA5C,CAD1C;AAGD;;AAEM,SAASI,kBAAT,CAA4B;EACjCJ,WADiC;EAEjCK;AAFiC,CAA5B,EAMU;EACf,IAAIC,YAAJ;;EAEA,IAAIC,KAAK,CAACC,OAAN,CAAcH,QAAd,CAAJ,EAA6B;IAC3BC,YAAY,GAAIP,MAAD,IAAY,IAAAU,4BAAA,EAAYV,MAAZ,EAAoBM,QAApB,CAA3B;EACD,CAFD,MAEO;IACLC,YAAY,GAAGD,QAAf;EACD;;EAED,MAAMK,WAAyB,GAAIX,MAAD,IAAY;IAC5C;IACA;IACA,IAAID,gBAAgB,CAACC,MAAD,EAASC,WAAT,CAApB,EAA2C;MACzC,OAAO,IAAAW,oCAAA,EAAoBL,YAApB,EAAkCN,WAAlC,EAA+CD,MAA/C,CAAP;IACD;;IAED,OAAO,IAAAa,iCAAA,EAAiBb,MAAjB,EAAyB;MAC9Bc,eAAe,EAAE,IADa;MAE9BC,MAAM,EAAEd,WAFsB;MAG9B;MACAK,QAAQ,EAAE,IAAAM,oCAAA,EAAoBL,YAApB,EAAkCN,WAAlC;IAJoB,CAAzB,CAAP;EAMD,CAbD;;EAeA,MAAMe,UAAU,GAAGtB,WAAW,CAAE,QAAOO,WAAY,EAArB,CAA9B;EACAgB,MAAM,CAACC,cAAP,CAAsBP,WAAtB,EAAmC,MAAnC,EAA2C;IACzCQ,KAAK,EAAEH;EADkC,CAA3C;EAIA,OAAOL,WAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-ads-admob/expo-ads-admob.ts"],"names":["packageName","fallback","withAndroidAdMob","withIosAdMob"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,gBADmB;AAEhCC,EAAAA,QAAQ,EAAE,CAACC,oCAAD,EAAmBC,4BAAnB;AAFsB,CAAnB,C","sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withAndroidAdMob } from './withAndroidAdMob';\nimport { withIosAdMob } from './withIosAdMob';\n\nexport default createLegacyPlugin({\n packageName: 'expo-ads-admob',\n fallback: [withAndroidAdMob, withIosAdMob],\n});\n"],"file":"expo-ads-admob.js"}
1
+ {"version":3,"file":"expo-ads-admob.js","names":["createLegacyPlugin","packageName","fallback","withAndroidAdMob","withIosAdMob"],"sources":["../../../../src/plugins/unversioned/expo-ads-admob/expo-ads-admob.ts"],"sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withAndroidAdMob } from './withAndroidAdMob';\nimport { withIosAdMob } from './withIosAdMob';\n\nexport default createLegacyPlugin({\n packageName: 'expo-ads-admob',\n fallback: [withAndroidAdMob, withIosAdMob],\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAEe,IAAAA,wCAAA,EAAmB;EAChCC,WAAW,EAAE,gBADmB;EAEhCC,QAAQ,EAAE,CAACC,oCAAD,EAAmBC,4BAAnB;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-ads-admob/withAndroidAdMob.ts"],"names":["addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","AndroidConfig","Manifest","META_APPLICATION_ID","META_DELAY_APP_MEASUREMENT_INIT","withAndroidAdMob","config","modResults","setAdMobConfig","getGoogleMobileAdsAppId","android","googleMobileAdsAppId","getGoogleMobileAdsAutoInit","googleMobileAdsAutoInit","androidManifest","appId","autoInit","mainApplication","String"],"mappings":";;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA,MAAM;AACJA,EAAAA,gCADI;AAEJC,EAAAA,yBAFI;AAGJC,EAAAA;AAHI,IAIFC,+BAAcC,QAJlB;;AAMA,MAAMC,mBAAmB,GAAG,2CAA5B;AACA,MAAMC,+BAA+B,GAAG,uDAAxC;;AAEO,MAAMC,gBAA8B,GAAGC,MAAM,IAAI;AACtD,SAAO,0CAAoBA,MAApB,EAA4BA,MAAM,IAAI;AAC3CA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,cAAc,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAlC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,uBAAT,CAAiCH,MAAjC,EAAsE;AAAA;;AAC3E,qDAAOA,MAAM,CAACI,OAAd,8EAAO,gBAAgBJ,MAAvB,2DAAO,uBAAwBK,oBAA/B,yEAAuD,IAAvD;AACD;;AAEM,SAASC,0BAAT,CAAoCN,MAApC,EAAyE;AAAA;;AAC9E,uDAAOA,MAAM,CAACI,OAAd,8EAAO,iBAAgBJ,MAAvB,0DAAO,sBAAwBO,uBAA/B,2EAA0D,KAA1D;AACD;;AAEM,SAASL,cAAT,CACLF,MADK,EAELQ,eAFK,EAGL;AACA,QAAMC,KAAK,GAAGN,uBAAuB,CAACH,MAAD,CAArC;AACA,QAAMU,QAAQ,GAAGJ,0BAA0B,CAACN,MAAD,CAA3C;AACA,QAAMW,eAAe,GAAGlB,yBAAyB,CAACe,eAAD,CAAjD;;AAEA,MAAIC,KAAJ,EAAW;AACTjB,IAAAA,gCAAgC,CAACmB,eAAD,EAAkBd,mBAAlB,EAAuCY,KAAvC,CAAhC;AACAjB,IAAAA,gCAAgC,CAC9BmB,eAD8B,EAE9Bb,+BAF8B,EAG9Bc,MAAM,CAAC,CAACF,QAAF,CAHwB,CAAhC;AAKD,GAPD,MAOO;AACLhB,IAAAA,qCAAqC,CAACiB,eAAD,EAAkBd,mBAAlB,CAArC;AACAH,IAAAA,qCAAqC,CAACiB,eAAD,EAAkBb,+BAAlB,CAArC;AACD;;AAED,SAAOU,eAAP;AACD","sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst META_APPLICATION_ID = 'com.google.android.gms.ads.APPLICATION_ID';\nconst META_DELAY_APP_MEASUREMENT_INIT = 'com.google.android.gms.ads.DELAY_APP_MEASUREMENT_INIT';\n\nexport const withAndroidAdMob: ConfigPlugin = config => {\n return withAndroidManifest(config, config => {\n config.modResults = setAdMobConfig(config, config.modResults);\n return config;\n });\n};\n\nexport function getGoogleMobileAdsAppId(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.config?.googleMobileAdsAppId ?? null;\n}\n\nexport function getGoogleMobileAdsAutoInit(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.config?.googleMobileAdsAutoInit ?? false;\n}\n\nexport function setAdMobConfig(\n config: Pick<ExpoConfig, 'android'>,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const appId = getGoogleMobileAdsAppId(config);\n const autoInit = getGoogleMobileAdsAutoInit(config);\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n if (appId) {\n addMetaDataItemToMainApplication(mainApplication, META_APPLICATION_ID, appId);\n addMetaDataItemToMainApplication(\n mainApplication,\n META_DELAY_APP_MEASUREMENT_INIT,\n String(!autoInit)\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, META_APPLICATION_ID);\n removeMetaDataItemFromMainApplication(mainApplication, META_DELAY_APP_MEASUREMENT_INIT);\n }\n\n return androidManifest;\n}\n"],"file":"withAndroidAdMob.js"}
1
+ {"version":3,"file":"withAndroidAdMob.js","names":["addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","AndroidConfig","Manifest","META_APPLICATION_ID","META_DELAY_APP_MEASUREMENT_INIT","withAndroidAdMob","config","withAndroidManifest","modResults","setAdMobConfig","getGoogleMobileAdsAppId","android","googleMobileAdsAppId","getGoogleMobileAdsAutoInit","googleMobileAdsAutoInit","androidManifest","appId","autoInit","mainApplication","String"],"sources":["../../../../src/plugins/unversioned/expo-ads-admob/withAndroidAdMob.ts"],"sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst META_APPLICATION_ID = 'com.google.android.gms.ads.APPLICATION_ID';\nconst META_DELAY_APP_MEASUREMENT_INIT = 'com.google.android.gms.ads.DELAY_APP_MEASUREMENT_INIT';\n\nexport const withAndroidAdMob: ConfigPlugin = (config) => {\n return withAndroidManifest(config, (config) => {\n config.modResults = setAdMobConfig(config, config.modResults);\n return config;\n });\n};\n\nexport function getGoogleMobileAdsAppId(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.config?.googleMobileAdsAppId ?? null;\n}\n\nexport function getGoogleMobileAdsAutoInit(config: Pick<ExpoConfig, 'android'>) {\n return config.android?.config?.googleMobileAdsAutoInit ?? false;\n}\n\nexport function setAdMobConfig(\n config: Pick<ExpoConfig, 'android'>,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const appId = getGoogleMobileAdsAppId(config);\n const autoInit = getGoogleMobileAdsAutoInit(config);\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n if (appId) {\n addMetaDataItemToMainApplication(mainApplication, META_APPLICATION_ID, appId);\n addMetaDataItemToMainApplication(\n mainApplication,\n META_DELAY_APP_MEASUREMENT_INIT,\n String(!autoInit)\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, META_APPLICATION_ID);\n removeMetaDataItemFromMainApplication(mainApplication, META_DELAY_APP_MEASUREMENT_INIT);\n }\n\n return androidManifest;\n}\n"],"mappings":";;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA,MAAM;EACJA,gCADI;EAEJC,yBAFI;EAGJC;AAHI,IAIFC,8BAAA,CAAcC,QAJlB;;AAMA,MAAMC,mBAAmB,GAAG,2CAA5B;AACA,MAAMC,+BAA+B,GAAG,uDAAxC;;AAEO,MAAMC,gBAA8B,GAAIC,MAAD,IAAY;EACxD,OAAO,IAAAC,oCAAA,EAAoBD,MAApB,EAA6BA,MAAD,IAAY;IAC7CA,MAAM,CAACE,UAAP,GAAoBC,cAAc,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAAlC;IACA,OAAOF,MAAP;EACD,CAHM,CAAP;AAID,CALM;;;;AAOA,SAASI,uBAAT,CAAiCJ,MAAjC,EAAsE;EAAA;;EAC3E,mDAAOA,MAAM,CAACK,OAAd,8EAAO,gBAAgBL,MAAvB,2DAAO,uBAAwBM,oBAA/B,yEAAuD,IAAvD;AACD;;AAEM,SAASC,0BAAT,CAAoCP,MAApC,EAAyE;EAAA;;EAC9E,qDAAOA,MAAM,CAACK,OAAd,8EAAO,iBAAgBL,MAAvB,0DAAO,sBAAwBQ,uBAA/B,2EAA0D,KAA1D;AACD;;AAEM,SAASL,cAAT,CACLH,MADK,EAELS,eAFK,EAGL;EACA,MAAMC,KAAK,GAAGN,uBAAuB,CAACJ,MAAD,CAArC;EACA,MAAMW,QAAQ,GAAGJ,0BAA0B,CAACP,MAAD,CAA3C;EACA,MAAMY,eAAe,GAAGnB,yBAAyB,CAACgB,eAAD,CAAjD;;EAEA,IAAIC,KAAJ,EAAW;IACTlB,gCAAgC,CAACoB,eAAD,EAAkBf,mBAAlB,EAAuCa,KAAvC,CAAhC;IACAlB,gCAAgC,CAC9BoB,eAD8B,EAE9Bd,+BAF8B,EAG9Be,MAAM,CAAC,CAACF,QAAF,CAHwB,CAAhC;EAKD,CAPD,MAOO;IACLjB,qCAAqC,CAACkB,eAAD,EAAkBf,mBAAlB,CAArC;IACAH,qCAAqC,CAACkB,eAAD,EAAkBd,+BAAlB,CAArC;EACD;;EAED,OAAOW,eAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-ads-admob/withIosAdMob.ts"],"names":["withIosAdMob","config","modResults","setAdMobConfig","getGoogleMobileAdsAppId","ios","googleMobileAdsAppId","setGoogleMobileAdsAppId","GADApplicationIdentifier","infoPlist","appId"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,YAA0B,GAAGC,MAAM,IAAI;AAClD,SAAO,oCAAcA,MAAd,EAAsBA,MAAM,IAAI;AACrCA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,cAAc,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAlC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM,C,CAOP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,SAASG,uBAAT,CAAiCH,MAAjC,EAAkE;AAAA;;AACvE,iDAAOA,MAAM,CAACI,GAAd,sEAAO,YAAYJ,MAAnB,uDAAO,mBAAoBK,oBAA3B,yEAAmD,IAAnD;AACD;;AAEM,SAASC,uBAAT,CACLN,MADK,EAEL;AAAEO,EAAAA,wBAAF;AAA4B,KAAGC;AAA/B,CAFK,EAGM;AACX,QAAMC,KAAK,GAAGN,uBAAuB,CAACH,MAAD,CAArC;;AAEA,MAAIS,KAAK,KAAK,IAAd,EAAoB;AAClB,WAAOD,SAAP;AACD;;AAED,SAAO,EACL,GAAGA,SADE;AAELD,IAAAA,wBAAwB,EAAEE;AAFrB,GAAP;AAID;;AAED,SAASP,cAAT,CAAwBF,MAAxB,EAAyDQ,SAAzD,EAA0F;AACxFA,EAAAA,SAAS,GAAGF,uBAAuB,CAACN,MAAD,EAASQ,SAAT,CAAnC;AACA,SAAOA,SAAP;AACD","sourcesContent":["import { ConfigPlugin, InfoPlist, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nexport const withIosAdMob: ConfigPlugin = config => {\n return withInfoPlist(config, config => {\n config.modResults = setAdMobConfig(config, config.modResults);\n return config;\n });\n};\n\n// NOTE(brentvatne): if the developer has installed the google ads sdk and does\n// not provide an app id their app will crash. Standalone apps get around this by\n// providing some default value, we will instead here assume that the user can\n// do the right thing if they have installed the package. This is a slight discrepancy\n// that arises in ejecting because it's possible for the package to be installed and\n// not crashing in the managed workflow, then you eject and the app crashes because\n// you don't have an id to fall back to.\nexport function getGoogleMobileAdsAppId(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.googleMobileAdsAppId ?? null;\n}\n\nexport function setGoogleMobileAdsAppId(\n config: Pick<ExpoConfig, 'ios'>,\n { GADApplicationIdentifier, ...infoPlist }: InfoPlist\n): InfoPlist {\n const appId = getGoogleMobileAdsAppId(config);\n\n if (appId === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n GADApplicationIdentifier: appId,\n };\n}\n\nfunction setAdMobConfig(config: Pick<ExpoConfig, 'ios'>, infoPlist: InfoPlist): InfoPlist {\n infoPlist = setGoogleMobileAdsAppId(config, infoPlist);\n return infoPlist;\n}\n"],"file":"withIosAdMob.js"}
1
+ {"version":3,"file":"withIosAdMob.js","names":["withIosAdMob","config","withInfoPlist","modResults","setAdMobConfig","getGoogleMobileAdsAppId","ios","googleMobileAdsAppId","setGoogleMobileAdsAppId","GADApplicationIdentifier","infoPlist","appId"],"sources":["../../../../src/plugins/unversioned/expo-ads-admob/withIosAdMob.ts"],"sourcesContent":["import { ConfigPlugin, InfoPlist, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nexport const withIosAdMob: ConfigPlugin = (config) => {\n return withInfoPlist(config, (config) => {\n config.modResults = setAdMobConfig(config, config.modResults);\n return config;\n });\n};\n\n// NOTE(brentvatne): if the developer has installed the google ads sdk and does\n// not provide an app id their app will crash. Standalone apps get around this by\n// providing some default value, we will instead here assume that the user can\n// do the right thing if they have installed the package. This is a slight discrepancy\n// that arises in ejecting because it's possible for the package to be installed and\n// not crashing in the managed workflow, then you eject and the app crashes because\n// you don't have an id to fall back to.\nexport function getGoogleMobileAdsAppId(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.googleMobileAdsAppId ?? null;\n}\n\nexport function setGoogleMobileAdsAppId(\n config: Pick<ExpoConfig, 'ios'>,\n { GADApplicationIdentifier, ...infoPlist }: InfoPlist\n): InfoPlist {\n const appId = getGoogleMobileAdsAppId(config);\n\n if (appId === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n GADApplicationIdentifier: appId,\n };\n}\n\nfunction setAdMobConfig(config: Pick<ExpoConfig, 'ios'>, infoPlist: InfoPlist): InfoPlist {\n infoPlist = setGoogleMobileAdsAppId(config, infoPlist);\n return infoPlist;\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,YAA0B,GAAIC,MAAD,IAAY;EACpD,OAAO,IAAAC,8BAAA,EAAcD,MAAd,EAAuBA,MAAD,IAAY;IACvCA,MAAM,CAACE,UAAP,GAAoBC,cAAc,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAAlC;IACA,OAAOF,MAAP;EACD,CAHM,CAAP;AAID,CALM,C,CAOP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,SAASI,uBAAT,CAAiCJ,MAAjC,EAAkE;EAAA;;EACvE,+CAAOA,MAAM,CAACK,GAAd,sEAAO,YAAYL,MAAnB,uDAAO,mBAAoBM,oBAA3B,yEAAmD,IAAnD;AACD;;AAEM,SAASC,uBAAT,CACLP,MADK,EAEL;EAAEQ,wBAAF;EAA4B,GAAGC;AAA/B,CAFK,EAGM;EACX,MAAMC,KAAK,GAAGN,uBAAuB,CAACJ,MAAD,CAArC;;EAEA,IAAIU,KAAK,KAAK,IAAd,EAAoB;IAClB,OAAOD,SAAP;EACD;;EAED,OAAO,EACL,GAAGA,SADE;IAELD,wBAAwB,EAAEE;EAFrB,CAAP;AAID;;AAED,SAASP,cAAT,CAAwBH,MAAxB,EAAyDS,SAAzD,EAA0F;EACxFA,SAAS,GAAGF,uBAAuB,CAACP,MAAD,EAASS,SAAT,CAAnC;EACA,OAAOA,SAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/unversioned/expo-apple-authentication.ts"],"names":["withAppleSignInWarning","config","ios","usesAppleSignIn","WarningAggregator","addWarningIOS","packageName","fallback"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA,MAAMA,sBAAoC,GAAGC,MAAM,IAAI;AACrD,SAAO,4CAAsBA,MAAtB,EAA8BA,MAAM,IAAI;AAAA;;AAC7C,uBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,eAAhB,EAAiC;AAC/BC,yCAAkBC,aAAlB,CACE,qBADF,EAEE,0DAFF,EAGE,2EAHF;AAKD;;AAED,WAAOJ,MAAP;AACD,GAVM,CAAP;AAWD,CAZD;;eAce,8CAAmB;AAChCK,EAAAA,WAAW,EAAE,2BADmB;AAEhCC,EAAAA,QAAQ,EAAEP;AAFsB,CAAnB,C","sourcesContent":["import { ConfigPlugin, 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"],"file":"expo-apple-authentication.js"}
1
+ {"version":3,"file":"expo-apple-authentication.js","names":["withAppleSignInWarning","config","withEntitlementsPlist","ios","usesAppleSignIn","WarningAggregator","addWarningIOS","createLegacyPlugin","packageName","fallback"],"sources":["../../../src/plugins/unversioned/expo-apple-authentication.ts"],"sourcesContent":["import { ConfigPlugin, 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":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA,MAAMA,sBAAoC,GAAIC,MAAD,IAAY;EACvD,OAAO,IAAAC,sCAAA,EAAsBD,MAAtB,EAA+BA,MAAD,IAAY;IAAA;;IAC/C,mBAAIA,MAAM,CAACE,GAAX,wCAAI,YAAYC,eAAhB,EAAiC;MAC/BC,kCAAA,CAAkBC,aAAlB,CACE,qBADF,EAEE,0DAFF,EAGE,2EAHF;IAKD;;IAED,OAAOL,MAAP;EACD,CAVM,CAAP;AAWD,CAZD;;eAce,IAAAM,wCAAA,EAAmB;EAChCC,WAAW,EAAE,2BADmB;EAEhCC,QAAQ,EAAET;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-branch/expo-branch.ts"],"names":["packageName","fallback","withAndroidBranch","withIosBranch"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,aADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACR;AACAC,wCAFQ,EAGR;AACAC,gCAJQ;AAFsB,CAAnB,C","sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withAndroidBranch } from './withAndroidBranch';\nimport { withIosBranch } from './withIosBranch';\n\nexport default createLegacyPlugin({\n packageName: 'expo-branch',\n fallback: [\n // Android\n withAndroidBranch,\n // iOS\n withIosBranch,\n ],\n});\n"],"file":"expo-branch.js"}
1
+ {"version":3,"file":"expo-branch.js","names":["createLegacyPlugin","packageName","fallback","withAndroidBranch","withIosBranch"],"sources":["../../../../src/plugins/unversioned/expo-branch/expo-branch.ts"],"sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withAndroidBranch } from './withAndroidBranch';\nimport { withIosBranch } from './withIosBranch';\n\nexport default createLegacyPlugin({\n packageName: 'expo-branch',\n fallback: [\n // Android\n withAndroidBranch,\n // iOS\n withIosBranch,\n ],\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAEe,IAAAA,wCAAA,EAAmB;EAChCC,WAAW,EAAE,aADmB;EAEhCC,QAAQ,EAAE,CACR;EACAC,sCAFQ,EAGR;EACAC,8BAJQ;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-branch/withAndroidBranch.ts"],"names":["addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","AndroidConfig","Manifest","META_BRANCH_KEY","withAndroidBranch","config","modResults","setBranchApiKey","getBranchApiKey","android","branch","apiKey","androidManifest","mainApplication"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA,MAAM;AACJA,EAAAA,gCADI;AAEJC,EAAAA,yBAFI;AAGJC,EAAAA;AAHI,IAIFC,+BAAcC,QAJlB;;AAMA,MAAMC,eAAe,GAAG,yBAAxB;;AAEO,MAAMC,iBAA+B,GAAGC,MAAM,IAAI;AACvD,SAAO,0CAAoBA,MAApB,EAA4BA,MAAM,IAAI;AAC3CA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,eAAe,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAnC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,eAAT,CAAyBH,MAAzB,EAA6C;AAAA;;AAClD,qDAAOA,MAAM,CAACI,OAAd,8EAAO,gBAAgBJ,MAAvB,qFAAO,uBAAwBK,MAA/B,2DAAO,uBAAgCC,MAAvC,yEAAiD,IAAjD;AACD;;AAEM,SAASJ,eAAT,CACLF,MADK,EAELO,eAFK,EAGL;AACA,QAAMD,MAAM,GAAGH,eAAe,CAACH,MAAD,CAA9B;AAEA,QAAMQ,eAAe,GAAGd,yBAAyB,CAACa,eAAD,CAAjD;;AAEA,MAAID,MAAJ,EAAY;AACV;AACAb,IAAAA,gCAAgC,CAACe,eAAD,EAAkBV,eAAlB,EAAmCQ,MAAnC,CAAhC;AACD,GAHD,MAGO;AACL;AACAX,IAAAA,qCAAqC,CAACa,eAAD,EAAkBV,eAAlB,CAArC;AACD;;AACD,SAAOS,eAAP;AACD","sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst META_BRANCH_KEY = 'io.branch.sdk.BranchKey';\n\nexport const withAndroidBranch: ConfigPlugin = config => {\n return withAndroidManifest(config, config => {\n config.modResults = setBranchApiKey(config, config.modResults);\n return config;\n });\n};\n\nexport function getBranchApiKey(config: ExpoConfig) {\n return config.android?.config?.branch?.apiKey ?? null;\n}\n\nexport function setBranchApiKey(\n config: ExpoConfig,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const apiKey = getBranchApiKey(config);\n\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n if (apiKey) {\n // If the item exists, add it back\n addMetaDataItemToMainApplication(mainApplication, META_BRANCH_KEY, apiKey);\n } else {\n // Remove any existing item\n removeMetaDataItemFromMainApplication(mainApplication, META_BRANCH_KEY);\n }\n return androidManifest;\n}\n"],"file":"withAndroidBranch.js"}
1
+ {"version":3,"file":"withAndroidBranch.js","names":["addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","AndroidConfig","Manifest","META_BRANCH_KEY","withAndroidBranch","config","withAndroidManifest","modResults","setBranchApiKey","getBranchApiKey","android","branch","apiKey","androidManifest","mainApplication"],"sources":["../../../../src/plugins/unversioned/expo-branch/withAndroidBranch.ts"],"sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst META_BRANCH_KEY = 'io.branch.sdk.BranchKey';\n\nexport const withAndroidBranch: ConfigPlugin = (config) => {\n return withAndroidManifest(config, (config) => {\n config.modResults = setBranchApiKey(config, config.modResults);\n return config;\n });\n};\n\nexport function getBranchApiKey(config: ExpoConfig) {\n return config.android?.config?.branch?.apiKey ?? null;\n}\n\nexport function setBranchApiKey(\n config: ExpoConfig,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const apiKey = getBranchApiKey(config);\n\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n if (apiKey) {\n // If the item exists, add it back\n addMetaDataItemToMainApplication(mainApplication, META_BRANCH_KEY, apiKey);\n } else {\n // Remove any existing item\n removeMetaDataItemFromMainApplication(mainApplication, META_BRANCH_KEY);\n }\n return androidManifest;\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA,MAAM;EACJA,gCADI;EAEJC,yBAFI;EAGJC;AAHI,IAIFC,8BAAA,CAAcC,QAJlB;;AAMA,MAAMC,eAAe,GAAG,yBAAxB;;AAEO,MAAMC,iBAA+B,GAAIC,MAAD,IAAY;EACzD,OAAO,IAAAC,oCAAA,EAAoBD,MAApB,EAA6BA,MAAD,IAAY;IAC7CA,MAAM,CAACE,UAAP,GAAoBC,eAAe,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAAnC;IACA,OAAOF,MAAP;EACD,CAHM,CAAP;AAID,CALM;;;;AAOA,SAASI,eAAT,CAAyBJ,MAAzB,EAA6C;EAAA;;EAClD,mDAAOA,MAAM,CAACK,OAAd,8EAAO,gBAAgBL,MAAvB,qFAAO,uBAAwBM,MAA/B,2DAAO,uBAAgCC,MAAvC,yEAAiD,IAAjD;AACD;;AAEM,SAASJ,eAAT,CACLH,MADK,EAELQ,eAFK,EAGL;EACA,MAAMD,MAAM,GAAGH,eAAe,CAACJ,MAAD,CAA9B;EAEA,MAAMS,eAAe,GAAGf,yBAAyB,CAACc,eAAD,CAAjD;;EAEA,IAAID,MAAJ,EAAY;IACV;IACAd,gCAAgC,CAACgB,eAAD,EAAkBX,eAAlB,EAAmCS,MAAnC,CAAhC;EACD,CAHD,MAGO;IACL;IACAZ,qCAAqC,CAACc,eAAD,EAAkBX,eAAlB,CAArC;EACD;;EACD,OAAOU,eAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-branch/withIosBranch.ts"],"names":["withIosBranch","config","modResults","setBranchApiKey","getBranchApiKey","ios","branch","apiKey","infoPlist","branch_key","live"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,aAA2B,GAAGC,MAAM,IAAI;AACnD,SAAO,oCAAcA,MAAd,EAAsBA,MAAM,IAAI;AACrCA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,eAAe,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAnC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,eAAT,CAAyBH,MAAzB,EAA0D;AAAA;;AAC/D,iDAAOA,MAAM,CAACI,GAAd,sEAAO,YAAYJ,MAAnB,iFAAO,mBAAoBK,MAA3B,2DAAO,uBAA4BC,MAAnC,yEAA6C,IAA7C;AACD;;AAEM,SAASJ,eAAT,CAAyBF,MAAzB,EAA0DO,SAA1D,EAA2F;AAChG,QAAMD,MAAM,GAAGH,eAAe,CAACH,MAAD,CAA9B;;AAEA,MAAIM,MAAM,KAAK,IAAf,EAAqB;AACnB,WAAOC,SAAP;AACD;;AAED,SAAO,EACL,GAAGA,SADE;AAELC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAEH;AADI;AAFP,GAAP;AAMD","sourcesContent":["import { ConfigPlugin, InfoPlist, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nexport const withIosBranch: ConfigPlugin = config => {\n return withInfoPlist(config, config => {\n config.modResults = setBranchApiKey(config, config.modResults);\n return config;\n });\n};\n\nexport function getBranchApiKey(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.branch?.apiKey ?? null;\n}\n\nexport function setBranchApiKey(config: Pick<ExpoConfig, 'ios'>, infoPlist: InfoPlist): InfoPlist {\n const apiKey = getBranchApiKey(config);\n\n if (apiKey === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n branch_key: {\n live: apiKey,\n },\n };\n}\n"],"file":"withIosBranch.js"}
1
+ {"version":3,"file":"withIosBranch.js","names":["withIosBranch","config","withInfoPlist","modResults","setBranchApiKey","getBranchApiKey","ios","branch","apiKey","infoPlist","branch_key","live"],"sources":["../../../../src/plugins/unversioned/expo-branch/withIosBranch.ts"],"sourcesContent":["import { ConfigPlugin, InfoPlist, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nexport const withIosBranch: ConfigPlugin = (config) => {\n return withInfoPlist(config, (config) => {\n config.modResults = setBranchApiKey(config, config.modResults);\n return config;\n });\n};\n\nexport function getBranchApiKey(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.branch?.apiKey ?? null;\n}\n\nexport function setBranchApiKey(config: Pick<ExpoConfig, 'ios'>, infoPlist: InfoPlist): InfoPlist {\n const apiKey = getBranchApiKey(config);\n\n if (apiKey === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n branch_key: {\n live: apiKey,\n },\n };\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,aAA2B,GAAIC,MAAD,IAAY;EACrD,OAAO,IAAAC,8BAAA,EAAcD,MAAd,EAAuBA,MAAD,IAAY;IACvCA,MAAM,CAACE,UAAP,GAAoBC,eAAe,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAAnC;IACA,OAAOF,MAAP;EACD,CAHM,CAAP;AAID,CALM;;;;AAOA,SAASI,eAAT,CAAyBJ,MAAzB,EAA0D;EAAA;;EAC/D,+CAAOA,MAAM,CAACK,GAAd,sEAAO,YAAYL,MAAnB,iFAAO,mBAAoBM,MAA3B,2DAAO,uBAA4BC,MAAnC,yEAA6C,IAA7C;AACD;;AAEM,SAASJ,eAAT,CAAyBH,MAAzB,EAA0DQ,SAA1D,EAA2F;EAChG,MAAMD,MAAM,GAAGH,eAAe,CAACJ,MAAD,CAA9B;;EAEA,IAAIO,MAAM,KAAK,IAAf,EAAqB;IACnB,OAAOC,SAAP;EACD;;EAED,OAAO,EACL,GAAGA,SADE;IAELC,UAAU,EAAE;MACVC,IAAI,EAAEH;IADI;EAFP,CAAP;AAMD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/unversioned/expo-contacts.ts"],"names":["withAccessesContactNotes","config","modResults","setAccessesContactNotes","entitlementsPlist","ios","accessesContactNotes","packageName","fallback"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA,MAAMA,wBAAsC,GAAGC,MAAM,IAAI;AACvD,SAAO,4CAAsBA,MAAtB,EAA8BA,MAAM,IAAI;AAC7CA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,uBAAuB,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAA3C;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALD;;AAOA,SAASE,uBAAT,CAAiCF,MAAjC,EAAqDG,iBAArD,EAAgG;AAAA;;AAC9F,qBAAIH,MAAM,CAACI,GAAX,wCAAI,YAAYC,oBAAhB,EAAsC;AACpC,WAAO,EACL,GAAGF,iBADE;AAEL,4CAAsC;AAFjC,KAAP;AAID;;AAED,SAAOA,iBAAP;AACD;;eAEc,8CAAmB;AAChCG,EAAAA,WAAW,EAAE,eADmB;AAEhCC,EAAAA,QAAQ,EAAER;AAFsB,CAAnB,C","sourcesContent":["import { ConfigPlugin, withEntitlementsPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport { 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"],"file":"expo-contacts.js"}
1
+ {"version":3,"file":"expo-contacts.js","names":["withAccessesContactNotes","config","withEntitlementsPlist","modResults","setAccessesContactNotes","entitlementsPlist","ios","accessesContactNotes","createLegacyPlugin","packageName","fallback"],"sources":["../../../src/plugins/unversioned/expo-contacts.ts"],"sourcesContent":["import { ConfigPlugin, withEntitlementsPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport { 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":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA,MAAMA,wBAAsC,GAAIC,MAAD,IAAY;EACzD,OAAO,IAAAC,sCAAA,EAAsBD,MAAtB,EAA+BA,MAAD,IAAY;IAC/CA,MAAM,CAACE,UAAP,GAAoBC,uBAAuB,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAA3C;IACA,OAAOF,MAAP;EACD,CAHM,CAAP;AAID,CALD;;AAOA,SAASG,uBAAT,CAAiCH,MAAjC,EAAqDI,iBAArD,EAAgG;EAAA;;EAC9F,mBAAIJ,MAAM,CAACK,GAAX,wCAAI,YAAYC,oBAAhB,EAAsC;IACpC,OAAO,EACL,GAAGF,iBADE;MAEL,sCAAsC;IAFjC,CAAP;EAID;;EAED,OAAOA,iBAAP;AACD;;eAEc,IAAAG,wCAAA,EAAmB;EAChCC,WAAW,EAAE,eADmB;EAEhCC,QAAQ,EAAEV;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/unversioned/expo-document-picker.ts"],"names":["packageName","fallback","config","ios","usesIcloudStorage","WarningAggregator","addWarningIOS"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,sBADmB;;AAEhCC,EAAAA,QAAQ,CAACC,MAAD,EAAS;AAAA;;AACf,uBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,iBAAhB,EAAmC;AACjCC,yCAAkBC,aAAlB,CACE,uBADF,EAEE,0EAFF,CAGE;AAHF;AAKD;;AACD,WAAOJ,MAAP;AACD;;AAX+B,CAAnB,C","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"],"file":"expo-document-picker.js"}
1
+ {"version":3,"file":"expo-document-picker.js","names":["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;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAEe,IAAAA,wCAAA,EAAmB;EAChCC,WAAW,EAAE,sBADmB;;EAEhCC,QAAQ,CAACC,MAAD,EAAS;IAAA;;IACf,mBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,iBAAhB,EAAmC;MACjCC,kCAAA,CAAkBC,aAAlB,CACE,uBADF,EAEE,0EAFF,CAGE;MAHF;IAKD;;IACD,OAAOJ,MAAP;EACD;;AAX+B,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-facebook/expo-facebook.ts"],"names":["packageName","fallback","withFacebookAppIdString","withFacebookManifest","withIosFacebook","withSKAdNetworkIdentifiers"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,eADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACR;AACAC,gDAFQ,EAGRC,2CAHQ,EAIR;AACAC,oCALQ,EAMR,CACEC,wDADF,EAEE;AACA,GAAC,wBAAD,EAA2B,wBAA3B,CAHF,CANQ;AAFsB,CAAnB,C","sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withFacebookAppIdString, withFacebookManifest } from './withAndroidFacebook';\nimport { withIosFacebook } from './withIosFacebook';\nimport { withSKAdNetworkIdentifiers } from './withSKAdNetworkIdentifiers';\n\nexport default createLegacyPlugin({\n packageName: 'expo-facebook',\n fallback: [\n // Android\n withFacebookAppIdString,\n withFacebookManifest,\n // iOS\n withIosFacebook,\n [\n withSKAdNetworkIdentifiers,\n // https://developers.facebook.com/docs/SKAdNetwork\n ['v9wttpbfk9.skadnetwork', 'n38lu8286q.skadnetwork'],\n ],\n ],\n});\n"],"file":"expo-facebook.js"}
1
+ {"version":3,"file":"expo-facebook.js","names":["createLegacyPlugin","packageName","fallback","withFacebookAppIdString","withFacebookManifest","withIosFacebook","withSKAdNetworkIdentifiers"],"sources":["../../../../src/plugins/unversioned/expo-facebook/expo-facebook.ts"],"sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withFacebookAppIdString, withFacebookManifest } from './withAndroidFacebook';\nimport { withIosFacebook } from './withIosFacebook';\nimport { withSKAdNetworkIdentifiers } from './withSKAdNetworkIdentifiers';\n\nexport default createLegacyPlugin({\n packageName: 'expo-facebook',\n fallback: [\n // Android\n withFacebookAppIdString,\n withFacebookManifest,\n // iOS\n withIosFacebook,\n [\n withSKAdNetworkIdentifiers,\n // https://developers.facebook.com/docs/SKAdNetwork\n ['v9wttpbfk9.skadnetwork', 'n38lu8286q.skadnetwork'],\n ],\n ],\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAEe,IAAAA,wCAAA,EAAmB;EAChCC,WAAW,EAAE,eADmB;EAEhCC,QAAQ,EAAE,CACR;EACAC,8CAFQ,EAGRC,2CAHQ,EAIR;EACAC,kCALQ,EAMR,CACEC,wDADF,EAEE;EACA,CAAC,wBAAD,EAA2B,wBAA3B,CAHF,CANQ;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-facebook/withAndroidFacebook.ts"],"names":["buildResourceItem","AndroidConfig","Resources","removeStringItem","setStringItem","Strings","addMetaDataItemToMainApplication","getMainApplicationOrThrow","prefixAndroidKeys","removeMetaDataItemFromMainApplication","Manifest","CUSTOM_TAB_ACTIVITY","STRING_FACEBOOK_APP_ID","META_APP_ID","META_APP_NAME","META_AUTO_INIT","META_AUTO_LOG_APP_EVENTS","META_AD_ID_COLLECTION","withFacebookAppIdString","config","modResults","applyFacebookAppIdString","withFacebookManifest","setFacebookConfig","buildXMLItem","head","children","$","buildAndroidItem","datum","item","name","getFacebookSchemeActivity","scheme","exported","action","category","data","getFacebookScheme","facebookScheme","getFacebookAppId","facebookAppId","getFacebookDisplayName","facebookDisplayName","getFacebookAutoInitEnabled","facebookAutoInitEnabled","getFacebookAutoLogAppEvents","facebookAutoLogAppEventsEnabled","getFacebookAdvertiserIDCollection","facebookAdvertiserIDCollectionEnabled","ensureFacebookActivity","mainApplication","Array","isArray","activity","filter","push","stringsJSON","appId","value","androidManifest","displayName","autoInitEnabled","autoLogAppEvents","advertiserIdCollection"],"mappings":"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","sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidManifest,\n withStringsXml,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst { buildResourceItem } = AndroidConfig.Resources;\nconst { removeStringItem, setStringItem } = AndroidConfig.Strings;\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n prefixAndroidKeys,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst CUSTOM_TAB_ACTIVITY = 'com.facebook.CustomTabActivity';\nconst STRING_FACEBOOK_APP_ID = 'facebook_app_id';\nconst META_APP_ID = 'com.facebook.sdk.ApplicationId';\nconst META_APP_NAME = 'com.facebook.sdk.ApplicationName';\nconst META_AUTO_INIT = 'com.facebook.sdk.AutoInitEnabled';\nconst META_AUTO_LOG_APP_EVENTS = 'com.facebook.sdk.AutoLogAppEventsEnabled';\nconst META_AD_ID_COLLECTION = 'com.facebook.sdk.AdvertiserIDCollectionEnabled';\n\nexport const withFacebookAppIdString: ConfigPlugin = config => {\n return withStringsXml(config, config => {\n config.modResults = applyFacebookAppIdString(config, config.modResults);\n return config;\n });\n};\n\nexport const withFacebookManifest: ConfigPlugin = config => {\n return withAndroidManifest(config, config => {\n config.modResults = setFacebookConfig(config, config.modResults);\n return config;\n });\n};\n\nfunction buildXMLItem({\n head,\n children,\n}: {\n head: Record<string, string>;\n children?: Record<string, string | any[]>;\n}) {\n return { ...(children ?? {}), $: head };\n}\n\nfunction buildAndroidItem(datum: string | Record<string, any>) {\n const item = typeof datum === 'string' ? { name: datum } : datum;\n const head = prefixAndroidKeys(item);\n return buildXMLItem({ head });\n}\n\nfunction getFacebookSchemeActivity(scheme: string) {\n /**\n <activity\n android:name=\"com.facebook.CustomTabActivity\"\n android:exported=\"true\">\n <intent-filter>\n <action android:name=\"android.intent.action.VIEW\" />\n <category android:name=\"android.intent.category.DEFAULT\" />\n <category android:name=\"android.intent.category.BROWSABLE\" />\n <data android:scheme=\"${scheme}\" />\n </intent-filter>\n </activity>\n */\n return buildXMLItem({\n head: prefixAndroidKeys({\n name: CUSTOM_TAB_ACTIVITY,\n exported: 'true',\n }),\n children: {\n 'intent-filter': [\n {\n action: [buildAndroidItem('android.intent.action.VIEW')],\n category: [\n buildAndroidItem('android.intent.category.DEFAULT'),\n buildAndroidItem('android.intent.category.BROWSABLE'),\n ],\n data: [buildAndroidItem({ scheme })],\n },\n ],\n },\n }) as AndroidConfig.Manifest.ManifestActivity;\n}\n\ntype ExpoConfigFacebook = Pick<\n ExpoConfig,\n | 'facebookScheme'\n | 'facebookAdvertiserIDCollectionEnabled'\n | 'facebookAppId'\n | 'facebookAutoInitEnabled'\n | 'facebookAutoLogAppEventsEnabled'\n | 'facebookDisplayName'\n>;\n\nexport function getFacebookScheme(config: ExpoConfigFacebook) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: ExpoConfigFacebook) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfigFacebook) {\n return config.facebookDisplayName ?? null;\n}\nexport function getFacebookAutoInitEnabled(config: ExpoConfigFacebook) {\n return config.facebookAutoInitEnabled ?? null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook) {\n return config.facebookAutoLogAppEventsEnabled ?? null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook) {\n return config.facebookAdvertiserIDCollectionEnabled ?? null;\n}\n\nfunction ensureFacebookActivity({\n mainApplication,\n scheme,\n}: {\n mainApplication: AndroidConfig.Manifest.ManifestApplication;\n scheme: string | null;\n}) {\n if (Array.isArray(mainApplication.activity)) {\n // Remove all Facebook CustomTabActivities first\n mainApplication.activity = mainApplication.activity.filter(activity => {\n return activity.$?.['android:name'] !== CUSTOM_TAB_ACTIVITY;\n });\n } else {\n mainApplication.activity = [];\n }\n\n // If a new scheme is defined, append it to the activity.\n if (scheme) {\n mainApplication.activity.push(getFacebookSchemeActivity(scheme));\n }\n return mainApplication;\n}\n\nfunction applyFacebookAppIdString(\n config: ExpoConfigFacebook,\n stringsJSON: AndroidConfig.Resources.ResourceXML\n) {\n const appId = getFacebookAppId(config);\n\n if (appId) {\n return setStringItem(\n [buildResourceItem({ name: STRING_FACEBOOK_APP_ID, value: appId })],\n stringsJSON\n );\n }\n return removeStringItem(STRING_FACEBOOK_APP_ID, stringsJSON);\n}\n\nexport function setFacebookConfig(\n config: ExpoConfigFacebook,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const scheme = getFacebookScheme(config);\n\n const appId = getFacebookAppId(config);\n const displayName = getFacebookDisplayName(config);\n const autoInitEnabled = getFacebookAutoInitEnabled(config);\n const autoLogAppEvents = getFacebookAutoLogAppEvents(config);\n const advertiserIdCollection = getFacebookAdvertiserIDCollection(config);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let mainApplication = getMainApplicationOrThrow(androidManifest);\n\n mainApplication = ensureFacebookActivity({ scheme, mainApplication });\n\n if (appId) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_APP_ID,\n `@string/${STRING_FACEBOOK_APP_ID}`\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_ID);\n }\n if (displayName) {\n mainApplication = addMetaDataItemToMainApplication(mainApplication, META_APP_NAME, displayName);\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_NAME);\n }\n if (autoInitEnabled !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_INIT,\n autoInitEnabled ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AUTO_INIT);\n }\n if (autoLogAppEvents !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS,\n autoLogAppEvents ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS\n );\n }\n if (advertiserIdCollection !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AD_ID_COLLECTION,\n advertiserIdCollection ? 'true' : 'false'\n );\n } else {\n // eslint-disable-next-line\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AD_ID_COLLECTION);\n }\n\n return androidManifest;\n}\n"],"file":"withAndroidFacebook.js"}
1
+ {"version":3,"file":"withAndroidFacebook.js","names":["buildResourceItem","AndroidConfig","Resources","removeStringItem","setStringItem","Strings","addMetaDataItemToMainApplication","getMainApplicationOrThrow","prefixAndroidKeys","removeMetaDataItemFromMainApplication","Manifest","CUSTOM_TAB_ACTIVITY","STRING_FACEBOOK_APP_ID","META_APP_ID","META_APP_NAME","META_AUTO_INIT","META_AUTO_LOG_APP_EVENTS","META_AD_ID_COLLECTION","withFacebookAppIdString","config","withStringsXml","modResults","applyFacebookAppIdString","withFacebookManifest","withAndroidManifest","setFacebookConfig","buildXMLItem","head","children","$","buildAndroidItem","datum","item","name","getFacebookSchemeActivity","scheme","exported","action","category","data","getFacebookScheme","facebookScheme","getFacebookAppId","facebookAppId","getFacebookDisplayName","facebookDisplayName","getFacebookAutoInitEnabled","facebookAutoInitEnabled","getFacebookAutoLogAppEvents","facebookAutoLogAppEventsEnabled","getFacebookAdvertiserIDCollection","facebookAdvertiserIDCollectionEnabled","ensureFacebookActivity","mainApplication","Array","isArray","activity","filter","push","stringsJSON","appId","value","androidManifest","displayName","autoInitEnabled","autoLogAppEvents","advertiserIdCollection"],"sources":["../../../../src/plugins/unversioned/expo-facebook/withAndroidFacebook.ts"],"sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidManifest,\n withStringsXml,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst { buildResourceItem } = AndroidConfig.Resources;\nconst { removeStringItem, setStringItem } = AndroidConfig.Strings;\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n prefixAndroidKeys,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst CUSTOM_TAB_ACTIVITY = 'com.facebook.CustomTabActivity';\nconst STRING_FACEBOOK_APP_ID = 'facebook_app_id';\nconst META_APP_ID = 'com.facebook.sdk.ApplicationId';\nconst META_APP_NAME = 'com.facebook.sdk.ApplicationName';\nconst META_AUTO_INIT = 'com.facebook.sdk.AutoInitEnabled';\nconst META_AUTO_LOG_APP_EVENTS = 'com.facebook.sdk.AutoLogAppEventsEnabled';\nconst META_AD_ID_COLLECTION = 'com.facebook.sdk.AdvertiserIDCollectionEnabled';\n\nexport const withFacebookAppIdString: ConfigPlugin = (config) => {\n return withStringsXml(config, (config) => {\n config.modResults = applyFacebookAppIdString(config, config.modResults);\n return config;\n });\n};\n\nexport const withFacebookManifest: ConfigPlugin = (config) => {\n return withAndroidManifest(config, (config) => {\n config.modResults = setFacebookConfig(config, config.modResults);\n return config;\n });\n};\n\nfunction buildXMLItem({\n head,\n children,\n}: {\n head: Record<string, string>;\n children?: Record<string, string | any[]>;\n}) {\n return { ...(children ?? {}), $: head };\n}\n\nfunction buildAndroidItem(datum: string | Record<string, any>) {\n const item = typeof datum === 'string' ? { name: datum } : datum;\n const head = prefixAndroidKeys(item);\n return buildXMLItem({ head });\n}\n\nfunction getFacebookSchemeActivity(scheme: string) {\n /**\n <activity\n android:name=\"com.facebook.CustomTabActivity\"\n android:exported=\"true\">\n <intent-filter>\n <action android:name=\"android.intent.action.VIEW\" />\n <category android:name=\"android.intent.category.DEFAULT\" />\n <category android:name=\"android.intent.category.BROWSABLE\" />\n <data android:scheme=\"${scheme}\" />\n </intent-filter>\n </activity>\n */\n return buildXMLItem({\n head: prefixAndroidKeys({\n name: CUSTOM_TAB_ACTIVITY,\n exported: 'true',\n }),\n children: {\n 'intent-filter': [\n {\n action: [buildAndroidItem('android.intent.action.VIEW')],\n category: [\n buildAndroidItem('android.intent.category.DEFAULT'),\n buildAndroidItem('android.intent.category.BROWSABLE'),\n ],\n data: [buildAndroidItem({ scheme })],\n },\n ],\n },\n }) as AndroidConfig.Manifest.ManifestActivity;\n}\n\ntype ExpoConfigFacebook = Pick<\n ExpoConfig,\n | 'facebookScheme'\n | 'facebookAdvertiserIDCollectionEnabled'\n | 'facebookAppId'\n | 'facebookAutoInitEnabled'\n | 'facebookAutoLogAppEventsEnabled'\n | 'facebookDisplayName'\n>;\n\nexport function getFacebookScheme(config: ExpoConfigFacebook) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: ExpoConfigFacebook) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfigFacebook) {\n return config.facebookDisplayName ?? null;\n}\nexport function getFacebookAutoInitEnabled(config: ExpoConfigFacebook) {\n return config.facebookAutoInitEnabled ?? null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook) {\n return config.facebookAutoLogAppEventsEnabled ?? null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook) {\n return config.facebookAdvertiserIDCollectionEnabled ?? null;\n}\n\nfunction ensureFacebookActivity({\n mainApplication,\n scheme,\n}: {\n mainApplication: AndroidConfig.Manifest.ManifestApplication;\n scheme: string | null;\n}) {\n if (Array.isArray(mainApplication.activity)) {\n // Remove all Facebook CustomTabActivities first\n mainApplication.activity = mainApplication.activity.filter((activity) => {\n return activity.$?.['android:name'] !== CUSTOM_TAB_ACTIVITY;\n });\n } else {\n mainApplication.activity = [];\n }\n\n // If a new scheme is defined, append it to the activity.\n if (scheme) {\n mainApplication.activity.push(getFacebookSchemeActivity(scheme));\n }\n return mainApplication;\n}\n\nfunction applyFacebookAppIdString(\n config: ExpoConfigFacebook,\n stringsJSON: AndroidConfig.Resources.ResourceXML\n) {\n const appId = getFacebookAppId(config);\n\n if (appId) {\n return setStringItem(\n [buildResourceItem({ name: STRING_FACEBOOK_APP_ID, value: appId })],\n stringsJSON\n );\n }\n return removeStringItem(STRING_FACEBOOK_APP_ID, stringsJSON);\n}\n\nexport function setFacebookConfig(\n config: ExpoConfigFacebook,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const scheme = getFacebookScheme(config);\n\n const appId = getFacebookAppId(config);\n const displayName = getFacebookDisplayName(config);\n const autoInitEnabled = getFacebookAutoInitEnabled(config);\n const autoLogAppEvents = getFacebookAutoLogAppEvents(config);\n const advertiserIdCollection = getFacebookAdvertiserIDCollection(config);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let mainApplication = getMainApplicationOrThrow(androidManifest);\n\n mainApplication = ensureFacebookActivity({ scheme, mainApplication });\n\n if (appId) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_APP_ID,\n `@string/${STRING_FACEBOOK_APP_ID}`\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_ID);\n }\n if (displayName) {\n mainApplication = addMetaDataItemToMainApplication(mainApplication, META_APP_NAME, displayName);\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_NAME);\n }\n if (autoInitEnabled !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_INIT,\n autoInitEnabled ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AUTO_INIT);\n }\n if (autoLogAppEvents !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS,\n autoLogAppEvents ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS\n );\n }\n if (advertiserIdCollection !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AD_ID_COLLECTION,\n advertiserIdCollection ? 'true' : 'false'\n );\n } else {\n // eslint-disable-next-line\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AD_ID_COLLECTION);\n }\n\n return androidManifest;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-facebook/withIosFacebook.ts"],"names":["appendScheme","IOSConfig","Scheme","fbSchemes","withIosFacebook","config","modResults","setFacebookConfig","getFacebookScheme","facebookScheme","getFacebookAppId","facebookAppId","getFacebookDisplayName","facebookDisplayName","getFacebookAutoInitEnabled","facebookAutoInitEnabled","getFacebookAutoLogAppEvents","facebookAutoLogAppEventsEnabled","getFacebookAdvertiserIDCollection","facebookAdvertiserIDCollectionEnabled","infoPlist","setFacebookAppId","setFacebookApplicationQuerySchemes","setFacebookDisplayName","setFacebookAutoInitEnabled","setFacebookAutoLogAppEventsEnabled","setFacebookAdvertiserIDCollectionEnabled","setFacebookScheme","FacebookAutoInitEnabled","FacebookAutoLogAppEventsEnabled","FacebookAdvertiserIDCollectionEnabled","FacebookAppID","FacebookDisplayName","existingSchemes","LSApplicationQueriesSchemes","includes","length","restInfoPlist","scheme","index","findIndex","s","splice","updatedSchemes"],"mappings":"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","sourcesContent":["import { ConfigPlugin, InfoPlist, IOSConfig, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst { appendScheme } = IOSConfig.Scheme;\n\ntype ExpoConfigFacebook = Pick<\n ExpoConfig,\n | 'facebookScheme'\n | 'facebookAdvertiserIDCollectionEnabled'\n | 'facebookAppId'\n | 'facebookAutoInitEnabled'\n | 'facebookAutoLogAppEventsEnabled'\n | 'facebookDisplayName'\n>;\n\nconst fbSchemes = ['fbapi', 'fb-messenger-api', 'fbauth2', 'fbshareextension'];\n\nexport const withIosFacebook: ConfigPlugin = config => {\n return withInfoPlist(config, config => {\n config.modResults = setFacebookConfig(config, config.modResults);\n return config;\n });\n};\n\n/**\n * Getters\n * TODO: these getters are the same between ios/android, we could reuse them\n */\n\nexport function getFacebookScheme(config: ExpoConfigFacebook) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: Pick<ExpoConfigFacebook, 'facebookAppId'>) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfigFacebook) {\n return config.facebookDisplayName ?? null;\n}\n\nexport function getFacebookAutoInitEnabled(config: ExpoConfigFacebook) {\n return config.facebookAutoInitEnabled ?? null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook) {\n return config.facebookAutoLogAppEventsEnabled ?? null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook) {\n return config.facebookAdvertiserIDCollectionEnabled ?? null;\n}\n\n/**\n * Setters\n */\n\nexport function setFacebookConfig(config: ExpoConfigFacebook, infoPlist: InfoPlist) {\n infoPlist = setFacebookAppId(config, infoPlist);\n infoPlist = setFacebookApplicationQuerySchemes(config, infoPlist);\n infoPlist = setFacebookDisplayName(config, infoPlist);\n infoPlist = setFacebookAutoInitEnabled(config, infoPlist);\n infoPlist = setFacebookAutoLogAppEventsEnabled(config, infoPlist);\n infoPlist = setFacebookAdvertiserIDCollectionEnabled(config, infoPlist);\n infoPlist = setFacebookScheme(config, infoPlist);\n return infoPlist;\n}\n\nexport function setFacebookScheme(config: ExpoConfigFacebook, infoPlist: InfoPlist) {\n const facebookScheme = getFacebookScheme(config);\n return appendScheme(facebookScheme, infoPlist);\n}\n\nexport function setFacebookAutoInitEnabled(\n config: ExpoConfigFacebook,\n { FacebookAutoInitEnabled, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAutoInitEnabled = getFacebookAutoInitEnabled(config);\n\n if (facebookAutoInitEnabled === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n FacebookAutoInitEnabled: facebookAutoInitEnabled,\n };\n}\n\nexport function setFacebookAutoLogAppEventsEnabled(\n config: ExpoConfigFacebook,\n { FacebookAutoLogAppEventsEnabled, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAutoLogAppEventsEnabled = getFacebookAutoLogAppEvents(config);\n\n if (facebookAutoLogAppEventsEnabled === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n FacebookAutoLogAppEventsEnabled: facebookAutoLogAppEventsEnabled,\n };\n}\n\nexport function setFacebookAdvertiserIDCollectionEnabled(\n config: ExpoConfigFacebook,\n { FacebookAdvertiserIDCollectionEnabled, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAdvertiserIDCollectionEnabled = getFacebookAdvertiserIDCollection(config);\n\n if (facebookAdvertiserIDCollectionEnabled === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n FacebookAdvertiserIDCollectionEnabled: facebookAdvertiserIDCollectionEnabled,\n };\n}\n\nexport function setFacebookAppId(\n config: Pick<ExpoConfigFacebook, 'facebookAppId'>,\n { FacebookAppID, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAppId = getFacebookAppId(config);\n if (facebookAppId) {\n return {\n ...infoPlist,\n FacebookAppID: facebookAppId,\n };\n }\n\n return infoPlist;\n}\n\nexport function setFacebookDisplayName(\n config: ExpoConfigFacebook,\n { FacebookDisplayName, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookDisplayName = getFacebookDisplayName(config);\n\n if (facebookDisplayName) {\n return {\n ...infoPlist,\n FacebookDisplayName: facebookDisplayName,\n };\n }\n\n return infoPlist;\n}\n\nexport function setFacebookApplicationQuerySchemes(\n config: Pick<ExpoConfigFacebook, 'facebookAppId'>,\n infoPlist: InfoPlist\n): InfoPlist {\n const facebookAppId = getFacebookAppId(config);\n\n const existingSchemes = infoPlist.LSApplicationQueriesSchemes || [];\n\n if (facebookAppId && existingSchemes.includes('fbapi')) {\n // already included, no need to add again\n return infoPlist;\n } else if (!facebookAppId && !existingSchemes.length) {\n // already removed, no need to strip again\n const { LSApplicationQueriesSchemes, ...restInfoPlist } = infoPlist;\n if (LSApplicationQueriesSchemes?.length) {\n return infoPlist;\n } else {\n // Return without the empty LSApplicationQueriesSchemes array.\n return restInfoPlist;\n }\n }\n\n // Remove all schemes\n for (const scheme of fbSchemes) {\n const index = existingSchemes.findIndex(s => s === scheme);\n if (index > -1) {\n existingSchemes.splice(index, 1);\n }\n }\n\n if (!facebookAppId) {\n // Run again to ensure the LSApplicationQueriesSchemes array is stripped if needed.\n infoPlist.LSApplicationQueriesSchemes = existingSchemes;\n if (!infoPlist.LSApplicationQueriesSchemes.length) {\n delete infoPlist.LSApplicationQueriesSchemes;\n }\n return infoPlist;\n }\n\n // TODO: it's actually necessary to add more query schemes (specific to the\n // app) to support all of the features that the Facebook SDK provides, should\n // we sync those here too?\n const updatedSchemes = [...existingSchemes, ...fbSchemes];\n\n return {\n ...infoPlist,\n LSApplicationQueriesSchemes: updatedSchemes,\n };\n}\n"],"file":"withIosFacebook.js"}
1
+ {"version":3,"file":"withIosFacebook.js","names":["appendScheme","IOSConfig","Scheme","fbSchemes","withIosFacebook","config","withInfoPlist","modResults","setFacebookConfig","getFacebookScheme","facebookScheme","getFacebookAppId","facebookAppId","getFacebookDisplayName","facebookDisplayName","getFacebookAutoInitEnabled","facebookAutoInitEnabled","getFacebookAutoLogAppEvents","facebookAutoLogAppEventsEnabled","getFacebookAdvertiserIDCollection","facebookAdvertiserIDCollectionEnabled","infoPlist","setFacebookAppId","setFacebookApplicationQuerySchemes","setFacebookDisplayName","setFacebookAutoInitEnabled","setFacebookAutoLogAppEventsEnabled","setFacebookAdvertiserIDCollectionEnabled","setFacebookScheme","FacebookAutoInitEnabled","FacebookAutoLogAppEventsEnabled","FacebookAdvertiserIDCollectionEnabled","FacebookAppID","FacebookDisplayName","existingSchemes","LSApplicationQueriesSchemes","includes","length","restInfoPlist","scheme","index","findIndex","s","splice","updatedSchemes"],"sources":["../../../../src/plugins/unversioned/expo-facebook/withIosFacebook.ts"],"sourcesContent":["import { ConfigPlugin, InfoPlist, IOSConfig, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst { appendScheme } = IOSConfig.Scheme;\n\ntype ExpoConfigFacebook = Pick<\n ExpoConfig,\n | 'facebookScheme'\n | 'facebookAdvertiserIDCollectionEnabled'\n | 'facebookAppId'\n | 'facebookAutoInitEnabled'\n | 'facebookAutoLogAppEventsEnabled'\n | 'facebookDisplayName'\n>;\n\nconst fbSchemes = ['fbapi', 'fb-messenger-api', 'fbauth2', 'fbshareextension'];\n\nexport const withIosFacebook: ConfigPlugin = (config) => {\n return withInfoPlist(config, (config) => {\n config.modResults = setFacebookConfig(config, config.modResults);\n return config;\n });\n};\n\n/**\n * Getters\n * TODO: these getters are the same between ios/android, we could reuse them\n */\n\nexport function getFacebookScheme(config: ExpoConfigFacebook) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: Pick<ExpoConfigFacebook, 'facebookAppId'>) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfigFacebook) {\n return config.facebookDisplayName ?? null;\n}\n\nexport function getFacebookAutoInitEnabled(config: ExpoConfigFacebook) {\n return config.facebookAutoInitEnabled ?? null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook) {\n return config.facebookAutoLogAppEventsEnabled ?? null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook) {\n return config.facebookAdvertiserIDCollectionEnabled ?? null;\n}\n\n/**\n * Setters\n */\n\nexport function setFacebookConfig(config: ExpoConfigFacebook, infoPlist: InfoPlist) {\n infoPlist = setFacebookAppId(config, infoPlist);\n infoPlist = setFacebookApplicationQuerySchemes(config, infoPlist);\n infoPlist = setFacebookDisplayName(config, infoPlist);\n infoPlist = setFacebookAutoInitEnabled(config, infoPlist);\n infoPlist = setFacebookAutoLogAppEventsEnabled(config, infoPlist);\n infoPlist = setFacebookAdvertiserIDCollectionEnabled(config, infoPlist);\n infoPlist = setFacebookScheme(config, infoPlist);\n return infoPlist;\n}\n\nexport function setFacebookScheme(config: ExpoConfigFacebook, infoPlist: InfoPlist) {\n const facebookScheme = getFacebookScheme(config);\n return appendScheme(facebookScheme, infoPlist);\n}\n\nexport function setFacebookAutoInitEnabled(\n config: ExpoConfigFacebook,\n { FacebookAutoInitEnabled, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAutoInitEnabled = getFacebookAutoInitEnabled(config);\n\n if (facebookAutoInitEnabled === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n FacebookAutoInitEnabled: facebookAutoInitEnabled,\n };\n}\n\nexport function setFacebookAutoLogAppEventsEnabled(\n config: ExpoConfigFacebook,\n { FacebookAutoLogAppEventsEnabled, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAutoLogAppEventsEnabled = getFacebookAutoLogAppEvents(config);\n\n if (facebookAutoLogAppEventsEnabled === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n FacebookAutoLogAppEventsEnabled: facebookAutoLogAppEventsEnabled,\n };\n}\n\nexport function setFacebookAdvertiserIDCollectionEnabled(\n config: ExpoConfigFacebook,\n { FacebookAdvertiserIDCollectionEnabled, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAdvertiserIDCollectionEnabled = getFacebookAdvertiserIDCollection(config);\n\n if (facebookAdvertiserIDCollectionEnabled === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n FacebookAdvertiserIDCollectionEnabled: facebookAdvertiserIDCollectionEnabled,\n };\n}\n\nexport function setFacebookAppId(\n config: Pick<ExpoConfigFacebook, 'facebookAppId'>,\n { FacebookAppID, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookAppId = getFacebookAppId(config);\n if (facebookAppId) {\n return {\n ...infoPlist,\n FacebookAppID: facebookAppId,\n };\n }\n\n return infoPlist;\n}\n\nexport function setFacebookDisplayName(\n config: ExpoConfigFacebook,\n { FacebookDisplayName, ...infoPlist }: InfoPlist\n): InfoPlist {\n const facebookDisplayName = getFacebookDisplayName(config);\n\n if (facebookDisplayName) {\n return {\n ...infoPlist,\n FacebookDisplayName: facebookDisplayName,\n };\n }\n\n return infoPlist;\n}\n\nexport function setFacebookApplicationQuerySchemes(\n config: Pick<ExpoConfigFacebook, 'facebookAppId'>,\n infoPlist: InfoPlist\n): InfoPlist {\n const facebookAppId = getFacebookAppId(config);\n\n const existingSchemes = infoPlist.LSApplicationQueriesSchemes || [];\n\n if (facebookAppId && existingSchemes.includes('fbapi')) {\n // already included, no need to add again\n return infoPlist;\n } else if (!facebookAppId && !existingSchemes.length) {\n // already removed, no need to strip again\n const { LSApplicationQueriesSchemes, ...restInfoPlist } = infoPlist;\n if (LSApplicationQueriesSchemes?.length) {\n return infoPlist;\n } else {\n // Return without the empty LSApplicationQueriesSchemes array.\n return restInfoPlist;\n }\n }\n\n // Remove all schemes\n for (const scheme of fbSchemes) {\n const index = existingSchemes.findIndex((s) => s === scheme);\n if (index > -1) {\n existingSchemes.splice(index, 1);\n }\n }\n\n if (!facebookAppId) {\n // Run again to ensure the LSApplicationQueriesSchemes array is stripped if needed.\n infoPlist.LSApplicationQueriesSchemes = existingSchemes;\n if (!infoPlist.LSApplicationQueriesSchemes.length) {\n delete infoPlist.LSApplicationQueriesSchemes;\n }\n return infoPlist;\n }\n\n // TODO: it's actually necessary to add more query schemes (specific to the\n // app) to support all of the features that the Facebook SDK provides, should\n // we sync those here too?\n const updatedSchemes = [...existingSchemes, ...fbSchemes];\n\n return {\n ...infoPlist,\n LSApplicationQueriesSchemes: updatedSchemes,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA,MAAM;EAAEA;AAAF,IAAmBC,0BAAA,CAAUC,MAAnC;;AAYA,MAAMC,SAAS,GAAG,CAAC,OAAD,EAAU,kBAAV,EAA8B,SAA9B,EAAyC,kBAAzC,CAAlB;;AAEO,MAAMC,eAA6B,GAAIC,MAAD,IAAY;EACvD,OAAO,IAAAC,8BAAA,EAAcD,MAAd,EAAuBA,MAAD,IAAY;IACvCA,MAAM,CAACE,UAAP,GAAoBC,iBAAiB,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,CAArC;IACA,OAAOF,MAAP;EACD,CAHM,CAAP;AAID,CALM;AAOP;AACA;AACA;AACA;;;;;AAEO,SAASI,iBAAT,CAA2BJ,MAA3B,EAAuD;EAAA;;EAC5D,gCAAOA,MAAM,CAACK,cAAd,yEAAgC,IAAhC;AACD;;AAEM,SAASC,gBAAT,CAA0BN,MAA1B,EAA6E;EAAA;;EAClF,gCAAOA,MAAM,CAACO,aAAd,yEAA+B,IAA/B;AACD;;AAEM,SAASC,sBAAT,CAAgCR,MAAhC,EAA4D;EAAA;;EACjE,gCAAOA,MAAM,CAACS,mBAAd,yEAAqC,IAArC;AACD;;AAEM,SAASC,0BAAT,CAAoCV,MAApC,EAAgE;EAAA;;EACrE,gCAAOA,MAAM,CAACW,uBAAd,yEAAyC,IAAzC;AACD;;AAEM,SAASC,2BAAT,CAAqCZ,MAArC,EAAiE;EAAA;;EACtE,gCAAOA,MAAM,CAACa,+BAAd,yEAAiD,IAAjD;AACD;;AAEM,SAASC,iCAAT,CAA2Cd,MAA3C,EAAuE;EAAA;;EAC5E,gCAAOA,MAAM,CAACe,qCAAd,yEAAuD,IAAvD;AACD;AAED;AACA;AACA;;;AAEO,SAASZ,iBAAT,CAA2BH,MAA3B,EAAuDgB,SAAvD,EAA6E;EAClFA,SAAS,GAAGC,gBAAgB,CAACjB,MAAD,EAASgB,SAAT,CAA5B;EACAA,SAAS,GAAGE,kCAAkC,CAAClB,MAAD,EAASgB,SAAT,CAA9C;EACAA,SAAS,GAAGG,sBAAsB,CAACnB,MAAD,EAASgB,SAAT,CAAlC;EACAA,SAAS,GAAGI,0BAA0B,CAACpB,MAAD,EAASgB,SAAT,CAAtC;EACAA,SAAS,GAAGK,kCAAkC,CAACrB,MAAD,EAASgB,SAAT,CAA9C;EACAA,SAAS,GAAGM,wCAAwC,CAACtB,MAAD,EAASgB,SAAT,CAApD;EACAA,SAAS,GAAGO,iBAAiB,CAACvB,MAAD,EAASgB,SAAT,CAA7B;EACA,OAAOA,SAAP;AACD;;AAEM,SAASO,iBAAT,CAA2BvB,MAA3B,EAAuDgB,SAAvD,EAA6E;EAClF,MAAMX,cAAc,GAAGD,iBAAiB,CAACJ,MAAD,CAAxC;EACA,OAAOL,YAAY,CAACU,cAAD,EAAiBW,SAAjB,CAAnB;AACD;;AAEM,SAASI,0BAAT,CACLpB,MADK,EAEL;EAAEwB,uBAAF;EAA2B,GAAGR;AAA9B,CAFK,EAGM;EACX,MAAML,uBAAuB,GAAGD,0BAA0B,CAACV,MAAD,CAA1D;;EAEA,IAAIW,uBAAuB,KAAK,IAAhC,EAAsC;IACpC,OAAOK,SAAP;EACD;;EAED,OAAO,EACL,GAAGA,SADE;IAELQ,uBAAuB,EAAEb;EAFpB,CAAP;AAID;;AAEM,SAASU,kCAAT,CACLrB,MADK,EAEL;EAAEyB,+BAAF;EAAmC,GAAGT;AAAtC,CAFK,EAGM;EACX,MAAMH,+BAA+B,GAAGD,2BAA2B,CAACZ,MAAD,CAAnE;;EAEA,IAAIa,+BAA+B,KAAK,IAAxC,EAA8C;IAC5C,OAAOG,SAAP;EACD;;EAED,OAAO,EACL,GAAGA,SADE;IAELS,+BAA+B,EAAEZ;EAF5B,CAAP;AAID;;AAEM,SAASS,wCAAT,CACLtB,MADK,EAEL;EAAE0B,qCAAF;EAAyC,GAAGV;AAA5C,CAFK,EAGM;EACX,MAAMD,qCAAqC,GAAGD,iCAAiC,CAACd,MAAD,CAA/E;;EAEA,IAAIe,qCAAqC,KAAK,IAA9C,EAAoD;IAClD,OAAOC,SAAP;EACD;;EAED,OAAO,EACL,GAAGA,SADE;IAELU,qCAAqC,EAAEX;EAFlC,CAAP;AAID;;AAEM,SAASE,gBAAT,CACLjB,MADK,EAEL;EAAE2B,aAAF;EAAiB,GAAGX;AAApB,CAFK,EAGM;EACX,MAAMT,aAAa,GAAGD,gBAAgB,CAACN,MAAD,CAAtC;;EACA,IAAIO,aAAJ,EAAmB;IACjB,OAAO,EACL,GAAGS,SADE;MAELW,aAAa,EAAEpB;IAFV,CAAP;EAID;;EAED,OAAOS,SAAP;AACD;;AAEM,SAASG,sBAAT,CACLnB,MADK,EAEL;EAAE4B,mBAAF;EAAuB,GAAGZ;AAA1B,CAFK,EAGM;EACX,MAAMP,mBAAmB,GAAGD,sBAAsB,CAACR,MAAD,CAAlD;;EAEA,IAAIS,mBAAJ,EAAyB;IACvB,OAAO,EACL,GAAGO,SADE;MAELY,mBAAmB,EAAEnB;IAFhB,CAAP;EAID;;EAED,OAAOO,SAAP;AACD;;AAEM,SAASE,kCAAT,CACLlB,MADK,EAELgB,SAFK,EAGM;EACX,MAAMT,aAAa,GAAGD,gBAAgB,CAACN,MAAD,CAAtC;EAEA,MAAM6B,eAAe,GAAGb,SAAS,CAACc,2BAAV,IAAyC,EAAjE;;EAEA,IAAIvB,aAAa,IAAIsB,eAAe,CAACE,QAAhB,CAAyB,OAAzB,CAArB,EAAwD;IACtD;IACA,OAAOf,SAAP;EACD,CAHD,MAGO,IAAI,CAACT,aAAD,IAAkB,CAACsB,eAAe,CAACG,MAAvC,EAA+C;IACpD;IACA,MAAM;MAAEF,2BAAF;MAA+B,GAAGG;IAAlC,IAAoDjB,SAA1D;;IACA,IAAIc,2BAAJ,aAAIA,2BAAJ,eAAIA,2BAA2B,CAAEE,MAAjC,EAAyC;MACvC,OAAOhB,SAAP;IACD,CAFD,MAEO;MACL;MACA,OAAOiB,aAAP;IACD;EACF,CAjBU,CAmBX;;;EACA,KAAK,MAAMC,MAAX,IAAqBpC,SAArB,EAAgC;IAC9B,MAAMqC,KAAK,GAAGN,eAAe,CAACO,SAAhB,CAA2BC,CAAD,IAAOA,CAAC,KAAKH,MAAvC,CAAd;;IACA,IAAIC,KAAK,GAAG,CAAC,CAAb,EAAgB;MACdN,eAAe,CAACS,MAAhB,CAAuBH,KAAvB,EAA8B,CAA9B;IACD;EACF;;EAED,IAAI,CAAC5B,aAAL,EAAoB;IAClB;IACAS,SAAS,CAACc,2BAAV,GAAwCD,eAAxC;;IACA,IAAI,CAACb,SAAS,CAACc,2BAAV,CAAsCE,MAA3C,EAAmD;MACjD,OAAOhB,SAAS,CAACc,2BAAjB;IACD;;IACD,OAAOd,SAAP;EACD,CAlCU,CAoCX;EACA;EACA;;;EACA,MAAMuB,cAAc,GAAG,CAAC,GAAGV,eAAJ,EAAqB,GAAG/B,SAAxB,CAAvB;EAEA,OAAO,EACL,GAAGkB,SADE;IAELc,2BAA2B,EAAES;EAFxB,CAAP;AAID"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-facebook/withSKAdNetworkIdentifiers.ts"],"names":["withSKAdNetworkIdentifiers","config","identifiers","facebookAppId","ios","infoPlist","Array","isArray","SKAdNetworkItems","existingIds","map","item","SKAdNetworkIdentifier","filter","Boolean","Set","id","lower","toLowerCase","includes","push"],"mappings":";;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,0BAAkD,GAAG,CAACC,MAAD,EAASC,WAAT,KAAyB;AACzF;AACA,QAAMC,aAAa,GAAG,yCAAiBF,MAAjB,CAAtB;;AACA,MAAI,CAACE,aAAL,EAAoB;AAClB,WAAOF,MAAP;AACD;;AAED,MAAI,CAACA,MAAM,CAACG,GAAZ,EAAiB;AACfH,IAAAA,MAAM,CAACG,GAAP,GAAa,EAAb;AACD;;AACD,MAAI,CAACH,MAAM,CAACG,GAAP,CAAWC,SAAhB,EAA2B;AACzBJ,IAAAA,MAAM,CAACG,GAAP,CAAWC,SAAX,GAAuB,EAAvB;AACD;;AACD,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcN,MAAM,CAACG,GAAP,CAAWC,SAAX,CAAqBG,gBAAnC,CAAL,EAA2D;AACzDP,IAAAA,MAAM,CAACG,GAAP,CAAWC,SAAX,CAAqBG,gBAArB,GAAwC,EAAxC;AACD,GAfwF,CAiBzF;;;AACA,MAAIC,WAAW,GAAGR,MAAM,CAACG,GAAP,CAAWC,SAAX,CAAqBG,gBAArB,CAAsCE,GAAtC,CACfC,IAAD;AAAA;;AAAA,oCAAeA,IAAf,aAAeA,IAAf,uBAAeA,IAAI,CAAEC,qBAArB,yEAA8C,IAA9C;AAAA,GADgB,EAEhBC,MAFgB,CAETC,OAFS,CAAlB,CAlByF,CAqBzF;;AACAL,EAAAA,WAAW,GAAG,CAAC,GAAG,IAAIM,GAAJ,CAAQN,WAAR,CAAJ,CAAd;;AAEA,OAAK,MAAMO,EAAX,IAAiBd,WAAjB,EAA8B;AAC5B;AACA,UAAMe,KAAK,GAAGD,EAAE,CAACE,WAAH,EAAd;;AACA,QAAI,CAACT,WAAW,CAACU,QAAZ,CAAqBF,KAArB,CAAL,EAAkC;AAChChB,MAAAA,MAAM,CAACG,GAAP,CAAWC,SAAX,CAAqBG,gBAArB,CAAsCY,IAAtC,CAA2C;AACzCR,QAAAA,qBAAqB,EAAEK;AADkB,OAA3C;AAGD;AACF;;AAED,SAAOhB,MAAP;AACD,CAnCM","sourcesContent":["import { ConfigPlugin } from '@expo/config-plugins';\n\nimport { getFacebookAppId } from './withIosFacebook';\n\n/**\n * Plugin to add [`SKAdNetworkIdentifier`](https://developer.apple.com/documentation/storekit/skadnetwork/configuring_the_participating_apps)s to the Info.plist safely.\n *\n *\n * @param config\n * @param props.identifiers array of lowercase string ids to push to the `SKAdNetworkItems` array in the `Info.plist`.\n */\nexport const withSKAdNetworkIdentifiers: ConfigPlugin<string[]> = (config, identifiers) => {\n // Only add the iOS ad network values if facebookAppId is defined.\n const facebookAppId = getFacebookAppId(config);\n if (!facebookAppId) {\n return config;\n }\n\n if (!config.ios) {\n config.ios = {};\n }\n if (!config.ios.infoPlist) {\n config.ios.infoPlist = {};\n }\n if (!Array.isArray(config.ios.infoPlist.SKAdNetworkItems)) {\n config.ios.infoPlist.SKAdNetworkItems = [];\n }\n\n // Get ids\n let existingIds = config.ios.infoPlist.SKAdNetworkItems.map(\n (item: any) => item?.SKAdNetworkIdentifier ?? null\n ).filter(Boolean) as string[];\n // remove duplicates\n existingIds = [...new Set(existingIds)];\n\n for (const id of identifiers) {\n // Must be lowercase\n const lower = id.toLowerCase();\n if (!existingIds.includes(lower)) {\n config.ios.infoPlist.SKAdNetworkItems.push({\n SKAdNetworkIdentifier: lower,\n });\n }\n }\n\n return config;\n};\n"],"file":"withSKAdNetworkIdentifiers.js"}
1
+ {"version":3,"file":"withSKAdNetworkIdentifiers.js","names":["withSKAdNetworkIdentifiers","config","identifiers","facebookAppId","getFacebookAppId","ios","infoPlist","Array","isArray","SKAdNetworkItems","existingIds","map","item","SKAdNetworkIdentifier","filter","Boolean","Set","id","lower","toLowerCase","includes","push"],"sources":["../../../../src/plugins/unversioned/expo-facebook/withSKAdNetworkIdentifiers.ts"],"sourcesContent":["import { ConfigPlugin } from '@expo/config-plugins';\n\nimport { getFacebookAppId } from './withIosFacebook';\n\n/**\n * Plugin to add [`SKAdNetworkIdentifier`](https://developer.apple.com/documentation/storekit/skadnetwork/configuring_the_participating_apps)s to the Info.plist safely.\n *\n *\n * @param config\n * @param props.identifiers array of lowercase string ids to push to the `SKAdNetworkItems` array in the `Info.plist`.\n */\nexport const withSKAdNetworkIdentifiers: ConfigPlugin<string[]> = (config, identifiers) => {\n // Only add the iOS ad network values if facebookAppId is defined.\n const facebookAppId = getFacebookAppId(config);\n if (!facebookAppId) {\n return config;\n }\n\n if (!config.ios) {\n config.ios = {};\n }\n if (!config.ios.infoPlist) {\n config.ios.infoPlist = {};\n }\n if (!Array.isArray(config.ios.infoPlist.SKAdNetworkItems)) {\n config.ios.infoPlist.SKAdNetworkItems = [];\n }\n\n // Get ids\n let existingIds = config.ios.infoPlist.SKAdNetworkItems.map(\n (item: any) => item?.SKAdNetworkIdentifier ?? null\n ).filter(Boolean) as string[];\n // remove duplicates\n existingIds = [...new Set(existingIds)];\n\n for (const id of identifiers) {\n // Must be lowercase\n const lower = id.toLowerCase();\n if (!existingIds.includes(lower)) {\n config.ios.infoPlist.SKAdNetworkItems.push({\n SKAdNetworkIdentifier: lower,\n });\n }\n }\n\n return config;\n};\n"],"mappings":";;;;;;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,0BAAkD,GAAG,CAACC,MAAD,EAASC,WAAT,KAAyB;EACzF;EACA,MAAMC,aAAa,GAAG,IAAAC,mCAAA,EAAiBH,MAAjB,CAAtB;;EACA,IAAI,CAACE,aAAL,EAAoB;IAClB,OAAOF,MAAP;EACD;;EAED,IAAI,CAACA,MAAM,CAACI,GAAZ,EAAiB;IACfJ,MAAM,CAACI,GAAP,GAAa,EAAb;EACD;;EACD,IAAI,CAACJ,MAAM,CAACI,GAAP,CAAWC,SAAhB,EAA2B;IACzBL,MAAM,CAACI,GAAP,CAAWC,SAAX,GAAuB,EAAvB;EACD;;EACD,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcP,MAAM,CAACI,GAAP,CAAWC,SAAX,CAAqBG,gBAAnC,CAAL,EAA2D;IACzDR,MAAM,CAACI,GAAP,CAAWC,SAAX,CAAqBG,gBAArB,GAAwC,EAAxC;EACD,CAfwF,CAiBzF;;;EACA,IAAIC,WAAW,GAAGT,MAAM,CAACI,GAAP,CAAWC,SAAX,CAAqBG,gBAArB,CAAsCE,GAAtC,CACfC,IAAD;IAAA;;IAAA,gCAAeA,IAAf,aAAeA,IAAf,uBAAeA,IAAI,CAAEC,qBAArB,yEAA8C,IAA9C;EAAA,CADgB,EAEhBC,MAFgB,CAETC,OAFS,CAAlB,CAlByF,CAqBzF;;EACAL,WAAW,GAAG,CAAC,GAAG,IAAIM,GAAJ,CAAQN,WAAR,CAAJ,CAAd;;EAEA,KAAK,MAAMO,EAAX,IAAiBf,WAAjB,EAA8B;IAC5B;IACA,MAAMgB,KAAK,GAAGD,EAAE,CAACE,WAAH,EAAd;;IACA,IAAI,CAACT,WAAW,CAACU,QAAZ,CAAqBF,KAArB,CAAL,EAAkC;MAChCjB,MAAM,CAACI,GAAP,CAAWC,SAAX,CAAqBG,gBAArB,CAAsCY,IAAtC,CAA2C;QACzCR,qBAAqB,EAAEK;MADkB,CAA3C;IAGD;EACF;;EAED,OAAOjB,MAAP;AACD,CAnCM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.ts"],"names":["packageName","fallback","withNavigationBar"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,qBADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACR;AACAC,+CAFQ;AAFsB,CAAnB,C","sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withNavigationBar } from './withAndroidNavigationBar';\n\nexport default createLegacyPlugin({\n packageName: 'expo-navigation-bar',\n fallback: [\n // Android\n withNavigationBar,\n ],\n});\n"],"file":"expo-navigation-bar.js"}
1
+ {"version":3,"file":"expo-navigation-bar.js","names":["createLegacyPlugin","packageName","fallback","withNavigationBar"],"sources":["../../../../src/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.ts"],"sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withNavigationBar } from './withAndroidNavigationBar';\n\nexport default createLegacyPlugin({\n packageName: 'expo-navigation-bar',\n fallback: [\n // Android\n withNavigationBar,\n ],\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAEe,IAAAA,wCAAA,EAAmB;EAChCC,WAAW,EAAE,qBADmB;EAEhCC,QAAQ,EAAE,CACR;EACAC,6CAFQ;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.ts"],"names":["NAVIGATION_BAR_COLOR","withNavigationBar","config","immersiveMode","getNavigationBarImmersiveMode","WarningAggregator","addWarningAndroid","withNavigationBarColors","withNavigationBarStyles","modResults","setNavigationBarColors","setNavigationBarStyles","colors","hexString","getNavigationBarColor","AndroidConfig","Colors","setColorItem","Resources","buildResourceItem","name","value","styles","Styles","assignStylesValue","add","getNavigationBarStyle","parent","getAppThemeLightNoActionBarGroup","androidNavigationBar","visible","backgroundColor","barStyle"],"mappings":"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","sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n WarningAggregator,\n withAndroidColors,\n withAndroidStyles,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst NAVIGATION_BAR_COLOR = 'navigationBarColor';\n\nexport const withNavigationBar: ConfigPlugin = config => {\n const immersiveMode = getNavigationBarImmersiveMode(config);\n if (immersiveMode) {\n // Immersive mode needs to be set programmatically\n WarningAggregator.addWarningAndroid(\n 'androidNavigationBar.visible',\n 'Property is deprecated in Android 11 (API 30) and will be removed from Expo SDK.',\n 'https://expo.fyi/android-navigation-bar-visible-deprecated'\n );\n }\n\n config = withNavigationBarColors(config);\n config = withNavigationBarStyles(config);\n return config;\n};\n\nconst withNavigationBarColors: ConfigPlugin = config => {\n return withAndroidColors(config, config => {\n config.modResults = setNavigationBarColors(config, config.modResults);\n return config;\n });\n};\n\nconst withNavigationBarStyles: ConfigPlugin = config => {\n return withAndroidStyles(config, config => {\n config.modResults = setNavigationBarStyles(config, config.modResults);\n return config;\n });\n};\n\nexport function setNavigationBarColors(\n config: Pick<ExpoConfig, 'androidNavigationBar'>,\n colors: AndroidConfig.Resources.ResourceXML\n): AndroidConfig.Resources.ResourceXML {\n const hexString = getNavigationBarColor(config);\n if (hexString) {\n colors = AndroidConfig.Colors.setColorItem(\n AndroidConfig.Resources.buildResourceItem({\n name: NAVIGATION_BAR_COLOR,\n value: hexString,\n }),\n colors\n );\n }\n return colors;\n}\n\nexport function setNavigationBarStyles(\n config: Pick<ExpoConfig, 'androidNavigationBar'>,\n styles: AndroidConfig.Resources.ResourceXML\n): AndroidConfig.Resources.ResourceXML {\n styles = AndroidConfig.Styles.assignStylesValue(styles, {\n add: getNavigationBarStyle(config) === 'dark-content',\n parent: AndroidConfig.Styles.getAppThemeLightNoActionBarGroup(),\n name: 'android:windowLightNavigationBar',\n value: 'true',\n });\n styles = AndroidConfig.Styles.assignStylesValue(styles, {\n add: !!getNavigationBarColor(config),\n parent: AndroidConfig.Styles.getAppThemeLightNoActionBarGroup(),\n name: `android:${NAVIGATION_BAR_COLOR}`,\n value: `@color/${NAVIGATION_BAR_COLOR}`,\n });\n\n return styles;\n}\n\nexport function getNavigationBarImmersiveMode(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.visible || null;\n}\n\nexport function getNavigationBarColor(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.backgroundColor || null;\n}\n\nexport function getNavigationBarStyle(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.barStyle || 'light-content';\n}\n"],"file":"withAndroidNavigationBar.js"}
1
+ {"version":3,"file":"withAndroidNavigationBar.js","names":["NAVIGATION_BAR_COLOR","withNavigationBar","config","immersiveMode","getNavigationBarImmersiveMode","WarningAggregator","addWarningAndroid","withNavigationBarColors","withNavigationBarStyles","withAndroidColors","modResults","setNavigationBarColors","withAndroidStyles","setNavigationBarStyles","colors","hexString","getNavigationBarColor","AndroidConfig","Colors","setColorItem","Resources","buildResourceItem","name","value","styles","Styles","assignStylesValue","add","getNavigationBarStyle","parent","getAppThemeLightNoActionBarGroup","androidNavigationBar","visible","backgroundColor","barStyle"],"sources":["../../../../src/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.ts"],"sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n WarningAggregator,\n withAndroidColors,\n withAndroidStyles,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst NAVIGATION_BAR_COLOR = 'navigationBarColor';\n\nexport const withNavigationBar: ConfigPlugin = (config) => {\n const immersiveMode = getNavigationBarImmersiveMode(config);\n if (immersiveMode) {\n // Immersive mode needs to be set programmatically\n WarningAggregator.addWarningAndroid(\n 'androidNavigationBar.visible',\n 'Property is deprecated in Android 11 (API 30) and will be removed from Expo SDK.',\n 'https://expo.fyi/android-navigation-bar-visible-deprecated'\n );\n }\n\n config = withNavigationBarColors(config);\n config = withNavigationBarStyles(config);\n return config;\n};\n\nconst withNavigationBarColors: ConfigPlugin = (config) => {\n return withAndroidColors(config, (config) => {\n config.modResults = setNavigationBarColors(config, config.modResults);\n return config;\n });\n};\n\nconst withNavigationBarStyles: ConfigPlugin = (config) => {\n return withAndroidStyles(config, (config) => {\n config.modResults = setNavigationBarStyles(config, config.modResults);\n return config;\n });\n};\n\nexport function setNavigationBarColors(\n config: Pick<ExpoConfig, 'androidNavigationBar'>,\n colors: AndroidConfig.Resources.ResourceXML\n): AndroidConfig.Resources.ResourceXML {\n const hexString = getNavigationBarColor(config);\n if (hexString) {\n colors = AndroidConfig.Colors.setColorItem(\n AndroidConfig.Resources.buildResourceItem({\n name: NAVIGATION_BAR_COLOR,\n value: hexString,\n }),\n colors\n );\n }\n return colors;\n}\n\nexport function setNavigationBarStyles(\n config: Pick<ExpoConfig, 'androidNavigationBar'>,\n styles: AndroidConfig.Resources.ResourceXML\n): AndroidConfig.Resources.ResourceXML {\n styles = AndroidConfig.Styles.assignStylesValue(styles, {\n add: getNavigationBarStyle(config) === 'dark-content',\n parent: AndroidConfig.Styles.getAppThemeLightNoActionBarGroup(),\n name: 'android:windowLightNavigationBar',\n value: 'true',\n });\n styles = AndroidConfig.Styles.assignStylesValue(styles, {\n add: !!getNavigationBarColor(config),\n parent: AndroidConfig.Styles.getAppThemeLightNoActionBarGroup(),\n name: `android:${NAVIGATION_BAR_COLOR}`,\n value: `@color/${NAVIGATION_BAR_COLOR}`,\n });\n\n return styles;\n}\n\nexport function getNavigationBarImmersiveMode(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.visible || null;\n}\n\nexport function getNavigationBarColor(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.backgroundColor || null;\n}\n\nexport function getNavigationBarStyle(config: Pick<ExpoConfig, 'androidNavigationBar'>) {\n return config.androidNavigationBar?.barStyle || 'light-content';\n}\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AASA,MAAMA,oBAAoB,GAAG,oBAA7B;;AAEO,MAAMC,iBAA+B,GAAIC,MAAD,IAAY;EACzD,MAAMC,aAAa,GAAGC,6BAA6B,CAACF,MAAD,CAAnD;;EACA,IAAIC,aAAJ,EAAmB;IACjB;IACAE,kCAAA,CAAkBC,iBAAlB,CACE,8BADF,EAEE,kFAFF,EAGE,4DAHF;EAKD;;EAEDJ,MAAM,GAAGK,uBAAuB,CAACL,MAAD,CAAhC;EACAA,MAAM,GAAGM,uBAAuB,CAACN,MAAD,CAAhC;EACA,OAAOA,MAAP;AACD,CAdM;;;;AAgBP,MAAMK,uBAAqC,GAAIL,MAAD,IAAY;EACxD,OAAO,IAAAO,kCAAA,EAAkBP,MAAlB,EAA2BA,MAAD,IAAY;IAC3CA,MAAM,CAACQ,UAAP,GAAoBC,sBAAsB,CAACT,MAAD,EAASA,MAAM,CAACQ,UAAhB,CAA1C;IACA,OAAOR,MAAP;EACD,CAHM,CAAP;AAID,CALD;;AAOA,MAAMM,uBAAqC,GAAIN,MAAD,IAAY;EACxD,OAAO,IAAAU,kCAAA,EAAkBV,MAAlB,EAA2BA,MAAD,IAAY;IAC3CA,MAAM,CAACQ,UAAP,GAAoBG,sBAAsB,CAACX,MAAD,EAASA,MAAM,CAACQ,UAAhB,CAA1C;IACA,OAAOR,MAAP;EACD,CAHM,CAAP;AAID,CALD;;AAOO,SAASS,sBAAT,CACLT,MADK,EAELY,MAFK,EAGgC;EACrC,MAAMC,SAAS,GAAGC,qBAAqB,CAACd,MAAD,CAAvC;;EACA,IAAIa,SAAJ,EAAe;IACbD,MAAM,GAAGG,8BAAA,CAAcC,MAAd,CAAqBC,YAArB,CACPF,8BAAA,CAAcG,SAAd,CAAwBC,iBAAxB,CAA0C;MACxCC,IAAI,EAAEtB,oBADkC;MAExCuB,KAAK,EAAER;IAFiC,CAA1C,CADO,EAKPD,MALO,CAAT;EAOD;;EACD,OAAOA,MAAP;AACD;;AAEM,SAASD,sBAAT,CACLX,MADK,EAELsB,MAFK,EAGgC;EACrCA,MAAM,GAAGP,8BAAA,CAAcQ,MAAd,CAAqBC,iBAArB,CAAuCF,MAAvC,EAA+C;IACtDG,GAAG,EAAEC,qBAAqB,CAAC1B,MAAD,CAArB,KAAkC,cADe;IAEtD2B,MAAM,EAAEZ,8BAAA,CAAcQ,MAAd,CAAqBK,gCAArB,EAF8C;IAGtDR,IAAI,EAAE,kCAHgD;IAItDC,KAAK,EAAE;EAJ+C,CAA/C,CAAT;EAMAC,MAAM,GAAGP,8BAAA,CAAcQ,MAAd,CAAqBC,iBAArB,CAAuCF,MAAvC,EAA+C;IACtDG,GAAG,EAAE,CAAC,CAACX,qBAAqB,CAACd,MAAD,CAD0B;IAEtD2B,MAAM,EAAEZ,8BAAA,CAAcQ,MAAd,CAAqBK,gCAArB,EAF8C;IAGtDR,IAAI,EAAG,WAAUtB,oBAAqB,EAHgB;IAItDuB,KAAK,EAAG,UAASvB,oBAAqB;EAJgB,CAA/C,CAAT;EAOA,OAAOwB,MAAP;AACD;;AAEM,SAASpB,6BAAT,CAAuCF,MAAvC,EAAyF;EAAA;;EAC9F,OAAO,0BAAAA,MAAM,CAAC6B,oBAAP,gFAA6BC,OAA7B,KAAwC,IAA/C;AACD;;AAEM,SAAShB,qBAAT,CAA+Bd,MAA/B,EAAiF;EAAA;;EACtF,OAAO,2BAAAA,MAAM,CAAC6B,oBAAP,kFAA6BE,eAA7B,KAAgD,IAAvD;AACD;;AAEM,SAASL,qBAAT,CAA+B1B,MAA/B,EAAiF;EAAA;;EACtF,OAAO,2BAAAA,MAAM,CAAC6B,oBAAP,kFAA6BG,QAA7B,KAAyC,eAAhD;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-notifications/expo-notifications.ts"],"names":["withNotificationsEntitlement","config","mode","modResults","packageName","fallback","withNotificationManifest","withNotificationIconColor","withNotificationIcons"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA,MAAMA,4BAAwE,GAAG,CAACC,MAAD,EAASC,IAAT,KAAkB;AACjG,SAAO,4CAAsBD,MAAtB,EAA8BA,MAAM,IAAI;AAC7CA,IAAAA,MAAM,CAACE,UAAP,CAAkB,iBAAlB,IAAuCD,IAAvC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALD;;eAOe,8CAAmB;AAChCG,EAAAA,WAAW,EAAE,oBADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACR;AACAC,sDAFQ,EAGRC,qDAHQ,EAIRC,iDAJQ,EAKR;AACA,GAACR,4BAAD,EAA+B,aAA/B,CANQ;AAFsB,CAAnB,C","sourcesContent":["import { ConfigPlugin, withEntitlementsPlist } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from '../createLegacyPlugin';\nimport {\n withNotificationIconColor,\n withNotificationIcons,\n withNotificationManifest,\n} from './withAndroidNotifications';\n\nconst withNotificationsEntitlement: ConfigPlugin<'production' | 'development'> = (config, mode) => {\n return withEntitlementsPlist(config, config => {\n config.modResults['aps-environment'] = mode;\n return config;\n });\n};\n\nexport default createLegacyPlugin({\n packageName: 'expo-notifications',\n fallback: [\n // Android\n withNotificationManifest,\n withNotificationIconColor,\n withNotificationIcons,\n // iOS\n [withNotificationsEntitlement, 'development'],\n ],\n});\n"],"file":"expo-notifications.js"}
1
+ {"version":3,"file":"expo-notifications.js","names":["withNotificationsEntitlement","config","mode","withEntitlementsPlist","modResults","createLegacyPlugin","packageName","fallback","withNotificationManifest","withNotificationIconColor","withNotificationIcons"],"sources":["../../../../src/plugins/unversioned/expo-notifications/expo-notifications.ts"],"sourcesContent":["import { ConfigPlugin, withEntitlementsPlist } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from '../createLegacyPlugin';\nimport {\n withNotificationIconColor,\n withNotificationIcons,\n withNotificationManifest,\n} from './withAndroidNotifications';\n\nconst withNotificationsEntitlement: ConfigPlugin<'production' | 'development'> = (config, mode) => {\n return withEntitlementsPlist(config, (config) => {\n config.modResults['aps-environment'] = mode;\n return config;\n });\n};\n\nexport default createLegacyPlugin({\n packageName: 'expo-notifications',\n fallback: [\n // Android\n withNotificationManifest,\n withNotificationIconColor,\n withNotificationIcons,\n // iOS\n [withNotificationsEntitlement, 'development'],\n ],\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAMA,MAAMA,4BAAwE,GAAG,CAACC,MAAD,EAASC,IAAT,KAAkB;EACjG,OAAO,IAAAC,sCAAA,EAAsBF,MAAtB,EAA+BA,MAAD,IAAY;IAC/CA,MAAM,CAACG,UAAP,CAAkB,iBAAlB,IAAuCF,IAAvC;IACA,OAAOD,MAAP;EACD,CAHM,CAAP;AAID,CALD;;eAOe,IAAAI,wCAAA,EAAmB;EAChCC,WAAW,EAAE,oBADmB;EAEhCC,QAAQ,EAAE,CACR;EACAC,oDAFQ,EAGRC,qDAHQ,EAIRC,iDAJQ,EAKR;EACA,CAACV,4BAAD,EAA+B,aAA/B,CANQ;AAFsB,CAAnB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/plugins/unversioned/expo-notifications/withAndroidNotifications.ts"],"names":["Colors","AndroidConfig","addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","Manifest","BASELINE_PIXEL_SIZE","META_DATA_NOTIFICATION_ICON","META_DATA_NOTIFICATION_ICON_COLOR","NOTIFICATION_ICON","NOTIFICATION_ICON_RESOURCE","NOTIFICATION_ICON_COLOR","NOTIFICATION_ICON_COLOR_RESOURCE","withNotificationIcons","config","setNotificationIconAsync","modRequest","projectRoot","withNotificationIconColor","modResults","setNotificationIconColor","withNotificationManifest","setNotificationConfig","getNotificationIcon","notification","icon","getNotificationColor","color","writeNotificationIconImageFilesAsync","removeNotificationIconImageFilesAsync","manifest","mainApplication","colors","assignColorValue","name","value","Promise","all","Object","values","dpiValues","map","folderName","scale","drawableFolderName","replace","dpiFolderPath","path","resolve","ANDROID_RES_PATH","fs","ensureDir","iconSizePx","resizedIcon","cacheType","src","width","height","resizeMode","backgroundColor","source","writeFile","e","Error","remove"],"mappings":"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","sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidColors,\n withAndroidManifest,\n withDangerousMod,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport { generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nimport { ANDROID_RES_PATH, dpiValues } from '../../icons/withAndroidIcons';\n\nconst { Colors } = AndroidConfig;\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\ntype AndroidManifest = AndroidConfig.Manifest.AndroidManifest;\nconst BASELINE_PIXEL_SIZE = 24;\nexport const META_DATA_NOTIFICATION_ICON = 'expo.modules.notifications.default_notification_icon';\nexport const META_DATA_NOTIFICATION_ICON_COLOR =\n 'expo.modules.notifications.default_notification_color';\nexport const NOTIFICATION_ICON = 'notification_icon';\nexport const NOTIFICATION_ICON_RESOURCE = `@drawable/${NOTIFICATION_ICON}`;\nexport const NOTIFICATION_ICON_COLOR = 'notification_icon_color';\nexport const NOTIFICATION_ICON_COLOR_RESOURCE = `@color/${NOTIFICATION_ICON_COLOR}`;\n\nexport const withNotificationIcons: ConfigPlugin = config => {\n return withDangerousMod(config, [\n 'android',\n async config => {\n await setNotificationIconAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nexport const withNotificationIconColor: ConfigPlugin = config => {\n return withAndroidColors(config, config => {\n config.modResults = setNotificationIconColor(config, config.modResults);\n return config;\n });\n};\n\nexport const withNotificationManifest: ConfigPlugin = config => {\n return withAndroidManifest(config, config => {\n config.modResults = setNotificationConfig(config, config.modResults);\n return config;\n });\n};\n\nexport function getNotificationIcon(config: ExpoConfig) {\n return config.notification?.icon || null;\n}\n\nexport function getNotificationColor(config: ExpoConfig) {\n return config.notification?.color || null;\n}\n\n/**\n * Applies configuration for expo-notifications, including\n * the notification icon and notification color.\n */\nexport async function setNotificationIconAsync(config: ExpoConfig, projectRoot: string) {\n const icon = getNotificationIcon(config);\n if (icon) {\n await writeNotificationIconImageFilesAsync(icon, projectRoot);\n } else {\n await removeNotificationIconImageFilesAsync(projectRoot);\n }\n}\n\nexport function setNotificationConfig(config: ExpoConfig, manifest: AndroidManifest) {\n const icon = getNotificationIcon(config);\n const color = getNotificationColor(config);\n const mainApplication = getMainApplicationOrThrow(manifest);\n if (icon) {\n addMetaDataItemToMainApplication(\n mainApplication,\n META_DATA_NOTIFICATION_ICON,\n NOTIFICATION_ICON_RESOURCE,\n 'resource'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON);\n }\n if (color) {\n addMetaDataItemToMainApplication(\n mainApplication,\n META_DATA_NOTIFICATION_ICON_COLOR,\n NOTIFICATION_ICON_COLOR_RESOURCE,\n 'resource'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON_COLOR);\n }\n return manifest;\n}\n\nexport function setNotificationIconColor(\n config: ExpoConfig,\n colors: AndroidConfig.Resources.ResourceXML\n) {\n return Colors.assignColorValue(colors, {\n name: NOTIFICATION_ICON_COLOR,\n value: getNotificationColor(config),\n });\n}\n\nasync function writeNotificationIconImageFilesAsync(icon: string, projectRoot: string) {\n await Promise.all(\n Object.values(dpiValues).map(async ({ folderName, scale }) => {\n const drawableFolderName = folderName.replace('mipmap', 'drawable');\n const dpiFolderPath = path.resolve(projectRoot, ANDROID_RES_PATH, drawableFolderName);\n await fs.ensureDir(dpiFolderPath);\n const iconSizePx = BASELINE_PIXEL_SIZE * scale;\n\n try {\n const resizedIcon = (\n await generateImageAsync(\n { projectRoot, cacheType: 'android-notification' },\n {\n src: icon,\n width: iconSizePx,\n height: iconSizePx,\n resizeMode: 'cover',\n backgroundColor: 'transparent',\n }\n )\n ).source;\n await fs.writeFile(path.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'), resizedIcon);\n } catch (e) {\n throw new Error('Encountered an issue resizing Android notification icon: ' + e);\n }\n })\n );\n}\n\nasync function removeNotificationIconImageFilesAsync(projectRoot: string) {\n await Promise.all(\n Object.values(dpiValues).map(async ({ folderName }) => {\n const drawableFolderName = folderName.replace('mipmap', 'drawable');\n const dpiFolderPath = path.resolve(projectRoot, ANDROID_RES_PATH, drawableFolderName);\n await fs.remove(path.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'));\n })\n );\n}\n"],"file":"withAndroidNotifications.js"}
1
+ {"version":3,"file":"withAndroidNotifications.js","names":["Colors","AndroidConfig","addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","Manifest","BASELINE_PIXEL_SIZE","META_DATA_NOTIFICATION_ICON","META_DATA_NOTIFICATION_ICON_COLOR","NOTIFICATION_ICON","NOTIFICATION_ICON_RESOURCE","NOTIFICATION_ICON_COLOR","NOTIFICATION_ICON_COLOR_RESOURCE","withNotificationIcons","config","withDangerousMod","setNotificationIconAsync","modRequest","projectRoot","withNotificationIconColor","withAndroidColors","modResults","setNotificationIconColor","withNotificationManifest","withAndroidManifest","setNotificationConfig","getNotificationIcon","notification","icon","getNotificationColor","color","writeNotificationIconImageFilesAsync","removeNotificationIconImageFilesAsync","manifest","mainApplication","colors","assignColorValue","name","value","Promise","all","Object","values","dpiValues","map","folderName","scale","drawableFolderName","replace","dpiFolderPath","path","resolve","ANDROID_RES_PATH","fs","ensureDir","iconSizePx","resizedIcon","generateImageAsync","cacheType","src","width","height","resizeMode","backgroundColor","source","writeFile","e","Error","remove"],"sources":["../../../../src/plugins/unversioned/expo-notifications/withAndroidNotifications.ts"],"sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidColors,\n withAndroidManifest,\n withDangerousMod,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport { generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nimport { ANDROID_RES_PATH, dpiValues } from '../../icons/withAndroidIcons';\n\nconst { Colors } = AndroidConfig;\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\ntype AndroidManifest = AndroidConfig.Manifest.AndroidManifest;\nconst BASELINE_PIXEL_SIZE = 24;\nexport const META_DATA_NOTIFICATION_ICON = 'expo.modules.notifications.default_notification_icon';\nexport const META_DATA_NOTIFICATION_ICON_COLOR =\n 'expo.modules.notifications.default_notification_color';\nexport const NOTIFICATION_ICON = 'notification_icon';\nexport const NOTIFICATION_ICON_RESOURCE = `@drawable/${NOTIFICATION_ICON}`;\nexport const NOTIFICATION_ICON_COLOR = 'notification_icon_color';\nexport const NOTIFICATION_ICON_COLOR_RESOURCE = `@color/${NOTIFICATION_ICON_COLOR}`;\n\nexport const withNotificationIcons: ConfigPlugin = (config) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n await setNotificationIconAsync(config, config.modRequest.projectRoot);\n return config;\n },\n ]);\n};\n\nexport const withNotificationIconColor: ConfigPlugin = (config) => {\n return withAndroidColors(config, (config) => {\n config.modResults = setNotificationIconColor(config, config.modResults);\n return config;\n });\n};\n\nexport const withNotificationManifest: ConfigPlugin = (config) => {\n return withAndroidManifest(config, (config) => {\n config.modResults = setNotificationConfig(config, config.modResults);\n return config;\n });\n};\n\nexport function getNotificationIcon(config: ExpoConfig) {\n return config.notification?.icon || null;\n}\n\nexport function getNotificationColor(config: ExpoConfig) {\n return config.notification?.color || null;\n}\n\n/**\n * Applies configuration for expo-notifications, including\n * the notification icon and notification color.\n */\nexport async function setNotificationIconAsync(config: ExpoConfig, projectRoot: string) {\n const icon = getNotificationIcon(config);\n if (icon) {\n await writeNotificationIconImageFilesAsync(icon, projectRoot);\n } else {\n await removeNotificationIconImageFilesAsync(projectRoot);\n }\n}\n\nexport function setNotificationConfig(config: ExpoConfig, manifest: AndroidManifest) {\n const icon = getNotificationIcon(config);\n const color = getNotificationColor(config);\n const mainApplication = getMainApplicationOrThrow(manifest);\n if (icon) {\n addMetaDataItemToMainApplication(\n mainApplication,\n META_DATA_NOTIFICATION_ICON,\n NOTIFICATION_ICON_RESOURCE,\n 'resource'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON);\n }\n if (color) {\n addMetaDataItemToMainApplication(\n mainApplication,\n META_DATA_NOTIFICATION_ICON_COLOR,\n NOTIFICATION_ICON_COLOR_RESOURCE,\n 'resource'\n );\n } else {\n removeMetaDataItemFromMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON_COLOR);\n }\n return manifest;\n}\n\nexport function setNotificationIconColor(\n config: ExpoConfig,\n colors: AndroidConfig.Resources.ResourceXML\n) {\n return Colors.assignColorValue(colors, {\n name: NOTIFICATION_ICON_COLOR,\n value: getNotificationColor(config),\n });\n}\n\nasync function writeNotificationIconImageFilesAsync(icon: string, projectRoot: string) {\n await Promise.all(\n Object.values(dpiValues).map(async ({ folderName, scale }) => {\n const drawableFolderName = folderName.replace('mipmap', 'drawable');\n const dpiFolderPath = path.resolve(projectRoot, ANDROID_RES_PATH, drawableFolderName);\n await fs.ensureDir(dpiFolderPath);\n const iconSizePx = BASELINE_PIXEL_SIZE * scale;\n\n try {\n const resizedIcon = (\n await generateImageAsync(\n { projectRoot, cacheType: 'android-notification' },\n {\n src: icon,\n width: iconSizePx,\n height: iconSizePx,\n resizeMode: 'cover',\n backgroundColor: 'transparent',\n }\n )\n ).source;\n await fs.writeFile(path.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'), resizedIcon);\n } catch (e) {\n throw new Error('Encountered an issue resizing Android notification icon: ' + e);\n }\n })\n );\n}\n\nasync function removeNotificationIconImageFilesAsync(projectRoot: string) {\n await Promise.all(\n Object.values(dpiValues).map(async ({ folderName }) => {\n const drawableFolderName = folderName.replace('mipmap', 'drawable');\n const dpiFolderPath = path.resolve(projectRoot, ANDROID_RES_PATH, drawableFolderName);\n await fs.remove(path.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'));\n })\n );\n}\n"],"mappings":"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"}