@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.PrepareCommand = void 0;
13
4
  const command_base_1 = require("./command-base");
@@ -39,33 +30,26 @@ class PrepareCommand extends command_base_1.ValidatePlatformCommandBase {
39
30
  };
40
31
  this.$projectData.initializeProjectData();
41
32
  }
42
- execute(args) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const platform = args[0];
45
- const prepareData = this.$prepareDataService.getPrepareData(this.$projectData.projectDir, platform, this.$options);
46
- yield this.$prepareController.prepare(prepareData);
47
- });
33
+ async execute(args) {
34
+ const platform = args[0];
35
+ const prepareData = this.$prepareDataService.getPrepareData(this.$projectData.projectDir, platform, this.$options);
36
+ await this.$prepareController.prepare(prepareData);
48
37
  }
49
- canExecute(args) {
50
- const _super = Object.create(null, {
51
- canExecuteCommandBase: { get: () => super.canExecuteCommandBase }
52
- });
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const platform = args[0];
55
- const result = (yield this.$platformCommandParameter.validate(platform)) &&
56
- (yield this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, this.$projectData, platform));
57
- if (!this.$options.force) {
58
- yield this.$migrateController.validate({
59
- projectDir: this.$projectData.projectDir,
60
- platforms: [platform],
61
- });
62
- }
63
- if (!result) {
64
- return false;
65
- }
66
- const canExecuteOutput = yield _super.canExecuteCommandBase.call(this, platform);
67
- return canExecuteOutput;
68
- });
38
+ async canExecute(args) {
39
+ const platform = args[0];
40
+ const result = (await this.$platformCommandParameter.validate(platform)) &&
41
+ (await this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, this.$projectData, platform));
42
+ if (!this.$options.force) {
43
+ await this.$migrateController.validate({
44
+ projectDir: this.$projectData.projectDir,
45
+ platforms: [platform],
46
+ });
47
+ }
48
+ if (!result) {
49
+ return false;
50
+ }
51
+ const canExecuteOutput = await super.canExecuteCommandBase(platform);
52
+ return canExecuteOutput;
69
53
  }
70
54
  }
71
55
  exports.PrepareCommand = PrepareCommand;
@@ -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.PreviewCommand = void 0;
13
4
  const yok_1 = require("../common/yok");
@@ -31,62 +22,58 @@ class PreviewCommand {
31
22
  paths: [this.$projectData.projectDir],
32
23
  });
33
24
  }
