@akylas/nativescript-cli 8.8.2 → 8.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/lib/android-tools-info.js +9 -20
  2. package/lib/base-package-manager.js +47 -64
  3. package/lib/bun-package-manager.js +65 -88
  4. package/lib/color.js +2 -2
  5. package/lib/commands/add-platform.js +14 -30
  6. package/lib/commands/apple-login.js +18 -29
  7. package/lib/commands/appstore-list.js +34 -45
  8. package/lib/commands/appstore-upload.js +55 -68
  9. package/lib/commands/build.js +57 -86
  10. package/lib/commands/clean.js +161 -176
  11. package/lib/commands/command-base.js +14 -27
  12. package/lib/commands/config.js +51 -70
  13. package/lib/commands/create-project.js +210 -229
  14. package/lib/commands/debug.js +66 -88
  15. package/lib/commands/deploy.js +28 -44
  16. package/lib/commands/embedding/embed.js +33 -52
  17. package/lib/commands/extensibility/install-extension.js +5 -16
  18. package/lib/commands/extensibility/list-extensions.js +13 -24
  19. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  20. package/lib/commands/fonts.js +30 -41
  21. package/lib/commands/generate-assets.js +13 -28
  22. package/lib/commands/generate-help.js +2 -13
  23. package/lib/commands/generate.js +17 -26
  24. package/lib/commands/info.js +2 -13
  25. package/lib/commands/install.js +34 -49
  26. package/lib/commands/list-platforms.js +14 -25
  27. package/lib/commands/migrate.js +15 -26
  28. package/lib/commands/native-add.js +23 -46
  29. package/lib/commands/platform-clean.js +19 -32
  30. package/lib/commands/plugin/add-plugin.js +12 -25
  31. package/lib/commands/plugin/build-plugin.js +34 -39
  32. package/lib/commands/plugin/create-plugin.js +110 -133
  33. package/lib/commands/plugin/list-plugins.js +22 -33
  34. package/lib/commands/plugin/remove-plugin.js +20 -33
  35. package/lib/commands/plugin/update-plugin.js +20 -33
  36. package/lib/commands/post-install.js +20 -33
  37. package/lib/commands/prepare.js +19 -35
  38. package/lib/commands/preview.js +49 -62
  39. package/lib/commands/remove-platform.js +7 -18
  40. package/lib/commands/resources/resources-update.js +13 -26
  41. package/lib/commands/run.js +55 -76
  42. package/lib/commands/start.js +6 -19
  43. package/lib/commands/test-init.js +123 -134
  44. package/lib/commands/test.js +66 -89
  45. package/lib/commands/typings.js +126 -142
  46. package/lib/commands/update-platform.js +22 -35
  47. package/lib/commands/update.js +30 -43
  48. package/lib/common/child-process.js +53 -72
  49. package/lib/common/codeGeneration/code-entity.js +1 -1
  50. package/lib/common/codeGeneration/code-printer.js +1 -1
  51. package/lib/common/command-params.js +7 -18
  52. package/lib/common/commands/analytics.js +27 -40
  53. package/lib/common/commands/autocompletion.js +39 -56
  54. package/lib/common/commands/device/device-log-stream.js +12 -23
  55. package/lib/common/commands/device/get-file.js +22 -33
  56. package/lib/common/commands/device/list-applications.js +12 -23
  57. package/lib/common/commands/device/list-devices.js +72 -87
  58. package/lib/common/commands/device/list-files.js +23 -34
  59. package/lib/common/commands/device/put-file.js +22 -33
  60. package/lib/common/commands/device/run-application.js +12 -25
  61. package/lib/common/commands/device/stop-application.js +11 -22
  62. package/lib/common/commands/device/uninstall-application.js +6 -17
  63. package/lib/common/commands/generate-messages.js +17 -28
  64. package/lib/common/commands/help.js +20 -33
  65. package/lib/common/commands/package-manager-get.js +6 -17
  66. package/lib/common/commands/package-manager-set.js +9 -20
  67. package/lib/common/commands/post-install.js +2 -13
  68. package/lib/common/commands/preuninstall.js +23 -38
  69. package/lib/common/commands/proxy/proxy-base.js +8 -19
  70. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  71. package/lib/common/commands/proxy/proxy-get.js +3 -14
  72. package/lib/common/commands/proxy/proxy-set.js +87 -100
  73. package/lib/common/constants.js +11 -11
  74. package/lib/common/decorators.js +10 -22
  75. package/lib/common/dispatchers.js +79 -96
  76. package/lib/common/errors.js +89 -104
  77. package/lib/common/file-system.js +106 -127
  78. package/lib/common/header.js +1 -2
  79. package/lib/common/helpers.js +149 -178
  80. package/lib/common/host-info.js +37 -50
  81. package/lib/common/http-client.js +93 -108
  82. package/lib/common/logger/appenders/cli-appender.js +1 -2
  83. package/lib/common/logger/appenders/emit-appender.js +1 -2
  84. package/lib/common/logger/layouts/cli-layout.js +1 -2
  85. package/lib/common/logger/logger.js +1 -1
  86. package/lib/common/mobile/android/android-application-manager.js +121 -142
  87. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  88. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  89. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  90. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  91. package/lib/common/mobile/android/android-device.js +74 -91
  92. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  93. package/lib/common/mobile/android/android-log-filter.js +1 -1
  94. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  95. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  96. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  97. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  98. package/lib/common/mobile/android/logcat-helper.js +108 -127
  99. package/lib/common/mobile/application-manager-base.js +84 -107
  100. package/lib/common/mobile/device-log-provider-base.js +7 -18
  101. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  102. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  103. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  104. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  105. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  106. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  107. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  108. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  109. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  110. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  111. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  112. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  113. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  114. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  115. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  116. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  117. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  118. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  119. package/lib/common/mobile/mobile-helper.js +15 -26
  120. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  121. package/lib/common/opener.js +2 -2
  122. package/lib/common/plist-parser.js +3 -3
  123. package/lib/common/prompter.js +90 -105
  124. package/lib/common/queue.js +9 -20
  125. package/lib/common/services/auto-completion-service.js +39 -52
  126. package/lib/common/services/cancellation.js +17 -28
  127. package/lib/common/services/commands-service.js +146 -169
  128. package/lib/common/services/help-service.js +132 -157
  129. package/lib/common/services/hooks-service.js +93 -108
  130. package/lib/common/services/ios-notification-service.js +21 -34
  131. package/lib/common/services/json-file-settings-service.js +52 -71
  132. package/lib/common/services/lock-service.js +35 -52
  133. package/lib/common/services/message-contract-generator.js +35 -46
  134. package/lib/common/services/micro-templating-service.js +4 -15
  135. package/lib/common/services/net-service.js +90 -107
  136. package/lib/common/services/project-files-manager.js +10 -23
  137. package/lib/common/services/proxy-service.js +13 -24
  138. package/lib/common/services/qr.js +13 -24
  139. package/lib/common/services/settings-service.js +1 -1
  140. package/lib/common/services/xcode-select-service.js +20 -35
  141. package/lib/common/utils.js +2 -2
  142. package/lib/common/validators/project-name-validator.js +1 -1
  143. package/lib/common/validators/validation-result.js +1 -1
  144. package/lib/common/verify-node-version.js +2 -3
  145. package/lib/common/yok.js +23 -36
  146. package/lib/config.js +7 -58
  147. package/lib/constants.js +24 -24
  148. package/lib/controllers/build-controller.js +82 -99
  149. package/lib/controllers/debug-controller.js +107 -128
  150. package/lib/controllers/deploy-controller.js +17 -22
  151. package/lib/controllers/migrate-controller.js +722 -795
  152. package/lib/controllers/platform-controller.js +72 -87
  153. package/lib/controllers/prepare-controller.js +266 -299
  154. package/lib/controllers/run-controller.js +392 -406
  155. package/lib/controllers/update-controller-base.js +16 -29
  156. package/lib/controllers/update-controller.js +94 -119
  157. package/lib/data/prepare-data.js +4 -1
  158. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  159. package/lib/definitions/livesync.d.ts +1 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +45 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +161 -211
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +161 -198
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +34 -47
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +230 -256
  194. package/lib/services/android-project-service.js +163 -199
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  198. package/lib/services/assets-generation/assets-generation-service.js +98 -115
  199. package/lib/services/build-artifacts-service.js +9 -20
  200. package/lib/services/build-info-file-service.js +20 -35
  201. package/lib/services/cleanup-service.js +47 -76
  202. package/lib/services/cocoapods-service.js +115 -136
  203. package/lib/services/device/device-install-app-service.js +73 -90
  204. package/lib/services/doctor-service.js +99 -118
  205. package/lib/services/extensibility-service.js +81 -100
  206. package/lib/services/files-hash-service.js +26 -43
  207. package/lib/services/hmr-status-service.js +1 -1
  208. package/lib/services/initialize-service.js +37 -50
  209. package/lib/services/ios/export-options-plist-service.js +38 -51
  210. package/lib/services/ios/ios-signing-service.js +161 -180
  211. package/lib/services/ios/spm-service.js +40 -53
  212. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  213. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  214. package/lib/services/ios/xcodebuild-service.js +50 -69
  215. package/lib/services/ios-debugger-port-service.js +23 -36
  216. package/lib/services/ios-device-debug-service.js +75 -102
  217. package/lib/services/ios-entitlements-service.js +31 -42
  218. package/lib/services/ios-extensions-service.js +18 -29
  219. package/lib/services/ios-project-service.js +405 -460
  220. package/lib/services/ios-provision-service.js +108 -129
  221. package/lib/services/ios-watch-app-service.js +21 -32
  222. package/lib/services/ip-service.js +38 -53
  223. package/lib/services/itmstransporter-service.js +129 -152
  224. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  225. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  226. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  227. package/lib/services/livesync/android-livesync-service.js +14 -35
  228. package/lib/services/livesync/android-livesync-tool.js +89 -112
  229. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  230. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  231. package/lib/services/livesync/ios-livesync-service.js +42 -58
  232. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  233. package/lib/services/log-parser-service.js +1 -1
  234. package/lib/services/log-source-map-service.js +30 -41
  235. package/lib/services/marking-mode-service.js +15 -28
  236. package/lib/services/npm-config-service.js +1 -1
  237. package/lib/services/pacote-service.js +49 -64
  238. package/lib/services/performance-service.js +1 -1
  239. package/lib/services/platform/add-platform-service.js +50 -71
  240. package/lib/services/platform/platform-validation-service.js +22 -33
  241. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  242. package/lib/services/platform-environment-requirements.js +26 -37
  243. package/lib/services/plugins-service.js +122 -147
  244. package/lib/services/project-backup-service.js +1 -1
  245. package/lib/services/project-changes-service.js +124 -141
  246. package/lib/services/project-cleanup-service.js +64 -77
  247. package/lib/services/project-config-service.js +71 -80
  248. package/lib/services/project-data-service.js +101 -118
  249. package/lib/services/project-name-service.js +28 -43
  250. package/lib/services/project-service.js +84 -103
  251. package/lib/services/project-templates-service.js +52 -67
  252. package/lib/services/start-service.js +41 -59
  253. package/lib/services/temp-service.js +8 -21
  254. package/lib/services/terminal-spinner-service.js +13 -24
  255. package/lib/services/test-execution-service.js +59 -72
  256. package/lib/services/test-initialization-service.js +2 -2
  257. package/lib/services/timeline-profiler-service.js +1 -1
  258. package/lib/services/versions-service.js +119 -138
  259. package/lib/services/webpack/webpack-compiler-service.js +211 -231
  260. package/lib/services/xcconfig-service.js +8 -19
  261. package/lib/sys-info.js +45 -62
  262. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  263. package/lib/yarn-package-manager.js +59 -78
  264. package/lib/yarn2-package-manager.js +60 -79
  265. package/package.json +56 -54
  266. package/vendor/aab-tool/bundletool.jar +0 -0
  267. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  268. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  269. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  270. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  271. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  272. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  273. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  274. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  275. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.LogcatHelper = void 0;
