@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
@@ -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
  const net = require("net");
13
4
  const _ = require("lodash");
@@ -21,100 +12,80 @@ class IosEmulatorServices {
21
12
  this.$iOSSimResolver = $iOSSimResolver;
22
13
  this.$mobileHelper = $mobileHelper;
23
14
  }
24
- startEmulator(options) {
15
+ async startEmulator(options) {
25
16
  var _a;
26
- return __awaiter(this, void 0, void 0, function* () {
27
- let error = null;
28
- try {
29
- if (options.platform === this.$devicePlatformsConstants.visionOS &&
30
- !options.emulatorIdOrName) {
31
- const { devices } = yield this.tryGetiOSSimDevices();
32
- options.emulatorIdOrName = (_a = devices.find((device) => device.platform === this.$devicePlatformsConstants.visionOS)) === null || _a === void 0 ? void 0 : _a.id;
33
- }
34
- yield this.$iOSSimResolver.iOSSim.startSimulator({
35
- device: options.imageIdentifier || options.emulatorIdOrName,
36
- state: "None",
37
- sdkVersion: options.sdk,
38
- });
17
+ let error = null;
18
+ try {
19
+ if (options.platform === this.$devicePlatformsConstants.visionOS &&
20
+ !options.emulatorIdOrName) {
21
+ const { devices } = await this.tryGetiOSSimDevices();
22
+ options.emulatorIdOrName = (_a = devices.find((device) => device.platform === this.$devicePlatformsConstants.visionOS)) === null || _a === void 0 ? void 0 : _a.id;
39
23
  }
40
- catch (err) {
41
- error = err && err.message;
42
- }
43
- return {
44
- errors: error ? [error] : [],
45
- };
46
- });
24
+ await this.$iOSSimResolver.iOSSim.startSimulator({
25
+ device: options.imageIdentifier || options.emulatorIdOrName,
26
+ state: "None",
27
+ sdkVersion: options.sdk,
28
+ });
29
+ }
30
+ catch (err) {
31
+ error = err && err.message;
32
+ }
33
+ return {
34
+ errors: error ? [error] : [],
35
+ };
47
36
  }
48
- getRunningEmulator() {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- return null;
51
- });
37
+ async getRunningEmulator() {
38
+ return null;
52
39
  }
53
- getRunningEmulatorIds() {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- return [];
56
- });
40
+ async getRunningEmulatorIds() {
41
+ return [];
57
42
  }
58
- getRunningEmulatorName() {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- return "";
61
- });
43
+ async getRunningEmulatorName() {
44
+ return "";
62
45
  }
63
- getRunningEmulatorImageIdentifier(emulatorId) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- return "";
66
- });
46
+ async getRunningEmulatorImageIdentifier(emulatorId) {
47
+ return "";
67
48
  }
68
- postDarwinNotification(notification, deviceId) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- return this.$iOSSimResolver.iOSSim.sendNotification(notification, deviceId);
71
- });
49
+ async postDarwinNotification(notification, deviceId) {
50
+ return this.$iOSSimResolver.iOSSim.sendNotification(notification, deviceId);
72
51
  }
73
- connectToPort(data) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- try {
76
- const socket = net.connect(data.port, "127.0.0.1");
77
- return socket;
78
- }
79
- catch (e) {
80
- this.$logger.trace(e);
81
- }
82
- });
52
+ async connectToPort(data) {
53
+ try {
54
+ const socket = net.connect(data.port, "127.0.0.1");
55
+ return socket;
56
+ }
57
+ catch (e) {
58
+ this.$logger.trace(e);
59
+ }
83
60
  }
84
- getEmulatorImages() {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- let devices = [];
87
- const errors = [];
88
- const output = yield this.tryGetiOSSimDevices();
89
- if (output.devices && output.devices.length) {
90
- devices = _(output.devices)
91
- .map((simDevice) => this.convertSimDeviceToDeviceInfo(simDevice))
92
- .sortBy((deviceInfo) => deviceInfo.version)
93
- .value();
94
- }
95
- if (output.error) {
96
- errors.push(output.error);
97
- }
98
- return { devices, errors };
99
- });
61
+ async getEmulatorImages() {
62
+ let devices = [];
63
+ const errors = [];
64
+ const output = await this.tryGetiOSSimDevices();
65
+ if (output.devices && output.devices.length) {
66
+ devices = _(output.devices)
67
+ .map((simDevice) => this.convertSimDeviceToDeviceInfo(simDevice))
68
+ .sortBy((deviceInfo) => deviceInfo.version)
69
+ .value();
70
+ }
71
+ if (output.error) {
72
+ errors.push(output.error);
73
+ }
74
+ return { devices, errors };
100
75
  }
