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.DevicesService = void 0;
19
10
  const assert = require("assert");
@@ -63,111 +54,105 @@ class DevicesService extends events_1.EventEmitter {
63
54
  this.$iOSSimulatorDiscovery,
64
55
  ];
65
56
  }
66
- pickSingleDevice(options) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- if (options.onlyDevices && options.onlyEmulators) {
69
- this.$errors.fail(constants_1.DebugCommandErrors.UNABLE_TO_USE_FOR_DEVICE_AND_EMULATOR);
70
- }
71
- if (options.deviceId) {
72
- const device = yield this.getDevice(options.deviceId);
73
- return device;
57
+ async pickSingleDevice(options) {
58
+ if (options.onlyDevices && options.onlyEmulators) {
59
+ this.$errors.fail(constants_1.DebugCommandErrors.UNABLE_TO_USE_FOR_DEVICE_AND_EMULATOR);
60
+ }
61
+ if (options.deviceId) {
62
+ const device = await this.getDevice(options.deviceId);
63
+ return device;
64
+ }
65
+ // Now let's take data for each device:
66
+ const availableDevicesAndEmulators = this.getDeviceInstances().filter((d) => d.deviceInfo.status === constants_2.CONNECTED_STATUS &&
67
+ (!this.platform ||
68
+ d.deviceInfo.platform.toLowerCase() === this.platform.toLowerCase()));
69
+ const selectedDevices = availableDevicesAndEmulators.filter((d) => options.onlyEmulators
70
+ ? d.isEmulator
71
+ : options.onlyDevices
72
+ ? !d.isEmulator
73
+ : true);
74
+ if (selectedDevices.length > 1) {
75
+ if ((0, helpers_1.isInteractive)()) {
76
+ const choices = selectedDevices.map((e) => `${e.deviceInfo.identifier} - ${e.deviceInfo.displayName}`);
77
+ const selectedDeviceString = await this.$prompter.promptForChoice("Select device for debugging", choices);
78
+ const selectedDevice = _.find(selectedDevices, (d) => `${d.deviceInfo.identifier} - ${d.deviceInfo.displayName}` ===
79
+ selectedDeviceString);
80
+ return selectedDevice;
74
81
  }
75
- // Now let's take data for each device:
76
- const availableDevicesAndEmulators = this.getDeviceInstances().filter((d) => d.deviceInfo.status === constants_2.CONNECTED_STATUS &&
77
- (!this.platform ||
78
- d.deviceInfo.platform.toLowerCase() === this.platform.toLowerCase()));
79
- const selectedDevices = availableDevicesAndEmulators.filter((d) => options.onlyEmulators
80
- ? d.isEmulator
81
- : options.onlyDevices
82
- ? !d.isEmulator
83
- : true);
84
- if (selectedDevices.length > 1) {
85
- if ((0, helpers_1.isInteractive)()) {
86
- const choices = selectedDevices.map((e) => `${e.deviceInfo.identifier} - ${e.deviceInfo.displayName}`);
87
- const selectedDeviceString = yield this.$prompter.promptForChoice("Select device for debugging", choices);
88
- const selectedDevice = _.find(selectedDevices, (d) => `${d.deviceInfo.identifier} - ${d.deviceInfo.displayName}` ===
89
- selectedDeviceString);
90
- return selectedDevice;
82
+ else {
83
+ const sortedInstances = _.sortBy(selectedDevices, (e) => e.deviceInfo.version);
84
+ const emulators = sortedInstances.filter((e) => e.isEmulator);
85
+ const devices = sortedInstances.filter((d) => !d.isEmulator);
86
+ let selectedInstance;
87
+ if (options.onlyEmulators || options.onlyDevices) {
88
+ // When --emulator or --forDevice is passed, the instances are already filtered
89
+ // So we are sure we have exactly the type we need and we can safely return the last one (highest OS version).
90
+ selectedInstance = _.last(sortedInstances);
91
91
  }
92
92
  else {
93
- const sortedInstances = _.sortBy(selectedDevices, (e) => e.deviceInfo.version);
94
- const emulators = sortedInstances.filter((e) => e.isEmulator);
95
- const devices = sortedInstances.filter((d) => !d.isEmulator);
96
- let selectedInstance;
97
- if (options.onlyEmulators || options.onlyDevices) {
98
- // When --emulator or --forDevice is passed, the instances are already filtered
99
- // So we are sure we have exactly the type we need and we can safely return the last one (highest OS version).
100
- selectedInstance = _.last(sortedInstances);
93
+ if (emulators.length) {
94
+ selectedInstance = _.last(emulators);
101
95
  }
102
96
  else {
103
- if (emulators.length) {
104
- selectedInstance = _.last(emulators);
105
- }
106
- else {
107
- selectedInstance = _.last(devices);
108
- }
97
+ selectedInstance = _.last(devices);
109
98
  }
110
- this.$logger.warn(`Multiple devices/emulators found. Starting debugger on ${selectedInstance.deviceInfo.identifier}. ` +
111
- "If you want to debug on specific device/emulator, you can specify it with --device option.");
112
- return selectedInstance;
113
99
  }
100
+ this.$logger.warn(`Multiple devices/emulators found. Starting debugger on ${selectedInstance.deviceInfo.identifier}. ` +
101
+ "If you want to debug on specific device/emulator, you can specify it with --device option.");
102
+ return selectedInstance;
114
103
  }
115
- else if (selectedDevices.length === 1) {
116
- return _.head(selectedDevices);
117
- }
118
- this.$errors.fail(constants_1.DebugCommandErrors.NO_DEVICES_EMULATORS_FOUND_FOR_OPTIONS);
119
- });
104
+ }
105
+ else if (selectedDevices.length === 1) {
106
+ return _.head(selectedDevices);
107
+ }
108
+ this.$errors.fail(constants_1.DebugCommandErrors.NO_DEVICES_EMULATORS_FOUND_FOR_OPTIONS);
120
109
  }
121
- getEmulatorImages(options) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const result = Object.create(null);
124
- if (this.$hostInfo.isDarwin &&
125
- (!options ||
126
- !options.platform ||
127
- this.$mobileHelper.isiOSPlatform(options.platform))) {
128
- result.ios = yield this.$iOSEmulatorServices.getEmulatorImages();
129
- }
130
- if (!options ||
110
+ async getEmulatorImages(options) {
111
+ const result = Object.create(null);
112
+ if (this.$hostInfo.isDarwin &&
113
+ (!options ||
131
114
  !options.platform ||
132
- this.$mobileHelper.isAndroidPlatform(options.platform)) {
133
- result.android = yield this.$androidEmulatorServices.getEmulatorImages();
134
- }
135
- return result;
136
- });
115
+ this.$mobileHelper.isiOSPlatform(options.platform))) {
116
+ result.ios = await this.$iOSEmulatorServices.getEmulatorImages();
117
+ }
118
+ if (!options ||
119
+ !options.platform ||
120
+ this.$mobileHelper.isAndroidPlatform(options.platform)) {
121
+ result.android = await this.$androidEmulatorServices.getEmulatorImages();
122
+ }
123
+ return result;
137
124
  }