13
4
  const byline = require("byline");
@@ -23,80 +14,76 @@ class LogcatHelper {
23
14
  this.$devicesService = $devicesService;
24
15
  this.mapDevicesLoggingData = Object.create(null);
25
16
  }
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
- }
54
- });
55
- lineStream.on("data", (lineBuffer) => {
56
- const lines = (lineBuffer.toString() || "").split("\n");
57
- for (const line of lines) {
58
- this.$deviceLogProvider.logData(line, this.$devicePlatformsConstants.Android, deviceIdentifier);
59
- }
60
- });
61
- const appStartTrackingStream = yield this.getAppStartTrackingLogcatStream(deviceIdentifier, options.appId);
62
- this.mapDevicesLoggingData[deviceIdentifier].appStartTrackingProcess =
63
- appStartTrackingStream;
64
- const rawLineStream = byline(appStartTrackingStream.stdout);
65
- this.mapDevicesLoggingData[deviceIdentifier].rawLineStream =
66
- rawLineStream;
67
- rawLineStream.on("data", (lineBuffer) => {
68
- var _a, _b, _c, _d;
69
- if (!((_a = this.mapDevicesLoggingData[deviceIdentifier]) === null || _a === void 0 ? void 0 : _a.loggingProcess))
70
- return;
71
- const lines = (lineBuffer.toString() || "").split("\n");
72
- for (let line of lines) {
73
- const startProc = /Start proc (?<pid>[0-9]+):(?<appId>.+?)\//.exec(line);
74
- if (startProc &&
75
- ((_b = startProc.groups) === null || _b === void 0 ? void 0 : _b.appId) === options.appId &&
76
- ((_c = startProc.groups) === null || _c === void 0 ? void 0 : _c.pid) !== options.pid) {
77
- this.forceStop(deviceIdentifier);
78
- (_d = options.onAppRestarted) === null || _d === void 0 ? void 0 : _d.call(options);
79
- }
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());
80
40
  }
81
- });
82
- }
83
- });
84
- }
85
- dump(deviceIdentifier) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
88
- const logcatDumpStream = yield adb.executeCommand(["logcat", "-d"], {
89
- returnChildProcess: true,
41
+ }
42
+ catch (err) {
43
+ }
90
44
  });