101
- getRunningEmulators() {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- return [];
104
- });
76
+ async getRunningEmulators() {
77
+ return [];
105
78
  }
106
- tryGetiOSSimDevices() {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- let devices = [];
109
- let error = null;
110
- try {
111
- devices = yield this.$iOSSimResolver.iOSSim.getDevices();
112
- }
113
- catch (err) {
114
- error = err;
115
- }
116
- return { devices, error };
117
- });
79
+ async tryGetiOSSimDevices() {
80
+ let devices = [];
81
+ let error = null;
82
+ try {
83
+ devices = await this.$iOSSimResolver.iOSSim.getDevices();
84
+ }
85
+ catch (err) {
86
+ error = err;
87
+ }
88
+ return { devices, error };
118
89
  }
119
90
  convertSimDeviceToDeviceInfo(simDevice) {
120
91
  var _a;
@@ -17,7 +17,7 @@ class IOSSimResolver {
17
17
  return path.join(require.resolve(IOSSimResolver.iOSSimName), "..", IOSSimResolver.iOSStandaloneExecutableName);
18
18
  }
19
19
  }
20
+ exports.IOSSimResolver = IOSSimResolver;
20
21
  IOSSimResolver.iOSSimName = "ios-sim-portable";
21
22
  IOSSimResolver.iOSStandaloneExecutableName = "ios-sim-standalone.js";
22
- exports.IOSSimResolver = IOSSimResolver;
23
23
  yok_1.injector.register("iOSSimResolver", IOSSimResolver);
@@ -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.IOSSimulatorApplicationManager = void 0;
19
10
  const application_manager_base_1 = require("../../application-manager-base");
@@ -35,68 +26,54 @@ class IOSSimulatorApplicationManager extends application_manager_base_1.Applicat
35
26
  this.$tempService = $tempService;
36
27
  this._lldbProcesses = {};
37
28
  }
38
- getInstalledApplications() {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- return this.iosSim.getInstalledApplications(this.device.deviceInfo.identifier);
41
- });
29
+ async getInstalledApplications() {
30
+ return this.iosSim.getInstalledApplications(this.device.deviceInfo.identifier);
42
31
  }
43
- installApplication(packageFilePath) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- if (this.$fs.exists(packageFilePath) &&
46
- path.extname(packageFilePath) === ".zip") {
47
- const dir = yield this.$tempService.mkdirSync("simulatorPackage");
48
- yield this.$fs.unzip(packageFilePath, dir);
49
- const app = _.find(this.$fs.readDirectory(dir), (directory) => path.extname(directory) === ".app");
50
- if (app) {
51
- packageFilePath = path.join(dir, app);
52
- }
32
+ async installApplication(packageFilePath) {
33
+ if (this.$fs.exists(packageFilePath) &&
34
+ path.extname(packageFilePath) === ".zip") {
35
+ const dir = await this.$tempService.mkdirSync("simulatorPackage");
36
+ await this.$fs.unzip(packageFilePath, dir);
37
+ const app = _.find(this.$fs.readDirectory(dir), (directory) => path.extname(directory) === ".app");
38
+ if (app) {
39
+ packageFilePath = path.join(dir, app);
53
40
  }
54
- yield this.iosSim.installApplication(this.device.deviceInfo.identifier, packageFilePath);
55
- });
41
+ }
42
+ await this.iosSim.installApplication(this.device.deviceInfo.identifier, packageFilePath);
56
43
  }
57
- uninstallApplication(appIdentifier) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- yield this.detachNativeDebugger(appIdentifier);
60
- return this.iosSim.uninstallApplication(this.device.deviceInfo.identifier, appIdentifier);
61
- });
44
+ async uninstallApplication(appIdentifier) {
45
+ await this.detachNativeDebugger(appIdentifier);
46
+ return this.iosSim.uninstallApplication(this.device.deviceInfo.identifier, appIdentifier);
62
47
  }
