@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
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.AndroidApplicationManager = void 0;
19
10
  const os_1 = require("os");
@@ -40,136 +31,126 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
40
31
  this.PID_CHECK_INTERVAL = 100;
41
32
  this.PID_CHECK_TIMEOUT = 10000;
42
33
  }
43
- getInstalledApplications() {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const result = (yield this.adb.executeShellCommand(["pm", "list", "packages"])) || "";
46
- const regex = /package:(.+)/;
47
- return result
48
- .split(os_1.EOL)
49
- .map((packageString) => {
50
- const match = packageString.match(regex);
51
- return match ? match[1] : null;
52
- })
53
- .filter((parsedPackage) => parsedPackage !== null);
54
- });
34
+ async getInstalledApplications() {
35
+ const result = (await this.adb.executeShellCommand(["pm", "list", "packages"])) || "";
36
+ const regex = /package:(.+)/;
37
+ return result
38
+ .split(os_1.EOL)
39
+ .map((packageString) => {
40
+ const match = packageString.match(regex);
41
+ return match ? match[1] : null;
42
+ })
43
+ .filter((parsedPackage) => parsedPackage !== null);
55
44
  }
56
- installApplication(packageFilePath, appIdentifier, buildData) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- if (appIdentifier) {
59
- const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appIdentifier}`;
60
- yield this.adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
61
- }
62
- const { dir, name, ext } = (0, path_1.parse)(packageFilePath);
63
- if (ext === constants_2.AAB_EXTENSION_NAME) {
64
- const apksOutputPath = (0, path_1.join)(dir, name) + constants_2.APKS_EXTENSION_NAME;
65
- if (!this.hasValidApksFile(packageFilePath, apksOutputPath)) {
66
- yield this.$androidBundleToolService.buildApks({
67
- aabFilePath: packageFilePath,
68
- apksOutputPath,
69
- signingData: buildData,
70
- });
71
- }
72
- yield this.$androidBundleToolService.installApks({
73
- apksFilePath: apksOutputPath,
74
- deviceId: this.identifier,
45
+ async installApplication(packageFilePath, appIdentifier, buildData) {
46
+ if (appIdentifier) {
47
+ const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appIdentifier}`;
48
+ await this.adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
49
+ }
50
+ const { dir, name, ext } = (0, path_1.parse)(packageFilePath);
51
+ if (ext === constants_2.AAB_EXTENSION_NAME) {
52
+ const apksOutputPath = (0, path_1.join)(dir, name) + constants_2.APKS_EXTENSION_NAME;
53
+ if (!this.hasValidApksFile(packageFilePath, apksOutputPath)) {
54
+ await this.$androidBundleToolService.buildApks({
55
+ aabFilePath: packageFilePath,
56
+ apksOutputPath,
57
+ signingData: buildData,
75
58
  });
76
59
  }
77
- else {
78
- return this.adb.executeCommand(["install", "-r", `${packageFilePath}`]);
79
- }
80
- });
60
+ await this.$androidBundleToolService.installApks({
61
+ apksFilePath: apksOutputPath,
62
+ deviceId: this.identifier,
63
+ });
64
+ }
65
+ else {
66
+ return this.adb.executeCommand(["install", "-r", `${packageFilePath}`]);
67
+ }
81
68
  }
82
69
  uninstallApplication(appIdentifier) {
83
70
  return this.adb.executeShellCommand(["pm", "uninstall", `${appIdentifier}`], { treatErrorsAsWarnings: true });
84
71
  }