91
- const lineStream = byline(logcatDumpStream.stdout);
92
- lineStream.on("data", (line) => {
93
- const lineText = line.toString();
94
- this.$logger.trace(lineText);
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
+ }
95
50
  });
96
- logcatDumpStream.on("close", (code) => {
97
- logcatDumpStream.removeAllListeners();
98
- lineStream.removeAllListeners();
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
+ }
99
71
  });
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();
100
87
  });
101
88
  }
102
89
  stop(deviceIdentifier) {
@@ -115,59 +102,53 @@ class LogcatHelper {
115
102
  (_e = loggingData.lineStream) === null || _e === void 0 ? void 0 : _e.removeAllListeners();
116
103
  delete this.mapDevicesLoggingData[deviceIdentifier];
117
104
  }
118
- isLogcatPidSupported(deviceIdentifier) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const device = yield this.$devicesService.getDevice(deviceIdentifier);
121
- const minAndroidWithLogcatPidSupport = "7.0.0";
122
- return (!!device.deviceInfo.version &&
123
- semver.gte(semver.coerce(device.deviceInfo.version), minAndroidWithLogcatPidSupport));
124
- });
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));
125
110
  }
126
- getLogcatStream(deviceIdentifier, pid) {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- const isLogcatPidSupported = yield this.isLogcatPidSupported(deviceIdentifier);
129
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
130
- const logcatCommand = ["logcat", "-T", "1"];
131
- const acceptedTags = [
132
- "chromium",
133
- '"Web Console"',
134
- "JS",
135
- "System.err",
136
- "TNS.Native",
137
- "TNS.Java",
138
- ];
139
- if (pid && isLogcatPidSupported) {
140
- logcatCommand.push(`--pid=${pid}`);
141
- acceptedTags.forEach((tag) => {
142
- logcatCommand.push("-s", tag);
143
- });
144
- }
145
- const logcatStream = yield adb.executeCommand(logcatCommand, {
146
- returnChildProcess: true,
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);
147
127
  });
