@expo/prebuild-config 55.0.19 → 55.0.21

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 (95) hide show
  1. package/build/getAutolinkedPackages.js +1 -3
  2. package/build/getAutolinkedPackages.js.map +1 -1
  3. package/build/getPrebuildConfig.js +1 -3
  4. package/build/getPrebuildConfig.js.map +1 -1
  5. package/build/index.js +4 -15
  6. package/build/index.js.map +1 -1
  7. package/build/plugins/icons/AssetContents.js +1 -3
  8. package/build/plugins/icons/AssetContents.js.map +1 -1
  9. package/build/plugins/icons/withAndroidIcons.js +1 -3
  10. package/build/plugins/icons/withAndroidIcons.js.map +1 -1
  11. package/build/plugins/icons/withAndroidManifestIcons.js +1 -3
  12. package/build/plugins/icons/withAndroidManifestIcons.js.map +1 -1
  13. package/build/plugins/icons/withIosIcons.js +1 -3
  14. package/build/plugins/icons/withIosIcons.js.map +1 -1
  15. package/build/plugins/sdk52/ReactNative77CompatPlugin.js +1 -3
  16. package/build/plugins/sdk52/ReactNative77CompatPlugin.js.map +1 -1
  17. package/build/plugins/sdk52/ReactNative78CompatPlugin.js +1 -3
  18. package/build/plugins/sdk52/ReactNative78CompatPlugin.js.map +1 -1
  19. package/build/plugins/unversioned/createLegacyPlugin.js +1 -3
  20. package/build/plugins/unversioned/createLegacyPlugin.js.map +1 -1
  21. package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js +1 -3
  22. package/build/plugins/unversioned/edge-to-edge/withEdgeToEdge.js.map +1 -1
  23. package/build/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.js +1 -3
  24. package/build/plugins/unversioned/edge-to-edge/withRestoreDefaultTheme.js.map +1 -1
  25. package/build/plugins/unversioned/expo-ads-admob/expo-ads-admob.js +1 -3
  26. package/build/plugins/unversioned/expo-ads-admob/expo-ads-admob.js.map +1 -1
  27. package/build/plugins/unversioned/expo-ads-admob/withAndroidAdMob.js +1 -3
  28. package/build/plugins/unversioned/expo-ads-admob/withAndroidAdMob.js.map +1 -1
  29. package/build/plugins/unversioned/expo-ads-admob/withIosAdMob.js +1 -3
  30. package/build/plugins/unversioned/expo-ads-admob/withIosAdMob.js.map +1 -1
  31. package/build/plugins/unversioned/expo-apple-authentication.js +1 -3
  32. package/build/plugins/unversioned/expo-apple-authentication.js.map +1 -1
  33. package/build/plugins/unversioned/expo-contacts.js +1 -3
  34. package/build/plugins/unversioned/expo-contacts.js.map +1 -1
  35. package/build/plugins/unversioned/expo-document-picker.js +1 -3
  36. package/build/plugins/unversioned/expo-document-picker.js.map +1 -1
  37. package/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.js +1 -3
  38. package/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.js.map +1 -1
  39. package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js +1 -3
  40. package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js.map +1 -1
  41. package/build/plugins/unversioned/expo-notifications/expo-notifications.js +1 -3
  42. package/build/plugins/unversioned/expo-notifications/expo-notifications.js.map +1 -1
  43. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js +1 -3
  44. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js.map +1 -1
  45. package/build/plugins/unversioned/expo-splash-screen/expo-splash-screen.js +1 -3
  46. package/build/plugins/unversioned/expo-splash-screen/expo-splash-screen.js.map +1 -1
  47. package/build/plugins/unversioned/expo-splash-screen/getAndroidSplashConfig.js +1 -3
  48. package/build/plugins/unversioned/expo-splash-screen/getAndroidSplashConfig.js.map +1 -1
  49. package/build/plugins/unversioned/expo-splash-screen/getIosSplashConfig.js +1 -3
  50. package/build/plugins/unversioned/expo-splash-screen/getIosSplashConfig.js.map +1 -1
  51. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashDrawables.js +1 -3
  52. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashDrawables.js.map +1 -1
  53. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.js +1 -3
  54. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.js.map +1 -1
  55. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js +1 -3
  56. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js.map +1 -1
  57. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.js +1 -3
  58. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.js.map +1 -1
  59. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.js +1 -3
  60. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.js.map +1 -1
  61. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.js +1 -3
  62. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.js.map +1 -1
  63. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStyles.js +1 -3
  64. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStyles.js.map +1 -1
  65. package/build/plugins/unversioned/expo-splash-screen/withIosSplashAssets.js +1 -3
  66. package/build/plugins/unversioned/expo-splash-screen/withIosSplashAssets.js.map +1 -1
  67. package/build/plugins/unversioned/expo-splash-screen/withIosSplashColors.js +1 -3
  68. package/build/plugins/unversioned/expo-splash-screen/withIosSplashColors.js.map +1 -1
  69. package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js +1 -3
  70. package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js.map +1 -1
  71. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreen.js +1 -3
  72. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreen.js.map +1 -1
  73. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.js +1 -3
  74. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.js.map +1 -1
  75. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboardImage.js +1 -3
  76. package/build/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboardImage.js.map +1 -1
  77. package/build/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.js +1 -3
  78. package/build/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.js.map +1 -1
  79. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js +1 -3
  80. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js.map +1 -1
  81. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js +1 -3
  82. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js.map +1 -1
  83. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js +1 -3
  84. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js.map +1 -1
  85. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js +1 -3
  86. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js.map +1 -1
  87. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js +1 -3
  88. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js.map +1 -1
  89. package/build/plugins/unversioned/expo-updates.js +1 -3
  90. package/build/plugins/unversioned/expo-updates.js.map +1 -1
  91. package/build/plugins/unversioned/react-native-maps.js +1 -3
  92. package/build/plugins/unversioned/react-native-maps.js.map +1 -1
  93. package/build/plugins/withDefaultPlugins.js +1 -3
  94. package/build/plugins/withDefaultPlugins.js.map +1 -1
  95. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashImages.js","names":["_configPlugins","data","require","_imageUtils","_fs","_interopRequireDefault","_path","_getAndroidSplashConfig","e","__esModule","default","IMAGE_CACHE_NAME","SPLASH_SCREEN_FILENAME","SPLASH_SCREEN_DRAWABLE_NAME","DRAWABLES_CONFIGS","modes","light","path","dark","dimensionsMultiplier","mdpi","hdpi","xhdpi","xxhdpi","xxxhdpi","withAndroidSplashImages","config","splash","withDangerousMod","setSplashImageDrawablesAsync","modRequest","projectRoot","imageWidth","exports","props","clearAllExistingSplashImagesAsync","getAndroidSplashConfig","darkSplash","getAndroidDarkSplashConfig","Promise","all","setSplashImageDrawablesForThemeAsync","androidMainPath","join","Object","values","map","filePath","fs","promises","rm","resolve","force","recursive","theme","drawable","writeSplashScreenDrawablesAsync","sizes","imageKey","image","multiplier","size","canvasSize","background","generateImageBackgroundAsync","width","height","backgroundColor","resizeMode","source","foreground","generateImageAsync","cacheType","src","composedImage","compositeImagesAsync","x","y","outputPath","folder","dirname","mkdir","writeFile","drawablePath","lightDrawablePath","darkDrawablePath","lightFolder","copyFile","icon","darkIcon","darkFolder"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.ts"],"sourcesContent":["import { ConfigPlugin, withDangerousMod } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport {\n generateImageAsync,\n compositeImagesAsync,\n generateImageBackgroundAsync,\n} from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport {\n AndroidSplashConfig,\n getAndroidDarkSplashConfig,\n getAndroidSplashConfig,\n SplashScreenConfig,\n} from './getAndroidSplashConfig';\n\ntype DRAWABLE_SIZE = 'default' | 'mdpi' | 'hdpi' | 'xhdpi' | 'xxhdpi' | 'xxxhdpi';\ntype THEME = 'light' | 'dark';\n\nconst IMAGE_CACHE_NAME = 'splash-android';\nconst SPLASH_SCREEN_FILENAME = 'splashscreen_logo.png';\nconst SPLASH_SCREEN_DRAWABLE_NAME = 'splashscreen_logo.xml';\n\nconst DRAWABLES_CONFIGS: {\n [key in DRAWABLE_SIZE]: {\n modes: {\n [key in THEME]: {\n path: string;\n };\n };\n dimensionsMultiplier: number;\n };\n} = {\n default: {\n modes: {\n light: {\n path: `./res/drawable/${SPLASH_SCREEN_DRAWABLE_NAME}`,\n },\n dark: {\n path: `./res/drawable-night/${SPLASH_SCREEN_DRAWABLE_NAME}`,\n },\n },\n dimensionsMultiplier: 1,\n },\n mdpi: {\n modes: {\n light: {\n path: `./res/drawable-mdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-mdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 1,\n },\n hdpi: {\n modes: {\n light: {\n path: `./res/drawable-hdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-hdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 1.5,\n },\n xhdpi: {\n modes: {\n light: {\n path: `./res/drawable-xhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-xhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 2,\n },\n xxhdpi: {\n modes: {\n light: {\n path: `./res/drawable-xxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-xxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 3,\n },\n xxxhdpi: {\n modes: {\n light: {\n path: `./res/drawable-xxxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-xxxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 4,\n },\n};\n\nexport const withAndroidSplashImages: ConfigPlugin<AndroidSplashConfig | null> = (\n config,\n splash\n) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n if (splash) {\n await setSplashImageDrawablesAsync(\n config,\n splash,\n config.modRequest.projectRoot,\n splash?.imageWidth ?? 200\n );\n }\n return config;\n },\n ]);\n};\n\n/**\n * Deletes all previous splash_screen_images and copies new one to desired drawable directory.\n * If path isn't provided then no new image is placed in drawable directories.\n * @see https://developer.android.com/training/multiscreen/screendensities\n *\n * @param androidMainPath Absolute path to the main directory containing code and resources in Android project. In general that would be `android/app/src/main`.\n */\nexport async function setSplashImageDrawablesAsync(\n config: Pick<ExpoConfig, 'android' | 'splash'>,\n props: AndroidSplashConfig | null,\n projectRoot: string,\n imageWidth: number\n) {\n await clearAllExistingSplashImagesAsync(projectRoot);\n\n const splash = getAndroidSplashConfig(config, props);\n const darkSplash = getAndroidDarkSplashConfig(config, props);\n\n await Promise.all([\n setSplashImageDrawablesForThemeAsync(splash, 'light', projectRoot, imageWidth),\n setSplashImageDrawablesForThemeAsync(darkSplash, 'dark', projectRoot, imageWidth),\n ]);\n}\n\nasync function clearAllExistingSplashImagesAsync(projectRoot: string) {\n const androidMainPath = path.join(projectRoot, 'android/app/src/main');\n\n await Promise.all(\n Object.values(DRAWABLES_CONFIGS).map(async ({ modes }) => {\n await Promise.all(\n Object.values(modes).map(async ({ path: filePath }) => {\n await fs.promises.rm(path.resolve(androidMainPath, filePath), {\n force: true,\n recursive: true,\n });\n })\n );\n })\n );\n}\n\nexport async function setSplashImageDrawablesForThemeAsync(\n config: SplashScreenConfig | null,\n theme: 'dark' | 'light',\n projectRoot: string,\n imageWidth: number = 100\n) {\n if (!config) return;\n const androidMainPath = path.join(projectRoot, 'android/app/src/main');\n\n if (config.drawable) {\n await writeSplashScreenDrawablesAsync(androidMainPath, projectRoot, config.drawable);\n return;\n }\n\n const sizes: DRAWABLE_SIZE[] = ['mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi'];\n\n await Promise.all(\n sizes.map(async (imageKey) => {\n // @ts-ignore\n const image = config[imageKey];\n\n if (image) {\n const multiplier = DRAWABLES_CONFIGS[imageKey].dimensionsMultiplier;\n const size = imageWidth * multiplier; // \"imageWidth\" must be replaced by the logo width chosen by the user in its config file\n const canvasSize = 288 * multiplier;\n\n const background = await generateImageBackgroundAsync({\n width: canvasSize,\n height: canvasSize,\n backgroundColor: config.backgroundColor ?? 'transparent',\n resizeMode: 'cover',\n });\n\n const { source: foreground } = await generateImageAsync(\n {\n projectRoot,\n cacheType: IMAGE_CACHE_NAME,\n },\n {\n src: image,\n resizeMode: 'contain',\n width: size,\n height: size,\n }\n );\n\n const composedImage = await compositeImagesAsync({\n background,\n foreground,\n x: (canvasSize - size) / 2,\n y: (canvasSize - size) / 2,\n });\n\n // Get output path for drawable.\n const outputPath = path.join(\n androidMainPath,\n DRAWABLES_CONFIGS[imageKey].modes[theme].path\n );\n\n const folder = path.dirname(outputPath);\n // Ensure directory exists.\n await fs.promises.mkdir(folder, { recursive: true });\n await fs.promises.writeFile(outputPath, composedImage);\n }\n return null;\n })\n );\n}\n\nasync function writeSplashScreenDrawablesAsync(\n drawablePath: string,\n projectRoot: string,\n drawable: SplashScreenConfig['drawable']\n) {\n if (!drawable) {\n return;\n }\n\n const lightDrawablePath = path.join(drawablePath, DRAWABLES_CONFIGS.default.modes.light.path);\n const darkDrawablePath = path.join(drawablePath, DRAWABLES_CONFIGS.default.modes.dark.path);\n\n const lightFolder = path.dirname(lightDrawablePath);\n await fs.promises.mkdir(lightFolder, { recursive: true });\n await fs.promises.copyFile(path.join(projectRoot, drawable.icon), lightDrawablePath);\n\n if (drawable.darkIcon) {\n const darkFolder = path.dirname(darkDrawablePath);\n await fs.promises.mkdir(darkFolder, { recursive: true });\n await fs.promises.copyFile(path.join(projectRoot, drawable.darkIcon), darkDrawablePath);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashImages.js","names":["_configPlugins","data","require","_imageUtils","_fs","_interopRequireDefault","_path","_getAndroidSplashConfig","e","__esModule","default","IMAGE_CACHE_NAME","SPLASH_SCREEN_FILENAME","SPLASH_SCREEN_DRAWABLE_NAME","DRAWABLES_CONFIGS","modes","light","path","dark","dimensionsMultiplier","mdpi","hdpi","xhdpi","xxhdpi","xxxhdpi","withAndroidSplashImages","config","splash","withDangerousMod","setSplashImageDrawablesAsync","modRequest","projectRoot","imageWidth","exports","props","clearAllExistingSplashImagesAsync","getAndroidSplashConfig","darkSplash","getAndroidDarkSplashConfig","Promise","all","setSplashImageDrawablesForThemeAsync","androidMainPath","join","Object","values","map","filePath","fs","promises","rm","resolve","force","recursive","theme","drawable","writeSplashScreenDrawablesAsync","sizes","imageKey","image","multiplier","size","canvasSize","background","generateImageBackgroundAsync","width","height","backgroundColor","resizeMode","source","foreground","generateImageAsync","cacheType","src","composedImage","compositeImagesAsync","x","y","outputPath","folder","dirname","mkdir","writeFile","drawablePath","lightDrawablePath","darkDrawablePath","lightFolder","copyFile","icon","darkIcon","darkFolder"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.ts"],"sourcesContent":["import { ConfigPlugin, withDangerousMod } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport {\n generateImageAsync,\n compositeImagesAsync,\n generateImageBackgroundAsync,\n} from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport {\n AndroidSplashConfig,\n getAndroidDarkSplashConfig,\n getAndroidSplashConfig,\n SplashScreenConfig,\n} from './getAndroidSplashConfig';\n\ntype DRAWABLE_SIZE = 'default' | 'mdpi' | 'hdpi' | 'xhdpi' | 'xxhdpi' | 'xxxhdpi';\ntype THEME = 'light' | 'dark';\n\nconst IMAGE_CACHE_NAME = 'splash-android';\nconst SPLASH_SCREEN_FILENAME = 'splashscreen_logo.png';\nconst SPLASH_SCREEN_DRAWABLE_NAME = 'splashscreen_logo.xml';\n\nconst DRAWABLES_CONFIGS: {\n [key in DRAWABLE_SIZE]: {\n modes: {\n [key in THEME]: {\n path: string;\n };\n };\n dimensionsMultiplier: number;\n };\n} = {\n default: {\n modes: {\n light: {\n path: `./res/drawable/${SPLASH_SCREEN_DRAWABLE_NAME}`,\n },\n dark: {\n path: `./res/drawable-night/${SPLASH_SCREEN_DRAWABLE_NAME}`,\n },\n },\n dimensionsMultiplier: 1,\n },\n mdpi: {\n modes: {\n light: {\n path: `./res/drawable-mdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-mdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 1,\n },\n hdpi: {\n modes: {\n light: {\n path: `./res/drawable-hdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-hdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 1.5,\n },\n xhdpi: {\n modes: {\n light: {\n path: `./res/drawable-xhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-xhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 2,\n },\n xxhdpi: {\n modes: {\n light: {\n path: `./res/drawable-xxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-xxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 3,\n },\n xxxhdpi: {\n modes: {\n light: {\n path: `./res/drawable-xxxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night-xxxhdpi/${SPLASH_SCREEN_FILENAME}`,\n },\n },\n dimensionsMultiplier: 4,\n },\n};\n\nexport const withAndroidSplashImages: ConfigPlugin<AndroidSplashConfig | null> = (\n config,\n splash\n) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n if (splash) {\n await setSplashImageDrawablesAsync(\n config,\n splash,\n config.modRequest.projectRoot,\n splash?.imageWidth ?? 200\n );\n }\n return config;\n },\n ]);\n};\n\n/**\n * Deletes all previous splash_screen_images and copies new one to desired drawable directory.\n * If path isn't provided then no new image is placed in drawable directories.\n * @see https://developer.android.com/training/multiscreen/screendensities\n *\n * @param androidMainPath Absolute path to the main directory containing code and resources in Android project. In general that would be `android/app/src/main`.\n */\nexport async function setSplashImageDrawablesAsync(\n config: Pick<ExpoConfig, 'android' | 'splash'>,\n props: AndroidSplashConfig | null,\n projectRoot: string,\n imageWidth: number\n) {\n await clearAllExistingSplashImagesAsync(projectRoot);\n\n const splash = getAndroidSplashConfig(config, props);\n const darkSplash = getAndroidDarkSplashConfig(config, props);\n\n await Promise.all([\n setSplashImageDrawablesForThemeAsync(splash, 'light', projectRoot, imageWidth),\n setSplashImageDrawablesForThemeAsync(darkSplash, 'dark', projectRoot, imageWidth),\n ]);\n}\n\nasync function clearAllExistingSplashImagesAsync(projectRoot: string) {\n const androidMainPath = path.join(projectRoot, 'android/app/src/main');\n\n await Promise.all(\n Object.values(DRAWABLES_CONFIGS).map(async ({ modes }) => {\n await Promise.all(\n Object.values(modes).map(async ({ path: filePath }) => {\n await fs.promises.rm(path.resolve(androidMainPath, filePath), {\n force: true,\n recursive: true,\n });\n })\n );\n })\n );\n}\n\nexport async function setSplashImageDrawablesForThemeAsync(\n config: SplashScreenConfig | null,\n theme: 'dark' | 'light',\n projectRoot: string,\n imageWidth: number = 100\n) {\n if (!config) return;\n const androidMainPath = path.join(projectRoot, 'android/app/src/main');\n\n if (config.drawable) {\n await writeSplashScreenDrawablesAsync(androidMainPath, projectRoot, config.drawable);\n return;\n }\n\n const sizes: DRAWABLE_SIZE[] = ['mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi'];\n\n await Promise.all(\n sizes.map(async (imageKey) => {\n // @ts-ignore\n const image = config[imageKey];\n\n if (image) {\n const multiplier = DRAWABLES_CONFIGS[imageKey].dimensionsMultiplier;\n const size = imageWidth * multiplier; // \"imageWidth\" must be replaced by the logo width chosen by the user in its config file\n const canvasSize = 288 * multiplier;\n\n const background = await generateImageBackgroundAsync({\n width: canvasSize,\n height: canvasSize,\n backgroundColor: config.backgroundColor ?? 'transparent',\n resizeMode: 'cover',\n });\n\n const { source: foreground } = await generateImageAsync(\n {\n projectRoot,\n cacheType: IMAGE_CACHE_NAME,\n },\n {\n src: image,\n resizeMode: 'contain',\n width: size,\n height: size,\n }\n );\n\n const composedImage = await compositeImagesAsync({\n background,\n foreground,\n x: (canvasSize - size) / 2,\n y: (canvasSize - size) / 2,\n });\n\n // Get output path for drawable.\n const outputPath = path.join(\n androidMainPath,\n DRAWABLES_CONFIGS[imageKey].modes[theme].path\n );\n\n const folder = path.dirname(outputPath);\n // Ensure directory exists.\n await fs.promises.mkdir(folder, { recursive: true });\n await fs.promises.writeFile(outputPath, composedImage);\n }\n return null;\n })\n );\n}\n\nasync function writeSplashScreenDrawablesAsync(\n drawablePath: string,\n projectRoot: string,\n drawable: SplashScreenConfig['drawable']\n) {\n if (!drawable) {\n return;\n }\n\n const lightDrawablePath = path.join(drawablePath, DRAWABLES_CONFIGS.default.modes.light.path);\n const darkDrawablePath = path.join(drawablePath, DRAWABLES_CONFIGS.default.modes.dark.path);\n\n const lightFolder = path.dirname(lightDrawablePath);\n await fs.promises.mkdir(lightFolder, { recursive: true });\n await fs.promises.copyFile(path.join(projectRoot, drawable.icon), lightDrawablePath);\n\n if (drawable.darkIcon) {\n const darkFolder = path.dirname(darkDrawablePath);\n await fs.promises.mkdir(darkFolder, { recursive: true });\n await fs.promises.copyFile(path.join(projectRoot, drawable.darkIcon), darkDrawablePath);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.setSplashScreenLegacyMainActivity = setSplashScreenLegacyMainActivity;
7
5
  exports.withAndroidSplashLegacyMainActivity = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashLegacyMainActivity.js","names":["_configPlugins","data","require","_codeMod","_generateCode","_debug","_interopRequireDefault","_getAndroidSplashConfig","e","__esModule","default","debug","Debug","SHOW_SPLASH_ID","withAndroidSplashLegacyMainActivity","config","props","withMainActivity","modResults","contents","setSplashScreenLegacyMainActivity","language","exports","mainActivity","splashConfig","getAndroidSplashConfig","mod","removeContents","src","tag","didClear","statusBarTranslucent","androidStatusBar","translucent","resizeMode","isJava","LE","addImports","match","onCreateBlock","mergeContents","anchor","offset","comment","newSrc","join","split","filter","line","test","toUpperCase"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.ts"],"sourcesContent":["import { ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { addImports } from '@expo/config-plugins/build/android/codeMod';\nimport { mergeContents, removeContents } from '@expo/config-plugins/build/utils/generateCode';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { AndroidSplashConfig, getAndroidSplashConfig } from './getAndroidSplashConfig';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:android:mainActivity');\n\n// DO NOT CHANGE\nconst SHOW_SPLASH_ID = 'expo-splash-screen-mainActivity-onCreate-show-splash';\n\nexport const withAndroidSplashLegacyMainActivity: ConfigPlugin<AndroidSplashConfig> = (\n config,\n props\n) => {\n return withMainActivity(config, (config) => {\n config.modResults.contents = setSplashScreenLegacyMainActivity(\n config,\n props,\n config.modResults.contents,\n config.modResults.language\n );\n return config;\n });\n};\n\nexport function setSplashScreenLegacyMainActivity(\n config: Pick<ExpoConfig, 'android' | 'androidStatusBar' | 'userInterfaceStyle'>,\n props: AndroidSplashConfig,\n mainActivity: string,\n language: 'java' | 'kt'\n): string {\n debug(`Modify with language: \"${language}\"`);\n const splashConfig = getAndroidSplashConfig(config, props);\n\n if (!splashConfig) {\n // Remove our generated code safely...\n const mod = removeContents({\n src: mainActivity,\n tag: SHOW_SPLASH_ID,\n });\n\n mainActivity = mod.contents;\n if (mod.didClear) {\n debug('Removed SplashScreen.show()');\n }\n return mainActivity;\n }\n // TODO: Translucent is weird\n const statusBarTranslucent = !!config.androidStatusBar?.translucent;\n\n const { resizeMode } = splashConfig;\n const isJava = language === 'java';\n const LE = isJava ? ';' : '';\n\n mainActivity = addImports(\n mainActivity,\n [\n 'host.exp.exponent.experience.splashscreen.legacy.singletons.SplashScreen',\n 'host.exp.exponent.experience.splashscreen.legacy.SplashScreenImageResizeMode',\n 'com.facebook.react.ReactRootView',\n 'android.os.Bundle',\n ],\n isJava\n );\n\n if (!mainActivity.match(/(?<=^.*super\\.onCreate.*$)/m)) {\n const onCreateBlock = isJava\n ? [\n ' @Override',\n ' protected void onCreate(Bundle savedInstanceState) {',\n ' super.onCreate(savedInstanceState);',\n ' }',\n ]\n : [\n ' override fun onCreate(savedInstanceState: Bundle?) {',\n ' super.onCreate(savedInstanceState)',\n ' }',\n ];\n\n mainActivity = mergeContents({\n src: mainActivity,\n // insert just below super.onCreate\n anchor: isJava\n ? /(?<=public\\s+class\\s+.*\\s+extends\\s+.*\\s+{.*$)/m\n : /(?<=class\\s+.*\\s+:\\s+.*\\s+{.*$)/m,\n offset: 1,\n comment: '//',\n tag: 'expo-splash-screen-mainActivity-onCreate',\n newSrc: onCreateBlock.join('\\n'),\n }).contents;\n }\n\n // Remove our generated code safely...\n mainActivity = removeContents({\n src: mainActivity,\n tag: SHOW_SPLASH_ID,\n }).contents;\n\n // Remove code from `@expo/configure-splash-screen`\n mainActivity = mainActivity\n .split('\\n')\n .filter((line) => {\n return !/SplashScreen\\.show\\(this,\\s?SplashScreenImageResizeMode\\./.test(line);\n })\n .join('\\n');\n\n // Reapply generated code.\n mainActivity = mergeContents({\n src: mainActivity,\n // insert just below super.onCreate\n anchor: /(?<=^.*super\\.onCreate.*$)/m,\n offset: 1,\n comment: '//',\n tag: SHOW_SPLASH_ID,\n newSrc: ` SplashScreen.show(this, SplashScreenImageResizeMode.${resizeMode.toUpperCase()}, ReactRootView${\n isJava ? '.class' : '::class.java'\n }, ${statusBarTranslucent})${LE}`,\n }).contents;\n\n // TODO: Remove old `SplashScreen.show`\n\n return mainActivity;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,wBAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,uBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuF,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEvF,MAAMG,KAAK,GAAG,IAAAC,gBAAK,EAAC,8DAA8D,CAAC;;AAEnF;AACA,MAAMC,cAAc,GAAG,sDAAsD;AAEtE,MAAMC,mCAAsE,GAAGA,CACpFC,MAAM,EACNC,KAAK,KACF;EACH,OAAO,IAAAC,iCAAgB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC1CA,MAAM,CAACG,UAAU,CAACC,QAAQ,GAAGC,iCAAiC,CAC5DL,MAAM,EACNC,KAAK,EACLD,MAAM,CAACG,UAAU,CAACC,QAAQ,EAC1BJ,MAAM,CAACG,UAAU,CAACG,QACpB,CAAC;IACD,OAAON,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACO,OAAA,CAAAR,mCAAA,GAAAA,mCAAA;AAEK,SAASM,iCAAiCA,CAC/CL,MAA+E,EAC/EC,KAA0B,EAC1BO,YAAoB,EACpBF,QAAuB,EACf;EACRV,KAAK,CAAC,0BAA0BU,QAAQ,GAAG,CAAC;EAC5C,MAAMG,YAAY,GAAG,IAAAC,gDAAsB,EAACV,MAAM,EAAEC,KAAK,CAAC;EAE1D,IAAI,CAACQ,YAAY,EAAE;IACjB;IACA,MAAME,GAAG,GAAG,IAAAC,8BAAc,EAAC;MACzBC,GAAG,EAAEL,YAAY;MACjBM,GAAG,EAAEhB;IACP,CAAC,CAAC;IAEFU,YAAY,GAAGG,GAAG,CAACP,QAAQ;IAC3B,IAAIO,GAAG,CAACI,QAAQ,EAAE;MAChBnB,KAAK,CAAC,6BAA6B,CAAC;IACtC;IACA,OAAOY,YAAY;EACrB;EACA;EACA,MAAMQ,oBAAoB,GAAG,CAAC,CAAChB,MAAM,CAACiB,gBAAgB,EAAEC,WAAW;EAEnE,MAAM;IAAEC;EAAW,CAAC,GAAGV,YAAY;EACnC,MAAMW,MAAM,GAAGd,QAAQ,KAAK,MAAM;EAClC,MAAMe,EAAE,GAAGD,MAAM,GAAG,GAAG,GAAG,EAAE;EAE5BZ,YAAY,GAAG,IAAAc,qBAAU,EACvBd,YAAY,EACZ,CACE,0EAA0E,EAC1E,8EAA8E,EAC9E,kCAAkC,EAClC,mBAAmB,CACpB,EACDY,MACF,CAAC;EAED,IAAI,CAACZ,YAAY,CAACe,KAAK,CAAC,6BAA6B,CAAC,EAAE;IACtD,MAAMC,aAAa,GAAGJ,MAAM,GACxB,CACE,eAAe,EACf,0DAA0D,EAC1D,2CAA2C,EAC3C,OAAO,CACR,GACD,CACE,0DAA0D,EAC1D,0CAA0C,EAC1C,OAAO,CACR;IAELZ,YAAY,GAAG,IAAAiB,6BAAa,EAAC;MAC3BZ,GAAG,EAAEL,YAAY;MACjB;MACAkB,MAAM,EAAEN,MAAM,GACV,iDAAiD,GACjD,kCAAkC;MACtCO,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,IAAI;MACbd,GAAG,EAAE,0CAA0C;MAC/Ce,MAAM,EAAEL,aAAa,CAACM,IAAI,CAAC,IAAI;IACjC,CAAC,CAAC,CAAC1B,QAAQ;EACb;;EAEA;EACAI,YAAY,GAAG,IAAAI,8BAAc,EAAC;IAC5BC,GAAG,EAAEL,YAAY;IACjBM,GAAG,EAAEhB;EACP,CAAC,CAAC,CAACM,QAAQ;;EAEX;EACAI,YAAY,GAAGA,YAAY,CACxBuB,KAAK,CAAC,IAAI,CAAC,CACXC,MAAM,CAAEC,IAAI,IAAK;IAChB,OAAO,CAAC,2DAA2D,CAACC,IAAI,CAACD,IAAI,CAAC;EAChF,CAAC,CAAC,CACDH,IAAI,CAAC,IAAI,CAAC;;EAEb;EACAtB,YAAY,GAAG,IAAAiB,6BAAa,EAAC;IAC3BZ,GAAG,EAAEL,YAAY;IACjB;IACAkB,MAAM,EAAE,6BAA6B;IACrCC,MAAM,EAAE,CAAC;IACTC,OAAO,EAAE,IAAI;IACbd,GAAG,EAAEhB,cAAc;IACnB+B,MAAM,EAAE,2DAA2DV,UAAU,CAACgB,WAAW,CAAC,CAAC,kBACzFf,MAAM,GAAG,QAAQ,GAAG,cAAc,KAC/BJ,oBAAoB,IAAIK,EAAE;EACjC,CAAC,CAAC,CAACjB,QAAQ;;EAEX;;EAEA,OAAOI,YAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashLegacyMainActivity.js","names":["_configPlugins","data","require","_codeMod","_generateCode","_debug","_interopRequireDefault","_getAndroidSplashConfig","e","__esModule","default","debug","Debug","SHOW_SPLASH_ID","withAndroidSplashLegacyMainActivity","config","props","withMainActivity","modResults","contents","setSplashScreenLegacyMainActivity","language","exports","mainActivity","splashConfig","getAndroidSplashConfig","mod","removeContents","src","tag","didClear","statusBarTranslucent","androidStatusBar","translucent","resizeMode","isJava","LE","addImports","match","onCreateBlock","mergeContents","anchor","offset","comment","newSrc","join","split","filter","line","test","toUpperCase"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.ts"],"sourcesContent":["import { ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { addImports } from '@expo/config-plugins/build/android/codeMod';\nimport { mergeContents, removeContents } from '@expo/config-plugins/build/utils/generateCode';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { AndroidSplashConfig, getAndroidSplashConfig } from './getAndroidSplashConfig';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:android:mainActivity');\n\n// DO NOT CHANGE\nconst SHOW_SPLASH_ID = 'expo-splash-screen-mainActivity-onCreate-show-splash';\n\nexport const withAndroidSplashLegacyMainActivity: ConfigPlugin<AndroidSplashConfig> = (\n config,\n props\n) => {\n return withMainActivity(config, (config) => {\n config.modResults.contents = setSplashScreenLegacyMainActivity(\n config,\n props,\n config.modResults.contents,\n config.modResults.language\n );\n return config;\n });\n};\n\nexport function setSplashScreenLegacyMainActivity(\n config: Pick<ExpoConfig, 'android' | 'androidStatusBar' | 'userInterfaceStyle'>,\n props: AndroidSplashConfig,\n mainActivity: string,\n language: 'java' | 'kt'\n): string {\n debug(`Modify with language: \"${language}\"`);\n const splashConfig = getAndroidSplashConfig(config, props);\n\n if (!splashConfig) {\n // Remove our generated code safely...\n const mod = removeContents({\n src: mainActivity,\n tag: SHOW_SPLASH_ID,\n });\n\n mainActivity = mod.contents;\n if (mod.didClear) {\n debug('Removed SplashScreen.show()');\n }\n return mainActivity;\n }\n // TODO: Translucent is weird\n const statusBarTranslucent = !!config.androidStatusBar?.translucent;\n\n const { resizeMode } = splashConfig;\n const isJava = language === 'java';\n const LE = isJava ? ';' : '';\n\n mainActivity = addImports(\n mainActivity,\n [\n 'host.exp.exponent.experience.splashscreen.legacy.singletons.SplashScreen',\n 'host.exp.exponent.experience.splashscreen.legacy.SplashScreenImageResizeMode',\n 'com.facebook.react.ReactRootView',\n 'android.os.Bundle',\n ],\n isJava\n );\n\n if (!mainActivity.match(/(?<=^.*super\\.onCreate.*$)/m)) {\n const onCreateBlock = isJava\n ? [\n ' @Override',\n ' protected void onCreate(Bundle savedInstanceState) {',\n ' super.onCreate(savedInstanceState);',\n ' }',\n ]\n : [\n ' override fun onCreate(savedInstanceState: Bundle?) {',\n ' super.onCreate(savedInstanceState)',\n ' }',\n ];\n\n mainActivity = mergeContents({\n src: mainActivity,\n // insert just below super.onCreate\n anchor: isJava\n ? /(?<=public\\s+class\\s+.*\\s+extends\\s+.*\\s+{.*$)/m\n : /(?<=class\\s+.*\\s+:\\s+.*\\s+{.*$)/m,\n offset: 1,\n comment: '//',\n tag: 'expo-splash-screen-mainActivity-onCreate',\n newSrc: onCreateBlock.join('\\n'),\n }).contents;\n }\n\n // Remove our generated code safely...\n mainActivity = removeContents({\n src: mainActivity,\n tag: SHOW_SPLASH_ID,\n }).contents;\n\n // Remove code from `@expo/configure-splash-screen`\n mainActivity = mainActivity\n .split('\\n')\n .filter((line) => {\n return !/SplashScreen\\.show\\(this,\\s?SplashScreenImageResizeMode\\./.test(line);\n })\n .join('\\n');\n\n // Reapply generated code.\n mainActivity = mergeContents({\n src: mainActivity,\n // insert just below super.onCreate\n anchor: /(?<=^.*super\\.onCreate.*$)/m,\n offset: 1,\n comment: '//',\n tag: SHOW_SPLASH_ID,\n newSrc: ` SplashScreen.show(this, SplashScreenImageResizeMode.${resizeMode.toUpperCase()}, ReactRootView${\n isJava ? '.class' : '::class.java'\n }, ${statusBarTranslucent})${LE}`,\n }).contents;\n\n // TODO: Remove old `SplashScreen.show`\n\n return mainActivity;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withAndroidSplashMainActivity = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashMainActivity.js","names":["_configPlugins","data","require","_codeMod","_generateCode","withAndroidSplashMainActivity","config","isLegacyConfig","withMainActivity","modResults","language","withImports","addImports","contents","replace","init","mergeContents","src","comment","tag","offset","anchor","newSrc","exports"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.ts"],"sourcesContent":["import { ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { addImports } from '@expo/config-plugins/build/android/codeMod';\nimport { mergeContents } from '@expo/config-plugins/build/utils/generateCode';\n\nexport const withAndroidSplashMainActivity: ConfigPlugin<{ isLegacyConfig: boolean }> = (\n config,\n { isLegacyConfig }\n) => {\n if (isLegacyConfig) {\n return config;\n }\n return withMainActivity(config, (config) => {\n const { modResults } = config;\n const { language } = modResults;\n\n const withImports = addImports(\n modResults.contents.replace(\n /(\\/\\/ )?setTheme\\(R\\.style\\.AppTheme\\)/,\n '// setTheme(R.style.AppTheme)'\n ),\n ['expo.modules.splashscreen.SplashScreenManager'],\n language === 'java'\n );\n\n const init = mergeContents({\n src: withImports,\n comment: ' //',\n tag: 'expo-splashscreen',\n offset: 0,\n anchor: /super\\.onCreate\\(null\\)/,\n newSrc: ' SplashScreenManager.registerOnActivity(this)' + (language === 'java' ? ';' : ''),\n });\n\n return {\n ...config,\n modResults: {\n ...modResults,\n contents: init.contents,\n },\n };\n });\n};\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMI,6BAAwE,GAAGA,CACtFC,MAAM,EACN;EAAEC;AAAe,CAAC,KACf;EACH,IAAIA,cAAc,EAAE;IAClB,OAAOD,MAAM;EACf;EACA,OAAO,IAAAE,iCAAgB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC1C,MAAM;MAAEG;IAAW,CAAC,GAAGH,MAAM;IAC7B,MAAM;MAAEI;IAAS,CAAC,GAAGD,UAAU;IAE/B,MAAME,WAAW,GAAG,IAAAC,qBAAU,EAC5BH,UAAU,CAACI,QAAQ,CAACC,OAAO,CACzB,wCAAwC,EACxC,+BACF,CAAC,EACD,CAAC,+CAA+C,CAAC,EACjDJ,QAAQ,KAAK,MACf,CAAC;IAED,MAAMK,IAAI,GAAG,IAAAC,6BAAa,EAAC;MACzBC,GAAG,EAAEN,WAAW;MAChBO,OAAO,EAAE,QAAQ;MACjBC,GAAG,EAAE,mBAAmB;MACxBC,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE,yBAAyB;MACjCC,MAAM,EAAE,kDAAkD,IAAIZ,QAAQ,KAAK,MAAM,GAAG,GAAG,GAAG,EAAE;IAC9F,CAAC,CAAC;IAEF,OAAO;MACL,GAAGJ,MAAM;MACTG,UAAU,EAAE;QACV,GAAGA,UAAU;QACbI,QAAQ,EAAEE,IAAI,CAACF;MACjB;IACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;AAACU,OAAA,CAAAlB,6BAAA,GAAAA,6BAAA","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashMainActivity.js","names":["_configPlugins","data","require","_codeMod","_generateCode","withAndroidSplashMainActivity","config","isLegacyConfig","withMainActivity","modResults","language","withImports","addImports","contents","replace","init","mergeContents","src","comment","tag","offset","anchor","newSrc","exports"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.ts"],"sourcesContent":["import { ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { addImports } from '@expo/config-plugins/build/android/codeMod';\nimport { mergeContents } from '@expo/config-plugins/build/utils/generateCode';\n\nexport const withAndroidSplashMainActivity: ConfigPlugin<{ isLegacyConfig: boolean }> = (\n config,\n { isLegacyConfig }\n) => {\n if (isLegacyConfig) {\n return config;\n }\n return withMainActivity(config, (config) => {\n const { modResults } = config;\n const { language } = modResults;\n\n const withImports = addImports(\n modResults.contents.replace(\n /(\\/\\/ )?setTheme\\(R\\.style\\.AppTheme\\)/,\n '// setTheme(R.style.AppTheme)'\n ),\n ['expo.modules.splashscreen.SplashScreenManager'],\n language === 'java'\n );\n\n const init = mergeContents({\n src: withImports,\n comment: ' //',\n tag: 'expo-splashscreen',\n offset: 0,\n anchor: /super\\.onCreate\\(null\\)/,\n newSrc: ' SplashScreenManager.registerOnActivity(this)' + (language === 'java' ? ';' : ''),\n });\n\n return {\n ...config,\n modResults: {\n ...modResults,\n contents: init.contents,\n },\n };\n });\n};\n"],"mappings":";;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMI,6BAAwE,GAAGA,CACtFC,MAAM,EACN;EAAEC;AAAe,CAAC,KACf;EACH,IAAIA,cAAc,EAAE;IAClB,OAAOD,MAAM;EACf;EACA,OAAO,IAAAE,iCAAgB,EAACF,MAAM,EAAGA,MAAM,IAAK;IAC1C,MAAM;MAAEG;IAAW,CAAC,GAAGH,MAAM;IAC7B,MAAM;MAAEI;IAAS,CAAC,GAAGD,UAAU;IAE/B,MAAME,WAAW,GAAG,IAAAC,qBAAU,EAC5BH,UAAU,CAACI,QAAQ,CAACC,OAAO,CACzB,wCAAwC,EACxC,+BACF,CAAC,EACD,CAAC,+CAA+C,CAAC,EACjDJ,QAAQ,KAAK,MACf,CAAC;IAED,MAAMK,IAAI,GAAG,IAAAC,6BAAa,EAAC;MACzBC,GAAG,EAAEN,WAAW;MAChBO,OAAO,EAAE,QAAQ;MACjBC,GAAG,EAAE,mBAAmB;MACxBC,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE,yBAAyB;MACjCC,MAAM,EAAE,kDAAkD,IAAIZ,QAAQ,KAAK,MAAM,GAAG,GAAG,GAAG,EAAE;IAC9F,CAAC,CAAC;IAEF,OAAO;MACL,GAAGJ,MAAM;MACTG,UAAU,EAAE;QACV,GAAGA,UAAU;QACbI,QAAQ,EAAEE,IAAI,CAACF;MACjB;IACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;AAACU,OAAA,CAAAlB,6BAAA,GAAAA,6BAAA","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withAndroidSplashScreen = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashScreen.js","names":["_configPlugins","data","require","_getAndroidSplashConfig","_withAndroidSplashDrawables","_withAndroidSplashImages","_withAndroidSplashMainActivity","_withAndroidSplashStrings","_withAndroidSplashStyles","withAndroidSplashScreen","config","props","isLegacyConfig","undefined","splashConfig","getAndroidSplashConfig","withPlugins","withAndroidSplashMainActivity","withAndroidSplashImages","withAndroidSplashDrawables","withAndroidSplashStyles","withAndroidSplashStrings","exports"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.ts"],"sourcesContent":["import { ConfigPlugin, withPlugins } from '@expo/config-plugins';\n\nimport { AndroidSplashConfig, getAndroidSplashConfig } from './getAndroidSplashConfig';\nimport { withAndroidSplashDrawables } from './withAndroidSplashDrawables';\nimport { withAndroidSplashImages } from './withAndroidSplashImages';\nimport { withAndroidSplashMainActivity } from './withAndroidSplashMainActivity';\nimport { withAndroidSplashStrings } from './withAndroidSplashStrings';\nimport { withAndroidSplashStyles } from './withAndroidSplashStyles';\n\nexport const withAndroidSplashScreen: ConfigPlugin<\n AndroidSplashConfig | undefined | null | void\n> = (config, props) => {\n const isLegacyConfig = props === undefined;\n const splashConfig = getAndroidSplashConfig(config, props ?? null);\n\n return withPlugins(config, [\n [withAndroidSplashMainActivity, { isLegacyConfig }],\n [withAndroidSplashImages, splashConfig],\n [withAndroidSplashDrawables, splashConfig],\n [withAndroidSplashStyles, { splashConfig, isLegacyConfig }],\n [withAndroidSplashStrings, splashConfig],\n ]);\n};\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,wBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,uBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,4BAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,2BAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,yBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,wBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,+BAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,8BAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,0BAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,yBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,yBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,wBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMQ,uBAEZ,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;EACrB,MAAMC,cAAc,GAAGD,KAAK,KAAKE,SAAS;EAC1C,MAAMC,YAAY,GAAG,IAAAC,gDAAsB,EAACL,MAAM,EAAEC,KAAK,IAAI,IAAI,CAAC;EAElE,OAAO,IAAAK,4BAAW,EAACN,MAAM,EAAE,CACzB,CAACO,8DAA6B,EAAE;IAAEL;EAAe,CAAC,CAAC,EACnD,CAACM,kDAAuB,EAAEJ,YAAY,CAAC,EACvC,CAACK,wDAA0B,EAAEL,YAAY,CAAC,EAC1C,CAACM,kDAAuB,EAAE;IAAEN,YAAY;IAAEF;EAAe,CAAC,CAAC,EAC3D,CAACS,oDAAwB,EAAEP,YAAY,CAAC,CACzC,CAAC;AACJ,CAAC;AAACQ,OAAA,CAAAb,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashScreen.js","names":["_configPlugins","data","require","_getAndroidSplashConfig","_withAndroidSplashDrawables","_withAndroidSplashImages","_withAndroidSplashMainActivity","_withAndroidSplashStrings","_withAndroidSplashStyles","withAndroidSplashScreen","config","props","isLegacyConfig","undefined","splashConfig","getAndroidSplashConfig","withPlugins","withAndroidSplashMainActivity","withAndroidSplashImages","withAndroidSplashDrawables","withAndroidSplashStyles","withAndroidSplashStrings","exports"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.ts"],"sourcesContent":["import { ConfigPlugin, withPlugins } from '@expo/config-plugins';\n\nimport { AndroidSplashConfig, getAndroidSplashConfig } from './getAndroidSplashConfig';\nimport { withAndroidSplashDrawables } from './withAndroidSplashDrawables';\nimport { withAndroidSplashImages } from './withAndroidSplashImages';\nimport { withAndroidSplashMainActivity } from './withAndroidSplashMainActivity';\nimport { withAndroidSplashStrings } from './withAndroidSplashStrings';\nimport { withAndroidSplashStyles } from './withAndroidSplashStyles';\n\nexport const withAndroidSplashScreen: ConfigPlugin<\n AndroidSplashConfig | undefined | null | void\n> = (config, props) => {\n const isLegacyConfig = props === undefined;\n const splashConfig = getAndroidSplashConfig(config, props ?? null);\n\n return withPlugins(config, [\n [withAndroidSplashMainActivity, { isLegacyConfig }],\n [withAndroidSplashImages, splashConfig],\n [withAndroidSplashDrawables, splashConfig],\n [withAndroidSplashStyles, { splashConfig, isLegacyConfig }],\n [withAndroidSplashStrings, splashConfig],\n ]);\n};\n"],"mappings":";;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,wBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,uBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,4BAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,2BAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,yBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,wBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,+BAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,8BAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,0BAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,yBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,yBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,wBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMQ,uBAEZ,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;EACrB,MAAMC,cAAc,GAAGD,KAAK,KAAKE,SAAS;EAC1C,MAAMC,YAAY,GAAG,IAAAC,gDAAsB,EAACL,MAAM,EAAEC,KAAK,IAAI,IAAI,CAAC;EAElE,OAAO,IAAAK,4BAAW,EAACN,MAAM,EAAE,CACzB,CAACO,8DAA6B,EAAE;IAAEL;EAAe,CAAC,CAAC,EACnD,CAACM,kDAAuB,EAAEJ,YAAY,CAAC,EACvC,CAACK,wDAA0B,EAAEL,YAAY,CAAC,EAC1C,CAACM,kDAAuB,EAAE;IAAEN,YAAY;IAAEF;EAAe,CAAC,CAAC,EAC3D,CAACS,oDAAwB,EAAEP,YAAY,CAAC,CACzC,CAAC;AACJ,CAAC;AAACQ,OAAA,CAAAb,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.setSplashStrings = setSplashStrings;
7
5
  exports.withAndroidSplashStrings = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashStrings.js","names":["_configPlugins","data","require","_getAndroidSplashConfig","RESIZE_MODE_KEY","withAndroidSplashStrings","config","props","withStringsXml","splashConfig","getAndroidSplashConfig","resizeMode","modResults","setSplashStrings","exports","strings","AndroidConfig","Strings","setStringItem","Resources","buildResourceItem","name","value","translatable"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.ts"],"sourcesContent":["import { AndroidConfig, ConfigPlugin, withStringsXml } from '@expo/config-plugins';\n\nimport { AndroidSplashConfig, getAndroidSplashConfig } from './getAndroidSplashConfig';\n\nconst RESIZE_MODE_KEY = 'expo_splash_screen_resize_mode';\n\nexport const withAndroidSplashStrings: ConfigPlugin<AndroidSplashConfig> = (config, props) => {\n return withStringsXml(config, (config) => {\n const splashConfig = getAndroidSplashConfig(config, props);\n if (splashConfig) {\n const { resizeMode } = splashConfig;\n config.modResults = setSplashStrings(config.modResults, resizeMode);\n }\n return config;\n });\n};\n\nexport function setSplashStrings(\n strings: AndroidConfig.Resources.ResourceXML,\n resizeMode: string\n): AndroidConfig.Resources.ResourceXML {\n return AndroidConfig.Strings.setStringItem(\n [\n AndroidConfig.Resources.buildResourceItem({\n name: RESIZE_MODE_KEY,\n value: resizeMode,\n translatable: false,\n }),\n ],\n strings\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,wBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,uBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,eAAe,GAAG,gCAAgC;AAEjD,MAAMC,wBAA2D,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;EAC5F,OAAO,IAAAC,+BAAc,EAACF,MAAM,EAAGA,MAAM,IAAK;IACxC,MAAMG,YAAY,GAAG,IAAAC,gDAAsB,EAACJ,MAAM,EAAEC,KAAK,CAAC;IAC1D,IAAIE,YAAY,EAAE;MAChB,MAAM;QAAEE;MAAW,CAAC,GAAGF,YAAY;MACnCH,MAAM,CAACM,UAAU,GAAGC,gBAAgB,CAACP,MAAM,CAACM,UAAU,EAAED,UAAU,CAAC;IACrE;IACA,OAAOL,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACQ,OAAA,CAAAT,wBAAA,GAAAA,wBAAA;AAEK,SAASQ,gBAAgBA,CAC9BE,OAA4C,EAC5CJ,UAAkB,EACmB;EACrC,OAAOK,8BAAa,CAACC,OAAO,CAACC,aAAa,CACxC,CACEF,8BAAa,CAACG,SAAS,CAACC,iBAAiB,CAAC;IACxCC,IAAI,EAAEjB,eAAe;IACrBkB,KAAK,EAAEX,UAAU;IACjBY,YAAY,EAAE;EAChB,CAAC,CAAC,CACH,EACDR,OACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashStrings.js","names":["_configPlugins","data","require","_getAndroidSplashConfig","RESIZE_MODE_KEY","withAndroidSplashStrings","config","props","withStringsXml","splashConfig","getAndroidSplashConfig","resizeMode","modResults","setSplashStrings","exports","strings","AndroidConfig","Strings","setStringItem","Resources","buildResourceItem","name","value","translatable"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.ts"],"sourcesContent":["import { AndroidConfig, ConfigPlugin, withStringsXml } from '@expo/config-plugins';\n\nimport { AndroidSplashConfig, getAndroidSplashConfig } from './getAndroidSplashConfig';\n\nconst RESIZE_MODE_KEY = 'expo_splash_screen_resize_mode';\n\nexport const withAndroidSplashStrings: ConfigPlugin<AndroidSplashConfig> = (config, props) => {\n return withStringsXml(config, (config) => {\n const splashConfig = getAndroidSplashConfig(config, props);\n if (splashConfig) {\n const { resizeMode } = splashConfig;\n config.modResults = setSplashStrings(config.modResults, resizeMode);\n }\n return config;\n });\n};\n\nexport function setSplashStrings(\n strings: AndroidConfig.Resources.ResourceXML,\n resizeMode: string\n): AndroidConfig.Resources.ResourceXML {\n return AndroidConfig.Strings.setStringItem(\n [\n AndroidConfig.Resources.buildResourceItem({\n name: RESIZE_MODE_KEY,\n value: resizeMode,\n translatable: false,\n }),\n ],\n strings\n );\n}\n"],"mappings":";;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,wBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,uBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,eAAe,GAAG,gCAAgC;AAEjD,MAAMC,wBAA2D,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;EAC5F,OAAO,IAAAC,+BAAc,EAACF,MAAM,EAAGA,MAAM,IAAK;IACxC,MAAMG,YAAY,GAAG,IAAAC,gDAAsB,EAACJ,MAAM,EAAEC,KAAK,CAAC;IAC1D,IAAIE,YAAY,EAAE;MAChB,MAAM;QAAEE;MAAW,CAAC,GAAGF,YAAY;MACnCH,MAAM,CAACM,UAAU,GAAGC,gBAAgB,CAACP,MAAM,CAACM,UAAU,EAAED,UAAU,CAAC;IACrE;IACA,OAAOL,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAACQ,OAAA,CAAAT,wBAAA,GAAAA,wBAAA;AAEK,SAASQ,gBAAgBA,CAC9BE,OAA4C,EAC5CJ,UAAkB,EACmB;EACrC,OAAOK,8BAAa,CAACC,OAAO,CAACC,aAAa,CACxC,CACEF,8BAAa,CAACG,SAAS,CAACC,iBAAiB,CAAC;IACxCC,IAAI,EAAEjB,eAAe;IACrBkB,KAAK,EAAEX,UAAU;IACjBY,YAAY,EAAE;EAChB,CAAC,CAAC,CACH,EACDR,OACF,CAAC;AACH","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getSplashBackgroundColor = getSplashBackgroundColor;
7
5
  exports.getSplashDarkBackgroundColor = getSplashDarkBackgroundColor;
8
6
  exports.removeOldSplashStyleGroup = removeOldSplashStyleGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashStyles.js","names":["_configPlugins","data","require","_android","_getAndroidSplashConfig","styleResourceGroup","name","parent","SPLASH_COLOR_NAME","withAndroidSplashStyles","config","splashConfig","isLegacyConfig","withAndroidColors","backgroundColor","getSplashBackgroundColor","modResults","setSplashColorsForTheme","withAndroidColorsNight","getSplashDarkBackgroundColor","withAndroidStyles","removeOldSplashStyleGroup","addSplashScreenStyle","exports","styles","resources","style","item","$","_","filter","group","head","matches","props","getAndroidSplashConfig","getAndroidDarkSplashConfig","setSplashStylesForTheme","AndroidConfig","Styles","assignStylesValue","add","value","colors","Colors","assignColorValue"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashStyles.ts"],"sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidColors,\n withAndroidColorsNight,\n withAndroidStyles,\n} from '@expo/config-plugins';\nimport { Colors } from '@expo/config-plugins/build/android';\nimport { ExpoConfig } from '@expo/config-types';\n\nimport {\n AndroidSplashConfig,\n getAndroidDarkSplashConfig,\n getAndroidSplashConfig,\n} from './getAndroidSplashConfig';\n\nconst styleResourceGroup = {\n name: 'Theme.App.SplashScreen',\n parent: 'Theme.SplashScreen',\n};\n\nconst SPLASH_COLOR_NAME = 'splashscreen_background';\n\nexport const withAndroidSplashStyles: ConfigPlugin<{\n splashConfig: AndroidSplashConfig | null;\n isLegacyConfig: boolean;\n}> = (config, { splashConfig, isLegacyConfig }) => {\n config = withAndroidColors(config, (config) => {\n const backgroundColor = getSplashBackgroundColor(config, splashConfig);\n if (!backgroundColor) {\n return config;\n }\n config.modResults = setSplashColorsForTheme(config.modResults, backgroundColor);\n return config;\n });\n config = withAndroidColorsNight(config, (config) => {\n const backgroundColor = getSplashDarkBackgroundColor(config, splashConfig);\n if (!backgroundColor) {\n return config;\n }\n config.modResults = setSplashColorsForTheme(config.modResults, backgroundColor);\n return config;\n });\n config = withAndroidStyles(config, (config) => {\n config.modResults = removeOldSplashStyleGroup(config.modResults);\n config.modResults = addSplashScreenStyle(config.modResults, isLegacyConfig);\n return config;\n });\n return config;\n};\n\n// Add the style that extends Theme.SplashScreen\nfunction addSplashScreenStyle(\n styles: AndroidConfig.Resources.ResourceXML,\n isLegacyConfig: boolean\n) {\n const { resources } = styles;\n const { style = [] } = resources;\n\n let item;\n if (isLegacyConfig) {\n item = [\n {\n $: { name: 'android:windowBackground' },\n _: '@drawable/ic_launcher_background',\n },\n ];\n } else {\n item = [\n {\n $: { name: 'windowSplashScreenBackground' },\n _: '@color/splashscreen_background',\n },\n {\n $: { name: 'windowSplashScreenAnimatedIcon' },\n _: '@drawable/splashscreen_logo',\n },\n {\n $: { name: 'postSplashScreenTheme' },\n _: '@style/AppTheme',\n },\n {\n $: { name: 'android:windowSplashScreenBehavior' },\n _: 'icon_preferred',\n },\n ];\n }\n\n styles.resources.style = [\n ...style.filter(({ $ }) => $.name !== 'Theme.App.SplashScreen'),\n {\n $: {\n ...styleResourceGroup,\n parent: isLegacyConfig ? 'AppTheme' : 'Theme.SplashScreen',\n },\n item,\n },\n ];\n\n return styles;\n}\n\n// Remove the old style group which didn't extend the base theme properly.\nexport function removeOldSplashStyleGroup(styles: AndroidConfig.Resources.ResourceXML) {\n const group = {\n name: 'Theme.App.SplashScreen',\n parent: 'Theme.AppCompat.Light.NoActionBar',\n };\n\n styles.resources.style = styles.resources.style?.filter?.(({ $: head }) => {\n let matches = head.name === group.name;\n if (group.parent != null && matches) {\n matches = head.parent === group.parent;\n }\n return !matches;\n });\n\n return styles;\n}\n\nexport function getSplashBackgroundColor(\n config: ExpoConfig,\n props: AndroidSplashConfig | null\n): string | null {\n return getAndroidSplashConfig(config, props)?.backgroundColor ?? null;\n}\n\nexport function getSplashDarkBackgroundColor(\n config: ExpoConfig,\n props: AndroidSplashConfig | null\n): string | null {\n return getAndroidDarkSplashConfig(config, props)?.backgroundColor ?? null;\n}\n\nexport function setSplashStylesForTheme(styles: AndroidConfig.Resources.ResourceXML) {\n // Add splash screen image\n return AndroidConfig.Styles.assignStylesValue(styles, {\n add: true,\n value: '@drawable/splashscreen_logo',\n name: 'android:windowSplashScreenBackground',\n parent: styleResourceGroup,\n });\n}\n\nexport function setSplashColorsForTheme(\n colors: AndroidConfig.Resources.ResourceXML,\n backgroundColor: string | null\n): AndroidConfig.Resources.ResourceXML {\n return Colors.assignColorValue(colors, { value: backgroundColor, name: SPLASH_COLOR_NAME });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashStyles.js","names":["_configPlugins","data","require","_android","_getAndroidSplashConfig","styleResourceGroup","name","parent","SPLASH_COLOR_NAME","withAndroidSplashStyles","config","splashConfig","isLegacyConfig","withAndroidColors","backgroundColor","getSplashBackgroundColor","modResults","setSplashColorsForTheme","withAndroidColorsNight","getSplashDarkBackgroundColor","withAndroidStyles","removeOldSplashStyleGroup","addSplashScreenStyle","exports","styles","resources","style","item","$","_","filter","group","head","matches","props","getAndroidSplashConfig","getAndroidDarkSplashConfig","setSplashStylesForTheme","AndroidConfig","Styles","assignStylesValue","add","value","colors","Colors","assignColorValue"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashStyles.ts"],"sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidColors,\n withAndroidColorsNight,\n withAndroidStyles,\n} from '@expo/config-plugins';\nimport { Colors } from '@expo/config-plugins/build/android';\nimport { ExpoConfig } from '@expo/config-types';\n\nimport {\n AndroidSplashConfig,\n getAndroidDarkSplashConfig,\n getAndroidSplashConfig,\n} from './getAndroidSplashConfig';\n\nconst styleResourceGroup = {\n name: 'Theme.App.SplashScreen',\n parent: 'Theme.SplashScreen',\n};\n\nconst SPLASH_COLOR_NAME = 'splashscreen_background';\n\nexport const withAndroidSplashStyles: ConfigPlugin<{\n splashConfig: AndroidSplashConfig | null;\n isLegacyConfig: boolean;\n}> = (config, { splashConfig, isLegacyConfig }) => {\n config = withAndroidColors(config, (config) => {\n const backgroundColor = getSplashBackgroundColor(config, splashConfig);\n if (!backgroundColor) {\n return config;\n }\n config.modResults = setSplashColorsForTheme(config.modResults, backgroundColor);\n return config;\n });\n config = withAndroidColorsNight(config, (config) => {\n const backgroundColor = getSplashDarkBackgroundColor(config, splashConfig);\n if (!backgroundColor) {\n return config;\n }\n config.modResults = setSplashColorsForTheme(config.modResults, backgroundColor);\n return config;\n });\n config = withAndroidStyles(config, (config) => {\n config.modResults = removeOldSplashStyleGroup(config.modResults);\n config.modResults = addSplashScreenStyle(config.modResults, isLegacyConfig);\n return config;\n });\n return config;\n};\n\n// Add the style that extends Theme.SplashScreen\nfunction addSplashScreenStyle(\n styles: AndroidConfig.Resources.ResourceXML,\n isLegacyConfig: boolean\n) {\n const { resources } = styles;\n const { style = [] } = resources;\n\n let item;\n if (isLegacyConfig) {\n item = [\n {\n $: { name: 'android:windowBackground' },\n _: '@drawable/ic_launcher_background',\n },\n ];\n } else {\n item = [\n {\n $: { name: 'windowSplashScreenBackground' },\n _: '@color/splashscreen_background',\n },\n {\n $: { name: 'windowSplashScreenAnimatedIcon' },\n _: '@drawable/splashscreen_logo',\n },\n {\n $: { name: 'postSplashScreenTheme' },\n _: '@style/AppTheme',\n },\n {\n $: { name: 'android:windowSplashScreenBehavior' },\n _: 'icon_preferred',\n },\n ];\n }\n\n styles.resources.style = [\n ...style.filter(({ $ }) => $.name !== 'Theme.App.SplashScreen'),\n {\n $: {\n ...styleResourceGroup,\n parent: isLegacyConfig ? 'AppTheme' : 'Theme.SplashScreen',\n },\n item,\n },\n ];\n\n return styles;\n}\n\n// Remove the old style group which didn't extend the base theme properly.\nexport function removeOldSplashStyleGroup(styles: AndroidConfig.Resources.ResourceXML) {\n const group = {\n name: 'Theme.App.SplashScreen',\n parent: 'Theme.AppCompat.Light.NoActionBar',\n };\n\n styles.resources.style = styles.resources.style?.filter?.(({ $: head }) => {\n let matches = head.name === group.name;\n if (group.parent != null && matches) {\n matches = head.parent === group.parent;\n }\n return !matches;\n });\n\n return styles;\n}\n\nexport function getSplashBackgroundColor(\n config: ExpoConfig,\n props: AndroidSplashConfig | null\n): string | null {\n return getAndroidSplashConfig(config, props)?.backgroundColor ?? null;\n}\n\nexport function getSplashDarkBackgroundColor(\n config: ExpoConfig,\n props: AndroidSplashConfig | null\n): string | null {\n return getAndroidDarkSplashConfig(config, props)?.backgroundColor ?? null;\n}\n\nexport function setSplashStylesForTheme(styles: AndroidConfig.Resources.ResourceXML) {\n // Add splash screen image\n return AndroidConfig.Styles.assignStylesValue(styles, {\n add: true,\n value: '@drawable/splashscreen_logo',\n name: 'android:windowSplashScreenBackground',\n parent: styleResourceGroup,\n });\n}\n\nexport function setSplashColorsForTheme(\n colors: AndroidConfig.Resources.ResourceXML,\n backgroundColor: string | null\n): AndroidConfig.Resources.ResourceXML {\n return Colors.assignColorValue(colors, { value: backgroundColor, name: SPLASH_COLOR_NAME });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.buildContentsJsonImages = buildContentsJsonImages;
7
5
  exports.withIosSplashAssets = void 0;
8
6
  function _configPlugins() {
@@ -1 +1 @@
1
- {"version":3,"file":"withIosSplashAssets.js","names":["_configPlugins","data","require","_imageUtils","_debug","_interopRequireDefault","_fs","_path","_AssetContents","e","__esModule","default","debug","Debug","IMAGE_CACHE_NAME","IMAGESET_PATH","LEGACY_IMAGESET_PATH","PNG_FILENAME","DARK_PNG_FILENAME","TABLET_PNG_FILENAME","DARK_TABLET_PNG_FILENAME","withIosSplashAssets","config","splash","withDangerousMod","iosNamedProjectRoot","IOSConfig","Paths","getSourceRoot","modRequest","projectRoot","configureImageAssets","image","darkImage","dark","tabletImage","darkTabletImage","imageWidth","enableFullScreenImage","enableFullScreenImage_legacy","exports","imagePath","imageSetPath","path","resolve","legacyImageSetPath","fs","promises","rm","force","recursive","writeContentsJsonFileAsync","assetPath","copyImageFiles","generateImagesAssetsAsync","generateImageAsset","item","fileName","Promise","all","ratio","suffix","map","size","source","generateImageAsync","cacheType","src","width","undefined","height","writeFile","anyItem","darkItem","tabletItem","darkTabletItem","items","filter","darkAppearances","appearance","value","buildContentsJsonImages","createContentsJsonItem","idiom","filename","scale","appearances","Boolean","images","writeContentsJsonAsync"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashAssets.ts"],"sourcesContent":["import { ConfigPlugin, IOSConfig, withDangerousMod } from '@expo/config-plugins';\nimport { generateImageAsync } from '@expo/image-utils';\nimport Debug from 'debug';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { IOSSplashConfig } from './getIosSplashConfig';\nimport {\n ContentsJsonImage,\n ContentsJsonAppearance,\n createContentsJsonItem,\n writeContentsJsonAsync,\n} from '../../icons/AssetContents';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios:assets');\n\nconst IMAGE_CACHE_NAME = 'splash-ios';\nconst IMAGESET_PATH = 'Images.xcassets/SplashScreenLogo.imageset';\nconst LEGACY_IMAGESET_PATH = 'Images.xcassets/SplashScreenLegacy.imageset';\nconst PNG_FILENAME = 'image';\nconst DARK_PNG_FILENAME = 'dark_image';\nconst TABLET_PNG_FILENAME = 'tablet_image';\nconst DARK_TABLET_PNG_FILENAME = 'dark_tablet_image';\n\nexport const withIosSplashAssets: ConfigPlugin<IOSSplashConfig> = (config, splash) => {\n if (!splash) {\n return config;\n }\n return withDangerousMod(config, [\n 'ios',\n async (config) => {\n const iosNamedProjectRoot = IOSConfig.Paths.getSourceRoot(config.modRequest.projectRoot);\n\n await configureImageAssets({\n projectRoot: config.modRequest.projectRoot,\n iosNamedProjectRoot,\n image: splash.image,\n darkImage: splash.dark?.image,\n tabletImage: splash.tabletImage,\n darkTabletImage: splash.dark?.tabletImage,\n imageWidth: splash.imageWidth ?? 100,\n enableFullScreenImage: splash.enableFullScreenImage_legacy,\n });\n\n return config;\n },\n ]);\n};\n\n/**\n * Creates imageset containing image for Splash/Launch Screen.\n */\nasync function configureImageAssets({\n projectRoot,\n iosNamedProjectRoot,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n imageWidth,\n enableFullScreenImage,\n}: {\n projectRoot: string;\n iosNamedProjectRoot: string;\n image?: string | null;\n darkImage?: string | null;\n tabletImage?: string;\n darkTabletImage?: string | null;\n imageWidth: number;\n enableFullScreenImage?: boolean;\n}) {\n const imagePath = enableFullScreenImage ? LEGACY_IMAGESET_PATH : IMAGESET_PATH;\n const imageSetPath = path.resolve(iosNamedProjectRoot, imagePath);\n\n // remove legacy imageSet if it is not used\n if (!enableFullScreenImage) {\n const legacyImageSetPath = path.resolve(iosNamedProjectRoot, LEGACY_IMAGESET_PATH);\n await fs.promises.rm(legacyImageSetPath, { force: true, recursive: true });\n }\n\n // ensure old SplashScreen imageSet is removed\n await fs.promises.rm(imageSetPath, { force: true, recursive: true });\n\n if (!image) {\n return;\n }\n\n await writeContentsJsonFileAsync({\n assetPath: imageSetPath,\n image: PNG_FILENAME,\n darkImage: darkImage ? DARK_PNG_FILENAME : null,\n tabletImage: tabletImage ? TABLET_PNG_FILENAME : null,\n darkTabletImage: darkTabletImage ? DARK_TABLET_PNG_FILENAME : null,\n });\n\n await copyImageFiles({\n projectRoot,\n iosNamedProjectRoot,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n imageWidth,\n enableFullScreenImage,\n });\n}\n\nasync function copyImageFiles({\n projectRoot,\n iosNamedProjectRoot,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n imageWidth,\n enableFullScreenImage,\n}: {\n projectRoot: string;\n iosNamedProjectRoot: string;\n image: string;\n darkImage?: string | null;\n tabletImage?: string | null;\n darkTabletImage?: string | null;\n imageWidth: number;\n enableFullScreenImage?: boolean;\n}) {\n await generateImagesAssetsAsync({\n async generateImageAsset(item, fileName) {\n await Promise.all(\n [\n { ratio: 1, suffix: '' },\n { ratio: 2, suffix: '@2x' },\n { ratio: 3, suffix: '@3x' },\n ].map(async ({ ratio, suffix }) => {\n const size = imageWidth * ratio;\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: item,\n width: enableFullScreenImage ? undefined : size,\n height: enableFullScreenImage ? undefined : size,\n } as any\n );\n // Write image buffer to the file system.\n // const assetPath = join(iosNamedProjectRoot, IMAGESET_PATH, filename);\n await fs.promises.writeFile(\n path.resolve(\n iosNamedProjectRoot,\n enableFullScreenImage ? LEGACY_IMAGESET_PATH : IMAGESET_PATH,\n `${fileName}${suffix}.png`\n ),\n source\n );\n })\n );\n },\n anyItem: image,\n darkItem: darkImage,\n tabletItem: tabletImage,\n darkTabletItem: darkTabletImage,\n });\n}\n\nasync function generateImagesAssetsAsync({\n generateImageAsset,\n anyItem,\n darkItem,\n tabletItem,\n darkTabletItem,\n}: {\n generateImageAsset: (item: string, fileName: string) => Promise<void>;\n anyItem: string;\n darkItem?: string | null;\n tabletItem?: string | null;\n darkTabletItem?: string | null;\n}) {\n const items = [\n [anyItem, PNG_FILENAME],\n [darkItem, DARK_PNG_FILENAME],\n [tabletItem, TABLET_PNG_FILENAME],\n [darkTabletItem, DARK_TABLET_PNG_FILENAME],\n ].filter(([item]) => !!item) as unknown as [string, string];\n\n await Promise.all(items.map(([item, fileName]) => generateImageAsset(item, fileName)));\n}\nconst darkAppearances: ContentsJsonAppearance[] = [\n {\n appearance: 'luminosity',\n value: 'dark',\n } as ContentsJsonAppearance,\n];\n\nexport function buildContentsJsonImages({\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n}: {\n image: string;\n tabletImage: string | null;\n darkImage: string | null;\n darkTabletImage: string | null;\n}): ContentsJsonImage[] {\n return [\n // Phone light\n createContentsJsonItem({\n idiom: 'universal',\n filename: `${image}.png`,\n scale: '1x',\n }),\n createContentsJsonItem({\n idiom: 'universal',\n filename: `${image}@2x.png`,\n scale: '2x',\n }),\n createContentsJsonItem({\n idiom: 'universal',\n filename: `${image}@3x.png`,\n scale: '3x',\n }),\n // Phone dark\n darkImage &&\n createContentsJsonItem({\n idiom: 'universal',\n appearances: darkAppearances,\n scale: '1x',\n filename: `${darkImage}.png`,\n }),\n darkImage &&\n createContentsJsonItem({\n idiom: 'universal',\n appearances: darkAppearances,\n scale: '2x',\n filename: `${darkImage}@2x.png`,\n }),\n darkImage &&\n createContentsJsonItem({\n idiom: 'universal',\n appearances: darkAppearances,\n scale: '3x',\n filename: `${darkImage}@3x.png`,\n }),\n // Tablet light\n tabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n filename: `${tabletImage}.png`,\n scale: '1x',\n }),\n tabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n scale: '2x',\n filename: `${tabletImage}@2x.png`,\n }),\n // Phone dark\n darkTabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n appearances: darkAppearances,\n filename: `${darkTabletImage}.png`,\n scale: '1x',\n }),\n darkTabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n appearances: darkAppearances,\n filename: `${darkTabletImage}@2x.png`,\n scale: '2x',\n }),\n ].filter(Boolean) as ContentsJsonImage[];\n}\n\nasync function writeContentsJsonFileAsync({\n assetPath,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n}: {\n assetPath: string;\n image: string;\n darkImage: string | null;\n tabletImage: string | null;\n darkTabletImage: string | null;\n}) {\n const images = buildContentsJsonImages({ image, darkImage, tabletImage, darkTabletImage });\n\n debug(`create contents.json:`, assetPath);\n debug(`use images:`, images);\n await writeContentsJsonAsync(assetPath, { images });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withIosSplashAssets.js","names":["_configPlugins","data","require","_imageUtils","_debug","_interopRequireDefault","_fs","_path","_AssetContents","e","__esModule","default","debug","Debug","IMAGE_CACHE_NAME","IMAGESET_PATH","LEGACY_IMAGESET_PATH","PNG_FILENAME","DARK_PNG_FILENAME","TABLET_PNG_FILENAME","DARK_TABLET_PNG_FILENAME","withIosSplashAssets","config","splash","withDangerousMod","iosNamedProjectRoot","IOSConfig","Paths","getSourceRoot","modRequest","projectRoot","configureImageAssets","image","darkImage","dark","tabletImage","darkTabletImage","imageWidth","enableFullScreenImage","enableFullScreenImage_legacy","exports","imagePath","imageSetPath","path","resolve","legacyImageSetPath","fs","promises","rm","force","recursive","writeContentsJsonFileAsync","assetPath","copyImageFiles","generateImagesAssetsAsync","generateImageAsset","item","fileName","Promise","all","ratio","suffix","map","size","source","generateImageAsync","cacheType","src","width","undefined","height","writeFile","anyItem","darkItem","tabletItem","darkTabletItem","items","filter","darkAppearances","appearance","value","buildContentsJsonImages","createContentsJsonItem","idiom","filename","scale","appearances","Boolean","images","writeContentsJsonAsync"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashAssets.ts"],"sourcesContent":["import { ConfigPlugin, IOSConfig, withDangerousMod } from '@expo/config-plugins';\nimport { generateImageAsync } from '@expo/image-utils';\nimport Debug from 'debug';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { IOSSplashConfig } from './getIosSplashConfig';\nimport {\n ContentsJsonImage,\n ContentsJsonAppearance,\n createContentsJsonItem,\n writeContentsJsonAsync,\n} from '../../icons/AssetContents';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios:assets');\n\nconst IMAGE_CACHE_NAME = 'splash-ios';\nconst IMAGESET_PATH = 'Images.xcassets/SplashScreenLogo.imageset';\nconst LEGACY_IMAGESET_PATH = 'Images.xcassets/SplashScreenLegacy.imageset';\nconst PNG_FILENAME = 'image';\nconst DARK_PNG_FILENAME = 'dark_image';\nconst TABLET_PNG_FILENAME = 'tablet_image';\nconst DARK_TABLET_PNG_FILENAME = 'dark_tablet_image';\n\nexport const withIosSplashAssets: ConfigPlugin<IOSSplashConfig> = (config, splash) => {\n if (!splash) {\n return config;\n }\n return withDangerousMod(config, [\n 'ios',\n async (config) => {\n const iosNamedProjectRoot = IOSConfig.Paths.getSourceRoot(config.modRequest.projectRoot);\n\n await configureImageAssets({\n projectRoot: config.modRequest.projectRoot,\n iosNamedProjectRoot,\n image: splash.image,\n darkImage: splash.dark?.image,\n tabletImage: splash.tabletImage,\n darkTabletImage: splash.dark?.tabletImage,\n imageWidth: splash.imageWidth ?? 100,\n enableFullScreenImage: splash.enableFullScreenImage_legacy,\n });\n\n return config;\n },\n ]);\n};\n\n/**\n * Creates imageset containing image for Splash/Launch Screen.\n */\nasync function configureImageAssets({\n projectRoot,\n iosNamedProjectRoot,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n imageWidth,\n enableFullScreenImage,\n}: {\n projectRoot: string;\n iosNamedProjectRoot: string;\n image?: string | null;\n darkImage?: string | null;\n tabletImage?: string;\n darkTabletImage?: string | null;\n imageWidth: number;\n enableFullScreenImage?: boolean;\n}) {\n const imagePath = enableFullScreenImage ? LEGACY_IMAGESET_PATH : IMAGESET_PATH;\n const imageSetPath = path.resolve(iosNamedProjectRoot, imagePath);\n\n // remove legacy imageSet if it is not used\n if (!enableFullScreenImage) {\n const legacyImageSetPath = path.resolve(iosNamedProjectRoot, LEGACY_IMAGESET_PATH);\n await fs.promises.rm(legacyImageSetPath, { force: true, recursive: true });\n }\n\n // ensure old SplashScreen imageSet is removed\n await fs.promises.rm(imageSetPath, { force: true, recursive: true });\n\n if (!image) {\n return;\n }\n\n await writeContentsJsonFileAsync({\n assetPath: imageSetPath,\n image: PNG_FILENAME,\n darkImage: darkImage ? DARK_PNG_FILENAME : null,\n tabletImage: tabletImage ? TABLET_PNG_FILENAME : null,\n darkTabletImage: darkTabletImage ? DARK_TABLET_PNG_FILENAME : null,\n });\n\n await copyImageFiles({\n projectRoot,\n iosNamedProjectRoot,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n imageWidth,\n enableFullScreenImage,\n });\n}\n\nasync function copyImageFiles({\n projectRoot,\n iosNamedProjectRoot,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n imageWidth,\n enableFullScreenImage,\n}: {\n projectRoot: string;\n iosNamedProjectRoot: string;\n image: string;\n darkImage?: string | null;\n tabletImage?: string | null;\n darkTabletImage?: string | null;\n imageWidth: number;\n enableFullScreenImage?: boolean;\n}) {\n await generateImagesAssetsAsync({\n async generateImageAsset(item, fileName) {\n await Promise.all(\n [\n { ratio: 1, suffix: '' },\n { ratio: 2, suffix: '@2x' },\n { ratio: 3, suffix: '@3x' },\n ].map(async ({ ratio, suffix }) => {\n const size = imageWidth * ratio;\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: item,\n width: enableFullScreenImage ? undefined : size,\n height: enableFullScreenImage ? undefined : size,\n } as any\n );\n // Write image buffer to the file system.\n // const assetPath = join(iosNamedProjectRoot, IMAGESET_PATH, filename);\n await fs.promises.writeFile(\n path.resolve(\n iosNamedProjectRoot,\n enableFullScreenImage ? LEGACY_IMAGESET_PATH : IMAGESET_PATH,\n `${fileName}${suffix}.png`\n ),\n source\n );\n })\n );\n },\n anyItem: image,\n darkItem: darkImage,\n tabletItem: tabletImage,\n darkTabletItem: darkTabletImage,\n });\n}\n\nasync function generateImagesAssetsAsync({\n generateImageAsset,\n anyItem,\n darkItem,\n tabletItem,\n darkTabletItem,\n}: {\n generateImageAsset: (item: string, fileName: string) => Promise<void>;\n anyItem: string;\n darkItem?: string | null;\n tabletItem?: string | null;\n darkTabletItem?: string | null;\n}) {\n const items = [\n [anyItem, PNG_FILENAME],\n [darkItem, DARK_PNG_FILENAME],\n [tabletItem, TABLET_PNG_FILENAME],\n [darkTabletItem, DARK_TABLET_PNG_FILENAME],\n ].filter(([item]) => !!item) as unknown as [string, string];\n\n await Promise.all(items.map(([item, fileName]) => generateImageAsset(item, fileName)));\n}\nconst darkAppearances: ContentsJsonAppearance[] = [\n {\n appearance: 'luminosity',\n value: 'dark',\n } as ContentsJsonAppearance,\n];\n\nexport function buildContentsJsonImages({\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n}: {\n image: string;\n tabletImage: string | null;\n darkImage: string | null;\n darkTabletImage: string | null;\n}): ContentsJsonImage[] {\n return [\n // Phone light\n createContentsJsonItem({\n idiom: 'universal',\n filename: `${image}.png`,\n scale: '1x',\n }),\n createContentsJsonItem({\n idiom: 'universal',\n filename: `${image}@2x.png`,\n scale: '2x',\n }),\n createContentsJsonItem({\n idiom: 'universal',\n filename: `${image}@3x.png`,\n scale: '3x',\n }),\n // Phone dark\n darkImage &&\n createContentsJsonItem({\n idiom: 'universal',\n appearances: darkAppearances,\n scale: '1x',\n filename: `${darkImage}.png`,\n }),\n darkImage &&\n createContentsJsonItem({\n idiom: 'universal',\n appearances: darkAppearances,\n scale: '2x',\n filename: `${darkImage}@2x.png`,\n }),\n darkImage &&\n createContentsJsonItem({\n idiom: 'universal',\n appearances: darkAppearances,\n scale: '3x',\n filename: `${darkImage}@3x.png`,\n }),\n // Tablet light\n tabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n filename: `${tabletImage}.png`,\n scale: '1x',\n }),\n tabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n scale: '2x',\n filename: `${tabletImage}@2x.png`,\n }),\n // Phone dark\n darkTabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n appearances: darkAppearances,\n filename: `${darkTabletImage}.png`,\n scale: '1x',\n }),\n darkTabletImage &&\n createContentsJsonItem({\n idiom: 'ipad',\n appearances: darkAppearances,\n filename: `${darkTabletImage}@2x.png`,\n scale: '2x',\n }),\n ].filter(Boolean) as ContentsJsonImage[];\n}\n\nasync function writeContentsJsonFileAsync({\n assetPath,\n image,\n darkImage,\n tabletImage,\n darkTabletImage,\n}: {\n assetPath: string;\n image: string;\n darkImage: string | null;\n tabletImage: string | null;\n darkTabletImage: string | null;\n}) {\n const images = buildContentsJsonImages({ image, darkImage, tabletImage, darkTabletImage });\n\n debug(`create contents.json:`, assetPath);\n debug(`use images:`, images);\n await writeContentsJsonAsync(assetPath, { images });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withIosSplashColors = exports.SPLASHSCREEN_COLORSET_PATH = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"withIosSplashColors.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_fs","_path","_interopRequireWildcard","_InterfaceBuilder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","debug","Debug","SPLASHSCREEN_COLORSET_PATH","exports","withIosSplashColors","config","splash","withDangerousMod","iosNamedProjectRoot","IOSConfig","Paths","getSourceRoot","modRequest","projectRoot","configureColorAssets","backgroundColor","darkBackgroundColor","dark","colorsetPath","path","resolve","fs","promises","rm","force","recursive","writeColorsContentsJsonFileAsync","assetPath","color","parseColor","darkColor","colors","components","alpha","blue","rgb","green","red","idiom","push","appearances","appearance","value","writeContentsJsonAsync","directory","mkdir","writeFile","join","JSON","stringify","info","version","author"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashColors.ts"],"sourcesContent":["import { ConfigPlugin, IOSConfig, withDangerousMod } from '@expo/config-plugins';\nimport Debug from 'debug';\nimport fs from 'fs';\nimport path, { join } from 'path';\n\nimport { parseColor } from './InterfaceBuilder';\nimport { IOSSplashConfig } from './getIosSplashConfig';\nimport { ContentsJsonColor } from '../../icons/AssetContents';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios:splash-colorset');\n\nexport const SPLASHSCREEN_COLORSET_PATH = 'Images.xcassets/SplashScreenBackground.colorset';\n\nexport const withIosSplashColors: ConfigPlugin<IOSSplashConfig> = (config, splash) => {\n if (!splash) {\n return config;\n }\n return withDangerousMod(config, [\n 'ios',\n async (config) => {\n const iosNamedProjectRoot = IOSConfig.Paths.getSourceRoot(config.modRequest.projectRoot);\n\n await configureColorAssets({\n iosNamedProjectRoot,\n backgroundColor: splash.backgroundColor,\n darkBackgroundColor: splash.dark?.backgroundColor,\n });\n return config;\n },\n ]);\n};\n\nasync function configureColorAssets({\n iosNamedProjectRoot,\n backgroundColor = '#ffffff',\n darkBackgroundColor,\n}: {\n iosNamedProjectRoot: string;\n backgroundColor: string;\n darkBackgroundColor?: string | null;\n}) {\n const colorsetPath = path.resolve(iosNamedProjectRoot, SPLASHSCREEN_COLORSET_PATH);\n\n // ensure old SplashScreen colorSet is removed\n await fs.promises.rm(colorsetPath, { force: true, recursive: true });\n\n await writeColorsContentsJsonFileAsync({\n assetPath: colorsetPath,\n backgroundColor,\n darkBackgroundColor: darkBackgroundColor ?? null,\n });\n}\n\nasync function writeColorsContentsJsonFileAsync({\n assetPath,\n backgroundColor,\n darkBackgroundColor,\n}: {\n assetPath: string;\n backgroundColor: string;\n darkBackgroundColor: string | null;\n}) {\n const color = parseColor(backgroundColor);\n const darkColor = darkBackgroundColor ? parseColor(darkBackgroundColor) : null;\n\n const colors: ContentsJsonColor[] = [\n {\n color: {\n components: {\n alpha: '1.000',\n blue: color.rgb.blue,\n green: color.rgb.green,\n red: color.rgb.red,\n },\n 'color-space': 'srgb',\n },\n idiom: 'universal',\n },\n ];\n\n if (darkColor) {\n colors.push({\n color: {\n components: {\n alpha: '1.000',\n blue: darkColor.rgb.blue,\n green: darkColor.rgb.green,\n red: darkColor.rgb.red,\n },\n 'color-space': 'srgb',\n },\n idiom: 'universal',\n appearances: [\n {\n appearance: 'luminosity',\n value: 'dark',\n },\n ],\n });\n }\n debug(`create colors contents.json:`, assetPath);\n debug(`use colors:`, colors);\n await writeContentsJsonAsync(assetPath, { colors });\n}\n\nasync function writeContentsJsonAsync(\n directory: string,\n { colors }: { colors: ContentsJsonColor[] }\n): Promise<void> {\n await fs.promises.mkdir(directory, { recursive: true });\n await fs.promises.writeFile(\n join(directory, 'Contents.json'),\n JSON.stringify(\n {\n colors,\n info: {\n version: 1,\n // common practice is for the tool that generated the icons to be the \"author\"\n author: 'expo',\n },\n },\n null,\n 2\n ),\n 'utf8'\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withIosSplashColors.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_fs","_path","_interopRequireWildcard","_InterfaceBuilder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","debug","Debug","SPLASHSCREEN_COLORSET_PATH","exports","withIosSplashColors","config","splash","withDangerousMod","iosNamedProjectRoot","IOSConfig","Paths","getSourceRoot","modRequest","projectRoot","configureColorAssets","backgroundColor","darkBackgroundColor","dark","colorsetPath","path","resolve","fs","promises","rm","force","recursive","writeColorsContentsJsonFileAsync","assetPath","color","parseColor","darkColor","colors","components","alpha","blue","rgb","green","red","idiom","push","appearances","appearance","value","writeContentsJsonAsync","directory","mkdir","writeFile","join","JSON","stringify","info","version","author"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashColors.ts"],"sourcesContent":["import { ConfigPlugin, IOSConfig, withDangerousMod } from '@expo/config-plugins';\nimport Debug from 'debug';\nimport fs from 'fs';\nimport path, { join } from 'path';\n\nimport { parseColor } from './InterfaceBuilder';\nimport { IOSSplashConfig } from './getIosSplashConfig';\nimport { ContentsJsonColor } from '../../icons/AssetContents';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios:splash-colorset');\n\nexport const SPLASHSCREEN_COLORSET_PATH = 'Images.xcassets/SplashScreenBackground.colorset';\n\nexport const withIosSplashColors: ConfigPlugin<IOSSplashConfig> = (config, splash) => {\n if (!splash) {\n return config;\n }\n return withDangerousMod(config, [\n 'ios',\n async (config) => {\n const iosNamedProjectRoot = IOSConfig.Paths.getSourceRoot(config.modRequest.projectRoot);\n\n await configureColorAssets({\n iosNamedProjectRoot,\n backgroundColor: splash.backgroundColor,\n darkBackgroundColor: splash.dark?.backgroundColor,\n });\n return config;\n },\n ]);\n};\n\nasync function configureColorAssets({\n iosNamedProjectRoot,\n backgroundColor = '#ffffff',\n darkBackgroundColor,\n}: {\n iosNamedProjectRoot: string;\n backgroundColor: string;\n darkBackgroundColor?: string | null;\n}) {\n const colorsetPath = path.resolve(iosNamedProjectRoot, SPLASHSCREEN_COLORSET_PATH);\n\n // ensure old SplashScreen colorSet is removed\n await fs.promises.rm(colorsetPath, { force: true, recursive: true });\n\n await writeColorsContentsJsonFileAsync({\n assetPath: colorsetPath,\n backgroundColor,\n darkBackgroundColor: darkBackgroundColor ?? null,\n });\n}\n\nasync function writeColorsContentsJsonFileAsync({\n assetPath,\n backgroundColor,\n darkBackgroundColor,\n}: {\n assetPath: string;\n backgroundColor: string;\n darkBackgroundColor: string | null;\n}) {\n const color = parseColor(backgroundColor);\n const darkColor = darkBackgroundColor ? parseColor(darkBackgroundColor) : null;\n\n const colors: ContentsJsonColor[] = [\n {\n color: {\n components: {\n alpha: '1.000',\n blue: color.rgb.blue,\n green: color.rgb.green,\n red: color.rgb.red,\n },\n 'color-space': 'srgb',\n },\n idiom: 'universal',\n },\n ];\n\n if (darkColor) {\n colors.push({\n color: {\n components: {\n alpha: '1.000',\n blue: darkColor.rgb.blue,\n green: darkColor.rgb.green,\n red: darkColor.rgb.red,\n },\n 'color-space': 'srgb',\n },\n idiom: 'universal',\n appearances: [\n {\n appearance: 'luminosity',\n value: 'dark',\n },\n ],\n });\n }\n debug(`create colors contents.json:`, assetPath);\n debug(`use colors:`, colors);\n await writeContentsJsonAsync(assetPath, { colors });\n}\n\nasync function writeContentsJsonAsync(\n directory: string,\n { colors }: { colors: ContentsJsonColor[] }\n): Promise<void> {\n await fs.promises.mkdir(directory, { recursive: true });\n await fs.promises.writeFile(\n join(directory, 'Contents.json'),\n JSON.stringify(\n {\n colors,\n info: {\n version: 1,\n // common practice is for the tool that generated the icons to be the \"author\"\n author: 'expo',\n },\n },\n null,\n 2\n ),\n 'utf8'\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.setSplashInfoPlist = setSplashInfoPlist;
7
5
  exports.withIosSplashInfoPlist = void 0;
8
6
  function _configPlugins() {
@@ -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. 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":[]}
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":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.withIosSplashScreen = void 0;
7
5
  function _configPlugins() {
8
6
  const data = require("@expo/config-plugins");
@@ -1 +1 @@
1
- {"version":3,"file":"withIosSplashScreen.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getIosSplashConfig","_withIosSplashAssets","_withIosSplashColors","_withIosSplashInfoPlist","_withIosSplashScreenStoryboard","_withIosSplashScreenStoryboardImage","_withIosSplashXcodeProject","e","__esModule","default","debug","Debug","withIosSplashScreen","config","props","splashConfig","getIosSplashConfig","withPlugins","withIosSplashInfoPlist","withIosSplashAssets","withIosSplashColors","withIosSplashScreenImage","withIosSplashXcodeProject","withIosSplashScreenStoryboardBaseMod","exports"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashScreen.ts"],"sourcesContent":["import { ConfigPlugin, withPlugins } from '@expo/config-plugins';\nimport Debug from 'debug';\n\nimport { getIosSplashConfig, IOSSplashConfig } from './getIosSplashConfig';\nimport { withIosSplashAssets } from './withIosSplashAssets';\nimport { withIosSplashColors } from './withIosSplashColors';\nimport { withIosSplashInfoPlist } from './withIosSplashInfoPlist';\nimport { withIosSplashScreenStoryboardBaseMod } from './withIosSplashScreenStoryboard';\nimport { withIosSplashScreenImage } from './withIosSplashScreenStoryboardImage';\nimport { withIosSplashXcodeProject } from './withIosSplashXcodeProject';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios');\n\nexport const withIosSplashScreen: ConfigPlugin<IOSSplashConfig | undefined | null | void> = (\n config,\n props\n) => {\n // If the user didn't specify a splash object, infer the splash object from the Expo config.\n const splashConfig = getIosSplashConfig(config, props ?? null);\n\n debug(`config:`, props);\n\n return withPlugins(config, [\n [withIosSplashInfoPlist, splashConfig],\n [withIosSplashAssets, splashConfig],\n [withIosSplashColors, splashConfig],\n // Add the image settings to the storyboard.\n [withIosSplashScreenImage, splashConfig],\n // Link storyboard to xcode project.\n // TODO: Maybe fold this into the base mod.\n withIosSplashXcodeProject,\n // Insert the base mod last, no other ios.splashScreenStoryboard mods can be added after this.\n withIosSplashScreenStoryboardBaseMod,\n ]);\n};\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,oBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,mBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,qBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,oBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,qBAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,oBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,wBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,uBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,+BAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,8BAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,oCAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,mCAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,2BAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,0BAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwE,SAAAG,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExE,MAAMG,KAAK,GAAG,IAAAC,gBAAK,EAAC,6CAA6C,CAAC;AAE3D,MAAMC,mBAA4E,GAAGA,CAC1FC,MAAM,EACNC,KAAK,KACF;EACH;EACA,MAAMC,YAAY,GAAG,IAAAC,wCAAkB,EAACH,MAAM,EAAEC,KAAK,IAAI,IAAI,CAAC;EAE9DJ,KAAK,CAAC,SAAS,EAAEI,KAAK,CAAC;EAEvB,OAAO,IAAAG,4BAAW,EAACJ,MAAM,EAAE,CACzB,CAACK,gDAAsB,EAAEH,YAAY,CAAC,EACtC,CAACI,0CAAmB,EAAEJ,YAAY,CAAC,EACnC,CAACK,0CAAmB,EAAEL,YAAY,CAAC;EACnC;EACA,CAACM,8DAAwB,EAAEN,YAAY,CAAC;EACxC;EACA;EACAO,sDAAyB;EACzB;EACAC,qEAAoC,CACrC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"file":"withIosSplashScreen.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_getIosSplashConfig","_withIosSplashAssets","_withIosSplashColors","_withIosSplashInfoPlist","_withIosSplashScreenStoryboard","_withIosSplashScreenStoryboardImage","_withIosSplashXcodeProject","e","__esModule","default","debug","Debug","withIosSplashScreen","config","props","splashConfig","getIosSplashConfig","withPlugins","withIosSplashInfoPlist","withIosSplashAssets","withIosSplashColors","withIosSplashScreenImage","withIosSplashXcodeProject","withIosSplashScreenStoryboardBaseMod","exports"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashScreen.ts"],"sourcesContent":["import { ConfigPlugin, withPlugins } from '@expo/config-plugins';\nimport Debug from 'debug';\n\nimport { getIosSplashConfig, IOSSplashConfig } from './getIosSplashConfig';\nimport { withIosSplashAssets } from './withIosSplashAssets';\nimport { withIosSplashColors } from './withIosSplashColors';\nimport { withIosSplashInfoPlist } from './withIosSplashInfoPlist';\nimport { withIosSplashScreenStoryboardBaseMod } from './withIosSplashScreenStoryboard';\nimport { withIosSplashScreenImage } from './withIosSplashScreenStoryboardImage';\nimport { withIosSplashXcodeProject } from './withIosSplashXcodeProject';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:ios');\n\nexport const withIosSplashScreen: ConfigPlugin<IOSSplashConfig | undefined | null | void> = (\n config,\n props\n) => {\n // If the user didn't specify a splash object, infer the splash object from the Expo config.\n const splashConfig = getIosSplashConfig(config, props ?? null);\n\n debug(`config:`, props);\n\n return withPlugins(config, [\n [withIosSplashInfoPlist, splashConfig],\n [withIosSplashAssets, splashConfig],\n [withIosSplashColors, splashConfig],\n // Add the image settings to the storyboard.\n [withIosSplashScreenImage, splashConfig],\n // Link storyboard to xcode project.\n // TODO: Maybe fold this into the base mod.\n withIosSplashXcodeProject,\n // Insert the base mod last, no other ios.splashScreenStoryboard mods can be added after this.\n withIosSplashScreenStoryboardBaseMod,\n ]);\n};\n"],"mappings":";;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,oBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,mBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,qBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,oBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,qBAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,oBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,wBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,uBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,+BAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,8BAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,oCAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,mCAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,2BAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,0BAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwE,SAAAG,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExE,MAAMG,KAAK,GAAG,IAAAC,gBAAK,EAAC,6CAA6C,CAAC;AAE3D,MAAMC,mBAA4E,GAAGA,CAC1FC,MAAM,EACNC,KAAK,KACF;EACH;EACA,MAAMC,YAAY,GAAG,IAAAC,wCAAkB,EAACH,MAAM,EAAEC,KAAK,IAAI,IAAI,CAAC;EAE9DJ,KAAK,CAAC,SAAS,EAAEI,KAAK,CAAC;EAEvB,OAAO,IAAAG,4BAAW,EAACJ,MAAM,EAAE,CACzB,CAACK,gDAAsB,EAAEH,YAAY,CAAC,EACtC,CAACI,0CAAmB,EAAEJ,YAAY,CAAC,EACnC,CAACK,0CAAmB,EAAEL,YAAY,CAAC;EACnC;EACA,CAACM,8DAAwB,EAAEN,YAAY,CAAC;EACxC;EACA;EACAO,sDAAyB;EACzB;EACAC,qEAAoC,CACrC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.STORYBOARD_FILE_PATH = void 0;
7
5
  exports.getTemplateAsync = getTemplateAsync;
8
6
  exports.withIosSplashScreenStoryboardBaseMod = exports.withIosSplashScreenStoryboard = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"withIosSplashScreenStoryboard.js","names":["_configPlugins","data","require","fs","_interopRequireWildcard","path","_xml2js","_InterfaceBuilder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","STORYBOARD_FILE_PATH","exports","STORYBOARD_MOD_NAME","withIosSplashScreenStoryboard","config","action","withMod","platform","mod","withIosSplashScreenStoryboardBaseMod","BaseMods","withGeneratedBaseMods","saveToInternal","skipEmptyMod","providers","provider","isIntrospective","getFilePath","modRequest","join","platformProjectRoot","projectName","read","filePath","contents","promises","readFile","xml","Parser","parseStringPromise","getTemplateAsync","write","modResults","introspect","writeFile","toString"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.ts"],"sourcesContent":["import { BaseMods, ConfigPlugin, Mod, withMod } from '@expo/config-plugins';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { Parser } from 'xml2js';\n\nimport { IBSplashScreenDocument, toString } from './InterfaceBuilder';\n\nexport const STORYBOARD_FILE_PATH = './SplashScreen.storyboard';\n\nconst STORYBOARD_MOD_NAME = 'splashScreenStoryboard';\n\n/**\n * Provides the SplashScreen `.storyboard` xml data for modification.\n *\n * @param config\n * @param action\n */\nexport const withIosSplashScreenStoryboard: ConfigPlugin<Mod<IBSplashScreenDocument>> = (\n config,\n action\n) => {\n return withMod(config, {\n platform: 'ios',\n mod: STORYBOARD_MOD_NAME,\n action,\n });\n};\n\n/** Append a custom rule to supply SplashScreen `.storyboard` xml data to mods on `mods.ios.splashScreenStoryboard` */\nexport const withIosSplashScreenStoryboardBaseMod: ConfigPlugin = (config) => {\n return BaseMods.withGeneratedBaseMods(config, {\n platform: 'ios',\n saveToInternal: true,\n skipEmptyMod: false,\n providers: {\n // Append a custom rule to supply .storyboard xml data to mods on `mods.ios.splashScreenStoryboard`\n [STORYBOARD_MOD_NAME]: BaseMods.provider<IBSplashScreenDocument>({\n isIntrospective: true,\n async getFilePath({ modRequest }) {\n //: [root]/myapp/ios/MyApp/SplashScreen.storyboard\n return path.join(\n //: myapp/ios\n modRequest.platformProjectRoot,\n // ./MyApp\n modRequest.projectName!,\n // ./SplashScreen.storyboard\n STORYBOARD_FILE_PATH\n );\n },\n async read(filePath) {\n try {\n const contents = await fs.promises.readFile(filePath, 'utf8');\n const xml = await new Parser().parseStringPromise(contents);\n return xml;\n } catch {\n return getTemplateAsync();\n }\n },\n async write(filePath, { modResults, modRequest: { introspect } }) {\n if (introspect) {\n return;\n }\n await fs.promises.writeFile(filePath, toString(modResults));\n },\n }),\n },\n });\n};\n\n/** Get a template splash screen storyboard file. */\nexport async function getTemplateAsync(): Promise<IBSplashScreenDocument> {\n const contents = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"32700.99.1234\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"EXPO-VIEWCONTROLLER-1\">\n <device id=\"retina6_12\" orientation=\"portrait\" appearance=\"light\"/>\n <dependencies>\n <deployment identifier=\"iOS\"/>\n <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"22685\"/>\n <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n </dependencies>\n <scenes>\n <!--View Controller-->\n <scene sceneID=\"EXPO-SCENE-1\">\n <objects>\n <viewController storyboardIdentifier=\"SplashScreenViewController\" id=\"EXPO-VIEWCONTROLLER-1\" sceneMemberID=\"viewController\">\n <view key=\"view\" userInteractionEnabled=\"NO\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"EXPO-ContainerView\" userLabel=\"ContainerView\">\n <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"393\" height=\"852\"/>\n <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n <subviews>\n <imageView clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"scaleAspectFit\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" image=\"SplashScreen\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"EXPO-SplashScreen\" userLabel=\"SplashScreen\">\n <rect key=\"frame\" x=\"146.66666666666666\" y=\"381\" width=\"100\" height=\"90.333333333333314\"/>\n </imageView>\n </subviews>\n <viewLayoutGuide key=\"safeArea\" id=\"Rmq-lb-GrQ\"/>\n <constraints>\n <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"centerY\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"centerY\" id=\"0VC-Wk-OaO\"/>\n <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"centerX\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"centerX\" id=\"zR4-NK-mVN\"/>\n </constraints>\n <color key=\"backgroundColor\" name=\"SplashScreenBackground\"/>\n </view>\n </viewController>\n <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"EXPO-PLACEHOLDER-1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n </objects>\n <point key=\"canvasLocation\" x=\"140.625\" y=\"129.4921875\"/>\n </scene>\n </scenes>\n <resources>\n <image name=\"SplashScreenLogo\" width=\"100\" height=\"90.333335876464844\"/>\n <namedColor name=\"SplashScreenBackground\">\n <color alpha=\"1.000\" blue=\"1.00000000000000\" green=\"1.00000000000000\" red=\"1.00000000000000\" customColorSpace=\"sRGB\" colorSpace=\"custom\"/>\n </namedColor>\n </resources>\n </document>`;\n return await new Parser().parseStringPromise(contents);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withIosSplashScreenStoryboard.js","names":["_configPlugins","data","require","fs","_interopRequireWildcard","path","_xml2js","_InterfaceBuilder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","STORYBOARD_FILE_PATH","exports","STORYBOARD_MOD_NAME","withIosSplashScreenStoryboard","config","action","withMod","platform","mod","withIosSplashScreenStoryboardBaseMod","BaseMods","withGeneratedBaseMods","saveToInternal","skipEmptyMod","providers","provider","isIntrospective","getFilePath","modRequest","join","platformProjectRoot","projectName","read","filePath","contents","promises","readFile","xml","Parser","parseStringPromise","getTemplateAsync","write","modResults","introspect","writeFile","toString"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashScreenStoryboard.ts"],"sourcesContent":["import { BaseMods, ConfigPlugin, Mod, withMod } from '@expo/config-plugins';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { Parser } from 'xml2js';\n\nimport { IBSplashScreenDocument, toString } from './InterfaceBuilder';\n\nexport const STORYBOARD_FILE_PATH = './SplashScreen.storyboard';\n\nconst STORYBOARD_MOD_NAME = 'splashScreenStoryboard';\n\n/**\n * Provides the SplashScreen `.storyboard` xml data for modification.\n *\n * @param config\n * @param action\n */\nexport const withIosSplashScreenStoryboard: ConfigPlugin<Mod<IBSplashScreenDocument>> = (\n config,\n action\n) => {\n return withMod(config, {\n platform: 'ios',\n mod: STORYBOARD_MOD_NAME,\n action,\n });\n};\n\n/** Append a custom rule to supply SplashScreen `.storyboard` xml data to mods on `mods.ios.splashScreenStoryboard` */\nexport const withIosSplashScreenStoryboardBaseMod: ConfigPlugin = (config) => {\n return BaseMods.withGeneratedBaseMods(config, {\n platform: 'ios',\n saveToInternal: true,\n skipEmptyMod: false,\n providers: {\n // Append a custom rule to supply .storyboard xml data to mods on `mods.ios.splashScreenStoryboard`\n [STORYBOARD_MOD_NAME]: BaseMods.provider<IBSplashScreenDocument>({\n isIntrospective: true,\n async getFilePath({ modRequest }) {\n //: [root]/myapp/ios/MyApp/SplashScreen.storyboard\n return path.join(\n //: myapp/ios\n modRequest.platformProjectRoot,\n // ./MyApp\n modRequest.projectName!,\n // ./SplashScreen.storyboard\n STORYBOARD_FILE_PATH\n );\n },\n async read(filePath) {\n try {\n const contents = await fs.promises.readFile(filePath, 'utf8');\n const xml = await new Parser().parseStringPromise(contents);\n return xml;\n } catch {\n return getTemplateAsync();\n }\n },\n async write(filePath, { modResults, modRequest: { introspect } }) {\n if (introspect) {\n return;\n }\n await fs.promises.writeFile(filePath, toString(modResults));\n },\n }),\n },\n });\n};\n\n/** Get a template splash screen storyboard file. */\nexport async function getTemplateAsync(): Promise<IBSplashScreenDocument> {\n const contents = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"32700.99.1234\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"EXPO-VIEWCONTROLLER-1\">\n <device id=\"retina6_12\" orientation=\"portrait\" appearance=\"light\"/>\n <dependencies>\n <deployment identifier=\"iOS\"/>\n <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"22685\"/>\n <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n </dependencies>\n <scenes>\n <!--View Controller-->\n <scene sceneID=\"EXPO-SCENE-1\">\n <objects>\n <viewController storyboardIdentifier=\"SplashScreenViewController\" id=\"EXPO-VIEWCONTROLLER-1\" sceneMemberID=\"viewController\">\n <view key=\"view\" userInteractionEnabled=\"NO\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"EXPO-ContainerView\" userLabel=\"ContainerView\">\n <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"393\" height=\"852\"/>\n <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n <subviews>\n <imageView clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"scaleAspectFit\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" image=\"SplashScreen\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"EXPO-SplashScreen\" userLabel=\"SplashScreen\">\n <rect key=\"frame\" x=\"146.66666666666666\" y=\"381\" width=\"100\" height=\"90.333333333333314\"/>\n </imageView>\n </subviews>\n <viewLayoutGuide key=\"safeArea\" id=\"Rmq-lb-GrQ\"/>\n <constraints>\n <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"centerY\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"centerY\" id=\"0VC-Wk-OaO\"/>\n <constraint firstItem=\"EXPO-SplashScreen\" firstAttribute=\"centerX\" secondItem=\"EXPO-ContainerView\" secondAttribute=\"centerX\" id=\"zR4-NK-mVN\"/>\n </constraints>\n <color key=\"backgroundColor\" name=\"SplashScreenBackground\"/>\n </view>\n </viewController>\n <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"EXPO-PLACEHOLDER-1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n </objects>\n <point key=\"canvasLocation\" x=\"140.625\" y=\"129.4921875\"/>\n </scene>\n </scenes>\n <resources>\n <image name=\"SplashScreenLogo\" width=\"100\" height=\"90.333335876464844\"/>\n <namedColor name=\"SplashScreenBackground\">\n <color alpha=\"1.000\" blue=\"1.00000000000000\" green=\"1.00000000000000\" red=\"1.00000000000000\" customColorSpace=\"sRGB\" colorSpace=\"custom\"/>\n </namedColor>\n </resources>\n </document>`;\n return await new Parser().parseStringPromise(contents);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.applySplashScreenStoryboard = applySplashScreenStoryboard;
7
5
  exports.withIosSplashScreenImage = void 0;
8
6
  function _InterfaceBuilder() {