34
- execute(args) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- if (!this.$options.disableNpmInstall) {
37
- yield this.$packageManager.install(`${PREVIEW_CLI_PACKAGE}@latest`, this.$projectData.projectDir, {
38
- "save-dev": true,
39
- "save-exact": true,
40
- });
41
- }
42
- const previewCLIPath = this.getPreviewCLIPath();
43
- if (!previewCLIPath) {
44
- const packageManagerName = yield this.$packageManager.getPackageManagerName();
45
- let installCommand = "";
46
- switch (packageManagerName) {
47
- case constants_1.PackageManagers.yarn:
48
- case constants_1.PackageManagers.yarn2:
49
- installCommand = "yarn add -D @nativescript/preview-cli";
50
- break;
51
- case constants_1.PackageManagers.pnpm:
52
- installCommand = "pnpm install --save-dev @nativescript/preview-cli";
53
- break;
54
- case constants_1.PackageManagers.bun:
55
- installCommand = "bun add --dev @nativescript/preview-cli";
56
- case constants_1.PackageManagers.npm:
57
- default:
58
- installCommand = "npm install --save-dev @nativescript/preview-cli";
59
- break;
60
- }
61
- this.$logger.info([
62
- `Uhh ohh, no Preview CLI found.`,
63
- "",
64
- `This should not happen under regular circumstances, but seems like it did somehow... :(`,
65
- `Good news though, you can install the Preview CLI by running`,
66
- "",
67
- " " + color_1.color.green(installCommand),
68
- "",
69
- "Once installed, run this command again and everything should work!",
70
- "If it still fails, you can invoke the preview-cli directly as a last resort with",
71
- "",
72
- color_1.color.cyan(" ./node_modules/.bin/preview-cli"),
73
- "",
74
- "And if you are still having issues, try again - or reach out on Discord/open an issue on GitHub.",
75
- ].join("\n"));
76
- this.$errors.fail("Running preview failed.");
77
- }
78
- const previewCLIBinPath = path.resolve(previewCLIPath, "./dist/index.js");
79
- const commandIndex = process.argv.indexOf("preview");
80
- const commandArgs = process.argv.slice(commandIndex + 1);
81
- this.$childProcess.spawn(process.execPath, [previewCLIBinPath, ...commandArgs], {
82
- stdio: "inherit",
25
+ async execute(args) {
26
+ if (!this.$options.disableNpmInstall) {
27
+ await this.$packageManager.install(`${PREVIEW_CLI_PACKAGE}@latest`, this.$projectData.projectDir, {
28
+ "save-dev": true,
29
+ "save-exact": true,
83
30
  });
31
+ }
32
+ const previewCLIPath = this.getPreviewCLIPath();
33
+ if (!previewCLIPath) {
34
+ const packageManagerName = await this.$packageManager.getPackageManagerName();
35
+ let installCommand = "";
36
+ switch (packageManagerName) {
37
+ case constants_1.PackageManagers.yarn:
38
+ case constants_1.PackageManagers.yarn2:
39
+ installCommand = "yarn add -D @nativescript/preview-cli";
40
+ break;
41
+ case constants_1.PackageManagers.pnpm:
42
+ installCommand = "pnpm install --save-dev @nativescript/preview-cli";
43
+ break;
44
+ case constants_1.PackageManagers.bun:
45
+ installCommand = "bun add --dev @nativescript/preview-cli";
46
+ case constants_1.PackageManagers.npm:
47
+ default:
48
+ installCommand = "npm install --save-dev @nativescript/preview-cli";
49
+ break;
50
+ }
51
+ this.$logger.info([
52
+ `Uhh ohh, no Preview CLI found.`,
53
+ "",
54
+ `This should not happen under regular circumstances, but seems like it did somehow... :(`,
55
+ `Good news though, you can install the Preview CLI by running`,
56
+ "",
57
+ " " + color_1.color.green(installCommand),
58
+ "",
59
+ "Once installed, run this command again and everything should work!",
60
+ "If it still fails, you can invoke the preview-cli directly as a last resort with",
61
+ "",
62
+ color_1.color.cyan(" ./node_modules/.bin/preview-cli"),
63
+ "",
64
+ "And if you are still having issues, try again - or reach out on Discord/open an issue on GitHub.",
65
+ ].join("\n"));
66
+ this.$errors.fail("Running preview failed.");
67
+ }
68
+ const previewCLIBinPath = path.resolve(previewCLIPath, "./dist/index.js");
69
+ const commandIndex = process.argv.indexOf("preview");
70
+ const commandArgs = process.argv.slice(commandIndex + 1);
71
+ this.$childProcess.spawn(process.execPath, [previewCLIBinPath, ...commandArgs], {
72
+ stdio: "inherit",
84
73
  });
85
74
  }
86
- canExecute(args) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- return true;
89
- });
75
+ async canExecute(args) {
76
+ return true;
90
77
  }
91
78
  }
92
79
  exports.PreviewCommand = PreviewCommand;
@@ -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.RemovePlatformCommand = void 0;
13
4
  const _ = require("lodash");
@@ -24,16 +15,14 @@ class RemovePlatformCommand {
24
15
  execute(args) {
25
16
  return this.$platformCommandHelper.removePlatforms(args, this.$projectData);
26
17
  }
27
- canExecute(args) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- if (!args || args.length === 0) {
30
- this.$errors.failWithHelp("No platform specified. Please specify a platform to remove.");
31
- }
32
- _.each(args, (platform) => {
33
- this.$platformValidationService.validatePlatform(platform, this.$projectData);
34
- });
35
- return true;
18
+ async canExecute(args) {
19
+ if (!args || args.length === 0) {
20
+ this.$errors.failWithHelp("No platform specified. Please specify a platform to remove.");
21
+ }
22
+ _.each(args, (platform) => {
23
+ this.$platformValidationService.validatePlatform(platform, this.$projectData);
36
24
  });
25
+ return true;
37
26
  }
38
27
  }
39
28
  exports.RemovePlatformCommand = RemovePlatformCommand;
@@ -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.ResourcesUpdateCommand = void 0;
13
4
  const yok_1 = require("../../common/yok");
@@ -19,26 +10,22 @@ class ResourcesUpdateCommand {
19
10
  this.allowedParameters = [];
20
11
  this.$projectData.initializeProjectData();
21
12
  }
22
- execute(args) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- yield this.$androidResourcesMigrationService.migrate(this.$projectData.getAppResourcesDirectoryPath());
25
- });
13
+ async execute(args) {
14
+ await this.$androidResourcesMigrationService.migrate(this.$projectData.getAppResourcesDirectoryPath());
26
15
  }
