@akylas/nativescript-cli 8.8.2 → 8.8.4

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 +3 -3
  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 +56 -54
  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.PlatformCommandHelper = void 0;
13
4
  const path = require("path");
@@ -31,87 +22,79 @@ class PlatformCommandHelper {
31
22
  this.$projectDataService = $projectDataService;
32
23
  this.$tempService = $tempService;
33
24
  }
34
- addPlatforms(platforms, projectData, frameworkPath) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- if (this.$options.hostProjectPath) {
37
- this.$logger.info("Ignoring platform add becuase of --hostProjectPath flag");
38
- return;
39
- }
40
- const platformsDir = projectData.platformsDir;
41
- this.$fs.ensureDirectoryExists(platformsDir);
42
- for (const platform of platforms) {
43
- this.$platformValidationService.validatePlatform(platform, projectData);
44
- const platformPath = path.join(projectData.platformsDir, platform);
45
- const isPlatformAdded = this.isPlatformAdded(platform, platformPath, projectData);
46
- if (isPlatformAdded) {
47
- this.$errors.fail(`Platform ${platform} already added`);
48
- }
49
- yield this.$platformController.addPlatform({
50
- projectDir: projectData.projectDir,
51
- platform,
52
- frameworkPath,
53
- });
25
+ async addPlatforms(platforms, projectData, frameworkPath) {
26
+ if (this.$options.hostProjectPath) {
27
+ this.$logger.info("Ignoring platform add becuase of --hostProjectPath flag");
28
+ return;
29
+ }
30
+ const platformsDir = projectData.platformsDir;
31
+ this.$fs.ensureDirectoryExists(platformsDir);
32
+ for (const platform of platforms) {
33
+ this.$platformValidationService.validatePlatform(platform, projectData);
34
+ const platformPath = path.join(projectData.platformsDir, platform);
35
+ const isPlatformAdded = this.isPlatformAdded(platform, platformPath, projectData);
36
+ if (isPlatformAdded) {
37
+ this.$errors.fail(`Platform ${platform} already added`);
54
38
  }
55
- });
39
+ await this.$platformController.addPlatform({
40
+ projectDir: projectData.projectDir,
41
+ platform,
42
+ frameworkPath,
43
+ });
44
+ }
56
45
  }
57
- cleanPlatforms(platforms, projectData, framworkPath) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- for (const platform of platforms) {
60
- const version = this.getCurrentPlatformVersion(platform, projectData);
61
- yield this.removePlatforms([platform], projectData);
62
- const platformParam = version ? `${platform}@${version}` : platform;
63
- yield this.addPlatforms([platformParam], projectData, framworkPath);
64
- }
65
- });
46
+ async cleanPlatforms(platforms, projectData, framworkPath) {
47
+ for (const platform of platforms) {
48
+ const version = this.getCurrentPlatformVersion(platform, projectData);
49
+ await this.removePlatforms([platform], projectData);
50
+ const platformParam = version ? `${platform}@${version}` : platform;
51
+ await this.addPlatforms([platformParam], projectData, framworkPath);
52
+ }
66
53
  }
67
- removePlatforms(platforms, projectData) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- if (this.$options.hostProjectPath) {
70
- this.$logger.info("Ignoring platform remove becuase of --native-host flag");
71
- return;
54
+ async removePlatforms(platforms, projectData) {
55
+ if (this.$options.hostProjectPath) {
56
+ this.$logger.info("Ignoring platform remove becuase of --native-host flag");
57
+ return;
58
+ }
59
+ for (const platform of platforms) {
60
+ this.$platformValidationService.validatePlatformInstalled(platform, projectData);
61
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
62
+ let errorMessage;
63
+ try {
64
+ await platformData.platformProjectService.stopServices(platformData.projectRoot);
72
65
  }
73
- for (const platform of platforms) {
74
- this.$platformValidationService.validatePlatformInstalled(platform, projectData);
75
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
76
- let errorMessage;
77
- try {
78
- yield platformData.platformProjectService.stopServices(platformData.projectRoot);
79
- }
80
- catch (err) {
81
- errorMessage = err.message;
82
- }
83
- try {
84
- const platformDir = path.join(projectData.platformsDir, platform.toLowerCase());
85
- this.$fs.deleteDirectory(platformDir);
86
- yield this.$packageInstallationManager.uninstall(platformData.frameworkPackageName, projectData.projectDir);
87
- this.$logger.info(`Platform ${platform} successfully removed.`);
88
- }
89
- catch (err) {
90
- this.$logger.error(`Failed to remove ${platform} platform with errors:`);
91
- if (errorMessage) {
92
- this.$logger.error(errorMessage);
93
- }
94
- this.$errors.fail(err.message);
66
+ catch (err) {
67
+ errorMessage = err.message;
68
+ }
69
+ try {
70
+ const platformDir = path.join(projectData.platformsDir, platform.toLowerCase());
71
+ this.$fs.deleteDirectory(platformDir);
72
+ await this.$packageInstallationManager.uninstall(platformData.frameworkPackageName, projectData.projectDir);
73
+ this.$logger.info(`Platform ${platform} successfully removed.`);
74
+ }
75
+ catch (err) {
76
+ this.$logger.error(`Failed to remove ${platform} platform with errors:`);
77
+ if (errorMessage) {
78
+ this.$logger.error(errorMessage);
95
79
  }
80
+ this.$errors.fail(err.message);
96
81
  }
97
- });
82
+ }
98
83
  }
99
- updatePlatforms(platforms, projectData) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- for (const platformParam of platforms) {
102
- const data = platformParam.split("@"), platform = data[0], version = data[1];
103
- const hasPlatformDirectory = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
104
- if (hasPlatformDirectory) {
105
- yield this.updatePlatform(platform, version, projectData);
106
- }
107
- else {
108
- yield this.$platformController.addPlatform({
109
- projectDir: projectData.projectDir,
110
- platform: platformParam,
111
- });
112
- }
84
+ async updatePlatforms(platforms, projectData) {
85
+ for (const platformParam of platforms) {
86
+ const data = platformParam.split("@"), platform = data[0], version = data[1];
87
+ const hasPlatformDirectory = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
88
+ if (hasPlatformDirectory) {
89
+ await this.updatePlatform(platform, version, projectData);
113
90
  }
114
- });
91
+ else {
92
+ await this.$platformController.addPlatform({
93
+ projectDir: projectData.projectDir,
94
+ platform: platformParam,
95
+ });
96
+ }
97
+ }
115
98
  }
