nativescript 8.9.0-dev.2 → 8.9.0-dev.4

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 (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. 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,40 +26,36 @@ 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
- // possible genymotion emulator
58
- const emulatorId = match[1];
59
- const result = (yield this.isGenymotionEmulator(emulatorId))
60
- ? emulatorId
61
- : undefined;
62
- return Promise.resolve(result);
63
- }
64
- return Promise.resolve(undefined);
65
- }))
66
- .value());
67
- return _(results)
68
- .filter((r) => !!r)
69
- .map((r) => r.toString())
70
- .value();
71
- });
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
+ // possible genymotion emulator
46
+ const emulatorId = match[1];
47
+ const result = (await this.isGenymotionEmulator(emulatorId))
48
+ ? emulatorId
49
+ : undefined;
50
+ return Promise.resolve(result);
51
+ }
52
+ return Promise.resolve(undefined);
53
+ })
54
+ .value());
55
+ return _(results)
56
+ .filter((r) => !!r)
57
+ .map((r) => r.toString())
58
+ .value();
72
59
  }
73
60
  get pathToEmulatorExecutable() {
74
61
  const searchPaths = this.playerSearchPaths[process.platform];
@@ -78,41 +65,33 @@ class AndroidGenymotionService {
78
65
  startEmulatorArgs(imageIdentifier) {
79
66
  return ["--vm-name", imageIdentifier];
80
67
  }
81
- getEmulatorImagesCore() {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const output = yield this.$virtualBoxService.listVms();
84
- if (output.error) {
85
- return { devices: [], errors: output.error ? [output.error] : [] };
86
- }
87
- const devices = yield this.parseListVmsOutput(output.vms);
88
- return { devices, errors: [] };
89
- });
90
- }
91
- getRunningEmulatorName(emulatorId) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- const output = yield this.$adb.getPropertyValue(emulatorId, "ro.product.model");
94
- this.$logger.trace(output);
95
- return _.first(output.split(os_1.EOL)).trim();
96
- });
97
- }
98
- getRunningEmulatorImageIdentifier(emulatorId) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- const adbDevices = yield this.$adb.getDevicesSafe();
101
- const emulatorImages = (yield this.getEmulatorImages(adbDevices)).devices;
102
- const emulator = yield this.getRunningEmulatorData(emulatorId, emulatorImages);
103
- return emulator ? emulator.imageIdentifier : null;
104
- });
105
- }
106
- getRunningEmulatorData(runningEmulatorId, availableEmulators) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- const emulatorName = yield this.getRunningEmulatorName(runningEmulatorId);
109
- const runningEmulator = this.$emulatorHelper.getEmulatorByIdOrName(emulatorName, availableEmulators);
110
- if (!runningEmulator) {
111
- return null;
112
- }
113
- this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
114
- return runningEmulator;
115
- });
68
+ async getEmulatorImagesCore() {
69
+ const output = await this.$virtualBoxService.listVms();
70
+ if (output.error) {
71
+ return { devices: [], errors: output.error ? [output.error] : [] };
72
+ }
73
+ const devices = await this.parseListVmsOutput(output.vms);
74
+ return { devices, errors: [] };
75
+ }
76
+ async getRunningEmulatorName(emulatorId) {
77
+ const output = await this.$adb.getPropertyValue(emulatorId, "ro.product.model");
78
+ this.$logger.trace(output);
79
+ return _.first(output.split(os_1.EOL)).trim();
80
+ }
81
+ async getRunningEmulatorImageIdentifier(emulatorId) {
82
+ const adbDevices = await this.$adb.getDevicesSafe();
83
+ const emulatorImages = (await this.getEmulatorImages(adbDevices)).devices;
84
+ const emulator = await this.getRunningEmulatorData(emulatorId, emulatorImages);
85
+ return emulator ? emulator.imageIdentifier : null;
86
+ }
87
+ async getRunningEmulatorData(runningEmulatorId, availableEmulators) {
88
+ const emulatorName = await this.getRunningEmulatorName(runningEmulatorId);
89
+ const runningEmulator = this.$emulatorHelper.getEmulatorByIdOrName(emulatorName, availableEmulators);
90
+ if (!runningEmulator) {
91
+ return null;
92
+ }
93
+ this.$emulatorHelper.setRunningAndroidEmulatorProperties(runningEmulatorId, runningEmulator);
94
+ return runningEmulator;
116
95
  }