27
- canExecute(args) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- if (!args || args.length === 0) {
30
- args = ["android"];
16
+ async canExecute(args) {
17
+ if (!args || args.length === 0) {
18
+ args = ["android"];
19
+ }
20
+ for (const platform of args) {
21
+ if (!this.$androidResourcesMigrationService.canMigrate(platform)) {
22
+ this.$errors.fail(`The ${platform} does not need to have its resources updated.`);
31
23
  }
32
- for (const platform of args) {
33
- if (!this.$androidResourcesMigrationService.canMigrate(platform)) {
34
- this.$errors.fail(`The ${platform} does not need to have its resources updated.`);
35
- }
36
- if (this.$androidResourcesMigrationService.hasMigrated(this.$projectData.getAppResourcesDirectoryPath())) {
37
- this.$errors.fail("The App_Resources have already been updated for the Android platform.");
38
- }
24
+ if (this.$androidResourcesMigrationService.hasMigrated(this.$projectData.getAppResourcesDirectoryPath())) {
25
+ this.$errors.fail("The App_Resources have already been updated for the Android platform.");
39
26
  }
40
- return true;
41
- });
27
+ }
28
+ return true;
42
29
  }
43
30
  }
44
31
  exports.ResourcesUpdateCommand = ResourcesUpdateCommand;
@@ -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.RunVisionOSCommand = exports.RunAndroidCommand = exports.RunIosCommand = exports.RunCommandBase = void 0;
19
10
  const constants_1 = require("../common/constants");
@@ -34,39 +25,35 @@ class RunCommandBase {
34
25
  this.liveSyncCommandHelperAdditionalOptions = {};
35
26
  this.allowedParameters = [];
36
27
  }
37
- execute(args) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- yield this.$liveSyncCommandHelper.executeCommandLiveSync(this.platform, this.liveSyncCommandHelperAdditionalOptions);
40
- if (process.env.NS_IS_INTERACTIVE) {
41
- this.$keyCommandHelper.attachKeyCommands(this.platform, "run");
42
- }
43
- });
28
+ async execute(args) {
29
+ await this.$liveSyncCommandHelper.executeCommandLiveSync(this.platform, this.liveSyncCommandHelperAdditionalOptions);
30
+ if (process.env.NS_IS_INTERACTIVE) {
31
+ this.$keyCommandHelper.attachKeyCommands(this.platform, "run");
32
+ }
44
33
  }
45
- canExecute(args) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- if (args.length) {
48
- this.$errors.failWithHelp(constants_1.ERROR_NO_VALID_SUBCOMMAND_FORMAT, "run");
49
- }
50
- this.platform = args[0] || this.platform;
51
- if (!this.platform && !this.$hostInfo.isDarwin) {
52
- this.platform = this.$devicePlatformsConstants.Android;
53
- }
54
- this.$projectData.initializeProjectData();
55
- const platforms = this.platform
56
- ? [this.platform]
57
- : [
58
- this.$devicePlatformsConstants.Android,
59
- this.$devicePlatformsConstants.iOS,
60
- ];
61
- if (!this.$options.force) {
62
- yield this.$migrateController.validate({
63
- projectDir: this.$projectData.projectDir,
64
- platforms,
65
- });
66
- }
67
- yield this.$liveSyncCommandHelper.validatePlatform(this.platform);
68
- return true;
69
- });
34
+ async canExecute(args) {
35
+ if (args.length) {
36
+ this.$errors.failWithHelp(constants_1.ERROR_NO_VALID_SUBCOMMAND_FORMAT, "run");
37
+ }
38
+ this.platform = args[0] || this.platform;
39
+ if (!this.platform && !this.$hostInfo.isDarwin) {
40
+ this.platform = this.$devicePlatformsConstants.Android;
41
+ }
42
+ this.$projectData.initializeProjectData();
43
+ const platforms = this.platform
44
+ ? [this.platform]
45
+ : [
46
+ this.$devicePlatformsConstants.Android,
47
+ this.$devicePlatformsConstants.iOS,
48
+ ];
49
+ if (!this.$options.force) {
50
+ await this.$migrateController.validate({
51
+ projectDir: this.$projectData.projectDir,
52
+ platforms,
53
+ });
54
+ }
55
+ await this.$liveSyncCommandHelper.validatePlatform(this.platform);
56
+ return true;
70
57
  }
71
58
  }
72
59
  exports.RunCommandBase = RunCommandBase;
@@ -89,27 +76,23 @@ class RunIosCommand {
89
76
  this.$projectDataService = $projectDataService;
90
77
  this.allowedParameters = [];
91
78
  }
92
- execute(args) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- return this.runCommand.execute(args);
95
- });
79
+ async execute(args) {
80
+ return this.runCommand.execute(args);
96
81
  }