138
- startEmulator(options) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- if (!options || (!options.imageIdentifier && !options.emulatorIdOrName)) {
141
- return ["Missing mandatory image identifier or name option."];
142
- }
143
- const availableEmulatorsOutput = yield this.getEmulatorImages({
144
- platform: options.platform,
145
- });
146
- const emulators = this.$emulatorHelper.getEmulatorsFromAvailableEmulatorsOutput(availableEmulatorsOutput);
147
- const errors = this.$emulatorHelper.getErrorsFromAvailableEmulatorsOutput(availableEmulatorsOutput);
148
- let emulator = null;
149
- if (options.imageIdentifier) {
150
- emulator = this.$emulatorHelper.getEmulatorByImageIdentifier(options.imageIdentifier, emulators);
151
- }
152
- else if (options.emulatorIdOrName) {
153
- emulator = this.$emulatorHelper.getEmulatorByIdOrName(options.emulatorIdOrName, emulators);
154
- }
155
- if (!emulator) {
156
- const additionalErrors = errors && errors.length ? errors : [];
157
- return [
158
- `Unable to find emulator with provided options: ${options}`,
159
- ...additionalErrors,
160
- ];
161
- }
162
- // emulator is already running
163
- if (emulator.status === constants.RUNNING_EMULATOR_STATUS) {
164
- return null;
165
- }
166
- options.emulator = emulator;
167
- const emulatorService = this.resolveEmulatorServices(emulator.platform);
168
- const result = yield emulatorService.startEmulator(options);
169
- return result.errors && result.errors.length ? result.errors : null;
125
+ async startEmulator(options) {
126
+ if (!options || (!options.imageIdentifier && !options.emulatorIdOrName)) {
127
+ return ["Missing mandatory image identifier or name option."];
128
+ }
129
+ const availableEmulatorsOutput = await this.getEmulatorImages({
130
+ platform: options.platform,
170
131
  });
132
+ const emulators = this.$emulatorHelper.getEmulatorsFromAvailableEmulatorsOutput(availableEmulatorsOutput);
133
+ const errors = this.$emulatorHelper.getErrorsFromAvailableEmulatorsOutput(availableEmulatorsOutput);
134
+ let emulator = null;
135
+ if (options.imageIdentifier) {
136
+ emulator = this.$emulatorHelper.getEmulatorByImageIdentifier(options.imageIdentifier, emulators);
137
+ }
138
+ else if (options.emulatorIdOrName) {
139
+ emulator = this.$emulatorHelper.getEmulatorByIdOrName(options.emulatorIdOrName, emulators);
140
+ }
141
+ if (!emulator) {
142
+ const additionalErrors = errors && errors.length ? errors : [];
143
+ return [
144
+ `Unable to find emulator with provided options: ${options}`,
145
+ ...additionalErrors,
146
+ ];
147
+ }
148
+ // emulator is already running
149
+ if (emulator.status === constants.RUNNING_EMULATOR_STATUS) {
150
+ return null;
151
+ }
152
+ options.emulator = emulator;
153
+ const emulatorService = this.resolveEmulatorServices(emulator.platform);
154
+ const result = await emulatorService.startEmulator(options);
155
+ return result.errors && result.errors.length ? result.errors : null;
171
156
  }
172
157
  get platform() {
173
158
  return this._platform;
@@ -213,11 +198,9 @@ class DevicesService extends events_1.EventEmitter {
213
198
  return device;
214
199
  });
215
200
  }
216
- getInstalledApplications(deviceIdentifier) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- const device = yield this.getDevice(deviceIdentifier);
219
- return device.applicationManager.getInstalledApplications();
220
- });
201
+ async getInstalledApplications(deviceIdentifier) {
202
+ const device = await this.getDevice(deviceIdentifier);
203
+ return device.applicationManager.getInstalledApplications();
221
204
  }
