nativescript 8.9.0-dev.0 → 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 (405) 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/ios.d.ts +4 -2
  190. package/lib/definitions/project.d.ts +26 -0
  191. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  192. package/lib/detached-processes/cleanup-process.js +43 -30
  193. package/lib/detached-processes/file-log-service.js +2 -1
  194. package/lib/device-path-provider.js +35 -23
  195. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  196. package/lib/device-sockets/ios/notification.js +4 -1
  197. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  198. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  199. package/lib/helpers/deploy-command-helper.js +50 -44
  200. package/lib/helpers/key-command-helper.js +17 -6
  201. package/lib/helpers/livesync-command-helper.js +155 -137
  202. package/lib/helpers/network-connectivity-validator.js +18 -6
  203. package/lib/helpers/options-track-helper.js +19 -7
  204. package/lib/helpers/package-path-helper.js +1 -0
  205. package/lib/helpers/platform-command-helper.js +127 -101
  206. package/lib/helpers/version-validator-helper.js +1 -0
  207. package/lib/key-commands/bootstrap.js +3 -2
  208. package/lib/key-commands/index.js +205 -154
  209. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  210. package/lib/nativescript-cli-lib.js +1 -0
  211. package/lib/nativescript-cli.js +24 -6
  212. package/lib/node/pbxproj-dom-xcode.js +1 -0
  213. package/lib/node/xcode.js +1 -0
  214. package/lib/node-package-manager.js +114 -81
  215. package/lib/options.js +156 -122
  216. package/lib/package-installation-manager.js +172 -130
  217. package/lib/package-manager.js +88 -63
  218. package/lib/platform-command-param.js +16 -4
  219. package/lib/pnpm-package-manager.js +81 -59
  220. package/lib/project-data.js +13 -1
  221. package/lib/providers/project-files-provider.js +2 -1
  222. package/lib/resolvers/livesync-service-resolver.js +1 -0
  223. package/lib/services/analytics/analytics-broker-process.js +32 -19
  224. package/lib/services/analytics/analytics-broker.js +31 -17
  225. package/lib/services/analytics/analytics-service.js +210 -170
  226. package/lib/services/analytics/google-analytics-provider.js +59 -43
  227. package/lib/services/analytics-settings-service.js +37 -15
  228. package/lib/services/android/android-bundle-tool-service.js +61 -43
  229. package/lib/services/android/gradle-build-args-service.js +23 -9
  230. package/lib/services/android/gradle-build-service.js +36 -22
  231. package/lib/services/android/gradle-command-service.js +36 -22
  232. package/lib/services/android-device-debug-service.js +123 -90
  233. package/lib/services/android-plugin-build-service.js +260 -205
  234. package/lib/services/android-project-service.js +241 -129
  235. package/lib/services/android-resources-migration-service.js +71 -51
  236. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  237. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  238. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  239. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  240. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  241. package/lib/services/build-artifacts-service.js +22 -10
  242. package/lib/services/build-data-service.js +1 -0
  243. package/lib/services/build-info-file-service.js +36 -20
  244. package/lib/services/cleanup-service.js +81 -48
  245. package/lib/services/cocoapods-platform-manager.js +9 -0
  246. package/lib/services/cocoapods-service.js +153 -112
  247. package/lib/services/debug-data-service.js +1 -0
  248. package/lib/services/debug-service-base.js +7 -0
  249. package/lib/services/device/device-install-app-service.js +72 -54
  250. package/lib/services/doctor-service.js +135 -101
  251. package/lib/services/extensibility-service.js +108 -81
  252. package/lib/services/files-hash-service.js +44 -26
  253. package/lib/services/hmr-status-service.js +3 -1
  254. package/lib/services/info-service.js +1 -0
  255. package/lib/services/initialize-service.js +54 -37
  256. package/lib/services/ios/export-options-plist-service.js +55 -38
  257. package/lib/services/ios/ios-signing-service.js +191 -168
  258. package/lib/services/ios/spm-service.js +73 -43
  259. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  260. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  261. package/lib/services/ios/xcodebuild-service.js +72 -52
  262. package/lib/services/ios-debugger-port-service.js +38 -24
  263. package/lib/services/ios-device-debug-service.js +103 -75
  264. package/lib/services/ios-entitlements-service.js +43 -31
  265. package/lib/services/ios-extensions-service.js +30 -18
  266. package/lib/services/ios-log-filter.js +20 -0
  267. package/lib/services/ios-native-target-service.js +6 -4
  268. package/lib/services/ios-project-service.js +605 -437
  269. package/lib/services/ios-provision-service.js +132 -108
  270. package/lib/services/ios-watch-app-service.js +33 -21
  271. package/lib/services/ip-service.js +55 -38
  272. package/lib/services/itmstransporter-service.js +153 -129
  273. package/lib/services/karma-execution.js +2 -0
  274. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  275. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  276. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  277. package/lib/services/livesync/android-livesync-service.js +36 -14
  278. package/lib/services/livesync/android-livesync-tool.js +117 -90
  279. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  280. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  281. package/lib/services/livesync/ios-livesync-service.js +60 -42
  282. package/lib/services/livesync/livesync-socket.js +1 -0
  283. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  284. package/lib/services/livesync-process-data-service.js +1 -0
  285. package/lib/services/log-parser-service.js +2 -1
  286. package/lib/services/log-source-map-service.js +56 -30
  287. package/lib/services/marking-mode-service.js +33 -17
  288. package/lib/services/metadata-filtering-service.js +1 -0
  289. package/lib/services/npm-config-service.js +5 -1
  290. package/lib/services/pacote-service.js +73 -51
  291. package/lib/services/performance-service.js +4 -2
  292. package/lib/services/platform/add-platform-service.js +119 -51
  293. package/lib/services/platform/platform-validation-service.js +34 -22
  294. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  295. package/lib/services/platform-environment-requirements.js +43 -27
  296. package/lib/services/platform-project-service-base.js +1 -0
  297. package/lib/services/platforms-data-service.js +1 -0
  298. package/lib/services/plugins-service.js +168 -125
  299. package/lib/services/prepare-data-service.js +1 -0
  300. package/lib/services/project-backup-service.js +5 -1
  301. package/lib/services/project-changes-service.js +152 -124
  302. package/lib/services/project-cleanup-service.js +79 -64
  303. package/lib/services/project-config-service.js +111 -73
  304. package/lib/services/project-data-service.js +154 -108
  305. package/lib/services/project-name-service.js +44 -28
  306. package/lib/services/project-service.js +113 -84
  307. package/lib/services/project-templates-service.js +68 -52
  308. package/lib/services/qr-code-terminal-service.js +1 -0
  309. package/lib/services/require-service.js +1 -0
  310. package/lib/services/start-service.js +60 -41
  311. package/lib/services/temp-service.js +22 -8
  312. package/lib/services/terminal-spinner-service.js +28 -15
  313. package/lib/services/test-execution-service.js +79 -59
  314. package/lib/services/test-initialization-service.js +6 -2
  315. package/lib/services/timeline-profiler-service.js +2 -1
  316. package/lib/services/user-settings-service.js +1 -0
  317. package/lib/services/versions-service.js +140 -119
  318. package/lib/services/watch-ignore-list-service.js +1 -0
  319. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  320. package/lib/services/xcconfig-service.js +21 -8
  321. package/lib/services/xcproj-service.js +1 -0
  322. package/lib/shared-event-bus.js +6 -0
  323. package/lib/sys-info.js +63 -45
  324. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  325. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  326. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  327. package/lib/yarn-package-manager.js +79 -59
  328. package/lib/yarn2-package-manager.js +82 -60
  329. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  330. package/node_modules/@npmcli/move-file/README.md +69 -0
  331. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  342. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  343. package/node_modules/@npmcli/move-file/package.json +47 -0
  344. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  345. package/node_modules/balanced-match/LICENSE.md +21 -0
  346. package/node_modules/balanced-match/README.md +97 -0
  347. package/node_modules/balanced-match/index.js +62 -0
  348. package/node_modules/balanced-match/package.json +48 -0
  349. package/node_modules/concat-map/.travis.yml +4 -0
  350. package/node_modules/concat-map/LICENSE +18 -0
  351. package/node_modules/concat-map/README.markdown +62 -0
  352. package/node_modules/concat-map/example/map.js +6 -0
  353. package/node_modules/concat-map/index.js +13 -0
  354. package/node_modules/concat-map/package.json +43 -0
  355. package/node_modules/concat-map/test/map.js +39 -0
  356. package/node_modules/fs.realpath/LICENSE +43 -0
  357. package/node_modules/fs.realpath/README.md +33 -0
  358. package/node_modules/fs.realpath/index.js +66 -0
  359. package/node_modules/fs.realpath/old.js +303 -0
  360. package/node_modules/fs.realpath/package.json +26 -0
  361. package/node_modules/inflight/LICENSE +15 -0
  362. package/node_modules/inflight/README.md +37 -0
  363. package/node_modules/inflight/inflight.js +54 -0
  364. package/node_modules/inflight/package.json +29 -0
  365. package/node_modules/inherits/LICENSE +16 -0
  366. package/node_modules/inherits/README.md +42 -0
  367. package/node_modules/inherits/inherits.js +9 -0
  368. package/node_modules/inherits/inherits_browser.js +27 -0
  369. package/node_modules/inherits/package.json +29 -0
  370. package/node_modules/once/LICENSE +15 -0
  371. package/node_modules/once/README.md +79 -0
  372. package/node_modules/once/once.js +42 -0
  373. package/node_modules/once/package.json +33 -0
  374. package/node_modules/path-is-absolute/index.js +20 -0
  375. package/node_modules/path-is-absolute/license +21 -0
  376. package/node_modules/path-is-absolute/package.json +43 -0
  377. package/node_modules/path-is-absolute/readme.md +59 -0
  378. package/node_modules/rimraf/LICENSE +15 -0
  379. package/node_modules/rimraf/README.md +101 -0
  380. package/node_modules/rimraf/bin.js +68 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  384. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  385. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  386. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  387. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  388. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  389. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  390. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  391. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  392. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  393. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  394. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  395. package/node_modules/rimraf/package.json +32 -0
  396. package/node_modules/rimraf/rimraf.js +360 -0
  397. package/node_modules/stringify-package/LICENSE +13 -0
  398. package/node_modules/stringify-package/README.md +55 -0
  399. package/node_modules/stringify-package/index.js +18 -0
  400. package/node_modules/stringify-package/package.json +38 -0
  401. package/node_modules/wrappy/LICENSE +15 -0
  402. package/node_modules/wrappy/README.md +36 -0
  403. package/node_modules/wrappy/package.json +29 -0
  404. package/node_modules/wrappy/wrappy.js +33 -0
  405. 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