@expo/prebuild-config 8.0.22 → 8.0.23

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.
@@ -7,8 +7,11 @@ export type SplashScreenConfig = {
7
7
  mdpi?: string;
8
8
  image?: string;
9
9
  backgroundColor?: string;
10
- enableFullScreenImage_legacy?: boolean;
11
10
  resizeMode: 'contain' | 'cover' | 'native';
11
+ drawable?: {
12
+ icon: string;
13
+ darkIcon?: string;
14
+ };
12
15
  dark?: {
13
16
  backgroundColor?: string;
14
17
  xxxhdpi?: string;
@@ -18,10 +18,10 @@ function getAndroidSplashConfig(config, props) {
18
18
  hdpi: splash.hdpi ?? splash.image,
19
19
  mdpi: splash.mdpi ?? splash.image,
20
20
  backgroundColor: splash.backgroundColor,
21
- enableFullScreenImage_legacy: splash.enableFullScreenImage_legacy,
22
21
  resizeMode: splash.resizeMode ?? defaultResizeMode,
23
22
  imageWidth: splash.imageWidth ?? 100,
24
- dark: splash.dark
23
+ dark: splash.dark,
24
+ drawable: splash.drawable
25
25
  };
26
26
  }
27
27
  if (config.android?.splash) {
@@ -34,7 +34,6 @@ function getAndroidSplashConfig(config, props) {
34
34
  mdpi: splash.mdpi ?? splash.image,
35
35
  backgroundColor: splash.backgroundColor,
36
36
  image: splash.image,
37
- enableFullScreenImage_legacy: true,
38
37
  resizeMode: splash.resizeMode ?? defaultResizeMode,
39
38
  imageWidth: 200,
40
39
  dark: splash.dark
@@ -49,7 +48,6 @@ function getAndroidSplashConfig(config, props) {
49
48
  hdpi: splash.image,
50
49
  mdpi: splash.image,
51
50
  backgroundColor: splash.backgroundColor,
52
- enableFullScreenImage_legacy: true,
53
51
  resizeMode: splash.resizeMode ?? defaultResizeMode,
54
52
  imageWidth: 200,
55
53
  dark: splash.dark
@@ -65,11 +63,11 @@ function getAndroidDarkSplashConfig(config, props) {
65
63
  xxxhdpi: splash.xxxhdpi ?? splash.image,
66
64
  xxhdpi: splash.xxhdpi ?? splash.image,
67
65
  xhdpi: splash.xhdpi ?? splash.image,
68
- enableFullScreenImage_legacy: props.enableFullScreenImage_legacy,
69
66
  hdpi: splash.hdpi ?? splash.image,
70
67
  mdpi: splash.mdpi ?? splash.image,
71
68
  backgroundColor: splash.backgroundColor,
72
- resizeMode: lightTheme?.resizeMode ?? defaultResizeMode
69
+ resizeMode: lightTheme?.resizeMode ?? defaultResizeMode,
70
+ drawable: props.drawable
73
71
  };
74
72
  }
75
73
 
@@ -84,7 +82,6 @@ function getAndroidDarkSplashConfig(config, props) {
84
82
  xhdpi: splash.xhdpi ?? splash.image,
85
83
  hdpi: splash.hdpi ?? splash.image,
86
84
  mdpi: splash.mdpi ?? splash.image,
87
- enableFullScreenImage_legacy: true,
88
85
  backgroundColor: splash.backgroundColor,
89
86
  // Can't support dark resizeMode because the resize mode is hardcoded into the MainActivity.java
90
87
  resizeMode: lightTheme?.resizeMode ?? defaultResizeMode
@@ -1 +1 @@
1
- {"version":3,"file":"getAndroidSplashConfig.js","names":["defaultResizeMode","getAndroidSplashConfig","config","props","splash","xxxhdpi","image","xxhdpi","xhdpi","hdpi","mdpi","backgroundColor","enableFullScreenImage_legacy","resizeMode","imageWidth","dark","android","getAndroidDarkSplashConfig","lightTheme"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/getAndroidSplashConfig.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nexport type SplashScreenConfig = {\n xxxhdpi?: string;\n xxhdpi?: string;\n xhdpi?: string;\n hdpi?: string;\n mdpi?: string;\n image?: string;\n backgroundColor?: string;\n enableFullScreenImage_legacy?: boolean;\n resizeMode: 'contain' | 'cover' | 'native';\n dark?: {\n backgroundColor?: string;\n xxxhdpi?: string;\n xxhdpi?: string;\n xhdpi?: string;\n hdpi?: string;\n mdpi?: string;\n image?: string;\n resizeMode?: 'contain' | 'cover' | 'native';\n };\n};\n\nexport type AndroidSplashConfig = {\n imageWidth?: number;\n} & SplashScreenConfig;\n\nconst defaultResizeMode = 'contain';\n\nexport function getAndroidSplashConfig(\n config: Pick<ExpoConfig, 'splash' | 'android'>,\n props?: AndroidSplashConfig | null\n): AndroidSplashConfig | null {\n // Respect the splash screen object, don't mix and match across different splash screen objects\n // in case the user wants the top level splash to apply to every platform except android.\n if (props) {\n const splash = props;\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n enableFullScreenImage_legacy: splash.enableFullScreenImage_legacy,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n imageWidth: splash.imageWidth ?? 100,\n dark: splash.dark,\n };\n }\n\n if (config.android?.splash) {\n const splash = config.android?.splash;\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n image: splash.image,\n enableFullScreenImage_legacy: true,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n imageWidth: 200,\n dark: splash.dark,\n };\n }\n\n if (config.splash) {\n const splash = config.splash;\n return {\n xxxhdpi: splash.image,\n xxhdpi: splash.image,\n xhdpi: splash.image,\n hdpi: splash.image,\n mdpi: splash.image,\n backgroundColor: splash.backgroundColor,\n enableFullScreenImage_legacy: true,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n imageWidth: 200,\n dark: splash.dark,\n };\n }\n\n return null;\n}\n\nexport function getAndroidDarkSplashConfig(\n config: Pick<ExpoConfig, 'splash' | 'android'>,\n props?: AndroidSplashConfig | null\n): SplashScreenConfig | null {\n if (props?.dark) {\n const splash = props.dark;\n const lightTheme = getAndroidSplashConfig(config, props);\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n enableFullScreenImage_legacy: props.enableFullScreenImage_legacy,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n resizeMode: lightTheme?.resizeMode ?? defaultResizeMode,\n };\n }\n\n // Respect the splash screen object, don't mix and match across different splash screen objects\n // in case the user wants the top level splash to apply to every platform except android.\n if (config.android?.splash?.dark) {\n const splash = config.android?.splash?.dark;\n const lightTheme = getAndroidSplashConfig(config, props);\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n enableFullScreenImage_legacy: true,\n backgroundColor: splash.backgroundColor,\n // Can't support dark resizeMode because the resize mode is hardcoded into the MainActivity.java\n resizeMode: lightTheme?.resizeMode ?? defaultResizeMode,\n };\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getAndroidSplashConfig.js","names":["defaultResizeMode","getAndroidSplashConfig","config","props","splash","xxxhdpi","image","xxhdpi","xhdpi","hdpi","mdpi","backgroundColor","resizeMode","imageWidth","dark","drawable","android","getAndroidDarkSplashConfig","lightTheme"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/getAndroidSplashConfig.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nexport type SplashScreenConfig = {\n xxxhdpi?: string;\n xxhdpi?: string;\n xhdpi?: string;\n hdpi?: string;\n mdpi?: string;\n image?: string;\n backgroundColor?: string;\n resizeMode: 'contain' | 'cover' | 'native';\n drawable?: {\n icon: string;\n darkIcon?: string;\n };\n dark?: {\n backgroundColor?: string;\n xxxhdpi?: string;\n xxhdpi?: string;\n xhdpi?: string;\n hdpi?: string;\n mdpi?: string;\n image?: string;\n resizeMode?: 'contain' | 'cover' | 'native';\n };\n};\n\nexport type AndroidSplashConfig = {\n imageWidth?: number;\n} & SplashScreenConfig;\n\nconst defaultResizeMode = 'contain';\n\nexport function getAndroidSplashConfig(\n config: Pick<ExpoConfig, 'splash' | 'android'>,\n props?: AndroidSplashConfig | null\n): AndroidSplashConfig | null {\n // Respect the splash screen object, don't mix and match across different splash screen objects\n // in case the user wants the top level splash to apply to every platform except android.\n if (props) {\n const splash = props;\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n imageWidth: splash.imageWidth ?? 100,\n dark: splash.dark,\n drawable: splash.drawable,\n };\n }\n\n if (config.android?.splash) {\n const splash = config.android?.splash;\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n image: splash.image,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n imageWidth: 200,\n dark: splash.dark,\n };\n }\n\n if (config.splash) {\n const splash = config.splash;\n return {\n xxxhdpi: splash.image,\n xxhdpi: splash.image,\n xhdpi: splash.image,\n hdpi: splash.image,\n mdpi: splash.image,\n backgroundColor: splash.backgroundColor,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n imageWidth: 200,\n dark: splash.dark,\n };\n }\n\n return null;\n}\n\nexport function getAndroidDarkSplashConfig(\n config: Pick<ExpoConfig, 'splash' | 'android'>,\n props?: AndroidSplashConfig | null\n): SplashScreenConfig | null {\n if (props?.dark) {\n const splash = props.dark;\n const lightTheme = getAndroidSplashConfig(config, props);\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n resizeMode: lightTheme?.resizeMode ?? defaultResizeMode,\n drawable: props.drawable,\n };\n }\n\n // Respect the splash screen object, don't mix and match across different splash screen objects\n // in case the user wants the top level splash to apply to every platform except android.\n if (config.android?.splash?.dark) {\n const splash = config.android?.splash?.dark;\n const lightTheme = getAndroidSplashConfig(config, props);\n return {\n xxxhdpi: splash.xxxhdpi ?? splash.image,\n xxhdpi: splash.xxhdpi ?? splash.image,\n xhdpi: splash.xhdpi ?? splash.image,\n hdpi: splash.hdpi ?? splash.image,\n mdpi: splash.mdpi ?? splash.image,\n backgroundColor: splash.backgroundColor,\n // Can't support dark resizeMode because the resize mode is hardcoded into the MainActivity.java\n resizeMode: lightTheme?.resizeMode ?? defaultResizeMode,\n };\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -44,14 +44,15 @@ function _getAndroidSplashConfig() {
44
44
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
45
45
  const IMAGE_CACHE_NAME = 'splash-android';
46
46
  const SPLASH_SCREEN_FILENAME = 'splashscreen_logo.png';
47
+ const SPLASH_SCREEN_DRAWABLE_NAME = 'splashscreen_logo.xml';
47
48
  const DRAWABLES_CONFIGS = {
48
49
  default: {
49
50
  modes: {
50
51
  light: {
51
- path: `./res/drawable/${SPLASH_SCREEN_FILENAME}`
52
+ path: `./res/drawable/${SPLASH_SCREEN_DRAWABLE_NAME}`
52
53
  },
53
54
  dark: {
54
- path: `./res/drawable-night/${SPLASH_SCREEN_FILENAME}`
55
+ path: `./res/drawable-night/${SPLASH_SCREEN_DRAWABLE_NAME}`
55
56
  }
56
57
  },
57
58
  dimensionsMultiplier: 1
@@ -149,22 +150,16 @@ async function clearAllExistingSplashImagesAsync(projectRoot) {
149
150
  }
150
151
  async function setSplashImageDrawablesForThemeAsync(config, theme, projectRoot, imageWidth = 100) {
151
152
  if (!config) return;
153
+ const androidMainPath = _path().default.join(projectRoot, 'android/app/src/main');
154
+ if (config.drawable) {
155
+ await writeSplashScreenDrawablesAsync(androidMainPath, projectRoot, config.drawable);
156
+ return;
157
+ }
152
158
  const sizes = ['mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi'];
153
159
  await Promise.all(sizes.map(async imageKey => {
154
160
  // @ts-ignore
155
161
  const image = config[imageKey];
156
162
  if (image) {
157
- if (config.enableFullScreenImage_legacy) {
158
- const {
159
- source
160
- } = await (0, _imageUtils().generateImageAsync)({
161
- projectRoot,
162
- cacheType: IMAGE_CACHE_NAME
163
- }, {
164
- src: image
165
- });
166
- return writeDrawable(projectRoot, imageKey, theme, source);
167
- }
168
163
  const multiplier = DRAWABLES_CONFIGS[imageKey].dimensionsMultiplier;
169
164
  const size = imageWidth * multiplier; // "imageWidth" must be replaced by the logo width chosen by the user in its config file
170
165
  const canvasSize = 288 * multiplier;
@@ -191,18 +186,30 @@ async function setSplashImageDrawablesForThemeAsync(config, theme, projectRoot,
191
186
  x: (canvasSize - size) / 2,
192
187
  y: (canvasSize - size) / 2
193
188
  });
194
- await writeDrawable(projectRoot, imageKey, theme, composedImage);
189
+
190
+ // Get output path for drawable.
191
+ const outputPath = _path().default.join(androidMainPath, DRAWABLES_CONFIGS[imageKey].modes[theme].path);
192
+ const folder = _path().default.dirname(outputPath);
193
+ // Ensure directory exists.
194
+ await _fsExtra().default.ensureDir(folder);
195
+ await _fsExtra().default.writeFile(outputPath, composedImage);
195
196
  }
196
197
  return null;
197
198
  }));
198
199
  }
199
- async function writeDrawable(projectRoot, imageKey, theme, composedImage) {
200
- const androidMainPath = _path().default.join(projectRoot, 'android/app/src/main');
201
- // Get output path for drawable.
202
- const outputPath = _path().default.join(androidMainPath, DRAWABLES_CONFIGS[imageKey].modes[theme].path);
203
- const folder = _path().default.dirname(outputPath);
204
- // Ensure directory exists.
205
- await _fsExtra().default.ensureDir(folder);
206
- await _fsExtra().default.writeFile(outputPath, composedImage);
200
+ async function writeSplashScreenDrawablesAsync(drawablePath, projectRoot, drawable) {
201
+ if (!drawable) {
202
+ return;
203
+ }
204
+ const lightDrawablePath = _path().default.join(drawablePath, DRAWABLES_CONFIGS.default.modes.light.path);
205
+ const darkDrawablePath = _path().default.join(drawablePath, DRAWABLES_CONFIGS.default.modes.dark.path);
206
+ const lightFolder = _path().default.dirname(lightDrawablePath);
207
+ await _fsExtra().default.ensureDir(lightFolder);
208
+ await _fsExtra().default.copyFile(_path().default.join(projectRoot, drawable.icon), lightDrawablePath);
209
+ if (drawable.darkIcon) {
210
+ const darkFolder = _path().default.dirname(darkDrawablePath);
211
+ await _fsExtra().default.ensureDir(darkFolder);
212
+ await _fsExtra().default.copyFile(_path().default.join(projectRoot, drawable.darkIcon), darkDrawablePath);
213
+ }
207
214
  }
208
215
  //# sourceMappingURL=withAndroidSplashImages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withAndroidSplashImages.js","names":["_configPlugins","data","require","_imageUtils","_fsExtra","_interopRequireDefault","_path","_getAndroidSplashConfig","e","__esModule","default","IMAGE_CACHE_NAME","SPLASH_SCREEN_FILENAME","DRAWABLES_CONFIGS","modes","light","path","dark","dimensionsMultiplier","mdpi","hdpi","xhdpi","xxhdpi","xxxhdpi","withAndroidSplashImages","config","props","withDangerousMod","setSplashImageDrawablesAsync","modRequest","projectRoot","imageWidth","exports","clearAllExistingSplashImagesAsync","splash","getAndroidSplashConfig","darkSplash","getAndroidDarkSplashConfig","Promise","all","setSplashImageDrawablesForThemeAsync","androidMainPath","join","Object","values","map","filePath","fs","pathExists","resolve","remove","theme","sizes","imageKey","image","enableFullScreenImage_legacy","source","generateImageAsync","cacheType","src","writeDrawable","multiplier","size","canvasSize","background","generateImageBackgroundAsync","width","height","backgroundColor","resizeMode","foreground","composedImage","compositeImagesAsync","x","y","outputPath","folder","dirname","ensureDir","writeFile"],"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-extra';\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 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_FILENAME}`,\n },\n dark: {\n path: `./res/drawable-night/${SPLASH_SCREEN_FILENAME}`,\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> = (config, props) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n await setSplashImageDrawablesAsync(\n config,\n props,\n config.modRequest.projectRoot,\n props?.imageWidth ?? 200\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 if (await fs.pathExists(path.resolve(androidMainPath, filePath))) {\n await fs.remove(path.resolve(androidMainPath, filePath));\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 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 if (config.enableFullScreenImage_legacy) {\n const { source } = await generateImageAsync(\n { projectRoot, cacheType: IMAGE_CACHE_NAME },\n {\n src: image,\n } as any\n );\n\n return writeDrawable(projectRoot, imageKey, theme, source);\n }\n\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 await writeDrawable(projectRoot, imageKey, theme, composedImage);\n }\n return null;\n })\n );\n}\n\nasync function writeDrawable(\n projectRoot: string,\n imageKey: DRAWABLE_SIZE,\n theme: 'dark' | 'light',\n composedImage: Buffer\n) {\n const androidMainPath = path.join(projectRoot, 'android/app/src/main');\n // Get output path for drawable.\n const outputPath = path.join(androidMainPath, DRAWABLES_CONFIGS[imageKey].modes[theme].path);\n\n const folder = path.dirname(outputPath);\n // Ensure directory exists.\n await fs.ensureDir(folder);\n await fs.writeFile(outputPath, composedImage);\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,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,MAAA;EAAA,MAAAL,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAI,KAAA,YAAAA,CAAA;IAAA,OAAAL,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;AAKkC,SAAAI,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKlC,MAAMG,gBAAgB,GAAG,gBAAgB;AACzC,MAAMC,sBAAsB,GAAG,uBAAuB;AACtD,MAAMC,iBASL,GAAG;EACFH,OAAO,EAAE;IACPI,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,IAAI,EAAE,kBAAkBJ,sBAAsB;MAChD,CAAC;MACDK,IAAI,EAAE;QACJD,IAAI,EAAE,wBAAwBJ,sBAAsB;MACtD;IACF,CAAC;IACDM,oBAAoB,EAAE;EACxB,CAAC;EACDC,IAAI,EAAE;IACJL,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,IAAI,EAAE,uBAAuBJ,sBAAsB;MACrD,CAAC;MACDK,IAAI,EAAE;QACJD,IAAI,EAAE,6BAA6BJ,sBAAsB;MAC3D;IACF,CAAC;IACDM,oBAAoB,EAAE;EACxB,CAAC;EACDE,IAAI,EAAE;IACJN,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,IAAI,EAAE,uBAAuBJ,sBAAsB;MACrD,CAAC;MACDK,IAAI,EAAE;QACJD,IAAI,EAAE,6BAA6BJ,sBAAsB;MAC3D;IACF,CAAC;IACDM,oBAAoB,EAAE;EACxB,CAAC;EACDG,KAAK,EAAE;IACLP,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,IAAI,EAAE,wBAAwBJ,sBAAsB;MACtD,CAAC;MACDK,IAAI,EAAE;QACJD,IAAI,EAAE,8BAA8BJ,sBAAsB;MAC5D;IACF,CAAC;IACDM,oBAAoB,EAAE;EACxB,CAAC;EACDI,MAAM,EAAE;IACNR,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,IAAI,EAAE,yBAAyBJ,sBAAsB;MACvD,CAAC;MACDK,IAAI,EAAE;QACJD,IAAI,EAAE,+BAA+BJ,sBAAsB;MAC7D;IACF,CAAC;IACDM,oBAAoB,EAAE;EACxB,CAAC;EACDK,OAAO,EAAE;IACPT,KAAK,EAAE;MACLC,KAAK,EAAE;QACLC,IAAI,EAAE,0BAA0BJ,sBAAsB;MACxD,CAAC;MACDK,IAAI,EAAE;QACJD,IAAI,EAAE,gCAAgCJ,sBAAsB;MAC9D;IACF,CAAC;IACDM,oBAAoB,EAAE;EACxB;AACF,CAAC;AAEM,MAAMM,uBAA0D,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;EAC3F,OAAO,IAAAC,iCAAgB,EAACF,MAAM,EAAE,CAC9B,SAAS,EACT,MAAOA,MAAM,IAAK;IAChB,MAAMG,4BAA4B,CAChCH,MAAM,EACNC,KAAK,EACLD,MAAM,CAACI,UAAU,CAACC,WAAW,EAC7BJ,KAAK,EAAEK,UAAU,IAAI,GACvB,CAAC;IACD,OAAON,MAAM;EACf,CAAC,CACF,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAO,OAAA,CAAAR,uBAAA,GAAAA,uBAAA;AAOO,eAAeI,4BAA4BA,CAChDH,MAA8C,EAC9CC,KAAiC,EACjCI,WAAmB,EACnBC,UAAkB,EAClB;EACA,MAAME,iCAAiC,CAACH,WAAW,CAAC;EAEpD,MAAMI,MAAM,GAAG,IAAAC,gDAAsB,EAACV,MAAM,EAAEC,KAAK,CAAC;EACpD,MAAMU,UAAU,GAAG,IAAAC,oDAA0B,EAACZ,MAAM,EAAEC,KAAK,CAAC;EAE5D,MAAMY,OAAO,CAACC,GAAG,CAAC,CAChBC,oCAAoC,CAACN,MAAM,EAAE,OAAO,EAAEJ,WAAW,EAAEC,UAAU,CAAC,EAC9ES,oCAAoC,CAACJ,UAAU,EAAE,MAAM,EAAEN,WAAW,EAAEC,UAAU,CAAC,CAClF,CAAC;AACJ;AAEA,eAAeE,iCAAiCA,CAACH,WAAmB,EAAE;EACpE,MAAMW,eAAe,GAAGzB,eAAI,CAAC0B,IAAI,CAACZ,WAAW,EAAE,sBAAsB,CAAC;EAEtE,MAAMQ,OAAO,CAACC,GAAG,CACfI,MAAM,CAACC,MAAM,CAAC/B,iBAAiB,CAAC,CAACgC,GAAG,CAAC,OAAO;IAAE/B;EAAM,CAAC,KAAK;IACxD,MAAMwB,OAAO,CAACC,GAAG,CACfI,MAAM,CAACC,MAAM,CAAC9B,KAAK,CAAC,CAAC+B,GAAG,CAAC,OAAO;MAAE7B,IAAI,EAAE8B;IAAS,CAAC,KAAK;MACrD,IAAI,MAAMC,kBAAE,CAACC,UAAU,CAAChC,eAAI,CAACiC,OAAO,CAACR,eAAe,EAAEK,QAAQ,CAAC,CAAC,EAAE;QAChE,MAAMC,kBAAE,CAACG,MAAM,CAAClC,eAAI,CAACiC,OAAO,CAACR,eAAe,EAAEK,QAAQ,CAAC,CAAC;MAC1D;IACF,CAAC,CACH,CAAC;EACH,CAAC,CACH,CAAC;AACH;AAEO,eAAeN,oCAAoCA,CACxDf,MAAiC,EACjC0B,KAAuB,EACvBrB,WAAmB,EACnBC,UAAkB,GAAG,GAAG,EACxB;EACA,IAAI,CAACN,MAAM,EAAE;EACb,MAAM2B,KAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;EAE7E,MAAMd,OAAO,CAACC,GAAG,CACfa,KAAK,CAACP,GAAG,CAAC,MAAOQ,QAAQ,IAAK;IAC5B;IACA,MAAMC,KAAK,GAAG7B,MAAM,CAAC4B,QAAQ,CAAC;IAE9B,IAAIC,KAAK,EAAE;MACT,IAAI7B,MAAM,CAAC8B,4BAA4B,EAAE;QACvC,MAAM;UAAEC;QAAO,CAAC,GAAG,MAAM,IAAAC,gCAAkB,EACzC;UAAE3B,WAAW;UAAE4B,SAAS,EAAE/C;QAAiB,CAAC,EAC5C;UACEgD,GAAG,EAAEL;QACP,CACF,CAAC;QAED,OAAOM,aAAa,CAAC9B,WAAW,EAAEuB,QAAQ,EAAEF,KAAK,EAAEK,MAAM,CAAC;MAC5D;MAEA,MAAMK,UAAU,GAAGhD,iBAAiB,CAACwC,QAAQ,CAAC,CAACnC,oBAAoB;MACnE,MAAM4C,IAAI,GAAG/B,UAAU,GAAG8B,UAAU,CAAC,CAAC;MACtC,MAAME,UAAU,GAAG,GAAG,GAAGF,UAAU;MAEnC,MAAMG,UAAU,GAAG,MAAM,IAAAC,0CAA4B,EAAC;QACpDC,KAAK,EAAEH,UAAU;QACjBI,MAAM,EAAEJ,UAAU;QAClBK,eAAe,EAAE3C,MAAM,CAAC2C,eAAe,IAAI,aAAa;QACxDC,UAAU,EAAE;MACd,CAAC,CAAC;MAEF,MAAM;QAAEb,MAAM,EAAEc;MAAW,CAAC,GAAG,MAAM,IAAAb,gCAAkB,EACrD;QACE3B,WAAW;QACX4B,SAAS,EAAE/C;MACb,CAAC,EACD;QACEgD,GAAG,EAAEL,KAAK;QACVe,UAAU,EAAE,SAAS;QACrBH,KAAK,EAAEJ,IAAI;QACXK,MAAM,EAAEL;MACV,CACF,CAAC;MAED,MAAMS,aAAa,GAAG,MAAM,IAAAC,kCAAoB,EAAC;QAC/CR,UAAU;QACVM,UAAU;QACVG,CAAC,EAAE,CAACV,UAAU,GAAGD,IAAI,IAAI,CAAC;QAC1BY,CAAC,EAAE,CAACX,UAAU,GAAGD,IAAI,IAAI;MAC3B,CAAC,CAAC;MAEF,MAAMF,aAAa,CAAC9B,WAAW,EAAEuB,QAAQ,EAAEF,KAAK,EAAEoB,aAAa,CAAC;IAClE;IACA,OAAO,IAAI;EACb,CAAC,CACH,CAAC;AACH;AAEA,eAAeX,aAAaA,CAC1B9B,WAAmB,EACnBuB,QAAuB,EACvBF,KAAuB,EACvBoB,aAAqB,EACrB;EACA,MAAM9B,eAAe,GAAGzB,eAAI,CAAC0B,IAAI,CAACZ,WAAW,EAAE,sBAAsB,CAAC;EACtE;EACA,MAAM6C,UAAU,GAAG3D,eAAI,CAAC0B,IAAI,CAACD,eAAe,EAAE5B,iBAAiB,CAACwC,QAAQ,CAAC,CAACvC,KAAK,CAACqC,KAAK,CAAC,CAACnC,IAAI,CAAC;EAE5F,MAAM4D,MAAM,GAAG5D,eAAI,CAAC6D,OAAO,CAACF,UAAU,CAAC;EACvC;EACA,MAAM5B,kBAAE,CAAC+B,SAAS,CAACF,MAAM,CAAC;EAC1B,MAAM7B,kBAAE,CAACgC,SAAS,CAACJ,UAAU,EAAEJ,aAAa,CAAC;AAC/C","ignoreList":[]}
1
+ {"version":3,"file":"withAndroidSplashImages.js","names":["_configPlugins","data","require","_imageUtils","_fsExtra","_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","props","withDangerousMod","setSplashImageDrawablesAsync","modRequest","projectRoot","imageWidth","exports","clearAllExistingSplashImagesAsync","splash","getAndroidSplashConfig","darkSplash","getAndroidDarkSplashConfig","Promise","all","setSplashImageDrawablesForThemeAsync","androidMainPath","join","Object","values","map","filePath","fs","pathExists","resolve","remove","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","ensureDir","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-extra';\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> = (config, props) => {\n return withDangerousMod(config, [\n 'android',\n async (config) => {\n await setSplashImageDrawablesAsync(\n config,\n props,\n config.modRequest.projectRoot,\n props?.imageWidth ?? 200\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 if (await fs.pathExists(path.resolve(androidMainPath, filePath))) {\n await fs.remove(path.resolve(androidMainPath, filePath));\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.ensureDir(folder);\n await fs.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.ensureDir(lightFolder);\n await fs.copyFile(path.join(projectRoot, drawable.icon), lightDrawablePath);\n\n if (drawable.darkIcon) {\n const darkFolder = path.dirname(darkDrawablePath);\n await fs.ensureDir(darkFolder);\n await fs.copyFile(path.join(projectRoot, drawable.darkIcon), darkDrawablePath);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -57,7 +57,7 @@ const withAndroidSplashStyles = (config, {
57
57
  });
58
58
  config = (0, _configPlugins().withAndroidStyles)(config, config => {
59
59
  config.modResults = removeOldSplashStyleGroup(config.modResults);
60
- config.modResults = addSplashScreenStyle(config.modResults, isLegacyConfig, splashConfig?.enableFullScreenImage_legacy ?? false);
60
+ config.modResults = addSplashScreenStyle(config.modResults, isLegacyConfig);
61
61
  return config;
62
62
  });
63
63
  return config;
@@ -65,7 +65,7 @@ const withAndroidSplashStyles = (config, {
65
65
 
66
66
  // Add the style that extends Theme.SplashScreen
67
67
  exports.withAndroidSplashStyles = withAndroidSplashStyles;
68
- function addSplashScreenStyle(styles, isLegacyConfig, enableFullScreen) {
68
+ function addSplashScreenStyle(styles, isLegacyConfig) {
69
69
  const {
70
70
  resources
71
71
  } = styles;
@@ -86,12 +86,7 @@ function addSplashScreenStyle(styles, isLegacyConfig, enableFullScreen) {
86
86
  name: 'windowSplashScreenBackground'
87
87
  },
88
88
  _: '@color/splashscreen_background'
89
- }, enableFullScreen ? {
90
- $: {
91
- name: 'android:windowBackground'
92
- },
93
- _: '@drawable/splashscreen_logo'
94
- } : {
89
+ }, {
95
90
  $: {
96
91
  name: 'windowSplashScreenAnimatedIcon'
97
92
  },
@@ -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","enableFullScreenImage_legacy","exports","styles","enableFullScreen","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(\n config.modResults,\n isLegacyConfig,\n splashConfig?.enableFullScreenImage_legacy ?? false\n );\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 enableFullScreen: 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 enableFullScreen\n ? {\n $: { name: 'android:windowBackground' },\n _: '@drawable/splashscreen_logo',\n }\n : {\n $: { name: 'windowSplashScreenAnimatedIcon' },\n _: '@drawable/splashscreen_logo',\n },\n {\n $: { name: 'postSplashScreenTheme' },\n _: '@style/AppTheme',\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":";;;;;;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,wBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,uBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,MAAMI,kBAAkB,GAAG;EACzBC,IAAI,EAAE,wBAAwB;EAC9BC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,iBAAiB,GAAG,yBAAyB;AAE5C,MAAMC,uBAGX,GAAGA,CAACC,MAAM,EAAE;EAAEC,YAAY;EAAEC;AAAe,CAAC,KAAK;EACjDF,MAAM,GAAG,IAAAG,kCAAiB,EAACH,MAAM,EAAGA,MAAM,IAAK;IAC7C,MAAMI,eAAe,GAAGC,wBAAwB,CAACL,MAAM,EAAEC,YAAY,CAAC;IACtE,IAAI,CAACG,eAAe,EAAE;MACpB,OAAOJ,MAAM;IACf;IACAA,MAAM,CAACM,UAAU,GAAGC,uBAAuB,CAACP,MAAM,CAACM,UAAU,EAAEF,eAAe,CAAC;IAC/E,OAAOJ,MAAM;EACf,CAAC,CAAC;EACFA,MAAM,GAAG,IAAAQ,uCAAsB,EAACR,MAAM,EAAGA,MAAM,IAAK;IAClD,MAAMI,eAAe,GAAGK,4BAA4B,CAACT,MAAM,EAAEC,YAAY,CAAC;IAC1E,IAAI,CAACG,eAAe,EAAE;MACpB,OAAOJ,MAAM;IACf;IACAA,MAAM,CAACM,UAAU,GAAGC,uBAAuB,CAACP,MAAM,CAACM,UAAU,EAAEF,eAAe,CAAC;IAC/E,OAAOJ,MAAM;EACf,CAAC,CAAC;EACFA,MAAM,GAAG,IAAAU,kCAAiB,EAACV,MAAM,EAAGA,MAAM,IAAK;IAC7CA,MAAM,CAACM,UAAU,GAAGK,yBAAyB,CAACX,MAAM,CAACM,UAAU,CAAC;IAChEN,MAAM,CAACM,UAAU,GAAGM,oBAAoB,CACtCZ,MAAM,CAACM,UAAU,EACjBJ,cAAc,EACdD,YAAY,EAAEY,4BAA4B,IAAI,KAChD,CAAC;IACD,OAAOb,MAAM;EACf,CAAC,CAAC;EACF,OAAOA,MAAM;AACf,CAAC;;AAED;AAAAc,OAAA,CAAAf,uBAAA,GAAAA,uBAAA;AACA,SAASa,oBAAoBA,CAC3BG,MAA2C,EAC3Cb,cAAuB,EACvBc,gBAAyB,EACzB;EACA,MAAM;IAAEC;EAAU,CAAC,GAAGF,MAAM;EAC5B,MAAM;IAAEG,KAAK,GAAG;EAAG,CAAC,GAAGD,SAAS;EAEhC,IAAIE,IAAI;EACR,IAAIjB,cAAc,EAAE;IAClBiB,IAAI,GAAG,CACL;MACEC,CAAC,EAAE;QAAExB,IAAI,EAAE;MAA2B,CAAC;MACvCyB,CAAC,EAAE;IACL,CAAC,CACF;EACH,CAAC,MAAM;IACLF,IAAI,GAAG,CACL;MACEC,CAAC,EAAE;QAAExB,IAAI,EAAE;MAA+B,CAAC;MAC3CyB,CAAC,EAAE;IACL,CAAC,EACDL,gBAAgB,GACZ;MACEI,CAAC,EAAE;QAAExB,IAAI,EAAE;MAA2B,CAAC;MACvCyB,CAAC,EAAE;IACL,CAAC,GACD;MACED,CAAC,EAAE;QAAExB,IAAI,EAAE;MAAiC,CAAC;MAC7CyB,CAAC,EAAE;IACL,CAAC,EACL;MACED,CAAC,EAAE;QAAExB,IAAI,EAAE;MAAwB,CAAC;MACpCyB,CAAC,EAAE;IACL,CAAC,CACF;EACH;EAEAN,MAAM,CAACE,SAAS,CAACC,KAAK,GAAG,CACvB,GAAGA,KAAK,CAACI,MAAM,CAAC,CAAC;IAAEF;EAAE,CAAC,KAAKA,CAAC,CAACxB,IAAI,KAAK,wBAAwB,CAAC,EAC/D;IACEwB,CAAC,EAAE;MACD,GAAGzB,kBAAkB;MACrBE,MAAM,EAAEK,cAAc,GAAG,UAAU,GAAG;IACxC,CAAC;IACDiB;EACF,CAAC,CACF;EAED,OAAOJ,MAAM;AACf;;AAEA;AACO,SAASJ,yBAAyBA,CAACI,MAA2C,EAAE;EACrF,MAAMQ,KAAK,GAAG;IACZ3B,IAAI,EAAE,wBAAwB;IAC9BC,MAAM,EAAE;EACV,CAAC;EAEDkB,MAAM,CAACE,SAAS,CAACC,KAAK,GAAGH,MAAM,CAACE,SAAS,CAACC,KAAK,EAAEI,MAAM,GAAG,CAAC;IAAEF,CAAC,EAAEI;EAAK,CAAC,KAAK;IACzE,IAAIC,OAAO,GAAGD,IAAI,CAAC5B,IAAI,KAAK2B,KAAK,CAAC3B,IAAI;IACtC,IAAI2B,KAAK,CAAC1B,MAAM,IAAI,IAAI,IAAI4B,OAAO,EAAE;MACnCA,OAAO,GAAGD,IAAI,CAAC3B,MAAM,KAAK0B,KAAK,CAAC1B,MAAM;IACxC;IACA,OAAO,CAAC4B,OAAO;EACjB,CAAC,CAAC;EAEF,OAAOV,MAAM;AACf;AAEO,SAASV,wBAAwBA,CACtCL,MAAkB,EAClB0B,KAAiC,EAClB;EACf,OAAO,IAAAC,gDAAsB,EAAC3B,MAAM,EAAE0B,KAAK,CAAC,EAAEtB,eAAe,IAAI,IAAI;AACvE;AAEO,SAASK,4BAA4BA,CAC1CT,MAAkB,EAClB0B,KAAiC,EAClB;EACf,OAAO,IAAAE,oDAA0B,EAAC5B,MAAM,EAAE0B,KAAK,CAAC,EAAEtB,eAAe,IAAI,IAAI;AAC3E;AAEO,SAASyB,uBAAuBA,CAACd,MAA2C,EAAE;EACnF;EACA,OAAOe,8BAAa,CAACC,MAAM,CAACC,iBAAiB,CAACjB,MAAM,EAAE;IACpDkB,GAAG,EAAE,IAAI;IACTC,KAAK,EAAE,6BAA6B;IACpCtC,IAAI,EAAE,sCAAsC;IAC5CC,MAAM,EAAEF;EACV,CAAC,CAAC;AACJ;AAEO,SAASY,uBAAuBA,CACrC4B,MAA2C,EAC3C/B,eAA8B,EACO;EACrC,OAAOgC,iBAAM,CAACC,gBAAgB,CAACF,MAAM,EAAE;IAAED,KAAK,EAAE9B,eAAe;IAAER,IAAI,EAAEE;EAAkB,CAAC,CAAC;AAC7F","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 }\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":[]}
@@ -93,11 +93,7 @@ async function writeColorsContentsJsonFileAsync({
93
93
  },
94
94
  'color-space': 'srgb'
95
95
  },
96
- idiom: 'universal',
97
- appearances: [{
98
- appearance: 'luminosity',
99
- value: 'light'
100
- }]
96
+ idiom: 'universal'
101
97
  }];
102
98
  if (darkColor) {
103
99
  colors.push({
@@ -1 +1 @@
1
- {"version":3,"file":"withIosSplashColors.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_fsExtra","_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","remove","writeColorsContentsJsonFileAsync","assetPath","color","parseColor","darkColor","colors","components","alpha","blue","rgb","green","red","idiom","appearances","appearance","value","push","writeContentsJsonAsync","directory","ensureDir","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-extra';\n// @ts-ignore\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.remove(colorsetPath);\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 appearances: [\n {\n appearance: 'luminosity',\n value: 'light',\n },\n ],\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.ensureDir(directory);\n\n await fs.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 );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withIosSplashColors.js","names":["_configPlugins","data","require","_debug","_interopRequireDefault","_fsExtra","_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","remove","writeColorsContentsJsonFileAsync","assetPath","color","parseColor","darkColor","colors","components","alpha","blue","rgb","green","red","idiom","push","appearances","appearance","value","writeContentsJsonAsync","directory","ensureDir","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-extra';\n// @ts-ignore\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.remove(colorsetPath);\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.ensureDir(directory);\n\n await fs.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 );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/prebuild-config",
3
- "version": "8.0.22",
3
+ "version": "8.0.23",
4
4
  "description": "Get the prebuild config",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -42,7 +42,7 @@
42
42
  "@expo/config-types": "^52.0.0",
43
43
  "@expo/image-utils": "^0.6.0",
44
44
  "@expo/json-file": "^9.0.0",
45
- "@react-native/normalize-colors": "0.76.3",
45
+ "@react-native/normalize-colors": "0.76.5",
46
46
  "debug": "^4.3.1",
47
47
  "fs-extra": "^9.0.0",
48
48
  "resolve-from": "^5.0.0",
@@ -52,5 +52,5 @@
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  },
55
- "gitHead": "cc9b120d0f3c71f546db69e8adf4f0f3e9d5c14a"
55
+ "gitHead": "1faceb8d22bebee4571ef3a2f9578bec33dc26b1"
56
56
  }