nativescript 8.9.0-dev.1 → 8.9.0-dev.2

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 (404) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/project.d.ts +26 -0
  190. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  191. package/lib/detached-processes/cleanup-process.js +43 -30
  192. package/lib/detached-processes/file-log-service.js +2 -1
  193. package/lib/device-path-provider.js +35 -23
  194. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  195. package/lib/device-sockets/ios/notification.js +4 -1
  196. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  197. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  198. package/lib/helpers/deploy-command-helper.js +50 -44
  199. package/lib/helpers/key-command-helper.js +17 -6
  200. package/lib/helpers/livesync-command-helper.js +155 -137
  201. package/lib/helpers/network-connectivity-validator.js +18 -6
  202. package/lib/helpers/options-track-helper.js +19 -7
  203. package/lib/helpers/package-path-helper.js +1 -0
  204. package/lib/helpers/platform-command-helper.js +127 -101
  205. package/lib/helpers/version-validator-helper.js +1 -0
  206. package/lib/key-commands/bootstrap.js +3 -2
  207. package/lib/key-commands/index.js +205 -154
  208. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  209. package/lib/nativescript-cli-lib.js +1 -0
  210. package/lib/nativescript-cli.js +24 -6
  211. package/lib/node/pbxproj-dom-xcode.js +1 -0
  212. package/lib/node/xcode.js +1 -0
  213. package/lib/node-package-manager.js +114 -81
  214. package/lib/options.js +156 -122
  215. package/lib/package-installation-manager.js +172 -130
  216. package/lib/package-manager.js +88 -63
  217. package/lib/platform-command-param.js +16 -4
  218. package/lib/pnpm-package-manager.js +81 -59
  219. package/lib/project-data.js +13 -1
  220. package/lib/providers/project-files-provider.js +2 -1
  221. package/lib/resolvers/livesync-service-resolver.js +1 -0
  222. package/lib/services/analytics/analytics-broker-process.js +32 -19
  223. package/lib/services/analytics/analytics-broker.js +31 -17
  224. package/lib/services/analytics/analytics-service.js +210 -170
  225. package/lib/services/analytics/google-analytics-provider.js +59 -43
  226. package/lib/services/analytics-settings-service.js +37 -15
  227. package/lib/services/android/android-bundle-tool-service.js +61 -43
  228. package/lib/services/android/gradle-build-args-service.js +23 -9
  229. package/lib/services/android/gradle-build-service.js +36 -22
  230. package/lib/services/android/gradle-command-service.js +36 -22
  231. package/lib/services/android-device-debug-service.js +123 -90
  232. package/lib/services/android-plugin-build-service.js +260 -205
  233. package/lib/services/android-project-service.js +241 -129
  234. package/lib/services/android-resources-migration-service.js +71 -51
  235. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  236. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  237. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  238. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  239. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  240. package/lib/services/build-artifacts-service.js +22 -10
  241. package/lib/services/build-data-service.js +1 -0
  242. package/lib/services/build-info-file-service.js +36 -20
  243. package/lib/services/cleanup-service.js +81 -48
  244. package/lib/services/cocoapods-platform-manager.js +9 -0
  245. package/lib/services/cocoapods-service.js +153 -112
  246. package/lib/services/debug-data-service.js +1 -0
  247. package/lib/services/debug-service-base.js +7 -0
  248. package/lib/services/device/device-install-app-service.js +72 -54
  249. package/lib/services/doctor-service.js +135 -101
  250. package/lib/services/extensibility-service.js +108 -81
  251. package/lib/services/files-hash-service.js +44 -26
  252. package/lib/services/hmr-status-service.js +3 -1
  253. package/lib/services/info-service.js +1 -0
  254. package/lib/services/initialize-service.js +54 -37
  255. package/lib/services/ios/export-options-plist-service.js +55 -38
  256. package/lib/services/ios/ios-signing-service.js +191 -168
  257. package/lib/services/ios/spm-service.js +70 -46
  258. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  259. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  260. package/lib/services/ios/xcodebuild-service.js +72 -52
  261. package/lib/services/ios-debugger-port-service.js +38 -24
  262. package/lib/services/ios-device-debug-service.js +103 -75
  263. package/lib/services/ios-entitlements-service.js +43 -31
  264. package/lib/services/ios-extensions-service.js +30 -18
  265. package/lib/services/ios-log-filter.js +20 -0
  266. package/lib/services/ios-native-target-service.js +6 -4
  267. package/lib/services/ios-project-service.js +605 -437
  268. package/lib/services/ios-provision-service.js +132 -108
  269. package/lib/services/ios-watch-app-service.js +33 -21
  270. package/lib/services/ip-service.js +55 -38
  271. package/lib/services/itmstransporter-service.js +153 -129
  272. package/lib/services/karma-execution.js +2 -0
  273. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  274. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  275. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  276. package/lib/services/livesync/android-livesync-service.js +36 -14
  277. package/lib/services/livesync/android-livesync-tool.js +117 -90
  278. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  279. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  280. package/lib/services/livesync/ios-livesync-service.js +60 -42
  281. package/lib/services/livesync/livesync-socket.js +1 -0
  282. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  283. package/lib/services/livesync-process-data-service.js +1 -0
  284. package/lib/services/log-parser-service.js +2 -1
  285. package/lib/services/log-source-map-service.js +56 -30
  286. package/lib/services/marking-mode-service.js +33 -17
  287. package/lib/services/metadata-filtering-service.js +1 -0
  288. package/lib/services/npm-config-service.js +5 -1
  289. package/lib/services/pacote-service.js +71 -49
  290. package/lib/services/performance-service.js +4 -2
  291. package/lib/services/platform/add-platform-service.js +119 -51
  292. package/lib/services/platform/platform-validation-service.js +34 -22
  293. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  294. package/lib/services/platform-environment-requirements.js +43 -27
  295. package/lib/services/platform-project-service-base.js +1 -0
  296. package/lib/services/platforms-data-service.js +1 -0
  297. package/lib/services/plugins-service.js +168 -125
  298. package/lib/services/prepare-data-service.js +1 -0
  299. package/lib/services/project-backup-service.js +5 -1
  300. package/lib/services/project-changes-service.js +152 -124
  301. package/lib/services/project-cleanup-service.js +79 -64
  302. package/lib/services/project-config-service.js +111 -73
  303. package/lib/services/project-data-service.js +154 -108
  304. package/lib/services/project-name-service.js +44 -28
  305. package/lib/services/project-service.js +113 -84
  306. package/lib/services/project-templates-service.js +68 -52
  307. package/lib/services/qr-code-terminal-service.js +1 -0
  308. package/lib/services/require-service.js +1 -0
  309. package/lib/services/start-service.js +60 -41
  310. package/lib/services/temp-service.js +22 -8
  311. package/lib/services/terminal-spinner-service.js +28 -15
  312. package/lib/services/test-execution-service.js +79 -59
  313. package/lib/services/test-initialization-service.js +6 -2
  314. package/lib/services/timeline-profiler-service.js +2 -1
  315. package/lib/services/user-settings-service.js +1 -0
  316. package/lib/services/versions-service.js +140 -119
  317. package/lib/services/watch-ignore-list-service.js +1 -0
  318. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  319. package/lib/services/xcconfig-service.js +21 -8
  320. package/lib/services/xcproj-service.js +1 -0
  321. package/lib/shared-event-bus.js +6 -0
  322. package/lib/sys-info.js +63 -45
  323. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  324. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  325. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  326. package/lib/yarn-package-manager.js +79 -59
  327. package/lib/yarn2-package-manager.js +82 -60
  328. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  329. package/node_modules/@npmcli/move-file/README.md +69 -0
  330. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  342. package/node_modules/@npmcli/move-file/package.json +47 -0
  343. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  344. package/node_modules/balanced-match/LICENSE.md +21 -0
  345. package/node_modules/balanced-match/README.md +97 -0
  346. package/node_modules/balanced-match/index.js +62 -0
  347. package/node_modules/balanced-match/package.json +48 -0
  348. package/node_modules/concat-map/.travis.yml +4 -0
  349. package/node_modules/concat-map/LICENSE +18 -0
  350. package/node_modules/concat-map/README.markdown +62 -0
  351. package/node_modules/concat-map/example/map.js +6 -0
  352. package/node_modules/concat-map/index.js +13 -0
  353. package/node_modules/concat-map/package.json +43 -0
  354. package/node_modules/concat-map/test/map.js +39 -0
  355. package/node_modules/fs.realpath/LICENSE +43 -0
  356. package/node_modules/fs.realpath/README.md +33 -0
  357. package/node_modules/fs.realpath/index.js +66 -0
  358. package/node_modules/fs.realpath/old.js +303 -0
  359. package/node_modules/fs.realpath/package.json +26 -0
  360. package/node_modules/inflight/LICENSE +15 -0
  361. package/node_modules/inflight/README.md +37 -0
  362. package/node_modules/inflight/inflight.js +54 -0
  363. package/node_modules/inflight/package.json +29 -0
  364. package/node_modules/inherits/LICENSE +16 -0
  365. package/node_modules/inherits/README.md +42 -0
  366. package/node_modules/inherits/inherits.js +9 -0
  367. package/node_modules/inherits/inherits_browser.js +27 -0
  368. package/node_modules/inherits/package.json +29 -0
  369. package/node_modules/once/LICENSE +15 -0
  370. package/node_modules/once/README.md +79 -0
  371. package/node_modules/once/once.js +42 -0
  372. package/node_modules/once/package.json +33 -0
  373. package/node_modules/path-is-absolute/index.js +20 -0
  374. package/node_modules/path-is-absolute/license +21 -0
  375. package/node_modules/path-is-absolute/package.json +43 -0
  376. package/node_modules/path-is-absolute/readme.md +59 -0
  377. package/node_modules/rimraf/LICENSE +15 -0
  378. package/node_modules/rimraf/README.md +101 -0
  379. package/node_modules/rimraf/bin.js +68 -0
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  385. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  386. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  387. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  388. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  389. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  394. package/node_modules/rimraf/package.json +32 -0
  395. package/node_modules/rimraf/rimraf.js +360 -0
  396. package/node_modules/stringify-package/LICENSE +13 -0
  397. package/node_modules/stringify-package/README.md +55 -0
  398. package/node_modules/stringify-package/index.js +18 -0
  399. package/node_modules/stringify-package/package.json +38 -0
  400. package/node_modules/wrappy/LICENSE +15 -0
  401. package/node_modules/wrappy/README.md +36 -0
  402. package/node_modules/wrappy/package.json +29 -0
  403. package/node_modules/wrappy/wrappy.js +33 -0
  404. package/package.json +79 -64