63
- startApplication(appData) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const args = process.env.IOS_SIMULATOR_RUN_ARGS || "";
66
- const options = appData.waitForDebugger
67
- ? {
68
- waitForDebugger: true,
69
- args: `--nativescript-debug-brk ${args}`.trim(),
70
- }
71
- : args
72
- ? { args }
73
- : {};
74
- yield this.setDeviceLogData(appData);
75
- const launchResult = yield this.iosSim.startApplication(this.device.deviceInfo.identifier, appData.appId, options);
76
- const pid = (0, helpers_1.getPidFromiOSSimulatorLogs)(appData.appId, launchResult);
77
- this.$deviceLogProvider.setApplicationPidForDevice(this.device.deviceInfo.identifier, pid);
78
- if (appData.waitForDebugger) {
79
- this.attachNativeDebugger(appData.appId, pid);
48
+ async startApplication(appData) {
49
+ const args = process.env.IOS_SIMULATOR_RUN_ARGS || "";
50
+ const options = appData.waitForDebugger
51
+ ? {
52
+ waitForDebugger: true,
53
+ args: `--nativescript-debug-brk ${args}`.trim(),
80
54
  }
81
- });
55
+ : args
56
+ ? { args }
57
+ : {};
58
+ await this.setDeviceLogData(appData);
59
+ const launchResult = await this.iosSim.startApplication(this.device.deviceInfo.identifier, appData.appId, options);
60
+ const pid = (0, helpers_1.getPidFromiOSSimulatorLogs)(appData.appId, launchResult);
61
+ this.$deviceLogProvider.setApplicationPidForDevice(this.device.deviceInfo.identifier, pid);
62
+ if (appData.waitForDebugger) {
63
+ this.attachNativeDebugger(appData.appId, pid);
64
+ }
82
65
  }
83
- stopApplication(appData) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- const { appId } = appData;
86
- yield this.device.destroyDebugSocket(appId);
87
- yield this.detachNativeDebugger(appId);
88
- yield this.iosSim.stopApplication(this.device.deviceInfo.identifier, appData.appId, appData.projectName);
89
- });
66
+ async stopApplication(appData) {
67
+ const { appId } = appData;
68
+ await this.device.destroyDebugSocket(appId);
69
+ await this.detachNativeDebugger(appId);
70
+ await this.iosSim.stopApplication(this.device.deviceInfo.identifier, appData.appId, appData.projectName);
90
71
  }
91
- getDebuggableApps() {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- return [];
94
- });
72
+ async getDebuggableApps() {
73
+ return [];
95
74
  }
96
- getDebuggableAppViews(appIdentifiers) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- return Promise.resolve(null);
99
- });
75
+ async getDebuggableAppViews(appIdentifiers) {
76
+ return Promise.resolve(null);
100
77
  }
101
78
  attachNativeDebugger(appId, pid) {
102
79
  this._lldbProcesses[appId] = this.$childProcess.spawn("lldb", ["-p", pid]);
@@ -106,42 +83,36 @@ class IOSSimulatorApplicationManager extends application_manager_base_1.Applicat
106
83
  this._lldbProcesses[appId].stderr.pipe(process.stderr);
107
84
  this._lldbProcesses[appId].stdin.write("process continue\n");
108
85
  }
109
- detachNativeDebugger(appId) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- if (this._lldbProcesses[appId]) {
112
- this._lldbProcesses[appId].stdin.write("process detach\n");
113
- yield this.killProcess(this._lldbProcesses[appId]);
114
- this._lldbProcesses[appId] = undefined;
115
- }
116
- });
86
+ async detachNativeDebugger(appId) {
87
+ if (this._lldbProcesses[appId]) {
88
+ this._lldbProcesses[appId].stdin.write("process detach\n");
89
+ await this.killProcess(this._lldbProcesses[appId]);
90
+ this._lldbProcesses[appId] = undefined;
91
+ }
117
92
  }
118
- killProcess(childProcess) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- if (childProcess) {
121
- return new Promise((resolve, reject) => {
122
- childProcess.on("close", resolve);
123
- childProcess.kill();
124
- });
125
- }
126
- });
93
+ async killProcess(childProcess) {
94
+ if (childProcess) {
95
+ return new Promise((resolve, reject) => {
96
+ childProcess.on("close", resolve);
97
+ childProcess.kill();
98
+ });
99
+ }
127
100
  }