148
- return logcatStream;
128
+ }
129
+ const logcatStream = await adb.executeCommand(logcatCommand, {
130
+ returnChildProcess: true,
149
131
  });
132
+ return logcatStream;
150
133
  }
151
- getAppStartTrackingLogcatStream(deviceIdentifier, appId) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, { identifier: deviceIdentifier });
154
- const logcatCommand = [
155
- `logcat`,
156
- `-b`,
157
- `system`,
158
- `-T`,
159
- `1`,
160
- "-s",
161
- "ActivityManager",
162
- ];
163
- if (appId) {
164
- logcatCommand.push(`--regex=START.*${appId}`);
165
- }
166
- const appStartTrackingStream = yield adb.executeCommand(logcatCommand, {
167
- returnChildProcess: true,
168
- });
169
- return appStartTrackingStream;
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,
170
150
  });
151
+ return appStartTrackingStream;
171
152
  }
172
153
  }
173
154
  exports.LogcatHelper = LogcatHelper;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.ApplicationManagerBase = void 0;
13
4
  const events_1 = require("events");
@@ -21,115 +12,101 @@ class ApplicationManagerBase extends events_1.EventEmitter {
21
12
  this.$deviceLogProvider = $deviceLogProvider;
22
13
  this.lastAvailableDebuggableAppViews = {};
23
14
  }
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
- });
15
+ async setTransferredAppFiles(files) {
16
+ for (const file of files) {
17
+ await this.$deviceLogProvider.setSourceFileLocation(file);
18
+ }
30
19
  }
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
- });
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);
39
26
  }
