@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
@@ -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.AndroidEmulatorServices = void 0;
13
4
  const constants_1 = require("../../constants");
@@ -27,111 +18,99 @@ class AndroidEmulatorServices {
27
18
  this.$logger = $logger;
28
19
  this.$utils = $utils;
29
20
  }
30
- getEmulatorImages() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const adbDevicesOutput = yield this.$adb.getDevicesSafe();
33
- const avdAvailableEmulatorsOutput = yield this.$androidVirtualDeviceService.getEmulatorImages(adbDevicesOutput);
34
- const genyAvailableDevicesOutput = yield this.$androidGenymotionService.getEmulatorImages(adbDevicesOutput);
35
- const devices = _.concat(avdAvailableEmulatorsOutput.devices, genyAvailableDevicesOutput.devices).filter((item) => !!item);
36
- return {
37
- devices,
38
- errors: avdAvailableEmulatorsOutput.errors.concat(genyAvailableDevicesOutput.errors),
39
- };
40
- });
21
+ async getEmulatorImages() {
22
+ const adbDevicesOutput = await this.$adb.getDevicesSafe();
23
+ const avdAvailableEmulatorsOutput = await this.$androidVirtualDeviceService.getEmulatorImages(adbDevicesOutput);
24
+ const genyAvailableDevicesOutput = await this.$androidGenymotionService.getEmulatorImages(adbDevicesOutput);
25
+ const devices = _.concat(avdAvailableEmulatorsOutput.devices, genyAvailableDevicesOutput.devices).filter((item) => !!item);
26
+ return {
27
+ devices,
28
+ errors: avdAvailableEmulatorsOutput.errors.concat(genyAvailableDevicesOutput.errors),
29
+ };
41
30
  }
42
- getRunningEmulatorIds() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const adbDevicesOutput = yield this.$adb.getDevicesSafe();
45
- const avds = yield this.$androidVirtualDeviceService.getRunningEmulatorIds(adbDevicesOutput);
46
- const genies = yield this.$androidGenymotionService.getRunningEmulatorIds(adbDevicesOutput);
47
- return avds.concat(genies);
48
- });
31
+ async getRunningEmulatorIds() {
32
+ const adbDevicesOutput = await this.$adb.getDevicesSafe();
33
+ const avds = await this.$androidVirtualDeviceService.getRunningEmulatorIds(adbDevicesOutput);
34
+ const genies = await this.$androidGenymotionService.getRunningEmulatorIds(adbDevicesOutput);
35
+ return avds.concat(genies);
49
36
  }
50
- getRunningEmulatorName(emulatorId) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- let result = yield this.$androidVirtualDeviceService.getRunningEmulatorName(emulatorId);
53
- if (!result) {
54
- result = yield this.$androidGenymotionService.getRunningEmulatorName(emulatorId);
55
- }
56
- return result;
57
- });
37
+ async getRunningEmulatorName(emulatorId) {
38
+ let result = await this.$androidVirtualDeviceService.getRunningEmulatorName(emulatorId);
39
+ if (!result) {
40
+ result = await this.$androidGenymotionService.getRunningEmulatorName(emulatorId);
41
+ }
42
+ return result;
58
43
  }
59
- getRunningEmulatorImageIdentifier(emulatorId) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- let result = yield this.$androidVirtualDeviceService.getRunningEmulatorImageIdentifier(emulatorId);
62
- if (!result) {
63
- result = yield this.$androidGenymotionService.getRunningEmulatorImageIdentifier(emulatorId);
64
- }
65
- return result;
66
- });
44
+ async getRunningEmulatorImageIdentifier(emulatorId) {
45
+ let result = await this.$androidVirtualDeviceService.getRunningEmulatorImageIdentifier(emulatorId);
46
+ if (!result) {
47
+ result = await this.$androidGenymotionService.getRunningEmulatorImageIdentifier(emulatorId);
48
+ }
49
+ return result;
67
50
  }
