@expo/prebuild-config 9.0.6 → 9.0.7
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.
- package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js +1 -1
- package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js.map +1 -1
- package/build/plugins/withDefaultPlugins.js +2 -9
- package/build/plugins/withDefaultPlugins.js.map +1 -1
- package/package.json +6 -6
- package/build/plugins/unversioned/expo-notifications/expo-notifications.d.ts +0 -2
- package/build/plugins/unversioned/expo-notifications/expo-notifications.js +0 -30
- package/build/plugins/unversioned/expo-notifications/expo-notifications.js.map +0 -1
- package/build/plugins/unversioned/expo-notifications/withAndroidNotifications.d.ts +0 -22
- package/build/plugins/unversioned/expo-notifications/withAndroidNotifications.js +0 -165
- package/build/plugins/unversioned/expo-notifications/withAndroidNotifications.js.map +0 -1
|
@@ -37,7 +37,7 @@ function setSplashInfoPlist(config, infoPlist, splash) {
|
|
|
37
37
|
const existing = config.ios?.userInterfaceStyle ?? config.userInterfaceStyle;
|
|
38
38
|
// Add a warning to prevent the dark mode splash screen from not being shown -- this was learned the hard way.
|
|
39
39
|
if (existing && existing !== 'automatic') {
|
|
40
|
-
_configPlugins().WarningAggregator.addWarningIOS('userInterfaceStyle', 'The existing `userInterfaceStyle` property is preventing splash screen from working properly.
|
|
40
|
+
_configPlugins().WarningAggregator.addWarningIOS('userInterfaceStyle', 'The existing `userInterfaceStyle` property is preventing splash screen from working properly. Remove it or disable dark mode splash screens.');
|
|
41
41
|
}
|
|
42
42
|
// assigning it to auto anyways, but this is fragile because the order of operations matter now
|
|
43
43
|
infoPlist.UIUserInterfaceStyle = 'Automatic';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withIosSplashInfoPlist.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","e","__esModule","default","debug","Debug","withIosSplashInfoPlist","config","splash","withInfoPlist","modResults","setSplashInfoPlist","exports","infoPlist","isDarkModeEnabled","dark","image","tabletImage","backgroundColor","tabletBackgroundColor","existing","ios","userInterfaceStyle","WarningAggregator","addWarningIOS","UIUserInterfaceStyle","UILaunchStoryboardName"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.ts"],"sourcesContent":["import { ConfigPlugin, InfoPlist, WarningAggregator, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { IOSSplashConfig } from './getIosSplashConfig';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios:infoPlist');\n\nexport const withIosSplashInfoPlist: ConfigPlugin<IOSSplashConfig> = (config, splash) => {\n return withInfoPlist(config, (config) => {\n config.modResults = setSplashInfoPlist(config, config.modResults, splash);\n return config;\n });\n};\n\nexport function setSplashInfoPlist(\n config: ExpoConfig,\n infoPlist: InfoPlist,\n splash: IOSSplashConfig\n): InfoPlist {\n const isDarkModeEnabled = !!(\n splash?.dark?.image ||\n splash?.dark?.tabletImage ||\n splash?.dark?.backgroundColor ||\n splash?.dark?.tabletBackgroundColor\n );\n debug(`isDarkModeEnabled: `, isDarkModeEnabled);\n\n if (isDarkModeEnabled) {\n // IOSConfig.UserInterfaceStyle.getUserInterfaceStyle(config);\n // Determine if the user manually defined the userInterfaceStyle incorrectly\n const existing = config.ios?.userInterfaceStyle ?? config.userInterfaceStyle;\n // Add a warning to prevent the dark mode splash screen from not being shown -- this was learned the hard way.\n if (existing && existing !== 'automatic') {\n WarningAggregator.addWarningIOS(\n 'userInterfaceStyle',\n 'The existing `userInterfaceStyle` property is preventing splash screen from working properly.
|
|
1
|
+
{"version":3,"file":"withIosSplashInfoPlist.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","e","__esModule","default","debug","Debug","withIosSplashInfoPlist","config","splash","withInfoPlist","modResults","setSplashInfoPlist","exports","infoPlist","isDarkModeEnabled","dark","image","tabletImage","backgroundColor","tabletBackgroundColor","existing","ios","userInterfaceStyle","WarningAggregator","addWarningIOS","UIUserInterfaceStyle","UILaunchStoryboardName"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.ts"],"sourcesContent":["import { ConfigPlugin, InfoPlist, WarningAggregator, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { IOSSplashConfig } from './getIosSplashConfig';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios:infoPlist');\n\nexport const withIosSplashInfoPlist: ConfigPlugin<IOSSplashConfig> = (config, splash) => {\n return withInfoPlist(config, (config) => {\n config.modResults = setSplashInfoPlist(config, config.modResults, splash);\n return config;\n });\n};\n\nexport function setSplashInfoPlist(\n config: ExpoConfig,\n infoPlist: InfoPlist,\n splash: IOSSplashConfig\n): InfoPlist {\n const isDarkModeEnabled = !!(\n splash?.dark?.image ||\n splash?.dark?.tabletImage ||\n splash?.dark?.backgroundColor ||\n splash?.dark?.tabletBackgroundColor\n );\n debug(`isDarkModeEnabled: `, isDarkModeEnabled);\n\n if (isDarkModeEnabled) {\n // IOSConfig.UserInterfaceStyle.getUserInterfaceStyle(config);\n // Determine if the user manually defined the userInterfaceStyle incorrectly\n const existing = config.ios?.userInterfaceStyle ?? config.userInterfaceStyle;\n // Add a warning to prevent the dark mode splash screen from not being shown -- this was learned the hard way.\n if (existing && existing !== 'automatic') {\n WarningAggregator.addWarningIOS(\n 'userInterfaceStyle',\n 'The existing `userInterfaceStyle` property is preventing splash screen from working properly. Remove it or disable dark mode splash screens.'\n );\n }\n // assigning it to auto anyways, but this is fragile because the order of operations matter now\n infoPlist.UIUserInterfaceStyle = 'Automatic';\n } else {\n // NOTE(brentvatne): Commented out this line because it causes https://github.com/expo/expo-cli/issues/3935\n // We should revisit this approach.\n // delete infoPlist.UIUserInterfaceStyle;\n }\n\n if (splash) {\n // TODO: What to do here ??\n infoPlist.UILaunchStoryboardName = 'SplashScreen';\n } else {\n debug(`Disabling UILaunchStoryboardName`);\n delete infoPlist.UILaunchStoryboardName;\n }\n\n return infoPlist;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI1B,MAAMG,KAAK,GAAG,IAAAC,gBAAK,EAAC,uDAAuD,CAAC;AAErE,MAAMC,sBAAqD,GAAGA,CAACC,MAAM,EAAEC,MAAM,KAAK;EACvF,OAAO,IAAAC,8BAAa,EAACF,MAAM,EAAGA,MAAM,IAAK;IACvCA,MAAM,CAACG,UAAU,GAAGC,kBAAkB,CAACJ,MAAM,EAAEA,MAAM,CAACG,UAAU,EAAEF,MAAM,CAAC;IACzE,OAAOD,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACK,OAAA,CAAAN,sBAAA,GAAAA,sBAAA;AAEK,SAASK,kBAAkBA,CAChCJ,MAAkB,EAClBM,SAAoB,EACpBL,MAAuB,EACZ;EACX,MAAMM,iBAAiB,GAAG,CAAC,EACzBN,MAAM,EAAEO,IAAI,EAAEC,KAAK,IACnBR,MAAM,EAAEO,IAAI,EAAEE,WAAW,IACzBT,MAAM,EAAEO,IAAI,EAAEG,eAAe,IAC7BV,MAAM,EAAEO,IAAI,EAAEI,qBAAqB,CACpC;EACDf,KAAK,CAAC,qBAAqB,EAAEU,iBAAiB,CAAC;EAE/C,IAAIA,iBAAiB,EAAE;IACrB;IACA;IACA,MAAMM,QAAQ,GAAGb,MAAM,CAACc,GAAG,EAAEC,kBAAkB,IAAIf,MAAM,CAACe,kBAAkB;IAC5E;IACA,IAAIF,QAAQ,IAAIA,QAAQ,KAAK,WAAW,EAAE;MACxCG,kCAAiB,CAACC,aAAa,CAC7B,oBAAoB,EACpB,8IACF,CAAC;IACH;IACA;IACAX,SAAS,CAACY,oBAAoB,GAAG,WAAW;EAC9C,CAAC,MAAM;IACL;IACA;IACA;EAAA;EAGF,IAAIjB,MAAM,EAAE;IACV;IACAK,SAAS,CAACa,sBAAsB,GAAG,cAAc;EACnD,CAAC,MAAM;IACLtB,KAAK,CAAC,kCAAkC,CAAC;IACzC,OAAOS,SAAS,CAACa,sBAAsB;EACzC;EAEA,OAAOb,SAAS;AAClB","ignoreList":[]}
|
|
@@ -92,13 +92,6 @@ function _expoNavigationBar() {
|
|
|
92
92
|
};
|
|
93
93
|
return data;
|
|
94
94
|
}
|
|
95
|
-
function _expoNotifications() {
|
|
96
|
-
const data = _interopRequireDefault(require("./unversioned/expo-notifications/expo-notifications"));
|
|
97
|
-
_expoNotifications = function () {
|
|
98
|
-
return data;
|
|
99
|
-
};
|
|
100
|
-
return data;
|
|
101
|
-
}
|
|
102
95
|
function _expoSplashScreen() {
|
|
103
96
|
const data = _interopRequireDefault(require("./unversioned/expo-splash-screen/expo-splash-screen"));
|
|
104
97
|
_expoSplashScreen = function () {
|
|
@@ -198,9 +191,9 @@ const withAndroidExpoPlugins = (config, props) => {
|
|
|
198
191
|
|
|
199
192
|
// Must keep in sync with `withVersionedExpoSDKPlugins`
|
|
200
193
|
exports.withAndroidExpoPlugins = withAndroidExpoPlugins;
|
|
201
|
-
const versionedExpoSDKPackages = ['react-native-maps', 'expo-ads-admob', 'expo-apple-authentication', 'expo-contacts', 'expo-
|
|
194
|
+
const versionedExpoSDKPackages = ['react-native-maps', 'expo-ads-admob', 'expo-apple-authentication', 'expo-contacts', 'expo-updates', 'expo-navigation-bar', 'expo-document-picker', 'expo-splash-screen', 'expo-system-ui'];
|
|
202
195
|
const withVersionedExpoSDKPlugins = config => {
|
|
203
|
-
return (0, _configPlugins().withPlugins)(config, [_reactNativeMaps().default, _expoAdsAdmob().default, _expoAppleAuthentication().default, _expoContacts().default,
|
|
196
|
+
return (0, _configPlugins().withPlugins)(config, [_reactNativeMaps().default, _expoAdsAdmob().default, _expoAppleAuthentication().default, _expoContacts().default, _expoUpdates().default, _expoDocumentPicker().default,
|
|
204
197
|
// System UI must come before splash screen as they overlap
|
|
205
198
|
// and splash screen will warn about conflicting rules.
|
|
206
199
|
_expoSystemUi().default, _expoSplashScreen().default, _expoNavigationBar().default]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getAutolinkedPackages","_withAndroidIcons","_withIosIcons","_ReactNative77CompatPlugin","_ReactNative78CompatPlugin","_expoAdsAdmob","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_expoNavigationBar","_expoNotifications","_expoSplashScreen","_expoSystemUi","_expoUpdates","_withEdgeToEdge","_reactNativeMaps","e","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","BuildProperties","withJsEnginePodfileProps","withNewArchEnabledPodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","DevelopmentTeam","withDevelopmentTeam","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNewArchEnabledGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","withSdk52ReactNative77CompatAndroid","withSdk52ReactNative78CompatAndroid","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withEdgeToEdge","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withDocumentPicker","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport { withSdk52ReactNative77CompatAndroid } from './sdk52/ReactNative77CompatPlugin';\nimport { withSdk52ReactNative78CompatAndroid } from './sdk52/ReactNative78CompatPlugin';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withEdgeToEdge from './unversioned/react-native-edge-to-edge/withEdgeToEdge';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.BuildProperties.withJsEnginePodfileProps,\n IOSConfig.BuildProperties.withNewArchEnabledPodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n IOSConfig.DevelopmentTeam.withDevelopmentTeam,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n projectRoot: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.BuildProperties.withJsEngineGradleProps,\n AndroidConfig.BuildProperties.withNewArchEnabledGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n withSdk52ReactNative77CompatAndroid,\n withSdk52ReactNative78CompatAndroid,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n (config) => withEdgeToEdge(config, props),\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-splash-screen',\n 'expo-system-ui',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n withUpdates,\n withDocumentPicker,\n // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"withDefaultPlugins.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getAutolinkedPackages","_withAndroidIcons","_withIosIcons","_ReactNative77CompatPlugin","_ReactNative78CompatPlugin","_expoAdsAdmob","_expoAppleAuthentication","_expoContacts","_expoDocumentPicker","_expoNavigationBar","_expoSplashScreen","_expoSystemUi","_expoUpdates","_withEdgeToEdge","_reactNativeMaps","e","__esModule","default","debug","Debug","withIosExpoPlugins","config","bundleIdentifier","ios","withPlugins","IOSConfig","BundleIdentifier","withBundleIdentifier","Google","withGoogle","Name","withDisplayName","withProductName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","BuildProperties","withJsEnginePodfileProps","withNewArchEnabledPodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","DevelopmentTeam","withDevelopmentTeam","withIosIcons","PrivacyInfo","withPrivacyInfo","exports","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNewArchEnabledGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withInternalBlockedPermissions","withPermissions","withName","withSdk52ReactNative77CompatAndroid","withSdk52ReactNative78CompatAndroid","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withEdgeToEdge","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","withMaps","withAdMob","withAppleAuthentication","withContacts","withUpdates","withDocumentPicker","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","shouldSkipAutoPlugin","withStaticPlugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"sources":["../../src/plugins/withDefaultPlugins.ts"],"sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport { withSdk52ReactNative77CompatAndroid } from './sdk52/ReactNative77CompatPlugin';\nimport { withSdk52ReactNative78CompatAndroid } from './sdk52/ReactNative78CompatPlugin';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withEdgeToEdge from './unversioned/react-native-edge-to-edge/withEdgeToEdge';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Name.withProductName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.BuildProperties.withJsEnginePodfileProps,\n IOSConfig.BuildProperties.withNewArchEnabledPodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Bitcode.withBitcode,\n IOSConfig.Locales.withLocales,\n IOSConfig.DevelopmentTeam.withDevelopmentTeam,\n // Dangerous\n withIosIcons,\n IOSConfig.PrivacyInfo.withPrivacyInfo,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n projectRoot: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.BuildProperties.withJsEngineGradleProps,\n AndroidConfig.BuildProperties.withNewArchEnabledGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withInternalBlockedPermissions,\n AndroidConfig.Permissions.withPermissions,\n\n // strings.xml\n AndroidConfig.Name.withName,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n withSdk52ReactNative77CompatAndroid,\n withSdk52ReactNative78CompatAndroid,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n (config) => withEdgeToEdge(config, props),\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-updates',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-splash-screen',\n 'expo-system-ui',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin = (config) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withUpdates,\n withDocumentPicker,\n // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: (config) => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"mappings":";;;;;;;;;;AAGA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AASA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,uBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,sBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,kBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,cAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,aAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,2BAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,0BAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,2BAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,0BAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAQ,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,yBAAA;EAAA,MAAAV,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAS,wBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,cAAA;EAAA,MAAAX,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAU,aAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,oBAAA;EAAA,MAAAZ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAW,mBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,mBAAA;EAAA,MAAAb,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAY,kBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,kBAAA;EAAA,MAAAd,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAa,iBAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,cAAA;EAAA,MAAAf,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAc,aAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,aAAA;EAAA,MAAAhB,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAe,YAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,gBAAA;EAAA,MAAAjB,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAgB,eAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,iBAAA;EAAA,MAAAlB,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAiB,gBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAG,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA5BvD;AACA;AACA;;AA4BA,MAAMG,KAAK,GAAG,IAAAC,gBAAK,EAAC,sBAAsB,CAAC;;AAE3C;AACA;AACA;AACA;AACO,MAAMC,kBAEX,GAAGA,CAACC,MAAM,EAAE;EAAEC;AAAiB,CAAC,KAAK;EACrC;EACA,IAAI,CAACD,MAAM,CAACE,GAAG,EAAEF,MAAM,CAACE,GAAG,GAAG,CAAC,CAAC;EAChCF,MAAM,CAACE,GAAG,CAACD,gBAAgB,GAAGA,gBAAgB;EAE9C,OAAO,IAAAE,4BAAW,EAACH,MAAM,EAAE,CACzB,CAACI,0BAAS,CAACC,gBAAgB,CAACC,oBAAoB,EAAE;IAAEL;EAAiB,CAAC,CAAC,EACvEG,0BAAS,CAACG,MAAM,CAACC,UAAU,EAC3BJ,0BAAS,CAACK,IAAI,CAACC,eAAe,EAC9BN,0BAAS,CAACK,IAAI,CAACE,eAAe,EAC9BP,0BAAS,CAACQ,WAAW,CAACC,eAAe,EACrCT,0BAAS,CAACU,kBAAkB,CAACC,sBAAsB,EACnDX,0BAAS,CAACY,MAAM,CAACC,UAAU,EAC3Bb,0BAAS,CAACc,uBAAuB,CAACC,2BAA2B,EAC7Df,0BAAS,CAACgB,OAAO,CAACC,eAAe,EACjCjB,0BAAS,CAACgB,OAAO,CAACE,WAAW,EAC7BlB,0BAAS,CAACG,MAAM,CAACgB,sBAAsB,EACvCnB,0BAAS,CAACoB,eAAe,CAACC,wBAAwB,EAClDrB,0BAAS,CAACoB,eAAe,CAACE,8BAA8B;EACxD;EACAtB,0BAAS,CAACuB,YAAY,CAACC,qBAAqB;EAC5C;EACAxB,0BAAS,CAACyB,YAAY,CAACC,gBAAgB,EACvC1B,0BAAS,CAAC2B,OAAO,CAACC,WAAW,EAC7B5B,0BAAS,CAAC6B,OAAO,CAACC,WAAW,EAC7B9B,0BAAS,CAAC+B,eAAe,CAACC,mBAAmB;EAC7C;EACAC,4BAAY,EACZjC,0BAAS,CAACkC,WAAW,CAACC,eAAe,CACtC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AAHAC,OAAA,CAAAzC,kBAAA,GAAAA,kBAAA;AAIO,MAAM0C,sBAGX,GAAGA,CAACzC,MAAM,EAAE0C,KAAK,KAAK;EACtB;EACA,IAAI,CAAC1C,MAAM,CAAC2C,OAAO,EAAE3C,MAAM,CAAC2C,OAAO,GAAG,CAAC,CAAC;EACxC3C,MAAM,CAAC2C,OAAO,CAACC,OAAO,GAAGF,KAAK,CAACE,OAAO;EACtC,OAAO,IAAAzC,4BAAW,EAACH,MAAM,EAAE;EACzB;EACA6C,8BAAa,CAACrB,eAAe,CAACsB,uBAAuB,EACrDD,8BAAa,CAACrB,eAAe,CAACuB,6BAA6B;EAE3D;EACAF,8BAAa,CAACpC,IAAI,CAACuC,sBAAsB;EAEzC;EACAH,8BAAa,CAACI,cAAc,CAACC,aAAa;EAE1C;EACAL,8BAAa,CAACI,cAAc,CAACE,eAAe,EAC5CN,8BAAa,CAACO,OAAO,CAACC,iBAAiB,EACvCR,8BAAa,CAACzB,OAAO,CAACE,WAAW;EAEjC;EACAuB,8BAAa,CAACS,WAAW,CAACC,eAAe,EACzCV,8BAAa,CAACW,mBAAmB,CAACC,uBAAuB;EACzD;EACA;EACAZ,8BAAa,CAACa,aAAa,CAACC,wBAAwB,EACpDd,8BAAa,CAAC7B,MAAM,CAACC,UAAU,EAC/B4B,8BAAa,CAACjC,WAAW,CAACC,eAAe,EACzCgC,8BAAa,CAACe,WAAW,CAACC,8BAA8B,EACxDhB,8BAAa,CAACe,WAAW,CAACE,eAAe;EAEzC;EACAjB,8BAAa,CAACpC,IAAI,CAACsD,QAAQ;EAE3B;EACAlB,8BAAa,CAACI,cAAc,CAAC1B,sBAAsB,EACnDyC,gEAAmC,EACnCC,gEAAmC;EAEnC;EACApB,8BAAa,CAACqB,SAAS,CAACC,aAAa,EACrCtB,8BAAa,CAACuB,YAAY,CAACC,gBAAgB,EAC1CrE,MAAM,IAAK,IAAAsE,yBAAc,EAACtE,MAAM,EAAE0C,KAAK,CAAC,EAEzC6B,oCAAgB;EAChB;EACA;EACA1B,8BAAa,CAACO,OAAO,CAACoB,mBAAmB,CAC1C,CAAC;AACJ,CAAC;;AAED;AAAAhC,OAAA,CAAAC,sBAAA,GAAAA,sBAAA;AACA,MAAMgC,wBAAkC,GAAG,CACzC,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,CACjB;AAEM,MAAMC,2BAAyC,GAAI1E,MAAM,IAAK;EACnE,OAAO,IAAAG,4BAAW,EAACH,MAAM,EAAE,CACzB2E,0BAAQ,EACRC,uBAAS,EACTC,kCAAuB,EACvBC,uBAAY,EACZC,sBAAW,EACXC,6BAAkB;EAClB;EACA;EACAC,uBAAY,EACZC,2BAAgB,EAChBC,4BAAiB,CAClB,CAAC;AACJ,CAAC;AAAC3C,OAAA,CAAAkC,2BAAA,GAAAA,2BAAA;AAEK,SAASU,cAAcA,CAAA,EAAG;EAC/B,OAAOX,wBAAwB,CAACY,MAAM,CAACC,iBAAiB,CAAC,CAACD,MAAM,CAACE,2BAA2B,CAAC;AAC/F;AAEO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,OAAOF,iBAAiB;AAC1B;;AAEA;AACA;AACA,MAAMA,iBAAiB,GAAG,CACxB,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,CAC5B;;AAED;AACA;AACA,MAAMC,2BAA2B,GAAG,CAClC,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,CACtB;AAED,MAAME,yBAAkE,GAAGA,CAACzF,MAAM,EAAE0F,OAAO,KAAK;EAC9F,OAAOA,OAAO,CAACC,MAAM,CAAC,CAACC,IAAI,EAAEC,MAAM,KAAK;IACtC,IAAI,IAAAC,6CAAoB,EAAC9F,MAAM,EAAE6F,MAAM,CAAC,EAAE;MACxChG,KAAK,CAAC,gCAAgC,EAAEgG,MAAM,CAAC;MAC/C,OAAOD,IAAI;IACb;IAEA,OAAO,IAAAG,iCAAgB,EAACH,IAAI,EAAE;MAC5B;MACAI,eAAe,EAAE,IAAI;MACrBH,MAAM;MACN;MACAI,QAAQ,EAAGjG,MAAM,IAAKA;IACxB,CAAC,CAAC;EACJ,CAAC,EAAEA,MAAM,CAAC;AACZ,CAAC;AAEM,SAASkG,qBAAqBA,CAAClG,MAAkB,EAAE;EACxD,OAAOyF,yBAAyB,CAACzF,MAAM,EAAE,CACvC,GAAG,IAAImG,GAAG,CAACZ,2BAA2B,CAACF,MAAM,CAACC,iBAAiB,CAAC,CAAC,CAClE,CAAC;AACJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/prebuild-config",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.7",
|
|
4
4
|
"description": "Get the prebuild config",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -34,15 +34,15 @@
|
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/debug": "^4.1.5",
|
|
36
36
|
"@types/xml2js": "~0.4.11",
|
|
37
|
-
"expo-module-scripts": "^4.1.
|
|
37
|
+
"expo-module-scripts": "^4.1.7"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@expo/config": "~11.0.
|
|
41
|
-
"@expo/config-plugins": "~10.0.
|
|
40
|
+
"@expo/config": "~11.0.10",
|
|
41
|
+
"@expo/config-plugins": "~10.0.3",
|
|
42
42
|
"@expo/config-types": "^53.0.4",
|
|
43
43
|
"@expo/image-utils": "^0.7.4",
|
|
44
44
|
"@expo/json-file": "^9.1.4",
|
|
45
|
-
"@react-native/normalize-colors": "0.79.
|
|
45
|
+
"@react-native/normalize-colors": "0.79.4",
|
|
46
46
|
"debug": "^4.3.1",
|
|
47
47
|
"resolve-from": "^5.0.0",
|
|
48
48
|
"semver": "^7.6.0",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"publishConfig": {
|
|
52
52
|
"access": "public"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "cc3b641cc2e4e7686dca75e7029cf76a07b3d647"
|
|
55
55
|
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
function _withAndroidNotifications() {
|
|
8
|
-
const data = require("./withAndroidNotifications");
|
|
9
|
-
_withAndroidNotifications = function () {
|
|
10
|
-
return data;
|
|
11
|
-
};
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
function _createLegacyPlugin() {
|
|
15
|
-
const data = require("../createLegacyPlugin");
|
|
16
|
-
_createLegacyPlugin = function () {
|
|
17
|
-
return data;
|
|
18
|
-
};
|
|
19
|
-
return data;
|
|
20
|
-
}
|
|
21
|
-
var _default = exports.default = (0, _createLegacyPlugin().createLegacyPlugin)({
|
|
22
|
-
packageName: 'expo-notifications',
|
|
23
|
-
fallback: [
|
|
24
|
-
// Android
|
|
25
|
-
_withAndroidNotifications().withNotificationManifest, _withAndroidNotifications().withNotificationIconColor, _withAndroidNotifications().withNotificationIcons
|
|
26
|
-
// iOS
|
|
27
|
-
// Automatic setting of APNS entitlement is no longer needed
|
|
28
|
-
]
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=expo-notifications.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expo-notifications.js","names":["_withAndroidNotifications","data","require","_createLegacyPlugin","_default","exports","default","createLegacyPlugin","packageName","fallback","withNotificationManifest","withNotificationIconColor","withNotificationIcons"],"sources":["../../../../src/plugins/unversioned/expo-notifications/expo-notifications.ts"],"sourcesContent":["import {\n withNotificationIconColor,\n withNotificationIcons,\n withNotificationManifest,\n} from './withAndroidNotifications';\nimport { createLegacyPlugin } from '../createLegacyPlugin';\n\nexport default createLegacyPlugin({\n packageName: 'expo-notifications',\n fallback: [\n // Android\n withNotificationManifest,\n withNotificationIconColor,\n withNotificationIcons,\n // iOS\n // Automatic setting of APNS entitlement is no longer needed\n ],\n});\n"],"mappings":";;;;;;AAAA,SAAAA,0BAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,yBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAE,oBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,mBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE5C,IAAAC,wCAAkB,EAAC;EAChCC,WAAW,EAAE,oBAAoB;EACjCC,QAAQ,EAAE;EACR;EACAC,oDAAwB,EACxBC,qDAAyB,EACzBC;EACA;EACA;EAAA;AAEJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AndroidConfig, ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
import { ExpoConfig } from '@expo/config-types';
|
|
3
|
-
type AndroidManifest = AndroidConfig.Manifest.AndroidManifest;
|
|
4
|
-
export declare const META_DATA_NOTIFICATION_ICON = "expo.modules.notifications.default_notification_icon";
|
|
5
|
-
export declare const META_DATA_NOTIFICATION_ICON_COLOR = "expo.modules.notifications.default_notification_color";
|
|
6
|
-
export declare const NOTIFICATION_ICON = "notification_icon";
|
|
7
|
-
export declare const NOTIFICATION_ICON_RESOURCE = "@drawable/notification_icon";
|
|
8
|
-
export declare const NOTIFICATION_ICON_COLOR = "notification_icon_color";
|
|
9
|
-
export declare const NOTIFICATION_ICON_COLOR_RESOURCE = "@color/notification_icon_color";
|
|
10
|
-
export declare const withNotificationIcons: ConfigPlugin;
|
|
11
|
-
export declare const withNotificationIconColor: ConfigPlugin;
|
|
12
|
-
export declare const withNotificationManifest: ConfigPlugin;
|
|
13
|
-
export declare function getNotificationIcon(config: ExpoConfig): string | null;
|
|
14
|
-
export declare function getNotificationColor(config: ExpoConfig): string | null;
|
|
15
|
-
/**
|
|
16
|
-
* Applies configuration for expo-notifications, including
|
|
17
|
-
* the notification icon and notification color.
|
|
18
|
-
*/
|
|
19
|
-
export declare function setNotificationIconAsync(config: ExpoConfig, projectRoot: string): Promise<void>;
|
|
20
|
-
export declare function setNotificationConfig(config: ExpoConfig, manifest: AndroidManifest): AndroidConfig.Manifest.AndroidManifest;
|
|
21
|
-
export declare function setNotificationIconColor(config: ExpoConfig, colors: AndroidConfig.Resources.ResourceXML): AndroidConfig.Resources.ResourceXML;
|
|
22
|
-
export {};
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.NOTIFICATION_ICON_RESOURCE = exports.NOTIFICATION_ICON_COLOR_RESOURCE = exports.NOTIFICATION_ICON_COLOR = exports.NOTIFICATION_ICON = exports.META_DATA_NOTIFICATION_ICON_COLOR = exports.META_DATA_NOTIFICATION_ICON = void 0;
|
|
7
|
-
exports.getNotificationColor = getNotificationColor;
|
|
8
|
-
exports.getNotificationIcon = getNotificationIcon;
|
|
9
|
-
exports.setNotificationConfig = setNotificationConfig;
|
|
10
|
-
exports.setNotificationIconAsync = setNotificationIconAsync;
|
|
11
|
-
exports.setNotificationIconColor = setNotificationIconColor;
|
|
12
|
-
exports.withNotificationManifest = exports.withNotificationIcons = exports.withNotificationIconColor = void 0;
|
|
13
|
-
function _configPlugins() {
|
|
14
|
-
const data = require("@expo/config-plugins");
|
|
15
|
-
_configPlugins = function () {
|
|
16
|
-
return data;
|
|
17
|
-
};
|
|
18
|
-
return data;
|
|
19
|
-
}
|
|
20
|
-
function _imageUtils() {
|
|
21
|
-
const data = require("@expo/image-utils");
|
|
22
|
-
_imageUtils = function () {
|
|
23
|
-
return data;
|
|
24
|
-
};
|
|
25
|
-
return data;
|
|
26
|
-
}
|
|
27
|
-
function _fs() {
|
|
28
|
-
const data = _interopRequireDefault(require("fs"));
|
|
29
|
-
_fs = function () {
|
|
30
|
-
return data;
|
|
31
|
-
};
|
|
32
|
-
return data;
|
|
33
|
-
}
|
|
34
|
-
function _path() {
|
|
35
|
-
const data = _interopRequireDefault(require("path"));
|
|
36
|
-
_path = function () {
|
|
37
|
-
return data;
|
|
38
|
-
};
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
function _withAndroidIcons() {
|
|
42
|
-
const data = require("../../icons/withAndroidIcons");
|
|
43
|
-
_withAndroidIcons = function () {
|
|
44
|
-
return data;
|
|
45
|
-
};
|
|
46
|
-
return data;
|
|
47
|
-
}
|
|
48
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
49
|
-
const {
|
|
50
|
-
Colors
|
|
51
|
-
} = _configPlugins().AndroidConfig;
|
|
52
|
-
const {
|
|
53
|
-
addMetaDataItemToMainApplication,
|
|
54
|
-
getMainApplicationOrThrow,
|
|
55
|
-
removeMetaDataItemFromMainApplication
|
|
56
|
-
} = _configPlugins().AndroidConfig.Manifest;
|
|
57
|
-
const BASELINE_PIXEL_SIZE = 24;
|
|
58
|
-
const META_DATA_NOTIFICATION_ICON = exports.META_DATA_NOTIFICATION_ICON = 'expo.modules.notifications.default_notification_icon';
|
|
59
|
-
const META_DATA_NOTIFICATION_ICON_COLOR = exports.META_DATA_NOTIFICATION_ICON_COLOR = 'expo.modules.notifications.default_notification_color';
|
|
60
|
-
const NOTIFICATION_ICON = exports.NOTIFICATION_ICON = 'notification_icon';
|
|
61
|
-
const NOTIFICATION_ICON_RESOURCE = exports.NOTIFICATION_ICON_RESOURCE = `@drawable/${NOTIFICATION_ICON}`;
|
|
62
|
-
const NOTIFICATION_ICON_COLOR = exports.NOTIFICATION_ICON_COLOR = 'notification_icon_color';
|
|
63
|
-
const NOTIFICATION_ICON_COLOR_RESOURCE = exports.NOTIFICATION_ICON_COLOR_RESOURCE = `@color/${NOTIFICATION_ICON_COLOR}`;
|
|
64
|
-
const withNotificationIcons = config => {
|
|
65
|
-
return (0, _configPlugins().withDangerousMod)(config, ['android', async config => {
|
|
66
|
-
await setNotificationIconAsync(config, config.modRequest.projectRoot);
|
|
67
|
-
return config;
|
|
68
|
-
}]);
|
|
69
|
-
};
|
|
70
|
-
exports.withNotificationIcons = withNotificationIcons;
|
|
71
|
-
const withNotificationIconColor = config => {
|
|
72
|
-
return (0, _configPlugins().withAndroidColors)(config, config => {
|
|
73
|
-
config.modResults = setNotificationIconColor(config, config.modResults);
|
|
74
|
-
return config;
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
exports.withNotificationIconColor = withNotificationIconColor;
|
|
78
|
-
const withNotificationManifest = config => {
|
|
79
|
-
return (0, _configPlugins().withAndroidManifest)(config, config => {
|
|
80
|
-
config.modResults = setNotificationConfig(config, config.modResults);
|
|
81
|
-
return config;
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
exports.withNotificationManifest = withNotificationManifest;
|
|
85
|
-
function getNotificationIcon(config) {
|
|
86
|
-
return config.notification?.icon || null;
|
|
87
|
-
}
|
|
88
|
-
function getNotificationColor(config) {
|
|
89
|
-
return config.notification?.color || null;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Applies configuration for expo-notifications, including
|
|
94
|
-
* the notification icon and notification color.
|
|
95
|
-
*/
|
|
96
|
-
async function setNotificationIconAsync(config, projectRoot) {
|
|
97
|
-
const icon = getNotificationIcon(config);
|
|
98
|
-
if (icon) {
|
|
99
|
-
await writeNotificationIconImageFilesAsync(icon, projectRoot);
|
|
100
|
-
} else {
|
|
101
|
-
await removeNotificationIconImageFilesAsync(projectRoot);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
function setNotificationConfig(config, manifest) {
|
|
105
|
-
const icon = getNotificationIcon(config);
|
|
106
|
-
const color = getNotificationColor(config);
|
|
107
|
-
const mainApplication = getMainApplicationOrThrow(manifest);
|
|
108
|
-
if (icon) {
|
|
109
|
-
addMetaDataItemToMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON, NOTIFICATION_ICON_RESOURCE, 'resource');
|
|
110
|
-
} else {
|
|
111
|
-
removeMetaDataItemFromMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON);
|
|
112
|
-
}
|
|
113
|
-
if (color) {
|
|
114
|
-
addMetaDataItemToMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON_COLOR, NOTIFICATION_ICON_COLOR_RESOURCE, 'resource');
|
|
115
|
-
} else {
|
|
116
|
-
removeMetaDataItemFromMainApplication(mainApplication, META_DATA_NOTIFICATION_ICON_COLOR);
|
|
117
|
-
}
|
|
118
|
-
return manifest;
|
|
119
|
-
}
|
|
120
|
-
function setNotificationIconColor(config, colors) {
|
|
121
|
-
return Colors.assignColorValue(colors, {
|
|
122
|
-
name: NOTIFICATION_ICON_COLOR,
|
|
123
|
-
value: getNotificationColor(config)
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
async function writeNotificationIconImageFilesAsync(icon, projectRoot) {
|
|
127
|
-
await Promise.all(Object.values(_withAndroidIcons().dpiValues).map(async ({
|
|
128
|
-
folderName,
|
|
129
|
-
scale
|
|
130
|
-
}) => {
|
|
131
|
-
const drawableFolderName = folderName.replace('mipmap', 'drawable');
|
|
132
|
-
const dpiFolderPath = _path().default.resolve(projectRoot, _withAndroidIcons().ANDROID_RES_PATH, drawableFolderName);
|
|
133
|
-
await _fs().default.promises.mkdir(dpiFolderPath, {
|
|
134
|
-
recursive: true
|
|
135
|
-
});
|
|
136
|
-
const iconSizePx = BASELINE_PIXEL_SIZE * scale;
|
|
137
|
-
try {
|
|
138
|
-
const resizedIcon = (await (0, _imageUtils().generateImageAsync)({
|
|
139
|
-
projectRoot,
|
|
140
|
-
cacheType: 'android-notification'
|
|
141
|
-
}, {
|
|
142
|
-
src: icon,
|
|
143
|
-
width: iconSizePx,
|
|
144
|
-
height: iconSizePx,
|
|
145
|
-
resizeMode: 'cover',
|
|
146
|
-
backgroundColor: 'transparent'
|
|
147
|
-
})).source;
|
|
148
|
-
await _fs().default.promises.writeFile(_path().default.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'), resizedIcon);
|
|
149
|
-
} catch (e) {
|
|
150
|
-
throw new Error('Encountered an issue resizing Android notification icon: ' + e);
|
|
151
|
-
}
|
|
152
|
-
}));
|
|
153
|
-
}
|
|
154
|
-
async function removeNotificationIconImageFilesAsync(projectRoot) {
|
|
155
|
-
await Promise.all(Object.values(_withAndroidIcons().dpiValues).map(async ({
|
|
156
|
-
folderName
|
|
157
|
-
}) => {
|
|
158
|
-
const drawableFolderName = folderName.replace('mipmap', 'drawable');
|
|
159
|
-
const dpiFolderPath = _path().default.resolve(projectRoot, _withAndroidIcons().ANDROID_RES_PATH, drawableFolderName);
|
|
160
|
-
await _fs().default.promises.rm(_path().default.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'), {
|
|
161
|
-
force: true
|
|
162
|
-
});
|
|
163
|
-
}));
|
|
164
|
-
}
|
|
165
|
-
//# sourceMappingURL=withAndroidNotifications.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withAndroidNotifications.js","names":["_configPlugins","data","require","_imageUtils","_fs","_interopRequireDefault","_path","_withAndroidIcons","e","__esModule","default","Colors","AndroidConfig","addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","Manifest","BASELINE_PIXEL_SIZE","META_DATA_NOTIFICATION_ICON","exports","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","promises","mkdir","recursive","iconSizePx","resizedIcon","generateImageAsync","cacheType","src","width","height","resizeMode","backgroundColor","source","writeFile","Error","rm","force"],"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';\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.promises.mkdir(dpiFolderPath, { recursive: true });\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.promises.writeFile(\n path.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'),\n resizedIcon\n );\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.promises.rm(path.resolve(dpiFolderPath, NOTIFICATION_ICON + '.png'), {\n force: true,\n });\n })\n );\n}\n"],"mappings":"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","ignoreList":[]}
|