85
- startApplication(appData) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- if (appData.waitForDebugger) {
88
- yield this.adb.executeShellCommand([
89
- `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`,
90
- ]);
91
- }
92
- yield this.adb.executeShellCommand([
93
- `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`,
72
+ async startApplication(appData) {
73
+ if (appData.waitForDebugger) {
74
+ await this.adb.executeShellCommand([
75
+ `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugbreak`,
94
76
  ]);
95
- const appIdentifier = appData.appId;
96
- const pmDumpOutput = yield this.adb.executeShellCommand([
97
- "pm",
98
- "dump",
77
+ }
78
+ await this.adb.executeShellCommand([
79
+ `cat /dev/null > ${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appData.appId}-debugger-started`,
80
+ ]);
81
+ const appIdentifier = appData.appId;
82
+ const pmDumpOutput = await this.adb.executeShellCommand([
83
+ "pm",
84
+ "dump",
85
+ appIdentifier,
86
+ "|",
87
+ "grep",
88
+ "-A",
89
+ "1",
90
+ "MAIN",
91
+ ]);
92
+ const activityMatch = this.getFullyQualifiedActivityRegex(appIdentifier);
93
+ const match = activityMatch.exec(pmDumpOutput);
94
+ const possibleIdentifier = match && match[0];
95
+ if (possibleIdentifier) {
96
+ await this.adb.executeShellCommand([
97
+ "am",
98
+ "start",
99
+ "-n",
100
+ possibleIdentifier,
101
+ ]);
102
+ }
103
+ else {
104
+ this.$logger.trace(`Tried starting activity for: ${appIdentifier}, using activity manager but failed.`);
105
+ await this.adb.executeShellCommand([
106
+ "monkey",
107
+ "-p",
99
108
  appIdentifier,
100
- "|",
101
- "grep",
102
- "-A",
109
+ "-c",
110
+ "android.intent.category.LAUNCHER",
103
111
  "1",
104
- "MAIN",
105
112
  ]);
106
- const activityMatch = this.getFullyQualifiedActivityRegex(appIdentifier);
107
- const match = activityMatch.exec(pmDumpOutput);
108
- const possibleIdentifier = match && match[0];
109
- if (possibleIdentifier) {
110
- yield this.adb.executeShellCommand([
111
- "am",
112
- "start",
113
- "-n",
114
- possibleIdentifier,
115
- ]);
113
+ }
114
+ await this.onAppLaunch(appData);
115
+ }
116
+ async onAppLaunch(appData) {
117
+ const appIdentifier = appData.appId;
118
+ if (!this.$options.justlaunch && !appData.justLaunch) {
119
+ const deviceIdentifier = this.identifier;
120
+ const processIdentifier = await this.getAppProcessId(deviceIdentifier, appIdentifier);
121
+ if (processIdentifier) {
122
+ this.$deviceLogProvider.setApplicationPidForDevice(deviceIdentifier, processIdentifier);
123
+ this.$deviceLogProvider.setApplicationIdForDevice(deviceIdentifier, appIdentifier);
124
+ this.$deviceLogProvider.setProjectDirForDevice(deviceIdentifier, appData.projectDir);
125
+ await this.$logcatHelper.start({
126
+ deviceIdentifier: this.identifier,
127
+ pid: processIdentifier,
128
+ appId: appIdentifier,
129
+ onAppRestarted: () => {
130
+ this.onAppLaunch(appData);
131
+ },
132
+ });
116
133
  }
117
134
  else {
118
- this.$logger.trace(`Tried starting activity for: ${appIdentifier}, using activity manager but failed.`);
119
- yield this.adb.executeShellCommand([
120
- "monkey",
121
- "-p",
122
- appIdentifier,
123
- "-c",
124
- "android.intent.category.LAUNCHER",
125
- "1",
126
- ]);
135
+ await this.$logcatHelper.dump(this.identifier);
136
+ this.$errors.fail(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
127
137
  }
128
- yield this.onAppLaunch(appData);
129
- });
130
- }
131
- onAppLaunch(appData) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const appIdentifier = appData.appId;
134
- if (!this.$options.justlaunch && !appData.justLaunch) {
135
- const deviceIdentifier = this.identifier;
136
- const processIdentifier = yield this.getAppProcessId(deviceIdentifier, appIdentifier);
137
- if (processIdentifier) {
138
- this.$deviceLogProvider.setApplicationPidForDevice(deviceIdentifier, processIdentifier);
139
- this.$deviceLogProvider.setApplicationIdForDevice(deviceIdentifier, appIdentifier);
140
- this.$deviceLogProvider.setProjectDirForDevice(deviceIdentifier, appData.projectDir);
141
- yield this.$logcatHelper.start({
142
- deviceIdentifier: this.identifier,
143
- pid: processIdentifier,
144
- appId: appIdentifier,
145
- onAppRestarted: () => {
146
- this.onAppLaunch(appData);
147
- },
148
- });
149
- }
150
- else {
151
- yield this.$logcatHelper.dump(this.identifier);
152
- this.$errors.fail(`Unable to find running "${appIdentifier}" application on device "${deviceIdentifier}".`);
153
- }
154
- }
155
- });
138
+ }
156
139
  }
157
- getAppProcessId(deviceIdentifier, appIdentifier) {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- const appIdCheckStartTime = new Date().getTime();
160
- let processIdentifier = "";
161
- let hasTimedOut = false;
162
- while (!processIdentifier && !hasTimedOut) {
163
- processIdentifier = yield this.$androidProcessService.getAppProcessId(deviceIdentifier, appIdentifier);
164
- if (!processIdentifier) {
165
- this.$logger.trace(`Wasn't able to get pid of the app. Sleeping for "${this.PID_CHECK_INTERVAL}ms".`);
166
- yield (0, helpers_1.sleep)(this.PID_CHECK_INTERVAL);
167
- hasTimedOut =
168
- new Date().getTime() - appIdCheckStartTime > this.PID_CHECK_TIMEOUT;
169
- }
140
+ async getAppProcessId(deviceIdentifier, appIdentifier) {
141
+ const appIdCheckStartTime = new Date().getTime();
142
+ let processIdentifier = "";
143
+ let hasTimedOut = false;
144
+ while (!processIdentifier && !hasTimedOut) {
145
+ processIdentifier = await this.$androidProcessService.getAppProcessId(deviceIdentifier, appIdentifier);
146
+ if (!processIdentifier) {
147
+ this.$logger.trace(`Wasn't able to get pid of the app. Sleeping for "${this.PID_CHECK_INTERVAL}ms".`);
148
+ await (0, helpers_1.sleep)(this.PID_CHECK_INTERVAL);
149
+ hasTimedOut =
150
+ new Date().getTime() - appIdCheckStartTime > this.PID_CHECK_TIMEOUT;
170
151
  }
171
- return processIdentifier;
172
- });
152
+ }
153
+ return processIdentifier;
173
154
  }
174
155
  stopApplication(appData) {
175
156
  this.$logcatHelper.stop(this.identifier);
@@ -184,25 +165,23 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
184
165
  getDebuggableApps() {
185
166
  return this.$androidProcessService.getDebuggableApps(this.identifier);
186
167
  }
187
- getDebuggableAppViews(appIdentifiers) {
188
- return __awaiter(this, void 0, void 0, function* () {
189
- const mappedAppIdentifierPorts = yield this.$androidProcessService.getMappedAbstractToTcpPorts(this.identifier, appIdentifiers, constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova), applicationViews = {};
190
- yield Promise.all(_.map(mappedAppIdentifierPorts, (port, appIdentifier) => __awaiter(this, void 0, void 0, function* () {
191
- applicationViews[appIdentifier] = [];
192
- const localAddress = `http://127.0.0.1:${port}/json`;
193
- try {
194
- if (port) {
195
- const apps = (yield this.$httpClient.httpRequest(localAddress))
196
- .body;
197
- applicationViews[appIdentifier] = JSON.parse(apps);
198
- }
168
+ async getDebuggableAppViews(appIdentifiers) {
169
+ const mappedAppIdentifierPorts = await this.$androidProcessService.getMappedAbstractToTcpPorts(this.identifier, appIdentifiers, constants_1.TARGET_FRAMEWORK_IDENTIFIERS.Cordova), applicationViews = {};
170
+ await Promise.all(_.map(mappedAppIdentifierPorts, async (port, appIdentifier) => {
171
+ applicationViews[appIdentifier] = [];
172
+ const localAddress = `http://127.0.0.1:${port}/json`;
173
+ try {
174
+ if (port) {
175
+ const apps = (await this.$httpClient.httpRequest(localAddress))
176
+ .body;
177
+ applicationViews[appIdentifier] = JSON.parse(apps);
199
178
  }
200
- catch (err) {
201
- this.$logger.trace(`Error while checking ${localAddress}. Error is: ${err.message}`);
202
- }
203
- })));
204
- return applicationViews;
205
- });
179
+ }
180
+ catch (err) {
181
+ this.$logger.trace(`Error while checking ${localAddress}. Error is: ${err.message}`);
182
+ }
183
+ }));
184
+ return applicationViews;
206
185
  }
207
186
  getFullyQualifiedActivityRegex(appIdentifier) {
208
187
  const packageActivitySeparator = "\\/";
@@ -219,10 +198,10 @@ class AndroidApplicationManager extends application_manager_base_1.ApplicationMa
219
198
  return isValid;
220
199
  }
221
200
  }
201
+ exports.AndroidApplicationManager = AndroidApplicationManager;
222
202
  __decorate([
223
203
  (0, helpers_1.hook)("install")
224
204
  ], AndroidApplicationManager.prototype, "installApplication", null);
225
205
  __decorate([
226
206
  (0, decorators_1.cache)()
227
207
  ], AndroidApplicationManager.prototype, "getFullyQualifiedActivityRegex", null);
228
- exports.AndroidApplicationManager = AndroidApplicationManager;
@@ -46,6 +46,7 @@ class AndroidDebugBridgeResultHandler {
46
46
  }
47
47
  }
48
48
  }
49
+ exports.AndroidDebugBridgeResultHandler = AndroidDebugBridgeResultHandler;
49
50
  AndroidDebugBridgeResultHandler.ANDROID_DEBUG_BRIDGE_ERRORS = [
50
51
  {
51
52
  name: "device unauthorized",
@@ -328,5 +329,4 @@ AndroidDebugBridgeResultHandler.ANDROID_DEBUG_BRIDGE_ERRORS = [
328
329
  resultCode: -7,
329
330
  },
330
331
  ];
331
- exports.AndroidDebugBridgeResultHandler = AndroidDebugBridgeResultHandler;
332
332
  yok_1.injector.register("androidDebugBridgeResultHandler", AndroidDebugBridgeResultHandler);
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.AndroidDebugBridge = void 0;
19
10
  const path = require("path");
@@ -30,35 +21,31 @@ class AndroidDebugBridge {
30
21
  this.$androidDebugBridgeResultHandler = $androidDebugBridgeResultHandler;
31
22
  this.adbFilePath = null;
32
23
  }
33
- init() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- this.adbFilePath = yield this.$staticConfig.getAdbFilePath();
36
- });
24
+ async init() {
25
+ this.adbFilePath = await this.$staticConfig.getAdbFilePath();
37
26
  }