68
- startEmulator(options) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- const output = yield this.startEmulatorCore(options);
71
- let bootToCompleteOutput = null;
72
- if (output && output.runningEmulator) {
73
- bootToCompleteOutput = yield this.waitForEmulatorBootToComplete(output.runningEmulator, output.endTimeEpoch, options.timeout);
74
- }
75
- return {
76
- errors: ((output && output.errors) || []).concat((bootToCompleteOutput && bootToCompleteOutput.errors) || []),
77
- };
78
- });
51
+ async startEmulator(options) {
52
+ const output = await this.startEmulatorCore(options);
53
+ let bootToCompleteOutput = null;
54
+ if (output && output.runningEmulator) {
55
+ bootToCompleteOutput = await this.waitForEmulatorBootToComplete(output.runningEmulator, output.endTimeEpoch, options.timeout);
56
+ }
57
+ return {
58
+ errors: ((output && output.errors) || []).concat((bootToCompleteOutput && bootToCompleteOutput.errors) || []),
59
+ };
79
60
  }
80
61
  detach(deviceInfo) {
81
62
  this.$androidVirtualDeviceService.detach(deviceInfo);
82
63
  }
83
- startEmulatorCore(options) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- const timeout = options.timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS;
86
- const endTimeEpoch = (0, helpers_1.getCurrentEpochTime)() + this.$utils.getMilliSecondsTimeout(timeout);
87
- const availableEmulators = (yield this.getEmulatorImages()).devices;
88
- let emulator = this.$emulatorHelper.getEmulatorByStartEmulatorOptions(options, availableEmulators);
89
- if (!emulator &&
90
- !options.emulatorIdOrName &&
91
- !options.imageIdentifier &&
92
- !options.emulator) {
93
- emulator = this.getBestFit(availableEmulators);
94
- }
95
- if (!emulator) {
96
- return {
97
- runningEmulator: null,
98
- errors: [
99
- `No emulator image available for device identifier '${options.emulatorIdOrName || options.imageIdentifier}'.`,
100
- ],
101
- endTimeEpoch,
102
- };
103
- }
104
- if (emulator.errorHelp) {
105
- return {
106
- runningEmulator: null,
107
- errors: [emulator.errorHelp],
108
- endTimeEpoch,
109
- };
110
- }
111
- this.spawnEmulator(emulator);
112
- const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout) === 0;
113
- let hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
114
- while (hasTimeLeft || isInfiniteWait) {
115
- const emulators = (yield this.getEmulatorImages()).devices;
116
- const newEmulator = _.find(emulators, (e) => e.imageIdentifier === emulator.imageIdentifier);
117
- if (newEmulator && this.$emulatorHelper.isEmulatorRunning(newEmulator)) {
118
- return {
119
- runningEmulator: newEmulator,
120
- errors: [],
121
- endTimeEpoch,
122
- };
123
- }
124
- yield (0, helpers_1.sleep)(10000);
125
- hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
126
- }
127
- if (!hasTimeLeft && !isInfiniteWait) {
64
+ async startEmulatorCore(options) {
65
+ const timeout = options.timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS;
66
+ const endTimeEpoch = (0, helpers_1.getCurrentEpochTime)() + this.$utils.getMilliSecondsTimeout(timeout);
67
+ const availableEmulators = (await this.getEmulatorImages()).devices;
68
+ let emulator = this.$emulatorHelper.getEmulatorByStartEmulatorOptions(options, availableEmulators);
69
+ if (!emulator &&
70
+ !options.emulatorIdOrName &&
71
+ !options.imageIdentifier &&
72
+ !options.emulator) {
73
+ emulator = this.getBestFit(availableEmulators);
74
+ }
75
+ if (!emulator) {
76
+ return {
77
+ runningEmulator: null,
78
+ errors: [
79
+ `No emulator image available for device identifier '${options.emulatorIdOrName || options.imageIdentifier}'.`,
80
+ ],
81
+ endTimeEpoch,
82
+ };
83
+ }
84
+ if (emulator.errorHelp) {
85
+ return {
86
+ runningEmulator: null,
87
+ errors: [emulator.errorHelp],
88
+ endTimeEpoch,
89
+ };
90
+ }
91
+ this.spawnEmulator(emulator);
92
+ const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout) === 0;
93
+ let hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
94
+ while (hasTimeLeft || isInfiniteWait) {
95
+ const emulators = (await this.getEmulatorImages()).devices;
96
+ const newEmulator = _.find(emulators, (e) => e.imageIdentifier === emulator.imageIdentifier);
97
+ if (newEmulator && this.$emulatorHelper.isEmulatorRunning(newEmulator)) {
128
98
  return {
129
- runningEmulator: null,
130
- errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
99
+ runningEmulator: newEmulator,
100
+ errors: [],
131
101
  endTimeEpoch,
132
102
  };
133
103
  }
134
- });
104
+ await (0, helpers_1.sleep)(10000);
105
+ hasTimeLeft = (0, helpers_1.getCurrentEpochTime)() < endTimeEpoch;
106
+ }
107
+ if (!hasTimeLeft && !isInfiniteWait) {
108
+ return {
109
+ runningEmulator: null,
110
+ errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
111
+ endTimeEpoch,
112
+ };
113
+ }
135
114
  }