117
96
  // https://wiki.appcelerator.org/display/guides2/Installing+Genymotion
118
97
  get playerSearchPaths() {
@@ -128,25 +107,23 @@ class AndroidGenymotionService {
128
107
  ],
129
108
  };
130
109
  }
131
- parseListVmsOutput(vms) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const configurationError = yield this.getConfigurationError();
134
- const devices = [];
135
- for (const vm of vms) {
136
- try {
137
- const output = yield this.$virtualBoxService.enumerateGuestProperties(vm.id);
138
- if (output &&
139
- output.properties &&
140
- output.properties.indexOf("genymotion") !== -1) {
141
- devices.push(this.convertToDeviceInfo(output.properties, vm.id, vm.name, output.error, configurationError));
142
- }
143
- }
144
- catch (err) {
145
- this.$logger.trace(`Error while parsing vm ${vm.id}`);
110
+ async parseListVmsOutput(vms) {
111
+ const configurationError = await this.getConfigurationError();
112
+ const devices = [];
113
+ for (const vm of vms) {
114
+ try {
115
+ const output = await this.$virtualBoxService.enumerateGuestProperties(vm.id);
116
+ if (output &&
117
+ output.properties &&
118
+ output.properties.indexOf("genymotion") !== -1) {
119
+ devices.push(this.convertToDeviceInfo(output.properties, vm.id, vm.name, output.error, configurationError));
146
120
  }
147
121
  }
148
- return devices;
149
- });
122
+ catch (err) {
123
+ this.$logger.trace(`Error while parsing vm ${vm.id}`);
124
+ }
125
+ }
126
+ return devices;
150
127
  }
