|
1 | 1 | "use strict";
|
2 |
| -var __importDefault = |
3 |
| - (this && this.__importDefault) || |
4 |
| - function (mod) { |
5 |
| - return mod && mod.__esModule ? mod : { default: mod }; |
6 |
| - }; |
| 2 | +var __importDefault = (this && this.__importDefault) || function (mod) { |
| 3 | + return (mod && mod.__esModule) ? mod : { "default": mod }; |
| 4 | +}; |
7 | 5 | Object.defineProperty(exports, "__esModule", { value: true });
|
8 | 6 | exports.withViroIos = exports.withDefaultInfoPlist = void 0;
|
9 | 7 | const config_plugins_1 = require("@expo/config-plugins");
|
10 | 8 | const fs_1 = __importDefault(require("fs"));
|
11 | 9 | const insertLinesHelper_1 = require("./util/insertLinesHelper");
|
12 | 10 | const withViro_1 = require("./withViro");
|
13 | 11 | const withViroPods = (config) => {
|
14 |
| - config = (0, config_plugins_1.withDangerousMod)(config, [ |
15 |
| - "ios", |
16 |
| - async (newConfig) => { |
17 |
| - const root = newConfig.modRequest.platformProjectRoot; |
18 |
| - fs_1.default.readFile(`${root}/Podfile`, "utf-8", (err, data) => { |
19 |
| - data = (0, insertLinesHelper_1.insertLinesHelper)( |
20 |
| - ` pod 'ViroReact', :path => '../node_modules/@reactvision/react-viro/ios'\n` + |
21 |
| - ` pod 'ViroKit', :path => '../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/'`, |
22 |
| - "post_install do |installer|", |
23 |
| - data, |
24 |
| - -1 |
25 |
| - ); |
26 |
| - fs_1.default.writeFile( |
27 |
| - `${root}/Podfile`, |
28 |
| - data, |
29 |
| - "utf-8", |
30 |
| - function (err) { |
31 |
| - if (err) console.log("Error writing Podfile"); |
32 |
| - } |
33 |
| - ); |
34 |
| - }); |
35 |
| - return newConfig; |
36 |
| - }, |
37 |
| - ]); |
38 |
| - return config; |
| 12 | + config = (0, config_plugins_1.withDangerousMod)(config, [ |
| 13 | + "ios", |
| 14 | + async (newConfig) => { |
| 15 | + const root = newConfig.modRequest.platformProjectRoot; |
| 16 | + fs_1.default.readFile(`${root}/Podfile`, "utf-8", (err, data) => { |
| 17 | + data = (0, insertLinesHelper_1.insertLinesHelper)(` pod 'ViroReact', :path => '../node_modules/@reactvision/react-viro/ios'\n` + |
| 18 | + ` pod 'ViroKit', :path => '../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/'`, "post_install do |installer|", data, -1); |
| 19 | + fs_1.default.writeFile(`${root}/Podfile`, data, "utf-8", function (err) { |
| 20 | + if (err) |
| 21 | + console.log("Error writing Podfile"); |
| 22 | + }); |
| 23 | + }); |
| 24 | + return newConfig; |
| 25 | + }, |
| 26 | + ]); |
| 27 | + return config; |
39 | 28 | };
|
40 |
| -const withEnabledBitcode = (config) => |
41 |
| - (0, config_plugins_1.withXcodeProject)(config, async (newConfig) => { |
| 29 | +const withEnabledBitcode = (config) => (0, config_plugins_1.withXcodeProject)(config, async (newConfig) => { |
42 | 30 | newConfig.modResults.addBuildProperty("ENABLE_BITCODE", "NO", "Release");
|
43 | 31 | return newConfig;
|
44 |
| - }); |
| 32 | +}); |
45 | 33 | const setExcludedArchitectures = (project) => {
|
46 |
| - const configurations = project.pbxXCBuildConfigurationSection(); |
47 |
| - // @ts-ignore |
48 |
| - for (const { buildSettings } of Object.values(configurations || {})) { |
49 |
| - if ( |
50 |
| - typeof (buildSettings === null || buildSettings === void 0 |
51 |
| - ? void 0 |
52 |
| - : buildSettings.PRODUCT_NAME) !== "undefined" |
53 |
| - ) { |
54 |
| - buildSettings['"EXCLUDED_ARCHS[sdk=iphonesimulator*]"'] = '"arm64"'; |
| 34 | + const configurations = project.pbxXCBuildConfigurationSection(); |
| 35 | + // @ts-ignore |
| 36 | + for (const { buildSettings } of Object.values(configurations || {})) { |
| 37 | + if (typeof (buildSettings === null || buildSettings === void 0 |
| 38 | + ? void 0 |
| 39 | + : buildSettings.PRODUCT_NAME) !== "undefined") { |
| 40 | + buildSettings['"EXCLUDED_ARCHS[sdk=iphonesimulator*]"'] = '"arm64"'; |
| 41 | + } |
55 | 42 | }
|
56 |
| - } |
57 |
| - return project; |
| 43 | + return project; |
58 | 44 | };
|
59 | 45 | const withExcludedSimulatorArchitectures = (config) => {
|
60 |
| - return (0, config_plugins_1.withXcodeProject)(config, (newConfig) => { |
61 |
| - newConfig.modResults = setExcludedArchitectures(newConfig.modResults); |
62 |
| - return newConfig; |
63 |
| - }); |
| 46 | + return (0, config_plugins_1.withXcodeProject)(config, (newConfig) => { |
| 47 | + newConfig.modResults = setExcludedArchitectures(newConfig.modResults); |
| 48 | + return newConfig; |
| 49 | + }); |
64 | 50 | };
|
65 | 51 | const withDefaultInfoPlist = (config, props) => {
|
66 |
| - let savePhotosPermission = withViro_1.DEFAULTS.ios.savePhotosPermission; |
67 |
| - let photosPermission = withViro_1.DEFAULTS.ios.photosPermission; |
68 |
| - let cameraUsagePermission = withViro_1.DEFAULTS.ios.cameraUsagePermission; |
69 |
| - let microphoneUsagePermission = |
70 |
| - withViro_1.DEFAULTS.ios.microphoneUsagePermission; |
71 |
| - if (Array.isArray(config.plugins)) { |
72 |
| - const pluginConfig = config?.plugins?.find( |
73 |
| - (plugin) => |
74 |
| - Array.isArray(plugin) && plugin[0] === "@reactvision/react-viro" |
75 |
| - ); |
76 |
| - if (Array.isArray(pluginConfig) && pluginConfig.length > 1) { |
77 |
| - const config = pluginConfig[1]; |
78 |
| - savePhotosPermission = |
79 |
| - config.ios?.savePhotosPermission || savePhotosPermission; |
80 |
| - photosPermission = config.ios?.photosPermission || photosPermission; |
81 |
| - microphoneUsagePermission = |
82 |
| - config.ios?.microphoneUsagePermission || microphoneUsagePermission; |
83 |
| - cameraUsagePermission = |
84 |
| - config.ios?.cameraUsagePermission || cameraUsagePermission; |
| 52 | + let savePhotosPermission = withViro_1.DEFAULTS.ios.savePhotosPermission; |
| 53 | + let photosPermission = withViro_1.DEFAULTS.ios.photosPermission; |
| 54 | + let cameraUsagePermission = withViro_1.DEFAULTS.ios.cameraUsagePermission; |
| 55 | + let microphoneUsagePermission = withViro_1.DEFAULTS.ios.microphoneUsagePermission; |
| 56 | + if (Array.isArray(config.plugins)) { |
| 57 | + const pluginConfig = config?.plugins?.find((plugin) => Array.isArray(plugin) && plugin[0] === "@reactvision/react-viro"); |
| 58 | + if (Array.isArray(pluginConfig) && pluginConfig.length > 1) { |
| 59 | + const config = pluginConfig[1]; |
| 60 | + savePhotosPermission = |
| 61 | + config.ios?.savePhotosPermission || savePhotosPermission; |
| 62 | + photosPermission = config.ios?.photosPermission || photosPermission; |
| 63 | + microphoneUsagePermission = |
| 64 | + config.ios?.microphoneUsagePermission || microphoneUsagePermission; |
| 65 | + cameraUsagePermission = |
| 66 | + config.ios?.cameraUsagePermission || cameraUsagePermission; |
| 67 | + } |
85 | 68 | }
|
86 |
| - } |
87 |
| - if (!config.ios) config.ios = {}; |
88 |
| - if (!config.ios.infoPlist) config.ios.infoPlist = {}; |
89 |
| - config.ios.infoPlist.NSPhotoLibraryUsageDescription = |
90 |
| - config.ios.infoPlist.NSPhotoLibraryUsageDescription || photosPermission; |
91 |
| - config.ios.infoPlist.NSPhotoLibraryAddUsageDescription = |
92 |
| - config.ios.infoPlist.NSPhotoLibraryAddUsageDescription || |
93 |
| - savePhotosPermission; |
94 |
| - config.ios.infoPlist.NSCameraUsageDescription = |
95 |
| - config.ios.infoPlist.NSCameraUsageDescription || cameraUsagePermission; |
96 |
| - config.ios.infoPlist.NSMicrophoneUsageDescription = |
97 |
| - config.ios.infoPlist.NSMicrophoneUsageDescription || |
98 |
| - microphoneUsagePermission; |
99 |
| - return config; |
| 69 | + if (!config.ios) |
| 70 | + config.ios = {}; |
| 71 | + if (!config.ios.infoPlist) |
| 72 | + config.ios.infoPlist = {}; |
| 73 | + config.ios.infoPlist.NSPhotoLibraryUsageDescription = |
| 74 | + config.ios.infoPlist.NSPhotoLibraryUsageDescription || photosPermission; |
| 75 | + config.ios.infoPlist.NSPhotoLibraryAddUsageDescription = |
| 76 | + config.ios.infoPlist.NSPhotoLibraryAddUsageDescription || |
| 77 | + savePhotosPermission; |
| 78 | + config.ios.infoPlist.NSCameraUsageDescription = |
| 79 | + config.ios.infoPlist.NSCameraUsageDescription || cameraUsagePermission; |
| 80 | + config.ios.infoPlist.NSMicrophoneUsageDescription = |
| 81 | + config.ios.infoPlist.NSMicrophoneUsageDescription || |
| 82 | + microphoneUsagePermission; |
| 83 | + return config; |
100 | 84 | };
|
101 | 85 | exports.withDefaultInfoPlist = withDefaultInfoPlist;
|
102 | 86 | const withViroIos = (config, props) => {
|
103 |
| - (0, config_plugins_1.withPlugins)(config, [[withViroPods, props]]); |
104 |
| - (0, exports.withDefaultInfoPlist)(config, props); |
105 |
| - withEnabledBitcode(config); |
106 |
| - withExcludedSimulatorArchitectures(config); |
107 |
| - return config; |
| 87 | + (0, config_plugins_1.withPlugins)(config, [[withViroPods, props]]); |
| 88 | + (0, exports.withDefaultInfoPlist)(config, props); |
| 89 | + withEnabledBitcode(config); |
| 90 | + withExcludedSimulatorArchitectures(config); |
| 91 | + return config; |
108 | 92 | };
|
109 | 93 | exports.withViroIos = withViroIos;
|
0 commit comments