136
115
  spawnEmulator(emulator) {
137
116
  let pathToEmulatorExecutable = null;
@@ -169,36 +148,32 @@ class AndroidEmulatorServices {
169
148
  const bestVersion = best && best.version && semver.coerce(best.version);
170
149
  return bestVersion && semver.gte(bestVersion, minVersion) ? best : null;
171
150
  }
172
- waitForEmulatorBootToComplete(emulator, endTimeEpoch, timeout) {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- this.$logger.info("Waiting for emulator device initialization...", {
175
- [constants_2.LoggerConfigData.skipNewLine]: true,
176
- });
177
- const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS) === 0;
178
- while ((0, helpers_1.getCurrentEpochTime)() < endTimeEpoch || isInfiniteWait) {
179
- const isEmulatorBootCompleted = yield this.isEmulatorBootCompleted(emulator.identifier);
180
- if (isEmulatorBootCompleted) {
181
- this.$logger.info(os_1.EOL, { [constants_2.LoggerConfigData.skipNewLine]: true });
182
- return {
183
- runningEmulator: emulator,
184
- errors: [],
185
- };
186
- }
187
- this.$logger.info(".", { [constants_2.LoggerConfigData.skipNewLine]: true });
188
- yield (0, helpers_1.sleep)(10000);
189
- }
190
- return {
191
- runningEmulator: null,
192
- errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
193
- };
151
+ async waitForEmulatorBootToComplete(emulator, endTimeEpoch, timeout) {
152
+ this.$logger.info("Waiting for emulator device initialization...", {
153
+ [constants_2.LoggerConfigData.skipNewLine]: true,
194
154
  });
155
+ const isInfiniteWait = this.$utils.getMilliSecondsTimeout(timeout || constants_1.AndroidVirtualDevice.TIMEOUT_SECONDS) === 0;
156
+ while ((0, helpers_1.getCurrentEpochTime)() < endTimeEpoch || isInfiniteWait) {
157
+ const isEmulatorBootCompleted = await this.isEmulatorBootCompleted(emulator.identifier);
158
+ if (isEmulatorBootCompleted) {
159
+ this.$logger.info(os_1.EOL, { [constants_2.LoggerConfigData.skipNewLine]: true });
160
+ return {
161
+ runningEmulator: emulator,
162
+ errors: [],
163
+ };
164
+ }
165
+ this.$logger.info(".", { [constants_2.LoggerConfigData.skipNewLine]: true });
166
+ await (0, helpers_1.sleep)(10000);
167
+ }
168
+ return {
169
+ runningEmulator: null,
170
+ errors: [constants_1.AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE],
171
+ };
195
172
  }
196
- isEmulatorBootCompleted(emulatorId) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- const output = yield this.$adb.getPropertyValue(emulatorId, "dev.bootcomplete");
199
- const matches = output.match("1");
200
- return matches && matches.length > 0;
201
- });
173
+ async isEmulatorBootCompleted(emulatorId) {
174
+ const output = await this.$adb.getPropertyValue(emulatorId, "dev.bootcomplete");
175
+ const matches = output.match("1");
176
+ return matches && matches.length > 0;
202
177
  }
203
178
  }
204
179
  exports.AndroidEmulatorServices = AndroidEmulatorServices;
@@ -36,7 +36,7 @@ class AndroidLogFilter {
36
36
  return consoleLogMessage;
37
37
  }
38
38
  }
39
+ exports.AndroidLogFilter = AndroidLogFilter;
39
40
  AndroidLogFilter.LINE_REGEX = /.\/(.+?)\s*\(\s*\d+?\): (.*)/;
40
41
  AndroidLogFilter.API_LEVEL_23_LINE_REGEX = /.+?\s+?(?:[A-Z]\s+?)([A-Za-z \.]+?)\s*?\: (.*)/;
41
- exports.AndroidLogFilter = AndroidLogFilter;
42
42
  yok_1.injector.register("androidLogFilter", AndroidLogFilter);
