@akylas/nativescript-cli 8.8.2 → 8.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/lib/android-tools-info.js +9 -20
  2. package/lib/base-package-manager.js +47 -64
  3. package/lib/bun-package-manager.js +65 -88
  4. package/lib/color.js +2 -2
  5. package/lib/commands/add-platform.js +14 -30
  6. package/lib/commands/apple-login.js +18 -29
  7. package/lib/commands/appstore-list.js +34 -45
  8. package/lib/commands/appstore-upload.js +55 -68
  9. package/lib/commands/build.js +57 -86
  10. package/lib/commands/clean.js +161 -176
  11. package/lib/commands/command-base.js +14 -27
  12. package/lib/commands/config.js +51 -70
  13. package/lib/commands/create-project.js +210 -229
  14. package/lib/commands/debug.js +66 -88
  15. package/lib/commands/deploy.js +28 -44
  16. package/lib/commands/embedding/embed.js +33 -52
  17. package/lib/commands/extensibility/install-extension.js +5 -16
  18. package/lib/commands/extensibility/list-extensions.js +13 -24
  19. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  20. package/lib/commands/fonts.js +30 -41
  21. package/lib/commands/generate-assets.js +13 -28
  22. package/lib/commands/generate-help.js +2 -13
  23. package/lib/commands/generate.js +17 -26
  24. package/lib/commands/info.js +2 -13
  25. package/lib/commands/install.js +34 -49
  26. package/lib/commands/list-platforms.js +14 -25
  27. package/lib/commands/migrate.js +15 -26
  28. package/lib/commands/native-add.js +23 -46
  29. package/lib/commands/platform-clean.js +19 -32
  30. package/lib/commands/plugin/add-plugin.js +12 -25
  31. package/lib/commands/plugin/build-plugin.js +34 -39
  32. package/lib/commands/plugin/create-plugin.js +110 -133
  33. package/lib/commands/plugin/list-plugins.js +22 -33
  34. package/lib/commands/plugin/remove-plugin.js +20 -33
  35. package/lib/commands/plugin/update-plugin.js +20 -33
  36. package/lib/commands/post-install.js +20 -33
  37. package/lib/commands/prepare.js +19 -35
  38. package/lib/commands/preview.js +49 -62
  39. package/lib/commands/remove-platform.js +7 -18
  40. package/lib/commands/resources/resources-update.js +13 -26
  41. package/lib/commands/run.js +55 -76
  42. package/lib/commands/start.js +6 -19
  43. package/lib/commands/test-init.js +123 -134
  44. package/lib/commands/test.js +66 -89
  45. package/lib/commands/typings.js +126 -142
  46. package/lib/commands/update-platform.js +22 -35
  47. package/lib/commands/update.js +30 -43
  48. package/lib/common/child-process.js +53 -72
  49. package/lib/common/codeGeneration/code-entity.js +1 -1
  50. package/lib/common/codeGeneration/code-printer.js +1 -1
  51. package/lib/common/command-params.js +7 -18
  52. package/lib/common/commands/analytics.js +27 -40
  53. package/lib/common/commands/autocompletion.js +39 -56
  54. package/lib/common/commands/device/device-log-stream.js +12 -23
  55. package/lib/common/commands/device/get-file.js +22 -33
  56. package/lib/common/commands/device/list-applications.js +12 -23
  57. package/lib/common/commands/device/list-devices.js +72 -87
  58. package/lib/common/commands/device/list-files.js +23 -34
  59. package/lib/common/commands/device/put-file.js +22 -33
  60. package/lib/common/commands/device/run-application.js +12 -25
  61. package/lib/common/commands/device/stop-application.js +11 -22
  62. package/lib/common/commands/device/uninstall-application.js +6 -17
  63. package/lib/common/commands/generate-messages.js +17 -28
  64. package/lib/common/commands/help.js +20 -33
  65. package/lib/common/commands/package-manager-get.js +6 -17
  66. package/lib/common/commands/package-manager-set.js +9 -20
  67. package/lib/common/commands/post-install.js +2 -13
  68. package/lib/common/commands/preuninstall.js +23 -38
  69. package/lib/common/commands/proxy/proxy-base.js +8 -19
  70. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  71. package/lib/common/commands/proxy/proxy-get.js +3 -14
  72. package/lib/common/commands/proxy/proxy-set.js +87 -100
  73. package/lib/common/constants.js +11 -11
  74. package/lib/common/decorators.js +10 -22
  75. package/lib/common/dispatchers.js +79 -96
  76. package/lib/common/errors.js +89 -104
  77. package/lib/common/file-system.js +106 -127
  78. package/lib/common/header.js +1 -2
  79. package/lib/common/helpers.js +149 -178
  80. package/lib/common/host-info.js +37 -50
  81. package/lib/common/http-client.js +93 -108
  82. package/lib/common/logger/appenders/cli-appender.js +1 -2
  83. package/lib/common/logger/appenders/emit-appender.js +1 -2
  84. package/lib/common/logger/layouts/cli-layout.js +1 -2
  85. package/lib/common/logger/logger.js +1 -1
  86. package/lib/common/mobile/android/android-application-manager.js +121 -142
  87. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  88. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  89. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  90. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  91. package/lib/common/mobile/android/android-device.js +74 -91
  92. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  93. package/lib/common/mobile/android/android-log-filter.js +1 -1
  94. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  95. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  96. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  97. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  98. package/lib/common/mobile/android/logcat-helper.js +108 -127
  99. package/lib/common/mobile/application-manager-base.js +84 -107
  100. package/lib/common/mobile/device-log-provider-base.js +7 -18
  101. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  102. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  103. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  104. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  105. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  106. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  107. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  108. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  109. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  110. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  111. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  112. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  113. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  114. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  115. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  116. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  117. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  118. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  119. package/lib/common/mobile/mobile-helper.js +15 -26
  120. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  121. package/lib/common/opener.js +2 -2
  122. package/lib/common/plist-parser.js +2 -2
  123. package/lib/common/prompter.js +90 -105
  124. package/lib/common/queue.js +9 -20
  125. package/lib/common/services/auto-completion-service.js +39 -52
  126. package/lib/common/services/cancellation.js +17 -28
  127. package/lib/common/services/commands-service.js +146 -169
  128. package/lib/common/services/help-service.js +132 -157
  129. package/lib/common/services/hooks-service.js +93 -108
  130. package/lib/common/services/ios-notification-service.js +21 -34
  131. package/lib/common/services/json-file-settings-service.js +52 -71
  132. package/lib/common/services/lock-service.js +35 -52
  133. package/lib/common/services/message-contract-generator.js +35 -46
  134. package/lib/common/services/micro-templating-service.js +4 -15
  135. package/lib/common/services/net-service.js +90 -107
  136. package/lib/common/services/project-files-manager.js +10 -23
  137. package/lib/common/services/proxy-service.js +13 -24
  138. package/lib/common/services/qr.js +13 -24
  139. package/lib/common/services/settings-service.js +1 -1
  140. package/lib/common/services/xcode-select-service.js +20 -35
  141. package/lib/common/utils.js +2 -2
  142. package/lib/common/validators/project-name-validator.js +1 -1
  143. package/lib/common/validators/validation-result.js +1 -1
  144. package/lib/common/verify-node-version.js +2 -3
  145. package/lib/common/yok.js +23 -36
  146. package/lib/config.js +7 -58
  147. package/lib/constants.js +24 -24
  148. package/lib/controllers/build-controller.js +82 -99
  149. package/lib/controllers/debug-controller.js +107 -128
  150. package/lib/controllers/deploy-controller.js +17 -22
  151. package/lib/controllers/migrate-controller.js +722 -795
  152. package/lib/controllers/platform-controller.js +72 -87
  153. package/lib/controllers/prepare-controller.js +266 -299
  154. package/lib/controllers/run-controller.js +392 -406
  155. package/lib/controllers/update-controller-base.js +16 -29
  156. package/lib/controllers/update-controller.js +94 -119
  157. package/lib/data/prepare-data.js +4 -1
  158. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  159. package/lib/definitions/livesync.d.ts +1 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +45 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +161 -211
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +161 -198
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +34 -47
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +230 -256
  194. package/lib/services/android-project-service.js +163 -199
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  198. package/lib/services/assets-generation/assets-generation-service.js +98 -115
  199. package/lib/services/build-artifacts-service.js +9 -20
  200. package/lib/services/build-info-file-service.js +20 -35
  201. package/lib/services/cleanup-service.js +47 -76
  202. package/lib/services/cocoapods-service.js +115 -136
  203. package/lib/services/device/device-install-app-service.js +73 -90
  204. package/lib/services/doctor-service.js +99 -118
  205. package/lib/services/extensibility-service.js +81 -100
  206. package/lib/services/files-hash-service.js +26 -43
  207. package/lib/services/hmr-status-service.js +1 -1
  208. package/lib/services/initialize-service.js +37 -50
  209. package/lib/services/ios/export-options-plist-service.js +38 -51
  210. package/lib/services/ios/ios-signing-service.js +161 -180
  211. package/lib/services/ios/spm-service.js +40 -53
  212. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  213. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  214. package/lib/services/ios/xcodebuild-service.js +50 -69
  215. package/lib/services/ios-debugger-port-service.js +23 -36
  216. package/lib/services/ios-device-debug-service.js +75 -102
  217. package/lib/services/ios-entitlements-service.js +31 -42
  218. package/lib/services/ios-extensions-service.js +18 -29
  219. package/lib/services/ios-project-service.js +405 -460
  220. package/lib/services/ios-provision-service.js +108 -129
  221. package/lib/services/ios-watch-app-service.js +21 -32
  222. package/lib/services/ip-service.js +38 -53
  223. package/lib/services/itmstransporter-service.js +129 -152
  224. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  225. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  226. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  227. package/lib/services/livesync/android-livesync-service.js +14 -35
  228. package/lib/services/livesync/android-livesync-tool.js +89 -112
  229. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  230. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  231. package/lib/services/livesync/ios-livesync-service.js +42 -58
  232. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  233. package/lib/services/log-parser-service.js +1 -1
  234. package/lib/services/log-source-map-service.js +30 -41
  235. package/lib/services/marking-mode-service.js +15 -28
  236. package/lib/services/npm-config-service.js +1 -1
  237. package/lib/services/pacote-service.js +49 -64
  238. package/lib/services/performance-service.js +1 -1
  239. package/lib/services/platform/add-platform-service.js +50 -71
  240. package/lib/services/platform/platform-validation-service.js +22 -33
  241. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  242. package/lib/services/platform-environment-requirements.js +26 -37
  243. package/lib/services/plugins-service.js +122 -147
  244. package/lib/services/project-backup-service.js +1 -1
  245. package/lib/services/project-changes-service.js +124 -141
  246. package/lib/services/project-cleanup-service.js +64 -77
  247. package/lib/services/project-config-service.js +71 -80
  248. package/lib/services/project-data-service.js +101 -118
  249. package/lib/services/project-name-service.js +28 -43
  250. package/lib/services/project-service.js +84 -103
  251. package/lib/services/project-templates-service.js +52 -67
  252. package/lib/services/start-service.js +41 -59
  253. package/lib/services/temp-service.js +8 -21
  254. package/lib/services/terminal-spinner-service.js +13 -24
  255. package/lib/services/test-execution-service.js +59 -72
  256. package/lib/services/test-initialization-service.js +2 -2
  257. package/lib/services/timeline-profiler-service.js +1 -1
  258. package/lib/services/versions-service.js +119 -138
  259. package/lib/services/webpack/webpack-compiler-service.js +211 -231
  260. package/lib/services/xcconfig-service.js +8 -19
  261. package/lib/sys-info.js +45 -62
  262. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  263. package/lib/yarn-package-manager.js +59 -78
  264. package/lib/yarn2-package-manager.js +60 -79
  265. package/package.json +57 -55
  266. package/vendor/aab-tool/bundletool.jar +0 -0
  267. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  268. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  269. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  270. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  271. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  272. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  273. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  274. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  275. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -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.DoctorService = void 0;
