@akylas/nativescript-cli 8.7.2 → 8.8.3

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 (295) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
  3. package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
  4. package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
  5. package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
  6. package/docs/man_pages/project/configuration/native/native-add.md +31 -0
  7. package/docs/man_pages/project/configuration/native/native.md +31 -0
  8. package/lib/.d.ts +2 -0
  9. package/lib/android-tools-info.js +9 -20
  10. package/lib/base-package-manager.js +47 -64
  11. package/lib/bootstrap.js +8 -0
  12. package/lib/bun-package-manager.js +65 -88
  13. package/lib/color.js +2 -2
  14. package/lib/commands/add-platform.js +14 -30
  15. package/lib/commands/apple-login.js +18 -29
  16. package/lib/commands/appstore-list.js +34 -45
  17. package/lib/commands/appstore-upload.js +55 -68
  18. package/lib/commands/build.js +57 -86
  19. package/lib/commands/clean.js +161 -176
  20. package/lib/commands/command-base.js +14 -27
  21. package/lib/commands/config.js +51 -70
  22. package/lib/commands/create-project.js +210 -229
  23. package/lib/commands/debug.js +66 -88
  24. package/lib/commands/deploy.js +28 -44
  25. package/lib/commands/embedding/embed.js +72 -0
  26. package/lib/commands/extensibility/install-extension.js +5 -16
  27. package/lib/commands/extensibility/list-extensions.js +13 -24
  28. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  29. package/lib/commands/fonts.js +30 -41
  30. package/lib/commands/generate-assets.js +13 -28
  31. package/lib/commands/generate-help.js +2 -13
  32. package/lib/commands/generate.js +17 -26
  33. package/lib/commands/info.js +2 -13
  34. package/lib/commands/install.js +34 -49
  35. package/lib/commands/list-platforms.js +14 -25
  36. package/lib/commands/migrate.js +15 -26
  37. package/lib/commands/native-add.js +277 -0
  38. package/lib/commands/platform-clean.js +19 -32
  39. package/lib/commands/plugin/add-plugin.js +12 -25
  40. package/lib/commands/plugin/build-plugin.js +34 -45
  41. package/lib/commands/plugin/create-plugin.js +110 -133
  42. package/lib/commands/plugin/list-plugins.js +22 -33
  43. package/lib/commands/plugin/remove-plugin.js +20 -33
  44. package/lib/commands/plugin/update-plugin.js +20 -33
  45. package/lib/commands/post-install.js +20 -33
  46. package/lib/commands/prepare.js +28 -35
  47. package/lib/commands/preview.js +49 -62
  48. package/lib/commands/remove-platform.js +7 -18
  49. package/lib/commands/resources/resources-update.js +13 -26
  50. package/lib/commands/run.js +55 -76
  51. package/lib/commands/start.js +6 -19
  52. package/lib/commands/test-init.js +123 -134
  53. package/lib/commands/test.js +66 -89
  54. package/lib/commands/typings.js +126 -142
  55. package/lib/commands/update-platform.js +22 -35
  56. package/lib/commands/update.js +30 -43
  57. package/lib/common/child-process.js +53 -72
  58. package/lib/common/codeGeneration/code-entity.js +1 -1
  59. package/lib/common/codeGeneration/code-printer.js +1 -1
  60. package/lib/common/command-params.js +7 -18
  61. package/lib/common/commands/analytics.js +27 -40
  62. package/lib/common/commands/autocompletion.js +39 -56
  63. package/lib/common/commands/device/device-log-stream.js +12 -23
  64. package/lib/common/commands/device/get-file.js +22 -33
  65. package/lib/common/commands/device/list-applications.js +12 -23
  66. package/lib/common/commands/device/list-devices.js +72 -87
  67. package/lib/common/commands/device/list-files.js +23 -34
  68. package/lib/common/commands/device/put-file.js +22 -33
  69. package/lib/common/commands/device/run-application.js +12 -25
  70. package/lib/common/commands/device/stop-application.js +11 -22
  71. package/lib/common/commands/device/uninstall-application.js +6 -17
  72. package/lib/common/commands/generate-messages.js +17 -28
  73. package/lib/common/commands/help.js +20 -33
  74. package/lib/common/commands/package-manager-get.js +6 -17
  75. package/lib/common/commands/package-manager-set.js +9 -20
  76. package/lib/common/commands/post-install.js +2 -13
  77. package/lib/common/commands/preuninstall.js +23 -38
  78. package/lib/common/commands/proxy/proxy-base.js +8 -19
  79. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  80. package/lib/common/commands/proxy/proxy-get.js +3 -14
  81. package/lib/common/commands/proxy/proxy-set.js +87 -100
  82. package/lib/common/constants.js +11 -11
  83. package/lib/common/decorators.js +10 -22
  84. package/lib/common/dispatchers.js +79 -96
  85. package/lib/common/errors.js +89 -104
  86. package/lib/common/file-system.js +106 -127
  87. package/lib/common/header.js +1 -2
  88. package/lib/common/helpers.js +149 -178
  89. package/lib/common/host-info.js +37 -50
  90. package/lib/common/http-client.js +93 -108
  91. package/lib/common/logger/appenders/cli-appender.js +1 -2
  92. package/lib/common/logger/appenders/emit-appender.js +1 -2
  93. package/lib/common/logger/layouts/cli-layout.js +1 -2
  94. package/lib/common/logger/logger.js +1 -1
  95. package/lib/common/mobile/android/android-application-manager.js +121 -142
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  98. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  99. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  100. package/lib/common/mobile/android/android-device.js +74 -91
  101. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  102. package/lib/common/mobile/android/android-log-filter.js +1 -1
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  107. package/lib/common/mobile/android/logcat-helper.js +108 -118
  108. package/lib/common/mobile/application-manager-base.js +84 -107
  109. package/lib/common/mobile/device-log-provider-base.js +7 -18
  110. package/lib/common/mobile/emulator-helper.js +1 -0
  111. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  112. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  113. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  114. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  115. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  116. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  117. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  118. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  119. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  120. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  121. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  122. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  123. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  124. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  125. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  126. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  127. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  128. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  129. package/lib/common/mobile/mobile-helper.js +15 -26
  130. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  131. package/lib/common/opener.js +2 -2
  132. package/lib/common/plist-parser.js +2 -2
  133. package/lib/common/prompter.js +90 -105
  134. package/lib/common/queue.js +9 -20
  135. package/lib/common/services/auto-completion-service.js +39 -52
  136. package/lib/common/services/cancellation.js +17 -28
  137. package/lib/common/services/commands-service.js +146 -169
  138. package/lib/common/services/help-service.js +132 -157
  139. package/lib/common/services/hooks-service.js +93 -108
  140. package/lib/common/services/ios-notification-service.js +21 -34
  141. package/lib/common/services/json-file-settings-service.js +52 -71
  142. package/lib/common/services/lock-service.js +35 -52
  143. package/lib/common/services/message-contract-generator.js +35 -46
  144. package/lib/common/services/micro-templating-service.js +4 -15
  145. package/lib/common/services/net-service.js +90 -107
  146. package/lib/common/services/project-files-manager.js +10 -23
  147. package/lib/common/services/proxy-service.js +13 -24
  148. package/lib/common/services/qr.js +13 -24
  149. package/lib/common/services/settings-service.js +1 -1
  150. package/lib/common/services/xcode-select-service.js +20 -35
  151. package/lib/common/utils.js +7 -0
  152. package/lib/common/validators/project-name-validator.js +1 -1
  153. package/lib/common/validators/validation-result.js +1 -1
  154. package/lib/common/verify-node-version.js +2 -3
  155. package/lib/common/yok.js +23 -36
  156. package/lib/config.js +7 -58
  157. package/lib/constants.js +24 -24
  158. package/lib/controllers/build-controller.js +82 -99
  159. package/lib/controllers/debug-controller.js +107 -128
  160. package/lib/controllers/deploy-controller.js +17 -22
  161. package/lib/controllers/migrate-controller.js +727 -800
  162. package/lib/controllers/platform-controller.js +72 -83
  163. package/lib/controllers/prepare-controller.js +264 -250
  164. package/lib/controllers/run-controller.js +392 -406
  165. package/lib/controllers/update-controller-base.js +16 -29
  166. package/lib/controllers/update-controller.js +94 -119
  167. package/lib/data/build-data.js +2 -0
  168. package/lib/data/prepare-data.js +5 -1
  169. package/lib/declarations.d.ts +14 -3
  170. package/lib/definitions/android-plugin-migrator.d.ts +1 -0
  171. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  172. package/lib/definitions/livesync.d.ts +1 -1
  173. package/lib/definitions/platform.d.ts +1 -0
  174. package/lib/definitions/prepare.d.ts +3 -0
  175. package/lib/definitions/project.d.ts +5 -0
  176. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  177. package/lib/detached-processes/cleanup-process.js +16 -25
  178. package/lib/device-path-provider.js +23 -34
  179. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  180. package/lib/device-sockets/ios/notification.js +1 -1
  181. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  182. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  183. package/lib/helpers/deploy-command-helper.js +45 -49
  184. package/lib/helpers/key-command-helper.js +4 -13
  185. package/lib/helpers/livesync-command-helper.js +137 -152
  186. package/lib/helpers/network-connectivity-validator.js +6 -17
  187. package/lib/helpers/options-track-helper.js +6 -17
  188. package/lib/helpers/platform-command-helper.js +102 -114
  189. package/lib/key-commands/index.js +161 -211
  190. package/lib/nativescript-cli.js +5 -14
  191. package/lib/node-package-manager.js +81 -104
  192. package/lib/options.js +12 -14
  193. package/lib/package-installation-manager.js +130 -165
  194. package/lib/package-manager.js +63 -86
  195. package/lib/platform-command-param.js +4 -15
  196. package/lib/pnpm-package-manager.js +59 -78
  197. package/lib/project-data.js +5 -2
  198. package/lib/providers/project-files-provider.js +2 -2
  199. package/lib/services/analytics/analytics-broker-process.js +13 -22
  200. package/lib/services/analytics/analytics-broker.js +17 -30
  201. package/lib/services/analytics/analytics-service.js +161 -198
  202. package/lib/services/analytics/google-analytics-provider.js +41 -56
  203. package/lib/services/analytics-settings-service.js +15 -32
  204. package/lib/services/android/android-bundle-tool-service.js +43 -60
  205. package/lib/services/android/gradle-build-args-service.js +13 -23
  206. package/lib/services/android/gradle-build-service.js +34 -47
  207. package/lib/services/android/gradle-command-service.js +23 -32
  208. package/lib/services/android-device-debug-service.js +90 -117
  209. package/lib/services/android-plugin-build-service.js +233 -247
  210. package/lib/services/android-project-service.js +180 -219
  211. package/lib/services/android-resources-migration-service.js +51 -64
  212. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  213. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  214. package/lib/services/assets-generation/assets-generation-service.js +100 -113
  215. package/lib/services/build-artifacts-service.js +9 -20
  216. package/lib/services/build-info-file-service.js +20 -35
  217. package/lib/services/cleanup-service.js +47 -76
  218. package/lib/services/cocoapods-service.js +118 -133
  219. package/lib/services/device/device-install-app-service.js +73 -90
  220. package/lib/services/doctor-service.js +99 -118
  221. package/lib/services/extensibility-service.js +81 -100
  222. package/lib/services/files-hash-service.js +28 -44
  223. package/lib/services/hmr-status-service.js +1 -1
  224. package/lib/services/initialize-service.js +37 -50
  225. package/lib/services/ios/export-options-plist-service.js +38 -51
  226. package/lib/services/ios/ios-signing-service.js +161 -180
  227. package/lib/services/ios/spm-service.js +40 -53
  228. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  229. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  230. package/lib/services/ios/xcodebuild-service.js +50 -69
  231. package/lib/services/ios-debugger-port-service.js +23 -36
  232. package/lib/services/ios-device-debug-service.js +75 -102
  233. package/lib/services/ios-entitlements-service.js +31 -42
  234. package/lib/services/ios-extensions-service.js +18 -29
  235. package/lib/services/ios-project-service.js +418 -440
  236. package/lib/services/ios-provision-service.js +108 -129
  237. package/lib/services/ios-watch-app-service.js +21 -32
  238. package/lib/services/ip-service.js +38 -53
  239. package/lib/services/itmstransporter-service.js +129 -152
  240. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  241. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  242. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
  243. package/lib/services/livesync/android-livesync-service.js +16 -37
  244. package/lib/services/livesync/android-livesync-tool.js +89 -112
  245. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  246. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  247. package/lib/services/livesync/ios-livesync-service.js +44 -60
  248. package/lib/services/livesync/platform-livesync-service-base.js +96 -120
  249. package/lib/services/log-parser-service.js +1 -1
  250. package/lib/services/log-source-map-service.js +33 -43
  251. package/lib/services/marking-mode-service.js +15 -28
  252. package/lib/services/npm-config-service.js +1 -1
  253. package/lib/services/pacote-service.js +49 -64
  254. package/lib/services/performance-service.js +1 -1
  255. package/lib/services/platform/add-platform-service.js +53 -69
  256. package/lib/services/platform/platform-validation-service.js +22 -33
  257. package/lib/services/platform/prepare-native-platform-service.js +50 -60
  258. package/lib/services/platform-environment-requirements.js +29 -38
  259. package/lib/services/plugins-service.js +128 -147
  260. package/lib/services/project-backup-service.js +1 -1
  261. package/lib/services/project-changes-service.js +129 -139
  262. package/lib/services/project-cleanup-service.js +64 -77
  263. package/lib/services/project-config-service.js +71 -80
  264. package/lib/services/project-data-service.js +116 -139
  265. package/lib/services/project-name-service.js +28 -43
  266. package/lib/services/project-service.js +84 -103
  267. package/lib/services/project-templates-service.js +52 -67
  268. package/lib/services/start-service.js +41 -59
  269. package/lib/services/temp-service.js +8 -21
  270. package/lib/services/terminal-spinner-service.js +13 -24
  271. package/lib/services/test-execution-service.js +59 -72
  272. package/lib/services/test-initialization-service.js +2 -2
  273. package/lib/services/timeline-profiler-service.js +1 -1
  274. package/lib/services/versions-service.js +119 -138
  275. package/lib/services/webpack/webpack-compiler-service.js +212 -224
  276. package/lib/services/xcconfig-service.js +8 -19
  277. package/lib/services/xcproj-service.js +12 -0
  278. package/lib/sys-info.js +45 -62
  279. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  280. package/lib/yarn-package-manager.js +59 -78
  281. package/lib/yarn2-package-manager.js +60 -79
  282. package/package.json +59 -57
  283. package/vendor/aab-tool/README.txt +1 -1
  284. package/vendor/aab-tool/bundletool.jar +0 -0
  285. package/vendor/gradle-app/app/build.gradle +12 -4
  286. package/vendor/gradle-plugin/build.gradle +12 -4
  287. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  288. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  289. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  290. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  291. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  292. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  293. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  294. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  295. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.CocoaPodsService = void 0;