128
- setDeviceLogData(appData) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- this.$deviceLogProvider.setProjectNameForDevice(this.device.deviceInfo.identifier, appData.projectName);
131
- this.$deviceLogProvider.setProjectDirForDevice(this.device.deviceInfo.identifier, appData.projectDir);
132
- if (!this.$options.justlaunch) {
133
- yield this.startDeviceLog();
134
- }
135
- });
101
+ async setDeviceLogData(appData) {
102
+ this.$deviceLogProvider.setProjectNameForDevice(this.device.deviceInfo.identifier, appData.projectName);
103
+ this.$deviceLogProvider.setProjectDirForDevice(this.device.deviceInfo.identifier, appData.projectDir);
104
+ if (!this.$options.justlaunch) {
105
+ await this.startDeviceLog();
106
+ }
136
107
  }
137
108
  startDeviceLog() {
138
109
  return this.device.openDeviceLogStream({ predicate: constants_1.IOS_LOG_PREDICATE });
139
110
  }
140
111
  }
112
+ exports.IOSSimulatorApplicationManager = IOSSimulatorApplicationManager;
141
113
  __decorate([
142
114
  (0, helpers_1.hook)("install")
143
115
  ], IOSSimulatorApplicationManager.prototype, "installApplication", null);
144
116
  __decorate([
145
117
  (0, decorators_1.cache)()
146
118
  ], IOSSimulatorApplicationManager.prototype, "startDeviceLog", null);
147
- exports.IOSSimulatorApplicationManager = IOSSimulatorApplicationManager;
@@ -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.IOSSimulator = void 0;
19
10
  const applicationManagerPath = require("./ios-simulator-application-manager");
@@ -63,44 +54,37 @@ class IOSSimulator extends ios_device_base_1.IOSDeviceBase {
63
54
  get isOnlyWiFiConnected() {
64
55
  return false;
65
56
  }
66
- openDeviceLogStream(options) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- options = options || {};
69
- options.predicate = options.hasOwnProperty("predicate")
70
- ? options.predicate
71
- : constants.IOS_LOG_PREDICATE;
72
- return this.$iOSSimulatorLogProvider.startLogProcess(this.simulator.id, options);
73
- });
57
+ async openDeviceLogStream(options) {
58
+ options = options || {};
59
+ options.predicate = options.hasOwnProperty("predicate")
60
+ ? options.predicate
61
+ : constants.IOS_LOG_PREDICATE;
62
+ return this.$iOSSimulatorLogProvider.startLogProcess(this.simulator.id, options);
74
63
  }