19
10
  const os_1 = require("os");
@@ -44,109 +35,103 @@ class DoctorService {
44
35
  this.$versionsService = $versionsService;
45
36
  this.$settingsService = $settingsService;
46
37
  }
47
- printWarnings(configOptions) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- configOptions = configOptions || {};
50
- const getInfosData = {
51
- projectDir: configOptions.projectDir,
52
- androidRuntimeVersion: configOptions.runtimeVersion,
53
- platform: configOptions.platform,
54
- };
55
- const infos = yield this.$terminalSpinnerService.execute({
56
- text: `Getting environment information ${os_1.EOL}`,
57
- }, () => this.getInfos({ forceCheck: configOptions.forceCheck }, getInfosData));
58
- const warnings = infos.filter((info) => info.type === doctor_1.constants.WARNING_TYPE_NAME);
59
- const hasWarnings = warnings.length > 0;
60
- const hasAndroidWarnings = warnings.filter((warning) => _.includes(warning.platforms, doctor_1.constants.ANDROID_PLATFORM_NAME)).length > 0;
61
- if (hasAndroidWarnings) {
62
- this.printPackageManagerTip();
63
- }
64
- if (!configOptions || configOptions.trackResult) {
65
- }
66
- if (hasWarnings) {
67
- this.$logger.info("There seem to be issues with your configuration.");
68
- this.$fs.deleteFile(this.jsonFileSettingsPath);
69
- }
70
- else {
71
- this.$logger.info(color_1.color.bold("No issues were detected."));
72
- yield this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(getInfosData), infos);
73
- this.printInfosCore(infos);
74
- }
75
- try {
76
- yield this.$versionsService.printVersionsInformation(configOptions.platform);
77
- }
78
- catch (err) {
79
- this.$logger.error("Cannot get the latest versions information from npm. Please try again later.");
80
- }
81
- this.checkForDeprecatedShortImportsInAppDir(configOptions.projectDir);
82
- yield this.$injector
83
- .resolve("platformEnvironmentRequirements")
84
- .checkEnvironmentRequirements({
85
- platform: configOptions.platform,
86
- projectDir: configOptions.projectDir,
87
- runtimeVersion: configOptions.runtimeVersion,
88
- options: configOptions.options,
89
- });
38
+ async printWarnings(configOptions) {
39
+ configOptions = configOptions || {};
40
+ const getInfosData = {
41
+ projectDir: configOptions.projectDir,
42
+ androidRuntimeVersion: configOptions.runtimeVersion,
43
+ platform: configOptions.platform,
44
+ };
45
+ const infos = await this.$terminalSpinnerService.execute({
46
+ text: `Getting environment information ${os_1.EOL}`,
47
+ }, () => this.getInfos({ forceCheck: configOptions.forceCheck }, getInfosData));
48
+ const warnings = infos.filter((info) => info.type === doctor_1.constants.WARNING_TYPE_NAME);
49
+ const hasWarnings = warnings.length > 0;
50
+ const hasAndroidWarnings = warnings.filter((warning) => _.includes(warning.platforms, doctor_1.constants.ANDROID_PLATFORM_NAME)).length > 0;
51
+ if (hasAndroidWarnings) {
52
+ this.printPackageManagerTip();
53
+ }
54
+ if (!configOptions || configOptions.trackResult) {
55
+ }
56
+ if (hasWarnings) {
57
+ this.$logger.info("There seem to be issues with your configuration.");
58
+ this.$fs.deleteFile(this.jsonFileSettingsPath);
59
+ }
60
+ else {
61
+ this.$logger.info(color_1.color.bold("No issues were detected."));
62
+ await this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(getInfosData), infos);
63
+ this.printInfosCore(infos);
64
+ }
65
+ try {
66
+ await this.$versionsService.printVersionsInformation(configOptions.platform);
67
+ }
68
+ catch (err) {
69
+ this.$logger.error("Cannot get the latest versions information from npm. Please try again later.");
70
+ }
71
+ this.checkForDeprecatedShortImportsInAppDir(configOptions.projectDir);
72
+ await this.$injector
73
+ .resolve("platformEnvironmentRequirements")
74
+ .checkEnvironmentRequirements({
75
+ platform: configOptions.platform,
76
+ projectDir: configOptions.projectDir,
77
+ runtimeVersion: configOptions.runtimeVersion,
78
+ options: configOptions.options,
90
79
  });
