@expo/prebuild-config 2.0.6 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/plugins/unversioned/expo-document-picker.js +0 -1
- package/build/plugins/unversioned/expo-document-picker.js.map +1 -1
- package/build/plugins/unversioned/expo-splash-screen/getIosSplashConfig.js +1 -1
- package/build/plugins/unversioned/expo-splash-screen/getIosSplashConfig.js.map +1 -1
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.d.ts +4 -0
- package/build/plugins/unversioned/expo-splash-screen/{withAndroidSplashMainActivity.js → withAndroidSplashLegacyMainActivity.js} +7 -7
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js.map +1 -0
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.js +68 -5
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.js.map +1 -1
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.d.ts +3 -0
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.js +63 -0
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.js.map +1 -0
- package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js +1 -1
- package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js.map +1 -1
- package/build/plugins/withDefaultPlugins.js +1 -1
- package/build/plugins/withDefaultPlugins.js.map +1 -1
- package/package.json +6 -5
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.d.ts +0 -4
- package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.js.map +0 -1
|
@@ -32,7 +32,6 @@ var _default = (0, _createLegacyPlugin().createLegacyPlugin)({
|
|
|
32
32
|
var _config$ios;
|
|
33
33
|
|
|
34
34
|
if ((_config$ios = config.ios) !== null && _config$ios !== void 0 && _config$ios.usesIcloudStorage) {
|
|
35
|
-
// TODO: need access to the appleTeamId for this one!
|
|
36
35
|
_configPlugins().WarningAggregator.addWarningIOS('ios.usesIcloudStorage', 'Install expo-document-picker to enable the ios.usesIcloudStorage feature' // TODO: add a link to a docs page with more information on how to do this
|
|
37
36
|
);
|
|
38
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/unversioned/expo-document-picker.ts"],"names":["packageName","fallback","config","ios","usesIcloudStorage","WarningAggregator","addWarningIOS"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,sBADmB;;AAEhCC,EAAAA,QAAQ,CAACC,MAAD,EAAS;AAAA;;AACf,uBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,iBAAhB,EAAmC;
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/unversioned/expo-document-picker.ts"],"names":["packageName","fallback","config","ios","usesIcloudStorage","WarningAggregator","addWarningIOS"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,sBADmB;;AAEhCC,EAAAA,QAAQ,CAACC,MAAD,EAAS;AAAA;;AACf,uBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,iBAAhB,EAAmC;AACjCC,yCAAkBC,aAAlB,CACE,uBADF,EAEE,0EAFF,CAGE;AAHF;AAKD;;AACD,WAAOJ,MAAP;AACD;;AAX+B,CAAnB,C","sourcesContent":["import { WarningAggregator } from '@expo/config-plugins';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nexport default createLegacyPlugin({\n packageName: 'expo-document-picker',\n fallback(config) {\n if (config.ios?.usesIcloudStorage) {\n WarningAggregator.addWarningIOS(\n 'ios.usesIcloudStorage',\n 'Install expo-document-picker to enable the ios.usesIcloudStorage feature'\n // TODO: add a link to a docs page with more information on how to do this\n );\n }\n return config;\n },\n});\n"],"file":"expo-document-picker.js"}
|
|
@@ -77,7 +77,7 @@ function warnUnsupportedSplashProperties(config) {
|
|
|
77
77
|
var _config$ios3, _config$ios3$splash;
|
|
78
78
|
|
|
79
79
|
if ((_config$ios3 = config.ios) !== null && _config$ios3 !== void 0 && (_config$ios3$splash = _config$ios3.splash) !== null && _config$ios3$splash !== void 0 && _config$ios3$splash.xib) {
|
|
80
|
-
_configPlugins().WarningAggregator.addWarningIOS('
|
|
80
|
+
_configPlugins().WarningAggregator.addWarningIOS('ios.splash.xib', 'property is not supported in prebuild. Please use ios.splash.image instead.');
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
//# sourceMappingURL=getIosSplashConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/getIosSplashConfig.ts"],"names":["defaultResizeMode","defaultBackgroundColor","getIosSplashConfig","config","ios","splash","image","resizeMode","backgroundColor","tabletImage","tabletBackgroundColor","dark","warnUnsupportedSplashProperties","xib","WarningAggregator","addWarningIOS"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA,MAAMA,iBAAiB,GAAG,SAA1B;AACA,MAAMC,sBAAsB,GAAG,SAA/B;;AAkBA;AACO,SAASC,kBAAT,CAA4BC,MAA5B,EAAwE;AAAA;;AAC7E;AACA;AACA,qBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,MAAhB,EAAwB;AAAA;;AACtB,UAAMA,MAAM,mBAAGF,MAAM,CAACC,GAAV,iDAAG,aAAYC,MAA3B;AACA,UAAMC,KAAK,oBAAGD,MAAM,CAACC,KAAV,yDAAmB,IAA9B;AACA,WAAO;AACLA,MAAAA,KADK;AAELC,MAAAA,UAAU,wBAAEF,MAAM,CAACE,UAAT,mEAAuBP,iBAF5B;AAGLQ,MAAAA,eAAe,2BAAEH,MAAM,CAACG,eAAT,yEAA4BP,sBAHtC;AAILQ,MAAAA,WAAW,yBAAEJ,MAAM,CAACI,WAAT,qEAAwB,IAJ9B;AAKLC,MAAAA,qBAAqB,EAAEL,MAAM,CAACK,qBALzB;AAMLC,MAAAA,IAAI,EAAE;AACJL,QAAAA,KAAK,wCAAED,MAAM,CAACM,IAAT,iDAAE,aAAaL,KAAf,mEAAwB,IADzB;AAEJE,QAAAA,eAAe,mBAAEH,MAAM,CAACM,IAAT,kDAAE,cAAaH,eAF1B;AAGJC,QAAAA,WAAW,4CAAEJ,MAAM,CAACM,IAAT,kDAAE,cAAaF,WAAf,yEAA8B,IAHrC;AAIJC,QAAAA,qBAAqB,mBAAEL,MAAM,CAACM,IAAT,kDAAE,cAAaD;AAJhC;AAND,KAAP;AAaD;;AAED,MAAIP,MAAM,CAACE,MAAX,EAAmB;AAAA;;AACjB,UAAMA,MAAM,GAAGF,MAAM,CAACE,MAAtB;AACA,UAAMC,KAAK,qBAAGD,MAAM,CAACC,KAAV,2DAAmB,IAA9B;AACA,WAAO;AACLA,MAAAA,KADK;AAELC,MAAAA,UAAU,yBAAEF,MAAM,CAACE,UAAT,qEAAuBP,iBAF5B;AAGLQ,MAAAA,eAAe,4BAAEH,MAAM,CAACG,eAAT,2EAA4BP,sBAHtC;AAILQ,MAAAA,WAAW,EAAE,IAJR;AAKLC,MAAAA,qBAAqB,EAAE,IALlB;AAMLC,MAAAA,IAAI,EAAE;AACJL,QAAAA,KAAK,EAAE,IADH;AAEJE,QAAAA,eAAe,EAAE,IAFb;AAGJC,QAAAA,WAAW,EAAE,IAHT;AAIJC,QAAAA,qBAAqB,EAAE;AAJnB;AAND,KAAP;AAaD;;AAED,SAAO;AACLF,IAAAA,eAAe,EAAE,SADZ;AAELD,IAAAA,UAAU,EAAE,SAFP;AAGLE,IAAAA,WAAW,EAAE,IAHR;AAILC,IAAAA,qBAAqB,EAAE;AAJlB,GAAP;AAMD;;AAEM,SAASE,+BAAT,CAAyCT,MAAzC,EAA6D;AAAA;;AAClE,sBAAIA,MAAM,CAACC,GAAX,gEAAI,aAAYC,MAAhB,gDAAI,oBAAoBQ,GAAxB,EAA6B;AAC3BC,uCAAkBC,aAAlB,CACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/getIosSplashConfig.ts"],"names":["defaultResizeMode","defaultBackgroundColor","getIosSplashConfig","config","ios","splash","image","resizeMode","backgroundColor","tabletImage","tabletBackgroundColor","dark","warnUnsupportedSplashProperties","xib","WarningAggregator","addWarningIOS"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA,MAAMA,iBAAiB,GAAG,SAA1B;AACA,MAAMC,sBAAsB,GAAG,SAA/B;;AAkBA;AACO,SAASC,kBAAT,CAA4BC,MAA5B,EAAwE;AAAA;;AAC7E;AACA;AACA,qBAAIA,MAAM,CAACC,GAAX,wCAAI,YAAYC,MAAhB,EAAwB;AAAA;;AACtB,UAAMA,MAAM,mBAAGF,MAAM,CAACC,GAAV,iDAAG,aAAYC,MAA3B;AACA,UAAMC,KAAK,oBAAGD,MAAM,CAACC,KAAV,yDAAmB,IAA9B;AACA,WAAO;AACLA,MAAAA,KADK;AAELC,MAAAA,UAAU,wBAAEF,MAAM,CAACE,UAAT,mEAAuBP,iBAF5B;AAGLQ,MAAAA,eAAe,2BAAEH,MAAM,CAACG,eAAT,yEAA4BP,sBAHtC;AAILQ,MAAAA,WAAW,yBAAEJ,MAAM,CAACI,WAAT,qEAAwB,IAJ9B;AAKLC,MAAAA,qBAAqB,EAAEL,MAAM,CAACK,qBALzB;AAMLC,MAAAA,IAAI,EAAE;AACJL,QAAAA,KAAK,wCAAED,MAAM,CAACM,IAAT,iDAAE,aAAaL,KAAf,mEAAwB,IADzB;AAEJE,QAAAA,eAAe,mBAAEH,MAAM,CAACM,IAAT,kDAAE,cAAaH,eAF1B;AAGJC,QAAAA,WAAW,4CAAEJ,MAAM,CAACM,IAAT,kDAAE,cAAaF,WAAf,yEAA8B,IAHrC;AAIJC,QAAAA,qBAAqB,mBAAEL,MAAM,CAACM,IAAT,kDAAE,cAAaD;AAJhC;AAND,KAAP;AAaD;;AAED,MAAIP,MAAM,CAACE,MAAX,EAAmB;AAAA;;AACjB,UAAMA,MAAM,GAAGF,MAAM,CAACE,MAAtB;AACA,UAAMC,KAAK,qBAAGD,MAAM,CAACC,KAAV,2DAAmB,IAA9B;AACA,WAAO;AACLA,MAAAA,KADK;AAELC,MAAAA,UAAU,yBAAEF,MAAM,CAACE,UAAT,qEAAuBP,iBAF5B;AAGLQ,MAAAA,eAAe,4BAAEH,MAAM,CAACG,eAAT,2EAA4BP,sBAHtC;AAILQ,MAAAA,WAAW,EAAE,IAJR;AAKLC,MAAAA,qBAAqB,EAAE,IALlB;AAMLC,MAAAA,IAAI,EAAE;AACJL,QAAAA,KAAK,EAAE,IADH;AAEJE,QAAAA,eAAe,EAAE,IAFb;AAGJC,QAAAA,WAAW,EAAE,IAHT;AAIJC,QAAAA,qBAAqB,EAAE;AAJnB;AAND,KAAP;AAaD;;AAED,SAAO;AACLF,IAAAA,eAAe,EAAE,SADZ;AAELD,IAAAA,UAAU,EAAE,SAFP;AAGLE,IAAAA,WAAW,EAAE,IAHR;AAILC,IAAAA,qBAAqB,EAAE;AAJlB,GAAP;AAMD;;AAEM,SAASE,+BAAT,CAAyCT,MAAzC,EAA6D;AAAA;;AAClE,sBAAIA,MAAM,CAACC,GAAX,gEAAI,aAAYC,MAAhB,gDAAI,oBAAoBQ,GAAxB,EAA6B;AAC3BC,uCAAkBC,aAAlB,CACE,gBADF,EAEE,6EAFF;AAID;AACF","sourcesContent":["import { WarningAggregator } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\ntype ExpoConfigIosSplash = NonNullable<NonNullable<ExpoConfig['ios']>['splash']>;\n\nconst defaultResizeMode = 'contain';\nconst defaultBackgroundColor = '#ffffff';\n\nexport interface IOSSplashConfig {\n image?: string | null;\n // tabletImage: string | null;\n backgroundColor: string;\n resizeMode: NonNullable<ExpoConfigIosSplash['resizeMode']>;\n tabletImage: string | null;\n // TODO: These are here just to test the functionality, the API should be more robust and account for tablet images.\n tabletBackgroundColor: string | null;\n dark?: {\n image?: string | null;\n backgroundColor?: string | null;\n tabletImage?: string | null;\n tabletBackgroundColor?: string | null;\n };\n}\n\n// TODO: Maybe use an array on splash with theme value. Then remove the array in serialization for legacy and manifest.\nexport function getIosSplashConfig(config: ExpoConfig): IOSSplashConfig | 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 iOS.\n if (config.ios?.splash) {\n const splash = config.ios?.splash;\n const image = splash.image ?? null;\n return {\n image,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n backgroundColor: splash.backgroundColor ?? defaultBackgroundColor,\n tabletImage: splash.tabletImage ?? null,\n tabletBackgroundColor: splash.tabletBackgroundColor,\n dark: {\n image: splash.dark?.image ?? null,\n backgroundColor: splash.dark?.backgroundColor,\n tabletImage: splash.dark?.tabletImage ?? null,\n tabletBackgroundColor: splash.dark?.tabletBackgroundColor,\n },\n };\n }\n\n if (config.splash) {\n const splash = config.splash;\n const image = splash.image ?? null;\n return {\n image,\n resizeMode: splash.resizeMode ?? defaultResizeMode,\n backgroundColor: splash.backgroundColor ?? defaultBackgroundColor,\n tabletImage: null,\n tabletBackgroundColor: null,\n dark: {\n image: null,\n backgroundColor: null,\n tabletImage: null,\n tabletBackgroundColor: null,\n },\n };\n }\n\n return {\n backgroundColor: '#ffffff',\n resizeMode: 'contain',\n tabletImage: null,\n tabletBackgroundColor: null,\n };\n}\n\nexport function warnUnsupportedSplashProperties(config: ExpoConfig) {\n if (config.ios?.splash?.xib) {\n WarningAggregator.addWarningIOS(\n 'ios.splash.xib',\n 'property is not supported in prebuild. Please use ios.splash.image instead.'\n );\n }\n}\n"],"file":"getIosSplashConfig.js"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
+
import { ExpoConfig } from '@expo/config-types';
|
|
3
|
+
export declare const withAndroidSplashLegacyMainActivity: ConfigPlugin;
|
|
4
|
+
export declare function setSplashScreenLegacyMainActivity(config: Pick<ExpoConfig, 'android' | 'androidStatusBar' | 'userInterfaceStyle'>, mainActivity: string, language: 'java' | 'kt'): string;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
6
|
+
exports.setSplashScreenLegacyMainActivity = setSplashScreenLegacyMainActivity;
|
|
7
|
+
exports.withAndroidSplashLegacyMainActivity = void 0;
|
|
8
8
|
|
|
9
9
|
function _configPlugins() {
|
|
10
10
|
const data = require("@expo/config-plugins");
|
|
@@ -52,16 +52,16 @@ const debug = (0, _debug().default)('expo:prebuild-config:expo-splash-screen:and
|
|
|
52
52
|
|
|
53
53
|
const SHOW_SPLASH_ID = 'expo-splash-screen-mainActivity-onCreate-show-splash';
|
|
54
54
|
|
|
55
|
-
const
|
|
55
|
+
const withAndroidSplashLegacyMainActivity = config => {
|
|
56
56
|
return (0, _configPlugins().withMainActivity)(config, config => {
|
|
57
|
-
config.modResults.contents =
|
|
57
|
+
config.modResults.contents = setSplashScreenLegacyMainActivity(config, config.modResults.contents, config.modResults.language);
|
|
58
58
|
return config;
|
|
59
59
|
});
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
exports.
|
|
62
|
+
exports.withAndroidSplashLegacyMainActivity = withAndroidSplashLegacyMainActivity;
|
|
63
63
|
|
|
64
|
-
function
|
|
64
|
+
function setSplashScreenLegacyMainActivity(config, mainActivity, language) {
|
|
65
65
|
var _config$androidStatus;
|
|
66
66
|
|
|
67
67
|
debug(`Modify with language: "${language}"`);
|
|
@@ -126,4 +126,4 @@ function setSplashScreenMainActivity(config, mainActivity, language) {
|
|
|
126
126
|
|
|
127
127
|
return mainActivity;
|
|
128
128
|
}
|
|
129
|
-
//# sourceMappingURL=
|
|
129
|
+
//# sourceMappingURL=withAndroidSplashLegacyMainActivity.js.map
|
package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.ts"],"names":["debug","SHOW_SPLASH_ID","withAndroidSplashLegacyMainActivity","config","modResults","contents","setSplashScreenLegacyMainActivity","language","mainActivity","splashConfig","mod","src","tag","didClear","statusBarTranslucent","androidStatusBar","translucent","resizeMode","isJava","LE","AndroidConfig","UserInterfaceStyle","addJavaImports","match","onCreateBlock","anchor","offset","comment","newSrc","join","split","filter","line","test","toUpperCase"],"mappings":"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","sourcesContent":["import { AndroidConfig, ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { mergeContents, removeContents } from '@expo/config-plugins/build/utils/generateCode';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { 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 = config => {\n return withMainActivity(config, config => {\n config.modResults.contents = setSplashScreenLegacyMainActivity(\n config,\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 mainActivity: string,\n language: 'java' | 'kt'\n): string {\n debug(`Modify with language: \"${language}\"`);\n const splashConfig = getAndroidSplashConfig(config);\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 = AndroidConfig.UserInterfaceStyle.addJavaImports(\n mainActivity,\n [\n 'expo.modules.splashscreen.SplashScreen',\n 'expo.modules.splashscreen.SplashScreenImageResizeMode',\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"],"file":"withAndroidSplashLegacyMainActivity.js"}
|
|
@@ -15,6 +15,36 @@ function _configPlugins() {
|
|
|
15
15
|
return data;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
function _jsonFile() {
|
|
19
|
+
const data = _interopRequireDefault(require("@expo/json-file"));
|
|
20
|
+
|
|
21
|
+
_jsonFile = function () {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function _resolveFrom() {
|
|
29
|
+
const data = _interopRequireDefault(require("resolve-from"));
|
|
30
|
+
|
|
31
|
+
_resolveFrom = function () {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function _semver() {
|
|
39
|
+
const data = _interopRequireDefault(require("semver"));
|
|
40
|
+
|
|
41
|
+
_semver = function () {
|
|
42
|
+
return data;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
|
|
18
48
|
function _getAndroidSplashConfig() {
|
|
19
49
|
const data = require("./getAndroidSplashConfig");
|
|
20
50
|
|
|
@@ -45,10 +75,20 @@ function _withAndroidSplashImages() {
|
|
|
45
75
|
return data;
|
|
46
76
|
}
|
|
47
77
|
|
|
48
|
-
function
|
|
49
|
-
const data = require("./
|
|
78
|
+
function _withAndroidSplashLegacyMainActivity() {
|
|
79
|
+
const data = require("./withAndroidSplashLegacyMainActivity");
|
|
80
|
+
|
|
81
|
+
_withAndroidSplashLegacyMainActivity = function () {
|
|
82
|
+
return data;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
return data;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function _withAndroidSplashStrings() {
|
|
89
|
+
const data = require("./withAndroidSplashStrings");
|
|
50
90
|
|
|
51
|
-
|
|
91
|
+
_withAndroidSplashStrings = function () {
|
|
52
92
|
return data;
|
|
53
93
|
};
|
|
54
94
|
|
|
@@ -65,6 +105,8 @@ function _withAndroidSplashStyles() {
|
|
|
65
105
|
return data;
|
|
66
106
|
}
|
|
67
107
|
|
|
108
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
109
|
+
|
|
68
110
|
const withAndroidSplashScreen = config => {
|
|
69
111
|
var _config$androidStatus;
|
|
70
112
|
|
|
@@ -77,15 +119,36 @@ const withAndroidSplashScreen = config => {
|
|
|
77
119
|
var _config$androidStatus2, _config$androidStatus3, _config$androidStatus4;
|
|
78
120
|
|
|
79
121
|
if (backgroundColor.toLowerCase() !== ((_config$androidStatus2 = config.androidStatusBar) === null || _config$androidStatus2 === void 0 ? void 0 : (_config$androidStatus3 = _config$androidStatus2.backgroundColor) === null || _config$androidStatus3 === void 0 ? void 0 : (_config$androidStatus4 = _config$androidStatus3.toLowerCase) === null || _config$androidStatus4 === void 0 ? void 0 : _config$androidStatus4.call(_config$androidStatus3))) {
|
|
80
|
-
_configPlugins().WarningAggregator.addWarningAndroid('androidStatusBar.backgroundColor', '
|
|
122
|
+
_configPlugins().WarningAggregator.addWarningAndroid('androidStatusBar.backgroundColor', 'Color conflicts with the splash.backgroundColor');
|
|
81
123
|
}
|
|
82
124
|
} else {
|
|
83
125
|
if (!config.androidStatusBar) config.androidStatusBar = {};
|
|
84
126
|
config.androidStatusBar.backgroundColor = backgroundColor;
|
|
85
127
|
}
|
|
86
128
|
|
|
87
|
-
return (0, _configPlugins().withPlugins)(config, [_withAndroidSplashImages().withAndroidSplashImages, [_withAndroidSplashDrawables().withAndroidSplashDrawables, splashConfig],
|
|
129
|
+
return (0, _configPlugins().withPlugins)(config, [_withAndroidSplashImages().withAndroidSplashImages, [_withAndroidSplashDrawables().withAndroidSplashDrawables, splashConfig], ...(shouldUpdateLegacyMainActivity(config) ? [_withAndroidSplashLegacyMainActivity().withAndroidSplashLegacyMainActivity] : []), _withAndroidSplashStyles().withAndroidSplashStyles, _withAndroidSplashStrings().withAndroidSplashStrings]);
|
|
88
130
|
};
|
|
89
131
|
|
|
90
132
|
exports.withAndroidSplashScreen = withAndroidSplashScreen;
|
|
133
|
+
|
|
134
|
+
function shouldUpdateLegacyMainActivity(config) {
|
|
135
|
+
try {
|
|
136
|
+
var _config$_internal;
|
|
137
|
+
|
|
138
|
+
const projectRoot = (_config$_internal = config._internal) === null || _config$_internal === void 0 ? void 0 : _config$_internal.projectRoot;
|
|
139
|
+
const packagePath = (0, _resolveFrom().default)(projectRoot, 'expo-splash-screen/package.json');
|
|
140
|
+
|
|
141
|
+
if (packagePath) {
|
|
142
|
+
var _JsonFile$read$versio, _JsonFile$read$versio2;
|
|
143
|
+
|
|
144
|
+
const version = (_JsonFile$read$versio = (_JsonFile$read$versio2 = _jsonFile().default.read(packagePath).version) === null || _JsonFile$read$versio2 === void 0 ? void 0 : _JsonFile$read$versio2.toString()) !== null && _JsonFile$read$versio !== void 0 ? _JsonFile$read$versio : '';
|
|
145
|
+
return _semver().default.lt(version, '0.12.0');
|
|
146
|
+
} // If expo-splash-screen didn't be installed or included in template, we check the sdkVersion instead.
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
return !!(config.sdkVersion && _semver().default.lt(config.sdkVersion, '43.0.0'));
|
|
150
|
+
} catch {}
|
|
151
|
+
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
91
154
|
//# sourceMappingURL=withAndroidSplashScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.ts"],"names":["withAndroidSplashScreen","config","splashConfig","backgroundColor","androidStatusBar","toLowerCase","WarningAggregator","addWarningAndroid","withAndroidSplashImages","withAndroidSplashDrawables","
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashScreen.ts"],"names":["withAndroidSplashScreen","config","splashConfig","backgroundColor","androidStatusBar","toLowerCase","WarningAggregator","addWarningAndroid","withAndroidSplashImages","withAndroidSplashDrawables","shouldUpdateLegacyMainActivity","withAndroidSplashLegacyMainActivity","withAndroidSplashStyles","withAndroidSplashStrings","projectRoot","_internal","packagePath","version","JsonFile","read","toString","semver","lt","sdkVersion"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAEO,MAAMA,uBAAqC,GAAGC,MAAM,IAAI;AAAA;;AAC7D,QAAMC,YAAY,GAAG,sDAAuBD,MAAvB,CAArB,CAD6D,CAG7D;AACA;;AACA,QAAME,eAAe,GAAG,CAAAD,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEC,eAAd,KAAiC,SAAzD;;AACA,+BAAIF,MAAM,CAACG,gBAAX,kDAAI,sBAAyBD,eAA7B,EAA8C;AAAA;;AAC5C,QACEA,eAAe,CAACE,WAAhB,kCAAkCJ,MAAM,CAACG,gBAAzC,qFAAkC,uBAAyBD,eAA3D,qFAAkC,uBAA0CE,WAA5E,2DAAkC,mDAAlC,CADF,EAEE;AACAC,yCAAkBC,iBAAlB,CACE,kCADF,EAEE,iDAFF;AAID;AACF,GATD,MASO;AACL,QAAI,CAACN,MAAM,CAACG,gBAAZ,EAA8BH,MAAM,CAACG,gBAAP,GAA0B,EAA1B;AAC9BH,IAAAA,MAAM,CAACG,gBAAP,CAAwBD,eAAxB,GAA0CA,eAA1C;AACD;;AAED,SAAO,kCAAYF,MAAZ,EAAoB,CACzBO,kDADyB,EAEzB,CAACC,wDAAD,EAA6BP,YAA7B,CAFyB,EAGzB,IAAIQ,8BAA8B,CAACT,MAAD,CAA9B,GAAyC,CAACU,0EAAD,CAAzC,GAAiF,EAArF,CAHyB,EAIzBC,kDAJyB,EAKzBC,oDALyB,CAApB,CAAP;AAOD,CA3BM;;;;AA6BP,SAASH,8BAAT,CAAwCT,MAAxC,EAAqE;AACnE,MAAI;AAAA;;AACF,UAAMa,WAAW,wBAAGb,MAAM,CAACc,SAAV,sDAAG,kBAAkBD,WAAtC;AACA,UAAME,WAAW,GAAG,4BAAYF,WAAZ,EAAyB,iCAAzB,CAApB;;AACA,QAAIE,WAAJ,EAAiB;AAAA;;AACf,YAAMC,OAAO,sDAAGC,oBAASC,IAAT,CAAcH,WAAd,EAA2BC,OAA9B,2DAAG,uBAAoCG,QAApC,EAAH,yEAAqD,EAAlE;AACA,aAAOC,kBAAOC,EAAP,CAAUL,OAAV,EAAmB,QAAnB,CAAP;AACD,KANC,CAOF;;;AACA,WAAO,CAAC,EAAEhB,MAAM,CAACsB,UAAP,IAAqBF,kBAAOC,EAAP,CAAUrB,MAAM,CAACsB,UAAjB,EAA6B,QAA7B,CAAvB,CAAR;AACD,GATD,CASE,MAAM,CAAE;;AACV,SAAO,KAAP;AACD","sourcesContent":["import { ConfigPlugin, WarningAggregator, withPlugins } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport JsonFile from '@expo/json-file';\nimport resolveFrom from 'resolve-from';\nimport semver from 'semver';\n\nimport { getAndroidSplashConfig } from './getAndroidSplashConfig';\nimport { withAndroidSplashDrawables } from './withAndroidSplashDrawables';\nimport { withAndroidSplashImages } from './withAndroidSplashImages';\nimport { withAndroidSplashLegacyMainActivity } from './withAndroidSplashLegacyMainActivity';\nimport { withAndroidSplashStrings } from './withAndroidSplashStrings';\nimport { withAndroidSplashStyles } from './withAndroidSplashStyles';\n\nexport const withAndroidSplashScreen: ConfigPlugin = config => {\n const splashConfig = getAndroidSplashConfig(config);\n\n // Update the android status bar to match the splash screen\n // androidStatusBar applies info to the app activity style.\n const backgroundColor = splashConfig?.backgroundColor || '#ffffff';\n if (config.androidStatusBar?.backgroundColor) {\n if (\n backgroundColor.toLowerCase() !== config.androidStatusBar?.backgroundColor?.toLowerCase?.()\n ) {\n WarningAggregator.addWarningAndroid(\n 'androidStatusBar.backgroundColor',\n 'Color conflicts with the splash.backgroundColor'\n );\n }\n } else {\n if (!config.androidStatusBar) config.androidStatusBar = {};\n config.androidStatusBar.backgroundColor = backgroundColor;\n }\n\n return withPlugins(config, [\n withAndroidSplashImages,\n [withAndroidSplashDrawables, splashConfig],\n ...(shouldUpdateLegacyMainActivity(config) ? [withAndroidSplashLegacyMainActivity] : []),\n withAndroidSplashStyles,\n withAndroidSplashStrings,\n ]);\n};\n\nfunction shouldUpdateLegacyMainActivity(config: ExpoConfig): boolean {\n try {\n const projectRoot = config._internal?.projectRoot;\n const packagePath = resolveFrom(projectRoot, 'expo-splash-screen/package.json');\n if (packagePath) {\n const version = JsonFile.read(packagePath).version?.toString() ?? '';\n return semver.lt(version, '0.12.0');\n }\n // If expo-splash-screen didn't be installed or included in template, we check the sdkVersion instead.\n return !!(config.sdkVersion && semver.lt(config.sdkVersion, '43.0.0'));\n } catch {}\n return false;\n}\n"],"file":"withAndroidSplashScreen.js"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AndroidConfig, ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
+
export declare const withAndroidSplashStrings: ConfigPlugin;
|
|
3
|
+
export declare function setSplashStrings(strings: AndroidConfig.Resources.ResourceXML, resizeMode: string, statusBarTranslucent: boolean): AndroidConfig.Resources.ResourceXML;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setSplashStrings = setSplashStrings;
|
|
7
|
+
exports.withAndroidSplashStrings = void 0;
|
|
8
|
+
|
|
9
|
+
function _configPlugins() {
|
|
10
|
+
const data = require("@expo/config-plugins");
|
|
11
|
+
|
|
12
|
+
_configPlugins = function () {
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function _getAndroidSplashConfig() {
|
|
20
|
+
const data = require("./getAndroidSplashConfig");
|
|
21
|
+
|
|
22
|
+
_getAndroidSplashConfig = function () {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const RESIZE_MODE_KEY = 'expo_splash_screen_resize_mode';
|
|
30
|
+
const STATUS_BAR_TRANSLUCENT_KEY = 'expo_splash_screen_status_bar_translucent';
|
|
31
|
+
|
|
32
|
+
const withAndroidSplashStrings = config => {
|
|
33
|
+
return (0, _configPlugins().withStringsXml)(config, config => {
|
|
34
|
+
const splashConfig = (0, _getAndroidSplashConfig().getAndroidSplashConfig)(config);
|
|
35
|
+
|
|
36
|
+
if (splashConfig) {
|
|
37
|
+
var _config$androidStatus;
|
|
38
|
+
|
|
39
|
+
const {
|
|
40
|
+
resizeMode
|
|
41
|
+
} = splashConfig;
|
|
42
|
+
const statusBarTranslucent = !!((_config$androidStatus = config.androidStatusBar) !== null && _config$androidStatus !== void 0 && _config$androidStatus.translucent);
|
|
43
|
+
config.modResults = setSplashStrings(config.modResults, resizeMode, statusBarTranslucent);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return config;
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
exports.withAndroidSplashStrings = withAndroidSplashStrings;
|
|
51
|
+
|
|
52
|
+
function setSplashStrings(strings, resizeMode, statusBarTranslucent) {
|
|
53
|
+
return _configPlugins().AndroidConfig.Strings.setStringItem([_configPlugins().AndroidConfig.Resources.buildResourceItem({
|
|
54
|
+
name: RESIZE_MODE_KEY,
|
|
55
|
+
value: resizeMode,
|
|
56
|
+
translatable: false
|
|
57
|
+
}), _configPlugins().AndroidConfig.Resources.buildResourceItem({
|
|
58
|
+
name: STATUS_BAR_TRANSLUCENT_KEY,
|
|
59
|
+
value: String(statusBarTranslucent),
|
|
60
|
+
translatable: false
|
|
61
|
+
})], strings);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=withAndroidSplashStrings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashStrings.ts"],"names":["RESIZE_MODE_KEY","STATUS_BAR_TRANSLUCENT_KEY","withAndroidSplashStrings","config","splashConfig","resizeMode","statusBarTranslucent","androidStatusBar","translucent","modResults","setSplashStrings","strings","AndroidConfig","Strings","setStringItem","Resources","buildResourceItem","name","value","translatable","String"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA,MAAMA,eAAe,GAAG,gCAAxB;AACA,MAAMC,0BAA0B,GAAG,2CAAnC;;AAEO,MAAMC,wBAAsC,GAAGC,MAAM,IAAI;AAC9D,SAAO,qCAAeA,MAAf,EAAuBA,MAAM,IAAI;AACtC,UAAMC,YAAY,GAAG,sDAAuBD,MAAvB,CAArB;;AACA,QAAIC,YAAJ,EAAkB;AAAA;;AAChB,YAAM;AAAEC,QAAAA;AAAF,UAAiBD,YAAvB;AACA,YAAME,oBAAoB,GAAG,CAAC,2BAACH,MAAM,CAACI,gBAAR,kDAAC,sBAAyBC,WAA1B,CAA9B;AACAL,MAAAA,MAAM,CAACM,UAAP,GAAoBC,gBAAgB,CAACP,MAAM,CAACM,UAAR,EAAoBJ,UAApB,EAAgCC,oBAAhC,CAApC;AACD;;AACD,WAAOH,MAAP;AACD,GARM,CAAP;AASD,CAVM;;;;AAYA,SAASO,gBAAT,CACLC,OADK,EAELN,UAFK,EAGLC,oBAHK,EAIgC;AACrC,SAAOM,+BAAcC,OAAd,CAAsBC,aAAtB,CACL,CACEF,+BAAcG,SAAd,CAAwBC,iBAAxB,CAA0C;AACxCC,IAAAA,IAAI,EAAEjB,eADkC;AAExCkB,IAAAA,KAAK,EAAEb,UAFiC;AAGxCc,IAAAA,YAAY,EAAE;AAH0B,GAA1C,CADF,EAMEP,+BAAcG,SAAd,CAAwBC,iBAAxB,CAA0C;AACxCC,IAAAA,IAAI,EAAEhB,0BADkC;AAExCiB,IAAAA,KAAK,EAAEE,MAAM,CAACd,oBAAD,CAF2B;AAGxCa,IAAAA,YAAY,EAAE;AAH0B,GAA1C,CANF,CADK,EAaLR,OAbK,CAAP;AAeD","sourcesContent":["import { AndroidConfig, ConfigPlugin, withStringsXml } from '@expo/config-plugins';\n\nimport { getAndroidSplashConfig } from './getAndroidSplashConfig';\n\nconst RESIZE_MODE_KEY = 'expo_splash_screen_resize_mode';\nconst STATUS_BAR_TRANSLUCENT_KEY = 'expo_splash_screen_status_bar_translucent';\n\nexport const withAndroidSplashStrings: ConfigPlugin = config => {\n return withStringsXml(config, config => {\n const splashConfig = getAndroidSplashConfig(config);\n if (splashConfig) {\n const { resizeMode } = splashConfig;\n const statusBarTranslucent = !!config.androidStatusBar?.translucent;\n config.modResults = setSplashStrings(config.modResults, resizeMode, statusBarTranslucent);\n }\n return config;\n });\n};\n\nexport function setSplashStrings(\n strings: AndroidConfig.Resources.ResourceXML,\n resizeMode: string,\n statusBarTranslucent: boolean\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 AndroidConfig.Resources.buildResourceItem({\n name: STATUS_BAR_TRANSLUCENT_KEY,\n value: String(statusBarTranslucent),\n translatable: false,\n }),\n ],\n strings\n );\n}\n"],"file":"withAndroidSplashStrings.js"}
|
|
@@ -53,7 +53,7 @@ function setSplashInfoPlist(config, infoPlist, splash) {
|
|
|
53
53
|
const existing = (_config$ios$userInter = (_config$ios = config.ios) === null || _config$ios === void 0 ? void 0 : _config$ios.userInterfaceStyle) !== null && _config$ios$userInter !== void 0 ? _config$ios$userInter : config.userInterfaceStyle; // Add a warning to prevent the dark mode splash screen from not being shown -- this was learned the hard way.
|
|
54
54
|
|
|
55
55
|
if (existing && existing !== 'automatic') {
|
|
56
|
-
_configPlugins().WarningAggregator.addWarningIOS('
|
|
56
|
+
_configPlugins().WarningAggregator.addWarningIOS('userInterfaceStyle', 'The existing `userInterfaceStyle` property is preventing splash screen from working properly. Please remove it or disable dark mode splash screens.');
|
|
57
57
|
} // assigning it to auto anyways, but this is fragile because the order of operations matter now
|
|
58
58
|
|
|
59
59
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.ts"],"names":["debug","withIosSplashInfoPlist","config","splash","modResults","setSplashInfoPlist","infoPlist","isDarkModeEnabled","dark","image","tabletImage","backgroundColor","tabletBackgroundColor","existing","ios","userInterfaceStyle","WarningAggregator","addWarningIOS","UIUserInterfaceStyle","UILaunchStoryboardName"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAIA,MAAMA,KAAK,GAAG,sBAAM,uDAAN,CAAd;;AAEO,MAAMC,sBAAqD,GAAG,CAACC,MAAD,EAASC,MAAT,KAAoB;AACvF,SAAO,oCAAcD,MAAd,EAAsBA,MAAM,IAAI;AACrCA,IAAAA,MAAM,CAACE,UAAP,GAAoBC,kBAAkB,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,EAA4BD,MAA5B,CAAtC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,kBAAT,CACLH,MADK,EAELI,SAFK,EAGLH,MAHK,EAIM;AAAA;;AACX,QAAMI,iBAAiB,GAAG,CAAC,EACzBJ,MAAM,SAAN,IAAAA,MAAM,WAAN,oBAAAA,MAAM,CAAEK,IAAR,sDAAcC,KAAd,IACAN,MADA,aACAA,MADA,gCACAA,MAAM,CAAEK,IADR,0CACA,cAAcE,WADd,IAEAP,MAFA,aAEAA,MAFA,gCAEAA,MAAM,CAAEK,IAFR,0CAEA,cAAcG,eAFd,IAGAR,MAHA,aAGAA,MAHA,gCAGAA,MAAM,CAAEK,IAHR,0CAGA,cAAcI,qBAJW,CAA3B;AAMAZ,EAAAA,KAAK,CAAE,qBAAF,EAAwBO,iBAAxB,CAAL;;AAEA,MAAIA,iBAAJ,EAAuB;AAAA;;AACrB;AACA;AACA,UAAMM,QAAQ,2CAAGX,MAAM,CAACY,GAAV,gDAAG,YAAYC,kBAAf,yEAAqCb,MAAM,CAACa,kBAA1D,CAHqB,CAIrB;;AACA,QAAIF,QAAQ,IAAIA,QAAQ,KAAK,WAA7B,EAA0C;AACxCG,yCAAkBC,aAAlB,CACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.ts"],"names":["debug","withIosSplashInfoPlist","config","splash","modResults","setSplashInfoPlist","infoPlist","isDarkModeEnabled","dark","image","tabletImage","backgroundColor","tabletBackgroundColor","existing","ios","userInterfaceStyle","WarningAggregator","addWarningIOS","UIUserInterfaceStyle","UILaunchStoryboardName"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAIA,MAAMA,KAAK,GAAG,sBAAM,uDAAN,CAAd;;AAEO,MAAMC,sBAAqD,GAAG,CAACC,MAAD,EAASC,MAAT,KAAoB;AACvF,SAAO,oCAAcD,MAAd,EAAsBA,MAAM,IAAI;AACrCA,IAAAA,MAAM,CAACE,UAAP,GAAoBC,kBAAkB,CAACH,MAAD,EAASA,MAAM,CAACE,UAAhB,EAA4BD,MAA5B,CAAtC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,kBAAT,CACLH,MADK,EAELI,SAFK,EAGLH,MAHK,EAIM;AAAA;;AACX,QAAMI,iBAAiB,GAAG,CAAC,EACzBJ,MAAM,SAAN,IAAAA,MAAM,WAAN,oBAAAA,MAAM,CAAEK,IAAR,sDAAcC,KAAd,IACAN,MADA,aACAA,MADA,gCACAA,MAAM,CAAEK,IADR,0CACA,cAAcE,WADd,IAEAP,MAFA,aAEAA,MAFA,gCAEAA,MAAM,CAAEK,IAFR,0CAEA,cAAcG,eAFd,IAGAR,MAHA,aAGAA,MAHA,gCAGAA,MAAM,CAAEK,IAHR,0CAGA,cAAcI,qBAJW,CAA3B;AAMAZ,EAAAA,KAAK,CAAE,qBAAF,EAAwBO,iBAAxB,CAAL;;AAEA,MAAIA,iBAAJ,EAAuB;AAAA;;AACrB;AACA;AACA,UAAMM,QAAQ,2CAAGX,MAAM,CAACY,GAAV,gDAAG,YAAYC,kBAAf,yEAAqCb,MAAM,CAACa,kBAA1D,CAHqB,CAIrB;;AACA,QAAIF,QAAQ,IAAIA,QAAQ,KAAK,WAA7B,EAA0C;AACxCG,yCAAkBC,aAAlB,CACE,oBADF,EAEE,qJAFF;AAID,KAVoB,CAWrB;;;AACAX,IAAAA,SAAS,CAACY,oBAAV,GAAiC,WAAjC;AACD,GAbD,MAaO;AACL,WAAOZ,SAAS,CAACY,oBAAjB;AACD;;AAED,MAAIf,MAAJ,EAAY;AACV;AACAG,IAAAA,SAAS,CAACa,sBAAV,GAAmC,cAAnC;AACD,GAHD,MAGO;AACLnB,IAAAA,KAAK,CAAE,kCAAF,CAAL;AACA,WAAOM,SAAS,CAACa,sBAAjB;AACD;;AAED,SAAOb,SAAP;AACD","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. Please 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 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"],"file":"withIosSplashInfoPlist.js"}
|
|
@@ -156,7 +156,7 @@ const withIosExpoPlugins = (config, {
|
|
|
156
156
|
config.ios.bundleIdentifier = bundleIdentifier;
|
|
157
157
|
return (0, _configPlugins().withPlugins)(config, [[_configPlugins().IOSConfig.BundleIdentifier.withBundleIdentifier, {
|
|
158
158
|
bundleIdentifier
|
|
159
|
-
}], _configPlugins().IOSConfig.Swift.withSwiftBridgingHeader, _configPlugins().IOSConfig.Swift.withNoopSwiftFile, _configPlugins().IOSConfig.Google.withGoogle, _configPlugins().IOSConfig.Name.withDisplayName, _configPlugins().IOSConfig.Orientation.withOrientation, _configPlugins().IOSConfig.RequiresFullScreen.withRequiresFullScreen, _configPlugins().IOSConfig.RootViewBackgroundColor.withRootViewBackgroundColor, _configPlugins().IOSConfig.Scheme.withScheme, _configPlugins().IOSConfig.UserInterfaceStyle.withUserInterfaceStyle, _configPlugins().IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption, _configPlugins().IOSConfig.Version.withBuildNumber, _configPlugins().IOSConfig.Version.withVersion, _configPlugins().IOSConfig.Google.withGoogleServicesFile, // Entitlements
|
|
159
|
+
}], _configPlugins().IOSConfig.Swift.withSwiftBridgingHeader, _configPlugins().IOSConfig.Swift.withNoopSwiftFile, _configPlugins().IOSConfig.Google.withGoogle, _configPlugins().IOSConfig.Name.withDisplayName, _configPlugins().IOSConfig.Orientation.withOrientation, _configPlugins().IOSConfig.RequiresFullScreen.withRequiresFullScreen, _configPlugins().IOSConfig.RootViewBackgroundColor.withRootViewBackgroundColor, _configPlugins().IOSConfig.Scheme.withScheme, _configPlugins().IOSConfig.UserInterfaceStyle.withUserInterfaceStyle, _configPlugins().IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption, _configPlugins().IOSConfig.Version.withBuildNumber, _configPlugins().IOSConfig.Version.withVersion, _configPlugins().IOSConfig.Google.withGoogleServicesFile, _configPlugins().IOSConfig.JsEngine.withJsEnginePodfileProps, // Entitlements
|
|
160
160
|
_configPlugins().IOSConfig.Entitlements.withAssociatedDomains, // XcodeProject
|
|
161
161
|
_configPlugins().IOSConfig.DeviceFamily.withDeviceFamily, _configPlugins().IOSConfig.Locales.withLocales, // Dangerous
|
|
162
162
|
_withIosIcons().withIosIcons]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/withDefaultPlugins.ts"],"names":["withIosExpoPlugins","config","bundleIdentifier","ios","IOSConfig","BundleIdentifier","withBundleIdentifier","Swift","withSwiftBridgingHeader","withNoopSwiftFile","Google","withGoogle","Name","withDisplayName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","RootViewBackgroundColor","withRootViewBackgroundColor","Scheme","withScheme","UserInterfaceStyle","withUserInterfaceStyle","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Locales","withLocales","withIosIcons","withAndroidExpoPlugins","props","android","package","AndroidConfig","JsEngine","withJsEngineGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","withPackageManifest","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withPermissions","withUiModeManifest","withUiModeMainActivity","withName","NavigationBar","withNavigationBar","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","c","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","expoUsername","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withBranch","withDocumentPicker","withFacebook","withSplashScreen","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"mappings":"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","sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withBranch from './unversioned/expo-branch';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withFacebook from './unversioned/expo-facebook';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-facebook, expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Swift.withSwiftBridgingHeader,\n IOSConfig.Swift.withNoopSwiftFile,\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.RootViewBackgroundColor.withRootViewBackgroundColor,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UserInterfaceStyle.withUserInterfaceStyle,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Locales.withLocales,\n // Dangerous\n withIosIcons,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-facebook, expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.JsEngine.withJsEngineGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.Package.withPackageManifest,\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withPermissions,\n AndroidConfig.UserInterfaceStyle.withUiModeManifest,\n\n // MainActivity.*\n AndroidConfig.UserInterfaceStyle.withUiModeMainActivity,\n\n // strings.xml\n AndroidConfig.Name.withName,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.RootViewBackgroundColor.withRootViewBackgroundColor,\n AndroidConfig.NavigationBar.withNavigationBar,\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n\n c => withAndroidIcons(c),\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-branch',\n 'expo-document-picker',\n 'expo-facebook',\n 'expo-splash-screen',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n [withUpdates, { expoUsername }],\n withBranch,\n withDocumentPicker,\n withFacebook,\n withSplashScreen,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-barcode-scanner',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-ads-facebook',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: config => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"file":"withDefaultPlugins.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/plugins/withDefaultPlugins.ts"],"names":["withIosExpoPlugins","config","bundleIdentifier","ios","IOSConfig","BundleIdentifier","withBundleIdentifier","Swift","withSwiftBridgingHeader","withNoopSwiftFile","Google","withGoogle","Name","withDisplayName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","RootViewBackgroundColor","withRootViewBackgroundColor","Scheme","withScheme","UserInterfaceStyle","withUserInterfaceStyle","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","JsEngine","withJsEnginePodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Locales","withLocales","withIosIcons","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","withPackageManifest","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withPermissions","withUiModeManifest","withUiModeMainActivity","withName","NavigationBar","withNavigationBar","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","c","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","expoUsername","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withBranch","withDocumentPicker","withFacebook","withSplashScreen","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"mappings":"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","sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withBranch from './unversioned/expo-branch';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withFacebook from './unversioned/expo-facebook';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-facebook, expo-updates, etc...\n */\nexport const withIosExpoPlugins: ConfigPlugin<{\n bundleIdentifier: string;\n}> = (config, { bundleIdentifier }) => {\n // Set the bundle ID ahead of time.\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier = bundleIdentifier;\n\n return withPlugins(config, [\n [IOSConfig.BundleIdentifier.withBundleIdentifier, { bundleIdentifier }],\n IOSConfig.Swift.withSwiftBridgingHeader,\n IOSConfig.Swift.withNoopSwiftFile,\n IOSConfig.Google.withGoogle,\n IOSConfig.Name.withDisplayName,\n IOSConfig.Orientation.withOrientation,\n IOSConfig.RequiresFullScreen.withRequiresFullScreen,\n IOSConfig.RootViewBackgroundColor.withRootViewBackgroundColor,\n IOSConfig.Scheme.withScheme,\n IOSConfig.UserInterfaceStyle.withUserInterfaceStyle,\n IOSConfig.UsesNonExemptEncryption.withUsesNonExemptEncryption,\n IOSConfig.Version.withBuildNumber,\n IOSConfig.Version.withVersion,\n IOSConfig.Google.withGoogleServicesFile,\n IOSConfig.JsEngine.withJsEnginePodfileProps,\n // Entitlements\n IOSConfig.Entitlements.withAssociatedDomains,\n // XcodeProject\n IOSConfig.DeviceFamily.withDeviceFamily,\n IOSConfig.Locales.withLocales,\n // Dangerous\n withIosIcons,\n ]);\n};\n\n/**\n * Config plugin to apply all of the custom Expo Android config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-facebook, expo-updates, etc...\n */\nexport const withAndroidExpoPlugins: ConfigPlugin<{\n package: string;\n}> = (config, props) => {\n // Set the package name ahead of time.\n if (!config.android) config.android = {};\n config.android.package = props.package;\n\n return withPlugins(config, [\n // gradle.properties\n AndroidConfig.JsEngine.withJsEngineGradleProps,\n\n // settings.gradle\n AndroidConfig.Name.withNameSettingsGradle,\n\n // project build.gradle\n AndroidConfig.GoogleServices.withClassPath,\n\n // app/build.gradle\n AndroidConfig.GoogleServices.withApplyPlugin,\n AndroidConfig.Package.withPackageGradle,\n AndroidConfig.Version.withVersion,\n\n // AndroidManifest.xml\n AndroidConfig.Package.withPackageManifest,\n AndroidConfig.AllowBackup.withAllowBackup,\n AndroidConfig.WindowSoftInputMode.withWindowSoftInputMode,\n // Note: The withAndroidIntentFilters plugin must appear before the withScheme\n // plugin or withScheme will override the output of withAndroidIntentFilters.\n AndroidConfig.IntentFilters.withAndroidIntentFilters,\n AndroidConfig.Scheme.withScheme,\n AndroidConfig.Orientation.withOrientation,\n AndroidConfig.Permissions.withPermissions,\n AndroidConfig.UserInterfaceStyle.withUiModeManifest,\n\n // MainActivity.*\n AndroidConfig.UserInterfaceStyle.withUiModeMainActivity,\n\n // strings.xml\n AndroidConfig.Name.withName,\n\n // Dangerous -- these plugins run in reverse order.\n AndroidConfig.GoogleServices.withGoogleServicesFile,\n\n // Modify colors.xml and styles.xml\n AndroidConfig.RootViewBackgroundColor.withRootViewBackgroundColor,\n AndroidConfig.NavigationBar.withNavigationBar,\n AndroidConfig.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n\n c => withAndroidIcons(c),\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-branch',\n 'expo-document-picker',\n 'expo-facebook',\n 'expo-splash-screen',\n];\n\nexport const withVersionedExpoSDKPlugins: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withPlugins(config, [\n withMaps,\n withAdMob,\n withAppleAuthentication,\n withContacts,\n withNotifications,\n [withUpdates, { expoUsername }],\n withBranch,\n withDocumentPicker,\n withFacebook,\n withSplashScreen,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-barcode-scanner',\n 'expo-brightness',\n 'expo-calendar',\n 'expo-camera',\n 'expo-cellular',\n 'expo-dev-menu',\n 'expo-dev-launcher',\n 'expo-dev-client',\n 'expo-image-picker',\n 'expo-file-system',\n 'expo-ads-facebook',\n 'expo-location',\n 'expo-media-library',\n 'expo-screen-orientation',\n 'expo-sensors',\n 'expo-task-manager',\n 'expo-local-authentication',\n];\n\n// Plugins that need to be automatically applied, but also get applied by expo-cli if the versioned plugin isn't available.\n// These are split up because the user doesn't need to be prompted to setup these packages.\nconst expoManagedVersionedPlugins = [\n 'expo-firebase-analytics',\n 'expo-firebase-core',\n 'expo-google-sign-in',\n];\n\nconst withOptionalLegacyPlugins: ConfigPlugin<(StaticPlugin | string)[]> = (config, plugins) => {\n return plugins.reduce((prev, plugin) => {\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: config => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"file":"withDefaultPlugins.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/prebuild-config",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Get the prebuild config",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -34,14 +34,15 @@
|
|
|
34
34
|
"@types/debug": "^4.1.5"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@expo/config": "
|
|
38
|
-
"@expo/config-plugins": "
|
|
37
|
+
"@expo/config": "6.0.0",
|
|
38
|
+
"@expo/config-plugins": "4.0.0",
|
|
39
39
|
"@expo/config-types": "^42.0.0",
|
|
40
40
|
"@expo/image-utils": "0.3.16",
|
|
41
|
-
"@expo/json-file": "8.2.
|
|
41
|
+
"@expo/json-file": "8.2.33",
|
|
42
42
|
"debug": "^4.3.1",
|
|
43
43
|
"fs-extra": "^9.0.0",
|
|
44
|
-
"resolve-from": "^5.0.0"
|
|
44
|
+
"resolve-from": "^5.0.0",
|
|
45
|
+
"semver": "7.3.2"
|
|
45
46
|
},
|
|
46
47
|
"publishConfig": {
|
|
47
48
|
"access": "public"
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
import { ExpoConfig } from '@expo/config-types';
|
|
3
|
-
export declare const withAndroidSplashMainActivity: ConfigPlugin;
|
|
4
|
-
export declare function setSplashScreenMainActivity(config: Pick<ExpoConfig, 'android' | 'androidStatusBar' | 'userInterfaceStyle'>, mainActivity: string, language: 'java' | 'kt'): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashMainActivity.ts"],"names":["debug","SHOW_SPLASH_ID","withAndroidSplashMainActivity","config","modResults","contents","setSplashScreenMainActivity","language","mainActivity","splashConfig","mod","src","tag","didClear","statusBarTranslucent","androidStatusBar","translucent","resizeMode","isJava","LE","AndroidConfig","UserInterfaceStyle","addJavaImports","match","onCreateBlock","anchor","offset","comment","newSrc","join","split","filter","line","test","toUpperCase"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAEA,MAAMA,KAAK,GAAG,sBAAM,8DAAN,CAAd,C,CAEA;;AACA,MAAMC,cAAc,GAAG,sDAAvB;;AAEO,MAAMC,6BAA2C,GAAGC,MAAM,IAAI;AACnE,SAAO,uCAAiBA,MAAjB,EAAyBA,MAAM,IAAI;AACxCA,IAAAA,MAAM,CAACC,UAAP,CAAkBC,QAAlB,GAA6BC,2BAA2B,CACtDH,MADsD,EAEtDA,MAAM,CAACC,UAAP,CAAkBC,QAFoC,EAGtDF,MAAM,CAACC,UAAP,CAAkBG,QAHoC,CAAxD;AAKA,WAAOJ,MAAP;AACD,GAPM,CAAP;AAQD,CATM;;;;AAWA,SAASG,2BAAT,CACLH,MADK,EAELK,YAFK,EAGLD,QAHK,EAIG;AAAA;;AACRP,EAAAA,KAAK,CAAE,0BAAyBO,QAAS,GAApC,CAAL;AACA,QAAME,YAAY,GAAG,sDAAuBN,MAAvB,CAArB;;AAEA,MAAI,CAACM,YAAL,EAAmB;AACjB;AACA,UAAMC,GAAG,GAAG,oCAAe;AACzBC,MAAAA,GAAG,EAAEH,YADoB;AAEzBI,MAAAA,GAAG,EAAEX;AAFoB,KAAf,CAAZ;AAKAO,IAAAA,YAAY,GAAGE,GAAG,CAACL,QAAnB;;AACA,QAAIK,GAAG,CAACG,QAAR,EAAkB;AAChBb,MAAAA,KAAK,CAAC,6BAAD,CAAL;AACD;;AACD,WAAOQ,YAAP;AACD,GAhBO,CAiBR;;;AACA,QAAMM,oBAAoB,GAAG,CAAC,2BAACX,MAAM,CAACY,gBAAR,kDAAC,sBAAyBC,WAA1B,CAA9B;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAiBR,YAAvB;AACA,QAAMS,MAAM,GAAGX,QAAQ,KAAK,MAA5B;AACA,QAAMY,EAAE,GAAGD,MAAM,GAAG,GAAH,GAAS,EAA1B;AAEAV,EAAAA,YAAY,GAAGY,+BAAcC,kBAAd,CAAiCC,cAAjC,CACbd,YADa,EAEb,CACE,wCADF,EAEE,uDAFF,EAGE,mBAHF,CAFa,EAObU,MAPa,CAAf;;AAUA,MAAI,CAACV,YAAY,CAACe,KAAb,CAAmB,6BAAnB,CAAL,EAAwD;AACtD,UAAMC,aAAa,GAAGN,MAAM,GACxB,CACE,eADF,EAEE,0DAFF,EAGE,2CAHF,EAIE,OAJF,CADwB,GAOxB,CACE,0DADF,EAEE,0CAFF,EAGE,OAHF,CAPJ;AAaAV,IAAAA,YAAY,GAAG,mCAAc;AAC3BG,MAAAA,GAAG,EAAEH,YADsB;AAE3B;AACAiB,MAAAA,MAAM,EAAEP,MAAM,GACV,iDADU,GAEV,kCALuB;AAM3BQ,MAAAA,MAAM,EAAE,CANmB;AAO3BC,MAAAA,OAAO,EAAE,IAPkB;AAQ3Bf,MAAAA,GAAG,EAAE,0CARsB;AAS3BgB,MAAAA,MAAM,EAAEJ,aAAa,CAACK,IAAd,CAAmB,IAAnB;AATmB,KAAd,EAUZxB,QAVH;AAWD,GA3DO,CA6DR;;;AACAG,EAAAA,YAAY,GAAG,oCAAe;AAC5BG,IAAAA,GAAG,EAAEH,YADuB;AAE5BI,IAAAA,GAAG,EAAEX;AAFuB,GAAf,EAGZI,QAHH,CA9DQ,CAmER;;AACAG,EAAAA,YAAY,GAAGA,YAAY,CACxBsB,KADY,CACN,IADM,EAEZC,MAFY,CAELC,IAAI,IAAI;AACd,WAAO,CAAC,4DAA4DC,IAA5D,CAAiED,IAAjE,CAAR;AACD,GAJY,EAKZH,IALY,CAKP,IALO,CAAf,CApEQ,CA2ER;;AACArB,EAAAA,YAAY,GAAG,mCAAc;AAC3BG,IAAAA,GAAG,EAAEH,YADsB;AAE3B;AACAiB,IAAAA,MAAM,EAAE,6BAHmB;AAI3BC,IAAAA,MAAM,EAAE,CAJmB;AAK3BC,IAAAA,OAAO,EAAE,IALkB;AAM3Bf,IAAAA,GAAG,EAAEX,cANsB;AAO3B2B,IAAAA,MAAM,EAAG,2DAA0DX,UAAU,CAACiB,WAAX,EAAyB,kBAC1FhB,MAAM,GAAG,QAAH,GAAc,cACrB,KAAIJ,oBAAqB,IAAGK,EAAG;AATL,GAAd,EAUZd,QAVH,CA5EQ,CAwFR;;AAEA,SAAOG,YAAP;AACD","sourcesContent":["import { AndroidConfig, ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { mergeContents, removeContents } from '@expo/config-plugins/build/utils/generateCode';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { 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 withAndroidSplashMainActivity: ConfigPlugin = config => {\n return withMainActivity(config, config => {\n config.modResults.contents = setSplashScreenMainActivity(\n config,\n config.modResults.contents,\n config.modResults.language\n );\n return config;\n });\n};\n\nexport function setSplashScreenMainActivity(\n config: Pick<ExpoConfig, 'android' | 'androidStatusBar' | 'userInterfaceStyle'>,\n mainActivity: string,\n language: 'java' | 'kt'\n): string {\n debug(`Modify with language: \"${language}\"`);\n const splashConfig = getAndroidSplashConfig(config);\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 = AndroidConfig.UserInterfaceStyle.addJavaImports(\n mainActivity,\n [\n 'expo.modules.splashscreen.SplashScreen',\n 'expo.modules.splashscreen.SplashScreenImageResizeMode',\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"],"file":"withAndroidSplashMainActivity.js"}
|