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