91
80
  }
92
- runSetupScript() {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
95
- action: "Run Setup Script",
96
- additionalData: "Starting",
97
- });
98
- if (this.$hostInfo.isLinux) {
99
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
100
- action: "Run Setup Script",
101
- additionalData: "Skipped as OS is Linux",
102
- });
103
- return;
104
- }
105
- this.$logger.info("Running the setup script to try and automatically configure your environment.");
106
- if (this.$hostInfo.isDarwin) {
107
- yield this.runSetupScriptCore(DoctorService.DarwinSetupScriptLocation, []);
108
- }
109
- if (this.$hostInfo.isWindows) {
110
- yield this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
111
- }
112
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
81
+ async runSetupScript() {
82
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
83
+ action: "Run Setup Script",
84
+ additionalData: "Starting",
85
+ });
86
+ if (this.$hostInfo.isLinux) {
87
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
113
88
  action: "Run Setup Script",
114
- additionalData: "Finished",
89
+ additionalData: "Skipped as OS is Linux",
115
90
  });
91
+ return;
92
+ }
93
+ this.$logger.info("Running the setup script to try and automatically configure your environment.");
94
+ if (this.$hostInfo.isDarwin) {
95
+ await this.runSetupScriptCore(DoctorService.DarwinSetupScriptLocation, []);
96
+ }
97
+ if (this.$hostInfo.isWindows) {
98
+ await this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
99
+ }
100
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
101
+ action: "Run Setup Script",
102
+ additionalData: "Finished",
116
103
  });