40
- restartApplication(appData) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- yield this.stopApplication(appData);
43
- yield this.startApplication(appData);
44
- });
27
+ async restartApplication(appData) {
28
+ await this.stopApplication(appData);
29
+ await this.startApplication(appData);
45
30
  }
46
- isApplicationInstalled(appIdentifier) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- yield this.checkForApplicationUpdates();
49
- return _.includes(this.lastInstalledAppIdentifiers, appIdentifier);
50
- });
31
+ async isApplicationInstalled(appIdentifier) {
32
+ await this.checkForApplicationUpdates();
33
+ return _.includes(this.lastInstalledAppIdentifiers, appIdentifier);
51
34
  }
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
- try {
58
- const currentlyInstalledAppIdentifiers = yield this.getInstalledApplications();
59
- const previouslyInstalledAppIdentifiers = this.lastInstalledAppIdentifiers || [];
60
- const newAppIdentifiers = _.difference(currentlyInstalledAppIdentifiers, previouslyInstalledAppIdentifiers);
61
- const removedAppIdentifiers = _.difference(previouslyInstalledAppIdentifiers, currentlyInstalledAppIdentifiers);
62
- this.lastInstalledAppIdentifiers = currentlyInstalledAppIdentifiers;
63
- _.each(newAppIdentifiers, (appIdentifier) => this.emit("applicationInstalled", appIdentifier));
64
- _.each(removedAppIdentifiers, (appIdentifier) => this.emit("applicationUninstalled", appIdentifier));
65
- yield this.checkForAvailableDebuggableAppsChanges();
66
- }
67
- catch (err) {
68
- isFulfilled = true;
69
- reject(err);
70
- }
71
- finally {
72
- this.checkForApplicationUpdatesPromise = null;
73
- if (!isFulfilled) {
74
- resolve();
75
- }
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();
76
57
  }
77
- }));
78
- }
79
- return this.checkForApplicationUpdatesPromise;
80
- });
58
+ }
59
+ });
60
+ }
61
+ return this.checkForApplicationUpdatesPromise;
81
62
  }
82
- tryStartApplication(appData) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- try {
85
- yield this.startApplication(appData);
86
- }
87
- catch (err) {
88
- this.$logger.trace(`Unable to start application ${appData.appId} with name ${appData.projectName}. Error is: ${err.message}`);
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);
79
+ });
80
+ _.each(notAvailableAppsForDebugging, (appInfo) => {
81
+ this.emit("debuggableAppLost", appInfo);
82
+ if (_.has(this.lastAvailableDebuggableAppViews, appInfo.appIdentifier)) {
83
+ delete this.lastAvailableDebuggableAppViews[appInfo.appIdentifier];
89
84
  }
90
85
  });
