@akylas/nativescript-cli 8.7.2 → 8.8.3

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 (295) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
  3. package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
  4. package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
  5. package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
  6. package/docs/man_pages/project/configuration/native/native-add.md +31 -0
  7. package/docs/man_pages/project/configuration/native/native.md +31 -0
  8. package/lib/.d.ts +2 -0
  9. package/lib/android-tools-info.js +9 -20
  10. package/lib/base-package-manager.js +47 -64
  11. package/lib/bootstrap.js +8 -0
  12. package/lib/bun-package-manager.js +65 -88
  13. package/lib/color.js +2 -2
  14. package/lib/commands/add-platform.js +14 -30
  15. package/lib/commands/apple-login.js +18 -29
  16. package/lib/commands/appstore-list.js +34 -45
  17. package/lib/commands/appstore-upload.js +55 -68
  18. package/lib/commands/build.js +57 -86
  19. package/lib/commands/clean.js +161 -176
  20. package/lib/commands/command-base.js +14 -27
  21. package/lib/commands/config.js +51 -70
  22. package/lib/commands/create-project.js +210 -229
  23. package/lib/commands/debug.js +66 -88
  24. package/lib/commands/deploy.js +28 -44
  25. package/lib/commands/embedding/embed.js +72 -0
  26. package/lib/commands/extensibility/install-extension.js +5 -16
  27. package/lib/commands/extensibility/list-extensions.js +13 -24
  28. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  29. package/lib/commands/fonts.js +30 -41
  30. package/lib/commands/generate-assets.js +13 -28
  31. package/lib/commands/generate-help.js +2 -13
  32. package/lib/commands/generate.js +17 -26
  33. package/lib/commands/info.js +2 -13
  34. package/lib/commands/install.js +34 -49
  35. package/lib/commands/list-platforms.js +14 -25
  36. package/lib/commands/migrate.js +15 -26
  37. package/lib/commands/native-add.js +277 -0
  38. package/lib/commands/platform-clean.js +19 -32
  39. package/lib/commands/plugin/add-plugin.js +12 -25
  40. package/lib/commands/plugin/build-plugin.js +34 -45
  41. package/lib/commands/plugin/create-plugin.js +110 -133
  42. package/lib/commands/plugin/list-plugins.js +22 -33
  43. package/lib/commands/plugin/remove-plugin.js +20 -33
  44. package/lib/commands/plugin/update-plugin.js +20 -33
  45. package/lib/commands/post-install.js +20 -33
  46. package/lib/commands/prepare.js +28 -35
  47. package/lib/commands/preview.js +49 -62
  48. package/lib/commands/remove-platform.js +7 -18
  49. package/lib/commands/resources/resources-update.js +13 -26
  50. package/lib/commands/run.js +55 -76
  51. package/lib/commands/start.js +6 -19
  52. package/lib/commands/test-init.js +123 -134
  53. package/lib/commands/test.js +66 -89
  54. package/lib/commands/typings.js +126 -142
  55. package/lib/commands/update-platform.js +22 -35
  56. package/lib/commands/update.js +30 -43
  57. package/lib/common/child-process.js +53 -72
  58. package/lib/common/codeGeneration/code-entity.js +1 -1
  59. package/lib/common/codeGeneration/code-printer.js +1 -1
  60. package/lib/common/command-params.js +7 -18
  61. package/lib/common/commands/analytics.js +27 -40
  62. package/lib/common/commands/autocompletion.js +39 -56
  63. package/lib/common/commands/device/device-log-stream.js +12 -23
  64. package/lib/common/commands/device/get-file.js +22 -33
  65. package/lib/common/commands/device/list-applications.js +12 -23
  66. package/lib/common/commands/device/list-devices.js +72 -87
  67. package/lib/common/commands/device/list-files.js +23 -34
  68. package/lib/common/commands/device/put-file.js +22 -33
  69. package/lib/common/commands/device/run-application.js +12 -25
  70. package/lib/common/commands/device/stop-application.js +11 -22
  71. package/lib/common/commands/device/uninstall-application.js +6 -17
  72. package/lib/common/commands/generate-messages.js +17 -28
  73. package/lib/common/commands/help.js +20 -33
  74. package/lib/common/commands/package-manager-get.js +6 -17
  75. package/lib/common/commands/package-manager-set.js +9 -20
  76. package/lib/common/commands/post-install.js +2 -13
  77. package/lib/common/commands/preuninstall.js +23 -38
  78. package/lib/common/commands/proxy/proxy-base.js +8 -19
  79. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  80. package/lib/common/commands/proxy/proxy-get.js +3 -14
  81. package/lib/common/commands/proxy/proxy-set.js +87 -100
  82. package/lib/common/constants.js +11 -11
  83. package/lib/common/decorators.js +10 -22
  84. package/lib/common/dispatchers.js +79 -96
  85. package/lib/common/errors.js +89 -104
  86. package/lib/common/file-system.js +106 -127
  87. package/lib/common/header.js +1 -2
  88. package/lib/common/helpers.js +149 -178
  89. package/lib/common/host-info.js +37 -50
  90. package/lib/common/http-client.js +93 -108
  91. package/lib/common/logger/appenders/cli-appender.js +1 -2
  92. package/lib/common/logger/appenders/emit-appender.js +1 -2
  93. package/lib/common/logger/layouts/cli-layout.js +1 -2
  94. package/lib/common/logger/logger.js +1 -1
  95. package/lib/common/mobile/android/android-application-manager.js +121 -142
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  98. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  99. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  100. package/lib/common/mobile/android/android-device.js +74 -91
  101. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  102. package/lib/common/mobile/android/android-log-filter.js +1 -1
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  107. package/lib/common/mobile/android/logcat-helper.js +108 -118
  108. package/lib/common/mobile/application-manager-base.js +84 -107
  109. package/lib/common/mobile/device-log-provider-base.js +7 -18
  110. package/lib/common/mobile/emulator-helper.js +1 -0
  111. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  112. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  113. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  114. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  115. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  116. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  117. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  118. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  119. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  120. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  121. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  122. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  123. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  124. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  125. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  126. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  127. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  128. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  129. package/lib/common/mobile/mobile-helper.js +15 -26
  130. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  131. package/lib/common/opener.js +2 -2
  132. package/lib/common/plist-parser.js +2 -2
  133. package/lib/common/prompter.js +90 -105
  134. package/lib/common/queue.js +9 -20
  135. package/lib/common/services/auto-completion-service.js +39 -52
  136. package/lib/common/services/cancellation.js +17 -28
  137. package/lib/common/services/commands-service.js +146 -169
  138. package/lib/common/services/help-service.js +132 -157
  139. package/lib/common/services/hooks-service.js +93 -108
  140. package/lib/common/services/ios-notification-service.js +21 -34
  141. package/lib/common/services/json-file-settings-service.js +52 -71
  142. package/lib/common/services/lock-service.js +35 -52
  143. package/lib/common/services/message-contract-generator.js +35 -46
  144. package/lib/common/services/micro-templating-service.js +4 -15
  145. package/lib/common/services/net-service.js +90 -107
  146. package/lib/common/services/project-files-manager.js +10 -23
  147. package/lib/common/services/proxy-service.js +13 -24
  148. package/lib/common/services/qr.js +13 -24
  149. package/lib/common/services/settings-service.js +1 -1
  150. package/lib/common/services/xcode-select-service.js +20 -35
  151. package/lib/common/utils.js +7 -0
  152. package/lib/common/validators/project-name-validator.js +1 -1
  153. package/lib/common/validators/validation-result.js +1 -1
  154. package/lib/common/verify-node-version.js +2 -3
  155. package/lib/common/yok.js +23 -36
  156. package/lib/config.js +7 -58
  157. package/lib/constants.js +24 -24
  158. package/lib/controllers/build-controller.js +82 -99
  159. package/lib/controllers/debug-controller.js +107 -128
  160. package/lib/controllers/deploy-controller.js +17 -22
  161. package/lib/controllers/migrate-controller.js +727 -800
  162. package/lib/controllers/platform-controller.js +72 -83
  163. package/lib/controllers/prepare-controller.js +264 -250
  164. package/lib/controllers/run-controller.js +392 -406
  165. package/lib/controllers/update-controller-base.js +16 -29
  166. package/lib/controllers/update-controller.js +94 -119
  167. package/lib/data/build-data.js +2 -0
  168. package/lib/data/prepare-data.js +5 -1
  169. package/lib/declarations.d.ts +14 -3
  170. package/lib/definitions/android-plugin-migrator.d.ts +1 -0
  171. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  172. package/lib/definitions/livesync.d.ts +1 -1
  173. package/lib/definitions/platform.d.ts +1 -0
  174. package/lib/definitions/prepare.d.ts +3 -0
  175. package/lib/definitions/project.d.ts +5 -0
  176. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  177. package/lib/detached-processes/cleanup-process.js +16 -25
  178. package/lib/device-path-provider.js +23 -34
  179. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  180. package/lib/device-sockets/ios/notification.js +1 -1
  181. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  182. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  183. package/lib/helpers/deploy-command-helper.js +45 -49
  184. package/lib/helpers/key-command-helper.js +4 -13
  185. package/lib/helpers/livesync-command-helper.js +137 -152
  186. package/lib/helpers/network-connectivity-validator.js +6 -17
  187. package/lib/helpers/options-track-helper.js +6 -17
  188. package/lib/helpers/platform-command-helper.js +102 -114
  189. package/lib/key-commands/index.js +161 -211
  190. package/lib/nativescript-cli.js +5 -14
  191. package/lib/node-package-manager.js +81 -104
  192. package/lib/options.js +12 -14
  193. package/lib/package-installation-manager.js +130 -165
  194. package/lib/package-manager.js +63 -86
  195. package/lib/platform-command-param.js +4 -15
  196. package/lib/pnpm-package-manager.js +59 -78
  197. package/lib/project-data.js +5 -2
  198. package/lib/providers/project-files-provider.js +2 -2
  199. package/lib/services/analytics/analytics-broker-process.js +13 -22
  200. package/lib/services/analytics/analytics-broker.js +17 -30
  201. package/lib/services/analytics/analytics-service.js +161 -198
  202. package/lib/services/analytics/google-analytics-provider.js +41 -56
  203. package/lib/services/analytics-settings-service.js +15 -32
  204. package/lib/services/android/android-bundle-tool-service.js +43 -60
  205. package/lib/services/android/gradle-build-args-service.js +13 -23
  206. package/lib/services/android/gradle-build-service.js +34 -47
  207. package/lib/services/android/gradle-command-service.js +23 -32
  208. package/lib/services/android-device-debug-service.js +90 -117
  209. package/lib/services/android-plugin-build-service.js +233 -247
  210. package/lib/services/android-project-service.js +180 -219
  211. package/lib/services/android-resources-migration-service.js +51 -64
  212. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  213. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  214. package/lib/services/assets-generation/assets-generation-service.js +100 -113
  215. package/lib/services/build-artifacts-service.js +9 -20
  216. package/lib/services/build-info-file-service.js +20 -35
  217. package/lib/services/cleanup-service.js +47 -76
  218. package/lib/services/cocoapods-service.js +118 -133
  219. package/lib/services/device/device-install-app-service.js +73 -90
  220. package/lib/services/doctor-service.js +99 -118
  221. package/lib/services/extensibility-service.js +81 -100
  222. package/lib/services/files-hash-service.js +28 -44
  223. package/lib/services/hmr-status-service.js +1 -1
  224. package/lib/services/initialize-service.js +37 -50
  225. package/lib/services/ios/export-options-plist-service.js +38 -51
  226. package/lib/services/ios/ios-signing-service.js +161 -180
  227. package/lib/services/ios/spm-service.js +40 -53
  228. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  229. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  230. package/lib/services/ios/xcodebuild-service.js +50 -69
  231. package/lib/services/ios-debugger-port-service.js +23 -36
  232. package/lib/services/ios-device-debug-service.js +75 -102
  233. package/lib/services/ios-entitlements-service.js +31 -42
  234. package/lib/services/ios-extensions-service.js +18 -29
  235. package/lib/services/ios-project-service.js +418 -440
  236. package/lib/services/ios-provision-service.js +108 -129
  237. package/lib/services/ios-watch-app-service.js +21 -32
  238. package/lib/services/ip-service.js +38 -53
  239. package/lib/services/itmstransporter-service.js +129 -152
  240. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  241. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  242. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
  243. package/lib/services/livesync/android-livesync-service.js +16 -37
  244. package/lib/services/livesync/android-livesync-tool.js +89 -112
  245. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  246. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  247. package/lib/services/livesync/ios-livesync-service.js +44 -60
  248. package/lib/services/livesync/platform-livesync-service-base.js +96 -120
  249. package/lib/services/log-parser-service.js +1 -1
  250. package/lib/services/log-source-map-service.js +33 -43
  251. package/lib/services/marking-mode-service.js +15 -28
  252. package/lib/services/npm-config-service.js +1 -1
  253. package/lib/services/pacote-service.js +49 -64
  254. package/lib/services/performance-service.js +1 -1
  255. package/lib/services/platform/add-platform-service.js +53 -69
  256. package/lib/services/platform/platform-validation-service.js +22 -33
  257. package/lib/services/platform/prepare-native-platform-service.js +50 -60
  258. package/lib/services/platform-environment-requirements.js +29 -38
  259. package/lib/services/plugins-service.js +128 -147
  260. package/lib/services/project-backup-service.js +1 -1
  261. package/lib/services/project-changes-service.js +129 -139
  262. package/lib/services/project-cleanup-service.js +64 -77
  263. package/lib/services/project-config-service.js +71 -80
  264. package/lib/services/project-data-service.js +116 -139
  265. package/lib/services/project-name-service.js +28 -43
  266. package/lib/services/project-service.js +84 -103
  267. package/lib/services/project-templates-service.js +52 -67
  268. package/lib/services/start-service.js +41 -59
  269. package/lib/services/temp-service.js +8 -21
  270. package/lib/services/terminal-spinner-service.js +13 -24
  271. package/lib/services/test-execution-service.js +59 -72
  272. package/lib/services/test-initialization-service.js +2 -2
  273. package/lib/services/timeline-profiler-service.js +1 -1
  274. package/lib/services/versions-service.js +119 -138
  275. package/lib/services/webpack/webpack-compiler-service.js +212 -224
  276. package/lib/services/xcconfig-service.js +8 -19
  277. package/lib/services/xcproj-service.js +12 -0
  278. package/lib/sys-info.js +45 -62
  279. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  280. package/lib/yarn-package-manager.js +59 -78
  281. package/lib/yarn2-package-manager.js +60 -79
  282. package/package.json +59 -57
  283. package/vendor/aab-tool/README.txt +1 -1
  284. package/vendor/aab-tool/bundletool.jar +0 -0
  285. package/vendor/gradle-app/app/build.gradle +12 -4
  286. package/vendor/gradle-plugin/build.gradle +12 -4
  287. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  288. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  289. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  290. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  291. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  292. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  293. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  294. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  295. 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);