@@ -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.AndroidVirtualDeviceService = void 0;
19
10
  const net = require("net");
@@ -39,44 +30,38 @@ class AndroidVirtualDeviceService {
39
30
  this.mapEmulatorIdToImageIdentifier = {};
40
31
  this.androidHome = process.env.ANDROID_HOME;
41
32
  }
42
- getEmulatorImages(adbDevicesOutput) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const availableEmulatorsOutput = yield this.getEmulatorImagesCore();
45
- const avds = availableEmulatorsOutput.devices;
46
- const runningEmulatorIds = yield this.getRunningEmulatorIds(adbDevicesOutput);
47
- const runningEmulators = yield (0, helpers_1.settlePromises)(_.map(runningEmulatorIds, (emulatorId) => this.getRunningEmulatorData(emulatorId, avds)));
48
- const devices = availableEmulatorsOutput.devices.map((emulator) => this.$emulatorHelper.getEmulatorByImageIdentifier(emulator.imageIdentifier, runningEmulators) || emulator);
49
- return {
50
- devices,
51
- errors: availableEmulatorsOutput.errors,
52
- };
53
- });
54
- }
55
- getRunningEmulatorIds(adbDevicesOutput) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const emulatorIds = _.reduce(adbDevicesOutput, (result, device) => {
58
- const rx = device.match(constants_1.AndroidVirtualDevice.RUNNING_AVD_EMULATOR_REGEX);
59
- if (rx && rx[1]) {
60
- result.push(rx[1]);
61
- }
62
- return result;
63
- }, []);
64
- return emulatorIds;
65
- });
33
+ async getEmulatorImages(adbDevicesOutput) {
34
+ const availableEmulatorsOutput = await this.getEmulatorImagesCore();
35
+ const avds = availableEmulatorsOutput.devices;
36
+ const runningEmulatorIds = await this.getRunningEmulatorIds(adbDevicesOutput);
37
+ const runningEmulators = await (0, helpers_1.settlePromises)(_.map(runningEmulatorIds, (emulatorId) => this.getRunningEmulatorData(emulatorId, avds)));
38
+ const devices = availableEmulatorsOutput.devices.map((emulator) => this.$emulatorHelper.getEmulatorByImageIdentifier(emulator.imageIdentifier, runningEmulators) || emulator);
39
+ return {
40
+ devices,
41
+ errors: availableEmulatorsOutput.errors,
42
+ };
66
43
  }
67
- getRunningEmulatorName(emulatorId) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const imageIdentifier = yield this.getRunningEmulatorImageIdentifier(emulatorId);
70
- const iniFilePath = path.join(this.pathToAvdHomeDir, `${imageIdentifier}.ini`);
71
- const iniFileInfo = this.$androidIniFileParser.parseIniFile(iniFilePath);
72
- let result = imageIdentifier;
73
- if (iniFileInfo && iniFileInfo.path) {
74
- const configIniFileInfo = this.$androidIniFileParser.parseIniFile(path.join(iniFileInfo.path, constants_1.AndroidVirtualDevice.CONFIG_INI_FILE_NAME));
75
- result =
76
- (configIniFileInfo && configIniFileInfo.displayName) || imageIdentifier;
44
+ async getRunningEmulatorIds(adbDevicesOutput) {
45
+ const emulatorIds = _.reduce(adbDevicesOutput, (result, device) => {
46
+ const rx = device.match(constants_1.AndroidVirtualDevice.RUNNING_AVD_EMULATOR_REGEX);
47
+ if (rx && rx[1]) {
48
+ result.push(rx[1]);
77
49
  }
78
50
  return result;
79
- });
51
+ }, []);
52
+ return emulatorIds;
53
+ }
54
+ async getRunningEmulatorName(emulatorId) {
55
+ const imageIdentifier = await this.getRunningEmulatorImageIdentifier(emulatorId);
56
+ const iniFilePath = path.join(this.pathToAvdHomeDir, `${imageIdentifier}.ini`);
57
+ const iniFileInfo = this.$androidIniFileParser.parseIniFile(iniFilePath);
58
+ let result = imageIdentifier;
59
+ if (iniFileInfo && iniFileInfo.path) {
60
+ const configIniFileInfo = this.$androidIniFileParser.parseIniFile(path.join(iniFileInfo.path, constants_1.AndroidVirtualDevice.CONFIG_INI_FILE_NAME));
61
+ result =
62
+ (configIniFileInfo && configIniFileInfo.displayName) || imageIdentifier;
63
+ }
64
+ return result;
80
65
  }