75
- getDebugSocketCore(appId) {
76
- const _super = Object.create(null, {
77
- getDebuggerPort: { get: () => super.getDebuggerPort }
78
- });
79
- return __awaiter(this, void 0, void 0, function* () {
80
- let socket;
81
- const attachRequestMessage = this.$iOSNotification.getAttachRequest(appId, this.deviceInfo.identifier);
82
- yield this.$iOSEmulatorServices.postDarwinNotification(attachRequestMessage, this.deviceInfo.identifier);
83
- const postNotificationRetryInterval = setInterval(() => {
84
- this.$iOSEmulatorServices
85
- .postDarwinNotification(attachRequestMessage, this.deviceInfo.identifier)
86
- .catch((e) => this.$logger.error(e));
87
- }, 5e3);
88
- const port = yield _super.getDebuggerPort.call(this, appId).finally(() => {
89
- clearInterval(postNotificationRetryInterval);
90
- });
91
- try {
92
- socket = yield helpers.connectEventuallyUntilTimeout(() => __awaiter(this, void 0, void 0, function* () {
93
- return this.$iOSEmulatorServices.connectToPort({ port });
94
- }), constants.SOCKET_CONNECTION_TIMEOUT_MS);
95
- }
96
- catch (e) {
97
- this.$logger.warn(e);
98
- }
99
- return socket;
64
+ async getDebugSocketCore(appId) {
65
+ let socket;
66
+ const attachRequestMessage = this.$iOSNotification.getAttachRequest(appId, this.deviceInfo.identifier);
67
+ await this.$iOSEmulatorServices.postDarwinNotification(attachRequestMessage, this.deviceInfo.identifier);
68
+ const postNotificationRetryInterval = setInterval(() => {
69
+ this.$iOSEmulatorServices
70
+ .postDarwinNotification(attachRequestMessage, this.deviceInfo.identifier)
71
+ .catch((e) => this.$logger.error(e));
72
+ }, 5e3);
73
+ const port = await super.getDebuggerPort(appId).finally(() => {
74
+ clearInterval(postNotificationRetryInterval);
100
75
  });
76
+ try {
77
+ socket = await helpers.connectEventuallyUntilTimeout(async () => {
78
+ return this.$iOSEmulatorServices.connectToPort({ port });
79
+ }, constants.SOCKET_CONNECTION_TIMEOUT_MS);
80
+ }
81
+ catch (e) {
82
+ this.$logger.warn(e);
83
+ }
84
+ return socket;
101
85
  }
102
86
  }
87
+ exports.IOSSimulator = IOSSimulator;
103
88
  __decorate([
104
89
  (0, decorators_1.cache)()
105
90
  ], IOSSimulator.prototype, "openDeviceLogStream", null);
106
- exports.IOSSimulator = IOSSimulator;
@@ -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.IOSSimulatorFileSystem = void 0;
13
4
  const path = require("path");
@@ -19,60 +10,44 @@ class IOSSimulatorFileSystem {
19
10
  this.$fs = $fs;
20
11
  this.$logger = $logger;
21
12
  }
22
- listFiles(devicePath) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- return this.iosSim.listFiles(devicePath);
25
- });
26
- }
27
- getFile(deviceFilePath, appIdentifier, outputFilePath) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- if (outputFilePath) {
30
- shelljs.cp("-f", deviceFilePath, outputFilePath);
31
- }
32
- });
33
- }
34
- getFileContent(deviceFilePath, appIdentifier) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const result = this.$fs.readText(deviceFilePath);
37
- return result;
38
- });
39
- }
40
- putFile(localFilePath, deviceFilePath, appIdentifier) {
41
- return __awaiter(this, void 0, void 0, function* () {
13
+ async listFiles(devicePath) {
14
+ return this.iosSim.listFiles(devicePath);
15
+ }
16
+ async getFile(deviceFilePath, appIdentifier, outputFilePath) {
17
+ if (outputFilePath) {
18
+ shelljs.cp("-f", deviceFilePath, outputFilePath);
19
+ }
20
+ }
21
+ async getFileContent(deviceFilePath, appIdentifier) {
22
+ const result = this.$fs.readText(deviceFilePath);
23
+ return result;
24
+ }
25
+ async putFile(localFilePath, deviceFilePath, appIdentifier) {
26
+ shelljs.cp("-f", localFilePath, deviceFilePath);
27
+ }
28
+ async deleteFile(deviceFilePath, appIdentifier) {
29
+ shelljs.rm("-rf", deviceFilePath);
30
+ }
31
+ async transferFiles(deviceAppData, localToDevicePaths) {
32
+ await Promise.all(_.map(localToDevicePaths, (localToDevicePathData) => this.transferFile(localToDevicePathData.getLocalPath(), localToDevicePathData.getDevicePath())));
33
+ return localToDevicePaths;
34
+ }
35
+ async transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath) {
36
+ const destinationPath = await deviceAppData.getDeviceProjectRootPath();
37
+ this.$logger.trace(`Transferring from ${projectFilesPath} to ${destinationPath}`);
38
+ const sourcePath = path.join(projectFilesPath, "*");
39
+ shelljs.cp("-Rf", sourcePath, destinationPath);
40
+ return localToDevicePaths;
41
+ }
42
+ async transferFile(localFilePath, deviceFilePath) {
43
+ this.$logger.trace(`Transferring from ${localFilePath} to ${deviceFilePath}`);
44
+ if (this.$fs.getFsStats(localFilePath).isDirectory()) {
45
+ this.$fs.ensureDirectoryExists(deviceFilePath);
46
+ }
47
+ else {
48
+ this.$fs.ensureDirectoryExists(path.dirname(deviceFilePath));
42
49
  shelljs.cp("-f", localFilePath, deviceFilePath);
43
- });
44
- }
45
- deleteFile(deviceFilePath, appIdentifier) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- shelljs.rm("-rf", deviceFilePath);
48
- });
49
- }
50
- transferFiles(deviceAppData, localToDevicePaths) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- yield Promise.all(_.map(localToDevicePaths, (localToDevicePathData) => this.transferFile(localToDevicePathData.getLocalPath(), localToDevicePathData.getDevicePath())));
53
- return localToDevicePaths;
54
- });
55
- }
56
- transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const destinationPath = yield deviceAppData.getDeviceProjectRootPath();
59
- this.$logger.trace(`Transferring from ${projectFilesPath} to ${destinationPath}`);
60
- const sourcePath = path.join(projectFilesPath, "*");
61
- shelljs.cp("-Rf", sourcePath, destinationPath);
62
- return localToDevicePaths;
63
- });
64
- }
65
- transferFile(localFilePath, deviceFilePath) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- this.$logger.trace(`Transferring from ${localFilePath} to ${deviceFilePath}`);
68
- if (this.$fs.getFsStats(localFilePath).isDirectory()) {
69
- this.$fs.ensureDirectoryExists(deviceFilePath);
70
- }
71
- else {
72
- this.$fs.ensureDirectoryExists(path.dirname(deviceFilePath));
73
- shelljs.cp("-f", localFilePath, deviceFilePath);
74
- }
75
- });
50
+ }
76
51
  }
