@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.ProxyGetCommand = void 0;
13
4
  const proxy_base_1 = require("./proxy-base");
@@ -20,11 +11,9 @@ class ProxyGetCommand extends proxy_base_1.ProxyCommandBase {
20
11
  this.$logger = $logger;
21
12
  this.$proxyService = $proxyService;
22
13
  }
23
- execute(args) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- this.$logger.info(yield this.$proxyService.getInfo());
26
- yield this.tryTrackUsage();
27
- });
14
+ async execute(args) {
15
+ this.$logger.info(await this.$proxyService.getInfo());
16
+ await this.tryTrackUsage();
28
17
  }
29
18
  }
30
19
  exports.ProxyGetCommand = ProxyGetCommand;
@@ -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.ProxySetCommand = void 0;
13
4
  const commandParams = require("../../command-params");
@@ -37,87 +28,85 @@ class ProxySetCommand extends proxy_base_1.ProxyCommandBase {
37
28
  new commandParams.StringCommandParameter(this.$injector),
38
29
  ];
39
30
  }
40
- execute(args) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- let urlString = args[0];
43
- let username = args[1];
44
- let password = args[2];
45
- const noUrl = !urlString;
46
- if (noUrl) {
47
- if (!(0, helpers_1.isInteractive)()) {
48
- this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
49
- }
50
- else {
51
- urlString = yield this.$prompter.getString("Url", {
52
- allowEmpty: false,
53
- });
54
- }
55
- }
56
- let urlObj = (0, url_1.parse)(urlString);
57
- if ((!urlObj.protocol || !urlObj.hostname) && !(0, helpers_1.isInteractive)()) {
58
- this.$errors.fail("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
59
- }
60
- while (!urlObj.protocol || !urlObj.hostname) {
61
- this.$logger.warn("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
62
- urlString = yield this.$prompter.getString("Url", { allowEmpty: false });
63
- urlObj = (0, url_1.parse)(urlString);
64
- }
65
- let port = (urlObj.port && +urlObj.port) || constants_1.HttpProtocolToPort[urlObj.protocol];
66
- const noPort = !port || !this.isValidPort(port);
67
- const authCredentials = getCredentialsFromAuth(urlObj.auth || "");
68
- if ((username &&
69
- authCredentials.username &&
70
- username !== authCredentials.username) ||
71
- (password &&
72
- authCredentials.password &&
73
- password !== authCredentials.password)) {
74
- this.$errors.fail("The credentials you have provided in the url address mismatch those passed as command line arguments.");
75
- }
76
- username = username || authCredentials.username;
77
- password = password || authCredentials.password;
31
+ async execute(args) {
32
+ let urlString = args[0];
33
+ let username = args[1];
34
+ let password = args[2];
35
+ const noUrl = !urlString;
36
+ if (noUrl) {
78
37
  if (!(0, helpers_1.isInteractive)()) {
79
- if (noPort) {
80
- this.$errors.fail(`The port you have specified (${port || "none"}) is not valid.`);
81
- }
82
- else if (this.isPasswordRequired(username, password)) {
83
- this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
84
- }
38
+ this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
85
39
  }
86
- if (noPort) {
87
- if (port) {
88
- this.$logger.warn(this.getInvalidPortMessage(port));
89
- }
90
- port = yield this.getPortFromUserInput();
91
- }
92
- if (!username) {
93
- this.$logger.info("In case your proxy requires authentication, please specify username and password. If authentication is not required, just leave it empty.");
94
- username = yield this.$prompter.getString("Username", {
95
- defaultAction: () => "",
40
+ else {
41
+ urlString = await this.$prompter.getString("Url", {
42
+ allowEmpty: false,
96
43
  });
97
44
  }
98
- if (this.isPasswordRequired(username, password)) {
99
- password = yield this.$prompter.getPassword("Password");
45
+ }
46
+ let urlObj = (0, url_1.parse)(urlString);
47
+ if ((!urlObj.protocol || !urlObj.hostname) && !(0, helpers_1.isInteractive)()) {
48
+ this.$errors.fail("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
49
+ }
50
+ while (!urlObj.protocol || !urlObj.hostname) {
51
+ this.$logger.warn("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
52
+ urlString = await this.$prompter.getString("Url", { allowEmpty: false });
53
+ urlObj = (0, url_1.parse)(urlString);
54
+ }
55
+ let port = (urlObj.port && +urlObj.port) || constants_1.HttpProtocolToPort[urlObj.protocol];
56
+ const noPort = !port || !this.isValidPort(port);
57
+ const authCredentials = getCredentialsFromAuth(urlObj.auth || "");
58
+ if ((username &&
59
+ authCredentials.username &&
60
+ username !== authCredentials.username) ||
61
+ (password &&
62
+ authCredentials.password &&
63
+ password !== authCredentials.password)) {
64
+ this.$errors.fail("The credentials you have provided in the url address mismatch those passed as command line arguments.");
65
+ }
66
+ username = username || authCredentials.username;
67
+ password = password || authCredentials.password;
68
+ if (!(0, helpers_1.isInteractive)()) {
69
+ if (noPort) {
70
+ this.$errors.fail(`The port you have specified (${port || "none"}) is not valid.`);
71
+ }
72
+ else if (this.isPasswordRequired(username, password)) {
73
+ this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
100
74
  }
101
- const settings = {
102
- proxyUrl: urlString,
103
- username,
104
- password,
105
- rejectUnauthorized: !this.$options.insecure,
106
- };
107
- if (!this.$hostInfo.isWindows) {
108
- this.$logger.warn(`Note that storing credentials is not supported on ${(0, os_1.platform)()} yet.`);
75
+ }
76
+ if (noPort) {
77
+ if (port) {
78
+ this.$logger.warn(this.getInvalidPortMessage(port));
109
79
  }
110
- const clientName = this.$staticConfig.CLIENT_NAME.toLowerCase();
111
- const messageNote = (clientName === "tns"
112
- ? "Note that 'npm' and 'Gradle' need to be configured separately to work with a proxy."
113
- : "Note that `npm` needs to be configured separately to work with a proxy.") +
114
- os_1.EOL;
115
- this.$logger.warn(`${messageNote}Run '${clientName} proxy set --help' for more information.`);
116
- yield this.$proxyService.setCache(settings);
117
- this.$logger.info(`Successfully setup proxy.${os_1.EOL}`);
118
- this.$logger.info(yield this.$proxyService.getInfo());
119
- yield this.tryTrackUsage();
120
- });
80
+ port = await this.getPortFromUserInput();
81
+ }
82
+ if (!username) {
83
+ this.$logger.info("In case your proxy requires authentication, please specify username and password. If authentication is not required, just leave it empty.");
84
+ username = await this.$prompter.getString("Username", {
85
+ defaultAction: () => "",
86
+ });
87
+ }
88
+ if (this.isPasswordRequired(username, password)) {
89
+ password = await this.$prompter.getPassword("Password");
90
+ }
91
+ const settings = {
92
+ proxyUrl: urlString,
93
+ username,
94
+ password,
95
+ rejectUnauthorized: !this.$options.insecure,
96
+ };
97
+ if (!this.$hostInfo.isWindows) {
98
+ this.$logger.warn(`Note that storing credentials is not supported on ${(0, os_1.platform)()} yet.`);
99
+ }
100
+ const clientName = this.$staticConfig.CLIENT_NAME.toLowerCase();
101
+ const messageNote = (clientName === "tns"
102
+ ? "Note that 'npm' and 'Gradle' need to be configured separately to work with a proxy."
103
+ : "Note that `npm` needs to be configured separately to work with a proxy.") +
104
+ os_1.EOL;
105
+ this.$logger.warn(`${messageNote}Run '${clientName} proxy set --help' for more information.`);
106
+ await this.$proxyService.setCache(settings);
107
+ this.$logger.info(`Successfully setup proxy.${os_1.EOL}`);
108
+ this.$logger.info(await this.$proxyService.getInfo());
109
+ await this.tryTrackUsage();
121
110
  }
122
111
  isPasswordRequired(username, password) {
123
112
  return !!(username && !password);
@@ -125,22 +114,20 @@ class ProxySetCommand extends proxy_base_1.ProxyCommandBase {
125
114
  isValidPort(port) {
126
115
  return !isNaN(port) && port > 0 && port < 65536;
127
116
  }
128
- getPortFromUserInput() {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- const schemaName = "port";
131
- const schema = {
132
- message: "Port",
133
- type: "text",
134
- name: schemaName,
135
- validate: (value) => {
136
- return !value || !this.isValidPort(value)
137
- ? this.getInvalidPortMessage(value)
138
- : true;
139
- },
140
- };
141
- const prompterResult = yield this.$prompter.get([schema]);
142
- return parseInt(prompterResult[schemaName]);
143
- });
117
+ async getPortFromUserInput() {
118
+ const schemaName = "port";
119
+ const schema = {
120
+ message: "Port",
121
+ type: "text",
122
+ name: schemaName,
123
+ validate: (value) => {
124
+ return !value || !this.isValidPort(value)
125
+ ? this.getInvalidPortMessage(value)
126
+ : true;
127
+ },
128
+ };
129
+ const prompterResult = await this.$prompter.get([schema]);
130
+ return parseInt(prompterResult[schemaName]);
144
131
  }
145
132
  getInvalidPortMessage(port) {
146
133
  return `Specified port ${port} is not valid. Please enter a value between 1 and 65535.`;
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SOCKET_CONNECTION_TIMEOUT_MS = exports.AndroidVirtualDevice = exports.ATTACH_REQUEST_EVENT_NAME = exports.DEBUGGER_PORT_FOUND_EVENT_NAME = exports.DEFAULT_CHUNK_SIZE = exports.HttpProtocolToPort = exports.HttpStatusCodes = exports.Proxy = exports.IOS_RELAY_NOTIFICATION_COMMAND_TYPE = exports.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE = exports.IOS_POST_NOTIFICATION_COMMAND_TYPE = exports.FileExtensions = exports.TNS_CORE_MODULES = exports.NODE_MODULES_DIR_NAME = exports.Configurations = exports.TARGET_FRAMEWORK_IDENTIFIERS = exports.FAIL_LIVESYNC_LOG_REGEX = exports.IOS_APP_CRASH_LOG_REG_EXP = exports.IOS_LOG_PREDICATE = exports.DEVICE_LOG_EVENT_NAME = exports.EmulatorDiscoveryNames = exports.DeviceDiscoveryEventNames = exports.HmrConstants = exports.LiveSyncPaths = exports.APPLE_VENDOR_NAME = exports.NOT_RUNNING_EMULATOR_STATUS = exports.RUNNING_EMULATOR_STATUS = exports.CONNECTED_STATUS = exports.UNREACHABLE_STATUS = exports.ERROR_NO_VALID_SUBCOMMAND_FORMAT = exports.ERROR_CANNOT_RESOLVE_DEVICE = exports.ERROR_NO_DEVICES_CANT_USE_IOS_SIMULATOR = exports.ERROR_CANT_USE_SIMULATOR = exports.ERROR_NO_DEVICES = exports.APP_RESOURCES_FOLDER_NAME = exports.DeviceTypes = exports.ProvisionType = void 0;
4
4
  class ProvisionType {
5
5
  }
6
+ exports.ProvisionType = ProvisionType;
6
7
  ProvisionType.Development = "Development";
7
8
  ProvisionType.AdHoc = "AdHoc";
8
9
  ProvisionType.AppStore = "AppStore";
9
10
  ProvisionType.Enterprise = "Enterprise";
10
- exports.ProvisionType = ProvisionType;
11
11
  class DeviceTypes {
12
12
  }
13
+ exports.DeviceTypes = DeviceTypes;
13
14
  DeviceTypes.Emulator = "Emulator";
14
15
  DeviceTypes.Simulator = "Simulator";
15
16
  DeviceTypes.Device = "Device";
16
- exports.DeviceTypes = DeviceTypes;
17
17
  exports.APP_RESOURCES_FOLDER_NAME = "App_Resources";
18
18
  exports.ERROR_NO_DEVICES = "Cannot find connected devices. Reconnect any connected devices, verify that your system recognizes them, and run this command again.";
19
19
  exports.ERROR_CANT_USE_SIMULATOR = "You can use iOS simulator only on OS X.";
@@ -27,29 +27,29 @@ exports.NOT_RUNNING_EMULATOR_STATUS = "Not running";
27
27
  exports.APPLE_VENDOR_NAME = "Apple";
28
28
  class LiveSyncPaths {
29
29
  }
30
+ exports.LiveSyncPaths = LiveSyncPaths;
30
31
  LiveSyncPaths.SYNC_DIR_NAME = "sync";
31
32
  LiveSyncPaths.REMOVEDSYNC_DIR_NAME = "removedsync";
32
33
  LiveSyncPaths.FULLSYNC_DIR_NAME = "fullsync";
33
34
  LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH = "Library/Application Support/LiveSync";
34
35
  LiveSyncPaths.IOS_DEVICE_SYNC_ZIP_PATH = "Library/Application Support/LiveSync/sync.zip";
35
36
  LiveSyncPaths.ANDROID_TMP_DIR_NAME = "/data/local/tmp";
36
- exports.LiveSyncPaths = LiveSyncPaths;
37
37
  class HmrConstants {
38
38
  }
39
+ exports.HmrConstants = HmrConstants;
39
40
  HmrConstants.HMR_ERROR_STATUS = 3;
40
41
  HmrConstants.HMR_SUCCESS_STATUS = 2;
41
- exports.HmrConstants = HmrConstants;
42
42
  class DeviceDiscoveryEventNames {
43
43
  }
44
+ exports.DeviceDiscoveryEventNames = DeviceDiscoveryEventNames;
44
45
  DeviceDiscoveryEventNames.DEVICE_FOUND = "deviceFound";
45
46
  DeviceDiscoveryEventNames.DEVICE_UPDATED = "deviceUpdated";
46
47
  DeviceDiscoveryEventNames.DEVICE_LOST = "deviceLost";
47
- exports.DeviceDiscoveryEventNames = DeviceDiscoveryEventNames;
48
48
  class EmulatorDiscoveryNames {
49
49
  }
50
+ exports.EmulatorDiscoveryNames = EmulatorDiscoveryNames;
50
51
  EmulatorDiscoveryNames.EMULATOR_IMAGE_FOUND = "emulatorImageFound";
51
52
  EmulatorDiscoveryNames.EMULATOR_IMAGE_LOST = "emulatorImageLost";
52
- exports.EmulatorDiscoveryNames = EmulatorDiscoveryNames;
53
53
  exports.DEVICE_LOG_EVENT_NAME = "deviceLogData";
54
54
  exports.IOS_LOG_PREDICATE = 'senderImagePath contains "NativeScript"';
55
55
  exports.IOS_APP_CRASH_LOG_REG_EXP = /Fatal JavaScript exception \- application has been terminated/;
@@ -60,36 +60,36 @@ exports.TARGET_FRAMEWORK_IDENTIFIERS = {
60
60
  };
61
61
  class Configurations {
62
62
  }
63
+ exports.Configurations = Configurations;
63
64
  Configurations.Debug = "Debug";
64
65
  Configurations.Release = "Release";
65
- exports.Configurations = Configurations;
66
66
  exports.NODE_MODULES_DIR_NAME = "node_modules";
67
67
  exports.TNS_CORE_MODULES = "tns-core-modules";
68
68
  class FileExtensions {
69
69
  }
70
+ exports.FileExtensions = FileExtensions;
70
71
  FileExtensions.TYPESCRIPT_DEFINITION_FILE = ".d.ts";
71
72
  FileExtensions.TYPESCRIPT_FILE = ".ts";
72
73
  FileExtensions.PNG_FILE = ".png";
73
74
  FileExtensions.NINE_PATCH_PNG_FILE = ".9.png";
74
- exports.FileExtensions = FileExtensions;
75
75
  exports.IOS_POST_NOTIFICATION_COMMAND_TYPE = "PostNotification";
76
76
  exports.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE = "ObserveNotification";
77
77
  exports.IOS_RELAY_NOTIFICATION_COMMAND_TYPE = "RelayNotification";
78
78
  class Proxy {
79
79
  }
80
+ exports.Proxy = Proxy;
80
81
  Proxy.CACHE_FILE_NAME = "proxy-cache.json";
81
82
  Proxy.USE_PROXY = "USE_PROXY";
82
83
  Proxy.PROXY_PORT = "PROXY_PORT";
83
84
  Proxy.PROXY_HOSTNAME = "PROXY_HOSTNAME";
84
- exports.Proxy = Proxy;
85
85
  class HttpStatusCodes {
86
86
  }
87
+ exports.HttpStatusCodes = HttpStatusCodes;
87
88
  HttpStatusCodes.SEE_OTHER = 303;
88
89
  HttpStatusCodes.NOT_MODIFIED = 304;
89
90
  HttpStatusCodes.PAYMENT_REQUIRED = 402;
90
91
  HttpStatusCodes.PROXY_AUTHENTICATION_REQUIRED = 407;
91
92
  HttpStatusCodes.CONFLICTING_RESOURCE = 409;
92
- exports.HttpStatusCodes = HttpStatusCodes;
93
93
  exports.HttpProtocolToPort = {
94
94
  "http:": 80,
95
95
  "https:": 443,
@@ -99,6 +99,7 @@ exports.DEBUGGER_PORT_FOUND_EVENT_NAME = "DEBUGGER_PORT_FOUND";
99
99
  exports.ATTACH_REQUEST_EVENT_NAME = "ATTACH_REQUEST";
100
100
  class AndroidVirtualDevice {
101
101
  }
102
+ exports.AndroidVirtualDevice = AndroidVirtualDevice;
102
103
  AndroidVirtualDevice.ANDROID_DIR_NAME = ".android";
103
104
  AndroidVirtualDevice.AVD_DIR_NAME = "avd";
104
105
  AndroidVirtualDevice.ENCODING_MASK = /^avd\.ini\.encoding=(.*)$/;
@@ -118,5 +119,4 @@ AndroidVirtualDevice.AVD_VENDOR_NAME = "Avd";
118
119
  AndroidVirtualDevice.TIMEOUT_SECONDS = 120;
119
120
  AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING = "Logging activities to file";
120
121
  AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE = "Cannot run the app in the selected native emulator. Try to restart the adb server by running the `adb kill-server` command in the Command Prompt, or increase the allocated RAM of the virtual device through the Android Virtual Device manager. NativeScript CLI users can try to increase the timeout of the operation by adding the `--timeout` flag.";
121
- exports.AndroidVirtualDevice = AndroidVirtualDevice;
122
122
  exports.SOCKET_CONNECTION_TIMEOUT_MS = 30000;
@@ -1,15 +1,12 @@
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
- exports.deprecated = exports.performanceLog = exports.exported = exports.invokeInit = exports.invokeBefore = exports.memoize = exports.cache = void 0;
3
+ exports.cache = cache;
4
+ exports.memoize = memoize;
5
+ exports.invokeBefore = invokeBefore;
6
+ exports.invokeInit = invokeInit;
7
+ exports.exported = exported;
8
+ exports.performanceLog = performanceLog;
9
+ exports.deprecated = deprecated;
13
10
  const constants_1 = require("../constants");
14
11
  const yok_1 = require("./yok");
15
12
  function cache() {
@@ -28,7 +25,6 @@ function cache() {
28
25
  return descriptor;
29
26
  };
30
27
  }
31
- exports.cache = cache;
32
28
  let memoizeIDCounter = 0;
33
29
  function memoize(options) {
34
30
  return (target, propertyKey, descriptor) => {
@@ -87,24 +83,19 @@ function memoize(options) {
87
83
  return descriptor;
88
84
  };
89
85
  }
90
- exports.memoize = memoize;
91
86
  function invokeBefore(methodName, methodArgs) {
92
87
  return (target, propertyKey, descriptor) => {
93
88
  const originalValue = descriptor.value;
94
- descriptor.value = function (...args) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- yield target[methodName].apply(this, methodArgs);
97
- return originalValue.apply(this, args);
98
- });
89
+ descriptor.value = async function (...args) {
90
+ await target[methodName].apply(this, methodArgs);
91
+ return originalValue.apply(this, args);
99
92
  };
100
93
  return descriptor;
101
94
  };
102
95
  }
103
- exports.invokeBefore = invokeBefore;
104
96
  function invokeInit() {
105
97
  return invokeBefore("init");
106
98
  }
107
- exports.invokeInit = invokeInit;
108
99
  function exported(moduleName) {
109
100
  return (target, propertyKey, descriptor) => {
110
101
  yok_1.injector.publicApi.__modules__[moduleName] =
@@ -116,7 +107,6 @@ function exported(moduleName) {
116
107
  return descriptor;
117
108
  };
118
109
  }
119
- exports.exported = exported;
120
110
  function performanceLog(localInjector) {
121
111
  localInjector = localInjector || yok_1.injector;
122
112
  return function (target, propertyKey, descriptor) {
@@ -155,7 +145,6 @@ function performanceLog(localInjector) {
155
145
  return descriptor;
156
146
  };
157
147
  }
158
- exports.performanceLog = performanceLog;
159
148
  function deprecated(additionalInfo, localInjector) {
160
149
  const isDeprecatedMessage = " is deprecated.";
161
150
  return (target, key, descriptor) => {
@@ -198,4 +187,3 @@ function deprecated(additionalInfo, localInjector) {
198
187
  }
199
188
  };
200
189
  }
201
- exports.deprecated = deprecated;
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.CommandDispatcher = void 0;
19
10
  const _ = require("lodash");
@@ -36,45 +27,41 @@ class CommandDispatcher {
36
27
  this.$packageManager = $packageManager;
37
28
  this.$terminalSpinnerService = $terminalSpinnerService;
38
29
  }
39
- dispatchCommand() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- if (this.$options.version) {
42
- return this.printVersion();
43
- }
44
- if (this.$logger.getLevel() === "TRACE" && !this.$options.json) {
45
- this.$logger.trace("Collecting system information...");
46
- const sysInfo = yield this.$sysInfo.getSysInfo({
47
- pathToNativeScriptCliPackageJson: path.join(__dirname, "..", "..", "package.json"),
48
- });
49
- this.$logger.trace("System information:");
50
- this.$logger.trace(JSON.stringify(sysInfo, null, 2));
51
- this.$logger.trace("Current CLI version: ", this.$staticConfig.version);
52
- }
53
- let commandName = this.getCommandName();
54
- let commandArguments = this.$options.argv._.slice(1);
55
- const lastArgument = _.last(commandArguments);
56
- if (this.$options.help) {
57
- commandArguments.unshift(commandName);
58
- commandName = "help";
59
- }
60
- else if (lastArgument === "/?" || lastArgument === "?") {
61
- commandArguments.pop();
62
- commandArguments.unshift(commandName);
63
- commandName = "help";
64
- }
65
- ({
66
- commandName,
67
- commandArguments,
68
- argv: process.argv,
69
- } = yield this.resolveCommand(commandName, commandArguments, process.argv));
70
- yield this.$cancellation.begin("cli");
71
- yield this.$commandsService.tryExecuteCommand(commandName, commandArguments);
72
- });
30
+ async dispatchCommand() {
31
+ if (this.$options.version) {
32
+ return this.printVersion();
33
+ }
34
+ if (this.$logger.getLevel() === "TRACE" && !this.$options.json) {
35
+ this.$logger.trace("Collecting system information...");
36
+ const sysInfo = await this.$sysInfo.getSysInfo({
37
+ pathToNativeScriptCliPackageJson: path.join(__dirname, "..", "..", "package.json"),
38
+ });
39
+ this.$logger.trace("System information:");
40
+ this.$logger.trace(JSON.stringify(sysInfo, null, 2));
41
+ this.$logger.trace("Current CLI version: ", this.$staticConfig.version);
42
+ }
43
+ let commandName = this.getCommandName();
44
+ let commandArguments = this.$options.argv._.slice(1);
45
+ const lastArgument = _.last(commandArguments);
46
+ if (this.$options.help) {
47
+ commandArguments.unshift(commandName);
48
+ commandName = "help";
49
+ }
50
+ else if (lastArgument === "/?" || lastArgument === "?") {
51
+ commandArguments.pop();
52
+ commandArguments.unshift(commandName);
53
+ commandName = "help";
54
+ }
55
+ ({
56
+ commandName,
57
+ commandArguments,
58
+ argv: process.argv,
59
+ } = await this.resolveCommand(commandName, commandArguments, process.argv));
60
+ await this.$cancellation.begin("cli");
61
+ await this.$commandsService.tryExecuteCommand(commandName, commandArguments);
73
62
  }
74
- resolveCommand(commandName, commandArguments, argv) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- return { commandName, commandArguments, argv };
77
- });
63
+ async resolveCommand(commandName, commandArguments, argv) {
64
+ return { commandName, commandArguments, argv };
78
65
  }
79
66
  getCommandName() {
80
67
  const remaining = this.$options.argv._;
@@ -84,65 +71,61 @@ class CommandDispatcher {
84
71
  this.$options.help = true;
85
72
  return "";
86
73
  }
87
- printVersion() {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- this.$logger.info(this.$staticConfig.version);
90
- if (this.$options.json) {
91
- return;
92
- }
93
- const spinner = this.$terminalSpinnerService.createSpinner();
94
- spinner.start("Checking for updates...");
95
- const nativescriptCliVersion = yield this.$versionsService.getNativescriptCliVersion();
96
- spinner.stop();
97
- const packageManagerName = yield this.$packageManager.getPackageManagerName();
98
- let updateCommand = "";
99
- switch (packageManagerName) {
100
- case constants_1.PackageManagers.yarn:
101
- case constants_1.PackageManagers.yarn2:
102
- updateCommand = "yarn global add nativescript";
103
- break;
104
- case constants_1.PackageManagers.pnpm:
105
- updateCommand = "pnpm i -g nativescript";
106
- break;
107
- case constants_1.PackageManagers.bun:
108
- updateCommand = "bun add --global nativescript";
109
- break;
110
- case constants_1.PackageManagers.npm:
111
- default:
112
- updateCommand = "npm i -g nativescript";
113
- break;
114
- }
115
- if (semver.gte(nativescriptCliVersion.currentVersion, nativescriptCliVersion.latestVersion, {
116
- loose: true,
117
- })) {
118
- spinner.succeed("Up to date.");
119
- }
120
- else {
121
- spinner.info(`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`);
122
- }
123
- });
74
+ async printVersion() {
75
+ this.$logger.info(this.$staticConfig.version);
76
+ if (this.$options.json) {
77
+ return;
78
+ }
79
+ const spinner = this.$terminalSpinnerService.createSpinner();
80
+ spinner.start("Checking for updates...");
81
+ const nativescriptCliVersion = await this.$versionsService.getNativescriptCliVersion();
82
+ spinner.stop();
83
+ const packageManagerName = await this.$packageManager.getPackageManagerName();
84
+ let updateCommand = "";
85
+ switch (packageManagerName) {
86
+ case constants_1.PackageManagers.yarn:
87
+ case constants_1.PackageManagers.yarn2:
88
+ updateCommand = "yarn global add nativescript";
89
+ break;
90
+ case constants_1.PackageManagers.pnpm:
91
+ updateCommand = "pnpm i -g nativescript";
92
+ break;
93
+ case constants_1.PackageManagers.bun:
94
+ updateCommand = "bun add --global nativescript";
95
+ break;
96
+ case constants_1.PackageManagers.npm:
97
+ default:
98
+ updateCommand = "npm i -g nativescript";
99
+ break;
100
+ }
101
+ if (semver.gte(nativescriptCliVersion.currentVersion, nativescriptCliVersion.latestVersion, {
102
+ loose: true,
103
+ })) {
104
+ spinner.succeed("Up to date.");
105
+ }
106
+ else {
107
+ spinner.info(`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`);
108
+ }
124
109
  }
125
110
  }
111
+ exports.CommandDispatcher = CommandDispatcher;
126
112
  __decorate([
127
113
  (0, helpers_1.hook)("resolveCommand")
128
114
  ], CommandDispatcher.prototype, "resolveCommand", null);
129
- exports.CommandDispatcher = CommandDispatcher;
130
115
  yok_1.injector.register("commandDispatcher", CommandDispatcher);
131
116
  class FutureDispatcher {
132
117
  constructor($errors) {
133
118
  this.$errors = $errors;
134
119
  }
135
- run() {
136
- return __awaiter(this, void 0, void 0, function* () {
137
- if (this.actions) {
138
- this.$errors.fail("You cannot run a running future dispatcher.");
139
- }
140
- this.actions = new queue.Queue();
141
- while (true) {
142
- const action = yield this.actions.dequeue();
143
- yield action();
144
- }
145
- });
120
+ async run() {
121
+ if (this.actions) {
122
+ this.$errors.fail("You cannot run a running future dispatcher.");
123
+ }
124
+ this.actions = new queue.Queue();
125
+ while (true) {
126
+ const action = await this.actions.dequeue();
127
+ await action();
128
+ }
146
129
  }
147
130
  dispatch(action) {
148
131
  this.actions.enqueue(action);