117
104
  }
118
- canExecuteLocalBuild(configuration) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
121
- action: "Check Local Build Setup",
122
- additionalData: "Starting",
123
- });
124
- const sysInfoConfig = {
125
- platform: configuration.platform,
126
- projectDir: configuration.projectDir,
127
- androidRuntimeVersion: configuration.runtimeVersion,
128
- };
129
- const infos = yield this.getInfos({ forceCheck: configuration && configuration.forceCheck }, sysInfoConfig);
130
- const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
131
- const hasWarnings = warnings.length > 0;
132
- if (hasWarnings) {
133
- this.$fs.deleteFile(this.jsonFileSettingsPath);
134
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
135
- action: "Check Local Build Setup",
136
- additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
137
- });
138
- this.printInfosCore(infos);
139
- }
140
- else {
141
- infos.map((info) => this.$logger.trace(info.message));
142
- yield this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
143
- }
144
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
105
+ async canExecuteLocalBuild(configuration) {
106
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
107
+ action: "Check Local Build Setup",
108
+ additionalData: "Starting",
109
+ });
110
+ const sysInfoConfig = {
111
+ platform: configuration.platform,
112
+ projectDir: configuration.projectDir,
113
+ androidRuntimeVersion: configuration.runtimeVersion,
114
+ };
115
+ const infos = await this.getInfos({ forceCheck: configuration && configuration.forceCheck }, sysInfoConfig);
116
+ const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
117
+ const hasWarnings = warnings.length > 0;
118
+ if (hasWarnings) {
119
+ this.$fs.deleteFile(this.jsonFileSettingsPath);
120
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
145
121
  action: "Check Local Build Setup",
146
- additionalData: `Finished: Is setup correct: ${!hasWarnings}`,
122
+ additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
147
123
  });