91
- }
92
- checkForAvailableDebuggableAppsChanges() {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const currentlyAvailableDebuggableApps = yield this.getDebuggableApps();
95
- const previouslyAvailableDebuggableApps = this.lastAvailableDebuggableApps || [];
96
- const newAvailableDebuggableApps = _.differenceBy(currentlyAvailableDebuggableApps, previouslyAvailableDebuggableApps, "appIdentifier");
97
- const notAvailableAppsForDebugging = _.differenceBy(previouslyAvailableDebuggableApps, currentlyAvailableDebuggableApps, "appIdentifier");
98
- this.lastAvailableDebuggableApps = currentlyAvailableDebuggableApps;
99
- _.each(newAvailableDebuggableApps, (appInfo) => {
100
- this.emit("debuggableAppFound", appInfo);
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);
101
97
  });
102
- _.each(notAvailableAppsForDebugging, (appInfo) => {
103
- this.emit("debuggableAppLost", appInfo);
104
- if (_.has(this.lastAvailableDebuggableAppViews, appInfo.appIdentifier)) {
105
- delete this.lastAvailableDebuggableAppViews[appInfo.appIdentifier];
106
- }
98
+ _.each(newAvailableViews, (debugWebViewInfo) => {
99
+ this.emit("debuggableViewFound", appIdentifier, debugWebViewInfo);
107
100
  });
108
- const cordovaDebuggableAppIdentifiers = _(currentlyAvailableDebuggableApps)
109
- .filter((c) => c.framework === constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova)
110
- .map((c) => c.appIdentifier)
111
- .value();
112
- const currentlyAvailableAppViews = yield this.getDebuggableAppViews(cordovaDebuggableAppIdentifiers);
113
- _.each(currentlyAvailableAppViews, (currentlyAvailableViews, appIdentifier) => {
114
- const previouslyAvailableViews = this.lastAvailableDebuggableAppViews[appIdentifier];
115
- const newAvailableViews = _.differenceBy(currentlyAvailableViews, previouslyAvailableViews, "id");
116
- const notAvailableViews = _.differenceBy(previouslyAvailableViews, currentlyAvailableViews, "id");
117
- _.each(notAvailableViews, (debugWebViewInfo) => {
118
- this.emit("debuggableViewLost", appIdentifier, debugWebViewInfo);
119
- });
120
- _.each(newAvailableViews, (debugWebViewInfo) => {
121
- this.emit("debuggableViewFound", appIdentifier, debugWebViewInfo);
122
- });
123
- const keptViews = _.differenceBy(currentlyAvailableViews, newAvailableViews, "id");
124
- _.each(keptViews, (view) => {
125
- const previousTimeViewInfo = _.find(previouslyAvailableViews, (previousView) => previousView.id === view.id);
126
- if (!_.isEqual(view, previousTimeViewInfo)) {
127
- this.emit("debuggableViewChanged", appIdentifier, view);
128
- }
129
- });
130
- this.lastAvailableDebuggableAppViews[appIdentifier] =
131
- currentlyAvailableViews;
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);
106
+ }
132
107
  });
108
+ this.lastAvailableDebuggableAppViews[appIdentifier] =
109
+ currentlyAvailableViews;
133
110
  });
134
111
  }
135
112
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.DeviceLogProviderBase = void 0;
13
4
  const events_1 = require("events");
@@ -20,15 +11,13 @@ class DeviceLogProviderBase extends events_1.EventEmitter {
20
11
  this.$logSourceMapService = $logSourceMapService;
21
12
  this.devicesLogOptions = {};
22
13
  }
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
- });
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
+ }
32
21
  }
33
22
  setApplicationPidForDevice(deviceIdentifier, pid) {
34
23
  this.setDeviceLogOptionsProperty(deviceIdentifier, (deviceLogOptions) => deviceLogOptions.applicationPid, pid);