@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
@@ -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.AndroidGenymotionService = void 0;
19
10
  const constants_1 = require("../../../constants");
@@ -35,39 +26,35 @@ class AndroidGenymotionService {
35
26
  this.$logger = $logger;
36
27
  this.$virtualBoxService = $virtualBoxService;
37
28
  }
38
- getEmulatorImages(adbDevicesOutput) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- const availableEmulatorsOutput = yield this.getEmulatorImagesCore();
41
- const runningEmulatorIds = yield this.getRunningEmulatorIds(adbDevicesOutput);
42
- const runningEmulators = yield (0, helpers_1.settlePromises)(_.map(runningEmulatorIds, (emulatorId) => this.getRunningEmulatorData(emulatorId, availableEmulatorsOutput.devices)));
43
- const devices = availableEmulatorsOutput.devices.map((emulator) => this.$emulatorHelper.getEmulatorByImageIdentifier(emulator.imageIdentifier, runningEmulators) || emulator);
44
- return {
45
- devices,
46
- errors: availableEmulatorsOutput.errors,
47
- };
48
- });
49
- }
50
- getRunningEmulatorIds(adbDevicesOutput) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const results = yield Promise.all(_(adbDevicesOutput)
53
- .filter((r) => !r.match(constants_1.AndroidVirtualDevice.RUNNING_AVD_EMULATOR_REGEX))
54
- .map((row) => __awaiter(this, void 0, void 0, function* () {
55
- const match = row.match(/^(.+?)\s+device$/);
56
- if (match && match[1]) {
57
- const emulatorId = match[1];
58
- const result = (yield this.isGenymotionEmulator(emulatorId))
59
- ? emulatorId
60
- : undefined;
61
- return Promise.resolve(result);
62
- }
63
- return Promise.resolve(undefined);
64
- }))
65
- .value());
66
- return _(results)
67
- .filter((r) => !!r)
68
- .map((r) => r.toString())
69
- .value();
70
- });
29
+ async getEmulatorImages(adbDevicesOutput) {
30
+ const availableEmulatorsOutput = await this.getEmulatorImagesCore();
31
+ const runningEmulatorIds = await this.getRunningEmulatorIds(adbDevicesOutput);
32
+ const runningEmulators = await (0, helpers_1.settlePromises)(_.map(runningEmulatorIds, (emulatorId) => this.getRunningEmulatorData(emulatorId, availableEmulatorsOutput.devices)));
33
+ const devices = availableEmulatorsOutput.devices.map((emulator) => this.$emulatorHelper.getEmulatorByImageIdentifier(emulator.imageIdentifier, runningEmulators) || emulator);
34
+ return {
35
+ devices,
36
+ errors: availableEmulatorsOutput.errors,
37
+ };
38
+ }
39
+ async getRunningEmulatorIds(adbDevicesOutput) {
40
+ const results = await Promise.all(_(adbDevicesOutput)
41
+ .filter((r) => !r.match(constants_1.AndroidVirtualDevice.RUNNING_AVD_EMULATOR_REGEX))
42
+ .map(async (row) => {
43
+ const match = row.match(/^(.+?)\s+device$/);
44
+ if (match && match[1]) {
45
+ const emulatorId = match[1];
46
+ const result = (await this.isGenymotionEmulator(emulatorId))
47
+ ? emulatorId
48
+ : undefined;
49
+ return Promise.resolve(result);
50
+ }
51
+ return Promise.resolve(undefined);
52
+ })
53
+ .value());
54
+ return _(results)
55
+ .filter((r) => !!r)
56
+ .map((r) => r.toString())
57
+ .value();
71
58
  }
