@expo/config-plugins 4.0.6 → 4.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +14 -0
  2. package/build/Plugin.types.js +6 -6
  3. package/build/android/AllowBackup.js +1 -1
  4. package/build/android/Colors.js +3 -3
  5. package/build/android/EasBuild.js +1 -1
  6. package/build/android/GoogleServices.js +3 -3
  7. package/build/android/IntentFilters.js +1 -1
  8. package/build/android/JsEngine.js +2 -1
  9. package/build/android/JsEngine.js.map +1 -1
  10. package/build/android/Manifest.js +10 -10
  11. package/build/android/Name.d.ts +2 -1
  12. package/build/android/Name.js +7 -4
  13. package/build/android/Name.js.map +1 -1
  14. package/build/android/Orientation.js +2 -1
  15. package/build/android/Orientation.js.map +1 -1
  16. package/build/android/Package.js +4 -4
  17. package/build/android/Package.js.map +1 -1
  18. package/build/android/Paths.js +9 -9
  19. package/build/android/Permissions.js +6 -6
  20. package/build/android/Resources.js +5 -5
  21. package/build/android/Scheme.js +3 -3
  22. package/build/android/StatusBar.js +3 -3
  23. package/build/android/Strings.js +1 -1
  24. package/build/android/Styles.js +5 -5
  25. package/build/android/Updates.d.ts +0 -5
  26. package/build/android/Updates.js +14 -23
  27. package/build/android/Updates.js.map +1 -1
  28. package/build/android/Version.js +2 -2
  29. package/build/android/WindowSoftInputMode.js +1 -1
  30. package/build/android/codeMod.js +2 -2
  31. package/build/android/index.d.ts +1 -3
  32. package/build/android/index.js +1 -35
  33. package/build/android/index.js.map +1 -1
  34. package/build/index.d.ts +1 -1
  35. package/build/index.js +57 -49
  36. package/build/index.js.map +1 -1
  37. package/build/ios/Bitcode.js +1 -1
  38. package/build/ios/BuildScheme.js +2 -2
  39. package/build/ios/BundleIdentifier.js +3 -3
  40. package/build/ios/DeviceFamily.js +3 -3
  41. package/build/ios/Entitlements.js +2 -2
  42. package/build/ios/Entitlements.js.map +1 -1
  43. package/build/ios/Google.js +2 -2
  44. package/build/ios/JsEngine.d.ts +2 -1
  45. package/build/ios/JsEngine.js +2 -1
  46. package/build/ios/JsEngine.js.map +1 -1
  47. package/build/ios/Locales.js +1 -1
  48. package/build/ios/Maps.js +29 -8
  49. package/build/ios/Maps.js.map +1 -1
  50. package/build/ios/Orientation.js +2 -1
  51. package/build/ios/Orientation.js.map +1 -1
  52. package/build/ios/Paths.js +14 -14
  53. package/build/ios/Paths.js.map +1 -1
  54. package/build/ios/Permissions.js +1 -1
  55. package/build/ios/Permissions.js.map +1 -1
  56. package/build/ios/Scheme.js +4 -4
  57. package/build/ios/Swift.js +2 -2
  58. package/build/ios/Target.js +5 -5
  59. package/build/ios/Updates.d.ts +0 -5
  60. package/build/ios/Updates.js +14 -23
  61. package/build/ios/Updates.js.map +1 -1
  62. package/build/ios/Version.js +3 -3
  63. package/build/ios/codeMod.js +2 -2
  64. package/build/ios/index.d.ts +1 -3
  65. package/build/ios/index.js +3 -35
  66. package/build/ios/index.js.map +1 -1
  67. package/build/ios/utils/Xcodeproj.js +9 -9
  68. package/build/plugins/android-plugins.js +1 -1
  69. package/build/plugins/createBaseMod.js +2 -2
  70. package/build/plugins/createBaseMod.js.map +1 -1
  71. package/build/plugins/ios-plugins.d.ts +2 -2
  72. package/build/plugins/ios-plugins.js +2 -2
  73. package/build/plugins/ios-plugins.js.map +1 -1
  74. package/build/plugins/mod-compiler.js +3 -3
  75. package/build/plugins/mod-compiler.js.map +1 -1
  76. package/build/plugins/withAndroidBaseMods.js +1 -1
  77. package/build/plugins/withIosBaseMods.d.ts +3 -3
  78. package/build/plugins/withIosBaseMods.js +1 -1
  79. package/build/plugins/withIosBaseMods.js.map +1 -1
  80. package/build/plugins/withStaticPlugin.js +16 -5
  81. package/build/plugins/withStaticPlugin.js.map +1 -1
  82. package/build/utils/Updates.d.ts +1 -0
  83. package/build/utils/Updates.js +24 -1
  84. package/build/utils/Updates.js.map +1 -1
  85. package/build/utils/XML.d.ts +6 -0
  86. package/build/utils/XML.js +57 -10
  87. package/build/utils/XML.js.map +1 -1
  88. package/build/utils/errors.js +1 -1
  89. package/build/utils/generateCode.js +2 -2
  90. package/build/utils/history.js +1 -1
  91. package/build/utils/modules.js +1 -1
  92. package/build/utils/plugin-resolver.js +4 -4
  93. package/build/utils/sortObject.js +2 -2
  94. package/build/utils/warnings.js +1 -1
  95. package/package.json +3 -3
  96. package/build/android/RootViewBackgroundColor.d.ts +0 -6
  97. package/build/android/RootViewBackgroundColor.js +0 -81
  98. package/build/android/RootViewBackgroundColor.js.map +0 -1
  99. package/build/android/UserInterfaceStyle.d.ts +0 -10
  100. package/build/android/UserInterfaceStyle.js +0 -119
  101. package/build/android/UserInterfaceStyle.js.map +0 -1
  102. package/build/ios/RootViewBackgroundColor.d.ts +0 -6
  103. package/build/ios/RootViewBackgroundColor.js +0 -70
  104. package/build/ios/RootViewBackgroundColor.js.map +0 -1
  105. package/build/ios/UserInterfaceStyle.d.ts +0 -5
  106. package/build/ios/UserInterfaceStyle.js +0 -59
  107. package/build/ios/UserInterfaceStyle.js.map +0 -1
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getLocales = getLocales;
7
- exports.setLocalesAsync = setLocalesAsync;
8
7
  exports.getResolvedLocalesAsync = getResolvedLocalesAsync;
8
+ exports.setLocalesAsync = setLocalesAsync;
9
9
  exports.withLocales = void 0;
10
10
 
