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
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  // NOTE: This file is used to clean up resources used by CLI, when the CLI is killed.
13
4
  // The instances here are not shared with the ones in main CLI process.
@@ -32,13 +23,13 @@ const commandsInfos = [];
32
23
  const filesToDelete = [];
33
24
  const jsCommands = [];
34
25
  const requests = [];
35
- const executeRequest = (request) => __awaiter(void 0, void 0, void 0, function* () {
26
+ const executeRequest = async (request) => {
36
27
  const $httpClient = yok_1.injector.resolve("httpClient");
37
28
  try {
38
29
  fileLogService.logData({
39
30
  message: `Start executing request: ${request.method} ${request.url}`,
40
31
  });
41
- const response = yield $httpClient.httpRequest({
32
+ const response = await $httpClient.httpRequest({
42
33
  url: request.url,
43
34
  method: request.method,
44
35
  headers: request.headers,
@@ -54,14 +45,14 @@ const executeRequest = (request) => __awaiter(void 0, void 0, void 0, function*
54
45
  message: `Unable to execute request: ${request.method} ${request.url}`,
55
46
  });
56
47
  }
57
- });
58
- const executeJSCleanup = (jsCommand) => __awaiter(void 0, void 0, void 0, function* () {
48
+ };
49
+ const executeJSCleanup = async (jsCommand) => {
59
50
  const $childProcess = yok_1.injector.resolve("childProcess");
60
51
  try {
61
52
  fileLogService.logData({
62
53
  message: `Start executing action for file: ${jsCommand.filePath} and data ${JSON.stringify(jsCommand.data)}`,
63
54
  });
64
- yield $childProcess.trySpawnFromCloseEvent(process.execPath, [
55
+ await $childProcess.trySpawnFromCloseEvent(process.execPath, [
65
56
  path.join(__dirname, "cleanup-js-subprocess.js"),
66
57
  pathToBootstrap,
67
58
  logFile,
@@ -78,21 +69,21 @@ const executeJSCleanup = (jsCommand) => __awaiter(void 0, void 0, void 0, functi
78
69
  type: "Error" /* FileLogMessageType.Error */,
79
70
  });
80
71
  }
81
- });
82
- const executeCleanup = () => __awaiter(void 0, void 0, void 0, function* () {
72
+ };
73
+ const executeCleanup = async () => {
83
74
  const $childProcess = yok_1.injector.resolve("childProcess");
84
75
  for (const request of requests) {
85
- yield executeRequest(request);
76
+ await executeRequest(request);
86
77
  }
87
78
  for (const jsCommand of jsCommands) {
88
- yield executeJSCleanup(jsCommand);
79
+ await executeJSCleanup(jsCommand);
89
80
  }
90
81
  for (const commandInfo of commandsInfos) {
91
82
  try {
92
83
  fileLogService.logData({
93
84
  message: `Start executing command: ${JSON.stringify(commandInfo)}`,
94
85
  });
95
- yield $childProcess.trySpawnFromCloseEvent(commandInfo.command, commandInfo.args, commandInfo.options || {}, { throwError: true, timeout: commandInfo.timeout || 3000 });
86
+ await $childProcess.trySpawnFromCloseEvent(commandInfo.command, commandInfo.args, commandInfo.options || {}, { throwError: true, timeout: commandInfo.timeout || 3000 });
96
87
  fileLogService.logData({
97
88
  message: `Successfully executed command: ${JSON.stringify(commandInfo)}`,
98
89
  });
@@ -120,7 +111,7 @@ const executeCleanup = () => __awaiter(void 0, void 0, void 0, function* () {
120
111
  }
121
112
  fileLogService.logData({ message: `cleanup-process finished` });
122
113
  process.exit();
123
- });
114
+ };
124
115
  const addCleanupAction = (commandInfo) => {
125
116
  if (_.some(commandsInfos, (currentCommandInfo) => _.isEqual(currentCommandInfo, commandInfo))) {
126
117
  fileLogService.logData({
@@ -231,7 +222,7 @@ const removeJSFile = (jsCommand) => {
231
222
  });
232
223
  }
233
224
  };
234
- process.on("message", (cleanupProcessMessage) => __awaiter(void 0, void 0, void 0, function* () {
225
+ process.on("message", async (cleanupProcessMessage) => {
235
226
  fileLogService.logData({
236
227
  message: `cleanup-process received message of type: ${JSON.stringify(cleanupProcessMessage)}`,
237
228
  });
@@ -269,15 +260,15 @@ process.on("message", (cleanupProcessMessage) => __awaiter(void 0, void 0, void
269
260
  });
270
261
  break;
271
262
  }
272
- }));
273
- process.on("disconnect", () => __awaiter(void 0, void 0, void 0, function* () {
263
+ });
264
+ process.on("disconnect", async () => {
274
265
  fileLogService.logData({
275
266
  message: "cleanup-process received process.disconnect event",
276
267
  });
277
- yield executeCleanup();
268
+ await executeCleanup();
278
269
  yok_1.injector.dispose();
279
270
  process.exit();
280
- }));
271
+ });
281
272
  fileLogService.logData({
282
273
  message: `cleanup-process will send ${"ProcessReadyToReceive" /* DetachedProcessMessages.ProcessReadyToReceive */} message`,
283
274
  });
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.DevicePathProvider = void 0;
13
4
  const helpers_1 = require("./common/helpers");
@@ -21,33 +12,31 @@ class DevicePathProvider {
21
12
  this.$iOSSimResolver = $iOSSimResolver;
22
13
  this.$errors = $errors;
23
14
  }
24
- getDeviceProjectRootPath(device, options) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- let projectRoot = "";
27
- if (this.$mobileHelper.isApplePlatform(device.deviceInfo.platform)) {
28
- projectRoot = device.isEmulator
29
- ? yield this.$iOSSimResolver.iOSSim.getApplicationPath(device.deviceInfo.identifier, options.appIdentifier)
30
- : constants_2.LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH;
31
- if (!projectRoot) {
32
- this.$errors.fail("Unable to get application path on device.");
33
- }
34
- if (!options.getDirname) {
35
- projectRoot = path.join(projectRoot, constants_1.APP_FOLDER_NAME);
36
- }
15
+ async getDeviceProjectRootPath(device, options) {
16
+ let projectRoot = "";
17
+ if (this.$mobileHelper.isApplePlatform(device.deviceInfo.platform)) {
18
+ projectRoot = device.isEmulator
19
+ ? await this.$iOSSimResolver.iOSSim.getApplicationPath(device.deviceInfo.identifier, options.appIdentifier)
20
+ : constants_2.LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH;
21
+ if (!projectRoot) {
22
+ this.$errors.fail("Unable to get application path on device.");
37
23
  }
38
- else if (this.$mobileHelper.isAndroidPlatform(device.deviceInfo.platform)) {
39
- projectRoot = `${constants_2.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${options.appIdentifier}`;
40
- if (!options.getDirname) {
41
- const hashService = (device).fileSystem.getDeviceHashService(options.appIdentifier);
42
- const hashFile = yield hashService.doesShasumFileExistsOnDevice();
43
- const syncFolderName = options.watch || hashFile
44
- ? constants_2.LiveSyncPaths.SYNC_DIR_NAME
45
- : constants_2.LiveSyncPaths.FULLSYNC_DIR_NAME;
46
- projectRoot = path.join(projectRoot, syncFolderName);
47
- }
24
+ if (!options.getDirname) {
25
+ projectRoot = path.join(projectRoot, constants_1.APP_FOLDER_NAME);
48
26
  }
49
- return (0, helpers_1.fromWindowsRelativePathToUnix)(projectRoot);
50
- });
27
+ }
28
+ else if (this.$mobileHelper.isAndroidPlatform(device.deviceInfo.platform)) {
29
+ projectRoot = `${constants_2.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${options.appIdentifier}`;
30
+ if (!options.getDirname) {
31
+ const hashService = (device).fileSystem.getDeviceHashService(options.appIdentifier);
32
+ const hashFile = await hashService.doesShasumFileExistsOnDevice();
33
+ const syncFolderName = options.watch || hashFile
34
+ ? constants_2.LiveSyncPaths.SYNC_DIR_NAME
35
+ : constants_2.LiveSyncPaths.FULLSYNC_DIR_NAME;
36
+ projectRoot = path.join(projectRoot, syncFolderName);
37
+ }
38
+ }
39
+ return (0, helpers_1.fromWindowsRelativePathToUnix)(projectRoot);
51
40
  }
52
41
  getDeviceSyncZipPath(device) {
53
42
  return this.$mobileHelper.isApplePlatform(device.deviceInfo.platform) &&
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AppDebugSocketProxyFactory = void 0;
13
4
  const events_1 = require("events");
@@ -31,181 +22,175 @@ class AppDebugSocketProxyFactory extends events_1.EventEmitter {
31
22
  getTCPSocketProxy(deviceIdentifier, appId) {
32
23
  return this.deviceTcpServers[`${deviceIdentifier}-${appId}`];
33
24
  }
34
- addTCPSocketProxy(device, appId, projectName, projectDir) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const cacheKey = `${device.deviceInfo.identifier}-${appId}`;
37
- const existingServer = this.deviceTcpServers[cacheKey];
38
- if (existingServer) {
39
- this.$errors.fail(`TCP socket proxy is already running for device '${device.deviceInfo.identifier}' and app '${appId}'`);
40
- }
41
- this.$logger.info("\nSetting up proxy...\nPress Ctrl + C to terminate, or disconnect.\n");
42
- const server = net.createServer({
43
- allowHalfOpen: true,
25
+ async addTCPSocketProxy(device, appId, projectName, projectDir) {
26
+ const cacheKey = `${device.deviceInfo.identifier}-${appId}`;
27
+ const existingServer = this.deviceTcpServers[cacheKey];
28
+ if (existingServer) {
29
+ this.$errors.fail(`TCP socket proxy is already running for device '${device.deviceInfo.identifier}' and app '${appId}'`);
30
+ }
31
+ this.$logger.info("\nSetting up proxy...\nPress Ctrl + C to terminate, or disconnect.\n");
32
+ const server = net.createServer({
33
+ allowHalfOpen: true,
34
+ });
35
+ this.deviceTcpServers[cacheKey] = server;
36
+ server.on("connection", async (frontendSocket) => {
37
+ this.$logger.info("Frontend client connected.");
38
+ frontendSocket.on("end", () => {
39
+ this.$logger.info("Frontend socket closed!");
40
+ if (!this.$options.watch) {
41
+ process.exit(0);
42
+ }
44
43
  });
45
- this.deviceTcpServers[cacheKey] = server;
46
- server.on("connection", (frontendSocket) => __awaiter(this, void 0, void 0, function* () {
47
- this.$logger.info("Frontend client connected.");
48
- frontendSocket.on("end", () => {
49
- this.$logger.info("Frontend socket closed!");
50
- if (!this.$options.watch) {
51
- process.exit(0);
52
- }
53
- });
54
- const appDebugSocket = yield device.getDebugSocket(appId, projectName, projectDir);
55
- this.$logger.info("Backend socket created.");
56
- appDebugSocket.on("end", () => {
57
- this.$logger.info("Backend socket closed!");
58
- if (!this.$options.watch) {
59
- process.exit(0);
60
- }
61
- });
62
- frontendSocket.on("close", () => __awaiter(this, void 0, void 0, function* () {
63
- this.$logger.info("Frontend socket closed");
64
- yield device.destroyDebugSocket(appId);
65
- }));
66
- appDebugSocket.on("close", () => {
67
- this.$logger.info("Backend socket closed");
68
- frontendSocket.destroy();
69
- server.close();
70
- delete this.deviceTcpServers[cacheKey];
71
- });
72
- appDebugSocket.pipe(frontendSocket);
73
- frontendSocket.pipe(appDebugSocket);
74
- frontendSocket.resume();
75
- }));
76
- const socketFileLocation = yield this.$tempService.path({
77
- suffix: ".sock",
44
+ const appDebugSocket = await device.getDebugSocket(appId, projectName, projectDir);
45
+ this.$logger.info("Backend socket created.");
46
+ appDebugSocket.on("end", () => {
47
+ this.$logger.info("Backend socket closed!");
48
+ if (!this.$options.watch) {
49
+ process.exit(0);
50
+ }
51
+ });
52
+ frontendSocket.on("close", async () => {
53
+ this.$logger.info("Frontend socket closed");
54
+ await device.destroyDebugSocket(appId);
55
+ });
56
+ appDebugSocket.on("close", () => {
57
+ this.$logger.info("Backend socket closed");
58
+ frontendSocket.destroy();
59
+ server.close();
60
+ delete this.deviceTcpServers[cacheKey];
78
61
  });
79
- server.listen(socketFileLocation);
80
- if (!this.$options.client) {
81
- this.$logger.info("socket-file-location: " + socketFileLocation);
82
- }
83
- return server;
62
+ appDebugSocket.pipe(frontendSocket);
63
+ frontendSocket.pipe(appDebugSocket);
64
+ frontendSocket.resume();
84
65
  });
85
- }
86
- ensureWebSocketProxy(device, appId, projectName, projectDir) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const existingWebProxy = this.deviceWebServers[`${device.deviceInfo.identifier}-${appId}`];
89
- const result = existingWebProxy ||
90
- (yield this.addWebSocketProxy(device, appId, projectName, projectDir));
91
- // TODO: do not remove till VSCode waits for this message in order to reattach
92
- this.$logger.info("Opened localhost " + result.options.port);
93
- return result;
66
+ const socketFileLocation = await this.$tempService.path({
67
+ suffix: ".sock",
94
68
  });
69
+ server.listen(socketFileLocation);
70
+ if (!this.$options.client) {
71
+ this.$logger.info("socket-file-location: " + socketFileLocation);
72
+ }
73
+ return server;
95
74
  }
96
- addWebSocketProxy(device, appId, projectName, projectDir) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- let clientConnectionLockRelease;
99
- const cacheKey = `${device.deviceInfo.identifier}-${appId}`;
100
- const existingServer = this.deviceWebServers[cacheKey];
101
- if (existingServer) {
102
- this.$errors.fail(`Web socket proxy is already running for device '${device.deviceInfo.identifier}' and app '${appId}'`);
103
- }
104
- // NOTE: We will try to provide command line options to select ports, at least on the localhost.
105
- const localPort = yield this.$net.getAvailablePortInRange(41000);
106
- this.$logger.info("\nSetting up debugger proxy...\nPress Ctrl + C to terminate, or disconnect.\n");
107
- // NB: When the inspector frontend connects we might not have connected to the inspector backend yet.
108
- // That's why we use the verifyClient callback of the websocket server to stall the upgrade request until we connect.
109
- // We store the socket that connects us to the device in the upgrade request object itself and later on retrieve it
110
- // in the connection callback.
111
- let currentAppSocket = null;
112
- let currentWebSocket = null;
113
- const server = new ws.Server({
114
- port: localPort,
115
- verifyClient: (info, callback) => __awaiter(this, void 0, void 0, function* () {
116
- let acceptHandshake = true;
117
- clientConnectionLockRelease = null;
118
- try {
119
- clientConnectionLockRelease = yield this.$lockService.lock(`debug-connection-${device.deviceInfo.identifier}-${appId}.lock`);
120
- this.$logger.info("Frontend client connected.");
121
- let appDebugSocket;
122
- if (currentAppSocket) {
123
- currentAppSocket.removeAllListeners();
124
- currentAppSocket = null;
125
- if (currentWebSocket) {
126
- currentWebSocket.removeAllListeners();
127
- currentWebSocket.close();
128
- currentWebSocket = null;
129
- }
130
- yield device.destroyDebugSocket(appId);
131
- }
132
- appDebugSocket = yield device.getDebugSocket(appId, projectName, projectDir);
133
- currentAppSocket = appDebugSocket;
134
- this.$logger.info("Backend socket created.");
135
- info.req["__deviceSocket"] = appDebugSocket;
136
- }
137
- catch (err) {
138
- if (clientConnectionLockRelease) {
139
- clientConnectionLockRelease();
140
- }
141
- err.deviceIdentifier = device.deviceInfo.identifier;
142
- this.$logger.trace(err);
143
- this.emit(constants_1.CONNECTION_ERROR_EVENT_NAME, err);
144
- acceptHandshake = false;
145
- this.$logger.warn(`Cannot connect to device socket. The error message is '${err.message}'.`);
146
- }
147
- callback(acceptHandshake);
148
- }),
149
- });
150
- this.deviceWebServers[cacheKey] = server;
151
- server.on("connection", (webSocket, req) => {
152
- currentWebSocket = webSocket;
153
- const encoding = "utf16le";
154
- const appDebugSocket = req["__deviceSocket"];
155
- const packets = new ios_device_lib_1.MessageUnpackStream();
156
- appDebugSocket.pipe(packets);
157
- packets.on("data", (buffer) => {
158
- const message = buffer.toString(encoding);
159
- if (webSocket.readyState === webSocket.OPEN) {
160
- if (process.env.DEBUG_DEVTOOLS_SOCKETS) {
161
- console.log({
162
- msgFromRuntime: JSON.parse(message),
163
- });
75
+ async ensureWebSocketProxy(device, appId, projectName, projectDir) {
76
+ const existingWebProxy = this.deviceWebServers[`${device.deviceInfo.identifier}-${appId}`];
77
+ const result = existingWebProxy ||
78
+ (await this.addWebSocketProxy(device, appId, projectName, projectDir));
79
+ // TODO: do not remove till VSCode waits for this message in order to reattach
80
+ this.$logger.info("Opened localhost " + result.options.port);
81
+ return result;
82
+ }
83
+ async addWebSocketProxy(device, appId, projectName, projectDir) {
84
+ let clientConnectionLockRelease;
85
+ const cacheKey = `${device.deviceInfo.identifier}-${appId}`;
86
+ const existingServer = this.deviceWebServers[cacheKey];
87
+ if (existingServer) {
88
+ this.$errors.fail(`Web socket proxy is already running for device '${device.deviceInfo.identifier}' and app '${appId}'`);
89
+ }
90
+ // NOTE: We will try to provide command line options to select ports, at least on the localhost.
91
+ const localPort = await this.$net.getAvailablePortInRange(41000);
92
+ this.$logger.info("\nSetting up debugger proxy...\nPress Ctrl + C to terminate, or disconnect.\n");
93
+ // NB: When the inspector frontend connects we might not have connected to the inspector backend yet.
94
+ // That's why we use the verifyClient callback of the websocket server to stall the upgrade request until we connect.
95
+ // We store the socket that connects us to the device in the upgrade request object itself and later on retrieve it
96
+ // in the connection callback.
97
+ let currentAppSocket = null;
98
+ let currentWebSocket = null;
99
+ const server = new ws.Server({
100
+ port: localPort,
101
+ verifyClient: async (info, callback) => {
102
+ let acceptHandshake = true;
103
+ clientConnectionLockRelease = null;
104
+ try {
105
+ clientConnectionLockRelease = await this.$lockService.lock(`debug-connection-${device.deviceInfo.identifier}-${appId}.lock`);
106
+ this.$logger.info("Frontend client connected.");
107
+ let appDebugSocket;
108
+ if (currentAppSocket) {
109
+ currentAppSocket.removeAllListeners();
110
+ currentAppSocket = null;
111
+ if (currentWebSocket) {
112
+ currentWebSocket.removeAllListeners();
113
+ currentWebSocket.close();
114
+ currentWebSocket = null;
164
115
  }
165
- webSocket.send(message);
116
+ await device.destroyDebugSocket(appId);
166
117
  }
167
- else {
168
- this.$logger.trace(`Received message ${message}, but unable to send it to webSocket as its state is: ${webSocket.readyState}`);
118
+ appDebugSocket = await device.getDebugSocket(appId, projectName, projectDir);
119
+ currentAppSocket = appDebugSocket;
120
+ this.$logger.info("Backend socket created.");
121
+ info.req["__deviceSocket"] = appDebugSocket;
122
+ }
123
+ catch (err) {
124
+ if (clientConnectionLockRelease) {
125
+ clientConnectionLockRelease();
169
126
  }
170
- });
171
- webSocket.on("error", (err) => {
172
- this.$logger.trace("Error on debugger websocket", err);
173
- });
174
- appDebugSocket.on("error", (err) => {
175
- this.$logger.trace("Error on debugger deviceSocket", err);
176
- });
177
- webSocket.on("message", (message) => {
178
- const msg = message.toString();
127
+ err.deviceIdentifier = device.deviceInfo.identifier;
128
+ this.$logger.trace(err);
129
+ this.emit(constants_1.CONNECTION_ERROR_EVENT_NAME, err);
130
+ acceptHandshake = false;
131
+ this.$logger.warn(`Cannot connect to device socket. The error message is '${err.message}'.`);
132
+ }
133
+ callback(acceptHandshake);
134
+ },
135
+ });
136
+ this.deviceWebServers[cacheKey] = server;
137
+ server.on("connection", (webSocket, req) => {
138
+ currentWebSocket = webSocket;
139
+ const encoding = "utf16le";
140
+ const appDebugSocket = req["__deviceSocket"];
141
+ const packets = new ios_device_lib_1.MessageUnpackStream();
142
+ appDebugSocket.pipe(packets);
143
+ packets.on("data", (buffer) => {
144
+ const message = buffer.toString(encoding);
145
+ if (webSocket.readyState === webSocket.OPEN) {
179
146
  if (process.env.DEBUG_DEVTOOLS_SOCKETS) {
180
147
  console.log({
181
- msgFromDevtools: JSON.parse(msg),
148
+ msgFromRuntime: JSON.parse(message),
182
149
  });
183
150
  }
184
- const length = Buffer.byteLength(msg, encoding);
185
- const payload = Buffer.allocUnsafe(length + 4);
186
- payload.writeInt32BE(length, 0);
187
- payload.write(msg, 4, length, encoding);
188
- appDebugSocket.write(payload);
189
- });
190
- appDebugSocket.on("close", () => {
191
- currentAppSocket = null;
192
- this.$logger.trace("Backend socket closed!");
193
- webSocket.close();
194
- });
195
- webSocket.on("close", () => __awaiter(this, void 0, void 0, function* () {
196
- currentWebSocket = null;
197
- this.$logger.trace("Frontend socket closed!");
198
- appDebugSocket.unpipe(packets);
199
- packets.destroy();
200
- yield device.destroyDebugSocket(appId);
201
- if (!this.$options.watch) {
202
- process.exit(0);
203
- }
204
- }));
205
- clientConnectionLockRelease();
151
+ webSocket.send(message);
152
+ }
153
+ else {
154
+ this.$logger.trace(`Received message ${message}, but unable to send it to webSocket as its state is: ${webSocket.readyState}`);
155
+ }
156
+ });
157
+ webSocket.on("error", (err) => {
158
+ this.$logger.trace("Error on debugger websocket", err);
159
+ });
160
+ appDebugSocket.on("error", (err) => {
161
+ this.$logger.trace("Error on debugger deviceSocket", err);
162
+ });
163
+ webSocket.on("message", (message) => {
164
+ const msg = message.toString();
165
+ if (process.env.DEBUG_DEVTOOLS_SOCKETS) {
166
+ console.log({
167
+ msgFromDevtools: JSON.parse(msg),
168
+ });
169
+ }
170
+ const length = Buffer.byteLength(msg, encoding);
171
+ const payload = Buffer.allocUnsafe(length + 4);
172
+ payload.writeInt32BE(length, 0);
173
+ payload.write(msg, 4, length, encoding);
174
+ appDebugSocket.write(payload);
175
+ });
176
+ appDebugSocket.on("close", () => {
177
+ currentAppSocket = null;
178
+ this.$logger.trace("Backend socket closed!");
179
+ webSocket.close();
180
+ });
181
+ webSocket.on("close", async () => {
182
+ currentWebSocket = null;
183
+ this.$logger.trace("Frontend socket closed!");
184
+ appDebugSocket.unpipe(packets);
185
+ packets.destroy();
186
+ await device.destroyDebugSocket(appId);
187
+ if (!this.$options.watch) {
188
+ process.exit(0);
189
+ }
206
190
  });
207
- return server;
191
+ clientConnectionLockRelease();
208
192
  });
193
+ return server;
209
194
  }
210
195
  removeAllProxies() {
211
196
  let deviceId;
@@ -24,10 +24,10 @@ class IOSNotification extends events_1.EventEmitter {
24
24
  return `${appId}:NativeScript.Debug.${notification}`;
25
25
  }
26
26
  }
27
+ exports.IOSNotification = IOSNotification;
27
28
  IOSNotification.REFRESH_REQUEST_NOTIFICATION_NAME = "RefreshRequest";
28
29
  IOSNotification.APP_REFRESH_STARTED_NOTIFICATION_NAME = "AppRefreshStarted";
29
30
  IOSNotification.ATTACH_REQUEST_NOTIFICATION_NAME = "AttachRequest";
30
31
  IOSNotification.READY_FOR_ATTACH_NOTIFICATION_NAME = "ReadyForAttach";
31
- exports.IOSNotification = IOSNotification;
32
32
  yok_1.injector.register("iOSNotification", IOSNotification);
33
33
  //# sourceMappingURL=notification.js.map
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.IOSSocketRequestExecutor = void 0;
13
4
  const constants = require("../../common/constants");
@@ -18,40 +9,34 @@ class IOSSocketRequestExecutor {
18
9
  this.$iOSNotification = $iOSNotification;
19
10
  this.$iOSNotificationService = $iOSNotificationService;
20
11
  }
21
- executeAttachRequest(device, timeout, appId) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const deviceId = device.deviceInfo.identifier;
24
- const mainRequestName = this.$iOSNotification.getAttachRequest(appId, deviceId);
25
- const readyRequestName = this.$iOSNotification.getReadyForAttach(appId);
26
- yield this.executeRequest(mainRequestName, readyRequestName, appId, deviceId, timeout);
27
- });
12
+ async executeAttachRequest(device, timeout, appId) {
13
+ const deviceId = device.deviceInfo.identifier;
14
+ const mainRequestName = this.$iOSNotification.getAttachRequest(appId, deviceId);
15
+ const readyRequestName = this.$iOSNotification.getReadyForAttach(appId);
16
+ await this.executeRequest(mainRequestName, readyRequestName, appId, deviceId, timeout);
28
17
  }
29
- executeRefreshRequest(device, timeout, appId) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const deviceId = device.deviceInfo.identifier;
32
- const mainRequestName = this.$iOSNotification.getRefreshRequest(appId);
33
- const refreshRequestStartedName = this.$iOSNotification.getAppRefreshStarted(appId);
34
- const result = yield this.executeRequest(mainRequestName, refreshRequestStartedName, appId, deviceId, timeout);
35
- return result;
36
- });
18
+ async executeRefreshRequest(device, timeout, appId) {
19
+ const deviceId = device.deviceInfo.identifier;
20
+ const mainRequestName = this.$iOSNotification.getRefreshRequest(appId);
21
+ const refreshRequestStartedName = this.$iOSNotification.getAppRefreshStarted(appId);
22
+ const result = await this.executeRequest(mainRequestName, refreshRequestStartedName, appId, deviceId, timeout);
23
+ return result;
37
24
  }
38
- executeRequest(mainRequestName, successfulyExecutedNotificationName, appId, deviceId, timeout) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- let isSuccessful = false;
41
- try {
42
- // We should create this promise here because we need to send the ObserveNotification on the device
43
- // before we send the PostNotification.
44
- const socket = yield this.$iOSNotificationService.postNotification(deviceId, successfulyExecutedNotificationName, constants.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE);
45
- const notificationPromise = this.$iOSNotificationService.awaitNotification(deviceId, +socket, timeout);
46
- yield this.$iOSNotificationService.postNotification(deviceId, mainRequestName);
47
- yield notificationPromise;
48
- isSuccessful = true;
49
- }
50
- catch (e) {
51
- this.$errors.fail(`The application ${appId} does not appear to be running on ${deviceId} or is not built with debugging enabled. Try starting the application manually.`);
52
- }
53
- return isSuccessful;
54
- });
25
+ async executeRequest(mainRequestName, successfulyExecutedNotificationName, appId, deviceId, timeout) {
26
+ let isSuccessful = false;
27
+ try {
28
+ // We should create this promise here because we need to send the ObserveNotification on the device
29
+ // before we send the PostNotification.
30
+ const socket = await this.$iOSNotificationService.postNotification(deviceId, successfulyExecutedNotificationName, constants.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE);
31
+ const notificationPromise = this.$iOSNotificationService.awaitNotification(deviceId, +socket, timeout);
32
+ await this.$iOSNotificationService.postNotification(deviceId, mainRequestName);
33
+ await notificationPromise;
34
+ isSuccessful = true;
35
+ }
36
+ catch (e) {
37
+ this.$errors.fail(`The application ${appId} does not appear to be running on ${deviceId} or is not built with debugging enabled. Try starting the application manually.`);
38
+ }
39
+ return isSuccessful;
55
40
  }
56
41
  }
57
42
  exports.IOSSocketRequestExecutor = IOSSocketRequestExecutor;