38
- executeCommand(args, options) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- let event = "close";
41
- const deviceIdentifier = options && options.deviceIdentifier;
42
- const command = yield this.composeCommand(args, deviceIdentifier);
43
- let treatErrorsAsWarnings = false;
44
- let childProcessOptions = undefined;
45
- if (options) {
46
- event = options.fromEvent || event;
47
- treatErrorsAsWarnings = options.treatErrorsAsWarnings;
48
- childProcessOptions = options.childProcessOptions;
49
- if (options.returnChildProcess) {
50
- return this.$childProcess.spawn(command.command, command.args);
51
- }
27
+ async executeCommand(args, options) {
28
+ let event = "close";
29
+ const deviceIdentifier = options && options.deviceIdentifier;
30
+ const command = await this.composeCommand(args, deviceIdentifier);
31
+ let treatErrorsAsWarnings = false;
32
+ let childProcessOptions = undefined;
33
+ if (options) {
34
+ event = options.fromEvent || event;
35
+ treatErrorsAsWarnings = options.treatErrorsAsWarnings;
36
+ childProcessOptions = options.childProcessOptions;
37
+ if (options.returnChildProcess) {
38
+ return this.$childProcess.spawn(command.command, command.args);
52
39
  }
53
- const result = yield this.$childProcess.spawnFromEvent(command.command, command.args, event, childProcessOptions, { throwError: false });
54
- const errors = this.$androidDebugBridgeResultHandler.checkForErrors(result);
55
- if (errors && errors.length > 0) {
56
- this.$androidDebugBridgeResultHandler.handleErrors(errors, treatErrorsAsWarnings);
57
- }
58
- return result.stdout === undefined || result.stdout === null
59
- ? result
60
- : result.stdout;
61
- });
40
+ }
41
+ const result = await this.$childProcess.spawnFromEvent(command.command, command.args, event, childProcessOptions, { throwError: false });
42
+ const errors = this.$androidDebugBridgeResultHandler.checkForErrors(result);
43
+ if (errors && errors.length > 0) {
44
+ this.$androidDebugBridgeResultHandler.handleErrors(errors, treatErrorsAsWarnings);
45
+ }
46
+ return result.stdout === undefined || result.stdout === null
47
+ ? result
48
+ : result.stdout;
62
49
  }