81
66
  startEmulatorArgs(imageIdentifier) {
82
67
  return ["-avd", imageIdentifier];
@@ -140,62 +125,56 @@ class AndroidVirtualDeviceService {
140
125
  delete this.mapEmulatorIdToImageIdentifier[deviceInfo.identifier];
141
126
  }
142
127
  }
143
- getEmulatorImagesCore() {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- let result = null;
146
- let devices = [];
147
- let errors = [];
148
- const canExecuteAvdManagerCommand = yield this.canExecuteAvdManagerCommand();
149
- if (!canExecuteAvdManagerCommand) {
150
- errors = [
151
- "Unable to execute avdmanager, ensure JAVA_HOME is set and points to correct directory",
152
- ];
153
- }
154
- if (canExecuteAvdManagerCommand) {
155
- const sanitizedPathToAvdManagerExecutable = this.$hostInfo.isWindows
156
- ? (0, helpers_1.quoteString)(this.pathToAvdManagerExecutable)
157
- : this.pathToAvdManagerExecutable;
158
- result = yield this.$childProcess.trySpawnFromCloseEvent(sanitizedPathToAvdManagerExecutable, ["list", "avds"], { shell: this.$hostInfo.isWindows });
159
- }
160
- else if (this.pathToAndroidExecutable &&
161
- this.$fs.exists(this.pathToAndroidExecutable)) {
162
- result = yield this.$childProcess.trySpawnFromCloseEvent(this.pathToAndroidExecutable, ["list", "avd"]);
163
- }
164
- if (result && result.stdout) {
165
- devices = this.parseListAvdsOutput(result.stdout);
166
- errors = result && result.stderr ? [result.stderr] : [];
128
+ async getEmulatorImagesCore() {
129
+ let result = null;
130
+ let devices = [];
131
+ let errors = [];
132
+ const canExecuteAvdManagerCommand = await this.canExecuteAvdManagerCommand();
133
+ if (!canExecuteAvdManagerCommand) {
134
+ errors = [
135
+ "Unable to execute avdmanager, ensure JAVA_HOME is set and points to correct directory",
136
+ ];
137
+ }
138
+ if (canExecuteAvdManagerCommand) {
139
+ const sanitizedPathToAvdManagerExecutable = this.$hostInfo.isWindows
140
+ ? (0, helpers_1.quoteString)(this.pathToAvdManagerExecutable)
141
+ : this.pathToAvdManagerExecutable;
142
+ result = await this.$childProcess.trySpawnFromCloseEvent(sanitizedPathToAvdManagerExecutable, ["list", "avds"], { shell: this.$hostInfo.isWindows });
143
+ }
144
+ else if (this.pathToAndroidExecutable &&
145
+ this.$fs.exists(this.pathToAndroidExecutable)) {
146
+ result = await this.$childProcess.trySpawnFromCloseEvent(this.pathToAndroidExecutable, ["list", "avd"]);
147
+ }
148
+ if (result && result.stdout) {
149
+ devices = this.parseListAvdsOutput(result.stdout);
150
+ errors = result && result.stderr ? [result.stderr] : [];
151
+ }
152
+ else {
153
+ devices = this.listAvdsFromDirectory();
154
+ }
155
+ return { devices, errors };
156
+ }
157
+ async canExecuteAvdManagerCommand() {
158
+ let canExecute = false;
159
+ if (this.pathToAvdManagerExecutable &&
160
+ this.$fs.exists(this.pathToAvdManagerExecutable)) {
161
+ if (process.env.JAVA_HOME) {
162
+ canExecute = !!(await this.$sysInfo.getJavaVersionFromJavaHome());
167
163
  }
168
164
  else {
169
- devices = this.listAvdsFromDirectory();
170
- }
171
- return { devices, errors };
172
- });
173
- }
174
- canExecuteAvdManagerCommand() {
175
- return __awaiter(this, void 0, void 0, function* () {
176
- let canExecute = false;
177
- if (this.pathToAvdManagerExecutable &&
178
- this.$fs.exists(this.pathToAvdManagerExecutable)) {
179
- if (process.env.JAVA_HOME) {
180
- canExecute = !!(yield this.$sysInfo.getJavaVersionFromJavaHome());
181
- }
182
- else {
183
- canExecute = !!(yield this.$sysInfo.getJavaVersionFromPath());
184
- }
165
+ canExecute = !!(await this.$sysInfo.getJavaVersionFromPath());
185
166
  }
186
- return canExecute;
187
- });
167
+ }
168
+ return canExecute;
188
169
  }
