@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.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);