@expo/prebuild-config 3.0.2 → 3.0.7

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 (58) hide show
  1. package/build/plugins/unversioned/{expo-branch.d.ts → expo-branch/expo-branch.d.ts} +0 -0
  2. package/build/plugins/unversioned/expo-branch/expo-branch.js +46 -0
  3. package/build/plugins/unversioned/expo-branch/expo-branch.js.map +1 -0
  4. package/build/plugins/unversioned/expo-branch/withAndroidBranch.d.ts +5 -0
  5. package/build/plugins/unversioned/expo-branch/withAndroidBranch.js +57 -0
  6. package/build/plugins/unversioned/expo-branch/withAndroidBranch.js.map +1 -0
  7. package/build/plugins/unversioned/expo-branch/withIosBranch.d.ts +5 -0
  8. package/build/plugins/unversioned/expo-branch/withIosBranch.js +48 -0
  9. package/build/plugins/unversioned/expo-branch/withIosBranch.js.map +1 -0
  10. package/build/plugins/unversioned/{expo-facebook.d.ts → expo-facebook/expo-facebook.d.ts} +0 -0
  11. package/build/plugins/unversioned/expo-facebook/expo-facebook.js +57 -0
  12. package/build/plugins/unversioned/expo-facebook/expo-facebook.js.map +1 -0
  13. package/build/plugins/unversioned/expo-facebook/withAndroidFacebook.d.ts +13 -0
  14. package/build/plugins/unversioned/expo-facebook/withAndroidFacebook.js +235 -0
  15. package/build/plugins/unversioned/expo-facebook/withAndroidFacebook.js.map +1 -0
  16. package/build/plugins/unversioned/expo-facebook/withIosFacebook.d.ts +26 -0
  17. package/build/plugins/unversioned/expo-facebook/withIosFacebook.js +233 -0
  18. package/build/plugins/unversioned/expo-facebook/withIosFacebook.js.map +1 -0
  19. package/build/plugins/unversioned/expo-facebook/withSKAdNetworkIdentifiers.d.ts +9 -0
  20. package/build/plugins/unversioned/expo-facebook/withSKAdNetworkIdentifiers.js +69 -0
  21. package/build/plugins/unversioned/expo-facebook/withSKAdNetworkIdentifiers.js.map +1 -0
  22. package/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.d.ts +2 -0
  23. package/build/plugins/unversioned/{expo-branch.js → expo-navigation-bar/expo-navigation-bar.js} +10 -9
  24. package/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.js.map +1 -0
  25. package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.d.ts +8 -0
  26. package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js +100 -0
  27. package/build/plugins/unversioned/expo-navigation-bar/withAndroidNavigationBar.js.map +1 -0
  28. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js +11 -4
  29. package/build/plugins/unversioned/expo-splash-screen/InterfaceBuilder.js.map +1 -1
  30. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.js +30 -17
  31. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashImages.js.map +1 -1
  32. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js +11 -1
  33. package/build/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.js.map +1 -1
  34. package/build/plugins/unversioned/expo-splash-screen/withIosSplashAssets.js +38 -11
  35. package/build/plugins/unversioned/expo-splash-screen/withIosSplashAssets.js.map +1 -1
  36. package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js +3 -2
  37. package/build/plugins/unversioned/expo-splash-screen/withIosSplashInfoPlist.js.map +1 -1
  38. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.d.ts +2 -0
  39. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js +64 -0
  40. package/build/plugins/unversioned/expo-system-ui/expo-system-ui.js.map +1 -0
  41. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.d.ts +6 -0
  42. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js +70 -0
  43. package/build/plugins/unversioned/expo-system-ui/withAndroidRootViewBackgroundColor.js.map +1 -0
  44. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.d.ts +2 -0
  45. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js +34 -0
  46. package/build/plugins/unversioned/expo-system-ui/withAndroidUserInterfaceStyle.js.map +1 -0
  47. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.d.ts +5 -0
  48. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js +73 -0
  49. package/build/plugins/unversioned/expo-system-ui/withIosRootViewBackgroundColor.js.map +1 -0
  50. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.d.ts +5 -0
  51. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js +65 -0
  52. package/build/plugins/unversioned/expo-system-ui/withIosUserInterfaceStyle.js.map +1 -0
  53. package/build/plugins/withDefaultPlugins.js +30 -9
  54. package/build/plugins/withDefaultPlugins.js.map +1 -1
  55. package/package.json +5 -5
  56. package/build/plugins/unversioned/expo-branch.js.map +0 -1
  57. package/build/plugins/unversioned/expo-facebook.js +0 -34
  58. package/build/plugins/unversioned/expo-facebook.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _createLegacyPlugin() {
9
+ const data = require("../createLegacyPlugin");
10
+
11
+ _createLegacyPlugin = function () {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _withAndroidBranch() {
19
+ const data = require("./withAndroidBranch");
20
+
21
+ _withAndroidBranch = function () {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ function _withIosBranch() {
29
+ const data = require("./withIosBranch");
30
+
31
+ _withIosBranch = function () {
32
+ return data;
33
+ };
34
+
35
+ return data;
36
+ }
37
+
38
+ var _default = (0, _createLegacyPlugin().createLegacyPlugin)({
39
+ packageName: 'expo-branch',
40
+ fallback: [// Android
41
+ _withAndroidBranch().withAndroidBranch, // iOS
42
+ _withIosBranch().withIosBranch]
43
+ });
44
+
45
+ exports.default = _default;
46
+ //# sourceMappingURL=expo-branch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/plugins/unversioned/expo-branch/expo-branch.ts"],"names":["packageName","fallback","withAndroidBranch","withIosBranch"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,aADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACR;AACAC,wCAFQ,EAGR;AACAC,gCAJQ;AAFsB,CAAnB,C","sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withAndroidBranch } from './withAndroidBranch';\nimport { withIosBranch } from './withIosBranch';\n\nexport default createLegacyPlugin({\n packageName: 'expo-branch',\n fallback: [\n // Android\n withAndroidBranch,\n // iOS\n withIosBranch,\n ],\n});\n"],"file":"expo-branch.js"}
@@ -0,0 +1,5 @@
1
+ import { AndroidConfig, ConfigPlugin } from '@expo/config-plugins';
2
+ import { ExpoConfig } from '@expo/config-types';
3
+ export declare const withAndroidBranch: ConfigPlugin;
4
+ export declare function getBranchApiKey(config: ExpoConfig): string | null;
5
+ export declare function setBranchApiKey(config: ExpoConfig, androidManifest: AndroidConfig.Manifest.AndroidManifest): AndroidConfig.Manifest.AndroidManifest;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getBranchApiKey = getBranchApiKey;
7
+ exports.setBranchApiKey = setBranchApiKey;
8
+ exports.withAndroidBranch = void 0;
9
+
10
+ function _configPlugins() {
11
+ const data = require("@expo/config-plugins");
12
+
13
+ _configPlugins = function () {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
19
+
20
+ const {
21
+ addMetaDataItemToMainApplication,
22
+ getMainApplicationOrThrow,
23
+ removeMetaDataItemFromMainApplication
24
+ } = _configPlugins().AndroidConfig.Manifest;
25
+
26
+ const META_BRANCH_KEY = 'io.branch.sdk.BranchKey';
27
+
28
+ const withAndroidBranch = config => {
29
+ return (0, _configPlugins().withAndroidManifest)(config, config => {
30
+ config.modResults = setBranchApiKey(config, config.modResults);
31
+ return config;
32
+ });
33
+ };
34
+
35
+ exports.withAndroidBranch = withAndroidBranch;
36
+
37
+ function getBranchApiKey(config) {
38
+ var _config$android$confi, _config$android, _config$android$confi2, _config$android$confi3;
39
+
40
+ return (_config$android$confi = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : (_config$android$confi2 = _config$android.config) === null || _config$android$confi2 === void 0 ? void 0 : (_config$android$confi3 = _config$android$confi2.branch) === null || _config$android$confi3 === void 0 ? void 0 : _config$android$confi3.apiKey) !== null && _config$android$confi !== void 0 ? _config$android$confi : null;
41
+ }
42
+
43
+ function setBranchApiKey(config, androidManifest) {
44
+ const apiKey = getBranchApiKey(config);
45
+ const mainApplication = getMainApplicationOrThrow(androidManifest);
46
+
47
+ if (apiKey) {
48
+ // If the item exists, add it back
49
+ addMetaDataItemToMainApplication(mainApplication, META_BRANCH_KEY, apiKey);
50
+ } else {
51
+ // Remove any existing item
52
+ removeMetaDataItemFromMainApplication(mainApplication, META_BRANCH_KEY);
53
+ }
54
+
55
+ return androidManifest;
56
+ }
57
+ //# sourceMappingURL=withAndroidBranch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/plugins/unversioned/expo-branch/withAndroidBranch.ts"],"names":["addMetaDataItemToMainApplication","getMainApplicationOrThrow","removeMetaDataItemFromMainApplication","AndroidConfig","Manifest","META_BRANCH_KEY","withAndroidBranch","config","modResults","setBranchApiKey","getBranchApiKey","android","branch","apiKey","androidManifest","mainApplication"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA,MAAM;AACJA,EAAAA,gCADI;AAEJC,EAAAA,yBAFI;AAGJC,EAAAA;AAHI,IAIFC,+BAAcC,QAJlB;;AAMA,MAAMC,eAAe,GAAG,yBAAxB;;AAEO,MAAMC,iBAA+B,GAAGC,MAAM,IAAI;AACvD,SAAO,0CAAoBA,MAApB,EAA4BA,MAAM,IAAI;AAC3CA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,eAAe,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAnC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,eAAT,CAAyBH,MAAzB,EAA6C;AAAA;;AAClD,qDAAOA,MAAM,CAACI,OAAd,8EAAO,gBAAgBJ,MAAvB,qFAAO,uBAAwBK,MAA/B,2DAAO,uBAAgCC,MAAvC,yEAAiD,IAAjD;AACD;;AAEM,SAASJ,eAAT,CACLF,MADK,EAELO,eAFK,EAGL;AACA,QAAMD,MAAM,GAAGH,eAAe,CAACH,MAAD,CAA9B;AAEA,QAAMQ,eAAe,GAAGd,yBAAyB,CAACa,eAAD,CAAjD;;AAEA,MAAID,MAAJ,EAAY;AACV;AACAb,IAAAA,gCAAgC,CAACe,eAAD,EAAkBV,eAAlB,EAAmCQ,MAAnC,CAAhC;AACD,GAHD,MAGO;AACL;AACAX,IAAAA,qCAAqC,CAACa,eAAD,EAAkBV,eAAlB,CAArC;AACD;;AACD,SAAOS,eAAP;AACD","sourcesContent":["import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst META_BRANCH_KEY = 'io.branch.sdk.BranchKey';\n\nexport const withAndroidBranch: ConfigPlugin = config => {\n return withAndroidManifest(config, config => {\n config.modResults = setBranchApiKey(config, config.modResults);\n return config;\n });\n};\n\nexport function getBranchApiKey(config: ExpoConfig) {\n return config.android?.config?.branch?.apiKey ?? null;\n}\n\nexport function setBranchApiKey(\n config: ExpoConfig,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const apiKey = getBranchApiKey(config);\n\n const mainApplication = getMainApplicationOrThrow(androidManifest);\n\n if (apiKey) {\n // If the item exists, add it back\n addMetaDataItemToMainApplication(mainApplication, META_BRANCH_KEY, apiKey);\n } else {\n // Remove any existing item\n removeMetaDataItemFromMainApplication(mainApplication, META_BRANCH_KEY);\n }\n return androidManifest;\n}\n"],"file":"withAndroidBranch.js"}
@@ -0,0 +1,5 @@
1
+ import { ConfigPlugin, InfoPlist } from '@expo/config-plugins';
2
+ import { ExpoConfig } from '@expo/config-types';
3
+ export declare const withIosBranch: ConfigPlugin;
4
+ export declare function getBranchApiKey(config: Pick<ExpoConfig, 'ios'>): string | null;
5
+ export declare function setBranchApiKey(config: Pick<ExpoConfig, 'ios'>, infoPlist: InfoPlist): InfoPlist;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getBranchApiKey = getBranchApiKey;
7
+ exports.setBranchApiKey = setBranchApiKey;
8
+ exports.withIosBranch = void 0;
9
+
10
+ function _configPlugins() {
11
+ const data = require("@expo/config-plugins");
12
+
13
+ _configPlugins = function () {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
19
+
20
+ const withIosBranch = config => {
21
+ return (0, _configPlugins().withInfoPlist)(config, config => {
22
+ config.modResults = setBranchApiKey(config, config.modResults);
23
+ return config;
24
+ });
25
+ };
26
+
27
+ exports.withIosBranch = withIosBranch;
28
+
29
+ function getBranchApiKey(config) {
30
+ var _config$ios$config$br, _config$ios, _config$ios$config, _config$ios$config$br2;
31
+
32
+ return (_config$ios$config$br = (_config$ios = config.ios) === null || _config$ios === void 0 ? void 0 : (_config$ios$config = _config$ios.config) === null || _config$ios$config === void 0 ? void 0 : (_config$ios$config$br2 = _config$ios$config.branch) === null || _config$ios$config$br2 === void 0 ? void 0 : _config$ios$config$br2.apiKey) !== null && _config$ios$config$br !== void 0 ? _config$ios$config$br : null;
33
+ }
34
+
35
+ function setBranchApiKey(config, infoPlist) {
36
+ const apiKey = getBranchApiKey(config);
37
+
38
+ if (apiKey === null) {
39
+ return infoPlist;
40
+ }
41
+
42
+ return { ...infoPlist,
43
+ branch_key: {
44
+ live: apiKey
45
+ }
46
+ };
47
+ }
48
+ //# sourceMappingURL=withIosBranch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/plugins/unversioned/expo-branch/withIosBranch.ts"],"names":["withIosBranch","config","modResults","setBranchApiKey","getBranchApiKey","ios","branch","apiKey","infoPlist","branch_key","live"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,aAA2B,GAAGC,MAAM,IAAI;AACnD,SAAO,oCAAcA,MAAd,EAAsBA,MAAM,IAAI;AACrCA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,eAAe,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAAnC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,SAASG,eAAT,CAAyBH,MAAzB,EAA0D;AAAA;;AAC/D,iDAAOA,MAAM,CAACI,GAAd,sEAAO,YAAYJ,MAAnB,iFAAO,mBAAoBK,MAA3B,2DAAO,uBAA4BC,MAAnC,yEAA6C,IAA7C;AACD;;AAEM,SAASJ,eAAT,CAAyBF,MAAzB,EAA0DO,SAA1D,EAA2F;AAChG,QAAMD,MAAM,GAAGH,eAAe,CAACH,MAAD,CAA9B;;AAEA,MAAIM,MAAM,KAAK,IAAf,EAAqB;AACnB,WAAOC,SAAP;AACD;;AAED,SAAO,EACL,GAAGA,SADE;AAELC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAEH;AADI;AAFP,GAAP;AAMD","sourcesContent":["import { ConfigPlugin, InfoPlist, withInfoPlist } from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nexport const withIosBranch: ConfigPlugin = config => {\n return withInfoPlist(config, config => {\n config.modResults = setBranchApiKey(config, config.modResults);\n return config;\n });\n};\n\nexport function getBranchApiKey(config: Pick<ExpoConfig, 'ios'>) {\n return config.ios?.config?.branch?.apiKey ?? null;\n}\n\nexport function setBranchApiKey(config: Pick<ExpoConfig, 'ios'>, infoPlist: InfoPlist): InfoPlist {\n const apiKey = getBranchApiKey(config);\n\n if (apiKey === null) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n branch_key: {\n live: apiKey,\n },\n };\n}\n"],"file":"withIosBranch.js"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _createLegacyPlugin() {
9
+ const data = require("../createLegacyPlugin");
10
+
11
+ _createLegacyPlugin = function () {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _withAndroidFacebook() {
19
+ const data = require("./withAndroidFacebook");
20
+
21
+ _withAndroidFacebook = function () {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ function _withIosFacebook() {
29
+ const data = require("./withIosFacebook");
30
+
31
+ _withIosFacebook = function () {
32
+ return data;
33
+ };
34
+
35
+ return data;
36
+ }
37
+
38
+ function _withSKAdNetworkIdentifiers() {
39
+ const data = require("./withSKAdNetworkIdentifiers");
40
+
41
+ _withSKAdNetworkIdentifiers = function () {
42
+ return data;
43
+ };
44
+
45
+ return data;
46
+ }
47
+
48
+ var _default = (0, _createLegacyPlugin().createLegacyPlugin)({
49
+ packageName: 'expo-facebook',
50
+ fallback: [// Android
51
+ _withAndroidFacebook().withFacebookAppIdString, _withAndroidFacebook().withFacebookManifest, // iOS
52
+ _withIosFacebook().withIosFacebook, [_withSKAdNetworkIdentifiers().withSKAdNetworkIdentifiers, // https://developers.facebook.com/docs/SKAdNetwork
53
+ ['v9wttpbfk9.skadnetwork', 'n38lu8286q.skadnetwork']]]
54
+ });
55
+
56
+ exports.default = _default;
57
+ //# sourceMappingURL=expo-facebook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/plugins/unversioned/expo-facebook/expo-facebook.ts"],"names":["packageName","fallback","withFacebookAppIdString","withFacebookManifest","withIosFacebook","withSKAdNetworkIdentifiers"],"mappings":";;;;;;;AAAA;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;;eAEe,8CAAmB;AAChCA,EAAAA,WAAW,EAAE,eADmB;AAEhCC,EAAAA,QAAQ,EAAE,CACR;AACAC,gDAFQ,EAGRC,2CAHQ,EAIR;AACAC,oCALQ,EAMR,CACEC,wDADF,EAEE;AACA,GAAC,wBAAD,EAA2B,wBAA3B,CAHF,CANQ;AAFsB,CAAnB,C","sourcesContent":["import { createLegacyPlugin } from '../createLegacyPlugin';\nimport { withFacebookAppIdString, withFacebookManifest } from './withAndroidFacebook';\nimport { withIosFacebook } from './withIosFacebook';\nimport { withSKAdNetworkIdentifiers } from './withSKAdNetworkIdentifiers';\n\nexport default createLegacyPlugin({\n packageName: 'expo-facebook',\n fallback: [\n // Android\n withFacebookAppIdString,\n withFacebookManifest,\n // iOS\n withIosFacebook,\n [\n withSKAdNetworkIdentifiers,\n // https://developers.facebook.com/docs/SKAdNetwork\n ['v9wttpbfk9.skadnetwork', 'n38lu8286q.skadnetwork'],\n ],\n ],\n});\n"],"file":"expo-facebook.js"}
@@ -0,0 +1,13 @@
1
+ import { AndroidConfig, ConfigPlugin } from '@expo/config-plugins';
2
+ import { ExpoConfig } from '@expo/config-types';
3
+ export declare const withFacebookAppIdString: ConfigPlugin;
4
+ export declare const withFacebookManifest: ConfigPlugin;
5
+ declare type ExpoConfigFacebook = Pick<ExpoConfig, 'facebookScheme' | 'facebookAdvertiserIDCollectionEnabled' | 'facebookAppId' | 'facebookAutoInitEnabled' | 'facebookAutoLogAppEventsEnabled' | 'facebookDisplayName'>;
6
+ export declare function getFacebookScheme(config: ExpoConfigFacebook): string | null;
7
+ export declare function getFacebookAppId(config: ExpoConfigFacebook): string | null;
8
+ export declare function getFacebookDisplayName(config: ExpoConfigFacebook): string | null;
9
+ export declare function getFacebookAutoInitEnabled(config: ExpoConfigFacebook): boolean | null;
10
+ export declare function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook): boolean | null;
11
+ export declare function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook): boolean | null;
12
+ export declare function setFacebookConfig(config: ExpoConfigFacebook, androidManifest: AndroidConfig.Manifest.AndroidManifest): AndroidConfig.Manifest.AndroidManifest;
13
+ export {};
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getFacebookScheme = getFacebookScheme;
7
+ exports.getFacebookAppId = getFacebookAppId;
8
+ exports.getFacebookDisplayName = getFacebookDisplayName;
9
+ exports.getFacebookAutoInitEnabled = getFacebookAutoInitEnabled;
10
+ exports.getFacebookAutoLogAppEvents = getFacebookAutoLogAppEvents;
11
+ exports.getFacebookAdvertiserIDCollection = getFacebookAdvertiserIDCollection;
12
+ exports.setFacebookConfig = setFacebookConfig;
13
+ exports.withFacebookManifest = exports.withFacebookAppIdString = void 0;
14
+
15
+ function _configPlugins() {
16
+ const data = require("@expo/config-plugins");
17
+
18
+ _configPlugins = function () {
19
+ return data;
20
+ };
21
+
22
+ return data;
23
+ }
24
+
25
+ const {
26
+ buildResourceItem
27
+ } = _configPlugins().AndroidConfig.Resources;
28
+
29
+ const {
30
+ removeStringItem,
31
+ setStringItem
32
+ } = _configPlugins().AndroidConfig.Strings;
33
+
34
+ const {
35
+ addMetaDataItemToMainApplication,
36
+ getMainApplicationOrThrow,
37
+ prefixAndroidKeys,
38
+ removeMetaDataItemFromMainApplication
39
+ } = _configPlugins().AndroidConfig.Manifest;
40
+
41
+ const CUSTOM_TAB_ACTIVITY = 'com.facebook.CustomTabActivity';
42
+ const STRING_FACEBOOK_APP_ID = 'facebook_app_id';
43
+ const META_APP_ID = 'com.facebook.sdk.ApplicationId';
44
+ const META_APP_NAME = 'com.facebook.sdk.ApplicationName';
45
+ const META_AUTO_INIT = 'com.facebook.sdk.AutoInitEnabled';
46
+ const META_AUTO_LOG_APP_EVENTS = 'com.facebook.sdk.AutoLogAppEventsEnabled';
47
+ const META_AD_ID_COLLECTION = 'com.facebook.sdk.AdvertiserIDCollectionEnabled';
48
+
49
+ const withFacebookAppIdString = config => {
50
+ return (0, _configPlugins().withStringsXml)(config, config => {
51
+ config.modResults = applyFacebookAppIdString(config, config.modResults);
52
+ return config;
53
+ });
54
+ };
55
+
56
+ exports.withFacebookAppIdString = withFacebookAppIdString;
57
+
58
+ const withFacebookManifest = config => {
59
+ return (0, _configPlugins().withAndroidManifest)(config, config => {
60
+ config.modResults = setFacebookConfig(config, config.modResults);
61
+ return config;
62
+ });
63
+ };
64
+
65
+ exports.withFacebookManifest = withFacebookManifest;
66
+
67
+ function buildXMLItem({
68
+ head,
69
+ children
70
+ }) {
71
+ return { ...(children !== null && children !== void 0 ? children : {}),
72
+ $: head
73
+ };
74
+ }
75
+
76
+ function buildAndroidItem(datum) {
77
+ const item = typeof datum === 'string' ? {
78
+ name: datum
79
+ } : datum;
80
+ const head = prefixAndroidKeys(item);
81
+ return buildXMLItem({
82
+ head
83
+ });
84
+ }
85
+
86
+ function getFacebookSchemeActivity(scheme) {
87
+ /**
88
+ <activity
89
+ android:name="com.facebook.CustomTabActivity"
90
+ android:exported="true">
91
+ <intent-filter>
92
+ <action android:name="android.intent.action.VIEW" />
93
+ <category android:name="android.intent.category.DEFAULT" />
94
+ <category android:name="android.intent.category.BROWSABLE" />
95
+ <data android:scheme="${scheme}" />
96
+ </intent-filter>
97
+ </activity>
98
+ */
99
+ return buildXMLItem({
100
+ head: prefixAndroidKeys({
101
+ name: CUSTOM_TAB_ACTIVITY,
102
+ exported: 'true'
103
+ }),
104
+ children: {
105
+ 'intent-filter': [{
106
+ action: [buildAndroidItem('android.intent.action.VIEW')],
107
+ category: [buildAndroidItem('android.intent.category.DEFAULT'), buildAndroidItem('android.intent.category.BROWSABLE')],
108
+ data: [buildAndroidItem({
109
+ scheme
110
+ })]
111
+ }]
112
+ }
113
+ });
114
+ }
115
+
116
+ function getFacebookScheme(config) {
117
+ var _config$facebookSchem;
118
+
119
+ return (_config$facebookSchem = config.facebookScheme) !== null && _config$facebookSchem !== void 0 ? _config$facebookSchem : null;
120
+ }
121
+
122
+ function getFacebookAppId(config) {
123
+ var _config$facebookAppId;
124
+
125
+ return (_config$facebookAppId = config.facebookAppId) !== null && _config$facebookAppId !== void 0 ? _config$facebookAppId : null;
126
+ }
127
+
128
+ function getFacebookDisplayName(config) {
129
+ var _config$facebookDispl;
130
+
131
+ return (_config$facebookDispl = config.facebookDisplayName) !== null && _config$facebookDispl !== void 0 ? _config$facebookDispl : null;
132
+ }
133
+
134
+ function getFacebookAutoInitEnabled(config) {
135
+ var _config$facebookAutoI;
136
+
137
+ return (_config$facebookAutoI = config.facebookAutoInitEnabled) !== null && _config$facebookAutoI !== void 0 ? _config$facebookAutoI : null;
138
+ }
139
+
140
+ function getFacebookAutoLogAppEvents(config) {
141
+ var _config$facebookAutoL;
142
+
143
+ return (_config$facebookAutoL = config.facebookAutoLogAppEventsEnabled) !== null && _config$facebookAutoL !== void 0 ? _config$facebookAutoL : null;
144
+ }
145
+
146
+ function getFacebookAdvertiserIDCollection(config) {
147
+ var _config$facebookAdver;
148
+
149
+ return (_config$facebookAdver = config.facebookAdvertiserIDCollectionEnabled) !== null && _config$facebookAdver !== void 0 ? _config$facebookAdver : null;
150
+ }
151
+
152
+ function ensureFacebookActivity({
153
+ mainApplication,
154
+ scheme
155
+ }) {
156
+ if (Array.isArray(mainApplication.activity)) {
157
+ // Remove all Facebook CustomTabActivities first
158
+ mainApplication.activity = mainApplication.activity.filter(activity => {
159
+ var _activity$$;
160
+
161
+ return ((_activity$$ = activity.$) === null || _activity$$ === void 0 ? void 0 : _activity$$['android:name']) !== CUSTOM_TAB_ACTIVITY;
162
+ });
163
+ } else {
164
+ mainApplication.activity = [];
165
+ } // If a new scheme is defined, append it to the activity.
166
+
167
+
168
+ if (scheme) {
169
+ mainApplication.activity.push(getFacebookSchemeActivity(scheme));
170
+ }
171
+
172
+ return mainApplication;
173
+ }
174
+
175
+ function applyFacebookAppIdString(config, stringsJSON) {
176
+ const appId = getFacebookAppId(config);
177
+
178
+ if (appId) {
179
+ return setStringItem([buildResourceItem({
180
+ name: STRING_FACEBOOK_APP_ID,
181
+ value: appId
182
+ })], stringsJSON);
183
+ }
184
+
185
+ return removeStringItem(STRING_FACEBOOK_APP_ID, stringsJSON);
186
+ }
187
+
188
+ function setFacebookConfig(config, androidManifest) {
189
+ const scheme = getFacebookScheme(config);
190
+ const appId = getFacebookAppId(config);
191
+ const displayName = getFacebookDisplayName(config);
192
+ const autoInitEnabled = getFacebookAutoInitEnabled(config);
193
+ const autoLogAppEvents = getFacebookAutoLogAppEvents(config);
194
+ const advertiserIdCollection = getFacebookAdvertiserIDCollection(config); // eslint-disable-next-line @typescript-eslint/no-unused-vars
195
+
196
+ let mainApplication = getMainApplicationOrThrow(androidManifest);
197
+ mainApplication = ensureFacebookActivity({
198
+ scheme,
199
+ mainApplication
200
+ });
201
+
202
+ if (appId) {
203
+ mainApplication = addMetaDataItemToMainApplication(mainApplication, META_APP_ID, `@string/${STRING_FACEBOOK_APP_ID}`);
204
+ } else {
205
+ mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_ID);
206
+ }
207
+
208
+ if (displayName) {
209
+ mainApplication = addMetaDataItemToMainApplication(mainApplication, META_APP_NAME, displayName);
210
+ } else {
211
+ mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_NAME);
212
+ }
213
+
214
+ if (autoInitEnabled !== null) {
215
+ mainApplication = addMetaDataItemToMainApplication(mainApplication, META_AUTO_INIT, autoInitEnabled ? 'true' : 'false');
216
+ } else {
217
+ mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AUTO_INIT);
218
+ }
219
+
220
+ if (autoLogAppEvents !== null) {
221
+ mainApplication = addMetaDataItemToMainApplication(mainApplication, META_AUTO_LOG_APP_EVENTS, autoLogAppEvents ? 'true' : 'false');
222
+ } else {
223
+ mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AUTO_LOG_APP_EVENTS);
224
+ }
225
+
226
+ if (advertiserIdCollection !== null) {
227
+ mainApplication = addMetaDataItemToMainApplication(mainApplication, META_AD_ID_COLLECTION, advertiserIdCollection ? 'true' : 'false');
228
+ } else {
229
+ // eslint-disable-next-line
230
+ mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AD_ID_COLLECTION);
231
+ }
232
+
233
+ return androidManifest;
234
+ }
235
+ //# sourceMappingURL=withAndroidFacebook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/plugins/unversioned/expo-facebook/withAndroidFacebook.ts"],"names":["buildResourceItem","AndroidConfig","Resources","removeStringItem","setStringItem","Strings","addMetaDataItemToMainApplication","getMainApplicationOrThrow","prefixAndroidKeys","removeMetaDataItemFromMainApplication","Manifest","CUSTOM_TAB_ACTIVITY","STRING_FACEBOOK_APP_ID","META_APP_ID","META_APP_NAME","META_AUTO_INIT","META_AUTO_LOG_APP_EVENTS","META_AD_ID_COLLECTION","withFacebookAppIdString","config","modResults","applyFacebookAppIdString","withFacebookManifest","setFacebookConfig","buildXMLItem","head","children","$","buildAndroidItem","datum","item","name","getFacebookSchemeActivity","scheme","exported","action","category","data","getFacebookScheme","facebookScheme","getFacebookAppId","facebookAppId","getFacebookDisplayName","facebookDisplayName","getFacebookAutoInitEnabled","facebookAutoInitEnabled","getFacebookAutoLogAppEvents","facebookAutoLogAppEventsEnabled","getFacebookAdvertiserIDCollection","facebookAdvertiserIDCollectionEnabled","ensureFacebookActivity","mainApplication","Array","isArray","activity","filter","push","stringsJSON","appId","value","androidManifest","displayName","autoInitEnabled","autoLogAppEvents","advertiserIdCollection"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAwBC,+BAAcC,SAA5C;;AACA,MAAM;AAAEC,EAAAA,gBAAF;AAAoBC,EAAAA;AAApB,IAAsCH,+BAAcI,OAA1D;;AACA,MAAM;AACJC,EAAAA,gCADI;AAEJC,EAAAA,yBAFI;AAGJC,EAAAA,iBAHI;AAIJC,EAAAA;AAJI,IAKFR,+BAAcS,QALlB;;AAOA,MAAMC,mBAAmB,GAAG,gCAA5B;AACA,MAAMC,sBAAsB,GAAG,iBAA/B;AACA,MAAMC,WAAW,GAAG,gCAApB;AACA,MAAMC,aAAa,GAAG,kCAAtB;AACA,MAAMC,cAAc,GAAG,kCAAvB;AACA,MAAMC,wBAAwB,GAAG,0CAAjC;AACA,MAAMC,qBAAqB,GAAG,gDAA9B;;AAEO,MAAMC,uBAAqC,GAAGC,MAAM,IAAI;AAC7D,SAAO,qCAAeA,MAAf,EAAuBA,MAAM,IAAI;AACtCA,IAAAA,MAAM,CAACC,UAAP,GAAoBC,wBAAwB,CAACF,MAAD,EAASA,MAAM,CAACC,UAAhB,CAA5C;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOA,MAAMG,oBAAkC,GAAGH,MAAM,IAAI;AAC1D,SAAO,0CAAoBA,MAApB,EAA4BA,MAAM,IAAI;AAC3CA,IAAAA,MAAM,CAACC,UAAP,GAAoBG,iBAAiB,CAACJ,MAAD,EAASA,MAAM,CAACC,UAAhB,CAArC;AACA,WAAOD,MAAP;AACD,GAHM,CAAP;AAID,CALM;;;;AAOP,SAASK,YAAT,CAAsB;AACpBC,EAAAA,IADoB;AAEpBC,EAAAA;AAFoB,CAAtB,EAMG;AACD,SAAO,EAAE,IAAIA,QAAJ,aAAIA,QAAJ,cAAIA,QAAJ,GAAgB,EAAhB,CAAF;AAAuBC,IAAAA,CAAC,EAAEF;AAA1B,GAAP;AACD;;AAED,SAASG,gBAAT,CAA0BC,KAA1B,EAA+D;AAC7D,QAAMC,IAAI,GAAG,OAAOD,KAAP,KAAiB,QAAjB,GAA4B;AAAEE,IAAAA,IAAI,EAAEF;AAAR,GAA5B,GAA8CA,KAA3D;AACA,QAAMJ,IAAI,GAAGjB,iBAAiB,CAACsB,IAAD,CAA9B;AACA,SAAON,YAAY,CAAC;AAAEC,IAAAA;AAAF,GAAD,CAAnB;AACD;;AAED,SAASO,yBAAT,CAAmCC,MAAnC,EAAmD;AACjD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE,SAAOT,YAAY,CAAC;AAClBC,IAAAA,IAAI,EAAEjB,iBAAiB,CAAC;AACtBuB,MAAAA,IAAI,EAAEpB,mBADgB;AAEtBuB,MAAAA,QAAQ,EAAE;AAFY,KAAD,CADL;AAKlBR,IAAAA,QAAQ,EAAE;AACR,uBAAiB,CACf;AACES,QAAAA,MAAM,EAAE,CAACP,gBAAgB,CAAC,4BAAD,CAAjB,CADV;AAEEQ,QAAAA,QAAQ,EAAE,CACRR,gBAAgB,CAAC,iCAAD,CADR,EAERA,gBAAgB,CAAC,mCAAD,CAFR,CAFZ;AAMES,QAAAA,IAAI,EAAE,CAACT,gBAAgB,CAAC;AAAEK,UAAAA;AAAF,SAAD,CAAjB;AANR,OADe;AADT;AALQ,GAAD,CAAnB;AAkBD;;AAYM,SAASK,iBAAT,CAA2BnB,MAA3B,EAAuD;AAAA;;AAC5D,kCAAOA,MAAM,CAACoB,cAAd,yEAAgC,IAAhC;AACD;;AAEM,SAASC,gBAAT,CAA0BrB,MAA1B,EAAsD;AAAA;;AAC3D,kCAAOA,MAAM,CAACsB,aAAd,yEAA+B,IAA/B;AACD;;AAEM,SAASC,sBAAT,CAAgCvB,MAAhC,EAA4D;AAAA;;AACjE,kCAAOA,MAAM,CAACwB,mBAAd,yEAAqC,IAArC;AACD;;AACM,SAASC,0BAAT,CAAoCzB,MAApC,EAAgE;AAAA;;AACrE,kCAAOA,MAAM,CAAC0B,uBAAd,yEAAyC,IAAzC;AACD;;AAEM,SAASC,2BAAT,CAAqC3B,MAArC,EAAiE;AAAA;;AACtE,kCAAOA,MAAM,CAAC4B,+BAAd,yEAAiD,IAAjD;AACD;;AAEM,SAASC,iCAAT,CAA2C7B,MAA3C,EAAuE;AAAA;;AAC5E,kCAAOA,MAAM,CAAC8B,qCAAd,yEAAuD,IAAvD;AACD;;AAED,SAASC,sBAAT,CAAgC;AAC9BC,EAAAA,eAD8B;AAE9BlB,EAAAA;AAF8B,CAAhC,EAMG;AACD,MAAImB,KAAK,CAACC,OAAN,CAAcF,eAAe,CAACG,QAA9B,CAAJ,EAA6C;AAC3C;AACAH,IAAAA,eAAe,CAACG,QAAhB,GAA2BH,eAAe,CAACG,QAAhB,CAAyBC,MAAzB,CAAgCD,QAAQ,IAAI;AAAA;;AACrE,aAAO,gBAAAA,QAAQ,CAAC3B,CAAT,4DAAa,cAAb,OAAiChB,mBAAxC;AACD,KAF0B,CAA3B;AAGD,GALD,MAKO;AACLwC,IAAAA,eAAe,CAACG,QAAhB,GAA2B,EAA3B;AACD,GARA,CAUD;;;AACA,MAAIrB,MAAJ,EAAY;AACVkB,IAAAA,eAAe,CAACG,QAAhB,CAAyBE,IAAzB,CAA8BxB,yBAAyB,CAACC,MAAD,CAAvD;AACD;;AACD,SAAOkB,eAAP;AACD;;AAED,SAAS9B,wBAAT,CACEF,MADF,EAEEsC,WAFF,EAGE;AACA,QAAMC,KAAK,GAAGlB,gBAAgB,CAACrB,MAAD,CAA9B;;AAEA,MAAIuC,KAAJ,EAAW;AACT,WAAOtD,aAAa,CAClB,CAACJ,iBAAiB,CAAC;AAAE+B,MAAAA,IAAI,EAAEnB,sBAAR;AAAgC+C,MAAAA,KAAK,EAAED;AAAvC,KAAD,CAAlB,CADkB,EAElBD,WAFkB,CAApB;AAID;;AACD,SAAOtD,gBAAgB,CAACS,sBAAD,EAAyB6C,WAAzB,CAAvB;AACD;;AAEM,SAASlC,iBAAT,CACLJ,MADK,EAELyC,eAFK,EAGL;AACA,QAAM3B,MAAM,GAAGK,iBAAiB,CAACnB,MAAD,CAAhC;AAEA,QAAMuC,KAAK,GAAGlB,gBAAgB,CAACrB,MAAD,CAA9B;AACA,QAAM0C,WAAW,GAAGnB,sBAAsB,CAACvB,MAAD,CAA1C;AACA,QAAM2C,eAAe,GAAGlB,0BAA0B,CAACzB,MAAD,CAAlD;AACA,QAAM4C,gBAAgB,GAAGjB,2BAA2B,CAAC3B,MAAD,CAApD;AACA,QAAM6C,sBAAsB,GAAGhB,iCAAiC,CAAC7B,MAAD,CAAhE,CAPA,CASA;;AACA,MAAIgC,eAAe,GAAG5C,yBAAyB,CAACqD,eAAD,CAA/C;AAEAT,EAAAA,eAAe,GAAGD,sBAAsB,CAAC;AAAEjB,IAAAA,MAAF;AAAUkB,IAAAA;AAAV,GAAD,CAAxC;;AAEA,MAAIO,KAAJ,EAAW;AACTP,IAAAA,eAAe,GAAG7C,gCAAgC,CAChD6C,eADgD,EAEhDtC,WAFgD,EAG/C,WAAUD,sBAAuB,EAHc,CAAlD;AAKD,GAND,MAMO;AACLuC,IAAAA,eAAe,GAAG1C,qCAAqC,CAAC0C,eAAD,EAAkBtC,WAAlB,CAAvD;AACD;;AACD,MAAIgD,WAAJ,EAAiB;AACfV,IAAAA,eAAe,GAAG7C,gCAAgC,CAAC6C,eAAD,EAAkBrC,aAAlB,EAAiC+C,WAAjC,CAAlD;AACD,GAFD,MAEO;AACLV,IAAAA,eAAe,GAAG1C,qCAAqC,CAAC0C,eAAD,EAAkBrC,aAAlB,CAAvD;AACD;;AACD,MAAIgD,eAAe,KAAK,IAAxB,EAA8B;AAC5BX,IAAAA,eAAe,GAAG7C,gCAAgC,CAChD6C,eADgD,EAEhDpC,cAFgD,EAGhD+C,eAAe,GAAG,MAAH,GAAY,OAHqB,CAAlD;AAKD,GAND,MAMO;AACLX,IAAAA,eAAe,GAAG1C,qCAAqC,CAAC0C,eAAD,EAAkBpC,cAAlB,CAAvD;AACD;;AACD,MAAIgD,gBAAgB,KAAK,IAAzB,EAA+B;AAC7BZ,IAAAA,eAAe,GAAG7C,gCAAgC,CAChD6C,eADgD,EAEhDnC,wBAFgD,EAGhD+C,gBAAgB,GAAG,MAAH,GAAY,OAHoB,CAAlD;AAKD,GAND,MAMO;AACLZ,IAAAA,eAAe,GAAG1C,qCAAqC,CACrD0C,eADqD,EAErDnC,wBAFqD,CAAvD;AAID;;AACD,MAAIgD,sBAAsB,KAAK,IAA/B,EAAqC;AACnCb,IAAAA,eAAe,GAAG7C,gCAAgC,CAChD6C,eADgD,EAEhDlC,qBAFgD,EAGhD+C,sBAAsB,GAAG,MAAH,GAAY,OAHc,CAAlD;AAKD,GAND,MAMO;AACL;AACAb,IAAAA,eAAe,GAAG1C,qCAAqC,CAAC0C,eAAD,EAAkBlC,qBAAlB,CAAvD;AACD;;AAED,SAAO2C,eAAP;AACD","sourcesContent":["import {\n AndroidConfig,\n ConfigPlugin,\n withAndroidManifest,\n withStringsXml,\n} from '@expo/config-plugins';\nimport { ExpoConfig } from '@expo/config-types';\n\nconst { buildResourceItem } = AndroidConfig.Resources;\nconst { removeStringItem, setStringItem } = AndroidConfig.Strings;\nconst {\n addMetaDataItemToMainApplication,\n getMainApplicationOrThrow,\n prefixAndroidKeys,\n removeMetaDataItemFromMainApplication,\n} = AndroidConfig.Manifest;\n\nconst CUSTOM_TAB_ACTIVITY = 'com.facebook.CustomTabActivity';\nconst STRING_FACEBOOK_APP_ID = 'facebook_app_id';\nconst META_APP_ID = 'com.facebook.sdk.ApplicationId';\nconst META_APP_NAME = 'com.facebook.sdk.ApplicationName';\nconst META_AUTO_INIT = 'com.facebook.sdk.AutoInitEnabled';\nconst META_AUTO_LOG_APP_EVENTS = 'com.facebook.sdk.AutoLogAppEventsEnabled';\nconst META_AD_ID_COLLECTION = 'com.facebook.sdk.AdvertiserIDCollectionEnabled';\n\nexport const withFacebookAppIdString: ConfigPlugin = config => {\n return withStringsXml(config, config => {\n config.modResults = applyFacebookAppIdString(config, config.modResults);\n return config;\n });\n};\n\nexport const withFacebookManifest: ConfigPlugin = config => {\n return withAndroidManifest(config, config => {\n config.modResults = setFacebookConfig(config, config.modResults);\n return config;\n });\n};\n\nfunction buildXMLItem({\n head,\n children,\n}: {\n head: Record<string, string>;\n children?: Record<string, string | any[]>;\n}) {\n return { ...(children ?? {}), $: head };\n}\n\nfunction buildAndroidItem(datum: string | Record<string, any>) {\n const item = typeof datum === 'string' ? { name: datum } : datum;\n const head = prefixAndroidKeys(item);\n return buildXMLItem({ head });\n}\n\nfunction getFacebookSchemeActivity(scheme: string) {\n /**\n <activity\n android:name=\"com.facebook.CustomTabActivity\"\n android:exported=\"true\">\n <intent-filter>\n <action android:name=\"android.intent.action.VIEW\" />\n <category android:name=\"android.intent.category.DEFAULT\" />\n <category android:name=\"android.intent.category.BROWSABLE\" />\n <data android:scheme=\"${scheme}\" />\n </intent-filter>\n </activity>\n */\n return buildXMLItem({\n head: prefixAndroidKeys({\n name: CUSTOM_TAB_ACTIVITY,\n exported: 'true',\n }),\n children: {\n 'intent-filter': [\n {\n action: [buildAndroidItem('android.intent.action.VIEW')],\n category: [\n buildAndroidItem('android.intent.category.DEFAULT'),\n buildAndroidItem('android.intent.category.BROWSABLE'),\n ],\n data: [buildAndroidItem({ scheme })],\n },\n ],\n },\n }) as AndroidConfig.Manifest.ManifestActivity;\n}\n\ntype ExpoConfigFacebook = Pick<\n ExpoConfig,\n | 'facebookScheme'\n | 'facebookAdvertiserIDCollectionEnabled'\n | 'facebookAppId'\n | 'facebookAutoInitEnabled'\n | 'facebookAutoLogAppEventsEnabled'\n | 'facebookDisplayName'\n>;\n\nexport function getFacebookScheme(config: ExpoConfigFacebook) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: ExpoConfigFacebook) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfigFacebook) {\n return config.facebookDisplayName ?? null;\n}\nexport function getFacebookAutoInitEnabled(config: ExpoConfigFacebook) {\n return config.facebookAutoInitEnabled ?? null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook) {\n return config.facebookAutoLogAppEventsEnabled ?? null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook) {\n return config.facebookAdvertiserIDCollectionEnabled ?? null;\n}\n\nfunction ensureFacebookActivity({\n mainApplication,\n scheme,\n}: {\n mainApplication: AndroidConfig.Manifest.ManifestApplication;\n scheme: string | null;\n}) {\n if (Array.isArray(mainApplication.activity)) {\n // Remove all Facebook CustomTabActivities first\n mainApplication.activity = mainApplication.activity.filter(activity => {\n return activity.$?.['android:name'] !== CUSTOM_TAB_ACTIVITY;\n });\n } else {\n mainApplication.activity = [];\n }\n\n // If a new scheme is defined, append it to the activity.\n if (scheme) {\n mainApplication.activity.push(getFacebookSchemeActivity(scheme));\n }\n return mainApplication;\n}\n\nfunction applyFacebookAppIdString(\n config: ExpoConfigFacebook,\n stringsJSON: AndroidConfig.Resources.ResourceXML\n) {\n const appId = getFacebookAppId(config);\n\n if (appId) {\n return setStringItem(\n [buildResourceItem({ name: STRING_FACEBOOK_APP_ID, value: appId })],\n stringsJSON\n );\n }\n return removeStringItem(STRING_FACEBOOK_APP_ID, stringsJSON);\n}\n\nexport function setFacebookConfig(\n config: ExpoConfigFacebook,\n androidManifest: AndroidConfig.Manifest.AndroidManifest\n) {\n const scheme = getFacebookScheme(config);\n\n const appId = getFacebookAppId(config);\n const displayName = getFacebookDisplayName(config);\n const autoInitEnabled = getFacebookAutoInitEnabled(config);\n const autoLogAppEvents = getFacebookAutoLogAppEvents(config);\n const advertiserIdCollection = getFacebookAdvertiserIDCollection(config);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let mainApplication = getMainApplicationOrThrow(androidManifest);\n\n mainApplication = ensureFacebookActivity({ scheme, mainApplication });\n\n if (appId) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_APP_ID,\n `@string/${STRING_FACEBOOK_APP_ID}`\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_ID);\n }\n if (displayName) {\n mainApplication = addMetaDataItemToMainApplication(mainApplication, META_APP_NAME, displayName);\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_NAME);\n }\n if (autoInitEnabled !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_INIT,\n autoInitEnabled ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AUTO_INIT);\n }\n if (autoLogAppEvents !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS,\n autoLogAppEvents ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS\n );\n }\n if (advertiserIdCollection !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AD_ID_COLLECTION,\n advertiserIdCollection ? 'true' : 'false'\n );\n } else {\n // eslint-disable-next-line\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AD_ID_COLLECTION);\n }\n\n return androidManifest;\n}\n"],"file":"withAndroidFacebook.js"}
@@ -0,0 +1,26 @@
1
+ import { ConfigPlugin, InfoPlist } from '@expo/config-plugins';
2
+ import { ExpoConfig } from '@expo/config-types';
3
+ declare type ExpoConfigFacebook = Pick<ExpoConfig, 'facebookScheme' | 'facebookAdvertiserIDCollectionEnabled' | 'facebookAppId' | 'facebookAutoInitEnabled' | 'facebookAutoLogAppEventsEnabled' | 'facebookDisplayName'>;
4
+ export declare const withIosFacebook: ConfigPlugin;
5
+ /**
6
+ * Getters
7
+ * TODO: these getters are the same between ios/android, we could reuse them
8
+ */
9
+ export declare function getFacebookScheme(config: ExpoConfigFacebook): string | null;
10
+ export declare function getFacebookAppId(config: Pick<ExpoConfigFacebook, 'facebookAppId'>): string | null;
11
+ export declare function getFacebookDisplayName(config: ExpoConfigFacebook): string | null;
12
+ export declare function getFacebookAutoInitEnabled(config: ExpoConfigFacebook): boolean | null;
13
+ export declare function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook): boolean | null;
14
+ export declare function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook): boolean | null;
15
+ /**
16
+ * Setters
17
+ */
18
+ export declare function setFacebookConfig(config: ExpoConfigFacebook, infoPlist: InfoPlist): InfoPlist;
19
+ export declare function setFacebookScheme(config: ExpoConfigFacebook, infoPlist: InfoPlist): InfoPlist;
20
+ export declare function setFacebookAutoInitEnabled(config: ExpoConfigFacebook, { FacebookAutoInitEnabled, ...infoPlist }: InfoPlist): InfoPlist;
21
+ export declare function setFacebookAutoLogAppEventsEnabled(config: ExpoConfigFacebook, { FacebookAutoLogAppEventsEnabled, ...infoPlist }: InfoPlist): InfoPlist;
22
+ export declare function setFacebookAdvertiserIDCollectionEnabled(config: ExpoConfigFacebook, { FacebookAdvertiserIDCollectionEnabled, ...infoPlist }: InfoPlist): InfoPlist;
23
+ export declare function setFacebookAppId(config: Pick<ExpoConfigFacebook, 'facebookAppId'>, { FacebookAppID, ...infoPlist }: InfoPlist): InfoPlist;
24
+ export declare function setFacebookDisplayName(config: ExpoConfigFacebook, { FacebookDisplayName, ...infoPlist }: InfoPlist): InfoPlist;
25
+ export declare function setFacebookApplicationQuerySchemes(config: Pick<ExpoConfigFacebook, 'facebookAppId'>, infoPlist: InfoPlist): InfoPlist;
26
+ export {};