189
- getRunningEmulatorData(runningEmulatorId, availableEmulators) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- const imageIdentifier = yield this.getRunningEmulatorImageIdentifier(runningEmulatorId);
192
- const runningEmulator = this.$emulatorHelper.getEmulatorByImageIdentifier(imageIdentifier, availableEmulators);
193
- if (!runningEmulator) {
194
- return null;
195
- }
196
- this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
197
- return runningEmulator;
198
- });
170
+ async getRunningEmulatorData(runningEmulatorId, availableEmulators) {
171
+ const imageIdentifier = await this.getRunningEmulatorImageIdentifier(runningEmulatorId);
172
+ const runningEmulator = this.$emulatorHelper.getEmulatorByImageIdentifier(imageIdentifier, availableEmulators);
173
+ if (!runningEmulator) {
174
+ return null;
175
+ }
176
+ this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
177
+ return runningEmulator;
199
178
  }
200
179
  get pathToAvdManagerExecutable() {
201
180
  let avdManagerPath = null;
@@ -341,6 +320,7 @@ class AndroidVirtualDeviceService {
341
320
  }
342
321
  }
343
322
  }
323
+ exports.AndroidVirtualDeviceService = AndroidVirtualDeviceService;
344
324
  __decorate([
345
325
  (0, decorators_1.cache)()
346
326
  ], AndroidVirtualDeviceService.prototype, "pathToEmulatorExecutable", null);
@@ -359,5 +339,4 @@ __decorate([
359
339
  __decorate([
360
340
  (0, decorators_1.cache)()
361
341
  ], AndroidVirtualDeviceService.prototype, "getConfigurationError", null);
362
- exports.AndroidVirtualDeviceService = AndroidVirtualDeviceService;
363
342
  yok_1.injector.register("androidVirtualDeviceService", AndroidVirtualDeviceService);
@@ -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.DeviceAndroidDebugBridge = void 0;
13
4
  const android_debug_bridge_1 = require("./android-debug-bridge");
@@ -22,27 +13,20 @@ class DeviceAndroidDebugBridge extends android_debug_bridge_1.AndroidDebugBridge
22
13
  this.$staticConfig = $staticConfig;
23
14
  this.$androidDebugBridgeResultHandler = $androidDebugBridgeResultHandler;
24
15
  }
25
- sendBroadcastToDevice(action, extras) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- extras = extras || {};
28
- const broadcastCommand = ["am", "broadcast", "-a", `${action}`];
29
- _.each(extras, (value, key) => broadcastCommand.push("-e", key, value));
30
- const result = yield this.executeShellCommand(broadcastCommand);
31
- this.$logger.trace(`Broadcast result ${result} from ${broadcastCommand}`);
32
- const match = result.match(/Broadcast completed: result=(\d+)/);
33
- if (match) {
34
- return +match[1];
35
- }
36
- this.$errors.fail("Unable to broadcast to android device:\n%s", result);
37
- });
16
+ async sendBroadcastToDevice(action, extras) {
17
+ extras = extras || {};
18
+ const broadcastCommand = ["am", "broadcast", "-a", `${action}`];
19
+ _.each(extras, (value, key) => broadcastCommand.push("-e", key, value));
20
+ const result = await this.executeShellCommand(broadcastCommand);
21
+ this.$logger.trace(`Broadcast result ${result} from ${broadcastCommand}`);
22
+ const match = result.match(/Broadcast completed: result=(\d+)/);
23
+ if (match) {
24
+ return +match[1];
25
+ }
26
+ this.$errors.fail("Unable to broadcast to android device:\n%s", result);
38
27
  }
39
- composeCommand(params) {
40
- const _super = Object.create(null, {
41
- composeCommand: { get: () => super.composeCommand }
42
- });
43
- return __awaiter(this, void 0, void 0, function* () {
44
- return _super.composeCommand.call(this, params, this.identifier);
45
- });
28
+ async composeCommand(params) {
29
+ return super.composeCommand(params, this.identifier);
46
30
  }
47
31
  }
48
32
  exports.DeviceAndroidDebugBridge = DeviceAndroidDebugBridge;