148
- return !hasWarnings;
124
+ this.printInfosCore(infos);
125
+ }
126
+ else {
127
+ infos.map((info) => this.$logger.trace(info.message));
128
+ await this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
129
+ }
130
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
131
+ action: "Check Local Build Setup",
132
+ additionalData: `Finished: Is setup correct: ${!hasWarnings}`,
149
133
  });
134
+ return !hasWarnings;
150
135
  }
151
136
  checkForDeprecatedShortImportsInAppDir(projectDir) {
152
137
  if (projectDir) {
@@ -196,10 +181,8 @@ class DoctorService {
196
181
  });
197
182
  return new RegExp(stringRegularExpressionsPerDir.join("|"), "g");
198
183
  }
199
- runSetupScriptCore(executablePath, setupScriptArgs) {
200
- return __awaiter(this, void 0, void 0, function* () {
201
- return this.$childProcess.spawnFromEvent(executablePath, setupScriptArgs, "close", { stdio: "inherit" });
202
- });
184
+ async runSetupScriptCore(executablePath, setupScriptArgs) {
185
+ return this.$childProcess.spawnFromEvent(executablePath, setupScriptArgs, "close", { stdio: "inherit" });
203
186
  }
204
187
  printPackageManagerTip() {
205
188
  if (this.$hostInfo.isWindows) {
@@ -261,18 +244,17 @@ class DoctorService {
261
244
  const data = helpers.getHash(key, { algorithm: "md5" });
262
245
  return data;
263
246
  }
264
- getInfos(cacheConfig, sysInfoConfig) {
265
- return __awaiter(this, void 0, void 0, function* () {
266
- const key = this.getKeyForConfiguration(sysInfoConfig);
267
- const infosFromCache = cacheConfig.forceCheck
268
- ? null
269
- : yield this.$jsonFileSettingsService.getSettingValue(key);
270
- this.$logger.trace(`getInfos cacheConfig options:`, cacheConfig, " current info from cache: ", infosFromCache);
271
- const infos = infosFromCache || (yield doctor_1.doctor.getInfos(sysInfoConfig));
272
- return infos;
273
- });
247
+ async getInfos(cacheConfig, sysInfoConfig) {
248
+ const key = this.getKeyForConfiguration(sysInfoConfig);
249
+ const infosFromCache = cacheConfig.forceCheck
250
+ ? null
251
+ : await this.$jsonFileSettingsService.getSettingValue(key);
252
+ this.$logger.trace(`getInfos cacheConfig options:`, cacheConfig, " current info from cache: ", infosFromCache);
253
+ const infos = infosFromCache || (await doctor_1.doctor.getInfos(sysInfoConfig));
254
+ return infos;
274
255
  }
275
256
  }
257
+ exports.DoctorService = DoctorService;
276
258
  DoctorService.DarwinSetupScriptLocation = path.join(__dirname, "..", "..", "setup", "mac-startup-shell-script.sh");
277
259
  DoctorService.WindowsSetupScriptExecutable = "powershell.exe";
278
260
  DoctorService.WindowsSetupScriptArguments = [
@@ -290,5 +272,4 @@ __decorate([
290
272
  __decorate([
291
273
  (0, decorators_1.cache)()
292
274
  ], DoctorService.prototype, "$jsonFileSettingsService", null);
293
- exports.DoctorService = DoctorService;
294
275
  yok_1.injector.register("doctorService", DoctorService);
@@ -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.ExtensibilityService = void 0;
19
10
  const path = require("path");
@@ -41,28 +32,24 @@ class ExtensibilityService {
41
32
  this.$requireService = $requireService;
42
33
  this.customPathToExtensions = null;
43
34
  }
44
- installExtension(extensionName) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- this.$logger.trace(`Start installation of extension '${extensionName}'.`);
47
- yield this.assertPackageJsonExists();
48
- const npmOpts = {
49
- save: true,
50
- ["save-exact"]: true,
51
- };
52
- const localPath = path.resolve(extensionName);
53
- const packageName = this.$fs.exists(localPath) ? localPath : extensionName;
54
- const installResultInfo = yield this.$packageManager.install(packageName, this.pathToExtensions, npmOpts);
55
- this.$logger.trace(`Finished installation of extension '${extensionName}'. Trying to load it now.`);
56
- return this.getInstalledExtensionData(installResultInfo.name);
57
- });
58
- }
59
- uninstallExtension(extensionName) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- this.$logger.trace(`Start uninstallation of extension '${extensionName}'.`);
62
- yield this.assertPackageJsonExists();
63
- yield this.$packageManager.uninstall(extensionName, { save: true }, this.pathToExtensions);
64
- this.$logger.trace(`Finished uninstallation of extension '${extensionName}'.`);
65
- });
35
+ async installExtension(extensionName) {
36
+ this.$logger.trace(`Start installation of extension '${extensionName}'.`);
37
+ await this.assertPackageJsonExists();
38
+ const npmOpts = {
39
+ save: true,
40
+ ["save-exact"]: true,
41
+ };
42
+ const localPath = path.resolve(extensionName);
43
+ const packageName = this.$fs.exists(localPath) ? localPath : extensionName;
44
+ const installResultInfo = await this.$packageManager.install(packageName, this.pathToExtensions, npmOpts);
45
+ this.$logger.trace(`Finished installation of extension '${extensionName}'. Trying to load it now.`);
46
+ return this.getInstalledExtensionData(installResultInfo.name);
47
+ }
48
+ async uninstallExtension(extensionName) {
49
+ this.$logger.trace(`Start uninstallation of extension '${extensionName}'.`);
50
+ await this.assertPackageJsonExists();
51
+ await this.$packageManager.uninstall(extensionName, { save: true }, this.pathToExtensions);
52
+ this.$logger.trace(`Finished uninstallation of extension '${extensionName}'.`);
66
53
  }
67
54
  removeAllExtensions() {
68
55
  this.$fs.deleteDirectorySafe(this.pathToExtensions);
@@ -103,70 +90,66 @@ class ExtensibilityService {
103
90
  pathToExtension,
104
91
  };
105
92
  }
106
- loadExtension(extensionName) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- try {
109
- yield this.assertExtensionIsInstalled(extensionName);
110
- const pathToExtension = this.getPathToExtension(extensionName);
111
- this.$requireService.require(pathToExtension);
112
- return this.getInstalledExtensionData(extensionName);
113
- }
114
- catch (error) {
115
- this.$logger.warn(`Error while loading ${extensionName} is: ${error.message}`);
116
- const err = (new Error(`Unable to load extension ${extensionName}. You will not be able to use the functionality that it adds. Error: ${error.message}`));
117
- err.extensionName = extensionName;
118
- throw err;
119
- }
120
- });
93
+ async loadExtension(extensionName) {
94
+ try {
95
+ await this.assertExtensionIsInstalled(extensionName);
96
+ const pathToExtension = this.getPathToExtension(extensionName);
97
+ this.$requireService.require(pathToExtension);
98
+ return this.getInstalledExtensionData(extensionName);
99
+ }
100
+ catch (error) {
101
+ this.$logger.warn(`Error while loading ${extensionName} is: ${error.message}`);
102
+ const err = (new Error(`Unable to load extension ${extensionName}. You will not be able to use the functionality that it adds. Error: ${error.message}`));
103
+ err.extensionName = extensionName;
104
+ throw err;
105
+ }
121
106
  }