116
99
  getInstalledPlatforms(projectData) {
117
100
  if (!this.$fs.exists(projectData.platformsDir)) {
@@ -151,46 +134,42 @@ class PlatformCommandHelper {
151
134
  return (prepareInfo.nativePlatformStatus !==
152
135
  "1");
153
136
  }
154
- updatePlatform(platform, version, projectData) {
155
- return __awaiter(this, void 0, void 0, function* () {
156
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
157
- const data = this.$projectDataService.getRuntimePackage(projectData.projectDir, platformData.platformNameLowerCase);
158
- const currentVersion = data && data.version ? data.version : "0.2.0";
159
- const installedModuleDir = yield this.$tempService.mkdirSync("runtime-to-update");
160
- let newVersion = version === constants.PackageVersion.NEXT
161
- ? yield this.$packageInstallationManager.getNextVersion(platformData.frameworkPackageName)
162
- : version ||
163
- (yield this.$packageInstallationManager.getLatestCompatibleVersion(platformData.frameworkPackageName));
164
- yield this.$pacoteService.extractPackage(`${platformData.frameworkPackageName}@${newVersion}`, installedModuleDir);
165
- const cachedPackageData = this.$fs.readJson(path.join(installedModuleDir, "package.json"));
166
- newVersion = (cachedPackageData && cachedPackageData.version) || newVersion;
167
- if (!semver.valid(newVersion)) {
168
- this.$errors.fail("The version %s is not valid. The version should consists from 3 parts separated by dot.", newVersion);
169
- }
170
- if (!semver.gt(currentVersion, newVersion)) {
171
- yield this.updatePlatformCore(platformData, { currentVersion, newVersion }, projectData);
172
- }
173
- else if (semver.eq(currentVersion, newVersion)) {
174
- this.$errors.fail("Current and new version are the same.");
175
- }
176
- else {
177
- this.$errors.fail(`Your current version: ${currentVersion} is higher than the one you're trying to install ${newVersion}.`);
178
- }
179
- });
137
+ async updatePlatform(platform, version, projectData) {
138
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
139
+ const data = this.$projectDataService.getRuntimePackage(projectData.projectDir, platformData.platformNameLowerCase);
140
+ const currentVersion = data && data.version ? data.version : "0.2.0";
141
+ const installedModuleDir = await this.$tempService.mkdirSync("runtime-to-update");
142
+ let newVersion = version === constants.PackageVersion.NEXT
143
+ ? await this.$packageInstallationManager.getNextVersion(platformData.frameworkPackageName)
144
+ : version ||
145
+ (await this.$packageInstallationManager.getLatestCompatibleVersion(platformData.frameworkPackageName));
146
+ await this.$pacoteService.extractPackage(`${platformData.frameworkPackageName}@${newVersion}`, installedModuleDir);
147
+ const cachedPackageData = this.$fs.readJson(path.join(installedModuleDir, "package.json"));
148
+ newVersion = (cachedPackageData && cachedPackageData.version) || newVersion;
149
+ if (!semver.valid(newVersion)) {
150
+ this.$errors.fail("The version %s is not valid. The version should consists from 3 parts separated by dot.", newVersion);
151
+ }
152
+ if (!semver.gt(currentVersion, newVersion)) {
153
+ await this.updatePlatformCore(platformData, { currentVersion, newVersion }, projectData);
154
+ }
155
+ else if (semver.eq(currentVersion, newVersion)) {
156
+ this.$errors.fail("Current and new version are the same.");
157
+ }
158
+ else {
159
+ this.$errors.fail(`Your current version: ${currentVersion} is higher than the one you're trying to install ${newVersion}.`);
160
+ }
180
161
  }
181
- updatePlatformCore(platformData, updateOptions, projectData) {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- let packageName = platformData.normalizedPlatformName.toLowerCase();
184
- yield this.removePlatforms([packageName], projectData);
185
- packageName = updateOptions.newVersion
186
- ? `${packageName}@${updateOptions.newVersion}`
187
- : packageName;
188
- yield this.$platformController.addPlatform({
189
- projectDir: projectData.projectDir,
190
- platform: packageName,
191
- });
192
- this.$logger.info("Successfully updated to version ", updateOptions.newVersion);
162
+ async updatePlatformCore(platformData, updateOptions, projectData) {
163
+ let packageName = platformData.normalizedPlatformName.toLowerCase();
164
+ await this.removePlatforms([packageName], projectData);
165
+ packageName = updateOptions.newVersion
166
+ ? `${packageName}@${updateOptions.newVersion}`
167
+ : packageName;
168
+ await this.$platformController.addPlatform({
169
+ projectDir: projectData.projectDir,
170
+ platform: packageName,
193
171
  });
172
+ this.$logger.info("Successfully updated to version ", updateOptions.newVersion);
194
173
  }
195
174
  isPlatformPrepared(platform, projectData) {
196
175
  const platformData = this.$platformsDataService.getPlatformData(platform, projectData);