222
205
  addDeviceDiscovery(deviceDiscovery) {
223
206
  this._otherDeviceDiscoveries.push(deviceDiscovery);
@@ -273,66 +256,62 @@ class DevicesService extends events_1.EventEmitter {
273
256
  /**
274
257
  * Starts looking for devices. Any found devices are pushed to "_devices" variable.
275
258
  */
276
- detectCurrentlyAttachedDevices(deviceInitOpts) {
277
- return __awaiter(this, void 0, void 0, function* () {
278
- const options = this.getDeviceLookingOptions(deviceInitOpts);
279
- for (const deviceDiscovery of this._allDeviceDiscoveries) {
280
- try {
281
- yield deviceDiscovery.startLookingForDevices(options);
282
- }
283
- catch (err) {
284
- this.$logger.trace("Error while checking for devices.", err);
285
- }
286
- }
287
- });
288
- }
289
- detectCurrentlyAvailableEmulators() {
290
- return __awaiter(this, void 0, void 0, function* () {
291
- try {
292
- yield this.$androidEmulatorDiscovery.startLookingForDevices();
293
- }
294
- catch (err) {
295
- this.$logger.trace(`Error while checking for Android emulators. ${err}`);
296
- }
259
+ async detectCurrentlyAttachedDevices(deviceInitOpts) {
260
+ const options = this.getDeviceLookingOptions(deviceInitOpts);
261
+ for (const deviceDiscovery of this._allDeviceDiscoveries) {
297
262
  try {
298
- yield this.$iOSSimulatorDiscovery.checkForAvailableSimulators();
263
+ await deviceDiscovery.startLookingForDevices(options);
299
264
  }
300
265
  catch (err) {
301
- this.$logger.trace(`Error while checking for iOS simulators. ${err}`);
266
+ this.$logger.trace("Error while checking for devices.", err);
302
267
  }
303
- });
268
+ }
269
+ }
270
+ async detectCurrentlyAvailableEmulators() {
271
+ try {
272
+ await this.$androidEmulatorDiscovery.startLookingForDevices();
273
+ }
274
+ catch (err) {
275
+ this.$logger.trace(`Error while checking for Android emulators. ${err}`);
276
+ }
277
+ try {
278
+ await this.$iOSSimulatorDiscovery.checkForAvailableSimulators();
279
+ }
280
+ catch (err) {
281
+ this.$logger.trace(`Error while checking for iOS simulators. ${err}`);
282
+ }
304
283
  }
305
284
  startDeviceDetectionInterval(deviceInitOpts = {}) {
306
285
  if (!this.deviceDetectionInterval) {
307
286
  let isDeviceDetectionIntervalInProgress = false;
308
- this.deviceDetectionInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
287
+ this.deviceDetectionInterval = setInterval(async () => {
309
288
  if (isDeviceDetectionIntervalInProgress) {
310
289
  return;
311
290
  }
312
291
  isDeviceDetectionIntervalInProgress = true;
313
- yield this.detectCurrentlyAttachedDevices(deviceInitOpts);
292
+ await this.detectCurrentlyAttachedDevices(deviceInitOpts);
314
293
  try {
315
294
  const trustedDevices = _.filter(this._devices, (device) => device.deviceInfo.status === constants.CONNECTED_STATUS);
316
- yield (0, helpers_1.settlePromises)(_.map(trustedDevices, (device) => device.applicationManager.checkForApplicationUpdates()));
295
+ await (0, helpers_1.settlePromises)(_.map(trustedDevices, (device) => device.applicationManager.checkForApplicationUpdates()));
317
296
  }
318
297
  catch (err) {
319
298
  this.$logger.trace("Error checking for application updates on devices.", err);
320
299
  }
321
300
  isDeviceDetectionIntervalInProgress = false;
322
- }), deviceInitOpts.detectionInterval || DevicesService.DEVICE_LOOKING_INTERVAL);
301
+ }, deviceInitOpts.detectionInterval || DevicesService.DEVICE_LOOKING_INTERVAL);
323
302
  this.deviceDetectionInterval.unref();
324
303
  }
325
304
  }
326
305
  startEmulatorDetectionInterval(opts = {}) {
327
306
  let isEmulatorDetectionIntervalRunning = false;
328
- this.emulatorDetectionInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
307
+ this.emulatorDetectionInterval = setInterval(async () => {
329
308
  if (isEmulatorDetectionIntervalRunning) {
330
309
  return;
331
310
  }
332
311
  isEmulatorDetectionIntervalRunning = true;
333
- yield this.detectCurrentlyAvailableEmulators();
312
+ await this.detectCurrentlyAvailableEmulators();
334
313
  isEmulatorDetectionIntervalRunning = false;
335
- }), opts.detectionInterval || DevicesService.EMULATOR_IMAGES_DETECTION_INTERVAL);
314
+ }, opts.detectionInterval || DevicesService.EMULATOR_IMAGES_DETECTION_INTERVAL);
336
315
  this.emulatorDetectionInterval.unref();
337
316
  }