122
- getExtensionNameWhereCommandIsRegistered(inputOpts) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- let allExtensions = [];
107
+ async getExtensionNameWhereCommandIsRegistered(inputOpts) {
108
+ let allExtensions = [];
109
+ try {
110
+ const npmsResult = await this.$packageManager.searchNpms("nativescript:extension");
111
+ allExtensions = npmsResult.results || [];
112
+ }
113
+ catch (err) {
114
+ this.$logger.trace(`Unable to find extensions via npms. Error is: ${err}`);
115
+ return null;
116
+ }
117
+ const defaultCommandRegExp = new RegExp(`${(0, helpers_1.regExpEscape)(inputOpts.defaultCommandDelimiter)}.*`);
118
+ const commandDelimiterRegExp = (0, helpers_1.createRegExp)(inputOpts.commandDelimiter, "g");
119
+ for (const extensionData of allExtensions) {
120
+ const extensionName = extensionData.package.name;
125
121
  try {
126
- const npmsResult = yield this.$packageManager.searchNpms("nativescript:extension");
127
- allExtensions = npmsResult.results || [];
128
- }
129
- catch (err) {
130
- this.$logger.trace(`Unable to find extensions via npms. Error is: ${err}`);
131
- return null;
132
- }
133
- const defaultCommandRegExp = new RegExp(`${(0, helpers_1.regExpEscape)(inputOpts.defaultCommandDelimiter)}.*`);
134
- const commandDelimiterRegExp = (0, helpers_1.createRegExp)(inputOpts.commandDelimiter, "g");
135
- for (const extensionData of allExtensions) {
136
- const extensionName = extensionData.package.name;
137
- try {
138
- const registryData = yield this.$packageManager.getRegistryPackageData(extensionName);
139
- const latestPackageData = registryData.versions[registryData["dist-tags"].latest];
140
- const commands = latestPackageData &&
141
- latestPackageData.nativescript &&
142
- latestPackageData.nativescript.commands;
143
- if (commands && commands.length) {
144
- _.filter(commands, (command) => command.indexOf(inputOpts.defaultCommandDelimiter) !== -1).forEach((defaultCommand) => {
145
- commands.push(defaultCommand.replace(defaultCommandRegExp, ""));
146
- });
147
- const copyOfFullArgs = _.clone(inputOpts.inputStrings);
148
- while (copyOfFullArgs.length) {
149
- const currentCommand = copyOfFullArgs
150
- .join(inputOpts.commandDelimiter)
151
- .toLowerCase();
152
- if (_.some(commands, (c) => c.toLowerCase() === currentCommand)) {
153
- const beautifiedCommandName = currentCommand.replace(commandDelimiterRegExp, " ");
154
- return {
155
- extensionName,
156
- registeredCommandName: currentCommand,
157
- installationMessage: `The command ${beautifiedCommandName} is registered in extension ${extensionName}. You can install it by executing 'tns extension install ${extensionName}'`,
158
- };
159
- }
160
- copyOfFullArgs.splice(-1, 1);
122
+ const registryData = await this.$packageManager.getRegistryPackageData(extensionName);
123
+ const latestPackageData = registryData.versions[registryData["dist-tags"].latest];
124
+ const commands = latestPackageData &&
125
+ latestPackageData.nativescript &&
126
+ latestPackageData.nativescript.commands;
127
+ if (commands && commands.length) {
128
+ _.filter(commands, (command) => command.indexOf(inputOpts.defaultCommandDelimiter) !== -1).forEach((defaultCommand) => {
129
+ commands.push(defaultCommand.replace(defaultCommandRegExp, ""));
130
+ });
131
+ const copyOfFullArgs = _.clone(inputOpts.inputStrings);
132
+ while (copyOfFullArgs.length) {
133
+ const currentCommand = copyOfFullArgs
134
+ .join(inputOpts.commandDelimiter)
135
+ .toLowerCase();
136
+ if (_.some(commands, (c) => c.toLowerCase() === currentCommand)) {
137
+ const beautifiedCommandName = currentCommand.replace(commandDelimiterRegExp, " ");
138
+ return {
139
+ extensionName,
140
+ registeredCommandName: currentCommand,
141
+ installationMessage: `The command ${beautifiedCommandName} is registered in extension ${extensionName}. You can install it by executing 'tns extension install ${extensionName}'`,
142
+ };
161
143
  }
144
+ copyOfFullArgs.splice(-1, 1);
162
145
  }
163
146
  }
164
- catch (err) {
165
- this.$logger.trace(`Unable to get data for ${extensionName}. Error is: ${err}`);
166
- }
167
147
  }
168
- return null;
169
- });
148
+ catch (err) {
149
+ this.$logger.trace(`Unable to get data for ${extensionName}. Error is: ${err}`);
150
+ }
151
+ }
152
+ return null;
170
153
  }
171
154
  getPathToExtension(extensionName) {
172
155
  return path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME, extensionName);
@@ -177,16 +160,14 @@ class ExtensibilityService {
177
160
  const jsonData = this.$fs.readJson(pathToPackageJson);
178
161
  return jsonData;
179
162
  }
180
- assertExtensionIsInstalled(extensionName) {
181
- return __awaiter(this, void 0, void 0, function* () {
182
- this.$logger.trace(`Asserting extension ${extensionName} is installed.`);
183
- const installedExtensions = this.$fs.readDirectory(path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME));
184
- if (installedExtensions.indexOf(extensionName) === -1) {
185
- this.$logger.trace(`Extension ${extensionName} is not installed, starting installation.`);
186
- yield this.installExtension(extensionName);
187
- }
188
- this.$logger.trace(`Extension ${extensionName} is installed.`);
189
- });
163
+ async assertExtensionIsInstalled(extensionName) {
164
+ this.$logger.trace(`Asserting extension ${extensionName} is installed.`);
165
+ const installedExtensions = this.$fs.readDirectory(path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME));
166
+ if (installedExtensions.indexOf(extensionName) === -1) {
167
+ this.$logger.trace(`Extension ${extensionName} is not installed, starting installation.`);
168
+ await this.installExtension(extensionName);
169
+ }
170
+ this.$logger.trace(`Extension ${extensionName} is installed.`);
190
171
  }