@@ -1,4 +1,13 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.LogcatHelper = void 0;
4
13
  const byline = require("byline");
@@ -14,78 +23,87 @@ class LogcatHelper {
14
23
  this.$devicesService = $devicesService;
15
24
  this.mapDevicesLoggingData = Object.create(null);
16
25
  }
17
- async start(options) {
18
- const deviceIdentifier = options.deviceIdentifier;
19
- if (deviceIdentifier && !this.mapDevicesLoggingData[deviceIdentifier]) {
20
- this.mapDevicesLoggingData[deviceIdentifier] = {
21
- loggingProcess: null,
22
- lineStream: null,
23
- keepSingleProcess: options.keepSingleProcess,
24
- appStartTrackingProcess: null,
25
- rawLineStream: null,
26
- };
27
- const logcatStream = await this.getLogcatStream(deviceIdentifier, options.pid);
28
- const lineStream = byline(logcatStream.stdout);
29
- this.mapDevicesLoggingData[deviceIdentifier].loggingProcess =
30
- logcatStream;
31
- this.mapDevicesLoggingData[deviceIdentifier].lineStream = lineStream;
32
- logcatStream.stderr.on("data", (data) => {
33
- this.$logger.trace("ADB logcat stderr: " + data.toString());
34
- });
35
- logcatStream.on("close", (code) => {
36
- try {
37
- this.forceStop(deviceIdentifier);
38
- if (code !== 0) {
39
- this.$logger.trace("ADB process exited with code " + code.toString());
26
+ start(options) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const deviceIdentifier = options.deviceIdentifier;
29
+ if (deviceIdentifier && !this.mapDevicesLoggingData[deviceIdentifier]) {
30
+ this.mapDevicesLoggingData[deviceIdentifier] = {
31
+ loggingProcess: null,
32
+ lineStream: null,
33
+ keepSingleProcess: options.keepSingleProcess,
34
+ appStartTrackingProcess: null,
35
+ rawLineStream: null,
36
+ };
37
+ const logcatStream = yield this.getLogcatStream(deviceIdentifier, options.pid);
38
+ const lineStream = byline(logcatStream.stdout);
39
+ this.mapDevicesLoggingData[deviceIdentifier].loggingProcess =
40
+ logcatStream;
41
+ this.mapDevicesLoggingData[deviceIdentifier].lineStream = lineStream;
42
+ logcatStream.stderr.on("data", (data) => {
43
+ this.$logger.trace("ADB logcat stderr: " + data.toString());
44
+ });
45
+ logcatStream.on("close", (code) => {
46
+ try {
47
+ this.forceStop(deviceIdentifier);
48
+ if (code !== 0) {
49
+ this.$logger.trace("ADB process exited with code " + code.toString());
50
+ }
51
+ }
52
+ catch (err) {
53
+ // Ignore the error, the process is dead.
54
+ }
55
+ });
56
+ lineStream.on("data", (lineBuffer) => {
57
+ const lines = (lineBuffer.toString() || "").split("\n");
58
+ for (const line of lines) {
59
+ this.$deviceLogProvider.logData(line, this.$devicePlatformsConstants.Android, deviceIdentifier);
60
+ }
61
+ });
62
+ const appStartTrackingStream = yield this.getAppStartTrackingLogcatStream(deviceIdentifier, options.appId);
63
+ this.mapDevicesLoggingData[deviceIdentifier].appStartTrackingProcess =
64
+ appStartTrackingStream;
65
+ const rawLineStream = byline(appStartTrackingStream.stdout);
66
+ this.mapDevicesLoggingData[deviceIdentifier].rawLineStream =
67
+ rawLineStream;
68
+ rawLineStream.on("data", (lineBuffer) => {
69
+ var _a, _b, _c, _d;
70
+ if (!((_a = this.mapDevicesLoggingData[deviceIdentifier]) === null || _a === void 0 ? void 0 : _a.loggingProcess))
71
+ return;
72
+ const lines = (lineBuffer.toString() || "").split("\n");
73
+ for (let line of lines) {
74
+ // 2024-06-26 16:43:22.286 630-659 ActivityManager system_server I Start proc 8854:org.nativescript.uitestsapp/u0a190 for next-top-activity {org.nativescript.uitestsapp/com.tns.NativeScriptActivity}
75
+ const startProc = /Start proc (?<pid>[0-9]+):(?<appId>.+?)\//.exec(line);
76
+ if (startProc &&
77
+ ((_b = startProc.groups) === null || _b === void 0 ? void 0 : _b.appId) === options.appId &&
78
+ ((_c = startProc.groups) === null || _c === void 0 ? void 0 : _c.pid) !== options.pid) {
79
+ this.forceStop(deviceIdentifier);
80
+ (_d = options.onAppRestarted) === null || _d === void 0 ? void 0 : _d.call(options);
81
+ }
40
82
  }
41
- }
42
- catch (err) {
43
- }
83
+ });
84
+ }
85
+ });
86
+ }
87
+ dump(deviceIdentifier) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
90
+ const logcatDumpStream = yield adb.executeCommand(["logcat", "-d"], {
91
+ returnChildProcess: true,
44
92
  });
45
- lineStream.on("data", (lineBuffer) => {
46
- const lines = (lineBuffer.toString() || "").split("\n");
47
- for (const line of lines) {
48
- this.$deviceLogProvider.logData(line, this.$devicePlatformsConstants.Android, deviceIdentifier);
49
- }
93
+ const lineStream = byline(logcatDumpStream.stdout);
94
+ lineStream.on("data", (line) => {
95
+ const lineText = line.toString();
96
+ this.$logger.trace(lineText);
50
97
  });
51
- const appStartTrackingStream = await this.getAppStartTrackingLogcatStream(deviceIdentifier, options.appId);
52
- this.mapDevicesLoggingData[deviceIdentifier].appStartTrackingProcess =
53
- appStartTrackingStream;
54
- const rawLineStream = byline(appStartTrackingStream.stdout);
55
- this.mapDevicesLoggingData[deviceIdentifier].rawLineStream =
56
- rawLineStream;
57
- rawLineStream.on("data", (lineBuffer) => {
58
- var _a, _b, _c, _d;
59
- if (!((_a = this.mapDevicesLoggingData[deviceIdentifier]) === null || _a === void 0 ? void 0 : _a.loggingProcess))
60
- return;
61
- const lines = (lineBuffer.toString() || "").split("\n");
62
- for (let line of lines) {
63
- const startProc = /Start proc (?<pid>[0-9]+):(?<appId>.+?)\//.exec(line);
64
- if (startProc &&
65
- ((_b = startProc.groups) === null || _b === void 0 ? void 0 : _b.appId) === options.appId &&
66
- ((_c = startProc.groups) === null || _c === void 0 ? void 0 : _c.pid) !== options.pid) {
67
- this.forceStop(deviceIdentifier);
68
- (_d = options.onAppRestarted) === null || _d === void 0 ? void 0 : _d.call(options);
69
- }
70
- }
98
+ logcatDumpStream.on("close", (code) => {
99
+ logcatDumpStream.removeAllListeners();
100
+ lineStream.removeAllListeners();
71
101
  });
72
- }
73
- }
74
- async dump(deviceIdentifier) {
75
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
76
- const logcatDumpStream = await adb.executeCommand(["logcat", "-d"], {
77
- returnChildProcess: true,
78
- });
79
- const lineStream = byline(logcatDumpStream.stdout);
80
- lineStream.on("data", (line) => {
81
- const lineText = line.toString();
82
- this.$logger.trace(lineText);
83
- });
84
- logcatDumpStream.on("close", (code) => {
85
- logcatDumpStream.removeAllListeners();
86
- lineStream.removeAllListeners();
87
102
  });
88
103
  }
104
+ /**
105
+ * Stops the logcat process for the specified device if keepSingleProcess is not passed on start
106
+ */
89
107
  stop(deviceIdentifier) {
90
108
  if (this.mapDevicesLoggingData[deviceIdentifier] &&
91
109
  !this.mapDevicesLoggingData[deviceIdentifier].keepSingleProcess) {
@@ -102,54 +120,68 @@ class LogcatHelper {
102
120
  (_e = loggingData.lineStream) === null || _e === void 0 ? void 0 : _e.removeAllListeners();
103
121
  delete this.mapDevicesLoggingData[deviceIdentifier];
104
122
  }
105
- async isLogcatPidSupported(deviceIdentifier) {
106
- const device = await this.$devicesService.getDevice(deviceIdentifier);
107
- const minAndroidWithLogcatPidSupport = "7.0.0";
108
- return (!!device.deviceInfo.version &&
109
- semver.gte(semver.coerce(device.deviceInfo.version), minAndroidWithLogcatPidSupport));
123
+ /**
124
+ * @deprecated - we likely don't need this anymore, and can simplify the code...
125
+ */
126
+ isLogcatPidSupported(deviceIdentifier) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ const device = yield this.$devicesService.getDevice(deviceIdentifier);
129
+ const minAndroidWithLogcatPidSupport = "7.0.0";
130
+ return (!!device.deviceInfo.version &&
131
+ semver.gte(semver.coerce(device.deviceInfo.version), minAndroidWithLogcatPidSupport));
132
+ });
110
133
  }
111
- async getLogcatStream(deviceIdentifier, pid) {
112
- const isLogcatPidSupported = await this.isLogcatPidSupported(deviceIdentifier);
113
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
114
- const logcatCommand = ["logcat", "-T", "1"];
115
- const acceptedTags = [
116
- "chromium",
117
- '"Web Console"',
118
- "JS",
119
- "System.err",
120
- "TNS.Native",
121
- "TNS.Java",
122
- ];
123
- if (pid && isLogcatPidSupported) {
124
- logcatCommand.push(`--pid=${pid}`);
125
- acceptedTags.forEach((tag) => {
126
- logcatCommand.push("-s", tag);
134
+ getLogcatStream(deviceIdentifier, pid) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const isLogcatPidSupported = yield this.isLogcatPidSupported(deviceIdentifier);
137
+ const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
138
+ // -T 1 - shows only new logs after starting adb logcat
139
+ const logcatCommand = ["logcat", "-T", "1"];
140
+ const acceptedTags = [
141
+ "chromium",
142
+ '"Web Console"',
143
+ "JS",
144
+ "System.err",
145
+ "TNS.Native",
146
+ "TNS.Java",
147
+ ];
148
+ if (pid && isLogcatPidSupported) {
149
+ logcatCommand.push(`--pid=${pid}`);
150
+ acceptedTags.forEach((tag) => {
151
+ // -s <tag> - shows only logs with the specified tag
152
+ logcatCommand.push("-s", tag);
153
+ });
154
+ }
155
+ const logcatStream = yield adb.executeCommand(logcatCommand, {
156
+ returnChildProcess: true,
127
157
  });
128
- }
129
- const logcatStream = await adb.executeCommand(logcatCommand, {
130
- returnChildProcess: true,
158
+ return logcatStream;
131
159
  });
132
- return logcatStream;
133
160
  }
134
- async getAppStartTrackingLogcatStream(deviceIdentifier, appId) {
135
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
136
- const logcatCommand = [
137
- `logcat`,
138
- `-b`,
139
- `system`,
140
- `-T`,
141
- `1`,
142
- "-s",
143
- "ActivityManager",
144
- ];
145
- if (appId) {
146
- logcatCommand.push(`--regex=Start.*${appId}`);
147
- }
148
- const appStartTrackingStream = await adb.executeCommand(logcatCommand, {
149
- returnChildProcess: true,
161
+ getAppStartTrackingLogcatStream(deviceIdentifier, appId) {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
164
+ // -b system - shows the system buffer/logs only
165
+ // -T 1 - shows only new logs after starting adb logcat
166
+ const logcatCommand = [
167
+ `logcat`,
168
+ `-b`,
169
+ `system`,
170
+ `-T`,
171
+ `1`,
172
+ "-s",
173
+ "ActivityManager",
174
+ ];
175
+ if (appId) {
176
+ logcatCommand.push(`--regex=Start.*${appId}`);
177
+ }
178
+ const appStartTrackingStream = yield adb.executeCommand(logcatCommand, {
179
+ returnChildProcess: true,
180
+ });
181
+ return appStartTrackingStream;
150
182
  });
151
- return appStartTrackingStream;
152
183
  }
153
184
  }
154
185
  exports.LogcatHelper = LogcatHelper;
155
186
  yok_1.injector.register("logcatHelper", LogcatHelper);
187
+ //# sourceMappingURL=logcat-helper.js.map
@@ -1,4 +1,13 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.ApplicationManagerBase = void 0;
4
13
  const events_1 = require("events");
@@ -12,102 +21,122 @@ class ApplicationManagerBase extends events_1.EventEmitter {
12
21
  this.$deviceLogProvider = $deviceLogProvider;
13
22
  this.lastAvailableDebuggableAppViews = {};
14
23
  }
15
- async setTransferredAppFiles(files) {
16
- for (const file of files) {
17
- await this.$deviceLogProvider.setSourceFileLocation(file);
18
- }
24
+ setTransferredAppFiles(files) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ for (const file of files) {
27
+ yield this.$deviceLogProvider.setSourceFileLocation(file);
28
+ }
29
+ });
19
30
  }
20
- async reinstallApplication(appIdentifier, packageFilePath, buildData) {
21
- const isApplicationInstalled = await this.isApplicationInstalled(appIdentifier);
22
- if (isApplicationInstalled && (buildData === null || buildData === void 0 ? void 0 : buildData.clean)) {
23
- await this.uninstallApplication(appIdentifier);
24
- }
25
- await this.installApplication(packageFilePath, appIdentifier, buildData);
31
+ reinstallApplication(appIdentifier, packageFilePath, buildData) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const isApplicationInstalled = yield this.isApplicationInstalled(appIdentifier);
34
+ if (isApplicationInstalled && (buildData === null || buildData === void 0 ? void 0 : buildData.clean)) {
35
+ yield this.uninstallApplication(appIdentifier);
36
+ }
37
+ yield this.installApplication(packageFilePath, appIdentifier, buildData);
38
+ });
26
39
  }
27
- async restartApplication(appData) {
28
- await this.stopApplication(appData);
29
- await this.startApplication(appData);
40
+ restartApplication(appData) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ yield this.stopApplication(appData);
43
+ yield this.startApplication(appData);
44
+ });
30
45
  }