72
59
  get pathToEmulatorExecutable() {
73
60
  const searchPaths = this.playerSearchPaths[process.platform];
@@ -77,41 +64,33 @@ class AndroidGenymotionService {
77
64
  startEmulatorArgs(imageIdentifier) {
78
65
  return ["--vm-name", imageIdentifier];
79
66
  }
80
- getEmulatorImagesCore() {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const output = yield this.$virtualBoxService.listVms();
83
- if (output.error) {
84
- return { devices: [], errors: output.error ? [output.error] : [] };
85
- }
86
- const devices = yield this.parseListVmsOutput(output.vms);
87
- return { devices, errors: [] };
88
- });
89
- }
90
- getRunningEmulatorName(emulatorId) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const output = yield this.$adb.getPropertyValue(emulatorId, "ro.product.model");
93
- this.$logger.trace(output);
94
- return _.first(output.split(os_1.EOL)).trim();
95
- });
96
- }
97
- getRunningEmulatorImageIdentifier(emulatorId) {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- const adbDevices = yield this.$adb.getDevicesSafe();
100
- const emulatorImages = (yield this.getEmulatorImages(adbDevices)).devices;
101
- const emulator = yield this.getRunningEmulatorData(emulatorId, emulatorImages);
102
- return emulator ? emulator.imageIdentifier : null;
103
- });
104
- }
105
- getRunningEmulatorData(runningEmulatorId, availableEmulators) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- const emulatorName = yield this.getRunningEmulatorName(runningEmulatorId);
108
- const runningEmulator = this.$emulatorHelper.getEmulatorByIdOrName(emulatorName, availableEmulators);
109
- if (!runningEmulator) {
110
- return null;
111
- }
112
- this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
113
- return runningEmulator;
114
- });
67
+ async getEmulatorImagesCore() {
68
+ const output = await this.$virtualBoxService.listVms();
69
+ if (output.error) {
70
+ return { devices: [], errors: output.error ? [output.error] : [] };
71
+ }
72
+ const devices = await this.parseListVmsOutput(output.vms);
73
+ return { devices, errors: [] };
74
+ }
75
+ async getRunningEmulatorName(emulatorId) {
76
+ const output = await this.$adb.getPropertyValue(emulatorId, "ro.product.model");
77
+ this.$logger.trace(output);
78
+ return _.first(output.split(os_1.EOL)).trim();
79
+ }
80
+ async getRunningEmulatorImageIdentifier(emulatorId) {
81
+ const adbDevices = await this.$adb.getDevicesSafe();
82
+ const emulatorImages = (await this.getEmulatorImages(adbDevices)).devices;
83
+ const emulator = await this.getRunningEmulatorData(emulatorId, emulatorImages);
84
+ return emulator ? emulator.imageIdentifier : null;
85
+ }
86
+ async getRunningEmulatorData(runningEmulatorId, availableEmulators) {
87
+ const emulatorName = await this.getRunningEmulatorName(runningEmulatorId);
88
+ const runningEmulator = this.$emulatorHelper.getEmulatorByIdOrName(emulatorName, availableEmulators);
89
+ if (!runningEmulator) {
90
+ return null;
91
+ }
92
+ this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
93
+ return runningEmulator;
115
94
  }
116
95
  get playerSearchPaths() {
117
96
  return {
@@ -126,25 +105,23 @@ class AndroidGenymotionService {
126
105
  ],
127
106
  };
128
107
  }
129
- parseListVmsOutput(vms) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const configurationError = yield this.getConfigurationError();
132
- const devices = [];
133
- for (const vm of vms) {
134
- try {
135
- const output = yield this.$virtualBoxService.enumerateGuestProperties(vm.id);
136
- if (output &&
137
- output.properties &&
138
- output.properties.indexOf("genymotion") !== -1) {
139
- devices.push(this.convertToDeviceInfo(output.properties, vm.id, vm.name, output.error, configurationError));
140
- }
141
- }
142
- catch (err) {
143
- this.$logger.trace(`Error while parsing vm ${vm.id}`);
108
+ async parseListVmsOutput(vms) {
109
+ const configurationError = await this.getConfigurationError();
110
+ const devices = [];
111
+ for (const vm of vms) {
112
+ try {
113
+ const output = await this.$virtualBoxService.enumerateGuestProperties(vm.id);
114
+ if (output &&
115
+ output.properties &&
116
+ output.properties.indexOf("genymotion") !== -1) {
117
+ devices.push(this.convertToDeviceInfo(output.properties, vm.id, vm.name, output.error, configurationError));
144
118
  }
145
119
  }
146
- return devices;
147
- });
120
+ catch (err) {
121
+ this.$logger.trace(`Error while parsing vm ${vm.id}`);
122
+ }
123
+ }
124
+ return devices;
148
125
  }