338
317
  stopDeviceDetectionInterval() {
@@ -368,16 +347,14 @@ class DevicesService extends events_1.EventEmitter {
368
347
  /**
369
348
  * Starts looking for running devices. All found devices are pushed to _devices variable.
370
349
  */
371
- startLookingForDevices(deviceInitOpts) {
372
- return __awaiter(this, void 0, void 0, function* () {
373
- this.$logger.trace("startLookingForDevices; platform is %s", this._platform);
374
- if (this._platform) {
375
- return this.detectCurrentlyAttachedDevices(deviceInitOpts);
376
- }
377
- yield this.detectCurrentlyAttachedDevices(deviceInitOpts);
378
- yield this.detectCurrentlyAvailableEmulators();
379
- yield this.startDeviceDetectionInterval(deviceInitOpts);
380
- });
350
+ async startLookingForDevices(deviceInitOpts) {
351
+ this.$logger.trace("startLookingForDevices; platform is %s", this._platform);
352
+ if (this._platform) {
353
+ return this.detectCurrentlyAttachedDevices(deviceInitOpts);
354
+ }
355
+ await this.detectCurrentlyAttachedDevices(deviceInitOpts);
356
+ await this.detectCurrentlyAvailableEmulators();
357
+ await this.startDeviceDetectionInterval(deviceInitOpts);
381
358
  }
382
359
  /**
383
360
  * Returns device depending on the passed index.
@@ -393,84 +370,78 @@ class DevicesService extends events_1.EventEmitter {
393
370
  * Method expects running devices.
394
371
  * @param deviceOption parameter passed by the user to --device flag. Can be name, identifier or imageIdentifier.
395
372
  */
396
- getDevice(deviceOption) {
397
- return __awaiter(this, void 0, void 0, function* () {
398
- let device = null;
399
- if (!device) {
400
- device = _.find(this.getDeviceInstances(), (d) => (d.deviceInfo.identifier &&
401
- d.deviceInfo.identifier === deviceOption) ||
402
- (d.deviceInfo.displayName &&
403
- d.deviceInfo.displayName === deviceOption) ||
404
- (d.deviceInfo.imageIdentifier &&
405
- d.deviceInfo.imageIdentifier === deviceOption));
406
- }
407
- if (!device && helpers.isNumberWithoutExponent(deviceOption)) {
408
- device = this.getDeviceByIndex(parseInt(deviceOption, 10));
409
- }
410
- if (!device) {
411
- this.$errors.fail(this.$messages.Devices
412
- .NotFoundDeviceByIdentifierErrorMessageWithIdentifier, deviceOption, this.$staticConfig.CLIENT_NAME.toLowerCase());
413
- }
414
- return device;
415
- });
373
+ async getDevice(deviceOption) {
374
+ let device = null;
375
+ if (!device) {
376
+ device = _.find(this.getDeviceInstances(), (d) => (d.deviceInfo.identifier &&
377
+ d.deviceInfo.identifier === deviceOption) ||
378
+ (d.deviceInfo.displayName &&
379
+ d.deviceInfo.displayName === deviceOption) ||
380
+ (d.deviceInfo.imageIdentifier &&
381
+ d.deviceInfo.imageIdentifier === deviceOption));
382
+ }
383
+ if (!device && helpers.isNumberWithoutExponent(deviceOption)) {
384
+ device = this.getDeviceByIndex(parseInt(deviceOption, 10));
385
+ }
386
+ if (!device) {
387
+ this.$errors.fail(this.$messages.Devices
388
+ .NotFoundDeviceByIdentifierErrorMessageWithIdentifier, deviceOption, this.$staticConfig.CLIENT_NAME.toLowerCase());
389
+ }
390
+ return device;
416
391
  }
417
392
  /**
418
393
  * Method runs action for a --device (value), specified by the user.
419
394
  * @param action action to be executed if canExecute returns true
420
395
  * @param canExecute predicate to decide whether the command can be ran
421
396
  */
422
- executeOnDevice(action, canExecute) {
423
- return __awaiter(this, void 0, void 0, function* () {
424
- if (!canExecute || canExecute(this._device)) {
425
- return {
426
- deviceIdentifier: this._device.deviceInfo.identifier,
427
- result: yield action(this._device),
428
- };
429
- }
430
- });
397
+ async executeOnDevice(action, canExecute) {
398
+ if (!canExecute || canExecute(this._device)) {
399
+ return {
400
+ deviceIdentifier: this._device.deviceInfo.identifier,
401
+ result: await action(this._device),
402
+ };
403
+ }
431
404
  }
432
405
  /**
433
406
  * Executes passed action for each found device.
434
407
  * @param action action to be executed if canExecute returns true
435
408
  * @param canExecute predicate to decide whether the command can be ran
436
409
  */
437
- executeOnAllConnectedDevices(action, canExecute) {
438
- return __awaiter(this, void 0, void 0, function* () {
439
- const devices = this.filterDevicesByPlatform();
440
- const sortedDevices = _.sortBy(devices, (device) => device.deviceInfo.platform);
441
- const result = [];
442
- const errors = [];
443
- for (const device of sortedDevices) {
444
- try {
445
- if (!canExecute || canExecute(device)) {
446
- result.push({
447
- deviceIdentifier: device.deviceInfo.identifier,
448
- result: yield action(device),
449
- });
450
- }
451
- }
452
- catch (err) {
453
- err.deviceIdentifier = device.deviceInfo.identifier;
454
- this.$logger.trace(`Error while executing action on device ${device.deviceInfo.identifier}. The error is`, err);
455
- errors.push(err);
410
+ async executeOnAllConnectedDevices(action, canExecute) {
411
+ const devices = this.filterDevicesByPlatform();
412
+ const sortedDevices = _.sortBy(devices, (device) => device.deviceInfo.platform);
413
+ const result = [];
414
+ const errors = [];
415
+ for (const device of sortedDevices) {
416
+ try {
417
+ if (!canExecute || canExecute(device)) {
418
+ result.push({
419
+ deviceIdentifier: device.deviceInfo.identifier,
420
+ result: await action(device),
421
+ });
456
422
  }
457
423
  }
458
- if (errors.length) {
459
- let preErrorMsg = "";
460
- if (errors.length > 1) {
461
- preErrorMsg = "Multiple errors were thrown:" + os_1.EOL;
462
- }
463
- const errorMessage = `${preErrorMsg}${errors
464
- .map((e) => e.message || e)
465
- .join(os_1.EOL)}`;
466
- this.$errors.fail(errorMessage);
424
+ catch (err) {
425
+ err.deviceIdentifier = device.deviceInfo.identifier;
426
+ this.$logger.trace(`Error while executing action on device ${device.deviceInfo.identifier}. The error is`, err);
427
+ errors.push(err);
467
428
  }
468
- return result;
469
- });
429
+ }
430
+ if (errors.length) {
431
+ let preErrorMsg = "";
432
+ if (errors.length > 1) {
433
+ preErrorMsg = "Multiple errors were thrown:" + os_1.EOL;
434
+ }
435
+ const errorMessage = `${preErrorMsg}${errors
436
+ .map((e) => e.message || e)
437
+ .join(os_1.EOL)}`;
438
+ this.$errors.fail(errorMessage);
439
+ }
440
+ return result;
470
441
  }
471
442
  deployOnDevices(deviceIdentifiers, packagePath, appId, projectName, projectDir) {
472
443
  this.$logger.trace(`Called deployOnDevices for identifiers ${deviceIdentifiers} for packageFile: ${packagePath}. Application identifier is ${appId}. Project Name is: ${projectName}`);
473
- return _.map(deviceIdentifiers, (deviceIdentifier) => __awaiter(this, void 0, void 0, function* () {
444
+ return _.map(deviceIdentifiers, async (deviceIdentifier) => {
474
445
  const device = this.getDeviceByIdentifier(deviceIdentifier);
475
446
  let identifier;
476
447
  if (typeof appId === "string") {
@@ -485,7 +456,7 @@ class DevicesService extends events_1.EventEmitter {
485
456
  projectName,
486
457
  projectDir,
487
458
  });
488
- }));
459
+ });
489
460
  }
490
461
  /**
491
462
  * Runs the passed action if the predicate "canExecute" returns true
@@ -493,111 +464,106 @@ class DevicesService extends events_1.EventEmitter {
493
464
  * @param canExecute predicate to decide whether the command can be ran
494
465
  * @param options all possible options that can be passed to the command.
495
466
  */
496
- execute(action, canExecute, options) {
497
- return __awaiter(this, void 0, void 0, function* () {
498
- assert.ok(this._isInitialized, "Devices services not initialized!");
499
- if (this.hasDevices) {
500
- if (this.$hostInfo.isDarwin &&
501
- this._platform &&
502
- this.$mobileHelper.isiOSPlatform(this._platform) &&
503
- this.$options.emulator &&
504
- !this.isOnlyiOSSimultorRunning()) {
505
- // Executes the command only on iOS simulator
506
- const originalCanExecute = canExecute;
507
- canExecute = (dev) => this.isiOSSimulator(dev) &&
508
- (!originalCanExecute || !!originalCanExecute(dev));
509
- }
510
- return this.executeCore(action, canExecute);
467
+ async execute(action, canExecute, options) {
468
+ assert.ok(this._isInitialized, "Devices services not initialized!");
469
+ if (this.hasDevices) {
470
+ if (this.$hostInfo.isDarwin &&
471
+ this._platform &&
472
+ this.$mobileHelper.isiOSPlatform(this._platform) &&
473
+ this.$options.emulator &&
474
+ !this.isOnlyiOSSimultorRunning()) {
475
+ // Executes the command only on iOS simulator
476
+ const originalCanExecute = canExecute;
477
+ canExecute = (dev) => this.isiOSSimulator(dev) &&
478
+ (!originalCanExecute || !!originalCanExecute(dev));
479
+ }
480
+ return this.executeCore(action, canExecute);
481
+ }
482
+ else {
483
+ const message = constants.ERROR_NO_DEVICES;
484
+ if (options && options.allowNoDevices) {
485
+ this.$logger.info(message);
511
486
  }
512
487
  else {
513
- const message = constants.ERROR_NO_DEVICES;
514
- if (options && options.allowNoDevices) {
515
- this.$logger.info(message);
488
+ if (!this.$hostInfo.isDarwin &&
489
+ this._platform &&
490
+ this.$mobileHelper.isiOSPlatform(this._platform)) {
491
+ this.$errors.fail(message);
516
492
  }
517
493
  else {
518
- if (!this.$hostInfo.isDarwin &&
519
- this._platform &&
520
- this.$mobileHelper.isiOSPlatform(this._platform)) {
521
- this.$errors.fail(message);
522
- }
523
- else {
524
- return this.executeCore(action, canExecute);
525
- }
494
+ return this.executeCore(action, canExecute);
526
495
  }
527
496
  }
528
- });
497
+ }
529
498
  }
530
499
  /**
531
500
  * Starts emulator or simulator if necessary depending on --device or --emulator flags.
532
501
  * If no options are passed runs default emulator/simulator if no devices are connected.
533
502
  * @param deviceInitOpts mainly contains information about --emulator and --deviceId flags.
534
503
  */
535
- startEmulatorIfNecessary(deviceInitOpts) {
536
- return __awaiter(this, void 0, void 0, function* () {
537
- if (deviceInitOpts && deviceInitOpts.deviceId && deviceInitOpts.emulator) {
538
- this.$errors.fail(`--device and --emulator are incompatible options.
504
+ async startEmulatorIfNecessary(deviceInitOpts) {
505
+ if (deviceInitOpts && deviceInitOpts.deviceId && deviceInitOpts.emulator) {
506
+ this.$errors.fail(`--device and --emulator are incompatible options.
539
507
  If you are trying to run on specific emulator, use "${this.$staticConfig.CLIENT_NAME} run --device <DeviceID>`);
508
+ }
509
+ if (deviceInitOpts &&
510
+ deviceInitOpts.platform &&
511
+ !deviceInitOpts.skipEmulatorStart) {
512
+ // are there any running devices
513
+ this._platform = deviceInitOpts.platform;
514
+ try {
515
+ await this.startLookingForDevices(deviceInitOpts);
540
516
  }
541
- if (deviceInitOpts &&
542
- deviceInitOpts.platform &&
543
- !deviceInitOpts.skipEmulatorStart) {
544
- // are there any running devices
545
- this._platform = deviceInitOpts.platform;
546
- try {
547
- yield this.startLookingForDevices(deviceInitOpts);
548
- }
549
- catch (err) {
550
- this.$logger.trace("Error while checking for devices.", err);
551
- }
552
- const deviceInstances = this.getDeviceInstances();
553
- if (!deviceInitOpts.deviceId && _.isEmpty(deviceInstances)) {
554
- if (!this.$hostInfo.isDarwin &&
555
- this.$mobileHelper.isApplePlatform(deviceInitOpts.platform)) {
556
- this.$errors.fail(constants.ERROR_NO_DEVICES_CANT_USE_IOS_SIMULATOR);
557
- }
558
- }
559
- try {
560
- yield this._startEmulatorIfNecessary(deviceInitOpts);
561
- }
562
- catch (err) {
563
- const errorMessage = this.getEmulatorError(err, deviceInitOpts.platform);
564
- this.$errors.fail(errorMessage);
565
- }
517
+ catch (err) {
518
+ this.$logger.trace("Error while checking for devices.", err);
566
519
  }
567
- });
568
- }
569
- _startEmulatorIfNecessary(data) {
570
- return __awaiter(this, void 0, void 0, function* () {
571
520
  const deviceInstances = this.getDeviceInstances();
572
- //if no --device is passed and no devices are found, the default emulator is started
573
- if (!data.deviceId && _.isEmpty(deviceInstances)) {
574
- return this.startEmulatorCore(data);
575
- }
576
- //check if --device(value) is running, if it's not or it's not the same as is specified, start with name from --device(value)
577
- if (data.deviceId) {
578
- if (!helpers.isNumberWithoutExponent(data.deviceId)) {
579
- const activeDeviceInstance = _.find(deviceInstances, (device) => device.deviceInfo.identifier === data.deviceId);
580
- if (!activeDeviceInstance) {
581
- return this.startEmulatorCore(data);
582
- }
521
+ if (!deviceInitOpts.deviceId && _.isEmpty(deviceInstances)) {
522
+ if (!this.$hostInfo.isDarwin &&
523
+ this.$mobileHelper.isApplePlatform(deviceInitOpts.platform)) {
524
+ this.$errors.fail(constants.ERROR_NO_DEVICES_CANT_USE_IOS_SIMULATOR);
583
525
  }
584
526
  }
585
- // make sure if the target platform is visionOS we don't try to run it on an already running iOS simulator...
586
- if (data.platform === this.$devicePlatformsConstants.visionOS &&
587
- deviceInstances.length) {
588
- const runningDeviceInstance = deviceInstances.find((device) => device.deviceInfo.platform === this.$devicePlatformsConstants.visionOS);
589
- if (!runningDeviceInstance) {
590
- return this.startEmulatorCore(data);
591
- }
527
+ try {
528
+ await this._startEmulatorIfNecessary(deviceInitOpts);
592
529
  }
593
- // if only emulator flag is passed and no other emulators are running, start default emulator
594
- if (data.emulator && deviceInstances.length) {
595
- const runningDeviceInstance = _.some(deviceInstances, (value) => value.isEmulator);
596
- if (!runningDeviceInstance) {
530
+ catch (err) {
531
+ const errorMessage = this.getEmulatorError(err, deviceInitOpts.platform);
532
+ this.$errors.fail(errorMessage);
533
+ }
534
+ }
535
+ }
536
+ async _startEmulatorIfNecessary(data) {
537
+ const deviceInstances = this.getDeviceInstances();
538
+ //if no --device is passed and no devices are found, the default emulator is started
539
+ if (!data.deviceId && _.isEmpty(deviceInstances)) {
540
+ return this.startEmulatorCore(data);
541
+ }
542
+ //check if --device(value) is running, if it's not or it's not the same as is specified, start with name from --device(value)
543
+ if (data.deviceId) {
544
+ if (!helpers.isNumberWithoutExponent(data.deviceId)) {
545
+ const activeDeviceInstance = _.find(deviceInstances, (device) => device.deviceInfo.identifier === data.deviceId);
546
+ if (!activeDeviceInstance) {
597
547
  return this.startEmulatorCore(data);
598
548
  }
599
549
  }
600
- });
550
+ }
551
+ // make sure if the target platform is visionOS we don't try to run it on an already running iOS simulator...
552
+ if (data.platform === this.$devicePlatformsConstants.visionOS &&
553
+ deviceInstances.length) {
554
+ const runningDeviceInstance = deviceInstances.find((device) => device.deviceInfo.platform ===
555
+ this.$devicePlatformsConstants.visionOS);
556
+ if (!runningDeviceInstance) {
557
+ return this.startEmulatorCore(data);
558
+ }
559
+ }
560
+ // if only emulator flag is passed and no other emulators are running, start default emulator
561
+ if (data.emulator && deviceInstances.length) {
562
+ const runningDeviceInstance = _.some(deviceInstances, (value) => value.isEmulator);
563
+ if (!runningDeviceInstance) {
564
+ return this.startEmulatorCore(data);
565
+ }
566
+ }
601
567
  }
602
568
  /**
603
569
  * Takes care of gathering information about all running devices.
@@ -605,21 +571,19 @@ class DevicesService extends events_1.EventEmitter {
605
571
  * Method expects running devices.
606
572
  * @param data mainly contains information about --emulator and --deviceId flags.
607
573
  */
608
- initialize(data) {
609
- return __awaiter(this, void 0, void 0, function* () {
610
- if (!this._deviceInitializePromise) {
611
- this._deviceInitializePromise = this.initializeCore(data);
612
- }
613
- try {
614
- yield this._deviceInitializePromise;
615
- }
616
- catch (err) {
617
- // In case the initalization fails, we want to allow calling `initlialize` again with other arguments for example, so remove the cached promise value.
618
- this.$logger.trace(`Error while initializing devicesService: ${err}`);
619
- this._deviceInitializePromise = null;
620
- throw err;
621
- }
622
- });
574
+ async initialize(data) {
575
+ if (!this._deviceInitializePromise) {
576
+ this._deviceInitializePromise = this.initializeCore(data);
577
+ }
578
+ try {
579
+ await this._deviceInitializePromise;
580
+ }
581
+ catch (err) {
582
+ // In case the initalization fails, we want to allow calling `initlialize` again with other arguments for example, so remove the cached promise value.
583
+ this.$logger.trace(`Error while initializing devicesService: ${err}`);
584
+ this._deviceInitializePromise = null;
585
+ throw err;
586
+ }
623
587
  }
624
588
  getPlatformsFromDeviceDescriptors(deviceDescriptors) {
625
589
  const platforms = _(deviceDescriptors)
@@ -629,93 +593,91 @@ class DevicesService extends events_1.EventEmitter {
629
593
  .value();
630
594
  return platforms;
631
595
  }
632
- initializeCore(deviceInitOpts) {
633
- return __awaiter(this, void 0, void 0, function* () {
634
- if (this._isInitialized) {
635
- return;
636
- }
637
- if (!this.$options.json) {
638
- this.$logger.info("Searching for devices...");
639
- }
640
- deviceInitOpts = deviceInitOpts || {};
641
- this._data = deviceInitOpts;
642
- if (!deviceInitOpts.skipEmulatorStart) {
643
- // TODO: Remove from here as it calls startLookingForDevices, so we double the calls to specific device detection services
644
- yield this.startEmulatorIfNecessary(deviceInitOpts);
645
- }
646
- const platform = deviceInitOpts.platform;
647
- const deviceOption = deviceInitOpts.deviceId;
648
- const deviceLookingOptions = {
649
- emulator: deviceInitOpts.emulator,
650
- platform: deviceInitOpts.platform,
651
- shouldReturnImmediateResult: deviceInitOpts.shouldReturnImmediateResult,
652
- detectionInterval: deviceInitOpts.detectionInterval,
653
- fullDiscovery: deviceInitOpts.fullDiscovery,
654
- };
655
- if (platform && deviceOption) {
656
- this._platform = this.$mobileHelper.validatePlatformName(deviceInitOpts.platform);
657
- yield this.startLookingForDevices(deviceLookingOptions);
658
- this._device = yield this.getDevice(deviceOption);
659
- if (this._device.deviceInfo.platform !== this._platform) {
660
- this.$errors.fail(constants.ERROR_CANNOT_RESOLVE_DEVICE);
596
+ async initializeCore(deviceInitOpts) {
597
+ if (this._isInitialized) {
598
+ return;
599
+ }
600
+ if (!this.$options.json) {
601
+ this.$logger.info("Searching for devices...");
602
+ }
603
+ deviceInitOpts = deviceInitOpts || {};
604
+ this._data = deviceInitOpts;
605
+ if (!deviceInitOpts.skipEmulatorStart) {
606
+ // TODO: Remove from here as it calls startLookingForDevices, so we double the calls to specific device detection services
607
+ await this.startEmulatorIfNecessary(deviceInitOpts);
608
+ }
609
+ const platform = deviceInitOpts.platform;
610
+ const deviceOption = deviceInitOpts.deviceId;
611
+ const deviceLookingOptions = {
612
+ emulator: deviceInitOpts.emulator,
613
+ platform: deviceInitOpts.platform,
614
+ shouldReturnImmediateResult: deviceInitOpts.shouldReturnImmediateResult,
615
+ detectionInterval: deviceInitOpts.detectionInterval,
616
+ fullDiscovery: deviceInitOpts.fullDiscovery,
617
+ };
618
+ if (platform && deviceOption) {
619
+ this._platform = this.$mobileHelper.validatePlatformName(deviceInitOpts.platform);
620
+ await this.startLookingForDevices(deviceLookingOptions);
621
+ this._device = await this.getDevice(deviceOption);
622
+ if (this._device.deviceInfo.platform !== this._platform) {
623
+ this.$errors.fail(constants.ERROR_CANNOT_RESOLVE_DEVICE);
624
+ }
625
+ this.$logger.warn("Your application will be deployed only on the device specified by the provided index or identifier.");
626
+ }
627
+ else if (!platform && deviceOption) {
628
+ await this.startLookingForDevices(deviceLookingOptions);
629
+ this._device = await this.getDevice(deviceOption);
630
+ this._platform = this._device.deviceInfo.platform;
631
+ }
632
+ else if (platform && !deviceOption) {
633
+ this._platform = this.$mobileHelper.validatePlatformName(platform);
634
+ await this.startLookingForDevices(deviceLookingOptions);
635
+ }
636
+ else {
637
+ // platform and deviceId are not specified
638
+ if (deviceInitOpts.skipInferPlatform) {
639
+ if (deviceInitOpts.skipDeviceDetectionInterval) {
640
+ await this.detectCurrentlyAttachedDevices(deviceLookingOptions);
641
+ }
642
+ else {
643
+ deviceInitOpts.shouldReturnImmediateResult = true;
644
+ await this.startLookingForDevices(deviceLookingOptions);
661
645
  }
662
- this.$logger.warn("Your application will be deployed only on the device specified by the provided index or identifier.");
663
- }
664
- else if (!platform && deviceOption) {
665
- yield this.startLookingForDevices(deviceLookingOptions);
666
- this._device = yield this.getDevice(deviceOption);
667
- this._platform = this._device.deviceInfo.platform;
668
- }
669
- else if (platform && !deviceOption) {
670
- this._platform = this.$mobileHelper.validatePlatformName(platform);
671
- yield this.startLookingForDevices(deviceLookingOptions);
672
646
  }
673
647
  else {
674
- // platform and deviceId are not specified
675
- if (deviceInitOpts.skipInferPlatform) {
676
- if (deviceInitOpts.skipDeviceDetectionInterval) {
677
- yield this.detectCurrentlyAttachedDevices(deviceLookingOptions);
648
+ await this.startLookingForDevices(deviceLookingOptions);
649
+ const devices = this.getDeviceInstances();
650
+ const platforms = _(devices)
651
+ .map((device) => device.deviceInfo.platform)
652
+ .filter((pl) => {
653
+ try {
654
+ return !!this.$mobileHelper.validatePlatformName(pl);
678
655
  }
679
- else {
680
- deviceInitOpts.shouldReturnImmediateResult = true;
681
- yield this.startLookingForDevices(deviceLookingOptions);
656
+ catch (err) {
657
+ this.$logger.warn(err.message);
658
+ return null;
682
659
  }
660
+ })
661
+ .uniq()
662
+ .value();
663
+ if (platforms.length === 1) {
664
+ this._platform = platforms[0];
665
+ }
666
+ else if (platforms.length === 0) {
667
+ this.$errors.fail(constants.ERROR_NO_DEVICES);
683
668
  }
684
669
  else {
685
- yield this.startLookingForDevices(deviceLookingOptions);
686
- const devices = this.getDeviceInstances();
687
- const platforms = _(devices)
688
- .map((device) => device.deviceInfo.platform)
689
- .filter((pl) => {
690
- try {
691
- return !!this.$mobileHelper.validatePlatformName(pl);
692
- }
693
- catch (err) {
694
- this.$logger.warn(err.message);
695
- return null;
696
- }
697
- })
698
- .uniq()
699
- .value();
700
- if (platforms.length === 1) {
701
- this._platform = platforms[0];
702
- }
703
- else if (platforms.length === 0) {
704
- this.$errors.fail(constants.ERROR_NO_DEVICES);
705
- }
706
- else {
707
- this.$errors.fail("Multiple device platforms detected (%s). Specify platform or device on command line.", helpers.formatListOfNames(platforms, "and"));
708
- }
670
+ this.$errors.fail("Multiple device platforms detected (%s). Specify platform or device on command line.", helpers.formatListOfNames(platforms, "and"));
709
671
  }
710
672
  }
711
- if (!this.$hostInfo.isDarwin &&
712
- this._platform &&
713
- this.$mobileHelper.isiOSPlatform(this._platform) &&
714
- this.$options.emulator) {
715
- this.$errors.fail(constants.ERROR_CANT_USE_SIMULATOR);
716
- }
717
- this._isInitialized = true;
718
- });
673
+ }
674
+ if (!this.$hostInfo.isDarwin &&
675
+ this._platform &&
676
+ this.$mobileHelper.isiOSPlatform(this._platform) &&
677
+ this.$options.emulator) {
678
+ this.$errors.fail(constants.ERROR_CANT_USE_SIMULATOR);
679
+ }
680
+ this._isInitialized = true;
719
681
  }
720
682
  get hasDevices() {
721
683
  if (!this._platform) {
@@ -735,30 +697,24 @@ class DevicesService extends events_1.EventEmitter {
735
697
  getDeviceByDeviceOption() {
736
698
  return this._device;
737
699
  }
738
- mapAbstractToTcpPort(deviceIdentifier, appIdentifier, framework) {
739
- return __awaiter(this, void 0, void 0, function* () {
740
- return this.$androidProcessService.mapAbstractToTcpPort(deviceIdentifier, appIdentifier, framework);
741
- });
700
+ async mapAbstractToTcpPort(deviceIdentifier, appIdentifier, framework) {
701
+ return this.$androidProcessService.mapAbstractToTcpPort(deviceIdentifier, appIdentifier, framework);
742
702
  }
743
703
  getDebuggableApps(deviceIdentifiers) {
744
704
  return _.map(deviceIdentifiers, (deviceIdentifier) => this.getDebuggableAppsCore(deviceIdentifier));
745
705
  }
746
- getDebuggableViews(deviceIdentifier, appIdentifier) {
747
- return __awaiter(this, void 0, void 0, function* () {
748
- const device = this.getDeviceByIdentifier(deviceIdentifier), debuggableViewsPerApp = yield device.applicationManager.getDebuggableAppViews([appIdentifier]);
749
- return debuggableViewsPerApp && debuggableViewsPerApp[appIdentifier];
750
- });
706
+ async getDebuggableViews(deviceIdentifier, appIdentifier) {
707
+ const device = this.getDeviceByIdentifier(deviceIdentifier), debuggableViewsPerApp = await device.applicationManager.getDebuggableAppViews([appIdentifier]);
708
+ return debuggableViewsPerApp && debuggableViewsPerApp[appIdentifier];
751
709
  }
752
710
  getDebuggableAppsCore(deviceIdentifier) {
753
711
  const device = this.getDeviceByIdentifier(deviceIdentifier);
754
712
  return device.applicationManager.getDebuggableApps();
755
713
  }
756
- deployOnDevice(device, appData) {
757
- return __awaiter(this, void 0, void 0, function* () {
758
- yield device.applicationManager.reinstallApplication(appData.appId, appData.packagePath);
759
- this.$logger.info(`Successfully deployed on device with identifier '${device.deviceInfo.identifier}'.`);
760
- yield device.applicationManager.tryStartApplication(appData);
761
- });
714
+ async deployOnDevice(device, appData) {
715
+ await device.applicationManager.reinstallApplication(appData.appId, appData.packagePath);
716
+ this.$logger.info(`Successfully deployed on device with identifier '${device.deviceInfo.identifier}'.`);
717
+ await device.applicationManager.tryStartApplication(appData);
762
718
  }
763
719
  filterDevicesByPlatform() {
764
720
  return _.filter(this.getDeviceInstances(), (device) => {
@@ -791,58 +747,52 @@ class DevicesService extends events_1.EventEmitter {
791
747
  * @param platform (optional) platform to start emulator/simulator for
792
748
  * @param emulatorIdOrName (optional) emulator/simulator image identifier or name
793
749
  */
794
- startEmulatorCore(deviceInitOpts = {}) {
795
- return __awaiter(this, void 0, void 0, function* () {
796
- const { deviceId } = deviceInitOpts;
797
- const platform = deviceInitOpts.platform || this._platform;
798
- const emulatorServices = this.resolveEmulatorServices(platform);
799
- if (!emulatorServices) {
800
- this.$errors.fail("Unable to detect platform for which to start emulator.");
801
- }
802
- const result = yield emulatorServices.startEmulator({
803
- emulatorIdOrName: deviceId,
804
- imageIdentifier: deviceId,
805
- platform: platform,
806
- sdk: this._data && this._data.sdk,
807
- });
808
- if (result && result.errors && result.errors.length) {
809
- this.$errors.fail(result.errors.join("\n"));
810
- }
811
- const deviceLookingOptions = this.getDeviceLookingOptions(deviceInitOpts);
812
- if (this.$mobileHelper.isAndroidPlatform(platform)) {
813
- yield this.$androidDeviceDiscovery.startLookingForDevices(deviceLookingOptions);
814
- }
815
- else if (this.$mobileHelper.isiOSPlatform(platform) &&
816
- this.$hostInfo.isDarwin) {
817
- yield this.$iOSSimulatorDiscovery.startLookingForDevices(deviceLookingOptions);
818
- }
750
+ async startEmulatorCore(deviceInitOpts = {}) {
751
+ const { deviceId } = deviceInitOpts;
752
+ const platform = deviceInitOpts.platform || this._platform;
753
+ const emulatorServices = this.resolveEmulatorServices(platform);
754
+ if (!emulatorServices) {
755
+ this.$errors.fail("Unable to detect platform for which to start emulator.");
756
+ }
757
+ const result = await emulatorServices.startEmulator({
758
+ emulatorIdOrName: deviceId,
759
+ imageIdentifier: deviceId,
760
+ platform: platform,
761
+ sdk: this._data && this._data.sdk,
819
762
  });
763
+ if (result && result.errors && result.errors.length) {
764
+ this.$errors.fail(result.errors.join("\n"));
765
+ }
766
+ const deviceLookingOptions = this.getDeviceLookingOptions(deviceInitOpts);
767
+ if (this.$mobileHelper.isAndroidPlatform(platform)) {
768
+ await this.$androidDeviceDiscovery.startLookingForDevices(deviceLookingOptions);
769
+ }
770
+ else if (this.$mobileHelper.isiOSPlatform(platform) &&
771
+ this.$hostInfo.isDarwin) {
772
+ await this.$iOSSimulatorDiscovery.startLookingForDevices(deviceLookingOptions);
773
+ }
820
774
  }
821
- executeCore(action, canExecute) {
822
- return __awaiter(this, void 0, void 0, function* () {
823
- if (this._device) {
824
- return [yield this.executeOnDevice(action, canExecute)];
825
- }
826
- return this.executeOnAllConnectedDevices(action, canExecute);
827
- });
775
+ async executeCore(action, canExecute) {
776
+ if (this._device) {
777
+ return [await this.executeOnDevice(action, canExecute)];
778
+ }
779
+ return this.executeOnAllConnectedDevices(action, canExecute);
828
780
  }
829
- isApplicationInstalledOnDevice(deviceIdentifier, appData) {
830
- return __awaiter(this, void 0, void 0, function* () {
831
- let isInstalled = false;
832
- const device = this.getDeviceByIdentifier(deviceIdentifier);
833
- try {
834
- isInstalled = yield device.applicationManager.isApplicationInstalled(appData.appId);
835
- yield device.applicationManager.tryStartApplication(appData);
836
- }
837
- catch (err) {
838
- this.$logger.trace("Error while checking is application installed. Error is: ", err);
839
- }
840
- return {
841
- appIdentifier: appData.appId,
842
- deviceIdentifier,
843
- isInstalled,
844
- };
845
- });
781
+ async isApplicationInstalledOnDevice(deviceIdentifier, appData) {
782
+ let isInstalled = false;
783
+ const device = this.getDeviceByIdentifier(deviceIdentifier);
784
+ try {
785
+ isInstalled = await device.applicationManager.isApplicationInstalled(appData.appId);
786
+ await device.applicationManager.tryStartApplication(appData);
787
+ }
788
+ catch (err) {
789
+ this.$logger.trace("Error while checking is application installed. Error is: ", err);
790
+ }
791
+ return {
792
+ appIdentifier: appData.appId,
793
+ deviceIdentifier,
794
+ isInstalled,
795
+ };
846
796
  }
847
797
  getDeviceLookingOptions(deviceInitOpts = {}) {
848
798
  const { shouldReturnImmediateResult, emulator } = deviceInitOpts;
@@ -865,6 +815,7 @@ class DevicesService extends events_1.EventEmitter {
865
815
  `To list available ${emulatorName.toLowerCase()} images, run '${this.$staticConfig.CLIENT_NAME.toLowerCase()} device <Platform> --available-devices'.`);
866
816
  }
867
817
  }
818
+ exports.DevicesService = DevicesService;
868
819
  DevicesService.DEVICE_LOOKING_INTERVAL = 200;
869
820
  DevicesService.EMULATOR_IMAGES_DETECTION_INTERVAL = 60 * 1000;
870
821
  __decorate([
@@ -918,6 +869,5 @@ __decorate([
918
869
  __decorate([
919
870
  (0, decorators_1.exported)("devicesService")
920
871
  ], DevicesService.prototype, "getDebuggableViews", null);
921
- exports.DevicesService = DevicesService;
922
872
  yok_1.injector.register("devicesService", DevicesService);
923
873
  //# sourceMappingURL=devices-service.js.map