31
- async isApplicationInstalled(appIdentifier) {
32
- await this.checkForApplicationUpdates();
33
- return _.includes(this.lastInstalledAppIdentifiers, appIdentifier);
46
+ isApplicationInstalled(appIdentifier) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ yield this.checkForApplicationUpdates();
49
+ return _.includes(this.lastInstalledAppIdentifiers, appIdentifier);
50
+ });
34
51
  }
35
- async checkForApplicationUpdates() {
36
- if (!this.checkForApplicationUpdatesPromise) {
37
- this.checkForApplicationUpdatesPromise = new Promise(async (resolve, reject) => {
38
- let isFulfilled = false;
39
- try {
40
- const currentlyInstalledAppIdentifiers = await this.getInstalledApplications();
41
- const previouslyInstalledAppIdentifiers = this.lastInstalledAppIdentifiers || [];
42
- const newAppIdentifiers = _.difference(currentlyInstalledAppIdentifiers, previouslyInstalledAppIdentifiers);
43
- const removedAppIdentifiers = _.difference(previouslyInstalledAppIdentifiers, currentlyInstalledAppIdentifiers);
44
- this.lastInstalledAppIdentifiers = currentlyInstalledAppIdentifiers;
45
- _.each(newAppIdentifiers, (appIdentifier) => this.emit("applicationInstalled", appIdentifier));
46
- _.each(removedAppIdentifiers, (appIdentifier) => this.emit("applicationUninstalled", appIdentifier));
47
- await this.checkForAvailableDebuggableAppsChanges();
48
- }
49
- catch (err) {
50
- isFulfilled = true;
51
- reject(err);
52
- }
53
- finally {
54
- this.checkForApplicationUpdatesPromise = null;
55
- if (!isFulfilled) {
56
- resolve();
52
+ checkForApplicationUpdates() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ if (!this.checkForApplicationUpdatesPromise) {
55
+ this.checkForApplicationUpdatesPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
56
+ let isFulfilled = false;
57
+ // As this method is called on 500ms, but it's execution may last much longer
58
+ // use locking, so the next executions will not get into the body, while the first one is still working.
59
+ // In case we do not break the next executions, we'll report each app as newly installed several times.
60
+ try {
61
+ const currentlyInstalledAppIdentifiers = yield this.getInstalledApplications();
62
+ const previouslyInstalledAppIdentifiers = this.lastInstalledAppIdentifiers || [];
63
+ const newAppIdentifiers = _.difference(currentlyInstalledAppIdentifiers, previouslyInstalledAppIdentifiers);
64
+ const removedAppIdentifiers = _.difference(previouslyInstalledAppIdentifiers, currentlyInstalledAppIdentifiers);
65
+ this.lastInstalledAppIdentifiers = currentlyInstalledAppIdentifiers;
66
+ _.each(newAppIdentifiers, (appIdentifier) => this.emit("applicationInstalled", appIdentifier));
67
+ _.each(removedAppIdentifiers, (appIdentifier) => this.emit("applicationUninstalled", appIdentifier));
68
+ yield this.checkForAvailableDebuggableAppsChanges();
57
69
  }
58
- }
59
- });
60
- }
61
- return this.checkForApplicationUpdatesPromise;
62
- }
63
- async tryStartApplication(appData) {
64
- try {
65
- await this.startApplication(appData);
66
- }
67
- catch (err) {
68
- this.$logger.trace(`Unable to start application ${appData.appId} with name ${appData.projectName}. Error is: ${err.message}`);
69
- }
70
- }
71
- async checkForAvailableDebuggableAppsChanges() {
72
- const currentlyAvailableDebuggableApps = await this.getDebuggableApps();
73
- const previouslyAvailableDebuggableApps = this.lastAvailableDebuggableApps || [];
74
- const newAvailableDebuggableApps = _.differenceBy(currentlyAvailableDebuggableApps, previouslyAvailableDebuggableApps, "appIdentifier");
75
- const notAvailableAppsForDebugging = _.differenceBy(previouslyAvailableDebuggableApps, currentlyAvailableDebuggableApps, "appIdentifier");
76
- this.lastAvailableDebuggableApps = currentlyAvailableDebuggableApps;
77
- _.each(newAvailableDebuggableApps, (appInfo) => {
78
- this.emit("debuggableAppFound", appInfo);
70
+ catch (err) {
71
+ isFulfilled = true;
72
+ reject(err);
73
+ }
74
+ finally {
75
+ this.checkForApplicationUpdatesPromise = null;
76
+ if (!isFulfilled) {
77
+ resolve();
78
+ }
79
+ }
80
+ }));
81
+ }
82
+ return this.checkForApplicationUpdatesPromise;
79
83
  });