13
4
  const os_1 = require("os");
@@ -18,7 +9,7 @@ const helpers_1 = require("../common/helpers");
18
9
  const yok_1 = require("../common/yok");
19
10
  const constants = require("../constants");
20
11
  class CocoaPodsService {
21
- constructor($cocoaPodsPlatformManager, $fs, $childProcess, $errors, $logger, $config, $xcconfigService, $xcodeSelectService) {
12
+ constructor($cocoaPodsPlatformManager, $fs, $childProcess, $errors, $logger, $config, $xcconfigService, $xcodeSelectService, $projectData) {
22
13
  this.$cocoaPodsPlatformManager = $cocoaPodsPlatformManager;
23
14
  this.$fs = $fs;
24
15
  this.$childProcess = $childProcess;
@@ -27,6 +18,7 @@ class CocoaPodsService {
27
18
  this.$config = $config;
28
19
  this.$xcconfigService = $xcconfigService;
29
20
  this.$xcodeSelectService = $xcodeSelectService;
21
+ this.$projectData = $projectData;
30
22
  this.getCocoaPodsFromPodfile = _.memoize(this._getCocoaPodsFromPodfile, helpers_1.getHash);
31
23
  }
32
24
  getPodfileHeader(targetName) {
@@ -38,71 +30,69 @@ class CocoaPodsService {
38
30
  getProjectPodfilePath(projectRoot) {
39
31
  return path.join(projectRoot, constants_1.PODFILE_NAME);
40
32
  }
41
- executePodInstall(projectRoot, xcodeProjPath) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- this.$logger.info("Installing pods...");
44
- let podTool = this.$config.USE_POD_SANDBOX ? "sandbox-pod" : "pod";
45
- const args = ["install"];
46
- if (process.platform === "darwin" && process.arch === "arm64") {
47
- const res = yield this.$childProcess
48
- .exec("arch -x86_64 pod --version", null, {
49
- showStderr: true,
50
- })
51
- .then((res) => res.stdout + " " + res.stderr)
52
- .catch((err) => err.message);
53
- if (!res.includes("Bad CPU type in executable")) {
54
- this.$logger.trace("Running on arm64 but pod is installed under rosetta2 - running pod through rosetta2");
55
- args.unshift(podTool);
56
- args.unshift("-x86_64");
57
- podTool = "arch";
58
- }
33
+ async executePodInstall(projectRoot, xcodeProjPath) {
34
+ var _a;
35
+ const cocoapodUseBundleExec = (_a = this.$projectData.nsConfig.ios) === null || _a === void 0 ? void 0 : _a.cocoapodUseBundleExec;
36
+ let podTool = this.$config.USE_POD_SANDBOX ? "sandbox-pod" : "pod";
37
+ if (cocoapodUseBundleExec === true) {
38
+ podTool = `bundle exec ${podTool}`;
39
+ }
40
+ this.$logger.info(`Installing pods using "${podTool}"...`);
41
+ const args = ["install"];
42
+ if (process.platform === "darwin" && process.arch === "arm64") {
43
+ const res = await this.$childProcess
44
+ .exec(`arch -x86_64 ${podTool} --version`, null, {
45
+ showStderr: true,
46
+ })
47
+ .then((res) => res.stdout + " " + res.stderr)
48
+ .catch((err) => err.message);
49
+ if (!res.includes("Bad CPU type in executable")) {
50
+ this.$logger.trace("Running on arm64 but pod is installed under rosetta2 - running pod through rosetta2");
51
+ args.unshift(podTool);
52
+ args.unshift("-x86_64");
53
+ podTool = "arch";
59
54
  }
60
- const podInstallResult = yield this.$childProcess.spawnFromEvent(podTool, args, "close", { cwd: projectRoot, stdio: ["pipe", process.stdout, process.stdout] }, { throwError: false });
61
- if (podInstallResult.exitCode !== 0) {
62
- const versionResolutionHint = podInstallResult.exitCode === 31
63
- ? `For more information on resolving CocoaPod issues in NativeScript read.`
64
- : "";
65
- this.$errors.fail(`'${podTool} install' command failed.${podInstallResult.stderr ? " Error is: " + podInstallResult.stderr : ""}
55
+ }
56
+ const podInstallResult = await this.$childProcess.spawnFromEvent(podTool, args, "close", { cwd: projectRoot, stdio: ["pipe", process.stdout, process.stdout] }, { throwError: false });
57
+ if (podInstallResult.exitCode !== 0) {
58
+ const versionResolutionHint = podInstallResult.exitCode === 31
59
+ ? `For more information on resolving CocoaPod issues in NativeScript read.`
60
+ : "";
61
+ this.$errors.fail(`'${podTool} install' command failed.${podInstallResult.stderr ? " Error is: " + podInstallResult.stderr : ""}
66
62
  ${versionResolutionHint}`);
67
- }
68
- return podInstallResult;
69
- });
63
+ }
64
+ return podInstallResult;
70
65
  }
71
- mergePodXcconfigFile(projectData, platformData) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- const podFilesRootDirName = path.join("Pods", "Target Support Files", `Pods-${projectData.projectName}`);
74
- const podFolder = path.join(platformData.projectRoot, podFilesRootDirName);
75
- if (this.$fs.exists(podFolder)) {
76
- const pluginsXcconfigFilePaths = this.$xcconfigService.getPluginsXcconfigFilePaths(platformData.projectRoot);
77
- for (const configuration in pluginsXcconfigFilePaths) {
78
- const pluginsXcconfigFilePath = pluginsXcconfigFilePaths[configuration];
79
- const podXcconfigFilePath = path.join(podFolder, `Pods-${projectData.projectName}.${configuration}.xcconfig`);
80
- yield this.$xcconfigService.mergeFiles(podXcconfigFilePath, pluginsXcconfigFilePath);
81
- }
66
+ async mergePodXcconfigFile(projectData, platformData) {
67
+ const podFilesRootDirName = path.join("Pods", "Target Support Files", `Pods-${projectData.projectName}`);
68
+ const podFolder = path.join(platformData.projectRoot, podFilesRootDirName);
69
+ if (this.$fs.exists(podFolder)) {
70
+ const pluginsXcconfigFilePaths = this.$xcconfigService.getPluginsXcconfigFilePaths(platformData.projectRoot);
71
+ for (const configuration in pluginsXcconfigFilePaths) {
72
+ const pluginsXcconfigFilePath = pluginsXcconfigFilePaths[configuration];
73
+ const podXcconfigFilePath = path.join(podFolder, `Pods-${projectData.projectName}.${configuration}.xcconfig`);
74
+ await this.$xcconfigService.mergeFiles(podXcconfigFilePath, pluginsXcconfigFilePath);
82
75
  }
83
- });
76
+ }
84
77
  }
85
- applyPodfileFromAppResources(projectData, platformData) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- const { projectRoot, normalizedPlatformName } = platformData;
88
- const mainPodfilePath = path.join(projectData.appResourcesDirectoryPath, normalizedPlatformName, constants_1.PODFILE_NAME);
89
- const projectPodfilePath = this.getProjectPodfilePath(projectRoot);
90
- if (this.$fs.exists(projectPodfilePath) ||
91
- this.$fs.exists(mainPodfilePath)) {
92
- yield this.applyPodfileToProject(constants_1.NS_BASE_PODFILE, mainPodfilePath, projectData, platformData);
93
- }
94
- });
78
+ async applyPodfileFromAppResources(projectData, platformData) {
79
+ const { projectRoot, normalizedPlatformName } = platformData;
80
+ const mainPodfilePath = path.join(projectData.appResourcesDirectoryPath, normalizedPlatformName, constants_1.PODFILE_NAME);
81
+ const projectPodfilePath = this.getProjectPodfilePath(projectRoot);
82
+ if (this.$fs.exists(projectPodfilePath) ||
83
+ this.$fs.exists(mainPodfilePath)) {
84
+ await this.applyPodfileToProject(constants_1.NS_BASE_PODFILE, mainPodfilePath, projectData, platformData);
85
+ }
95
86
  }
96
- applyPodfileArchExclusions(projectData, platformData) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const xcodeVersionData = yield this.$xcodeSelectService.getXcodeVersion();
99
- if (+xcodeVersionData.major !== 12) {
100
- return;
101
- }
102
- const { projectRoot } = platformData;
103
- const exclusionsPodfile = path.join(projectRoot, "Podfile-exclusions");
104
- if (!this.$fs.exists(exclusionsPodfile)) {
105
- const exclusions = `
87
+ async applyPodfileArchExclusions(projectData, platformData) {
88
+ const xcodeVersionData = await this.$xcodeSelectService.getXcodeVersion();
89
+ if (+xcodeVersionData.major !== 12) {
90
+ return;
91
+ }
92
+ const { projectRoot } = platformData;
93
+ const exclusionsPodfile = path.join(projectRoot, "Podfile-exclusions");
94
+ if (!this.$fs.exists(exclusionsPodfile)) {
95
+ const exclusions = `
106
96
  post_install do |installer|
107
97
  installer.pods_project.build_configurations.each do |config|
108
98
  config.build_settings.delete "VALID_ARCHS"
@@ -111,75 +101,70 @@ post_install do |installer|
111
101
  config.build_settings["EXCLUDED_ARCHS[sdk=iphoneos*]"] = "i386 armv6 armv7 armv7s armv8 x86_64"
112
102
  end
113
103
  end`.trim();
114
- this.$fs.writeFile(exclusionsPodfile, exclusions);
115
- }
116
- yield this.applyPodfileToProject("NativeScript-CLI-Architecture-Exclusions", exclusionsPodfile, projectData, platformData);
117
- this.$fs.deleteFile(exclusionsPodfile);
118
- });
104
+ this.$fs.writeFile(exclusionsPodfile, exclusions);
105
+ }
106
+ await this.applyPodfileToProject("NativeScript-CLI-Architecture-Exclusions", exclusionsPodfile, projectData, platformData);
107
+ this.$fs.deleteFile(exclusionsPodfile);
119
108
  }
120
- applyPodfileFromExtensions(projectData, platformData) {
121
- return __awaiter(this, void 0, void 0, function* () {
122
- const extensionFolderPath = path.join(projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER);
123
- const projectPodfilePath = this.getProjectPodfilePath(platformData.projectRoot);
124
- if (!this.$fs.exists(extensionFolderPath) ||
125
- !this.$fs.exists(projectPodfilePath)) {
126
- return;
109
+ async applyPodfileFromExtensions(projectData, platformData) {
110
+ const extensionFolderPath = path.join(projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER);
111
+ const projectPodfilePath = this.getProjectPodfilePath(platformData.projectRoot);
112
+ if (!this.$fs.exists(extensionFolderPath) ||
113
+ !this.$fs.exists(projectPodfilePath)) {
114
+ return;
115
+ }
116
+ let projectPodFileContent = this.$fs.readText(projectPodfilePath);
117
+ const extensionsPodfile = this.$fs
118
+ .readDirectory(extensionFolderPath)
119
+ .filter((name) => {
120
+ const extensionPath = path.join(extensionFolderPath, name);
121
+ const stats = this.$fs.getFsStats(extensionPath);
122
+ return stats.isDirectory() && !name.startsWith(".");
123
+ })
124
+ .map((name) => ({
125
+ targetName: name,
126
+ podfilePath: path.join(extensionFolderPath, name, constants.PODFILE_NAME),
127
+ }));
128
+ extensionsPodfile.forEach(({ targetName, podfilePath }) => {
129
+ const regExpToRemove = new RegExp(`${this.getExtensionPodfileHeader(podfilePath, targetName)}[\\s\\S]*?${this.getExtensionPodfileEnd()}`, "mg");
130
+ projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
131
+ if (this.$fs.exists(podfilePath)) {
132
+ const podfileContentWithoutTarget = this.$fs.readText(podfilePath);
133
+ const podFileContent = this.getExtensionPodfileHeader(podfilePath, targetName) +
134
+ os_1.EOL +
135
+ podfileContentWithoutTarget +
136
+ os_1.EOL +
137
+ this.getExtensionPodfileEnd();
138
+ projectPodFileContent += os_1.EOL + podFileContent;
127
139
  }
128
- let projectPodFileContent = this.$fs.readText(projectPodfilePath);
129
- const extensionsPodfile = this.$fs
130
- .readDirectory(extensionFolderPath)
131
- .filter((name) => {
132
- const extensionPath = path.join(extensionFolderPath, name);
133
- const stats = this.$fs.getFsStats(extensionPath);
134
- return stats.isDirectory() && !name.startsWith(".");
135
- })
136
- .map((name) => ({
137
- targetName: name,
138
- podfilePath: path.join(extensionFolderPath, name, constants.PODFILE_NAME),
139
- }));
140
- extensionsPodfile.forEach(({ targetName, podfilePath }) => {
141
- const regExpToRemove = new RegExp(`${this.getExtensionPodfileHeader(podfilePath, targetName)}[\\s\\S]*?${this.getExtensionPodfileEnd()}`, "mg");
142
- projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
143
- if (this.$fs.exists(podfilePath)) {
144
- const podfileContentWithoutTarget = this.$fs.readText(podfilePath);
145
- const podFileContent = this.getExtensionPodfileHeader(podfilePath, targetName) +
146
- os_1.EOL +
147
- podfileContentWithoutTarget +
148
- os_1.EOL +
149
- this.getExtensionPodfileEnd();
150
- projectPodFileContent += os_1.EOL + podFileContent;
151
- }
152
- });
153
- this.$fs.writeFile(projectPodfilePath, projectPodFileContent);
154
140
  });
141
+ this.$fs.writeFile(projectPodfilePath, projectPodFileContent);
155
142
  }
156
- applyPodfileToProject(moduleName, podfilePath, projectData, platformData) {
157
- return __awaiter(this, void 0, void 0, function* () {
158
- const nativeProjectPath = platformData.projectRoot;
159
- if (!this.$fs.exists(podfilePath)) {
160
- this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
161
- return;
162
- }
163
- const { podfileContent, replacedFunctions, podfilePlatformData } = this.buildPodfileContent(podfilePath, moduleName, projectData, platformData);
164
- const pathToProjectPodfile = this.getProjectPodfilePath(nativeProjectPath);
165
- const projectPodfileContent = this.$fs.exists(pathToProjectPodfile)
166
- ? this.$fs.readText(pathToProjectPodfile).trim()
143
+ async applyPodfileToProject(moduleName, podfilePath, projectData, platformData) {
144
+ const nativeProjectPath = platformData.projectRoot;
145
+ if (!this.$fs.exists(podfilePath)) {
146
+ this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
147
+ return;
148
+ }
149
+ const { podfileContent, replacedFunctions, podfilePlatformData } = this.buildPodfileContent(podfilePath, moduleName, projectData, platformData);
150
+ const pathToProjectPodfile = this.getProjectPodfilePath(nativeProjectPath);
151
+ const projectPodfileContent = this.$fs.exists(pathToProjectPodfile)
152
+ ? this.$fs.readText(pathToProjectPodfile).trim()
153
+ : "";
154
+ if (projectPodfileContent.indexOf(podfileContent) === -1) {
155
+ this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
156
+ let finalPodfileContent = this.$fs.exists(pathToProjectPodfile)
157
+ ? this.getPodfileContentWithoutTarget(projectData, this.$fs.readText(pathToProjectPodfile))
167
158
  : "";
168
- if (projectPodfileContent.indexOf(podfileContent) === -1) {
169
- this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
170
- let finalPodfileContent = this.$fs.exists(pathToProjectPodfile)
171
- ? this.getPodfileContentWithoutTarget(projectData, this.$fs.readText(pathToProjectPodfile))
172
- : "";
173
- if (podfileContent.indexOf(CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME) !== -1) {
174
- finalPodfileContent = this.addPostInstallHook(replacedFunctions, finalPodfileContent, podfileContent);
175
- }
176
- if (podfilePlatformData) {
177
- finalPodfileContent = this.$cocoaPodsPlatformManager.addPlatformSection(projectData, podfilePlatformData, finalPodfileContent);
178
- }
179
- finalPodfileContent = `${finalPodfileContent.trim()}${os_1.EOL}${os_1.EOL}${podfileContent.trim()}${os_1.EOL}`;
180
- this.saveProjectPodfile(projectData, finalPodfileContent, nativeProjectPath);
159
+ if (podfileContent.indexOf(CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME) !== -1) {
160
+ finalPodfileContent = this.addPostInstallHook(replacedFunctions, finalPodfileContent, podfileContent);
181
161
  }
182
- });
162
+ if (podfilePlatformData) {
163
+ finalPodfileContent = this.$cocoaPodsPlatformManager.addPlatformSection(projectData, podfilePlatformData, finalPodfileContent);
164
+ }
165
+ finalPodfileContent = `${finalPodfileContent.trim()}${os_1.EOL}${os_1.EOL}${podfileContent.trim()}${os_1.EOL}`;
166
+ this.saveProjectPodfile(projectData, finalPodfileContent, nativeProjectPath);
167
+ }
183
168
  }
184
169
  removePodfileFromProject(moduleName, podfilePath, projectData, projectRoot) {
185
170
  if (this.$fs.exists(this.getProjectPodfilePath(projectRoot))) {
@@ -348,7 +333,7 @@ end`.trim();
348
333
  return pods;
349
334
  }
350
335
  }
336
+ exports.CocoaPodsService = CocoaPodsService;
351
337
  CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME = "post_install";
352
338
  CocoaPodsService.INSTALLER_BLOCK_PARAMETER_NAME = "installer";
353
- exports.CocoaPodsService = CocoaPodsService;
354
339
  yok_1.injector.register("cocoapodsService", CocoaPodsService);
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.DeviceInstallAppService = void 0;
13
4
  const constants_1 = require("../../constants");
@@ -24,94 +15,86 @@ class DeviceInstallAppService {
24
15
  this.$projectDataService = $projectDataService;
25
16
  this.$platformsDataService = $platformsDataService;
26
17
  }
27
- installOnDevice(device, buildData) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- this.$logger.info(`Installing on device ${device.deviceInfo.identifier}...`);
30
- const platform = device.deviceInfo.platform.toLowerCase();
31
- const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
32
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
33
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
34
- action: "Deploy",
35
- device,
36
- projectDir: projectData.projectDir,
37
- });
38
- const buildOutputOptions = platformData.getValidBuildOutputData(buildData);
39
- const outputPath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
40
- const packages = yield this.$buildArtifactsService.getAllAppPackages(outputPath, buildOutputOptions);
41
- let packageFile;
42
- if (packages.length === 1) {
43
- packageFile = packages.at(0).packageName;
44
- }
45
- else if (device.deviceInfo.abis) {
46
- packages.find(({ packageName }) => {
47
- if (device.deviceInfo.abis.some((abi) => packageName.includes(abi))) {
48
- packageFile = packageName;
49
- return true;
50
- }
51
- });
52
- }
53
- else {
54
- const universalPackage = packages.find((p) => p.packageName.includes("universal"));
55
- if (universalPackage) {
56
- packageFile = universalPackage.packageName;
18
+ async installOnDevice(device, buildData) {
19
+ this.$logger.info(`Installing on device ${device.deviceInfo.identifier}...`);
20
+ const platform = device.deviceInfo.platform.toLowerCase();
21
+ const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
22
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
23
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
24
+ action: "Deploy",
25
+ device,
26
+ projectDir: projectData.projectDir,
27
+ });
28
+ const buildOutputOptions = platformData.getValidBuildOutputData(buildData);
29
+ const outputPath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
30
+ const packages = await this.$buildArtifactsService.getAllAppPackages(outputPath, buildOutputOptions);
31
+ let packageFile;
32
+ if (packages.length === 1) {
33
+ packageFile = packages.at(0).packageName;
34
+ }
35
+ else if (device.deviceInfo.abis) {
36
+ packages.find(({ packageName }) => {
37
+ if (device.deviceInfo.abis.some((abi) => packageName.includes(abi))) {
38
+ packageFile = packageName;
39
+ return true;
57
40
  }
58
- }
59
- if (!packageFile) {
60
- this.$logger.error(`Could not find a package corresponding to the device with identifier '${device.deviceInfo.identifier}'.`);
61
- return;
62
- }
63
- yield platformData.platformProjectService.cleanDeviceTempFolder(device.deviceInfo.identifier, projectData);
64
- const appIdentifier = projectData.projectIdentifiers[platform];
65
- const outputFilePath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
66
- yield device.applicationManager.reinstallApplication(appIdentifier, packageFile, buildData);
67
- yield this.updateHashesOnDevice({
68
- device,
69
- appIdentifier,
70
- outputFilePath,
71
- platformData,
72
41
  });
73
- if (!buildData.release) {
74
- yield this.$buildInfoFileService.saveDeviceBuildInfo(device, projectData, outputFilePath);
42
+ }
43
+ else {
44
+ const universalPackage = packages.find((p) => p.packageName.includes("universal"));
45
+ if (universalPackage) {
46
+ packageFile = universalPackage.packageName;
75
47
  }
76
- this.$logger.info(`Successfully installed on device with identifier '${device.deviceInfo.identifier} using package ${packageFile}'.`);
48
+ }
49
+ if (!packageFile) {
50
+ this.$logger.error(`Could not find a package corresponding to the device with identifier '${device.deviceInfo.identifier}'.`);
51
+ return;
52
+ }
53
+ await platformData.platformProjectService.cleanDeviceTempFolder(device.deviceInfo.identifier, projectData);
54
+ const appIdentifier = projectData.projectIdentifiers[platform];
55
+ const outputFilePath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
56
+ await device.applicationManager.reinstallApplication(appIdentifier, packageFile, buildData);
57
+ await this.updateHashesOnDevice({
58
+ device,
59
+ appIdentifier,
60
+ outputFilePath,
61
+ platformData,
77
62
  });
63
+ if (!buildData.release) {
64
+ await this.$buildInfoFileService.saveDeviceBuildInfo(device, projectData, outputFilePath);
65
+ }
66
+ this.$logger.info(`Successfully installed on device with identifier '${device.deviceInfo.identifier} using package ${packageFile}'.`);
78
67
  }
79
- installOnDeviceIfNeeded(device, buildData) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const shouldInstall = yield this.shouldInstall(device, buildData);
82
- if (shouldInstall) {
83
- yield this.installOnDevice(device, buildData);
84
- }
85
- });
68
+ async installOnDeviceIfNeeded(device, buildData) {
69
+ const shouldInstall = await this.shouldInstall(device, buildData);
70
+ if (shouldInstall) {
71
+ await this.installOnDevice(device, buildData);
72
+ }
86
73
  }
87
- shouldInstall(device, buildData) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
90
- const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
91
- const platform = device.deviceInfo.platform;
92
- if (!(yield device.applicationManager.isApplicationInstalled(projectData.projectIdentifiers[platform.toLowerCase()]))) {
93
- return true;
94
- }
95
- const deviceBuildInfo = yield this.$buildInfoFileService.getDeviceBuildInfo(device, projectData);
96
- const localBuildInfo = this.$buildInfoFileService.getLocalBuildInfo(platformData, Object.assign(Object.assign({}, buildData), { buildForDevice: !device.isEmulator }));
97
- return (!localBuildInfo ||
98
- !deviceBuildInfo ||
99
- deviceBuildInfo.buildTime !== localBuildInfo.buildTime);
100
- });
74
+ async shouldInstall(device, buildData) {
75
+ const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
76
+ const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
77
+ const platform = device.deviceInfo.platform;
78
+ if (!(await device.applicationManager.isApplicationInstalled(projectData.projectIdentifiers[platform.toLowerCase()]))) {
79
+ return true;
80
+ }
81
+ const deviceBuildInfo = await this.$buildInfoFileService.getDeviceBuildInfo(device, projectData);
82
+ const localBuildInfo = this.$buildInfoFileService.getLocalBuildInfo(platformData, { ...buildData, buildForDevice: !device.isEmulator });
83
+ return (!localBuildInfo ||
84
+ !deviceBuildInfo ||
85
+ deviceBuildInfo.buildTime !== localBuildInfo.buildTime);
101
86
  }
102
- updateHashesOnDevice(data) {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- const { device, appIdentifier, platformData, outputFilePath } = data;
105
- if (!this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName)) {
106
- return;
107
- }
108
- let hashes = {};
109
- const hashesFilePath = path.join(outputFilePath, constants_1.HASHES_FILE_NAME);
110
- if (this.$fs.exists(hashesFilePath)) {
111
- hashes = this.$fs.readJson(hashesFilePath);
112
- }
113
- yield device.fileSystem.updateHashesOnDevice(hashes, appIdentifier);
114
- });
87
+ async updateHashesOnDevice(data) {
88
+ const { device, appIdentifier, platformData, outputFilePath } = data;
89
+ if (!this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName)) {
90
+ return;
91
+ }
92
+ let hashes = {};
93
+ const hashesFilePath = path.join(outputFilePath, constants_1.HASHES_FILE_NAME);
94
+ if (this.$fs.exists(hashesFilePath)) {
95
+ hashes = this.$fs.readJson(hashesFilePath);
96
+ }
97
+ await device.fileSystem.updateHashesOnDevice(hashes, appIdentifier);
115
98
  }
116
99
  }
117
100
  exports.DeviceInstallAppService = DeviceInstallAppService;