77
52
  updateHashesOnDevice(hashes, appIdentifier) {
78
53
  return;
@@ -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.IOSSimulatorLogProvider = void 0;
13
4
  const events_1 = require("events");
@@ -27,33 +18,31 @@ class IOSSimulatorLogProvider extends events_1.EventEmitter {
27
18
  setShouldDispose(shouldDispose) {
28
19
  this.shouldDispose = shouldDispose;
29
20
  }
30
- startLogProcess(deviceId, options) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- if (!this.simulatorsLoggingEnabled[deviceId]) {
33
- const deviceLogChildProcess = yield this.$iOSSimResolver.iOSSim.getDeviceLogProcess(deviceId, options ? options.predicate : null);
34
- const action = (data) => {
35
- const message = data.toString();
36
- this.$deviceLogProvider.logData(message, this.$devicePlatformsConstants.iOS, deviceId);
37
- };
38
- if (deviceLogChildProcess) {
39
- deviceLogChildProcess.once("close", () => {
40
- this.simulatorsLoggingEnabled[deviceId] = false;
41
- });
42
- deviceLogChildProcess.once("error", (err) => {
43
- this.$logger.trace(`Error is thrown for device with identifier ${deviceId}. More info: ${err.message}.`);
44
- this.simulatorsLoggingEnabled[deviceId] = false;
45
- });
46
- }
47
- if (deviceLogChildProcess.stdout) {
48
- deviceLogChildProcess.stdout.on("data", action.bind(this));
49
- }
50
- if (deviceLogChildProcess.stderr) {
51
- deviceLogChildProcess.stderr.on("data", action.bind(this));
52
- }
53
- this.simulatorsLoggingEnabled[deviceId] = true;
54
- this.simulatorsLogProcess[deviceId] = deviceLogChildProcess;
21
+ async startLogProcess(deviceId, options) {
22
+ if (!this.simulatorsLoggingEnabled[deviceId]) {
23
+ const deviceLogChildProcess = await this.$iOSSimResolver.iOSSim.getDeviceLogProcess(deviceId, options ? options.predicate : null);
24
+ const action = (data) => {
25
+ const message = data.toString();
26
+ this.$deviceLogProvider.logData(message, this.$devicePlatformsConstants.iOS, deviceId);
27
+ };
28
+ if (deviceLogChildProcess) {
29
+ deviceLogChildProcess.once("close", () => {
30
+ this.simulatorsLoggingEnabled[deviceId] = false;
31
+ });
32
+ deviceLogChildProcess.once("error", (err) => {
33
+ this.$logger.trace(`Error is thrown for device with identifier ${deviceId}. More info: ${err.message}.`);
34
+ this.simulatorsLoggingEnabled[deviceId] = false;
35
+ });
55
36
  }
56
- });
37
+ if (deviceLogChildProcess.stdout) {
38
+ deviceLogChildProcess.stdout.on("data", action.bind(this));
39
+ }
40
+ if (deviceLogChildProcess.stderr) {
41
+ deviceLogChildProcess.stderr.on("data", action.bind(this));
42
+ }
43
+ this.simulatorsLoggingEnabled[deviceId] = true;
44
+ this.simulatorsLogProcess[deviceId] = deviceLogChildProcess;
45
+ }
57
46
  }
58
47
  dispose(signal) {
59
48
  if (this.shouldDispose) {