@expo/prebuild-config 3.0.11 → 3.0.12

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.
@@ -0,0 +1,12 @@
1
+ import { ModPlatform, StaticPlugin } from '@expo/config-plugins';
2
+ import { ExpoConfig } from '@expo/config-types';
3
+ /**
4
+ * Returns a list of packages that are autolinked to a project.
5
+ *
6
+ * @param projectRoot
7
+ * @param platforms platforms to check for
8
+ * @returns list of packages ex: `['expo-camera', 'react-native-screens']`
9
+ */
10
+ export declare function getAutolinkedPackagesAsync(projectRoot: string, platforms?: ModPlatform[]): Promise<string[]>;
11
+ export declare function resolvePackagesList(platformPaths: Record<string, any>[]): string[];
12
+ export declare function shouldSkipAutoPlugin(config: Pick<ExpoConfig, '_internal'>, plugin: StaticPlugin | string): boolean;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAutolinkedPackagesAsync = getAutolinkedPackagesAsync;
7
+ exports.resolvePackagesList = resolvePackagesList;
8
+ exports.shouldSkipAutoPlugin = shouldSkipAutoPlugin;
9
+
10
+ function _autolinking() {
11
+ const data = require("expo-modules-autolinking/build/autolinking");
12
+
13
+ _autolinking = function () {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
19
+
20
+ /**
21
+ * Returns a list of packages that are autolinked to a project.
22
+ *
23
+ * @param projectRoot
24
+ * @param platforms platforms to check for
25
+ * @returns list of packages ex: `['expo-camera', 'react-native-screens']`
26
+ */
27
+ async function getAutolinkedPackagesAsync(projectRoot, platforms = ['ios', 'android']) {
28
+ const searchPaths = await (0, _autolinking().resolveSearchPathsAsync)(null, projectRoot);
29
+ const platformPaths = await Promise.all(platforms.map(platform => (0, _autolinking().findModulesAsync)({
30
+ platform,
31
+ searchPaths,
32
+ silent: true
33
+ })));
34
+ return resolvePackagesList(platformPaths);
35
+ }
36
+
37
+ function resolvePackagesList(platformPaths) {
38
+ const allPlatformPaths = platformPaths.map(paths => Object.keys(paths)).flat();
39
+ const uniquePaths = [...new Set(allPlatformPaths)];
40
+ return uniquePaths.sort();
41
+ }
42
+
43
+ function shouldSkipAutoPlugin(config, plugin) {
44
+ var _config$_internal;
45
+
46
+ // Only perform the check if `autolinkedModules` is defined, otherwise we assume
47
+ // this is a legacy runner which doesn't support autolinking.
48
+ if (Array.isArray((_config$_internal = config._internal) === null || _config$_internal === void 0 ? void 0 : _config$_internal.autolinkedModules)) {
49
+ // Resolve the pluginId as a string.
50
+ const pluginId = Array.isArray(plugin) ? plugin[0] : plugin;
51
+
52
+ if (typeof pluginId === 'string') {
53
+ // Determine if the autolinked modules list includes our moduleId
54
+ const isIncluded = config._internal.autolinkedModules.includes(pluginId);
55
+
56
+ if (!isIncluded) {
57
+ // If it doesn't then we know that any potential plugin shouldn't be applied automatically.
58
+ return true;
59
+ }
60
+ }
61
+ }
62
+
63
+ return false;
64
+ }
65
+ //# sourceMappingURL=getAutolinkedPackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/getAutolinkedPackages.ts"],"names":["getAutolinkedPackagesAsync","projectRoot","platforms","searchPaths","platformPaths","Promise","all","map","platform","silent","resolvePackagesList","allPlatformPaths","paths","Object","keys","flat","uniquePaths","Set","sort","shouldSkipAutoPlugin","config","plugin","Array","isArray","_internal","autolinkedModules","pluginId","isIncluded","includes"],"mappings":";;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeA,0BAAf,CACLC,WADK,EAELC,SAAwB,GAAG,CAAC,KAAD,EAAQ,SAAR,CAFtB,EAGL;AACA,QAAMC,WAAW,GAAG,MAAM,4CAAwB,IAAxB,EAA8BF,WAA9B,CAA1B;AAEA,QAAMG,aAAa,GAAG,MAAMC,OAAO,CAACC,GAAR,CAC1BJ,SAAS,CAACK,GAAV,CAAcC,QAAQ,IACpB,qCAAiB;AACfA,IAAAA,QADe;AAEfL,IAAAA,WAFe;AAGfM,IAAAA,MAAM,EAAE;AAHO,GAAjB,CADF,CAD0B,CAA5B;AAUA,SAAOC,mBAAmB,CAACN,aAAD,CAA1B;AACD;;AAEM,SAASM,mBAAT,CAA6BN,aAA7B,EAAmE;AACxE,QAAMO,gBAAgB,GAAGP,aAAa,CAACG,GAAd,CAAkBK,KAAK,IAAIC,MAAM,CAACC,IAAP,CAAYF,KAAZ,CAA3B,EAA+CG,IAA/C,EAAzB;AAEA,QAAMC,WAAW,GAAG,CAAC,GAAG,IAAIC,GAAJ,CAAQN,gBAAR,CAAJ,CAApB;AAEA,SAAOK,WAAW,CAACE,IAAZ,EAAP;AACD;;AAEM,SAASC,oBAAT,CACLC,MADK,EAELC,MAFK,EAGL;AAAA;;AACA;AACA;AACA,MAAIC,KAAK,CAACC,OAAN,sBAAcH,MAAM,CAACI,SAArB,sDAAc,kBAAkBC,iBAAhC,CAAJ,EAAwD;AACtD;AACA,UAAMC,QAAQ,GAAGJ,KAAK,CAACC,OAAN,CAAcF,MAAd,IAAwBA,MAAM,CAAC,CAAD,CAA9B,GAAoCA,MAArD;;AACA,QAAI,OAAOK,QAAP,KAAoB,QAAxB,EAAkC;AAChC;AACA,YAAMC,UAAU,GAAGP,MAAM,CAACI,SAAP,CAAkBC,iBAAlB,CAAoCG,QAApC,CAA6CF,QAA7C,CAAnB;;AACA,UAAI,CAACC,UAAL,EAAiB;AACf;AACA,eAAO,IAAP;AACD;AACF;AACF;;AACD,SAAO,KAAP;AACD","sourcesContent":["import { ModPlatform, StaticPlugin } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport {\n findModulesAsync,\n resolveSearchPathsAsync,\n} from 'expo-modules-autolinking/build/autolinking';\n\n/**\n * Returns a list of packages that are autolinked to a project.\n *\n * @param projectRoot\n * @param platforms platforms to check for\n * @returns list of packages ex: `['expo-camera', 'react-native-screens']`\n */\nexport async function getAutolinkedPackagesAsync(\n projectRoot: string,\n platforms: ModPlatform[] = ['ios', 'android']\n) {\n const searchPaths = await resolveSearchPathsAsync(null, projectRoot);\n\n const platformPaths = await Promise.all(\n platforms.map(platform =>\n findModulesAsync({\n platform,\n searchPaths,\n silent: true,\n })\n )\n );\n\n return resolvePackagesList(platformPaths);\n}\n\nexport function resolvePackagesList(platformPaths: Record<string, any>[]) {\n const allPlatformPaths = platformPaths.map(paths => Object.keys(paths)).flat();\n\n const uniquePaths = [...new Set(allPlatformPaths)];\n\n return uniquePaths.sort();\n}\n\nexport function shouldSkipAutoPlugin(\n config: Pick<ExpoConfig, '_internal'>,\n plugin: StaticPlugin | string\n) {\n // Only perform the check if `autolinkedModules` is defined, otherwise we assume\n // this is a legacy runner which doesn't support autolinking.\n if (Array.isArray(config._internal?.autolinkedModules)) {\n // Resolve the pluginId as a string.\n const pluginId = Array.isArray(plugin) ? plugin[0] : plugin;\n if (typeof pluginId === 'string') {\n // Determine if the autolinked modules list includes our moduleId\n const isIncluded = config._internal!.autolinkedModules.includes(pluginId);\n if (!isIncluded) {\n // If it doesn't then we know that any potential plugin shouldn't be applied automatically.\n return true;\n }\n }\n }\n return false;\n}\n"],"file":"getAutolinkedPackages.js"}
@@ -15,6 +15,16 @@ function _config() {
15
15
  return data;
16
16
  }
17
17
 
18
+ function _getAutolinkedPackages() {
19
+ const data = require("./getAutolinkedPackages");
20
+
21
+ _getAutolinkedPackages = function () {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
18
28
  function _withDefaultPlugins() {
19
29
  const data = require("./plugins/withDefaultPlugins");
20
30
 
@@ -26,7 +36,9 @@ function _withDefaultPlugins() {
26
36
  }
27
37
 
28
38
  async function getPrebuildConfigAsync(projectRoot, props) {
29
- return getPrebuildConfig(projectRoot, { ...props
39
+ const autolinkedModules = await (0, _getAutolinkedPackages().getAutolinkedPackagesAsync)(projectRoot, props.platforms);
40
+ return getPrebuildConfig(projectRoot, { ...props,
41
+ autolinkedModules
30
42
  });
31
43
  }
32
44
 
@@ -34,6 +46,7 @@ function getPrebuildConfig(projectRoot, {
34
46
  platforms,
35
47
  bundleIdentifier,
36
48
  packageName,
49
+ autolinkedModules,
37
50
  expoUsername
38
51
  }) {
39
52
  // let config: ExpoConfig;
@@ -44,6 +57,15 @@ function getPrebuildConfig(projectRoot, {
44
57
  skipSDKVersionRequirement: true,
45
58
  isModdedConfig: true
46
59
  });
60
+
61
+ if (autolinkedModules) {
62
+ if (!config._internal) {
63
+ config._internal = {};
64
+ }
65
+
66
+ config._internal.autolinkedModules = autolinkedModules;
67
+ }
68
+
47
69
  const resolvedExpoUsername = typeof expoUsername === 'function' ? expoUsername(config) : // If the user didn't pass a username then fallback on the static cached username.
48
70
  expoUsername !== null && expoUsername !== void 0 ? expoUsername : (0, _config().getAccountUsername)(config); // Add all built-in plugins first because they should take
49
71
  // priority over the unversioned plugins.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/getPrebuildConfig.ts"],"names":["getPrebuildConfigAsync","projectRoot","props","getPrebuildConfig","platforms","bundleIdentifier","packageName","expoUsername","exp","config","rest","skipSDKVersionRequirement","isModdedConfig","resolvedExpoUsername","includes","ios","android","package"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAOO,eAAeA,sBAAf,CACLC,WADK,EAELC,KAFK,EAQkC;AACvC,SAAOC,iBAAiB,CAACF,WAAD,EAAc,EACpC,GAAGC;AADiC,GAAd,CAAxB;AAGD;;AAED,SAASC,iBAAT,CACEF,WADF,EAEE;AACEG,EAAAA,SADF;AAEEC,EAAAA,gBAFF;AAGEC,EAAAA,WAHF;AAIEC,EAAAA;AAJF,CAFF,EAaE;AACA;AACA,MAAI;AAAEC,IAAAA,GAAG,EAAEC,MAAP;AAAe,OAAGC;AAAlB,MAA2B,yBAAUT,WAAV,EAAuB;AACpDU,IAAAA,yBAAyB,EAAE,IADyB;AAEpDC,IAAAA,cAAc,EAAE;AAFoC,GAAvB,CAA/B;AAKA,QAAMC,oBAAoB,GACxB,OAAON,YAAP,KAAwB,UAAxB,GACIA,YAAY,CAACE,MAAD,CADhB,GAEI;AACAF,EAAAA,YAHJ,aAGIA,YAHJ,cAGIA,YAHJ,GAGoB,kCAAmBE,MAAnB,CAJtB,CAPA,CAaA;AACA;;AACAA,EAAAA,MAAM,GAAG,uDAA4BA,MAA5B,EAAoC;AAC3CF,IAAAA,YAAY,EAAEM;AAD6B,GAApC,CAAT;AAGAJ,EAAAA,MAAM,GAAG,iDAAsBA,MAAtB,CAAT;;AAEA,MAAIL,SAAS,CAACU,QAAV,CAAmB,KAAnB,CAAJ,EAA+B;AAAA;;AAC7B,QAAI,CAACL,MAAM,CAACM,GAAZ,EAAiBN,MAAM,CAACM,GAAP,GAAa,EAAb;AACjBN,IAAAA,MAAM,CAACM,GAAP,CAAWV,gBAAX,WACEA,gBADF,aACEA,gBADF,cACEA,gBADF,GACsBI,MAAM,CAACM,GAAP,CAAWV,gBADjC,uCACsD,uBADtD,CAF6B,CAK7B;;AACAI,IAAAA,MAAM,GAAG,8CAAmBA,MAAnB,EAA2B;AAClCJ,MAAAA,gBAAgB,EAAEI,MAAM,CAACM,GAAP,CAAWV;AADK,KAA3B,CAAT;AAGD;;AAED,MAAID,SAAS,CAACU,QAAV,CAAmB,SAAnB,CAAJ,EAAmC;AAAA;;AACjC,QAAI,CAACL,MAAM,CAACO,OAAZ,EAAqBP,MAAM,CAACO,OAAP,GAAiB,EAAjB;AACrBP,IAAAA,MAAM,CAACO,OAAP,CAAeC,OAAf,YAAyBX,WAAzB,aAAyBA,WAAzB,cAAyBA,WAAzB,GAAwCG,MAAM,CAACO,OAAP,CAAeC,OAAvD,yCAAmE,uBAAnE,CAFiC,CAIjC;;AACAR,IAAAA,MAAM,GAAG,kDAAuBA,MAAvB,EAA+B;AACtCQ,MAAAA,OAAO,EAAER,MAAM,CAACO,OAAP,CAAeC;AADc,KAA/B,CAAT;AAGD;;AAED,SAAO;AAAET,IAAAA,GAAG,EAAEC,MAAP;AAAe,OAAGC;AAAlB,GAAP;AACD","sourcesContent":["import { getAccountUsername, getConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nimport {\n withAndroidExpoPlugins,\n withIosExpoPlugins,\n withLegacyExpoPlugins,\n withVersionedExpoSDKPlugins,\n} from './plugins/withDefaultPlugins';\n\nexport async function getPrebuildConfigAsync(\n projectRoot: string,\n props: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n expoUsername?: string | ((config: ExpoConfig) => string | null);\n }\n): Promise<ReturnType<typeof getConfig>> {\n return getPrebuildConfig(projectRoot, {\n ...props,\n });\n}\n\nfunction getPrebuildConfig(\n projectRoot: string,\n {\n platforms,\n bundleIdentifier,\n packageName,\n expoUsername,\n }: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n expoUsername?: string | ((config: ExpoConfig) => string | null);\n }\n) {\n // let config: ExpoConfig;\n let { exp: config, ...rest } = getConfig(projectRoot, {\n skipSDKVersionRequirement: true,\n isModdedConfig: true,\n });\n\n const resolvedExpoUsername =\n typeof expoUsername === 'function'\n ? expoUsername(config)\n : // If the user didn't pass a username then fallback on the static cached username.\n expoUsername ?? getAccountUsername(config);\n\n // Add all built-in plugins first because they should take\n // priority over the unversioned plugins.\n config = withVersionedExpoSDKPlugins(config, {\n expoUsername: resolvedExpoUsername,\n });\n config = withLegacyExpoPlugins(config);\n\n if (platforms.includes('ios')) {\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier =\n bundleIdentifier ?? config.ios.bundleIdentifier ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withIosExpoPlugins(config, {\n bundleIdentifier: config.ios.bundleIdentifier,\n });\n }\n\n if (platforms.includes('android')) {\n if (!config.android) config.android = {};\n config.android.package = packageName ?? config.android.package ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withAndroidExpoPlugins(config, {\n package: config.android.package,\n });\n }\n\n return { exp: config, ...rest };\n}\n"],"file":"getPrebuildConfig.js"}
1
+ {"version":3,"sources":["../src/getPrebuildConfig.ts"],"names":["getPrebuildConfigAsync","projectRoot","props","autolinkedModules","platforms","getPrebuildConfig","bundleIdentifier","packageName","expoUsername","exp","config","rest","skipSDKVersionRequirement","isModdedConfig","_internal","resolvedExpoUsername","includes","ios","android","package"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAOO,eAAeA,sBAAf,CACLC,WADK,EAELC,KAFK,EAQkC;AACvC,QAAMC,iBAAiB,GAAG,MAAM,yDAA2BF,WAA3B,EAAwCC,KAAK,CAACE,SAA9C,CAAhC;AAEA,SAAOC,iBAAiB,CAACJ,WAAD,EAAc,EACpC,GAAGC,KADiC;AAEpCC,IAAAA;AAFoC,GAAd,CAAxB;AAID;;AAED,SAASE,iBAAT,CACEJ,WADF,EAEE;AACEG,EAAAA,SADF;AAEEE,EAAAA,gBAFF;AAGEC,EAAAA,WAHF;AAIEJ,EAAAA,iBAJF;AAKEK,EAAAA;AALF,CAFF,EAeE;AACA;AACA,MAAI;AAAEC,IAAAA,GAAG,EAAEC,MAAP;AAAe,OAAGC;AAAlB,MAA2B,yBAAUV,WAAV,EAAuB;AACpDW,IAAAA,yBAAyB,EAAE,IADyB;AAEpDC,IAAAA,cAAc,EAAE;AAFoC,GAAvB,CAA/B;;AAKA,MAAIV,iBAAJ,EAAuB;AACrB,QAAI,CAACO,MAAM,CAACI,SAAZ,EAAuB;AACrBJ,MAAAA,MAAM,CAACI,SAAP,GAAmB,EAAnB;AACD;;AACDJ,IAAAA,MAAM,CAACI,SAAP,CAAiBX,iBAAjB,GAAqCA,iBAArC;AACD;;AAED,QAAMY,oBAAoB,GACxB,OAAOP,YAAP,KAAwB,UAAxB,GACIA,YAAY,CAACE,MAAD,CADhB,GAEI;AACAF,EAAAA,YAHJ,aAGIA,YAHJ,cAGIA,YAHJ,GAGoB,kCAAmBE,MAAnB,CAJtB,CAdA,CAoBA;AACA;;AACAA,EAAAA,MAAM,GAAG,uDAA4BA,MAA5B,EAAoC;AAC3CF,IAAAA,YAAY,EAAEO;AAD6B,GAApC,CAAT;AAGAL,EAAAA,MAAM,GAAG,iDAAsBA,MAAtB,CAAT;;AAEA,MAAIN,SAAS,CAACY,QAAV,CAAmB,KAAnB,CAAJ,EAA+B;AAAA;;AAC7B,QAAI,CAACN,MAAM,CAACO,GAAZ,EAAiBP,MAAM,CAACO,GAAP,GAAa,EAAb;AACjBP,IAAAA,MAAM,CAACO,GAAP,CAAWX,gBAAX,WACEA,gBADF,aACEA,gBADF,cACEA,gBADF,GACsBI,MAAM,CAACO,GAAP,CAAWX,gBADjC,uCACsD,uBADtD,CAF6B,CAK7B;;AACAI,IAAAA,MAAM,GAAG,8CAAmBA,MAAnB,EAA2B;AAClCJ,MAAAA,gBAAgB,EAAEI,MAAM,CAACO,GAAP,CAAWX;AADK,KAA3B,CAAT;AAGD;;AAED,MAAIF,SAAS,CAACY,QAAV,CAAmB,SAAnB,CAAJ,EAAmC;AAAA;;AACjC,QAAI,CAACN,MAAM,CAACQ,OAAZ,EAAqBR,MAAM,CAACQ,OAAP,GAAiB,EAAjB;AACrBR,IAAAA,MAAM,CAACQ,OAAP,CAAeC,OAAf,YAAyBZ,WAAzB,aAAyBA,WAAzB,cAAyBA,WAAzB,GAAwCG,MAAM,CAACQ,OAAP,CAAeC,OAAvD,yCAAmE,uBAAnE,CAFiC,CAIjC;;AACAT,IAAAA,MAAM,GAAG,kDAAuBA,MAAvB,EAA+B;AACtCS,MAAAA,OAAO,EAAET,MAAM,CAACQ,OAAP,CAAeC;AADc,KAA/B,CAAT;AAGD;;AAED,SAAO;AAAEV,IAAAA,GAAG,EAAEC,MAAP;AAAe,OAAGC;AAAlB,GAAP;AACD","sourcesContent":["import { getAccountUsername, getConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nimport { getAutolinkedPackagesAsync } from './getAutolinkedPackages';\nimport {\n withAndroidExpoPlugins,\n withIosExpoPlugins,\n withLegacyExpoPlugins,\n withVersionedExpoSDKPlugins,\n} from './plugins/withDefaultPlugins';\n\nexport async function getPrebuildConfigAsync(\n projectRoot: string,\n props: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n expoUsername?: string | ((config: ExpoConfig) => string | null);\n }\n): Promise<ReturnType<typeof getConfig>> {\n const autolinkedModules = await getAutolinkedPackagesAsync(projectRoot, props.platforms);\n\n return getPrebuildConfig(projectRoot, {\n ...props,\n autolinkedModules,\n });\n}\n\nfunction getPrebuildConfig(\n projectRoot: string,\n {\n platforms,\n bundleIdentifier,\n packageName,\n autolinkedModules,\n expoUsername,\n }: {\n bundleIdentifier?: string;\n packageName?: string;\n platforms: ModPlatform[];\n autolinkedModules?: string[];\n expoUsername?: string | ((config: ExpoConfig) => string | null);\n }\n) {\n // let config: ExpoConfig;\n let { exp: config, ...rest } = getConfig(projectRoot, {\n skipSDKVersionRequirement: true,\n isModdedConfig: true,\n });\n\n if (autolinkedModules) {\n if (!config._internal) {\n config._internal = {};\n }\n config._internal.autolinkedModules = autolinkedModules;\n }\n\n const resolvedExpoUsername =\n typeof expoUsername === 'function'\n ? expoUsername(config)\n : // If the user didn't pass a username then fallback on the static cached username.\n expoUsername ?? getAccountUsername(config);\n\n // Add all built-in plugins first because they should take\n // priority over the unversioned plugins.\n config = withVersionedExpoSDKPlugins(config, {\n expoUsername: resolvedExpoUsername,\n });\n config = withLegacyExpoPlugins(config);\n\n if (platforms.includes('ios')) {\n if (!config.ios) config.ios = {};\n config.ios.bundleIdentifier =\n bundleIdentifier ?? config.ios.bundleIdentifier ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withIosExpoPlugins(config, {\n bundleIdentifier: config.ios.bundleIdentifier,\n });\n }\n\n if (platforms.includes('android')) {\n if (!config.android) config.android = {};\n config.android.package = packageName ?? config.android.package ?? `com.placeholder.appid`;\n\n // Add all built-in plugins\n config = withAndroidExpoPlugins(config, {\n package: config.android.package,\n });\n }\n\n return { exp: config, ...rest };\n}\n"],"file":"getPrebuildConfig.js"}
@@ -18,8 +18,11 @@ function _configPlugins() {
18
18
  const toCamelCase = s => s.replace(/-./g, x => x.toUpperCase()[1]);
19
19
 
20
20
  function isModuleExcluded(config, packageName) {
21
- // TODO: Autolinking
22
- return false;
21
+ var _config$_internal;
22
+
23
+ // Skip using the versioned plugin when autolinking is enabled
24
+ // and doesn't link the native module.
25
+ return ((_config$_internal = config._internal) === null || _config$_internal === void 0 ? void 0 : _config$_internal.autolinkedModules) && !config._internal.autolinkedModules.includes(packageName);
23
26
  }
24
27
 
25
28
  function createLegacyPlugin({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/unversioned/createLegacyPlugin.ts"],"names":["toCamelCase","s","replace","x","toUpperCase","isModuleExcluded","config","packageName","createLegacyPlugin","fallback","withFallback","Array","isArray","withUnknown","_isLegacyPlugin","plugin","methodName","Object","defineProperty","value"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AASA,MAAMA,WAAW,GAAIC,CAAD,IAAeA,CAAC,CAACC,OAAF,CAAU,KAAV,EAAiBC,CAAC,IAAIA,CAAC,CAACC,WAAF,GAAgB,CAAhB,CAAtB,CAAnC;;AAEA,SAASC,gBAAT,CAA0BC,MAA1B,EAAiEC,WAAjE,EAA+F;AAC7F;AACA,SAAO,KAAP;AACD;;AAEM,SAASC,kBAAT,CAA4B;AACjCD,EAAAA,WADiC;AAEjCE,EAAAA;AAFiC,CAA5B,EAMU;AACf,MAAIC,YAAJ;;AAEA,MAAIC,KAAK,CAACC,OAAN,CAAcH,QAAd,CAAJ,EAA6B;AAC3BC,IAAAA,YAAY,GAAGJ,MAAM,IAAI,kCAAYA,MAAZ,EAAoBG,QAApB,CAAzB;AACD,GAFD,MAEO;AACLC,IAAAA,YAAY,GAAGD,QAAf;AACD;;AAED,QAAMI,WAAyB,GAAGP,MAAM,IAAI;AAC1C;AACA;AACA,QAAID,gBAAgB,CAACC,MAAD,EAASC,WAAT,CAApB,EAA2C;AACzC,aAAO,0CAAoBG,YAApB,EAAkCH,WAAlC,EAA+CD,MAA/C,CAAP;AACD;;AAED,WAAO,uCAAiBA,MAAjB,EAAyB;AAC9BQ,MAAAA,eAAe,EAAE,IADa;AAE9BC,MAAAA,MAAM,EAAER,WAFsB;AAG9B;AACAE,MAAAA,QAAQ,EAAE,0CAAoBC,YAApB,EAAkCH,WAAlC;AAJoB,KAAzB,CAAP;AAMD,GAbD;;AAeA,QAAMS,UAAU,GAAGhB,WAAW,CAAE,QAAOO,WAAY,EAArB,CAA9B;AACAU,EAAAA,MAAM,CAACC,cAAP,CAAsBL,WAAtB,EAAmC,MAAnC,EAA2C;AACzCM,IAAAA,KAAK,EAAEH;AADkC,GAA3C;AAIA,SAAOH,WAAP;AACD","sourcesContent":["import {\n ConfigPlugin,\n createRunOncePlugin,\n PluginParameters,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst toCamelCase = (s: string) => s.replace(/-./g, x => x.toUpperCase()[1]);\n\nfunction isModuleExcluded(config: Pick<ExpoConfig, '_internal'>, packageName: string): boolean {\n // TODO: Autolinking\n return false;\n}\n\nexport function createLegacyPlugin({\n packageName,\n fallback,\n}: {\n packageName: string;\n fallback: ConfigPlugin | PluginParameters<typeof withPlugins>;\n}): ConfigPlugin {\n let withFallback: ConfigPlugin;\n\n if (Array.isArray(fallback)) {\n withFallback = config => withPlugins(config, fallback);\n } else {\n withFallback = fallback;\n }\n\n const withUnknown: ConfigPlugin = config => {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n if (isModuleExcluded(config, packageName)) {\n return createRunOncePlugin(withFallback, packageName)(config);\n }\n\n return withStaticPlugin(config, {\n _isLegacyPlugin: true,\n plugin: packageName,\n // If the static plugin isn't found, use the unversioned one.\n fallback: createRunOncePlugin(withFallback, packageName),\n });\n };\n\n const methodName = toCamelCase(`with-${packageName}`);\n Object.defineProperty(withUnknown, 'name', {\n value: methodName,\n });\n\n return withUnknown;\n}\n"],"file":"createLegacyPlugin.js"}
1
+ {"version":3,"sources":["../../../src/plugins/unversioned/createLegacyPlugin.ts"],"names":["toCamelCase","s","replace","x","toUpperCase","isModuleExcluded","config","packageName","_internal","autolinkedModules","includes","createLegacyPlugin","fallback","withFallback","Array","isArray","withUnknown","_isLegacyPlugin","plugin","methodName","Object","defineProperty","value"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AASA,MAAMA,WAAW,GAAIC,CAAD,IAAeA,CAAC,CAACC,OAAF,CAAU,KAAV,EAAiBC,CAAC,IAAIA,CAAC,CAACC,WAAF,GAAgB,CAAhB,CAAtB,CAAnC;;AAEA,SAASC,gBAAT,CAA0BC,MAA1B,EAAiEC,WAAjE,EAA+F;AAAA;;AAC7F;AACA;AACA,SACE,sBAAAD,MAAM,CAACE,SAAP,wEAAkBC,iBAAlB,KAAuC,CAACH,MAAM,CAACE,SAAP,CAAiBC,iBAAjB,CAAmCC,QAAnC,CAA4CH,WAA5C,CAD1C;AAGD;;AAEM,SAASI,kBAAT,CAA4B;AACjCJ,EAAAA,WADiC;AAEjCK,EAAAA;AAFiC,CAA5B,EAMU;AACf,MAAIC,YAAJ;;AAEA,MAAIC,KAAK,CAACC,OAAN,CAAcH,QAAd,CAAJ,EAA6B;AAC3BC,IAAAA,YAAY,GAAGP,MAAM,IAAI,kCAAYA,MAAZ,EAAoBM,QAApB,CAAzB;AACD,GAFD,MAEO;AACLC,IAAAA,YAAY,GAAGD,QAAf;AACD;;AAED,QAAMI,WAAyB,GAAGV,MAAM,IAAI;AAC1C;AACA;AACA,QAAID,gBAAgB,CAACC,MAAD,EAASC,WAAT,CAApB,EAA2C;AACzC,aAAO,0CAAoBM,YAApB,EAAkCN,WAAlC,EAA+CD,MAA/C,CAAP;AACD;;AAED,WAAO,uCAAiBA,MAAjB,EAAyB;AAC9BW,MAAAA,eAAe,EAAE,IADa;AAE9BC,MAAAA,MAAM,EAAEX,WAFsB;AAG9B;AACAK,MAAAA,QAAQ,EAAE,0CAAoBC,YAApB,EAAkCN,WAAlC;AAJoB,KAAzB,CAAP;AAMD,GAbD;;AAeA,QAAMY,UAAU,GAAGnB,WAAW,CAAE,QAAOO,WAAY,EAArB,CAA9B;AACAa,EAAAA,MAAM,CAACC,cAAP,CAAsBL,WAAtB,EAAmC,MAAnC,EAA2C;AACzCM,IAAAA,KAAK,EAAEH;AADkC,GAA3C;AAIA,SAAOH,WAAP;AACD","sourcesContent":["import {\n ConfigPlugin,\n createRunOncePlugin,\n PluginParameters,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst toCamelCase = (s: string) => s.replace(/-./g, x => x.toUpperCase()[1]);\n\nfunction isModuleExcluded(config: Pick<ExpoConfig, '_internal'>, packageName: string): boolean {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n return (\n config._internal?.autolinkedModules && !config._internal.autolinkedModules.includes(packageName)\n );\n}\n\nexport function createLegacyPlugin({\n packageName,\n fallback,\n}: {\n packageName: string;\n fallback: ConfigPlugin | PluginParameters<typeof withPlugins>;\n}): ConfigPlugin {\n let withFallback: ConfigPlugin;\n\n if (Array.isArray(fallback)) {\n withFallback = config => withPlugins(config, fallback);\n } else {\n withFallback = fallback;\n }\n\n const withUnknown: ConfigPlugin = config => {\n // Skip using the versioned plugin when autolinking is enabled\n // and doesn't link the native module.\n if (isModuleExcluded(config, packageName)) {\n return createRunOncePlugin(withFallback, packageName)(config);\n }\n\n return withStaticPlugin(config, {\n _isLegacyPlugin: true,\n plugin: packageName,\n // If the static plugin isn't found, use the unversioned one.\n fallback: createRunOncePlugin(withFallback, packageName),\n });\n };\n\n const methodName = toCamelCase(`with-${packageName}`);\n Object.defineProperty(withUnknown, 'name', {\n value: methodName,\n });\n\n return withUnknown;\n}\n"],"file":"createLegacyPlugin.js"}
@@ -41,12 +41,12 @@ const LOCATION_USAGE = 'Allow $(PRODUCT_NAME) to access your location'; // Copie
41
41
  // user has react-native-maps installed but not expo-location.
42
42
 
43
43
  const withDefaultLocationPermissions = config => {
44
- var _config$_internal;
44
+ var _config$_internal, _config$_internal2;
45
45
 
46
- // TODO: Autolinking
47
- const isLinked = true; // Only add location permissions if react-native-maps is installed.
46
+ const isLinked = !((_config$_internal = config._internal) !== null && _config$_internal !== void 0 && _config$_internal.autolinkedModules) || config._internal.autolinkedModules.includes('react-native-maps'); // Only add location permissions if react-native-maps is installed.
48
47
 
49
- if ((_config$_internal = config._internal) !== null && _config$_internal !== void 0 && _config$_internal.projectRoot && _resolveFrom().default.silent(config._internal.projectRoot, 'react-native-maps') && isLinked) {
48
+
49
+ if ((_config$_internal2 = config._internal) !== null && _config$_internal2 !== void 0 && _config$_internal2.projectRoot && _resolveFrom().default.silent(config._internal.projectRoot, 'react-native-maps') && isLinked) {
50
50
  config = (0, _configPlugins().withInfoPlist)(config, config => {
51
51
  config.modResults.NSLocationWhenInUseUsageDescription = config.modResults.NSLocationWhenInUseUsageDescription || LOCATION_USAGE;
52
52
  return config;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plugins/unversioned/react-native-maps.ts"],"names":["LOCATION_USAGE","withDefaultLocationPermissions","config","isLinked","_internal","projectRoot","resolveFrom","silent","modResults","NSLocationWhenInUseUsageDescription","AndroidConfig","Permissions","withPermissions","packageName","fallback","GoogleMapsApiKey","withGoogleMapsApiKey","IOSConfig","Maps","withMaps"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAEA,MAAMA,cAAc,GAAG,+CAAvB,C,CAEA;AACA;;AACA,MAAMC,8BAA4C,GAAGC,MAAM,IAAI;AAAA;;AAC7D;AACA,QAAMC,QAAQ,GAAG,IAAjB,CAF6D,CAG7D;;AACA,MACE,qBAAAD,MAAM,CAACE,SAAP,gEAAkBC,WAAlB,IACAC,uBAAYC,MAAZ,CAAmBL,MAAM,CAACE,SAAP,CAAiBC,WAApC,EAAiD,mBAAjD,CADA,IAEAF,QAHF,EAIE;AACAD,IAAAA,MAAM,GAAG,oCAAcA,MAAd,EAAsBA,MAAM,IAAI;AACvCA,MAAAA,MAAM,CAACM,UAAP,CAAkBC,mCAAlB,GACEP,MAAM,CAACM,UAAP,CAAkBC,mCAAlB,IAAyDT,cAD3D;AAEA,aAAOE,MAAP;AACD,KAJQ,CAAT;AAMA,WAAOQ,+BAAcC,WAAd,CAA0BC,eAA1B,CAA0CV,MAA1C,EAAkD,CACvD,2CADuD,EAEvD,yCAFuD,CAAlD,CAAP;AAID;;AACD,SAAOA,MAAP;AACD,CArBD;;eAuBe,8CAAmB;AAChCW,EAAAA,WAAW,EAAE,mBADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACRJ,+BAAcK,gBAAd,CAA+BC,oBADvB,EAERC,2BAAUC,IAAV,CAAeC,QAFP,EAGRlB,8BAHQ;AAFsB,CAAnB,C","sourcesContent":["import { AndroidConfig, ConfigPlugin, IOSConfig, withInfoPlist } from '@expo/config-plugins';\nimport resolveFrom from 'resolve-from';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst LOCATION_USAGE = 'Allow $(PRODUCT_NAME) to access your location';\n\n// Copied from expo-location package, this gets used when the\n// user has react-native-maps installed but not expo-location.\nconst withDefaultLocationPermissions: ConfigPlugin = config => {\n // TODO: Autolinking\n const isLinked = true;\n // Only add location permissions if react-native-maps is installed.\n if (\n config._internal?.projectRoot &&\n resolveFrom.silent(config._internal.projectRoot, 'react-native-maps') &&\n isLinked\n ) {\n config = withInfoPlist(config, config => {\n config.modResults.NSLocationWhenInUseUsageDescription =\n config.modResults.NSLocationWhenInUseUsageDescription || LOCATION_USAGE;\n return config;\n });\n\n return AndroidConfig.Permissions.withPermissions(config, [\n 'android.permission.ACCESS_COARSE_LOCATION',\n 'android.permission.ACCESS_FINE_LOCATION',\n ]);\n }\n return config;\n};\n\nexport default createLegacyPlugin({\n packageName: 'react-native-maps',\n fallback: [\n AndroidConfig.GoogleMapsApiKey.withGoogleMapsApiKey,\n IOSConfig.Maps.withMaps,\n withDefaultLocationPermissions,\n ],\n});\n"],"file":"react-native-maps.js"}
1
+ {"version":3,"sources":["../../../src/plugins/unversioned/react-native-maps.ts"],"names":["LOCATION_USAGE","withDefaultLocationPermissions","config","isLinked","_internal","autolinkedModules","includes","projectRoot","resolveFrom","silent","modResults","NSLocationWhenInUseUsageDescription","AndroidConfig","Permissions","withPermissions","packageName","fallback","GoogleMapsApiKey","withGoogleMapsApiKey","IOSConfig","Maps","withMaps"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAEA,MAAMA,cAAc,GAAG,+CAAvB,C,CAEA;AACA;;AACA,MAAMC,8BAA4C,GAAGC,MAAM,IAAI;AAAA;;AAC7D,QAAMC,QAAQ,GACZ,uBAACD,MAAM,CAACE,SAAR,8CAAC,kBAAkBC,iBAAnB,KACAH,MAAM,CAACE,SAAP,CAAiBC,iBAAjB,CAAmCC,QAAnC,CAA4C,mBAA5C,CAFF,CAD6D,CAI7D;;;AACA,MACE,sBAAAJ,MAAM,CAACE,SAAP,kEAAkBG,WAAlB,IACAC,uBAAYC,MAAZ,CAAmBP,MAAM,CAACE,SAAP,CAAiBG,WAApC,EAAiD,mBAAjD,CADA,IAEAJ,QAHF,EAIE;AACAD,IAAAA,MAAM,GAAG,oCAAcA,MAAd,EAAsBA,MAAM,IAAI;AACvCA,MAAAA,MAAM,CAACQ,UAAP,CAAkBC,mCAAlB,GACET,MAAM,CAACQ,UAAP,CAAkBC,mCAAlB,IAAyDX,cAD3D;AAEA,aAAOE,MAAP;AACD,KAJQ,CAAT;AAMA,WAAOU,+BAAcC,WAAd,CAA0BC,eAA1B,CAA0CZ,MAA1C,EAAkD,CACvD,2CADuD,EAEvD,yCAFuD,CAAlD,CAAP;AAID;;AACD,SAAOA,MAAP;AACD,CAtBD;;eAwBe,8CAAmB;AAChCa,EAAAA,WAAW,EAAE,mBADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACRJ,+BAAcK,gBAAd,CAA+BC,oBADvB,EAERC,2BAAUC,IAAV,CAAeC,QAFP,EAGRpB,8BAHQ;AAFsB,CAAnB,C","sourcesContent":["import { AndroidConfig, ConfigPlugin, IOSConfig, withInfoPlist } from '@expo/config-plugins';\nimport resolveFrom from 'resolve-from';\n\nimport { createLegacyPlugin } from './createLegacyPlugin';\n\nconst LOCATION_USAGE = 'Allow $(PRODUCT_NAME) to access your location';\n\n// Copied from expo-location package, this gets used when the\n// user has react-native-maps installed but not expo-location.\nconst withDefaultLocationPermissions: ConfigPlugin = config => {\n const isLinked =\n !config._internal?.autolinkedModules ||\n config._internal.autolinkedModules.includes('react-native-maps');\n // Only add location permissions if react-native-maps is installed.\n if (\n config._internal?.projectRoot &&\n resolveFrom.silent(config._internal.projectRoot, 'react-native-maps') &&\n isLinked\n ) {\n config = withInfoPlist(config, config => {\n config.modResults.NSLocationWhenInUseUsageDescription =\n config.modResults.NSLocationWhenInUseUsageDescription || LOCATION_USAGE;\n return config;\n });\n\n return AndroidConfig.Permissions.withPermissions(config, [\n 'android.permission.ACCESS_COARSE_LOCATION',\n 'android.permission.ACCESS_FINE_LOCATION',\n ]);\n }\n return config;\n};\n\nexport default createLegacyPlugin({\n packageName: 'react-native-maps',\n fallback: [\n AndroidConfig.GoogleMapsApiKey.withGoogleMapsApiKey,\n IOSConfig.Maps.withMaps,\n withDefaultLocationPermissions,\n ],\n});\n"],"file":"react-native-maps.js"}
@@ -19,6 +19,26 @@ function _configPlugins() {
19
19
  return data;
20
20
  }
21
21
 
22
+ function _debug() {
23
+ const data = _interopRequireDefault(require("debug"));
24
+
25
+ _debug = function () {
26
+ return data;
27
+ };
28
+
29
+ return data;
30
+ }
31
+
32
+ function _getAutolinkedPackages() {
33
+ const data = require("../getAutolinkedPackages");
34
+
35
+ _getAutolinkedPackages = function () {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
22
42
  function _withAndroidIcons() {
23
43
  const data = require("./icons/withAndroidIcons");
24
44
 
@@ -164,11 +184,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
164
184
  /**
165
185
  * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.
166
186
  */
167
-
187
+ const debug = (0, _debug().default)('expo:prebuild-config');
168
188
  /**
169
189
  * Config plugin to apply all of the custom Expo iOS config plugins we support by default.
170
190
  * TODO: In the future most of this should go into versioned packages like expo-facebook, expo-updates, etc...
171
191
  */
192
+
172
193
  const withIosExpoPlugins = (config, {
173
194
  bundleIdentifier
174
195
  }) => {
@@ -242,6 +263,11 @@ const expoManagedVersionedPlugins = ['expo-firebase-analytics', 'expo-firebase-c
242
263
 
243
264
  const withOptionalLegacyPlugins = (config, plugins) => {
244
265
  return plugins.reduce((prev, plugin) => {
266
+ if ((0, _getAutolinkedPackages().shouldSkipAutoPlugin)(config, plugin)) {
267
+ debug('Skipping unlinked auto plugin:', plugin);
268
+ return prev;
269
+ }
270
+
245
271
  return (0, _configPlugins().withStaticPlugin)(prev, {
246
272
  // hide errors
247
273
  _isLegacyPlugin: true,
@@ -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","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","JsEngine","withJsEnginePodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","withIosIcons","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","withPackageManifest","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withPermissions","withName","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","expoUsername","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withBranch","withDocumentPicker","withFacebook","withSystemUI","withSplashScreen","withNavigationBar","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/expo-branch';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withFacebook from './unversioned/expo-facebook/expo-facebook';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport 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.Scheme.withScheme,\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.Bitcode.withBitcode,\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\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.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-branch',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-facebook',\n 'expo-splash-screen',\n 'expo-system-ui',\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 // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-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":["debug","withIosExpoPlugins","config","bundleIdentifier","ios","IOSConfig","BundleIdentifier","withBundleIdentifier","Swift","withSwiftBridgingHeader","withNoopSwiftFile","Google","withGoogle","Name","withDisplayName","Orientation","withOrientation","RequiresFullScreen","withRequiresFullScreen","Scheme","withScheme","UsesNonExemptEncryption","withUsesNonExemptEncryption","Version","withBuildNumber","withVersion","withGoogleServicesFile","JsEngine","withJsEnginePodfileProps","Entitlements","withAssociatedDomains","DeviceFamily","withDeviceFamily","Bitcode","withBitcode","Locales","withLocales","withIosIcons","withAndroidExpoPlugins","props","android","package","AndroidConfig","withJsEngineGradleProps","withNameSettingsGradle","GoogleServices","withClassPath","withApplyPlugin","Package","withPackageGradle","withPackageManifest","AllowBackup","withAllowBackup","WindowSoftInputMode","withWindowSoftInputMode","IntentFilters","withAndroidIntentFilters","Permissions","withPermissions","withName","StatusBar","withStatusBar","PrimaryColor","withPrimaryColor","withAndroidIcons","withPackageRefactor","versionedExpoSDKPackages","withVersionedExpoSDKPlugins","expoUsername","withMaps","withAdMob","withAppleAuthentication","withContacts","withNotifications","withUpdates","withBranch","withDocumentPicker","withFacebook","withSystemUI","withSplashScreen","withNavigationBar","getAutoPlugins","concat","legacyExpoPlugins","expoManagedVersionedPlugins","getLegacyExpoPlugins","withOptionalLegacyPlugins","plugins","reduce","prev","plugin","_isLegacyPlugin","fallback","withLegacyExpoPlugins","Set"],"mappings":";;;;;;;;;;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AASA;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;;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;;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;;;;AA5BA;AACA;AACA;AA4BA,MAAMA,KAAK,GAAG,sBAAM,sBAAN,CAAd;AAEA;AACA;AACA;AACA;;AACO,MAAMC,kBAEX,GAAG,CAACC,MAAD,EAAS;AAAEC,EAAAA;AAAF,CAAT,KAAkC;AACrC;AACA,MAAI,CAACD,MAAM,CAACE,GAAZ,EAAiBF,MAAM,CAACE,GAAP,GAAa,EAAb;AACjBF,EAAAA,MAAM,CAACE,GAAP,CAAWD,gBAAX,GAA8BA,gBAA9B;AAEA,SAAO,kCAAYD,MAAZ,EAAoB,CACzB,CAACG,2BAAUC,gBAAV,CAA2BC,oBAA5B,EAAkD;AAAEJ,IAAAA;AAAF,GAAlD,CADyB,EAEzBE,2BAAUG,KAAV,CAAgBC,uBAFS,EAGzBJ,2BAAUG,KAAV,CAAgBE,iBAHS,EAIzBL,2BAAUM,MAAV,CAAiBC,UAJQ,EAKzBP,2BAAUQ,IAAV,CAAeC,eALU,EAMzBT,2BAAUU,WAAV,CAAsBC,eANG,EAOzBX,2BAAUY,kBAAV,CAA6BC,sBAPJ,EAQzBb,2BAAUc,MAAV,CAAiBC,UARQ,EASzBf,2BAAUgB,uBAAV,CAAkCC,2BATT,EAUzBjB,2BAAUkB,OAAV,CAAkBC,eAVO,EAWzBnB,2BAAUkB,OAAV,CAAkBE,WAXO,EAYzBpB,2BAAUM,MAAV,CAAiBe,sBAZQ,EAazBrB,2BAAUsB,QAAV,CAAmBC,wBAbM,EAczB;AACAvB,6BAAUwB,YAAV,CAAuBC,qBAfE,EAgBzB;AACAzB,6BAAU0B,YAAV,CAAuBC,gBAjBE,EAkBzB3B,2BAAU4B,OAAV,CAAkBC,WAlBO,EAmBzB7B,2BAAU8B,OAAV,CAAkBC,WAnBO,EAoBzB;AACAC,8BArByB,CAApB,CAAP;AAuBD,CA9BM;AAgCP;AACA;AACA;AACA;;;;;AACO,MAAMC,sBAEX,GAAG,CAACpC,MAAD,EAASqC,KAAT,KAAmB;AACtB;AACA,MAAI,CAACrC,MAAM,CAACsC,OAAZ,EAAqBtC,MAAM,CAACsC,OAAP,GAAiB,EAAjB;AACrBtC,EAAAA,MAAM,CAACsC,OAAP,CAAeC,OAAf,GAAyBF,KAAK,CAACE,OAA/B;AAEA,SAAO,kCAAYvC,MAAZ,EAAoB,CACzB;AACAwC,iCAAcf,QAAd,CAAuBgB,uBAFE,EAIzB;AACAD,iCAAc7B,IAAd,CAAmB+B,sBALM,EAOzB;AACAF,iCAAcG,cAAd,CAA6BC,aARJ,EAUzB;AACAJ,iCAAcG,cAAd,CAA6BE,eAXJ,EAYzBL,+BAAcM,OAAd,CAAsBC,iBAZG,EAazBP,+BAAcnB,OAAd,CAAsBE,WAbG,EAezB;AACAiB,iCAAcM,OAAd,CAAsBE,mBAhBG,EAiBzBR,+BAAcS,WAAd,CAA0BC,eAjBD,EAkBzBV,+BAAcW,mBAAd,CAAkCC,uBAlBT,EAmBzB;AACA;AACAZ,iCAAca,aAAd,CAA4BC,wBArBH,EAsBzBd,+BAAcvB,MAAd,CAAqBC,UAtBI,EAuBzBsB,+BAAc3B,WAAd,CAA0BC,eAvBD,EAwBzB0B,+BAAce,WAAd,CAA0BC,eAxBD,EA0BzB;AACAhB,iCAAc7B,IAAd,CAAmB8C,QA3BM,EA6BzB;AACAjB,iCAAcG,cAAd,CAA6BnB,sBA9BJ,EAgCzB;AACAgB,iCAAckB,SAAd,CAAwBC,aAjCC,EAkCzBnB,+BAAcoB,YAAd,CAA2BC,gBAlCF,EAoCzBC,oCApCyB,EAqCzB;AACA;AACAtB,iCAAcM,OAAd,CAAsBiB,mBAvCG,CAApB,CAAP;AAyCD,CAhDM,C,CAkDP;;;;AACA,MAAMC,wBAAkC,GAAG,CACzC,mBADyC,EAEzC,gBAFyC,EAGzC,2BAHyC,EAIzC,eAJyC,EAKzC,oBALyC,EAMzC,cANyC,EAOzC,aAPyC,EAQzC,qBARyC,EASzC,sBATyC,EAUzC,eAVyC,EAWzC,oBAXyC,EAYzC,gBAZyC,CAA3C;;AAeO,MAAMC,2BAA0E,GAAG,CACxFjE,MADwF,EAExF;AAAEkE,EAAAA;AAAF,CAFwF,KAGrF;AACH,SAAO,kCAAYlE,MAAZ,EAAoB,CACzBmE,0BADyB,EAEzBC,uBAFyB,EAGzBC,kCAHyB,EAIzBC,uBAJyB,EAKzBC,4BALyB,EAMzB,CAACC,sBAAD,EAAc;AAAEN,IAAAA;AAAF,GAAd,CANyB,EAOzBO,qBAPyB,EAQzBC,6BARyB,EASzBC,uBATyB,EAUzB;AACA;AACAC,yBAZyB,EAazBC,2BAbyB,EAczBC,4BAdyB,CAApB,CAAP;AAgBD,CApBM;;;;AAsBA,SAASC,cAAT,GAA0B;AAC/B,SAAOf,wBAAwB,CAACgB,MAAzB,CAAgCC,iBAAhC,EAAmDD,MAAnD,CAA0DE,2BAA1D,CAAP;AACD;;AAEM,SAASC,oBAAT,GAAgC;AACrC,SAAOF,iBAAP;AACD,C,CAED;AACA;;;AACA,MAAMA,iBAAiB,GAAG,CACxB,eADwB,EAExB,SAFwB,EAGxB,uBAHwB,EAIxB,sBAJwB,EAKxB,iBALwB,EAMxB,eANwB,EAOxB,aAPwB,EAQxB,eARwB,EASxB,eATwB,EAUxB,mBAVwB,EAWxB,iBAXwB,EAYxB,mBAZwB,EAaxB,kBAbwB,EAcxB,mBAdwB,EAexB,eAfwB,EAgBxB,oBAhBwB,EAiBxB,yBAjBwB,EAkBxB,cAlBwB,EAmBxB,mBAnBwB,EAoBxB,2BApBwB,CAA1B,C,CAuBA;AACA;;AACA,MAAMC,2BAA2B,GAAG,CAClC,yBADkC,EAElC,oBAFkC,EAGlC,qBAHkC,CAApC;;AAMA,MAAME,yBAAkE,GAAG,CAACpF,MAAD,EAASqF,OAAT,KAAqB;AAC9F,SAAOA,OAAO,CAACC,MAAR,CAAe,CAACC,IAAD,EAAOC,MAAP,KAAkB;AACtC,QAAI,mDAAqBxF,MAArB,EAA6BwF,MAA7B,CAAJ,EAA0C;AACxC1F,MAAAA,KAAK,CAAC,gCAAD,EAAmC0F,MAAnC,CAAL;AACA,aAAOD,IAAP;AACD;;AAED,WAAO,uCAAiBA,IAAjB,EAAuB;AAC5B;AACAE,MAAAA,eAAe,EAAE,IAFW;AAG5BD,MAAAA,MAH4B;AAI5B;AACAE,MAAAA,QAAQ,EAAE1F,MAAM,IAAIA;AALQ,KAAvB,CAAP;AAOD,GAbM,EAaJA,MAbI,CAAP;AAcD,CAfD;;AAiBO,SAAS2F,qBAAT,CAA+B3F,MAA/B,EAAmD;AACxD,SAAOoF,yBAAyB,CAACpF,MAAD,EAAS,CACvC,GAAG,IAAI4F,GAAJ,CAAQV,2BAA2B,CAACF,MAA5B,CAAmCC,iBAAnC,CAAR,CADoC,CAAT,CAAhC;AAGD","sourcesContent":["/**\n * These are the versioned first-party plugins with some of the future third-party plugins mixed in for legacy support.\n */\nimport {\n AndroidConfig,\n ConfigPlugin,\n IOSConfig,\n StaticPlugin,\n withPlugins,\n withStaticPlugin,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { shouldSkipAutoPlugin } from '../getAutolinkedPackages';\nimport { withAndroidIcons } from './icons/withAndroidIcons';\nimport { withIosIcons } from './icons/withIosIcons';\nimport withAdMob from './unversioned/expo-ads-admob/expo-ads-admob';\nimport withAppleAuthentication from './unversioned/expo-apple-authentication';\nimport withBranch from './unversioned/expo-branch/expo-branch';\nimport withContacts from './unversioned/expo-contacts';\nimport withDocumentPicker from './unversioned/expo-document-picker';\nimport withFacebook from './unversioned/expo-facebook/expo-facebook';\nimport withNavigationBar from './unversioned/expo-navigation-bar/expo-navigation-bar';\nimport withNotifications from './unversioned/expo-notifications/expo-notifications';\nimport withSplashScreen from './unversioned/expo-splash-screen/expo-splash-screen';\nimport withSystemUI from './unversioned/expo-system-ui/expo-system-ui';\nimport withUpdates from './unversioned/expo-updates';\nimport withMaps from './unversioned/react-native-maps';\n\nconst debug = Debug('expo:prebuild-config');\n\n/**\n * Config plugin to apply all of the custom Expo iOS config plugins we support by default.\n * TODO: In the future most of this should go into versioned packages like expo-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.Scheme.withScheme,\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.Bitcode.withBitcode,\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\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.StatusBar.withStatusBar,\n AndroidConfig.PrimaryColor.withPrimaryColor,\n\n withAndroidIcons,\n // If we renamed the package, we should also move it around and rename it in source files\n // Added last to ensure this plugin runs first. Out of tree solutions will mistakenly resolve the package incorrectly otherwise.\n AndroidConfig.Package.withPackageRefactor,\n ]);\n};\n\n// Must keep in sync with `withVersionedExpoSDKPlugins`\nconst versionedExpoSDKPackages: string[] = [\n 'react-native-maps',\n 'expo-ads-admob',\n 'expo-apple-authentication',\n 'expo-contacts',\n 'expo-notifications',\n 'expo-updates',\n 'expo-branch',\n 'expo-navigation-bar',\n 'expo-document-picker',\n 'expo-facebook',\n 'expo-splash-screen',\n 'expo-system-ui',\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 // System UI must come before splash screen as they overlap\n // and splash screen will warn about conflicting rules.\n withSystemUI,\n withSplashScreen,\n withNavigationBar,\n ]);\n};\n\nexport function getAutoPlugins() {\n return versionedExpoSDKPackages.concat(legacyExpoPlugins).concat(expoManagedVersionedPlugins);\n}\n\nexport function getLegacyExpoPlugins() {\n return legacyExpoPlugins;\n}\n\n// Expo managed packages that require extra update.\n// These get applied automatically to create parity with expo build in eas build.\nconst legacyExpoPlugins = [\n 'expo-app-auth',\n 'expo-av',\n 'expo-background-fetch',\n 'expo-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 if (shouldSkipAutoPlugin(config, plugin)) {\n debug('Skipping unlinked auto plugin:', plugin);\n return prev;\n }\n\n return withStaticPlugin(prev, {\n // hide errors\n _isLegacyPlugin: true,\n plugin,\n // If a plugin doesn't exist, do nothing.\n fallback: config => config,\n });\n }, config);\n};\n\nexport function withLegacyExpoPlugins(config: ExpoConfig) {\n return withOptionalLegacyPlugins(config, [\n ...new Set(expoManagedVersionedPlugins.concat(legacyExpoPlugins)),\n ]);\n}\n"],"file":"withDefaultPlugins.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/prebuild-config",
3
- "version": "3.0.11",
3
+ "version": "3.0.12",
4
4
  "description": "Get the prebuild config",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -35,12 +35,13 @@
35
35
  "@types/xml2js": "^0.4.5"
36
36
  },
37
37
  "dependencies": {
38
- "@expo/config": "6.0.11",
39
- "@expo/config-plugins": "4.0.11",
38
+ "@expo/config": "6.0.12",
39
+ "@expo/config-plugins": "4.0.12",
40
40
  "@expo/config-types": "^43.0.1",
41
41
  "@expo/image-utils": "0.3.18",
42
42
  "@expo/json-file": "8.2.34",
43
43
  "debug": "^4.3.1",
44
+ "expo-modules-autolinking": "~0.4.0",
44
45
  "fs-extra": "^9.0.0",
45
46
  "resolve-from": "^5.0.0",
46
47
  "semver": "7.3.2",