149
126
  convertToDeviceInfo(output, id, name, error, configurationError) {
150
127
  return {
@@ -169,18 +146,16 @@ class AndroidGenymotionService {
169
146
  .find((row) => row.indexOf("Name: android_version") !== -1);
170
147
  return androidApiLevelRow.split(", ")[1].split("value: ")[1];
171
148
  }
172
- isGenymotionEmulator(emulatorId) {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- const manufacturer = yield this.$adb.getPropertyValue(emulatorId, "ro.product.manufacturer");
175
- if (manufacturer && manufacturer.match(/^Genymotion/i)) {
176
- return true;
177
- }
178
- const buildProduct = yield this.$adb.getPropertyValue(emulatorId, "ro.build.product");
179
- if (buildProduct && _.includes(buildProduct.toLowerCase(), "vbox")) {
180
- return true;
181
- }
182
- return false;
183
- });
149
+ async isGenymotionEmulator(emulatorId) {
150
+ const manufacturer = await this.$adb.getPropertyValue(emulatorId, "ro.product.manufacturer");
151
+ if (manufacturer && manufacturer.match(/^Genymotion/i)) {
152
+ return true;
153
+ }
154
+ const buildProduct = await this.$adb.getPropertyValue(emulatorId, "ro.build.product");
155
+ if (buildProduct && _.includes(buildProduct.toLowerCase(), "vbox")) {
156
+ return true;
157
+ }
158
+ return false;
184
159
  }
185
160
  getConfigurationPlatformSpecficErrorMessage() {
186
161
  const searchPaths = this.playerSearchPaths[process.platform];
@@ -188,24 +163,22 @@ class AndroidGenymotionService {
188
163
  ${searchPaths.join(os_1.EOL)}
189
164
  In case you have installed Genymotion in a different location, please add the path to player executable to your PATH environment variable.`;
190
165
  }
191
- getConfigurationError() {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- const result = yield this.$childProcess.trySpawnFromCloseEvent(this.pathToEmulatorExecutable, [], {}, { throwError: false });
194
- if (result &&
195
- result.stderr &&
196
- result.stderr.indexOf(constants_1.AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING) === -1) {
197
- this.$logger.trace("Configuration error for Genymotion", result);
198
- return this.getConfigurationPlatformSpecficErrorMessage();
199
- }
200
- return null;
201
- });
166
+ async getConfigurationError() {
167
+ const result = await this.$childProcess.trySpawnFromCloseEvent(this.pathToEmulatorExecutable, [], {}, { throwError: false });
168
+ if (result &&
169
+ result.stderr &&
170
+ result.stderr.indexOf(constants_1.AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING) === -1) {
171
+ this.$logger.trace("Configuration error for Genymotion", result);
172
+ return this.getConfigurationPlatformSpecficErrorMessage();
173
+ }
174
+ return null;
202
175
  }
203
176
  }
177
+ exports.AndroidGenymotionService = AndroidGenymotionService;
204
178
  __decorate([
205
179
  (0, decorators_1.cache)()
206
180
  ], AndroidGenymotionService.prototype, "getConfigurationPlatformSpecficErrorMessage", null);
207
181
  __decorate([
208
182
  (0, decorators_1.cache)()
209
183
  ], AndroidGenymotionService.prototype, "getConfigurationError", null);
210
- exports.AndroidGenymotionService = AndroidGenymotionService;
211
184
  yok_1.injector.register("androidGenymotionService", AndroidGenymotionService);
@@ -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.VirtualBoxService = void 0;
19
10
  const path = require("path");
@@ -29,73 +20,67 @@ class VirtualBoxService {
29
20
  this.$hostInfo = $hostInfo;
30
21
  this.$logger = $logger;
31
22
  }
32
- listVms() {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- let result = null;
35
- let vms = [];
36
- const vBoxManagePath = yield this.getvBoxManagePath();
37
- if (vBoxManagePath) {
38
- result = yield this.$childProcess.trySpawnFromCloseEvent(vBoxManagePath, [
39
- "list",
40
- "vms",
41
- ]);
42
- if (result && result.stdout) {
43
- vms = result.stdout
44
- .split(os_1.EOL)
45
- .filter((row) => !!row)
46
- .map((row) => {
47
- const [rawName, rawId] = row.split('" ');
48
- const id = rawId.substr(1, rawId.length - 2);
49
- const name = rawName.substr(1, rawName.length - 1);
50
- return { id, name };
51
- });
52
- }
23
+ async listVms() {
24
+ let result = null;
25
+ let vms = [];
26
+ const vBoxManagePath = await this.getvBoxManagePath();
27
+ if (vBoxManagePath) {
28
+ result = await this.$childProcess.trySpawnFromCloseEvent(vBoxManagePath, [
29
+ "list",
30
+ "vms",
31
+ ]);
32
+ if (result && result.stdout) {
33
+ vms = result.stdout
34
+ .split(os_1.EOL)
35
+ .filter((row) => !!row)
36
+ .map((row) => {
37
+ const [rawName, rawId] = row.split('" ');
38
+ const id = rawId.substr(1, rawId.length - 2);
39
+ const name = rawName.substr(1, rawName.length - 1);
40
+ return { id, name };
41
+ });
53
42
  }
54
- return { vms, error: result && result.stderr };
55
- });
43
+ }
44
+ return { vms, error: result && result.stderr };
56
45
  }
57
- enumerateGuestProperties(id) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- let result = null;
60
- const vBoxManagePath = yield this.getvBoxManagePath();
61
- if (vBoxManagePath) {
62
- result = yield this.$childProcess.trySpawnFromCloseEvent(vBoxManagePath, [
63
- "guestproperty",
64
- "enumerate",
65
- id,
66
- ]);
67
- }
68
- return {
69
- properties: result && result.stdout,
70
- error: result && result.stderr,
71
- };
72
- });
46
+ async enumerateGuestProperties(id) {
47
+ let result = null;
48
+ const vBoxManagePath = await this.getvBoxManagePath();
49
+ if (vBoxManagePath) {
50
+ result = await this.$childProcess.trySpawnFromCloseEvent(vBoxManagePath, [
51
+ "guestproperty",
52
+ "enumerate",
53
+ id,
54
+ ]);
55
+ }
56
+ return {
57
+ properties: result && result.stdout,
58
+ error: result && result.stderr,
59
+ };
73
60
  }
74
- getvBoxManageSearchPaths() {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- const searchPaths = {
77
- darwin: ["/usr/local/bin"],
78
- linux: ["/opt", "/opt/local", "/usr", "/usr/local", "~"],
79
- win32: [
80
- `${process.env["PROGRAMFILES"]}\\Oracle\\VirtualBox`,
81
- `${process.env["PROGRAMFILES(X86)"]}\\Oracle\\VirtualBox`,
82
- ],
83
- };
84
- if (this.$hostInfo.isWindows) {
85
- let searchPath = null;
86
- try {
87
- const result = yield (0, helpers_1.getWinRegPropertyValue)("\\Software\\Oracle\\VirtualBox", "InstallDir");
88
- searchPath = result && result.value ? result.value : null;
89
- }
90
- catch (err) {
91
- this.$logger.trace(`Error while trying to get InstallDir property for \\Software\\Oracle\\VirtualBox. More info: ${err}.`);
92
- }
93
- if (searchPath && !_.includes(searchPaths["win32"], searchPath)) {
94
- searchPaths["win32"].unshift(searchPath);
95
- }
61
+ async getvBoxManageSearchPaths() {
62
+ const searchPaths = {
63
+ darwin: ["/usr/local/bin"],
64
+ linux: ["/opt", "/opt/local", "/usr", "/usr/local", "~"],
65
+ win32: [
66
+ `${process.env["PROGRAMFILES"]}\\Oracle\\VirtualBox`,
67
+ `${process.env["PROGRAMFILES(X86)"]}\\Oracle\\VirtualBox`,
68
+ ],
69
+ };
70
+ if (this.$hostInfo.isWindows) {
71
+ let searchPath = null;
72
+ try {
73
+ const result = await (0, helpers_1.getWinRegPropertyValue)("\\Software\\Oracle\\VirtualBox", "InstallDir");
74
+ searchPath = result && result.value ? result.value : null;
96
75
  }
97
- return searchPaths;
98
- });
76
+ catch (err) {
77
+ this.$logger.trace(`Error while trying to get InstallDir property for \\Software\\Oracle\\VirtualBox. More info: ${err}.`);
78
+ }
79
+ if (searchPath && !_.includes(searchPaths["win32"], searchPath)) {
80
+ searchPaths["win32"].unshift(searchPath);
81
+ }
82
+ }
83
+ return searchPaths;
99
84
  }
100
85
  get vBoxManageExecutableNames() {
101
86
  return {
@@ -104,18 +89,16 @@ class VirtualBoxService {
104
89
  win32: "VBoxManage.exe",
105
90
  };
106
91
  }
107
- getvBoxManagePath() {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- const searchPaths = (yield this.getvBoxManageSearchPaths())[process.platform];
110
- const result = searchPaths
111
- .map((searchPath) => path.join(searchPath, this.vBoxManageExecutableNames[process.platform]))
112
- .find((searchPath) => this.$fs.exists(searchPath));
113
- return result;
114
- });
92
+ async getvBoxManagePath() {
93
+ const searchPaths = (await this.getvBoxManageSearchPaths())[process.platform];
94
+ const result = searchPaths
95
+ .map((searchPath) => path.join(searchPath, this.vBoxManageExecutableNames[process.platform]))
96
+ .find((searchPath) => this.$fs.exists(searchPath));
97
+ return result;
115
98
  }
116
99
  }
100
+ exports.VirtualBoxService = VirtualBoxService;
117
101
  __decorate([
118
102
  (0, decorators_1.cache)()
119
103
  ], VirtualBoxService.prototype, "getvBoxManagePath", null);
120
- exports.VirtualBoxService = VirtualBoxService;
121
104
  yok_1.injector.register("virtualBoxService", VirtualBoxService);