191
172
  assertExtensionsDirExists() {
192
173
  if (!this.$fs.exists(this.pathToExtensions)) {
@@ -210,11 +191,11 @@ class ExtensibilityService {
210
191
  }
211
192
  }
212
193
  }
194
+ exports.ExtensibilityService = ExtensibilityService;
213
195
  __decorate([
214
196
  (0, decorators_1.cache)()
215
197
  ], ExtensibilityService.prototype, "assertExtensionsDirExists", null);
216
198
  __decorate([
217
199
  (0, decorators_1.cache)()
218
200
  ], ExtensibilityService.prototype, "assertPackageJsonExists", null);
219
- exports.ExtensibilityService = ExtensibilityService;
220
201
  yok_1.injector.register("extensibilityService", ExtensibilityService);
@@ -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.FilesHashService = void 0;
13
4
  const helpers_1 = require("../common/helpers");
@@ -22,44 +13,36 @@ class FilesHashService {
22
13
  this.$logger = $logger;
23
14
  this.$options = $options;
24
15
  }
25
- generateHashes(files) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- const result = {};
28
- const action = (file) => __awaiter(this, void 0, void 0, function* () {
29
- try {
30
- const isFile = this.$fs.getFsStats(file).isFile();
31
- if (isFile) {
32
- result[file] = yield this.$fs.getFileShasum(file);
33
- }
34
- }
35
- catch (err) {
36
- this.$logger.trace(`Unable to generate hash for file ${file}. Error is: ${err}`);
16
+ async generateHashes(files) {
17
+ const result = {};
18
+ const action = async (file) => {
19
+ try {
20
+ const isFile = this.$fs.getFsStats(file).isFile();
21
+ if (isFile) {
22
+ result[file] = await this.$fs.getFileShasum(file);
37
23
  }
38
- });
39
- yield (0, helpers_1.executeActionByChunks)(files, constants_1.DEFAULT_CHUNK_SIZE, action);
40
- return result;
41
- });
24
+ }
25
+ catch (err) {
26
+ this.$logger.trace(`Unable to generate hash for file ${file}. Error is: ${err}`);
27
+ }
28
+ };
29
+ await (0, helpers_1.executeActionByChunks)(files, constants_1.DEFAULT_CHUNK_SIZE, action);
30
+ return result;
42
31
  }