151
128
  convertToDeviceInfo(output, id, name, error, configurationError) {
152
129
  return {
@@ -158,7 +135,7 @@ class AndroidGenymotionService {
158
135
  vendor: constants_1.AndroidVirtualDevice.GENYMOTION_VENDOR_NAME,
159
136
  status: constants_1.NOT_RUNNING_EMULATOR_STATUS,
160
137
  errorHelp: [configurationError, error].filter((item) => !!item).join(os_1.EOL) || null,
161
- isTablet: false,
138
+ isTablet: false, //TODO: Consider how to populate this correctly when the device is not running
162
139
  type: constants_1.DeviceTypes.Emulator,
163
140
  connectionTypes: [constants_2.DeviceConnectionType.Local],
164
141
  platform: this.$devicePlatformsConstants.Android,
@@ -172,18 +149,16 @@ class AndroidGenymotionService {
172
149
  .find((row) => row.indexOf("Name: android_version") !== -1);
173
150
  return androidApiLevelRow.split(", ")[1].split("value: ")[1];
174
151
  }
175
- isGenymotionEmulator(emulatorId) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- const manufacturer = yield this.$adb.getPropertyValue(emulatorId, "ro.product.manufacturer");
178
- if (manufacturer && manufacturer.match(/^Genymotion/i)) {
179
- return true;
180
- }
181
- const buildProduct = yield this.$adb.getPropertyValue(emulatorId, "ro.build.product");
182
- if (buildProduct && _.includes(buildProduct.toLowerCase(), "vbox")) {
183
- return true;
184
- }
185
- return false;
186
- });
152
+ async isGenymotionEmulator(emulatorId) {
153
+ const manufacturer = await this.$adb.getPropertyValue(emulatorId, "ro.product.manufacturer");
154
+ if (manufacturer && manufacturer.match(/^Genymotion/i)) {
155
+ return true;
156
+ }
157
+ const buildProduct = await this.$adb.getPropertyValue(emulatorId, "ro.build.product");
158
+ if (buildProduct && _.includes(buildProduct.toLowerCase(), "vbox")) {
159
+ return true;
160
+ }
161
+ return false;
187
162
  }
188
163
  getConfigurationPlatformSpecficErrorMessage() {
189
164
  const searchPaths = this.playerSearchPaths[process.platform];
@@ -191,26 +166,24 @@ class AndroidGenymotionService {
191
166
  ${searchPaths.join(os_1.EOL)}
192
167
  In case you have installed Genymotion in a different location, please add the path to player executable to your PATH environment variable.`;
193
168
  }
194
- getConfigurationError() {
195
- return __awaiter(this, void 0, void 0, function* () {
196
- const result = yield this.$childProcess.trySpawnFromCloseEvent(this.pathToEmulatorExecutable, [], {}, { throwError: false });
197
- // When player is spawned, it always prints message on stderr.
198
- if (result &&
199
- result.stderr &&
200
- result.stderr.indexOf(constants_1.AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING) === -1) {
201
- this.$logger.trace("Configuration error for Genymotion", result);
202
- return this.getConfigurationPlatformSpecficErrorMessage();
203
- }
204
- return null;
205
- });
169
+ async getConfigurationError() {
170
+ const result = await this.$childProcess.trySpawnFromCloseEvent(this.pathToEmulatorExecutable, [], {}, { throwError: false });
171
+ // When player is spawned, it always prints message on stderr.
172
+ if (result &&
173
+ result.stderr &&
174
+ result.stderr.indexOf(constants_1.AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING) === -1) {
175
+ this.$logger.trace("Configuration error for Genymotion", result);
176
+ return this.getConfigurationPlatformSpecficErrorMessage();
177
+ }
178
+ return null;
206
179
  }
207
180
  }
181
+ exports.AndroidGenymotionService = AndroidGenymotionService;
208
182
  __decorate([
209
183
  (0, decorators_1.cache)()
210
184
  ], AndroidGenymotionService.prototype, "getConfigurationPlatformSpecficErrorMessage", null);
211
185
  __decorate([
212
186
  (0, decorators_1.cache)()
213
187
  ], AndroidGenymotionService.prototype, "getConfigurationError", null);
214
- exports.AndroidGenymotionService = AndroidGenymotionService;
215
188
  yok_1.injector.register("androidGenymotionService", AndroidGenymotionService);
216
189
  //# sourceMappingURL=genymotion-service.js.map
@@ -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,83 +20,77 @@ 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
- // Example row: "Google Nexus 4 - 5.0.0 - API 21 - 768x1280" {9d9beef2-cc60-4a54-bcc0-cc1dbf89811f}
48
- const [rawName, rawId] = row.split('" ');
49
- const id = rawId.substr(1, rawId.length - 2);
50
- const name = rawName.substr(1, rawName.length - 1);
51
- return { id, name };
52
- });
53
- }
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
+ // Example row: "Google Nexus 4 - 5.0.0 - API 21 - 768x1280" {9d9beef2-cc60-4a54-bcc0-cc1dbf89811f}
38
+ const [rawName, rawId] = row.split('" ');
39
+ const id = rawId.substr(1, rawId.length - 2);
40
+ const name = rawName.substr(1, rawName.length - 1);
41
+ return { id, name };
42
+ });
54
43
  }
55
- return { vms, error: result && result.stderr };
56
- });
44
+ }
45
+ return { vms, error: result && result.stderr };
57
46
  }
58
- enumerateGuestProperties(id) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- let result = null;
61
- const vBoxManagePath = yield this.getvBoxManagePath();
62
- if (vBoxManagePath) {
63
- result = yield this.$childProcess.trySpawnFromCloseEvent(vBoxManagePath, [
64
- "guestproperty",
65
- "enumerate",
66
- id,
67
- ]);
68
- }
69
- return {
70
- properties: result && result.stdout,
71
- error: result && result.stderr,
72
- };
73
- });
47
+ async enumerateGuestProperties(id) {
48
+ let result = null;
49
+ const vBoxManagePath = await this.getvBoxManagePath();
50
+ if (vBoxManagePath) {
51
+ result = await this.$childProcess.trySpawnFromCloseEvent(vBoxManagePath, [
52
+ "guestproperty",
53
+ "enumerate",
54
+ id,
55
+ ]);
56
+ }
57
+ return {
58
+ properties: result && result.stdout,
59
+ error: result && result.stderr,
60
+ };
74
61
  }
75
- getvBoxManageSearchPaths() {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- const searchPaths = {
78
- darwin: ["/usr/local/bin"],
79
- linux: ["/opt", "/opt/local", "/usr", "/usr/local", "~"],
80
- win32: [
81
- `${process.env["PROGRAMFILES"]}\\Oracle\\VirtualBox`,
82
- `${process.env["PROGRAMFILES(X86)"]}\\Oracle\\VirtualBox`,
83
- ],
84
- };
85
- if (this.$hostInfo.isWindows) {
86
- let searchPath = null;
87
- try {
88
- /* This can be used as interface!!!!
89
- arch:null
90
- hive:"HKLM"
91
- host:""
92
- key:"\Software\Oracle\VirtualBox"
93
- name:"InstallDir"
94
- type:"REG_SZ"
95
- value:"C:\Program Files\Oracle\VirtualBox\"
96
- */
97
- const result = yield (0, helpers_1.getWinRegPropertyValue)("\\Software\\Oracle\\VirtualBox", "InstallDir");
98
- searchPath = result && result.value ? result.value : null;
99
- }
100
- catch (err) {
101
- this.$logger.trace(`Error while trying to get InstallDir property for \\Software\\Oracle\\VirtualBox. More info: ${err}.`);
102
- }
103
- if (searchPath && !_.includes(searchPaths["win32"], searchPath)) {
104
- searchPaths["win32"].unshift(searchPath);
105
- }
62
+ async getvBoxManageSearchPaths() {
63
+ const searchPaths = {
64
+ darwin: ["/usr/local/bin"],
65
+ linux: ["/opt", "/opt/local", "/usr", "/usr/local", "~"],
66
+ win32: [
67
+ `${process.env["PROGRAMFILES"]}\\Oracle\\VirtualBox`,
68
+ `${process.env["PROGRAMFILES(X86)"]}\\Oracle\\VirtualBox`,
69
+ ],
70
+ };
71
+ if (this.$hostInfo.isWindows) {
72
+ let searchPath = null;
73
+ try {
74
+ /* This can be used as interface!!!!
75
+ arch:null
76
+ hive:"HKLM"
77
+ host:""
78
+ key:"\Software\Oracle\VirtualBox"
79
+ name:"InstallDir"
80
+ type:"REG_SZ"
81
+ value:"C:\Program Files\Oracle\VirtualBox\"
82
+ */
83
+ const result = await (0, helpers_1.getWinRegPropertyValue)("\\Software\\Oracle\\VirtualBox", "InstallDir");
84
+ searchPath = result && result.value ? result.value : null;
106
85
  }
107
- return searchPaths;
108
- });
86
+ catch (err) {
87
+ this.$logger.trace(`Error while trying to get InstallDir property for \\Software\\Oracle\\VirtualBox. More info: ${err}.`);
88
+ }
89
+ if (searchPath && !_.includes(searchPaths["win32"], searchPath)) {
90
+ searchPaths["win32"].unshift(searchPath);
91
+ }
92
+ }
93
+ return searchPaths;
109
94
  }
110
95
  get vBoxManageExecutableNames() {
111
96
  return {
@@ -114,19 +99,17 @@ class VirtualBoxService {
114
99
  win32: "VBoxManage.exe",
115
100
  };
116
101
  }
117
- getvBoxManagePath() {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- const searchPaths = (yield this.getvBoxManageSearchPaths())[process.platform];
120
- const result = searchPaths
121
- .map((searchPath) => path.join(searchPath, this.vBoxManageExecutableNames[process.platform]))
122
- .find((searchPath) => this.$fs.exists(searchPath));
123
- return result;
124
- });
102
+ async getvBoxManagePath() {
103
+ const searchPaths = (await this.getvBoxManageSearchPaths())[process.platform];
104
+ const result = searchPaths
105
+ .map((searchPath) => path.join(searchPath, this.vBoxManageExecutableNames[process.platform]))
106
+ .find((searchPath) => this.$fs.exists(searchPath));
107
+ return result;
125
108
  }
126
109
  }
110
+ exports.VirtualBoxService = VirtualBoxService;
127
111
  __decorate([
128
112
  (0, decorators_1.cache)()
129
113
  ], VirtualBoxService.prototype, "getvBoxManagePath", null);
130
- exports.VirtualBoxService = VirtualBoxService;
131
114
  yok_1.injector.register("virtualBoxService", VirtualBoxService);
132
115
  //# sourceMappingURL=virtualbox-service.js.map