nativescript 8.9.0-alpha.3 → 8.9.0-dev.0

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 (342) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +210 -229
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +9 -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 +44 -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 +150 -200
  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 +163 -199
  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 +22 -35
  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 +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  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 +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +43 -53
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +51 -66
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  281. package/node_modules/@npmcli/move-file/package.json +0 -47
  282. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  283. package/node_modules/balanced-match/LICENSE.md +0 -21
  284. package/node_modules/balanced-match/README.md +0 -97
  285. package/node_modules/balanced-match/index.js +0 -62
  286. package/node_modules/balanced-match/package.json +0 -48
  287. package/node_modules/concat-map/.travis.yml +0 -4
  288. package/node_modules/concat-map/LICENSE +0 -18
  289. package/node_modules/concat-map/README.markdown +0 -62
  290. package/node_modules/concat-map/example/map.js +0 -6
  291. package/node_modules/concat-map/index.js +0 -13
  292. package/node_modules/concat-map/package.json +0 -43
  293. package/node_modules/concat-map/test/map.js +0 -39
  294. package/node_modules/fs.realpath/LICENSE +0 -43
  295. package/node_modules/fs.realpath/README.md +0 -33
  296. package/node_modules/fs.realpath/index.js +0 -66
  297. package/node_modules/fs.realpath/old.js +0 -303
  298. package/node_modules/fs.realpath/package.json +0 -26
  299. package/node_modules/inflight/LICENSE +0 -15
  300. package/node_modules/inflight/README.md +0 -37
  301. package/node_modules/inflight/inflight.js +0 -54
  302. package/node_modules/inflight/package.json +0 -29
  303. package/node_modules/inherits/LICENSE +0 -16
  304. package/node_modules/inherits/README.md +0 -42
  305. package/node_modules/inherits/inherits.js +0 -9
  306. package/node_modules/inherits/inherits_browser.js +0 -27
  307. package/node_modules/inherits/package.json +0 -29
  308. package/node_modules/once/LICENSE +0 -15
  309. package/node_modules/once/README.md +0 -79
  310. package/node_modules/once/once.js +0 -42
  311. package/node_modules/once/package.json +0 -33
  312. package/node_modules/path-is-absolute/index.js +0 -20
  313. package/node_modules/path-is-absolute/license +0 -21
  314. package/node_modules/path-is-absolute/package.json +0 -43
  315. package/node_modules/path-is-absolute/readme.md +0 -59
  316. package/node_modules/rimraf/LICENSE +0 -15
  317. package/node_modules/rimraf/README.md +0 -101
  318. package/node_modules/rimraf/bin.js +0 -68
  319. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  320. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  321. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  322. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  323. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  324. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  325. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  326. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  327. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  328. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  329. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  330. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  331. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  332. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  333. package/node_modules/rimraf/package.json +0 -32
  334. package/node_modules/rimraf/rimraf.js +0 -360
  335. package/node_modules/stringify-package/LICENSE +0 -13
  336. package/node_modules/stringify-package/README.md +0 -55
  337. package/node_modules/stringify-package/index.js +0 -18
  338. package/node_modules/stringify-package/package.json +0 -38
  339. package/node_modules/wrappy/LICENSE +0 -15
  340. package/node_modules/wrappy/README.md +0 -36
  341. package/node_modules/wrappy/package.json +0 -29
  342. package/node_modules/wrappy/wrappy.js +0 -33
@@ -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);