80
- _.each(notAvailableAppsForDebugging, (appInfo) => {
81
- this.emit("debuggableAppLost", appInfo);
82
- if (_.has(this.lastAvailableDebuggableAppViews, appInfo.appIdentifier)) {
83
- delete this.lastAvailableDebuggableAppViews[appInfo.appIdentifier];
84
+ }
85
+ tryStartApplication(appData) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ try {
88
+ yield this.startApplication(appData);
89
+ }
90
+ catch (err) {
91
+ this.$logger.trace(`Unable to start application ${appData.appId} with name ${appData.projectName}. Error is: ${err.message}`);
84
92
  }
85
93
  });
86
- const cordovaDebuggableAppIdentifiers = _(currentlyAvailableDebuggableApps)
87
- .filter((c) => c.framework === constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova)
88
- .map((c) => c.appIdentifier)
89
- .value();
90
- const currentlyAvailableAppViews = await this.getDebuggableAppViews(cordovaDebuggableAppIdentifiers);
91
- _.each(currentlyAvailableAppViews, (currentlyAvailableViews, appIdentifier) => {
92
- const previouslyAvailableViews = this.lastAvailableDebuggableAppViews[appIdentifier];
93
- const newAvailableViews = _.differenceBy(currentlyAvailableViews, previouslyAvailableViews, "id");
94
- const notAvailableViews = _.differenceBy(previouslyAvailableViews, currentlyAvailableViews, "id");
95
- _.each(notAvailableViews, (debugWebViewInfo) => {
96
- this.emit("debuggableViewLost", appIdentifier, debugWebViewInfo);
97
- });
98
- _.each(newAvailableViews, (debugWebViewInfo) => {
99
- this.emit("debuggableViewFound", appIdentifier, debugWebViewInfo);
94
+ }
95
+ checkForAvailableDebuggableAppsChanges() {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const currentlyAvailableDebuggableApps = yield this.getDebuggableApps();
98
+ const previouslyAvailableDebuggableApps = this.lastAvailableDebuggableApps || [];
99
+ const newAvailableDebuggableApps = _.differenceBy(currentlyAvailableDebuggableApps, previouslyAvailableDebuggableApps, "appIdentifier");
100
+ const notAvailableAppsForDebugging = _.differenceBy(previouslyAvailableDebuggableApps, currentlyAvailableDebuggableApps, "appIdentifier");
101
+ this.lastAvailableDebuggableApps = currentlyAvailableDebuggableApps;
102
+ _.each(newAvailableDebuggableApps, (appInfo) => {
103
+ this.emit("debuggableAppFound", appInfo);
100
104
  });
101
- const keptViews = _.differenceBy(currentlyAvailableViews, newAvailableViews, "id");
102
- _.each(keptViews, (view) => {
103
- const previousTimeViewInfo = _.find(previouslyAvailableViews, (previousView) => previousView.id === view.id);
104
- if (!_.isEqual(view, previousTimeViewInfo)) {
105
- this.emit("debuggableViewChanged", appIdentifier, view);
105
+ _.each(notAvailableAppsForDebugging, (appInfo) => {
106
+ this.emit("debuggableAppLost", appInfo);
107
+ if (_.has(this.lastAvailableDebuggableAppViews, appInfo.appIdentifier)) {
108
+ // Prevent emitting debuggableViewLost when application cannot be debugged anymore.
109
+ delete this.lastAvailableDebuggableAppViews[appInfo.appIdentifier];
106
110
  }
107
111
  });
108
- this.lastAvailableDebuggableAppViews[appIdentifier] =
109
- currentlyAvailableViews;
112
+ const cordovaDebuggableAppIdentifiers = _(currentlyAvailableDebuggableApps)
113
+ .filter((c) => c.framework === constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova)
114
+ .map((c) => c.appIdentifier)
115
+ .value();
116
+ const currentlyAvailableAppViews = yield this.getDebuggableAppViews(cordovaDebuggableAppIdentifiers);
117
+ _.each(currentlyAvailableAppViews, (currentlyAvailableViews, appIdentifier) => {
118
+ const previouslyAvailableViews = this.lastAvailableDebuggableAppViews[appIdentifier];
119
+ const newAvailableViews = _.differenceBy(currentlyAvailableViews, previouslyAvailableViews, "id");
120
+ const notAvailableViews = _.differenceBy(previouslyAvailableViews, currentlyAvailableViews, "id");
121
+ _.each(notAvailableViews, (debugWebViewInfo) => {
122
+ this.emit("debuggableViewLost", appIdentifier, debugWebViewInfo);
123
+ });
124
+ _.each(newAvailableViews, (debugWebViewInfo) => {
125
+ this.emit("debuggableViewFound", appIdentifier, debugWebViewInfo);
126
+ });
127
+ // Determine which of the views had changed since last check and raise debuggableViewChanged event for them:
128
+ const keptViews = _.differenceBy(currentlyAvailableViews, newAvailableViews, "id");
129
+ _.each(keptViews, (view) => {
130
+ const previousTimeViewInfo = _.find(previouslyAvailableViews, (previousView) => previousView.id === view.id);
131
+ if (!_.isEqual(view, previousTimeViewInfo)) {
132
+ this.emit("debuggableViewChanged", appIdentifier, view);
133
+ }
134
+ });
135
+ this.lastAvailableDebuggableAppViews[appIdentifier] =
136
+ currentlyAvailableViews;
137
+ });
110
138
  });
111
139
  }
112
140
  }
113
141
  exports.ApplicationManagerBase = ApplicationManagerBase;
142
+ //# sourceMappingURL=application-manager-base.js.map
@@ -15,7 +15,10 @@ class DeviceEmitter extends events_1.EventEmitter {
15
15
  this.$devicesService.on(constants_1.DeviceDiscoveryEventNames.DEVICE_FOUND, (device) => {
16
16
  this.emit(constants_1.DeviceDiscoveryEventNames.DEVICE_FOUND, device.deviceInfo);
17
17
  this.attachApplicationChangedHandlers(device);
18
+ // await: Do not await as this will require to mark the lambda with async keyword, but there's no way to await the lambda itself.
19
+ /* tslint:disable:no-floating-promises */
18
20
  device.openDeviceLogStream();
21
+ /* tslint:enable:no-floating-promises */
19
22
  });
20
23
  this.$devicesService.on(constants_1.DeviceDiscoveryEventNames.DEVICE_LOST, (device) => {
21
24
  this.emit(constants_1.DeviceDiscoveryEventNames.DEVICE_LOST, device.deviceInfo);
@@ -59,3 +62,4 @@ class DeviceEmitter extends events_1.EventEmitter {
59
62
  }
60
63
  exports.DeviceEmitter = DeviceEmitter;
61
64
  yok_1.injector.register("deviceEmitter", DeviceEmitter);
65
+ //# sourceMappingURL=device-emitter.js.map
@@ -38,3 +38,4 @@ class DeviceLogEmitter extends device_log_provider_base_1.DeviceLogProviderBase
38
38
  }
39
39
  exports.DeviceLogEmitter = DeviceLogEmitter;
40
40
  yok_1.injector.register("deviceLogProvider", DeviceLogEmitter);
41
+ //# sourceMappingURL=device-log-emitter.js.map
@@ -1,4 +1,13 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.DeviceLogProviderBase = void 0;
4
13
  const events_1 = require("events");
@@ -11,13 +20,15 @@ class DeviceLogProviderBase extends events_1.EventEmitter {
11
20
  this.$logSourceMapService = $logSourceMapService;
12
21
  this.devicesLogOptions = {};
13
22
  }
14
- async setSourceFileLocation(pathToOriginalFile) {
15
- try {
16
- await this.$logSourceMapService.setSourceMapConsumerForFile(pathToOriginalFile);
17
- }
18
- catch (err) {
19
- this.$logger.trace("Error while trying to set source map file", err);
20
- }
23
+ setSourceFileLocation(pathToOriginalFile) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ try {
26
+ yield this.$logSourceMapService.setSourceMapConsumerForFile(pathToOriginalFile);
27
+ }
28
+ catch (err) {
29
+ this.$logger.trace("Error while trying to set source map file", err);
30
+ }
31
+ });
21
32
  }
22
33
  setApplicationPidForDevice(deviceIdentifier, pid) {
23
34
  this.setDeviceLogOptionsProperty(deviceIdentifier, (deviceLogOptions) => deviceLogOptions.applicationPid, pid);
@@ -63,3 +74,4 @@ class DeviceLogProviderBase extends events_1.EventEmitter {
63
74
  }
64
75
  }
65
76
  exports.DeviceLogProviderBase = DeviceLogProviderBase;
77
+ //# sourceMappingURL=device-log-provider-base.js.map
@@ -36,6 +36,7 @@ class DeviceLogProvider extends device_log_provider_base_1.DeviceLogProviderBase
36
36
  this.colorPoolIndex = 0;
37
37
  }
38
38
  logData(lineText, platform, deviceIdentifier) {
39
+ // console.log(lineText)
39
40
  const loggingOptions = this.getDeviceLogOptionsForDevice(deviceIdentifier);
40
41
  let data = this.$logFilter.filterData(platform, lineText, loggingOptions);
41
42
  data = this.$logSourceMapService.replaceWithOriginalFileLocations(platform, data, loggingOptions);
@@ -53,6 +54,7 @@ class DeviceLogProvider extends device_log_provider_base_1.DeviceLogProviderBase
53
54
  return this.deviceColorMap.get(deviceIdentifier);
54
55
  }
55
56
  const color = this.colorPool[this.colorPoolIndex];
57
+ // wrap around if we have no more colors in the pool
56
58
  this.colorPoolIndex =
57
59
  this.colorPoolIndex === this.colorPool.length - 1
58
60
  ? 0
@@ -62,10 +64,13 @@ class DeviceLogProvider extends device_log_provider_base_1.DeviceLogProviderBase
62
64
  }
63
65
  logDataCore(data, deviceIdentifier) {
64
66
  var _a, _b, _c;
67
+ // todo: use config to set logger - --env.classicLogs is temporary!
65
68
  if ("classicLogs" in ((_a = this.$options.env) !== null && _a !== void 0 ? _a : {})) {
69
+ // legacy logging
66
70
  this.$logger.info(data, { [constants_2.LoggerConfigData.skipNewLine]: true });
67
71
  return;
68
72
  }
73
+ // todo: extract into an injectable printer/logger service
69
74
  let shouldPrepend = false;
70
75
  let splitIndexes = [];
71
76
  const lines = data
@@ -120,7 +125,25 @@ class DeviceLogProvider extends device_log_provider_base_1.DeviceLogProviderBase
120
125
  printLine(prefix, ...parts) {
121
126
  const fullLine = parts.join(" ");
122
127
  console.log(prefix, fullLine);
128
+ /**
129
+ * Note: Disabled
130
+ *
131
+ * This splits the output into lines that fit within the current
132
+ * terminal width, however this makes copying json objects that
133
+ * span across multiple lines difficult, as it introduces
134
+ * whitespace & line breaks
135
+ */
136
+ // const maxWidth = process.stdout.columns - 2;
137
+ // if (!maxWidth || maxWidth < 10 || fullLine.length < maxWidth) {
138
+ // console.log(prefix, fullLine);
139
+ // } else {
140
+ // for (let i = 0; i < fullLine.length; i += maxWidth) {
141
+ // const part = fullLine.substring(i, i + maxWidth);
142
+ // console.log(prefix, part);
143
+ // }
144
+ // }
123
145
  }
124
146
  }
125
147
  exports.DeviceLogProvider = DeviceLogProvider;
126
148
  yok_1.injector.register("deviceLogProvider", DeviceLogProvider);
149
+ //# sourceMappingURL=device-log-provider.js.map
@@ -20,3 +20,4 @@ class DevicePlatformsConstants {
20
20
  }
21
21
  exports.DevicePlatformsConstants = DevicePlatformsConstants;
22
22
  yok_1.injector.register("devicePlatformsConstants", DevicePlatformsConstants);
23
+ //# sourceMappingURL=device-platforms-constants.js.map