43
- generateHashesForProject(platformData) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const appFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
46
- const files = this.$fs.enumerateFilesInDirectorySync(appFilesPath);
47
- const hashes = yield this.generateHashes(files);
48
- return hashes;
49
- });
32
+ async generateHashesForProject(platformData) {
33
+ const appFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
34
+ const files = this.$fs.enumerateFilesInDirectorySync(appFilesPath);
35
+ const hashes = await this.generateHashes(files);
36
+ return hashes;
50
37
  }
51
- saveHashesForProject(platformData, hashesFileDirectory) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const hashes = yield this.generateHashesForProject(platformData);
54
- this.saveHashes(hashes, hashesFileDirectory);
55
- return hashes;
56
- });
38
+ async saveHashesForProject(platformData, hashesFileDirectory) {
39
+ const hashes = await this.generateHashesForProject(platformData);
40
+ this.saveHashes(hashes, hashesFileDirectory);
41
+ return hashes;
57
42
  }
58
- getChanges(files, oldHashes) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const newHashes = yield this.generateHashes(files);
61
- return this.getChangesInShasums(oldHashes, newHashes);
62
- });
43
+ async getChanges(files, oldHashes) {
44
+ const newHashes = await this.generateHashes(files);
45
+ return this.getChangesInShasums(oldHashes, newHashes);
63
46
  }
64
47
  hasChangesInShasums(oldHashes, newHashes) {
65
48
  return !!_.keys(this.getChangesInShasums(oldHashes, newHashes)).length;
@@ -117,6 +117,7 @@ class HmrStatusService {
117
117
  this.hashOperationStatuses[key].status = status;
118
118
  }
119
119
  }
120
+ exports.HmrStatusService = HmrStatusService;
120
121
  HmrStatusService.HMR_STATUS_LOG_REGEX = /([a-z A-Z]*) hmr hash ([a-z0-9]*)\./;
121
122
  HmrStatusService.STARTED_MESSAGE = "Checking for updates to the bundle with";
122
123
  HmrStatusService.SUCCESS_MESSAGE = "Successfully applied update with";
@@ -124,5 +125,4 @@ HmrStatusService.FAILED_MESSAGE = "Cannot apply update with";
124
125
  __decorate([
125
126
  (0, decorators_1.cache)()
126
127
  ], HmrStatusService.prototype, "attachToHmrStatusEvent", null);
127
- exports.HmrStatusService = HmrStatusService;
128
128
  yok_1.injector.register("hmrStatusService", HmrStatusService);