97
- canExecute(args) {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- const projectData = this.$projectDataService.getProjectData();
100
- if (!this.$platformValidationService.isPlatformSupportedForOS(this.platform, projectData)) {
101
- this.$errors.fail(`Applications for platform ${this.platform} can not be built on this OS`);
102
- }
103
- const result = (yield this.runCommand.canExecute(args)) &&
104
- (yield this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, projectData, this.platform.toLowerCase()));
105
- return result;
106
- });
82
+ async canExecute(args) {
83
+ const projectData = this.$projectDataService.getProjectData();
84
+ if (!this.$platformValidationService.isPlatformSupportedForOS(this.platform, projectData)) {
85
+ this.$errors.fail(`Applications for platform ${this.platform} can not be built on this OS`);
86
+ }
87
+ const result = (await this.runCommand.canExecute(args)) &&
88
+ (await this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, projectData, this.platform.toLowerCase()));
89
+ return result;
107
90
  }
108
91
  }
92
+ exports.RunIosCommand = RunIosCommand;
109
93
  __decorate([
110
94
  (0, decorators_1.cache)()
111
95
  ], RunIosCommand.prototype, "runCommand", null);
112
- exports.RunIosCommand = RunIosCommand;
113
96
  yok_1.injector.registerCommand("run|ios", RunIosCommand);
114
97
  class RunAndroidCommand {
115
98
  get runCommand() {
@@ -129,34 +112,30 @@ class RunAndroidCommand {
129
112
  this.$projectData = $projectData;
130
113
  this.allowedParameters = [];
131
114
  }
132
- execute(args) {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- return this.runCommand.execute(args);
135
- });
115
+ async execute(args) {
116
+ return this.runCommand.execute(args);
136
117
  }
137
- canExecute(args) {
138
- return __awaiter(this, void 0, void 0, function* () {
139
- yield this.runCommand.canExecute(args);
140
- if (!this.$platformValidationService.isPlatformSupportedForOS(this.$devicePlatformsConstants.Android, this.$projectData)) {
141
- this.$errors.fail(`Applications for platform ${this.$devicePlatformsConstants.Android} can not be built on this OS`);
118
+ async canExecute(args) {
119
+ await this.runCommand.canExecute(args);
120
+ if (!this.$platformValidationService.isPlatformSupportedForOS(this.$devicePlatformsConstants.Android, this.$projectData)) {
121
+ this.$errors.fail(`Applications for platform ${this.$devicePlatformsConstants.Android} can not be built on this OS`);
122
+ }
123
+ if ((this.$options.release || this.$options.aab) &&
124
+ !(0, helpers_1.hasValidAndroidSigning)(this.$options)) {
125
+ if (this.$options.release) {
126
+ this.$errors.failWithHelp(constants_2.ANDROID_RELEASE_BUILD_ERROR_MESSAGE);
142
127
  }
143
- if ((this.$options.release || this.$options.aab) &&
144
- !(0, helpers_1.hasValidAndroidSigning)(this.$options)) {
145
- if (this.$options.release) {
146
- this.$errors.failWithHelp(constants_2.ANDROID_RELEASE_BUILD_ERROR_MESSAGE);
147
- }
148
- else {
149
- this.$errors.failWithHelp(constants_2.ANDROID_APP_BUNDLE_SIGNING_ERROR_MESSAGE);
150
- }
128
+ else {
129
+ this.$errors.failWithHelp(constants_2.ANDROID_APP_BUNDLE_SIGNING_ERROR_MESSAGE);
151
130
  }
152
- return this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, this.$projectData, this.$devicePlatformsConstants.Android.toLowerCase());
153
- });
131
+ }
132
+ return this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, this.$projectData, this.$devicePlatformsConstants.Android.toLowerCase());
154
133
  }
155
134
  }
135
+ exports.RunAndroidCommand = RunAndroidCommand;
156
136
  __decorate([
157
137
  (0, decorators_1.cache)()
158
138
  ], RunAndroidCommand.prototype, "runCommand", null);
159
- exports.RunAndroidCommand = RunAndroidCommand;
160
139
  yok_1.injector.registerCommand("run|android", RunAndroidCommand);
161
140
  class RunVisionOSCommand extends RunIosCommand {
162
141
  get platform() {
@@ -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.StartCommand = void 0;
13
4
  const header_1 = require("../common/header");
@@ -16,17 +7,13 @@ class StartCommand {
16
7
  constructor($startService) {
17
8
  this.$startService = $startService;
18
9
  }
19
- execute(args) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- (0, header_1.printHeader)();
22
- this.$startService.start();
23
- return;
24
- });
10
+ async execute(args) {
11
+ (0, header_1.printHeader)();
12
+ this.$startService.start();
13
+ return;
25
14
  }
26
- canExecute(args) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return true;
29
- });
15
+ async canExecute(args) {
16
+ return true;
30
17
  }
31
18
  }
32
19
  exports.StartCommand = StartCommand;