11
11
  function _jsonFile() {
package/build/ios/Maps.js CHANGED
@@ -3,15 +3,26 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getGoogleMapsApiKey = getGoogleMapsApiKey;
7
- exports.setGoogleMapsApiKey = setGoogleMapsApiKey;
6
+ exports.MATCH_INIT = void 0;
8
7
  exports.addGoogleMapsAppDelegateImport = addGoogleMapsAppDelegateImport;
9
- exports.removeGoogleMapsAppDelegateImport = removeGoogleMapsAppDelegateImport;
10
8
  exports.addGoogleMapsAppDelegateInit = addGoogleMapsAppDelegateInit;
11
- exports.removeGoogleMapsAppDelegateInit = removeGoogleMapsAppDelegateInit;
12
9
  exports.addMapsCocoaPods = addMapsCocoaPods;
10
+ exports.getGoogleMapsApiKey = getGoogleMapsApiKey;
11
+ exports.removeGoogleMapsAppDelegateImport = removeGoogleMapsAppDelegateImport;
12
+ exports.removeGoogleMapsAppDelegateInit = removeGoogleMapsAppDelegateInit;
13
13
  exports.removeMapsCocoaPods = removeMapsCocoaPods;
14
- exports.withMaps = exports.MATCH_INIT = void 0;
14
+ exports.setGoogleMapsApiKey = setGoogleMapsApiKey;
15
+ exports.withMaps = void 0;
16
+
17
+ function _debug() {
18
+ const data = _interopRequireDefault(require("debug"));
19
+
20
+ _debug = function () {
21
+ return data;
22
+ };
23
+
24
+ return data;
25
+ }
15
26
 
16
27
  function _fsExtra() {
17
28
  const data = _interopRequireDefault(require("fs-extra"));
@@ -75,7 +86,8 @@ function _resolvePackageRootFolder() {
75
86
 
76
87
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
77
88
 
78
- // Match against `UMModuleRegistryAdapter` (unimodules), and React Native without unimodules (Expo Modules).
89
+ const debug = (0, _debug().default)('expo:config-plugins:ios:maps'); // Match against `UMModuleRegistryAdapter` (unimodules), and React Native without unimodules (Expo Modules).
90
+
79
91
  const MATCH_INIT = /(?:(self\.|_)(\w+)\s?=\s?\[\[UMModuleRegistryAdapter alloc\])|(?:RCTBridge\s?\*\s?(\w+)\s?=\s?\[\[RCTBridge alloc\])/g;
80
92
  exports.MATCH_INIT = MATCH_INIT;
81
93
  const withGoogleMapsKey = (0, _iosPlugins().createInfoPlistPlugin)(setGoogleMapsApiKey, 'withGoogleMapsKey');
@@ -84,6 +96,7 @@ const withMaps = config => {
84
96
  config = withGoogleMapsKey(config);
85
97
  const apiKey = getGoogleMapsApiKey(config); // Technically adds react-native-maps (Apple maps) and google maps.
86
98
 
99
+ debug('Google Maps API Key:', apiKey);
87
100
  config = withMapsCocoaPods(config, {
88
101
  useGoogleMaps: !!apiKey
89
102
  }); // Adds/Removes AppDelegate setup for Google Maps API on iOS
@@ -186,6 +199,11 @@ function isReactNativeMapsInstalled(projectRoot) {
186
199
  return (0, _resolvePackageRootFolder().resolvePackageRootFolder)(projectRoot, 'react-native-maps');
187
200
  }
188
201
 
202
+ function isReactNativeMapsAutolinked(config) {
203
+ // TODO: Detect autolinking
204
+ return true;
205
+ }
206
+
189
207
  const withMapsCocoaPods = (config, {
190
208
  useGoogleMaps
191
209
  }) => {
@@ -197,8 +215,11 @@ const withMapsCocoaPods = (config, {
197
215
  // Generally prebuild runs after a yarn install so this should always work as expected.
198
216
 
199
217
  const googleMapsPath = isReactNativeMapsInstalled(config.modRequest.projectRoot);
218
+ const isLinked = isReactNativeMapsAutolinked(config);
219
+ debug('Is Expo Autolinked:', isLinked);
220
+ debug('react-native-maps path:', googleMapsPath);
200
221
 
201
- if (googleMapsPath && useGoogleMaps) {
222
+ if (isLinked && googleMapsPath && useGoogleMaps) {
202
223
  // Make the pod path relative to the ios folder.
203
224
  const googleMapsPodPath = _path().default.relative(config.modRequest.platformProjectRoot, googleMapsPath);
204
225
 
@@ -229,7 +250,7 @@ const withGoogleMapsAppDelegate = (config, {
229
250
  }) => {
230
251
  return (0, _iosPlugins().withAppDelegate)(config, config => {
231
252
  if (config.modResults.language === 'objc') {
232
- if (apiKey && isReactNativeMapsInstalled(config.modRequest.projectRoot)) {
253
+ if (apiKey && isReactNativeMapsAutolinked(config) && isReactNativeMapsInstalled(config.modRequest.projectRoot)) {
233
254
  try {
234
255
  config.modResults.contents = addGoogleMapsAppDelegateImport(config.modResults.contents).contents;
235
256
  config.modResults.contents = addGoogleMapsAppDelegateInit(config.modResults.contents, apiKey).contents;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ios/Maps.ts"],"names":["MATCH_INIT","withGoogleMapsKey","setGoogleMapsApiKey","withMaps","config","apiKey","getGoogleMapsApiKey","withMapsCocoaPods","useGoogleMaps","withGoogleMapsAppDelegate","ios","googleMapsApiKey","GMSApiKey","infoPlist","addGoogleMapsAppDelegateImport","src","newSrc","push","tag","join","anchor","offset","comment","removeGoogleMapsAppDelegateImport","addGoogleMapsAppDelegateInit","removeGoogleMapsAppDelegateInit","addMapsCocoaPods","googleMapsPath","removeMapsCocoaPods","isReactNativeMapsInstalled","projectRoot","filePath","path","modRequest","platformProjectRoot","contents","fs","readFile","results","googleMapsPodPath","relative","error","code","Error","didMerge","didClear","writeFile","modResults","language"],"mappings":";;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;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;;;;AAEA;AACO,MAAMA,UAAU,GAAG,uHAAnB;;AAEP,MAAMC,iBAAiB,GAAG,yCAAsBC,mBAAtB,EAA2C,mBAA3C,CAA1B;;AAEO,MAAMC,QAAsB,GAAGC,MAAM,IAAI;AAC9CA,EAAAA,MAAM,GAAGH,iBAAiB,CAACG,MAAD,CAA1B;AAEA,QAAMC,MAAM,GAAGC,mBAAmB,CAACF,MAAD,CAAlC,CAH8C,CAI9C;;AACAA,EAAAA,MAAM,GAAGG,iBAAiB,CAACH,MAAD,EAAS;AAAEI,IAAAA,aAAa,EAAE,CAAC,CAACH;AAAnB,GAAT,CAA1B,CAL8C,CAM9C;;AACAD,EAAAA,MAAM,GAAGK,yBAAyB,CAACL,MAAD,EAAS;AAAEC,IAAAA;AAAF,GAAT,CAAlC;AAEA,SAAOD,MAAP;AACD,CAVM;;;;AAYA,SAASE,mBAAT,CAA6BF,MAA7B,EAA8D;AAAA;;AACnE,iDAAOA,MAAM,CAACM,GAAd,sEAAO,YAAYN,MAAnB,uDAAO,mBAAoBO,gBAA3B,yEAA+C,IAA/C;AACD;;AAEM,SAAST,mBAAT,CACLE,MADK,EAEL;AAAEQ,EAAAA,SAAF;AAAa,KAAGC;AAAhB,CAFK,EAGM;AACX,QAAMR,MAAM,GAAGC,mBAAmB,CAACF,MAAD,CAAlC;;AAEA,MAAIC,MAAM,KAAK,IAAf,EAAqB;AACnB,WAAOQ,SAAP;AACD;;AAED,SAAO,EACL,GAAGA,SADE;AAELD,IAAAA,SAAS,EAAEP;AAFN,GAAP;AAID;;AAEM,SAASS,8BAAT,CAAwCC,GAAxC,EAAmE;AACxE,QAAMC,MAAM,GAAG,EAAf;AACAA,EAAAA,MAAM,CAACC,IAAP,CACE,8CADF,EAEE,mCAFF,EAGE,QAHF;AAMA,SAAO,mCAAc;AACnBC,IAAAA,GAAG,EAAE,0BADc;AAEnBH,IAAAA,GAFmB;AAGnBC,IAAAA,MAAM,EAAEA,MAAM,CAACG,IAAP,CAAY,IAAZ,CAHW;AAInBC,IAAAA,MAAM,EAAE,0BAJW;AAKnBC,IAAAA,MAAM,EAAE,CALW;AAMnBC,IAAAA,OAAO,EAAE;AANU,GAAd,CAAP;AAQD;;AAEM,SAASC,iCAAT,CAA2CR,GAA3C,EAAsE;AAC3E,SAAO,oCAAe;AACpBG,IAAAA,GAAG,EAAE,0BADe;AAEpBH,IAAAA;AAFoB,GAAf,CAAP;AAID;;AAEM,SAASS,4BAAT,CAAsCT,GAAtC,EAAmDV,MAAnD,EAAiF;AACtF,QAAMW,MAAM,GAAG,EAAf;AACAA,EAAAA,MAAM,CAACC,IAAP,CACE,8CADF,EAEG,kCAAiCZ,MAAO,KAF3C,EAGE,QAHF;AAMA,SAAO,mCAAc;AACnBa,IAAAA,GAAG,EAAE,wBADc;AAEnBH,IAAAA,GAFmB;AAGnBC,IAAAA,MAAM,EAAEA,MAAM,CAACG,IAAP,CAAY,IAAZ,CAHW;AAInBC,IAAAA,MAAM,EAAEpB,UAJW;AAKnBqB,IAAAA,MAAM,EAAE,CALW;AAMnBC,IAAAA,OAAO,EAAE;AANU,GAAd,CAAP;AAQD;;AAEM,SAASG,+BAAT,CAAyCV,GAAzC,EAAoE;AACzE,SAAO,oCAAe;AACpBG,IAAAA,GAAG,EAAE,wBADe;AAEpBH,IAAAA;AAFoB,GAAf,CAAP;AAID;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASW,gBAAT,CAA0BX,GAA1B,EAAuCY,cAAvC,EAA6E;AAClF,SAAO,mCAAc;AACnBT,IAAAA,GAAG,EAAE,mBADc;AAEnBH,IAAAA,GAFmB;AAGnBC,IAAAA,MAAM,EAAG,4CAA2CW,cAAe,GAHhD;AAInBP,IAAAA,MAAM,EAAE,oBAJW;AAKnBC,IAAAA,MAAM,EAAE,CALW;AAMnBC,IAAAA,OAAO,EAAE;AANU,GAAd,CAAP;AAQD;;AAEM,SAASM,mBAAT,CAA6Bb,GAA7B,EAAwD;AAC7D,SAAO,oCAAe;AACpBG,IAAAA,GAAG,EAAE,mBADe;AAEpBH,IAAAA;AAFoB,GAAf,CAAP;AAID;;AAED,SAASc,0BAAT,CAAoCC,WAApC,EAAwE;AACtE,SAAO,0DAAyBA,WAAzB,EAAsC,mBAAtC,CAAP;AACD;;AAED,MAAMvB,iBAA2D,GAAG,CAACH,MAAD,EAAS;AAAEI,EAAAA;AAAF,CAAT,KAA+B;AACjG,SAAO,0CAAiBJ,MAAjB,EAAyB,CAC9B,KAD8B,EAE9B,MAAMA,MAAN,IAAgB;AACd,UAAM2B,QAAQ,GAAGC,gBAAKb,IAAL,CAAUf,MAAM,CAAC6B,UAAP,CAAkBC,mBAA5B,EAAiD,SAAjD,CAAjB;;AACA,UAAMC,QAAQ,GAAG,MAAMC,mBAAGC,QAAH,CAAYN,QAAZ,EAAsB,OAAtB,CAAvB;AACA,QAAIO,OAAJ,CAHc,CAId;AACA;;AACA,UAAMX,cAAc,GAAGE,0BAA0B,CAACzB,MAAM,CAAC6B,UAAP,CAAkBH,WAAnB,CAAjD;;AACA,QAAIH,cAAc,IAAInB,aAAtB,EAAqC;AACnC;AACA,YAAM+B,iBAAiB,GAAGP,gBAAKQ,QAAL,CACxBpC,MAAM,CAAC6B,UAAP,CAAkBC,mBADM,EAExBP,cAFwB,CAA1B;;AAIA,UAAI;AACFW,QAAAA,OAAO,GAAGZ,gBAAgB,CAACS,QAAD,EAAWI,iBAAX,CAA1B;AACD,OAFD,CAEE,OAAOE,KAAP,EAAc;AACd,YAAIA,KAAK,CAACC,IAAN,KAAe,cAAnB,EAAmC;AACjC,gBAAM,IAAIC,KAAJ,CACH,2IADG,CAAN;AAGD;;AACD,cAAMF,KAAN;AACD;AACF,KAhBD,MAgBO;AACL;AACAH,MAAAA,OAAO,GAAGV,mBAAmB,CAACO,QAAD,CAA7B;AACD;;AACD,QAAIG,OAAO,CAACM,QAAR,IAAoBN,OAAO,CAACO,QAAhC,EAA0C;AACxC,YAAMT,mBAAGU,SAAH,CAAaf,QAAb,EAAuBO,OAAO,CAACH,QAA/B,CAAN;AACD;;AACD,WAAO/B,MAAP;AACD,GAjC6B,CAAzB,CAAP;AAmCD,CApCD;;AAsCA,MAAMK,yBAAkE,GAAG,CAACL,MAAD,EAAS;AAAEC,EAAAA;AAAF,CAAT,KAAwB;AACjG,SAAO,mCAAgBD,MAAhB,EAAwBA,MAAM,IAAI;AACvC,QAAIA,MAAM,CAAC2C,UAAP,CAAkBC,QAAlB,KAA+B,MAAnC,EAA2C;AACzC,UAAI3C,MAAM,IAAIwB,0BAA0B,CAACzB,MAAM,CAAC6B,UAAP,CAAkBH,WAAnB,CAAxC,EAAyE;AACvE,YAAI;AACF1B,UAAAA,MAAM,CAAC2C,UAAP,CAAkBZ,QAAlB,GAA6BrB,8BAA8B,CACzDV,MAAM,CAAC2C,UAAP,CAAkBZ,QADuC,CAA9B,CAE3BA,QAFF;AAGA/B,UAAAA,MAAM,CAAC2C,UAAP,CAAkBZ,QAAlB,GAA6BX,4BAA4B,CACvDpB,MAAM,CAAC2C,UAAP,CAAkBZ,QADqC,EAEvD9B,MAFuD,CAA5B,CAG3B8B,QAHF;AAID,SARD,CAQE,OAAOM,KAAP,EAAc;AACd,cAAIA,KAAK,CAACC,IAAN,KAAe,cAAnB,EAAmC;AACjC,kBAAM,IAAIC,KAAJ,CACH,yIADG,CAAN;AAGD;;AACD,gBAAMF,KAAN;AACD;AACF,OAjBD,MAiBO;AACLrC,QAAAA,MAAM,CAAC2C,UAAP,CAAkBZ,QAAlB,GAA6BZ,iCAAiC,CAC5DnB,MAAM,CAAC2C,UAAP,CAAkBZ,QAD0C,CAAjC,CAE3BA,QAFF;AAGA/B,QAAAA,MAAM,CAAC2C,UAAP,CAAkBZ,QAAlB,GAA6BV,+BAA+B,CAC1DrB,MAAM,CAAC2C,UAAP,CAAkBZ,QADwC,CAA/B,CAE3BA,QAFF;AAGD;AACF,KA1BD,MA0BO;AACL,YAAM,IAAIQ,KAAJ,CAAU,qEAAV,CAAN;AACD;;AACD,WAAOvC,MAAP;AACD,GA/BM,CAAP;AAgCD,CAjCD","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nimport { ConfigPlugin, InfoPlist } from '../Plugin.types';\nimport { createInfoPlistPlugin, withAppDelegate } from '../plugins/ios-plugins';\nimport { withDangerousMod } from '../plugins/withDangerousMod';\nimport { mergeContents, MergeResults, removeContents } from '../utils/generateCode';\nimport { resolvePackageRootFolder } from '../utils/resolvePackageRootFolder';\n\n// Match against `UMModuleRegistryAdapter` (unimodules), and React Native without unimodules (Expo Modules).\nexport const MATCH_INIT = /(?:(self\\.|_)(\\w+)\\s?=\\s?\\[\\[UMModuleRegistryAdapter alloc\\])|(?:RCTBridge\\s?\\*\\s?(\\w+)\\s?=\\s?\\[\\[RCTBridge alloc\\])/g;\n\nconst withGoogleMapsKey = createInfoPlistPlugin(setGoogleMapsApiKey, 'withGoogleMapsKey');\n\nexport const withMaps: ConfigPlugin = config => {\n config = withGoogleMapsKey(config);\n\n const apiKey = getGoogleMapsApiKey(config);\n // Technically adds react-native-maps (Apple maps) and google maps.\n config = withMapsCocoaPods(config, { useGoogleMaps: !!apiKey });\n // Adds/Removes AppDelegate setup for Google Maps API on iOS\n config = withGoogleMapsAppDelegate(config, { apiKey });\n\n return config;\n};\n\nexport function getGoogleMapsApiKey(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.googleMapsApiKey ?? null;\n}\n\nexport function setGoogleMapsApiKey(\n config: Pick<ExpoConfig, 'ios'>,\n { GMSApiKey, ...infoPlist }: InfoPlist\n): InfoPlist {\n const apiKey = getGoogleMapsApiKey(config);\n\n if (apiKey === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n GMSApiKey: apiKey,\n };\n}\n\nexport function addGoogleMapsAppDelegateImport(src: string): MergeResults {\n const newSrc = [];\n newSrc.push(\n '#if __has_include(<GoogleMaps/GoogleMaps.h>)',\n '#import <GoogleMaps/GoogleMaps.h>',\n '#endif'\n );\n\n return mergeContents({\n tag: 'react-native-maps-import',\n src,\n newSrc: newSrc.join('\\n'),\n anchor: /#import \"AppDelegate\\.h\"/,\n offset: 1,\n comment: '//',\n });\n}\n\nexport function removeGoogleMapsAppDelegateImport(src: string): MergeResults {\n return removeContents({\n tag: 'react-native-maps-import',\n src,\n });\n}\n\nexport function addGoogleMapsAppDelegateInit(src: string, apiKey: string): MergeResults {\n const newSrc = [];\n newSrc.push(\n '#if __has_include(<GoogleMaps/GoogleMaps.h>)',\n ` [GMSServices provideAPIKey:@\"${apiKey}\"];`,\n '#endif'\n );\n\n return mergeContents({\n tag: 'react-native-maps-init',\n src,\n newSrc: newSrc.join('\\n'),\n anchor: MATCH_INIT,\n offset: 0,\n comment: '//',\n });\n}\n\nexport function removeGoogleMapsAppDelegateInit(src: string): MergeResults {\n return removeContents({\n tag: 'react-native-maps-init',\n src,\n });\n}\n\n/**\n * @param src\n * @param useGoogleMaps\n * @param googleMapsPath '../node_modules/react-native-maps'\n * @returns\n */\nexport function addMapsCocoaPods(src: string, googleMapsPath: string): MergeResults {\n return mergeContents({\n tag: 'react-native-maps',\n src,\n newSrc: ` pod 'react-native-google-maps', path: '${googleMapsPath}'`,\n anchor: /use_native_modules/,\n offset: 0,\n comment: '#',\n });\n}\n\nexport function removeMapsCocoaPods(src: string): MergeResults {\n return removeContents({\n tag: 'react-native-maps',\n src,\n });\n}\n\nfunction isReactNativeMapsInstalled(projectRoot: string): string | null {\n return resolvePackageRootFolder(projectRoot, 'react-native-maps');\n}\n\nconst withMapsCocoaPods: ConfigPlugin<{ useGoogleMaps: boolean }> = (config, { useGoogleMaps }) => {\n return withDangerousMod(config, [\n 'ios',\n async config => {\n const filePath = path.join(config.modRequest.platformProjectRoot, 'Podfile');\n const contents = await fs.readFile(filePath, 'utf-8');\n let results: MergeResults;\n // Only add the block if react-native-maps is installed in the project (best effort).\n // Generally prebuild runs after a yarn install so this should always work as expected.\n const googleMapsPath = isReactNativeMapsInstalled(config.modRequest.projectRoot);\n if (googleMapsPath && useGoogleMaps) {\n // Make the pod path relative to the ios folder.\n const googleMapsPodPath = path.relative(\n config.modRequest.platformProjectRoot,\n googleMapsPath\n );\n try {\n results = addMapsCocoaPods(contents, googleMapsPodPath);\n } catch (error) {\n if (error.code === 'ERR_NO_MATCH') {\n throw new Error(\n `Cannot add react-native-maps to the project's ios/Podfile because it's malformed. Please report this with a copy of your project Podfile.`\n );\n }\n throw error;\n }\n } else {\n // If the package is no longer installed, then remove the block.\n results = removeMapsCocoaPods(contents);\n }\n if (results.didMerge || results.didClear) {\n await fs.writeFile(filePath, results.contents);\n }\n return config;\n },\n ]);\n};\n\nconst withGoogleMapsAppDelegate: ConfigPlugin<{ apiKey: string | null }> = (config, { apiKey }) => {\n return withAppDelegate(config, config => {\n if (config.modResults.language === 'objc') {\n if (apiKey && isReactNativeMapsInstalled(config.modRequest.projectRoot)) {\n try {\n config.modResults.contents = addGoogleMapsAppDelegateImport(\n config.modResults.contents\n ).contents;\n config.modResults.contents = addGoogleMapsAppDelegateInit(\n config.modResults.contents,\n apiKey\n ).contents;\n } catch (error) {\n if (error.code === 'ERR_NO_MATCH') {\n throw new Error(\n `Cannot add Google Maps to the project's AppDelegate because it's malformed. Please report this with a copy of your project AppDelegate.`\n );\n }\n throw error;\n }\n } else {\n config.modResults.contents = removeGoogleMapsAppDelegateImport(\n config.modResults.contents\n ).contents;\n config.modResults.contents = removeGoogleMapsAppDelegateInit(\n config.modResults.contents\n ).contents;\n }\n } else {\n throw new Error('Cannot setup Google Maps because the AppDelegate is not Objective C');\n }\n return config;\n });\n};\n"],"file":"Maps.js"}
1
+ {"version":3,"sources":["../../src/ios/Maps.ts"],"names":["debug","MATCH_INIT","withGoogleMapsKey","setGoogleMapsApiKey","withMaps","config","apiKey","getGoogleMapsApiKey","withMapsCocoaPods","useGoogleMaps","withGoogleMapsAppDelegate","ios","googleMapsApiKey","GMSApiKey","infoPlist","addGoogleMapsAppDelegateImport","src","newSrc","push","tag","join","anchor","offset","comment","removeGoogleMapsAppDelegateImport","addGoogleMapsAppDelegateInit","removeGoogleMapsAppDelegateInit","addMapsCocoaPods","googleMapsPath","removeMapsCocoaPods","isReactNativeMapsInstalled","projectRoot","isReactNativeMapsAutolinked","filePath","path","modRequest","platformProjectRoot","contents","fs","readFile","results","isLinked","googleMapsPodPath","relative","error","code","Error","didMerge","didClear","writeFile","modResults","language"],"mappings":"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","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nimport { ConfigPlugin, InfoPlist } from '../Plugin.types';\nimport { createInfoPlistPlugin, withAppDelegate } from '../plugins/ios-plugins';\nimport { withDangerousMod } from '../plugins/withDangerousMod';\nimport { mergeContents, MergeResults, removeContents } from '../utils/generateCode';\nimport { resolvePackageRootFolder } from '../utils/resolvePackageRootFolder';\n\nconst debug = Debug('expo:config-plugins:ios:maps');\n\n// Match against `UMModuleRegistryAdapter` (unimodules), and React Native without unimodules (Expo Modules).\nexport const MATCH_INIT = /(?:(self\\.|_)(\\w+)\\s?=\\s?\\[\\[UMModuleRegistryAdapter alloc\\])|(?:RCTBridge\\s?\\*\\s?(\\w+)\\s?=\\s?\\[\\[RCTBridge alloc\\])/g;\n\nconst withGoogleMapsKey = createInfoPlistPlugin(setGoogleMapsApiKey, 'withGoogleMapsKey');\n\nexport const withMaps: ConfigPlugin = config => {\n config = withGoogleMapsKey(config);\n\n const apiKey = getGoogleMapsApiKey(config);\n // Technically adds react-native-maps (Apple maps) and google maps.\n\n debug('Google Maps API Key:', apiKey);\n config = withMapsCocoaPods(config, { useGoogleMaps: !!apiKey });\n\n // Adds/Removes AppDelegate setup for Google Maps API on iOS\n config = withGoogleMapsAppDelegate(config, { apiKey });\n\n return config;\n};\n\nexport function getGoogleMapsApiKey(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.googleMapsApiKey ?? null;\n}\n\nexport function setGoogleMapsApiKey(\n config: Pick<ExpoConfig, 'ios'>,\n { GMSApiKey, ...infoPlist }: InfoPlist\n): InfoPlist {\n const apiKey = getGoogleMapsApiKey(config);\n\n if (apiKey === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n GMSApiKey: apiKey,\n };\n}\n\nexport function addGoogleMapsAppDelegateImport(src: string): MergeResults {\n const newSrc = [];\n newSrc.push(\n '#if __has_include(<GoogleMaps/GoogleMaps.h>)',\n '#import <GoogleMaps/GoogleMaps.h>',\n '#endif'\n );\n\n return mergeContents({\n tag: 'react-native-maps-import',\n src,\n newSrc: newSrc.join('\\n'),\n anchor: /#import \"AppDelegate\\.h\"/,\n offset: 1,\n comment: '//',\n });\n}\n\nexport function removeGoogleMapsAppDelegateImport(src: string): MergeResults {\n return removeContents({\n tag: 'react-native-maps-import',\n src,\n });\n}\n\nexport function addGoogleMapsAppDelegateInit(src: string, apiKey: string): MergeResults {\n const newSrc = [];\n newSrc.push(\n '#if __has_include(<GoogleMaps/GoogleMaps.h>)',\n ` [GMSServices provideAPIKey:@\"${apiKey}\"];`,\n '#endif'\n );\n\n return mergeContents({\n tag: 'react-native-maps-init',\n src,\n newSrc: newSrc.join('\\n'),\n anchor: MATCH_INIT,\n offset: 0,\n comment: '//',\n });\n}\n\nexport function removeGoogleMapsAppDelegateInit(src: string): MergeResults {\n return removeContents({\n tag: 'react-native-maps-init',\n src,\n });\n}\n\n/**\n * @param src\n * @param useGoogleMaps\n * @param googleMapsPath '../node_modules/react-native-maps'\n * @returns\n */\nexport function addMapsCocoaPods(src: string, googleMapsPath: string): MergeResults {\n return mergeContents({\n tag: 'react-native-maps',\n src,\n newSrc: ` pod 'react-native-google-maps', path: '${googleMapsPath}'`,\n anchor: /use_native_modules/,\n offset: 0,\n comment: '#',\n });\n}\n\nexport function removeMapsCocoaPods(src: string): MergeResults {\n return removeContents({\n tag: 'react-native-maps',\n src,\n });\n}\n\nfunction isReactNativeMapsInstalled(projectRoot: string): string | null {\n return resolvePackageRootFolder(projectRoot, 'react-native-maps');\n}\n\nfunction isReactNativeMapsAutolinked(config: Pick<ExpoConfig, '_internal'>): boolean {\n // TODO: Detect autolinking\n return true;\n}\n\nconst withMapsCocoaPods: ConfigPlugin<{ useGoogleMaps: boolean }> = (config, { useGoogleMaps }) => {\n return withDangerousMod(config, [\n 'ios',\n async config => {\n const filePath = path.join(config.modRequest.platformProjectRoot, 'Podfile');\n const contents = await fs.readFile(filePath, 'utf-8');\n let results: MergeResults;\n // Only add the block if react-native-maps is installed in the project (best effort).\n // Generally prebuild runs after a yarn install so this should always work as expected.\n const googleMapsPath = isReactNativeMapsInstalled(config.modRequest.projectRoot);\n const isLinked = isReactNativeMapsAutolinked(config);\n debug('Is Expo Autolinked:', isLinked);\n debug('react-native-maps path:', googleMapsPath);\n if (isLinked && googleMapsPath && useGoogleMaps) {\n // Make the pod path relative to the ios folder.\n const googleMapsPodPath = path.relative(\n config.modRequest.platformProjectRoot,\n googleMapsPath\n );\n try {\n results = addMapsCocoaPods(contents, googleMapsPodPath);\n } catch (error: any) {\n if (error.code === 'ERR_NO_MATCH') {\n throw new Error(\n `Cannot add react-native-maps to the project's ios/Podfile because it's malformed. Please report this with a copy of your project Podfile.`\n );\n }\n throw error;\n }\n } else {\n // If the package is no longer installed, then remove the block.\n results = removeMapsCocoaPods(contents);\n }\n if (results.didMerge || results.didClear) {\n await fs.writeFile(filePath, results.contents);\n }\n return config;\n },\n ]);\n};\n\nconst withGoogleMapsAppDelegate: ConfigPlugin<{ apiKey: string | null }> = (config, { apiKey }) => {\n return withAppDelegate(config, config => {\n if (config.modResults.language === 'objc') {\n if (\n apiKey &&\n isReactNativeMapsAutolinked(config) &&\n isReactNativeMapsInstalled(config.modRequest.projectRoot)\n ) {\n try {\n config.modResults.contents = addGoogleMapsAppDelegateImport(\n config.modResults.contents\n ).contents;\n config.modResults.contents = addGoogleMapsAppDelegateInit(\n config.modResults.contents,\n apiKey\n ).contents;\n } catch (error) {\n if (error.code === 'ERR_NO_MATCH') {\n throw new Error(\n `Cannot add Google Maps to the project's AppDelegate because it's malformed. Please report this with a copy of your project AppDelegate.`\n );\n }\n throw error;\n }\n } else {\n config.modResults.contents = removeGoogleMapsAppDelegateImport(\n config.modResults.contents\n ).contents;\n config.modResults.contents = removeGoogleMapsAppDelegateInit(\n config.modResults.contents\n ).contents;\n }\n } else {\n throw new Error('Cannot setup Google Maps because the AppDelegate is not Objective C');\n }\n return config;\n });\n};\n"],"file":"Maps.js"}
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.PORTRAIT_ORIENTATIONS = exports.LANDSCAPE_ORIENTATIONS = void 0;
6
7
  exports.getOrientation = getOrientation;
7
8
  exports.setOrientation = setOrientation;
8
- exports.LANDSCAPE_ORIENTATIONS = exports.PORTRAIT_ORIENTATIONS = exports.withOrientation = void 0;
9
+ exports.withOrientation = void 0;
9
10
 
10
11
  function _iosPlugins() {
11
12
  const data = require("../plugins/ios-plugins");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ios/Orientation.ts"],"names":["withOrientation","setOrientation","getOrientation","config","orientation","PORTRAIT_ORIENTATIONS","LANDSCAPE_ORIENTATIONS","getUISupportedInterfaceOrientations","infoPlist","UISupportedInterfaceOrientations"],"mappings":";;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,eAAe,GAAG,yCAAsBC,cAAtB,EAAsC,iBAAtC,CAAxB;;;AAEA,SAASC,cAAT,CAAwBC,MAAxB,EAAiE;AAAA;;AACtE,gCAAOA,MAAM,CAACC,WAAd,qEAA6B,IAA7B;AACD;;AAEM,MAAMC,qBAA6C,GAAG,CAC3D,gCAD2D,EAE3D,0CAF2D,CAAtD;;AAKA,MAAMC,sBAA8C,GAAG,CAC5D,qCAD4D,EAE5D,sCAF4D,CAAvD;;;AAKP,SAASC,mCAAT,CAA6CH,WAA7C,EAAiG;AAC/F,MAAIA,WAAW,KAAK,UAApB,EAAgC;AAC9B,WAAOC,qBAAP;AACD,GAFD,MAEO,IAAID,WAAW,KAAK,WAApB,EAAiC;AACtC,WAAOE,sBAAP;AACD,GAFM,MAEA;AACL,WAAO,CAAC,GAAGD,qBAAJ,EAA2B,GAAGC,sBAA9B,CAAP;AACD;AACF;;AAEM,SAASL,cAAT,CACLE,MADK,EAELK,SAFK,EAGM;AACX,QAAMJ,WAAW,GAAGF,cAAc,CAACC,MAAD,CAAlC;AAEA,SAAO,EACL,GAAGK,SADE;AAELC,IAAAA,gCAAgC,EAAEF,mCAAmC,CAACH,WAAD;AAFhE,GAAP;AAID","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { createInfoPlistPlugin } from '../plugins/ios-plugins';\nimport { InfoPlist, InterfaceOrientation } from './IosConfig.types';\n\nexport const withOrientation = createInfoPlistPlugin(setOrientation, 'withOrientation');\n\nexport function getOrientation(config: Pick<ExpoConfig, 'orientation'>) {\n return config.orientation ?? null;\n}\n\nexport const PORTRAIT_ORIENTATIONS: InterfaceOrientation[] = [\n 'UIInterfaceOrientationPortrait',\n 'UIInterfaceOrientationPortraitUpsideDown',\n];\n\nexport const LANDSCAPE_ORIENTATIONS: InterfaceOrientation[] = [\n 'UIInterfaceOrientationLandscapeLeft',\n 'UIInterfaceOrientationLandscapeRight',\n];\n\nfunction getUISupportedInterfaceOrientations(orientation: string | null): InterfaceOrientation[] {\n if (orientation === 'portrait') {\n return PORTRAIT_ORIENTATIONS;\n } else if (orientation === 'landscape') {\n return LANDSCAPE_ORIENTATIONS;\n } else {\n return [...PORTRAIT_ORIENTATIONS, ...LANDSCAPE_ORIENTATIONS];\n }\n}\n\nexport function setOrientation(\n config: Pick<ExpoConfig, 'orientation'>,\n infoPlist: InfoPlist\n): InfoPlist {\n const orientation = getOrientation(config);\n\n return {\n ...infoPlist,\n UISupportedInterfaceOrientations: getUISupportedInterfaceOrientations(orientation),\n };\n}\n"],"file":"Orientation.js"}
1
+ {"version":3,"sources":["../../src/ios/Orientation.ts"],"names":["withOrientation","setOrientation","getOrientation","config","orientation","PORTRAIT_ORIENTATIONS","LANDSCAPE_ORIENTATIONS","getUISupportedInterfaceOrientations","infoPlist","UISupportedInterfaceOrientations"],"mappings":";;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,eAAe,GAAG,yCAAsBC,cAAtB,EAAsC,iBAAtC,CAAxB;;;AAEA,SAASC,cAAT,CAAwBC,MAAxB,EAAiE;AAAA;;AACtE,gCAAOA,MAAM,CAACC,WAAd,qEAA6B,IAA7B;AACD;;AAEM,MAAMC,qBAA6C,GAAG,CAC3D,gCAD2D,EAE3D,0CAF2D,CAAtD;;AAKA,MAAMC,sBAA8C,GAAG,CAC5D,qCAD4D,EAE5D,sCAF4D,CAAvD;;;AAKP,SAASC,mCAAT,CAA6CH,WAA7C,EAAiG;AAC/F,MAAIA,WAAW,KAAK,UAApB,EAAgC;AAC9B,WAAOC,qBAAP;AACD,GAFD,MAEO,IAAID,WAAW,KAAK,WAApB,EAAiC;AACtC,WAAOE,sBAAP;AACD,GAFM,MAEA;AACL,WAAO,CAAC,GAAGD,qBAAJ,EAA2B,GAAGC,sBAA9B,CAAP;AACD;AACF;;AAEM,SAASL,cAAT,CACLE,MADK,EAELK,SAFK,EAGM;AACX,QAAMJ,WAAW,GAAGF,cAAc,CAACC,MAAD,CAAlC;AAEA,SAAO,EACL,GAAGK,SADE;AAELC,IAAAA,gCAAgC,EAAEF,mCAAmC,CAACH,WAAD;AAFhE,GAAP;AAID","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { createInfoPlistPlugin } from '../plugins/ios-plugins';\nimport { InfoPlist, InterfaceOrientation } from './IosConfig.types';\n\nexport const withOrientation = createInfoPlistPlugin(setOrientation, 'withOrientation');\n\nexport function getOrientation(config: Pick<ExpoConfig, 'orientation'>) {\n return config.orientation ?? null;\n}\n\nexport const PORTRAIT_ORIENTATIONS: InterfaceOrientation[] = [\n 'UIInterfaceOrientationPortrait',\n 'UIInterfaceOrientationPortraitUpsideDown',\n];\n\nexport const LANDSCAPE_ORIENTATIONS: InterfaceOrientation[] = [\n 'UIInterfaceOrientationLandscapeLeft',\n 'UIInterfaceOrientationLandscapeRight',\n];\n\nfunction getUISupportedInterfaceOrientations(orientation: string | null): InterfaceOrientation[] {\n if (orientation === 'portrait') {\n return PORTRAIT_ORIENTATIONS;\n } else if (orientation === 'landscape') {\n return LANDSCAPE_ORIENTATIONS;\n } else {\n return [...PORTRAIT_ORIENTATIONS, ...LANDSCAPE_ORIENTATIONS];\n }\n}\n\nexport function setOrientation(\n config: Pick<ExpoConfig, 'orientation'>,\n infoPlist: InfoPlist\n): InfoPlist {\n const orientation = getOrientation(config);\n\n return {\n ...infoPlist,\n UISupportedInterfaceOrientations: getUISupportedInterfaceOrientations(orientation),\n };\n}\n"],"file":"Orientation.js"}
@@ -3,24 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getAppDelegateHeaderFilePath = getAppDelegateHeaderFilePath;
6
+ exports.findSchemeNames = findSchemeNames;
7
+ exports.findSchemePaths = findSchemePaths;
8
+ exports.getAllEntitlementsPaths = getAllEntitlementsPaths;
9
+ exports.getAllInfoPlistPaths = getAllInfoPlistPaths;
10
+ exports.getAllPBXProjectPaths = getAllPBXProjectPaths;
11
+ exports.getAllXcodeProjectPaths = getAllXcodeProjectPaths;
12
+ exports.getAppDelegate = getAppDelegate;
7
13
  exports.getAppDelegateFilePath = getAppDelegateFilePath;
14
+ exports.getAppDelegateHeaderFilePath = getAppDelegateHeaderFilePath;
8
15
  exports.getAppDelegateObjcHeaderFilePath = getAppDelegateObjcHeaderFilePath;
16
+ exports.getEntitlementsPath = getEntitlementsPath;
17
+ exports.getExpoPlistPath = getExpoPlistPath;
9
18
  exports.getFileInfo = getFileInfo;
10
- exports.getAppDelegate = getAppDelegate;
11
- exports.getSourceRoot = getSourceRoot;
12
- exports.findSchemePaths = findSchemePaths;
13
- exports.findSchemeNames = findSchemeNames;
14
- exports.getAllXcodeProjectPaths = getAllXcodeProjectPaths;
15
- exports.getXcodeProjectPath = getXcodeProjectPath;
16
- exports.getAllPBXProjectPaths = getAllPBXProjectPaths;
17
- exports.getPBXProjectPath = getPBXProjectPath;
18
- exports.getAllInfoPlistPaths = getAllInfoPlistPaths;
19
19
  exports.getInfoPlistPath = getInfoPlistPath;
20
- exports.getAllEntitlementsPaths = getAllEntitlementsPaths;
21
- exports.getEntitlementsPath = getEntitlementsPath;
20
+ exports.getPBXProjectPath = getPBXProjectPath;
21
+ exports.getSourceRoot = getSourceRoot;
22
22
  exports.getSupportingPath = getSupportingPath;
23
- exports.getExpoPlistPath = getExpoPlistPath;
23
+ exports.getXcodeProjectPath = getXcodeProjectPath;
24
24
 
25
25
  function _fsExtra() {
26
26
  const data = require("fs-extra");
@@ -194,7 +194,7 @@ function findSchemePaths(projectRoot) {
194
194
 
195
195
  function findSchemeNames(projectRoot) {
196
196
  const schemePaths = findSchemePaths(projectRoot);
197
- return schemePaths.map(schemePath => path().basename(schemePath).split('.')[0]);
197
+ return schemePaths.map(schemePath => path().parse(schemePath).name);
198
198
  }
199
199
 
200
200
  function getAllXcodeProjectPaths(projectRoot) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ios/Paths.ts"],"names":["ignoredPaths","getAppDelegateHeaderFilePath","projectRoot","using","extra","absolute","cwd","ignore","UnexpectedError","length","warnMultipleFiles","tag","fileName","getAppDelegateFilePath","getAppDelegateObjcHeaderFilePath","getLanguage","filePath","extension","path","extname","getFileInfo","normalize","contents","language","getAppDelegate","getSourceRoot","appDelegate","dirname","findSchemePaths","findSchemeNames","schemePaths","map","schemePath","basename","split","getAllXcodeProjectPaths","iosFolder","pbxprojPaths","filter","project","test","sort","value","join","getXcodeProjectPath","getAllPBXProjectPaths","projectPaths","paths","getPBXProjectPath","getAllInfoPlistPaths","a","b","getInfoPlistPath","getAllEntitlementsPaths","getEntitlementsPath","getSupportingPath","resolve","getExpoPlistPath","supportingPath","usingPath","relative","extraPaths","v","JSON","stringify"],"mappings":"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","sourcesContent":["import { pathExistsSync, readFileSync } from 'fs-extra';\nimport { sync as globSync } from 'glob';\nimport * as path from 'path';\n\nimport { UnexpectedError } from '../utils/errors';\nimport { addWarningIOS } from '../utils/warnings';\n\nconst ignoredPaths = ['**/@(Carthage|Pods|vendor|node_modules)/**'];\n\ninterface ProjectFile<L extends string = string> {\n path: string;\n language: L;\n contents: string;\n}\n\nexport type AppDelegateProjectFile = ProjectFile<'objc' | 'swift'>;\n\nexport function getAppDelegateHeaderFilePath(projectRoot: string): string {\n const [using, ...extra] = globSync('ios/*/AppDelegate.h', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n\n if (!using) {\n throw new UnexpectedError(\n `Could not locate a valid AppDelegate header at root: \"${projectRoot}\"`\n );\n }\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'app-delegate-header',\n fileName: 'AppDelegate',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAppDelegateFilePath(projectRoot: string): string {\n const [using, ...extra] = globSync('ios/*/AppDelegate.@(m|swift)', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n\n if (!using) {\n throw new UnexpectedError(`Could not locate a valid AppDelegate at root: \"${projectRoot}\"`);\n }\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'app-delegate',\n fileName: 'AppDelegate',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAppDelegateObjcHeaderFilePath(projectRoot: string): string {\n const [using, ...extra] = globSync('ios/*/AppDelegate.h', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n\n if (!using) {\n throw new UnexpectedError(`Could not locate a valid AppDelegate.h at root: \"${projectRoot}\"`);\n }\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'app-delegate-objc-header',\n fileName: 'AppDelegate.h',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nfunction getLanguage(filePath: string): 'objc' | 'swift' {\n const extension = path.extname(filePath);\n switch (extension) {\n case '.m':\n case '.h':\n return 'objc';\n case '.swift':\n return 'swift';\n default:\n throw new UnexpectedError(`Unexpected iOS file extension: ${extension}`);\n }\n}\n\nexport function getFileInfo(filePath: string) {\n return {\n path: path.normalize(filePath),\n contents: readFileSync(filePath, 'utf8'),\n language: getLanguage(filePath),\n };\n}\n\nexport function getAppDelegate(projectRoot: string): AppDelegateProjectFile {\n const filePath = getAppDelegateFilePath(projectRoot);\n return getFileInfo(filePath);\n}\n\nexport function getSourceRoot(projectRoot: string): string {\n const appDelegate = getAppDelegate(projectRoot);\n return path.dirname(appDelegate.path);\n}\n\nexport function findSchemePaths(projectRoot: string): string[] {\n return globSync('ios/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n}\n\nexport function findSchemeNames(projectRoot: string): string[] {\n const schemePaths = findSchemePaths(projectRoot);\n return schemePaths.map(schemePath => path.basename(schemePath).split('.')[0]);\n}\n\nexport function getAllXcodeProjectPaths(projectRoot: string): string[] {\n const iosFolder = 'ios';\n const pbxprojPaths = globSync('**/*.xcodeproj', { cwd: projectRoot, ignore: ignoredPaths })\n .filter(project => !/test|example|sample/i.test(project) || path.dirname(project) === iosFolder)\n .sort(project => (path.dirname(project) === iosFolder ? -1 : 1))\n // sort alphabetically to ensure this works the same across different devices (Fail in CI (linux) without this)\n .sort();\n\n if (!pbxprojPaths.length) {\n throw new UnexpectedError(\n `Failed to locate the ios/*.xcodeproj files relative to path \"${projectRoot}\".`\n );\n }\n return pbxprojPaths.map(value => path.join(projectRoot, value));\n}\n\n/**\n * Get the pbxproj for the given path\n */\nexport function getXcodeProjectPath(projectRoot: string): string {\n const [using, ...extra] = getAllXcodeProjectPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'xcodeproj',\n fileName: '*.xcodeproj',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAllPBXProjectPaths(projectRoot: string): string[] {\n const projectPaths = getAllXcodeProjectPaths(projectRoot);\n const paths = projectPaths\n .map(value => path.join(value, 'project.pbxproj'))\n .filter(value => pathExistsSync(value));\n\n if (!paths.length) {\n throw new UnexpectedError(\n `Failed to locate the ios/*.xcodeproj/project.pbxproj files relative to path \"${projectRoot}\".`\n );\n }\n return paths;\n}\n\nexport function getPBXProjectPath(projectRoot: string): string {\n const [using, ...extra] = getAllPBXProjectPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'project-pbxproj',\n fileName: 'project.pbxproj',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAllInfoPlistPaths(projectRoot: string): string[] {\n const paths = globSync('ios/*/Info.plist', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n }).sort(\n // longer name means more suffixes, we want the shortest possible one to be first.\n (a, b) => a.length - b.length\n );\n\n if (!paths.length) {\n throw new UnexpectedError(\n `Failed to locate Info.plist files relative to path \"${projectRoot}\".`\n );\n }\n return paths;\n}\n\nexport function getInfoPlistPath(projectRoot: string): string {\n const [using, ...extra] = getAllInfoPlistPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'info-plist',\n fileName: 'Info.plist',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAllEntitlementsPaths(projectRoot: string): string[] {\n const paths = globSync('ios/*/*.entitlements', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n return paths;\n}\n\n/**\n * Get the entitlements file path if it exists.\n *\n * @param projectRoot\n */\nexport function getEntitlementsPath(projectRoot: string): string | null {\n const [using, ...extra] = getAllEntitlementsPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'entitlements',\n fileName: '*.entitlements',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using ?? null;\n}\n\nexport function getSupportingPath(projectRoot: string): string {\n return path.resolve(projectRoot, 'ios', path.basename(getSourceRoot(projectRoot)), 'Supporting');\n}\n\nexport function getExpoPlistPath(projectRoot: string): string {\n const supportingPath = getSupportingPath(projectRoot);\n return path.join(supportingPath, 'Expo.plist');\n}\n\nfunction warnMultipleFiles({\n tag,\n fileName,\n projectRoot,\n using,\n extra,\n}: {\n tag: string;\n fileName: string;\n projectRoot?: string;\n using: string;\n extra: string[];\n}) {\n const usingPath = projectRoot ? path.relative(projectRoot, using) : using;\n const extraPaths = projectRoot ? extra.map(v => path.relative(projectRoot, v)) : extra;\n addWarningIOS(\n `paths-${tag}`,\n `Found multiple ${fileName} file paths, using \"${usingPath}\". Ignored paths: ${JSON.stringify(\n extraPaths\n )}`\n );\n}\n"],"file":"Paths.js"}
1
+ {"version":3,"sources":["../../src/ios/Paths.ts"],"names":["ignoredPaths","getAppDelegateHeaderFilePath","projectRoot","using","extra","absolute","cwd","ignore","UnexpectedError","length","warnMultipleFiles","tag","fileName","getAppDelegateFilePath","getAppDelegateObjcHeaderFilePath","getLanguage","filePath","extension","path","extname","getFileInfo","normalize","contents","language","getAppDelegate","getSourceRoot","appDelegate","dirname","findSchemePaths","findSchemeNames","schemePaths","map","schemePath","parse","name","getAllXcodeProjectPaths","iosFolder","pbxprojPaths","filter","project","test","sort","value","join","getXcodeProjectPath","getAllPBXProjectPaths","projectPaths","paths","getPBXProjectPath","getAllInfoPlistPaths","a","b","getInfoPlistPath","getAllEntitlementsPaths","getEntitlementsPath","getSupportingPath","resolve","basename","getExpoPlistPath","supportingPath","usingPath","relative","extraPaths","v","JSON","stringify"],"mappings":"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","sourcesContent":["import { pathExistsSync, readFileSync } from 'fs-extra';\nimport { sync as globSync } from 'glob';\nimport * as path from 'path';\n\nimport { UnexpectedError } from '../utils/errors';\nimport { addWarningIOS } from '../utils/warnings';\n\nconst ignoredPaths = ['**/@(Carthage|Pods|vendor|node_modules)/**'];\n\ninterface ProjectFile<L extends string = string> {\n path: string;\n language: L;\n contents: string;\n}\n\nexport type AppDelegateProjectFile = ProjectFile<'objc' | 'swift'>;\n\nexport function getAppDelegateHeaderFilePath(projectRoot: string): string {\n const [using, ...extra] = globSync('ios/*/AppDelegate.h', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n\n if (!using) {\n throw new UnexpectedError(\n `Could not locate a valid AppDelegate header at root: \"${projectRoot}\"`\n );\n }\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'app-delegate-header',\n fileName: 'AppDelegate',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAppDelegateFilePath(projectRoot: string): string {\n const [using, ...extra] = globSync('ios/*/AppDelegate.@(m|swift)', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n\n if (!using) {\n throw new UnexpectedError(`Could not locate a valid AppDelegate at root: \"${projectRoot}\"`);\n }\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'app-delegate',\n fileName: 'AppDelegate',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAppDelegateObjcHeaderFilePath(projectRoot: string): string {\n const [using, ...extra] = globSync('ios/*/AppDelegate.h', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n\n if (!using) {\n throw new UnexpectedError(`Could not locate a valid AppDelegate.h at root: \"${projectRoot}\"`);\n }\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'app-delegate-objc-header',\n fileName: 'AppDelegate.h',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nfunction getLanguage(filePath: string): 'objc' | 'swift' {\n const extension = path.extname(filePath);\n switch (extension) {\n case '.m':\n case '.h':\n return 'objc';\n case '.swift':\n return 'swift';\n default:\n throw new UnexpectedError(`Unexpected iOS file extension: ${extension}`);\n }\n}\n\nexport function getFileInfo(filePath: string) {\n return {\n path: path.normalize(filePath),\n contents: readFileSync(filePath, 'utf8'),\n language: getLanguage(filePath),\n };\n}\n\nexport function getAppDelegate(projectRoot: string): AppDelegateProjectFile {\n const filePath = getAppDelegateFilePath(projectRoot);\n return getFileInfo(filePath);\n}\n\nexport function getSourceRoot(projectRoot: string): string {\n const appDelegate = getAppDelegate(projectRoot);\n return path.dirname(appDelegate.path);\n}\n\nexport function findSchemePaths(projectRoot: string): string[] {\n return globSync('ios/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n}\n\nexport function findSchemeNames(projectRoot: string): string[] {\n const schemePaths = findSchemePaths(projectRoot);\n return schemePaths.map(schemePath => path.parse(schemePath).name);\n}\n\nexport function getAllXcodeProjectPaths(projectRoot: string): string[] {\n const iosFolder = 'ios';\n const pbxprojPaths = globSync('**/*.xcodeproj', { cwd: projectRoot, ignore: ignoredPaths })\n .filter(project => !/test|example|sample/i.test(project) || path.dirname(project) === iosFolder)\n .sort(project => (path.dirname(project) === iosFolder ? -1 : 1))\n // sort alphabetically to ensure this works the same across different devices (Fail in CI (linux) without this)\n .sort();\n\n if (!pbxprojPaths.length) {\n throw new UnexpectedError(\n `Failed to locate the ios/*.xcodeproj files relative to path \"${projectRoot}\".`\n );\n }\n return pbxprojPaths.map(value => path.join(projectRoot, value));\n}\n\n/**\n * Get the pbxproj for the given path\n */\nexport function getXcodeProjectPath(projectRoot: string): string {\n const [using, ...extra] = getAllXcodeProjectPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'xcodeproj',\n fileName: '*.xcodeproj',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAllPBXProjectPaths(projectRoot: string): string[] {\n const projectPaths = getAllXcodeProjectPaths(projectRoot);\n const paths = projectPaths\n .map(value => path.join(value, 'project.pbxproj'))\n .filter(value => pathExistsSync(value));\n\n if (!paths.length) {\n throw new UnexpectedError(\n `Failed to locate the ios/*.xcodeproj/project.pbxproj files relative to path \"${projectRoot}\".`\n );\n }\n return paths;\n}\n\nexport function getPBXProjectPath(projectRoot: string): string {\n const [using, ...extra] = getAllPBXProjectPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'project-pbxproj',\n fileName: 'project.pbxproj',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAllInfoPlistPaths(projectRoot: string): string[] {\n const paths = globSync('ios/*/Info.plist', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n }).sort(\n // longer name means more suffixes, we want the shortest possible one to be first.\n (a, b) => a.length - b.length\n );\n\n if (!paths.length) {\n throw new UnexpectedError(\n `Failed to locate Info.plist files relative to path \"${projectRoot}\".`\n );\n }\n return paths;\n}\n\nexport function getInfoPlistPath(projectRoot: string): string {\n const [using, ...extra] = getAllInfoPlistPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'info-plist',\n fileName: 'Info.plist',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using;\n}\n\nexport function getAllEntitlementsPaths(projectRoot: string): string[] {\n const paths = globSync('ios/*/*.entitlements', {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n return paths;\n}\n\n/**\n * Get the entitlements file path if it exists.\n *\n * @param projectRoot\n */\nexport function getEntitlementsPath(projectRoot: string): string | null {\n const [using, ...extra] = getAllEntitlementsPaths(projectRoot);\n\n if (extra.length) {\n warnMultipleFiles({\n tag: 'entitlements',\n fileName: '*.entitlements',\n projectRoot,\n using,\n extra,\n });\n }\n\n return using ?? null;\n}\n\nexport function getSupportingPath(projectRoot: string): string {\n return path.resolve(projectRoot, 'ios', path.basename(getSourceRoot(projectRoot)), 'Supporting');\n}\n\nexport function getExpoPlistPath(projectRoot: string): string {\n const supportingPath = getSupportingPath(projectRoot);\n return path.join(supportingPath, 'Expo.plist');\n}\n\nfunction warnMultipleFiles({\n tag,\n fileName,\n projectRoot,\n using,\n extra,\n}: {\n tag: string;\n fileName: string;\n projectRoot?: string;\n using: string;\n extra: string[];\n}) {\n const usingPath = projectRoot ? path.relative(projectRoot, using) : using;\n const extraPaths = projectRoot ? extra.map(v => path.relative(projectRoot, v)) : extra;\n addWarningIOS(\n `paths-${tag}`,\n `Found multiple ${fileName} file paths, using \"${usingPath}\". Ignored paths: ${JSON.stringify(\n extraPaths\n )}`\n );\n}\n"],"file":"Paths.js"}
@@ -28,7 +28,7 @@ function _iosPlugins() {
28
28
 
29
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
30
 
31
- const debug = (0, _debug().default)('config-plugins:ios:permissions');
31
+ const debug = (0, _debug().default)('expo:config-plugins:ios:permissions');
32
32
 
33
33
  function applyPermissions(defaults, permissions, infoPlist) {
34
34
  const entries = Object.entries(defaults);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ios/Permissions.ts"],"names":["debug","applyPermissions","defaults","permissions","infoPlist","entries","Object","length","JSON","stringify","permission","description","createPermissionsPlugin","name","withIosPermissions","config","modResults","defineProperty","value"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAGA,MAAMA,KAAK,GAAG,sBAAM,gCAAN,CAAd;;AAEO,SAASC,gBAAT,CACLC,QADK,EAELC,WAFK,EAGLC,SAHK,EAIM;AACX,QAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeH,QAAf,CAAhB;;AACA,MAAIG,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;AACxBP,IAAAA,KAAK,CAAE,yBAAwBQ,IAAI,CAACC,SAAL,CAAeN,WAAf,CAA4B,EAAtD,CAAL;AACD;;AACD,OAAK,MAAM,CAACO,UAAD,EAAaC,WAAb,CAAX,IAAwCN,OAAxC,EAAiD;AAC/C,QAAIF,WAAW,CAACO,UAAD,CAAX,KAA4B,KAAhC,EAAuC;AACrCV,MAAAA,KAAK,CAAE,aAAYU,UAAW,GAAzB,CAAL;AACA,aAAON,SAAS,CAACM,UAAD,CAAhB;AACD,KAHD,MAGO;AACLN,MAAAA,SAAS,CAACM,UAAD,CAAT,GAAwBP,WAAW,CAACO,UAAD,CAAX,IAA2BN,SAAS,CAACM,UAAD,CAApC,IAAoDC,WAA5E;AACAX,MAAAA,KAAK,CAAE,YAAWU,UAAW,SAAQN,SAAS,CAACM,UAAD,CAAa,GAAtD,CAAL;AACD;AACF;;AACD,SAAON,SAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASQ,uBAAT,CAELV,QAFK,EAEeW,IAFf,EAE8B;AACnC,QAAMC,kBAAoF,GAAG,CAC3FC,MAD2F,EAE3FZ,WAF2F,KAI3F,iCAAcY,MAAd,EAAsB,MAAMA,MAAN,IAAgB;AACpCA,IAAAA,MAAM,CAACC,UAAP,GAAoBf,gBAAgB,CAACC,QAAD,EAAWC,WAAX,EAAwBY,MAAM,CAACC,UAA/B,CAApC;AACA,WAAOD,MAAP;AACD,GAHD,CAJF;;AAQA,MAAIF,IAAJ,EAAU;AACRP,IAAAA,MAAM,CAACW,cAAP,CAAsBH,kBAAtB,EAA0C,MAA1C,EAAkD;AAChDI,MAAAA,KAAK,EAAEL;AADyC,KAAlD;AAGD;;AACD,SAAOC,kBAAP;AACD","sourcesContent":["import Debug from 'debug';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withInfoPlist } from '../plugins/ios-plugins';\nimport { InfoPlist } from './IosConfig.types';\n\nconst debug = Debug('config-plugins:ios:permissions');\n\nexport function applyPermissions<Defaults extends Record<string, string> = Record<string, string>>(\n defaults: Defaults,\n permissions: Partial<Record<keyof Defaults, string | false>>,\n infoPlist: InfoPlist\n): InfoPlist {\n const entries = Object.entries(defaults);\n if (entries.length === 0) {\n debug(`No defaults provided: ${JSON.stringify(permissions)}`);\n }\n for (const [permission, description] of entries) {\n if (permissions[permission] === false) {\n debug(`Deleting \"${permission}\"`);\n delete infoPlist[permission];\n } else {\n infoPlist[permission] = permissions[permission] || infoPlist[permission] || description;\n debug(`Setting \"${permission}\" to \"${infoPlist[permission]}\"`);\n }\n }\n return infoPlist;\n}\n\n/**\n * Helper method for creating mods to apply default permissions.\n *\n * @param action\n */\nexport function createPermissionsPlugin<\n Defaults extends Record<string, string> = Record<string, string>\n>(defaults: Defaults, name?: string) {\n const withIosPermissions: ConfigPlugin<Record<keyof Defaults, string | undefined | false>> = (\n config,\n permissions\n ) =>\n withInfoPlist(config, async config => {\n config.modResults = applyPermissions(defaults, permissions, config.modResults);\n return config;\n });\n if (name) {\n Object.defineProperty(withIosPermissions, 'name', {\n value: name,\n });\n }\n return withIosPermissions;\n}\n"],"file":"Permissions.js"}
1
+ {"version":3,"sources":["../../src/ios/Permissions.ts"],"names":["debug","applyPermissions","defaults","permissions","infoPlist","entries","Object","length","JSON","stringify","permission","description","createPermissionsPlugin","name","withIosPermissions","config","modResults","defineProperty","value"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;AAGA,MAAMA,KAAK,GAAG,sBAAM,qCAAN,CAAd;;AAEO,SAASC,gBAAT,CACLC,QADK,EAELC,WAFK,EAGLC,SAHK,EAIM;AACX,QAAMC,OAAO,GAAGC,MAAM,CAACD,OAAP,CAAeH,QAAf,CAAhB;;AACA,MAAIG,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;AACxBP,IAAAA,KAAK,CAAE,yBAAwBQ,IAAI,CAACC,SAAL,CAAeN,WAAf,CAA4B,EAAtD,CAAL;AACD;;AACD,OAAK,MAAM,CAACO,UAAD,EAAaC,WAAb,CAAX,IAAwCN,OAAxC,EAAiD;AAC/C,QAAIF,WAAW,CAACO,UAAD,CAAX,KAA4B,KAAhC,EAAuC;AACrCV,MAAAA,KAAK,CAAE,aAAYU,UAAW,GAAzB,CAAL;AACA,aAAON,SAAS,CAACM,UAAD,CAAhB;AACD,KAHD,MAGO;AACLN,MAAAA,SAAS,CAACM,UAAD,CAAT,GAAwBP,WAAW,CAACO,UAAD,CAAX,IAA2BN,SAAS,CAACM,UAAD,CAApC,IAAoDC,WAA5E;AACAX,MAAAA,KAAK,CAAE,YAAWU,UAAW,SAAQN,SAAS,CAACM,UAAD,CAAa,GAAtD,CAAL;AACD;AACF;;AACD,SAAON,SAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASQ,uBAAT,CAELV,QAFK,EAEeW,IAFf,EAE8B;AACnC,QAAMC,kBAAoF,GAAG,CAC3FC,MAD2F,EAE3FZ,WAF2F,KAI3F,iCAAcY,MAAd,EAAsB,MAAMA,MAAN,IAAgB;AACpCA,IAAAA,MAAM,CAACC,UAAP,GAAoBf,gBAAgB,CAACC,QAAD,EAAWC,WAAX,EAAwBY,MAAM,CAACC,UAA/B,CAApC;AACA,WAAOD,MAAP;AACD,GAHD,CAJF;;AAQA,MAAIF,IAAJ,EAAU;AACRP,IAAAA,MAAM,CAACW,cAAP,CAAsBH,kBAAtB,EAA0C,MAA1C,EAAkD;AAChDI,MAAAA,KAAK,EAAEL;AADyC,KAAlD;AAGD;;AACD,SAAOC,kBAAP;AACD","sourcesContent":["import Debug from 'debug';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withInfoPlist } from '../plugins/ios-plugins';\nimport { InfoPlist } from './IosConfig.types';\n\nconst debug = Debug('expo:config-plugins:ios:permissions');\n\nexport function applyPermissions<Defaults extends Record<string, string> = Record<string, string>>(\n defaults: Defaults,\n permissions: Partial<Record<keyof Defaults, string | false>>,\n infoPlist: InfoPlist\n): InfoPlist {\n const entries = Object.entries(defaults);\n if (entries.length === 0) {\n debug(`No defaults provided: ${JSON.stringify(permissions)}`);\n }\n for (const [permission, description] of entries) {\n if (permissions[permission] === false) {\n debug(`Deleting \"${permission}\"`);\n delete infoPlist[permission];\n } else {\n infoPlist[permission] = permissions[permission] || infoPlist[permission] || description;\n debug(`Setting \"${permission}\" to \"${infoPlist[permission]}\"`);\n }\n }\n return infoPlist;\n}\n\n/**\n * Helper method for creating mods to apply default permissions.\n *\n * @param action\n */\nexport function createPermissionsPlugin<\n Defaults extends Record<string, string> = Record<string, string>\n>(defaults: Defaults, name?: string) {\n const withIosPermissions: ConfigPlugin<Record<keyof Defaults, string | undefined | false>> = (\n config,\n permissions\n ) =>\n withInfoPlist(config, async config => {\n config.modResults = applyPermissions(defaults, permissions, config.modResults);\n return config;\n });\n if (name) {\n Object.defineProperty(withIosPermissions, 'name', {\n value: name,\n });\n }\n return withIosPermissions;\n}\n"],"file":"Permissions.js"}
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getScheme = getScheme;
7
- exports.setScheme = setScheme;
8
6
  exports.appendScheme = appendScheme;
9
- exports.removeScheme = removeScheme;
10
- exports.hasScheme = hasScheme;
7
+ exports.getScheme = getScheme;
11
8
  exports.getSchemesFromPlist = getSchemesFromPlist;
9
+ exports.hasScheme = hasScheme;
10
+ exports.removeScheme = removeScheme;
11
+ exports.setScheme = setScheme;
12
12
  exports.withScheme = void 0;
13
13
 
14
14
  function _iosPlugins() {
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.createBridgingHeaderFile = createBridgingHeaderFile;
6
7
  exports.ensureSwiftBridgingHeaderSetup = ensureSwiftBridgingHeaderSetup;
7
8
  exports.getDesignatedSwiftBridgingHeaderFileReference = getDesignatedSwiftBridgingHeaderFileReference;
8
9
  exports.linkBridgingHeaderFile = linkBridgingHeaderFile;
9
- exports.createBridgingHeaderFile = createBridgingHeaderFile;
10
- exports.withNoopSwiftFile = exports.withSwiftBridgingHeader = void 0;
10
+ exports.withSwiftBridgingHeader = exports.withNoopSwiftFile = void 0;
11
11
 
12
12
  function _fsExtra() {
13
13
  const data = _interopRequireDefault(require("fs-extra"));
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getXCBuildConfigurationFromPbxproj = getXCBuildConfigurationFromPbxproj;
6
+ exports.TargetType = void 0;
7
7
  exports.findApplicationTargetWithDependenciesAsync = findApplicationTargetWithDependenciesAsync;
8
- exports.isTargetOfType = isTargetOfType;
9
- exports.getNativeTargets = getNativeTargets;
10
- exports.findSignableTargets = findSignableTargets;
11
8
  exports.findFirstNativeTarget = findFirstNativeTarget;
12
9
  exports.findNativeTargetByName = findNativeTargetByName;
13
- exports.TargetType = void 0;
10
+ exports.findSignableTargets = findSignableTargets;
11
+ exports.getNativeTargets = getNativeTargets;
12
+ exports.getXCBuildConfigurationFromPbxproj = getXCBuildConfigurationFromPbxproj;
13
+ exports.isTargetOfType = isTargetOfType;
14
14
 
15
15
  function _BuildScheme() {
16
16
  const data = require("./BuildScheme");
@@ -12,11 +12,6 @@ export declare enum Config {
12
12
  RELEASE_CHANNEL = "EXUpdatesReleaseChannel",
13
13
  UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = "EXUpdatesRequestHeaders"
14
14
  }
15
- /**
16
- * runtime version maybe null in projects using classic updates. In that
17
- * case we use SDK version
18
- */
19
- export declare function getRuntimeVersionNullable(config: Pick<ExpoConfigUpdates, 'runtimeVersion'>): string | null;
20
15
  export declare function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null;
21
16
  export declare function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean;
22
17
  export declare function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>): number;
@@ -3,20 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getRuntimeVersionNullable = getRuntimeVersionNullable;
6
+ exports.Config = void 0;
7
+ exports.ensureBundleReactNativePhaseContainsConfigurationScript = ensureBundleReactNativePhaseContainsConfigurationScript;
8
+ exports.getBundleReactNativePhase = getBundleReactNativePhase;
7
9
  exports.getSDKVersion = getSDKVersion;
10
+ exports.getUpdatesCheckOnLaunch = getUpdatesCheckOnLaunch;
8
11
  exports.getUpdatesEnabled = getUpdatesEnabled;
9
12
  exports.getUpdatesTimeout = getUpdatesTimeout;
10
- exports.getUpdatesCheckOnLaunch = getUpdatesCheckOnLaunch;
11
- exports.setUpdatesConfig = setUpdatesConfig;
12
- exports.setVersionsConfig = setVersionsConfig;
13
- exports.getBundleReactNativePhase = getBundleReactNativePhase;
14
- exports.ensureBundleReactNativePhaseContainsConfigurationScript = ensureBundleReactNativePhaseContainsConfigurationScript;
15
- exports.isShellScriptBuildPhaseConfigured = isShellScriptBuildPhaseConfigured;
16
13
  exports.isPlistConfigurationSet = isPlistConfigurationSet;
17
14
  exports.isPlistConfigurationSynced = isPlistConfigurationSynced;
18
15
  exports.isPlistVersionConfigurationSynced = isPlistVersionConfigurationSynced;
19
- exports.withUpdates = exports.Config = void 0;
16
+ exports.isShellScriptBuildPhaseConfigured = isShellScriptBuildPhaseConfigured;
17
+ exports.setUpdatesConfig = setUpdatesConfig;
18
+ exports.setVersionsConfig = setVersionsConfig;
19
+ exports.withUpdates = void 0;
20
20
 
21
21
  function path() {
22
22
  const data = _interopRequireWildcard(require("path"));
@@ -66,11 +66,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
66
66
 
67
67
  const CREATE_MANIFEST_IOS_PATH = 'expo-updates/scripts/create-manifest-ios.sh';
68
68
  let Config;
69
- /**
70
- * runtime version maybe null in projects using classic updates. In that
71
- * case we use SDK version
72
- */
73
-
74
69
  exports.Config = Config;
75
70
 
76
71
  (function (Config) {
@@ -84,14 +79,6 @@ exports.Config = Config;
84
79
  Config["UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY"] = "EXUpdatesRequestHeaders";
85
80
  })(Config || (exports.Config = Config = {}));
86
81
 
87
- function getRuntimeVersionNullable(config) {
88
- try {
89
- return (0, _Updates().getRuntimeVersion)(config, 'ios');
90
- } catch (e) {
91
- return null;
92
- }
93
- }
94
-
95
82
  function getSDKVersion(config) {
96
83
  return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;
97
84
  }
@@ -151,13 +138,17 @@ function setUpdatesConfig(config, expoPlist, username) {
151
138
  function setVersionsConfig(config, expoPlist) {
152
139
  const newExpoPlist = { ...expoPlist
153
140
  };
154
- const runtimeVersion = getRuntimeVersionNullable(config);
141
+ const runtimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'ios');
155
142
  const sdkVersion = getSDKVersion(config);
156
143
 
157
144
  if (runtimeVersion) {
158
145
  delete newExpoPlist[Config.SDK_VERSION];
159
146
  newExpoPlist[Config.RUNTIME_VERSION] = runtimeVersion;
160
147
  } else if (sdkVersion) {
148
+ /**
149
+ * runtime version maybe null in projects using classic updates. In that
150
+ * case we use SDK version
151
+ */
161
152
  delete newExpoPlist[Config.RUNTIME_VERSION];
162
153
  newExpoPlist[Config.SDK_VERSION] = sdkVersion;
163
154
  } else {
@@ -224,7 +215,7 @@ function isPlistConfigurationSynced(config, expoPlist, username) {
224
215
  function isPlistVersionConfigurationSynced(config, expoPlist) {
225
216
  var _expoPlist$EXUpdatesR, _expoPlist$EXUpdatesS;
226
217
 
227
- const expectedRuntimeVersion = getRuntimeVersionNullable(config);
218
+ const expectedRuntimeVersion = (0, _Updates().getRuntimeVersionNullable)(config, 'ios');
228
219
  const expectedSdkVersion = getSDKVersion(config);
229
220
  const currentRuntimeVersion = (_expoPlist$EXUpdatesR = expoPlist.EXUpdatesRuntimeVersion) !== null && _expoPlist$EXUpdatesR !== void 0 ? _expoPlist$EXUpdatesR : null;
230
221
  const currentSdkVersion = (_expoPlist$EXUpdatesS = expoPlist.EXUpdatesSDKVersion) !== null && _expoPlist$EXUpdatesS !== void 0 ? _expoPlist$EXUpdatesS : null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ios/Updates.ts"],"names":["CREATE_MANIFEST_IOS_PATH","Config","getRuntimeVersionNullable","config","e","getSDKVersion","sdkVersion","getUpdatesEnabled","updates","enabled","getUpdatesTimeout","fallbackToCacheTimeout","getUpdatesCheckOnLaunch","checkAutomatically","withUpdates","expoUsername","modResults","setUpdatesConfig","expoPlist","username","newExpoPlist","ENABLED","CHECK_ON_LAUNCH","LAUNCH_WAIT_MS","updateUrl","UPDATE_URL","setVersionsConfig","runtimeVersion","SDK_VERSION","RUNTIME_VERSION","formatConfigurationScriptPath","projectRoot","buildScriptPath","resolveFrom","silent","Error","relativePath","path","relative","join","process","platform","replace","getBundleReactNativePhase","project","shellScriptBuildPhase","hash","objects","PBXShellScriptBuildPhase","bundleReactNative","Object","values","find","buildPhase","name","ensureBundleReactNativePhaseContainsConfigurationScript","buildPhaseShellScriptPath","isShellScriptBuildPhaseConfigured","shellScript","includes","RegExp","isPlistConfigurationSet","Boolean","EXUpdatesURL","EXUpdatesSDKVersion","EXUpdatesRuntimeVersion","isPlistConfigurationSynced","EXUpdatesEnabled","EXUpdatesLaunchWaitMs","EXUpdatesCheckOnLaunch","isPlistVersionConfigurationSynced","expectedRuntimeVersion","expectedSdkVersion","currentRuntimeVersion","currentSdkVersion"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;AAGA,MAAMA,wBAAwB,GAAG,6CAAjC;IAEYC,M;AAWZ;AACA;AACA;AACA;;;;WAdYA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,sBAAAA,M;;AAeL,SAASC,yBAAT,CACLC,MADK,EAEU;AACf,MAAI;AACF,WAAO,kCAAkBA,MAAlB,EAA0B,KAA1B,CAAP;AACD,GAFD,CAEE,OAAOC,CAAP,EAAU;AACV,WAAO,IAAP;AACD;AACF;;AAEM,SAASC,aAAT,CAAuBF,MAAvB,EAAqF;AAC1F,SAAO,OAAOA,MAAM,CAACG,UAAd,KAA6B,QAA7B,GAAwCH,MAAM,CAACG,UAA/C,GAA4D,IAAnE;AACD;;AAEM,SAASC,iBAAT,CAA2BJ,MAA3B,EAAgF;AAAA;;AACrF,SAAO,oBAAAA,MAAM,CAACK,OAAP,oEAAgBC,OAAhB,MAA4B,KAAnC;AACD;;AAEM,SAASC,iBAAT,CAA2BP,MAA3B,EAAuE;AAAA;;AAC5E,sDAAOA,MAAM,CAACK,OAAd,qDAAO,iBAAgBG,sBAAvB,yEAAiD,CAAjD;AACD;;AAEM,SAASC,uBAAT,CACLT,MADK,EAEe;AAAA;;AACpB,MAAI,qBAAAA,MAAM,CAACK,OAAP,sEAAgBK,kBAAhB,MAAuC,mBAA3C,EAAgE;AAC9D,WAAO,OAAP;AACD,GAFD,MAEO,IAAI,qBAAAV,MAAM,CAACK,OAAP,sEAAgBK,kBAAhB,MAAuC,SAA3C,EAAsD;AAC3D,WAAO,QAAP;AACD;;AACD,SAAO,QAAP;AACD;;AAEM,MAAMC,WAA0D,GAAG,CACxEX,MADwE,EAExE;AAAEY,EAAAA;AAAF,CAFwE,KAGrE;AACH,SAAO,iCAAcZ,MAAd,EAAsBA,MAAM,IAAI;AACrCA,IAAAA,MAAM,CAACa,UAAP,GAAoBC,gBAAgB,CAACd,MAAD,EAASA,MAAM,CAACa,UAAhB,EAA4BD,YAA5B,CAApC;AACA,WAAOZ,MAAP;AACD,GAHM,CAAP;AAID,CARM;;;;AAUA,SAASc,gBAAT,CACLd,MADK,EAELe,SAFK,EAGLC,QAHK,EAIM;AACX,QAAMC,YAAY,GAAG,EACnB,GAAGF,SADgB;AAEnB,KAACjB,MAAM,CAACoB,OAAR,GAAkBd,iBAAiB,CAACJ,MAAD,CAFhB;AAGnB,KAACF,MAAM,CAACqB,eAAR,GAA0BV,uBAAuB,CAACT,MAAD,CAH9B;AAInB,KAACF,MAAM,CAACsB,cAAR,GAAyBb,iBAAiB,CAACP,MAAD;AAJvB,GAArB;AAOA,QAAMqB,SAAS,GAAG,6BAAarB,MAAb,EAAqBgB,QAArB,CAAlB;;AACA,MAAIK,SAAJ,EAAe;AACbJ,IAAAA,YAAY,CAACnB,MAAM,CAACwB,UAAR,CAAZ,GAAkCD,SAAlC;AACD,GAFD,MAEO;AACL,WAAOJ,YAAY,CAACnB,MAAM,CAACwB,UAAR,CAAnB;AACD;;AAED,SAAOC,iBAAiB,CAACvB,MAAD,EAASiB,YAAT,CAAxB;AACD;;AAEM,SAASM,iBAAT,CAA2BvB,MAA3B,EAAsDe,SAAtD,EAAuF;AAC5F,QAAME,YAAY,GAAG,EAAE,GAAGF;AAAL,GAArB;AAEA,QAAMS,cAAc,GAAGzB,yBAAyB,CAACC,MAAD,CAAhD;AACA,QAAMG,UAAU,GAAGD,aAAa,CAACF,MAAD,CAAhC;;AACA,MAAIwB,cAAJ,EAAoB;AAClB,WAAOP,YAAY,CAACnB,MAAM,CAAC2B,WAAR,CAAnB;AACAR,IAAAA,YAAY,CAACnB,MAAM,CAAC4B,eAAR,CAAZ,GAAuCF,cAAvC;AACD,GAHD,MAGO,IAAIrB,UAAJ,EAAgB;AACrB,WAAOc,YAAY,CAACnB,MAAM,CAAC4B,eAAR,CAAnB;AACAT,IAAAA,YAAY,CAACnB,MAAM,CAAC2B,WAAR,CAAZ,GAAmCtB,UAAnC;AACD,GAHM,MAGA;AACL,WAAOc,YAAY,CAACnB,MAAM,CAAC2B,WAAR,CAAnB;AACA,WAAOR,YAAY,CAACnB,MAAM,CAAC4B,eAAR,CAAnB;AACD;;AAED,SAAOT,YAAP;AACD;;AAED,SAASU,6BAAT,CAAuCC,WAAvC,EAAoE;AAClE,QAAMC,eAAe,GAAGC,uBAAYC,MAAZ,CAAmBH,WAAnB,EAAgC/B,wBAAhC,CAAxB;;AAEA,MAAI,CAACgC,eAAL,EAAsB;AACpB,UAAM,IAAIG,KAAJ,CACJ,qJADI,CAAN;AAGD;;AAED,QAAMC,YAAY,GAAGC,IAAI,GAACC,QAAL,CAAcD,IAAI,GAACE,IAAL,CAAUR,WAAV,EAAuB,KAAvB,CAAd,EAA6CC,eAA7C,CAArB;AACA,SAAOQ,OAAO,CAACC,QAAR,KAAqB,OAArB,GAA+BL,YAAY,CAACM,OAAb,CAAqB,KAArB,EAA4B,GAA5B,CAA/B,GAAkEN,YAAzE;AACD;;AASM,SAASO,yBAAT,CAAmCC,OAAnC,EAAuF;AAC5F,QAAMC,qBAAqB,GAAGD,OAAO,CAACE,IAAR,CAAaF,OAAb,CAAqBG,OAArB,CAA6BC,wBAA3D;AAIA,QAAMC,iBAAiB,GAAGC,MAAM,CAACC,MAAP,CAAcN,qBAAd,EAAqCO,IAArC,CACxBC,UAAU,IAAIA,UAAU,CAACC,IAAX,KAAoB,uCADV,CAA1B;;AAIA,MAAI,CAACL,iBAAL,EAAwB;AACtB,UAAM,IAAId,KAAJ,CAAW,mEAAX,CAAN;AACD;;AAED,SAAOc,iBAAP;AACD;;AAEM,SAASM,uDAAT,CACLxB,WADK,EAELa,OAFK,EAGe;AACpB,QAAMK,iBAAiB,GAAGN,yBAAyB,CAACC,OAAD,CAAnD;AACA,QAAMY,yBAAyB,GAAG1B,6BAA6B,CAACC,WAAD,CAA/D;;AAEA,MAAI,CAAC0B,iCAAiC,CAAC1B,WAAD,EAAca,OAAd,CAAtC,EAA8D;AAC5D;AACA;AACA,QAAIK,iBAAiB,CAACS,WAAlB,CAA8BC,QAA9B,CAAuC3D,wBAAvC,CAAJ,EAAsE;AACpEiD,MAAAA,iBAAiB,CAACS,WAAlB,GAAgCT,iBAAiB,CAACS,WAAlB,CAA8BhB,OAA9B,CAC9B,IAAIkB,MAAJ,CAAY,iCAAgC5D,wBAAyB,EAArE,CAD8B,EAE9B,EAF8B,CAAhC;AAID;;AACDiD,IAAAA,iBAAiB,CAACS,WAAlB,GAAiC,GAAET,iBAAiB,CAACS,WAAlB,CAA8BhB,OAA9B,CACjC,IADiC,EAEjC,EAFiC,CAGjC,GAAEc,yBAA0B,MAH9B;AAID;;AACD,SAAOZ,OAAP;AACD;;AAEM,SAASa,iCAAT,CACL1B,WADK,EAELa,OAFK,EAGI;AACT,QAAMK,iBAAiB,GAAGN,yBAAyB,CAACC,OAAD,CAAnD;AACA,QAAMY,yBAAyB,GAAG1B,6BAA6B,CAACC,WAAD,CAA/D;AACA,SAAOkB,iBAAiB,CAACS,WAAlB,CAA8BC,QAA9B,CAAuCH,yBAAvC,CAAP;AACD;;AAEM,SAASK,uBAAT,CAAiC3C,SAAjC,EAAgE;AACrE,SAAO4C,OAAO,CACZ5C,SAAS,CAAC6C,YAAV,KAA2B7C,SAAS,CAAC8C,mBAAV,IAAiC9C,SAAS,CAAC+C,uBAAtE,CADY,CAAd;AAGD;;AAEM,SAASC,0BAAT,CACL/D,MADK,EAELe,SAFK,EAGLC,QAHK,EAII;AACT,SACE,6BAAahB,MAAb,EAAqBgB,QAArB,MAAmCD,SAAS,CAAC6C,YAA7C,IACAxD,iBAAiB,CAACJ,MAAD,CAAjB,KAA8Be,SAAS,CAACiD,gBADxC,IAEAzD,iBAAiB,CAACP,MAAD,CAAjB,KAA8Be,SAAS,CAACkD,qBAFxC,IAGAxD,uBAAuB,CAACT,MAAD,CAAvB,KAAoCe,SAAS,CAACmD,sBAH9C,IAIAC,iCAAiC,CAACnE,MAAD,EAASe,SAAT,CALnC;AAOD;;AAEM,SAASoD,iCAAT,CACLnE,MADK,EAELe,SAFK,EAGI;AAAA;;AACT,QAAMqD,sBAAsB,GAAGrE,yBAAyB,CAACC,MAAD,CAAxD;AACA,QAAMqE,kBAAkB,GAAGnE,aAAa,CAACF,MAAD,CAAxC;AAEA,QAAMsE,qBAAqB,4BAAGvD,SAAS,CAAC+C,uBAAb,yEAAwC,IAAnE;AACA,QAAMS,iBAAiB,4BAAGxD,SAAS,CAAC8C,mBAAb,yEAAoC,IAA3D;;AAEA,MAAIO,sBAAsB,KAAK,IAA/B,EAAqC;AACnC,WAAOE,qBAAqB,KAAKF,sBAA1B,IAAoDG,iBAAiB,KAAK,IAAjF;AACD,GAFD,MAEO,IAAIF,kBAAkB,KAAK,IAA3B,EAAiC;AACtC,WAAOE,iBAAiB,KAAKF,kBAAtB,IAA4CC,qBAAqB,KAAK,IAA7E;AACD,GAFM,MAEA;AACL,WAAO,IAAP;AACD;AACF","sourcesContent":["import * as path from 'path';\nimport resolveFrom from 'resolve-from';\nimport xcode from 'xcode';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withExpoPlist } from '../plugins/ios-plugins';\nimport { ExpoConfigUpdates, getRuntimeVersion, getUpdateUrl } from '../utils/Updates';\nimport { ExpoPlist } from './IosConfig.types';\n\nconst CREATE_MANIFEST_IOS_PATH = 'expo-updates/scripts/create-manifest-ios.sh';\n\nexport enum Config {\n ENABLED = 'EXUpdatesEnabled',\n CHECK_ON_LAUNCH = 'EXUpdatesCheckOnLaunch',\n LAUNCH_WAIT_MS = 'EXUpdatesLaunchWaitMs',\n RUNTIME_VERSION = 'EXUpdatesRuntimeVersion',\n SDK_VERSION = 'EXUpdatesSDKVersion',\n UPDATE_URL = 'EXUpdatesURL',\n RELEASE_CHANNEL = 'EXUpdatesReleaseChannel',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'EXUpdatesRequestHeaders',\n}\n\n/**\n * runtime version maybe null in projects using classic updates. In that\n * case we use SDK version\n */\nexport function getRuntimeVersionNullable(\n config: Pick<ExpoConfigUpdates, 'runtimeVersion'>\n): string | null {\n try {\n return getRuntimeVersion(config, 'ios');\n } catch (e) {\n return null;\n }\n}\n\nexport function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null {\n return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;\n}\n\nexport function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean {\n return config.updates?.enabled !== false;\n}\n\nexport function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>) {\n return config.updates?.fallbackToCacheTimeout ?? 0;\n}\n\nexport function getUpdatesCheckOnLaunch(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): 'NEVER' | 'ALWAYS' {\n if (config.updates?.checkAutomatically === 'ON_ERROR_RECOVERY') {\n return 'NEVER';\n } else if (config.updates?.checkAutomatically === 'ON_LOAD') {\n return 'ALWAYS';\n }\n return 'ALWAYS';\n}\n\nexport const withUpdates: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withExpoPlist(config, config => {\n config.modResults = setUpdatesConfig(config, config.modResults, expoUsername);\n return config;\n });\n};\n\nexport function setUpdatesConfig(\n config: ExpoConfigUpdates,\n expoPlist: ExpoPlist,\n username: string | null\n): ExpoPlist {\n const newExpoPlist = {\n ...expoPlist,\n [Config.ENABLED]: getUpdatesEnabled(config),\n [Config.CHECK_ON_LAUNCH]: getUpdatesCheckOnLaunch(config),\n [Config.LAUNCH_WAIT_MS]: getUpdatesTimeout(config),\n };\n\n const updateUrl = getUpdateUrl(config, username);\n if (updateUrl) {\n newExpoPlist[Config.UPDATE_URL] = updateUrl;\n } else {\n delete newExpoPlist[Config.UPDATE_URL];\n }\n\n return setVersionsConfig(config, newExpoPlist);\n}\n\nexport function setVersionsConfig(config: ExpoConfigUpdates, expoPlist: ExpoPlist): ExpoPlist {\n const newExpoPlist = { ...expoPlist };\n\n const runtimeVersion = getRuntimeVersionNullable(config);\n const sdkVersion = getSDKVersion(config);\n if (runtimeVersion) {\n delete newExpoPlist[Config.SDK_VERSION];\n newExpoPlist[Config.RUNTIME_VERSION] = runtimeVersion;\n } else if (sdkVersion) {\n delete newExpoPlist[Config.RUNTIME_VERSION];\n newExpoPlist[Config.SDK_VERSION] = sdkVersion;\n } else {\n delete newExpoPlist[Config.SDK_VERSION];\n delete newExpoPlist[Config.RUNTIME_VERSION];\n }\n\n return newExpoPlist;\n}\n\nfunction formatConfigurationScriptPath(projectRoot: string): string {\n const buildScriptPath = resolveFrom.silent(projectRoot, CREATE_MANIFEST_IOS_PATH);\n\n if (!buildScriptPath) {\n throw new Error(\n \"Could not find the build script for iOS. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.\"\n );\n }\n\n const relativePath = path.relative(path.join(projectRoot, 'ios'), buildScriptPath);\n return process.platform === 'win32' ? relativePath.replace(/\\\\/g, '/') : relativePath;\n}\n\ninterface ShellScriptBuildPhase {\n isa: 'PBXShellScriptBuildPhase';\n name: string;\n shellScript: string;\n [key: string]: any;\n}\n\nexport function getBundleReactNativePhase(project: xcode.XcodeProject): ShellScriptBuildPhase {\n const shellScriptBuildPhase = project.hash.project.objects.PBXShellScriptBuildPhase as Record<\n string,\n ShellScriptBuildPhase\n >;\n const bundleReactNative = Object.values(shellScriptBuildPhase).find(\n buildPhase => buildPhase.name === '\"Bundle React Native code and images\"'\n );\n\n if (!bundleReactNative) {\n throw new Error(`Couldn't find a build phase \"Bundle React Native code and images\"`);\n }\n\n return bundleReactNative;\n}\n\nexport function ensureBundleReactNativePhaseContainsConfigurationScript(\n projectRoot: string,\n project: xcode.XcodeProject\n): xcode.XcodeProject {\n const bundleReactNative = getBundleReactNativePhase(project);\n const buildPhaseShellScriptPath = formatConfigurationScriptPath(projectRoot);\n\n if (!isShellScriptBuildPhaseConfigured(projectRoot, project)) {\n // check if there's already another path to create-manifest-ios.sh\n // this might be the case for monorepos\n if (bundleReactNative.shellScript.includes(CREATE_MANIFEST_IOS_PATH)) {\n bundleReactNative.shellScript = bundleReactNative.shellScript.replace(\n new RegExp(`(\\\\\\\\n)(\\\\.\\\\.)+/node_modules/${CREATE_MANIFEST_IOS_PATH}`),\n ''\n );\n }\n bundleReactNative.shellScript = `${bundleReactNative.shellScript.replace(\n /\"$/,\n ''\n )}${buildPhaseShellScriptPath}\\\\n\"`;\n }\n return project;\n}\n\nexport function isShellScriptBuildPhaseConfigured(\n projectRoot: string,\n project: xcode.XcodeProject\n): boolean {\n const bundleReactNative = getBundleReactNativePhase(project);\n const buildPhaseShellScriptPath = formatConfigurationScriptPath(projectRoot);\n return bundleReactNative.shellScript.includes(buildPhaseShellScriptPath);\n}\n\nexport function isPlistConfigurationSet(expoPlist: ExpoPlist): boolean {\n return Boolean(\n expoPlist.EXUpdatesURL && (expoPlist.EXUpdatesSDKVersion || expoPlist.EXUpdatesRuntimeVersion)\n );\n}\n\nexport function isPlistConfigurationSynced(\n config: ExpoConfigUpdates,\n expoPlist: ExpoPlist,\n username: string | null\n): boolean {\n return (\n getUpdateUrl(config, username) === expoPlist.EXUpdatesURL &&\n getUpdatesEnabled(config) === expoPlist.EXUpdatesEnabled &&\n getUpdatesTimeout(config) === expoPlist.EXUpdatesLaunchWaitMs &&\n getUpdatesCheckOnLaunch(config) === expoPlist.EXUpdatesCheckOnLaunch &&\n isPlistVersionConfigurationSynced(config, expoPlist)\n );\n}\n\nexport function isPlistVersionConfigurationSynced(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n expoPlist: ExpoPlist\n): boolean {\n const expectedRuntimeVersion = getRuntimeVersionNullable(config);\n const expectedSdkVersion = getSDKVersion(config);\n\n const currentRuntimeVersion = expoPlist.EXUpdatesRuntimeVersion ?? null;\n const currentSdkVersion = expoPlist.EXUpdatesSDKVersion ?? null;\n\n if (expectedRuntimeVersion !== null) {\n return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;\n } else if (expectedSdkVersion !== null) {\n return currentSdkVersion === expectedSdkVersion && currentRuntimeVersion === null;\n } else {\n return true;\n }\n}\n"],"file":"Updates.js"}
1
+ {"version":3,"sources":["../../src/ios/Updates.ts"],"names":["CREATE_MANIFEST_IOS_PATH","Config","getSDKVersion","config","sdkVersion","getUpdatesEnabled","updates","enabled","getUpdatesTimeout","fallbackToCacheTimeout","getUpdatesCheckOnLaunch","checkAutomatically","withUpdates","expoUsername","modResults","setUpdatesConfig","expoPlist","username","newExpoPlist","ENABLED","CHECK_ON_LAUNCH","LAUNCH_WAIT_MS","updateUrl","UPDATE_URL","setVersionsConfig","runtimeVersion","SDK_VERSION","RUNTIME_VERSION","formatConfigurationScriptPath","projectRoot","buildScriptPath","resolveFrom","silent","Error","relativePath","path","relative","join","process","platform","replace","getBundleReactNativePhase","project","shellScriptBuildPhase","hash","objects","PBXShellScriptBuildPhase","bundleReactNative","Object","values","find","buildPhase","name","ensureBundleReactNativePhaseContainsConfigurationScript","buildPhaseShellScriptPath","isShellScriptBuildPhaseConfigured","shellScript","includes","RegExp","isPlistConfigurationSet","Boolean","EXUpdatesURL","EXUpdatesSDKVersion","EXUpdatesRuntimeVersion","isPlistConfigurationSynced","EXUpdatesEnabled","EXUpdatesLaunchWaitMs","EXUpdatesCheckOnLaunch","isPlistVersionConfigurationSynced","expectedRuntimeVersion","expectedSdkVersion","currentRuntimeVersion","currentSdkVersion"],"mappings":"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","sourcesContent":["import * as path from 'path';\nimport resolveFrom from 'resolve-from';\nimport xcode from 'xcode';\n\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withExpoPlist } from '../plugins/ios-plugins';\nimport { ExpoConfigUpdates, getRuntimeVersionNullable, getUpdateUrl } from '../utils/Updates';\nimport { ExpoPlist } from './IosConfig.types';\n\nconst CREATE_MANIFEST_IOS_PATH = 'expo-updates/scripts/create-manifest-ios.sh';\n\nexport enum Config {\n ENABLED = 'EXUpdatesEnabled',\n CHECK_ON_LAUNCH = 'EXUpdatesCheckOnLaunch',\n LAUNCH_WAIT_MS = 'EXUpdatesLaunchWaitMs',\n RUNTIME_VERSION = 'EXUpdatesRuntimeVersion',\n SDK_VERSION = 'EXUpdatesSDKVersion',\n UPDATE_URL = 'EXUpdatesURL',\n RELEASE_CHANNEL = 'EXUpdatesReleaseChannel',\n UPDATES_CONFIGURATION_REQUEST_HEADERS_KEY = 'EXUpdatesRequestHeaders',\n}\n\nexport function getSDKVersion(config: Pick<ExpoConfigUpdates, 'sdkVersion'>): string | null {\n return typeof config.sdkVersion === 'string' ? config.sdkVersion : null;\n}\n\nexport function getUpdatesEnabled(config: Pick<ExpoConfigUpdates, 'updates'>): boolean {\n return config.updates?.enabled !== false;\n}\n\nexport function getUpdatesTimeout(config: Pick<ExpoConfigUpdates, 'updates'>) {\n return config.updates?.fallbackToCacheTimeout ?? 0;\n}\n\nexport function getUpdatesCheckOnLaunch(\n config: Pick<ExpoConfigUpdates, 'updates'>\n): 'NEVER' | 'ALWAYS' {\n if (config.updates?.checkAutomatically === 'ON_ERROR_RECOVERY') {\n return 'NEVER';\n } else if (config.updates?.checkAutomatically === 'ON_LOAD') {\n return 'ALWAYS';\n }\n return 'ALWAYS';\n}\n\nexport const withUpdates: ConfigPlugin<{ expoUsername: string | null }> = (\n config,\n { expoUsername }\n) => {\n return withExpoPlist(config, config => {\n config.modResults = setUpdatesConfig(config, config.modResults, expoUsername);\n return config;\n });\n};\n\nexport function setUpdatesConfig(\n config: ExpoConfigUpdates,\n expoPlist: ExpoPlist,\n username: string | null\n): ExpoPlist {\n const newExpoPlist = {\n ...expoPlist,\n [Config.ENABLED]: getUpdatesEnabled(config),\n [Config.CHECK_ON_LAUNCH]: getUpdatesCheckOnLaunch(config),\n [Config.LAUNCH_WAIT_MS]: getUpdatesTimeout(config),\n };\n\n const updateUrl = getUpdateUrl(config, username);\n if (updateUrl) {\n newExpoPlist[Config.UPDATE_URL] = updateUrl;\n } else {\n delete newExpoPlist[Config.UPDATE_URL];\n }\n\n return setVersionsConfig(config, newExpoPlist);\n}\n\nexport function setVersionsConfig(config: ExpoConfigUpdates, expoPlist: ExpoPlist): ExpoPlist {\n const newExpoPlist = { ...expoPlist };\n\n const runtimeVersion = getRuntimeVersionNullable(config, 'ios');\n const sdkVersion = getSDKVersion(config);\n if (runtimeVersion) {\n delete newExpoPlist[Config.SDK_VERSION];\n newExpoPlist[Config.RUNTIME_VERSION] = runtimeVersion;\n } else if (sdkVersion) {\n /**\n * runtime version maybe null in projects using classic updates. In that\n * case we use SDK version\n */\n delete newExpoPlist[Config.RUNTIME_VERSION];\n newExpoPlist[Config.SDK_VERSION] = sdkVersion;\n } else {\n delete newExpoPlist[Config.SDK_VERSION];\n delete newExpoPlist[Config.RUNTIME_VERSION];\n }\n\n return newExpoPlist;\n}\n\nfunction formatConfigurationScriptPath(projectRoot: string): string {\n const buildScriptPath = resolveFrom.silent(projectRoot, CREATE_MANIFEST_IOS_PATH);\n\n if (!buildScriptPath) {\n throw new Error(\n \"Could not find the build script for iOS. This could happen in case of outdated 'node_modules'. Run 'npm install' to make sure that it's up-to-date.\"\n );\n }\n\n const relativePath = path.relative(path.join(projectRoot, 'ios'), buildScriptPath);\n return process.platform === 'win32' ? relativePath.replace(/\\\\/g, '/') : relativePath;\n}\n\ninterface ShellScriptBuildPhase {\n isa: 'PBXShellScriptBuildPhase';\n name: string;\n shellScript: string;\n [key: string]: any;\n}\n\nexport function getBundleReactNativePhase(project: xcode.XcodeProject): ShellScriptBuildPhase {\n const shellScriptBuildPhase = project.hash.project.objects.PBXShellScriptBuildPhase as Record<\n string,\n ShellScriptBuildPhase\n >;\n const bundleReactNative = Object.values(shellScriptBuildPhase).find(\n buildPhase => buildPhase.name === '\"Bundle React Native code and images\"'\n );\n\n if (!bundleReactNative) {\n throw new Error(`Couldn't find a build phase \"Bundle React Native code and images\"`);\n }\n\n return bundleReactNative;\n}\n\nexport function ensureBundleReactNativePhaseContainsConfigurationScript(\n projectRoot: string,\n project: xcode.XcodeProject\n): xcode.XcodeProject {\n const bundleReactNative = getBundleReactNativePhase(project);\n const buildPhaseShellScriptPath = formatConfigurationScriptPath(projectRoot);\n\n if (!isShellScriptBuildPhaseConfigured(projectRoot, project)) {\n // check if there's already another path to create-manifest-ios.sh\n // this might be the case for monorepos\n if (bundleReactNative.shellScript.includes(CREATE_MANIFEST_IOS_PATH)) {\n bundleReactNative.shellScript = bundleReactNative.shellScript.replace(\n new RegExp(`(\\\\\\\\n)(\\\\.\\\\.)+/node_modules/${CREATE_MANIFEST_IOS_PATH}`),\n ''\n );\n }\n bundleReactNative.shellScript = `${bundleReactNative.shellScript.replace(\n /\"$/,\n ''\n )}${buildPhaseShellScriptPath}\\\\n\"`;\n }\n return project;\n}\n\nexport function isShellScriptBuildPhaseConfigured(\n projectRoot: string,\n project: xcode.XcodeProject\n): boolean {\n const bundleReactNative = getBundleReactNativePhase(project);\n const buildPhaseShellScriptPath = formatConfigurationScriptPath(projectRoot);\n return bundleReactNative.shellScript.includes(buildPhaseShellScriptPath);\n}\n\nexport function isPlistConfigurationSet(expoPlist: ExpoPlist): boolean {\n return Boolean(\n expoPlist.EXUpdatesURL && (expoPlist.EXUpdatesSDKVersion || expoPlist.EXUpdatesRuntimeVersion)\n );\n}\n\nexport function isPlistConfigurationSynced(\n config: ExpoConfigUpdates,\n expoPlist: ExpoPlist,\n username: string | null\n): boolean {\n return (\n getUpdateUrl(config, username) === expoPlist.EXUpdatesURL &&\n getUpdatesEnabled(config) === expoPlist.EXUpdatesEnabled &&\n getUpdatesTimeout(config) === expoPlist.EXUpdatesLaunchWaitMs &&\n getUpdatesCheckOnLaunch(config) === expoPlist.EXUpdatesCheckOnLaunch &&\n isPlistVersionConfigurationSynced(config, expoPlist)\n );\n}\n\nexport function isPlistVersionConfigurationSynced(\n config: Pick<ExpoConfigUpdates, 'sdkVersion' | 'runtimeVersion'>,\n expoPlist: ExpoPlist\n): boolean {\n const expectedRuntimeVersion = getRuntimeVersionNullable(config, 'ios');\n const expectedSdkVersion = getSDKVersion(config);\n\n const currentRuntimeVersion = expoPlist.EXUpdatesRuntimeVersion ?? null;\n const currentSdkVersion = expoPlist.EXUpdatesSDKVersion ?? null;\n\n if (expectedRuntimeVersion !== null) {\n return currentRuntimeVersion === expectedRuntimeVersion && currentSdkVersion === null;\n } else if (expectedSdkVersion !== null) {\n return currentSdkVersion === expectedSdkVersion && currentRuntimeVersion === null;\n } else {\n return true;\n }\n}\n"],"file":"Updates.js"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getVersion = getVersion;
7
- exports.setVersion = setVersion;
8
6
  exports.getBuildNumber = getBuildNumber;
7
+ exports.getVersion = getVersion;
9
8
  exports.setBuildNumber = setBuildNumber;
10
- exports.withBuildNumber = exports.withVersion = void 0;
9
+ exports.setVersion = setVersion;
10
+ exports.withVersion = exports.withBuildNumber = void 0;
11
11
 
12
12
  function _iosPlugins() {
13
13
  const data = require("../plugins/ios-plugins");
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.addObjcImports = addObjcImports;
7
- exports.findObjcInterfaceCodeBlock = findObjcInterfaceCodeBlock;
8
7
  exports.findObjcFunctionCodeBlock = findObjcFunctionCodeBlock;
8
+ exports.findObjcInterfaceCodeBlock = findObjcInterfaceCodeBlock;
9
+ exports.findSwiftFunctionCodeBlock = findSwiftFunctionCodeBlock;
9
10
  exports.insertContentsInsideObjcFunctionBlock = insertContentsInsideObjcFunctionBlock;
10
11
  exports.insertContentsInsideObjcInterfaceBlock = insertContentsInsideObjcInterfaceBlock;
11
- exports.findSwiftFunctionCodeBlock = findSwiftFunctionCodeBlock;
12
12
  exports.insertContentsInsideSwiftClassBlock = insertContentsInsideSwiftClassBlock;
13
13
  exports.insertContentsInsideSwiftFunctionBlock = insertContentsInsideSwiftFunctionBlock;
14
14
 
@@ -14,15 +14,13 @@ import * as Paths from './Paths';
14
14
  import * as Permissions from './Permissions';
15
15
  import * as ProvisioningProfile from './ProvisioningProfile';
16
16
  import * as RequiresFullScreen from './RequiresFullScreen';
17
- import * as RootViewBackgroundColor from './RootViewBackgroundColor';
18
17
  import * as Scheme from './Scheme';
19
18
  import * as Swift from './Swift';
20
19
  import * as Target from './Target';
21
20
  import * as Updates from './Updates';
22
- import * as UserInterfaceStyle from './UserInterfaceStyle';
23
21
  import * as UsesNonExemptEncryption from './UsesNonExemptEncryption';
24
22
  import * as Version from './Version';
25
23
  import * as XcodeProjectFile from './XcodeProjectFile';
26
24
  import * as XcodeUtils from './utils/Xcodeproj';
27
25
  export { InfoPlist, ExpoPlist, Entitlements, Paths, Permissions, XcodeUtils };
28
- export { Bitcode, BundleIdentifier, BuildScheme, DeviceFamily, Google, Maps, Locales, JsEngine, Name, Orientation, ProvisioningProfile, RequiresFullScreen, RootViewBackgroundColor, Scheme, Swift, Target, Updates, UserInterfaceStyle, UsesNonExemptEncryption, Version, XcodeProjectFile, };
26
+ export { Bitcode, BundleIdentifier, BuildScheme, DeviceFamily, Google, Maps, Locales, JsEngine, Name, Orientation, ProvisioningProfile, RequiresFullScreen, Scheme, Swift, Target, Updates, UsesNonExemptEncryption, Version, XcodeProjectFile, };