63
50
  getPropertyValue(deviceId, propertyName) {
64
51
  return this.$childProcess.execFile(this.adbFilePath, [
@@ -69,91 +56,80 @@ class AndroidDebugBridge {
69
56
  propertyName,
70
57
  ]);
71
58
  }
72
- getDevices() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const result = yield this.executeCommand(["devices"], {
75
- returnChildProcess: true,
59
+ async getDevices() {
60
+ const result = await this.executeCommand(["devices"], {
61
+ returnChildProcess: true,
62
+ });
63
+ return new Promise((resolve, reject) => {
64
+ let adbData = "";
65
+ let errorData = "";
66
+ let isSettled = false;
67
+ result.stdout.on("data", (data) => {
68
+ adbData += data.toString();
76
69
  });
77
- return new Promise((resolve, reject) => {
78
- let adbData = "";
79
- let errorData = "";
80
- let isSettled = false;
81
- result.stdout.on("data", (data) => {
82
- adbData += data.toString();
83
- });
84
- result.stderr.on("data", (data) => {
85
- errorData += (data || "").toString();
86
- });
87
- result.on("error", (error) => {
88
- if (reject && !isSettled) {
89
- isSettled = true;
90
- reject(error);
91
- }
92
- });
93
- result.on("close", (exitCode) => __awaiter(this, void 0, void 0, function* () {
94
- if (errorData && !isSettled) {
95
- isSettled = true;
96
- reject(errorData);
97
- return;
98
- }
99
- if (!isSettled) {
100
- isSettled = true;
101
- const adbDevices = adbData
102
- .split(os_1.EOL)
103
- .filter((line) => !!line &&
104
- line.indexOf("List of devices attached") === -1 &&
105
- line.indexOf("* daemon ") === -1 &&
106
- line.indexOf("adb server") === -1);
107
- resolve(adbDevices);
108
- }
109
- }));
70
+ result.stderr.on("data", (data) => {
71
+ errorData += (data || "").toString();
72
+ });
73
+ result.on("error", (error) => {
74
+ if (reject && !isSettled) {
75
+ isSettled = true;
76
+ reject(error);
77
+ }
78
+ });
79
+ result.on("close", async (exitCode) => {
80
+ if (errorData && !isSettled) {
81
+ isSettled = true;
82
+ reject(errorData);
83
+ return;
84
+ }
85
+ if (!isSettled) {
86
+ isSettled = true;
87
+ const adbDevices = adbData
88
+ .split(os_1.EOL)
89
+ .filter((line) => !!line &&
90
+ line.indexOf("List of devices attached") === -1 &&
91
+ line.indexOf("* daemon ") === -1 &&
92
+ line.indexOf("adb server") === -1);
93
+ resolve(adbDevices);
94
+ }
110
95
  });
111
96
  });
112
97
  }
113
- getDevicesSafe() {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- let adbDevices = [];
116
- try {
117
- adbDevices = yield this.getDevices();
118
- }
119
- catch (err) {
120
- this.$logger.trace(`Getting adb devices failed with error: ${err}`);
121
- }
122
- return adbDevices;
123
- });
98
+ async getDevicesSafe() {
99
+ let adbDevices = [];
100
+ try {
101
+ adbDevices = await this.getDevices();
102
+ }
103
+ catch (err) {
104
+ this.$logger.trace(`Getting adb devices failed with error: ${err}`);
105
+ }
106
+ return adbDevices;
124
107
  }
125
- composeCommand(params, identifier) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const command = yield this.$staticConfig.getAdbFilePath();
128
- let deviceIdentifier = [];
129
- if (identifier) {
130
- deviceIdentifier = ["-s", `${identifier}`];
131
- }
132
- const args = deviceIdentifier.concat(params);
133
- return { command, args };
134
- });
108
+ async composeCommand(params, identifier) {
109
+ const command = await this.$staticConfig.getAdbFilePath();
110
+ let deviceIdentifier = [];
111
+ if (identifier) {
112
+ deviceIdentifier = ["-s", `${identifier}`];
113
+ }
114
+ const args = deviceIdentifier.concat(params);
115
+ return { command, args };
135
116
  }
136
- executeShellCommand(args, options) {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- args.unshift("shell");
139
- const result = yield this.executeCommand(args, options);
140
- return result;
141
- });
117
+ async executeShellCommand(args, options) {
118
+ args.unshift("shell");
119
+ const result = await this.executeCommand(args, options);
120
+ return result;
142
121
  }
143
- pushFile(localFilePath, deviceFilePath) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- const fileDirectory = (0, helpers_1.fromWindowsRelativePathToUnix)(path.dirname(deviceFilePath));
146
- yield this.executeShellCommand(["mkdir", "-p", fileDirectory]);
147
- yield this.executeCommand(["push", localFilePath, deviceFilePath]);
148
- yield this.executeShellCommand(["chmod", "0777", fileDirectory]);
149
- });
122
+ async pushFile(localFilePath, deviceFilePath) {
123
+ const fileDirectory = (0, helpers_1.fromWindowsRelativePathToUnix)(path.dirname(deviceFilePath));
124
+ await this.executeShellCommand(["mkdir", "-p", fileDirectory]);
125
+ await this.executeCommand(["push", localFilePath, deviceFilePath]);
126
+ await this.executeShellCommand(["chmod", "0777", fileDirectory]);
150
127
  }
151
- removeFile(deviceFilePath) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- yield this.executeShellCommand(["rm", "-rf", deviceFilePath]);
154
- });
128
+ async removeFile(deviceFilePath) {
129
+ await this.executeShellCommand(["rm", "-rf", deviceFilePath]);
155
130
  }
156
131
  }
132
+ exports.AndroidDebugBridge = AndroidDebugBridge;
157
133
  __decorate([
158
134
  (0, decorators_1.cache)()
159
135
  ], AndroidDebugBridge.prototype, "init", null);
@@ -163,5 +139,4 @@ __decorate([
163
139
  __decorate([
164
140
  (0, decorators_1.invokeInit)()
165
141
  ], AndroidDebugBridge.prototype, "getDevices", null);
166
- exports.AndroidDebugBridge = AndroidDebugBridge;
167
142
  yok_1.injector.register("adb", AndroidDebugBridge);