@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.AndroidDeviceLiveSyncService = void 0;
19
10
  const android_device_livesync_service_base_1 = require("./android-device-livesync-service-base");
@@ -34,170 +25,150 @@ class AndroidDeviceLiveSyncService extends android_device_livesync_service_base_
34
25
  this.platformsDataService = platformsDataService;
35
26
  this.device = device;
36
27
  }
37
- transferFilesOnDevice(deviceAppData, localToDevicePaths) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- yield this.device.fileSystem.transferFiles(deviceAppData, localToDevicePaths);
40
- });
28
+ async transferFilesOnDevice(deviceAppData, localToDevicePaths) {
29
+ await this.device.fileSystem.transferFiles(deviceAppData, localToDevicePaths);
41
30
  }
42
- transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- yield this.device.fileSystem.transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath);
45
- });
31
+ async transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
32
+ await this.device.fileSystem.transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath);
46
33
  }
47
- restartApplication(projectData, liveSyncInfo) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const devicePathRoot = util.format(constants_2.ANDROID_DEVICE_APP_ROOT_TEMPLATE, liveSyncInfo.deviceAppData.appIdentifier);
50
- const devicePath = this.$mobileHelper.buildDevicePath(devicePathRoot, "code_cache", "secondary_dexes", "proxyThumb");
51
- yield this.device.adb.executeShellCommand(["rm", "-rf", devicePath]);
52
- yield this.device.applicationManager.restartApplication({
53
- appId: liveSyncInfo.deviceAppData.appIdentifier,
54
- projectName: projectData.projectName,
55
- waitForDebugger: liveSyncInfo.waitForDebugger,
56
- projectDir: projectData.projectDir,
57
- });
34
+ async restartApplication(projectData, liveSyncInfo) {
35
+ const devicePathRoot = util.format(constants_2.ANDROID_DEVICE_APP_ROOT_TEMPLATE, liveSyncInfo.deviceAppData.appIdentifier);
36
+ const devicePath = this.$mobileHelper.buildDevicePath(devicePathRoot, "code_cache", "secondary_dexes", "proxyThumb");
37
+ await this.device.adb.executeShellCommand(["rm", "-rf", devicePath]);
38
+ await this.device.applicationManager.restartApplication({
39
+ appId: liveSyncInfo.deviceAppData.appIdentifier,
40
+ projectName: projectData.projectName,
41
+ waitForDebugger: liveSyncInfo.waitForDebugger,
42
+ projectDir: projectData.projectDir,
58
43
  });
59
44
  }
60
- shouldRestart(projectData, liveSyncInfo) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- let shouldRestart = false;
63
- const localToDevicePaths = liveSyncInfo.modifiedFilesData;
64
- const canExecuteFastSync = !liveSyncInfo.isFullSync &&
65
- !_.some(localToDevicePaths, (localToDevicePath) => !this.canExecuteFastSync(liveSyncInfo, localToDevicePath.getLocalPath(), projectData, this.device.deviceInfo.platform));
66
- if (!canExecuteFastSync || liveSyncInfo.waitForDebugger) {
67
- shouldRestart = true;
68
- }
69
- return shouldRestart;
45
+ async shouldRestart(projectData, liveSyncInfo) {
46
+ let shouldRestart = false;
47
+ const localToDevicePaths = liveSyncInfo.modifiedFilesData;
48
+ const canExecuteFastSync = !liveSyncInfo.isFullSync &&
49
+ !_.some(localToDevicePaths, (localToDevicePath) => !this.canExecuteFastSync(liveSyncInfo, localToDevicePath.getLocalPath(), projectData, this.device.deviceInfo.platform));
50
+ if (!canExecuteFastSync || liveSyncInfo.waitForDebugger) {
51
+ shouldRestart = true;
52
+ }
53
+ return shouldRestart;
54
+ }
55
+ async tryRefreshApplication(projectData, liveSyncInfo) {
56
+ let didRefresh = true;
57
+ const deviceAppData = liveSyncInfo.deviceAppData;
58
+ const localToDevicePaths = liveSyncInfo.modifiedFilesData;
59
+ const deviceProjectRootDirname = await this.$devicePathProvider.getDeviceProjectRootPath(liveSyncInfo.deviceAppData.device, {
60
+ appIdentifier: liveSyncInfo.deviceAppData.appIdentifier,
61
+ getDirname: true,
70
62
  });
63
+ await this.device.adb.executeShellCommand([
64
+ "chmod",
65
+ "777",
66
+ path.dirname(deviceProjectRootDirname),
67
+ deviceProjectRootDirname,
68
+ `${deviceProjectRootDirname}/sync`,
69
+ ]);
70
+ didRefresh = await this.reloadApplicationFiles(deviceAppData, localToDevicePaths);
71
+ return didRefresh;
71
72
  }
72
- tryRefreshApplication(projectData, liveSyncInfo) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- let didRefresh = true;
75
- const deviceAppData = liveSyncInfo.deviceAppData;
76
- const localToDevicePaths = liveSyncInfo.modifiedFilesData;
77
- const deviceProjectRootDirname = yield this.$devicePathProvider.getDeviceProjectRootPath(liveSyncInfo.deviceAppData.device, {
78
- appIdentifier: liveSyncInfo.deviceAppData.appIdentifier,
79
- getDirname: true,
80
- });
81
- yield this.device.adb.executeShellCommand([
82
- "chmod",
83
- "777",
84
- path.dirname(deviceProjectRootDirname),
85
- deviceProjectRootDirname,
86
- `${deviceProjectRootDirname}/sync`,
87
- ]);
88
- didRefresh = yield this.reloadApplicationFiles(deviceAppData, localToDevicePaths);
89
- return didRefresh;
73
+ async cleanLivesyncDirectories(deviceAppData) {
74
+ const deviceRootPath = await this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
75
+ appIdentifier: deviceAppData.appIdentifier,
76
+ getDirname: true,
90
77
  });
78
+ await this.device.adb.executeShellCommand([
79
+ "rm",
80
+ "-rf",
81
+ this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.FULLSYNC_DIR_NAME),
82
+ this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.SYNC_DIR_NAME),
83
+ this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.REMOVEDSYNC_DIR_NAME),
84
+ ]);
91
85
  }
92
- cleanLivesyncDirectories(deviceAppData) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const deviceRootPath = yield this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
95
- appIdentifier: deviceAppData.appIdentifier,
96
- getDirname: true,
97
- });
98
- yield this.device.adb.executeShellCommand([
99
- "rm",
100
- "-rf",
101
- this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.FULLSYNC_DIR_NAME),
102
- this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.SYNC_DIR_NAME),
103
- this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.REMOVEDSYNC_DIR_NAME),
104
- ]);
86
+ async beforeLiveSyncAction(deviceAppData) {
87
+ const deviceRootPath = await this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
88
+ appIdentifier: deviceAppData.appIdentifier,
89
+ getDirname: true,
105
90
  });
91
+ const deviceRootDir = path.dirname(deviceRootPath);
92
+ const deviceRootBasename = path.basename(deviceRootPath);
93
+ const listResult = await this.device.adb.executeShellCommand([
94
+ "ls",
95
+ "-l",
96
+ deviceRootDir,
97
+ ]);
98
+ const regex = new RegExp(`^-.*${deviceRootBasename}$`, "m");
99
+ const matchingFile = (listResult || "").match(regex);
100
+ if (matchingFile && matchingFile[0] && _.startsWith(matchingFile[0], "-")) {
101
+ await this.device.adb.executeShellCommand(["rm", "-f", deviceRootPath]);
102
+ }
103
+ await this.cleanLivesyncDirectories(deviceAppData);
106
104
  }
107
- beforeLiveSyncAction(deviceAppData) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- const deviceRootPath = yield this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
105
+ async reloadApplicationFiles(deviceAppData, localToDevicePaths) {
106
+ if (!this.port) {
107
+ this.port = await this.$androidProcessService.forwardFreeTcpToAbstractPort({
108
+ deviceIdentifier: deviceAppData.device.deviceInfo.identifier,
110
109
  appIdentifier: deviceAppData.appIdentifier,
111
- getDirname: true,
110
+ abstractPort: `localabstract:${deviceAppData.appIdentifier}-livesync`,
112
111
  });
113
- const deviceRootDir = path.dirname(deviceRootPath);
114
- const deviceRootBasename = path.basename(deviceRootPath);
115
- const listResult = yield this.device.adb.executeShellCommand([
116
- "ls",
117
- "-l",
118
- deviceRootDir,
119
- ]);
120
- const regex = new RegExp(`^-.*${deviceRootBasename}$`, "m");
121
- const matchingFile = (listResult || "").match(regex);
122
- if (matchingFile && matchingFile[0] && _.startsWith(matchingFile[0], "-")) {
123
- yield this.device.adb.executeShellCommand(["rm", "-f", deviceRootPath]);
124
- }
125
- yield this.cleanLivesyncDirectories(deviceAppData);
126
- });
112
+ }
113
+ if (await this.awaitRuntimeReloadSuccessMessage()) {
114
+ await this.cleanLivesyncDirectories(deviceAppData);
115
+ }
116
+ else {
117
+ return false;
118
+ }
119
+ return true;
127
120
  }
128
- reloadApplicationFiles(deviceAppData, localToDevicePaths) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (!this.port) {
131
- this.port = yield this.$androidProcessService.forwardFreeTcpToAbstractPort({
132
- deviceIdentifier: deviceAppData.device.deviceInfo.identifier,
133
- appIdentifier: deviceAppData.appIdentifier,
134
- abstractPort: `localabstract:${deviceAppData.appIdentifier}-livesync`,
135
- });
136
- }
137
- if (yield this.awaitRuntimeReloadSuccessMessage()) {
138
- yield this.cleanLivesyncDirectories(deviceAppData);
139
- }
140
- else {
141
- return false;
142
- }
143
- return true;
121
+ async removeFiles(deviceAppData, localToDevicePaths) {
122
+ const deviceRootPath = await this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
123
+ appIdentifier: deviceAppData.appIdentifier,
124
+ getDirname: true,
144
125
  });
126
+ for (const localToDevicePathData of localToDevicePaths) {
127
+ const relativeUnixPath = _.trimStart(helpers.fromWindowsRelativePathToUnix(localToDevicePathData.getRelativeToProjectBasePath()), "/");
128
+ const deviceFilePath = this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.REMOVEDSYNC_DIR_NAME, relativeUnixPath);
129
+ await this.device.adb.executeShellCommand([
130
+ "mkdir",
131
+ "-p",
132
+ path.dirname(deviceFilePath),
133
+ " && ",
134
+ "touch",
135
+ deviceFilePath,
136
+ ]);
137
+ }
138
+ const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
139
+ await deviceHashService.removeHashes(localToDevicePaths);
145
140
  }
146
- removeFiles(deviceAppData, localToDevicePaths) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- const deviceRootPath = yield this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
149
- appIdentifier: deviceAppData.appIdentifier,
150
- getDirname: true,
141
+ async awaitRuntimeReloadSuccessMessage() {
142
+ return new Promise((resolve, reject) => {
143
+ let isResolved = false;
144
+ const socket = new net.Socket();
145
+ socket.connect(this.port, process.env.NATIVESCRIPT_LIVESYNC_ADDRESS || "127.0.0.1", () => {
146
+ socket.write(Buffer.from([0, 0, 0, 1, 1]));
151
147
  });
152
- for (const localToDevicePathData of localToDevicePaths) {
153
- const relativeUnixPath = _.trimStart(helpers.fromWindowsRelativePathToUnix(localToDevicePathData.getRelativeToProjectBasePath()), "/");
154
- const deviceFilePath = this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.REMOVEDSYNC_DIR_NAME, relativeUnixPath);
155
- yield this.device.adb.executeShellCommand([
156
- "mkdir",
157
- "-p",
158
- path.dirname(deviceFilePath),
159
- " && ",
160
- "touch",
161
- deviceFilePath,
162
- ]);
163
- }
164
- const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
165
- yield deviceHashService.removeHashes(localToDevicePaths);
166
- });
167
- }
168
- awaitRuntimeReloadSuccessMessage() {
169
- return __awaiter(this, void 0, void 0, function* () {
170
- return new Promise((resolve, reject) => {
171
- let isResolved = false;
172
- const socket = new net.Socket();
173
- socket.connect(this.port, process.env.NATIVESCRIPT_LIVESYNC_ADDRESS || "127.0.0.1", () => {
174
- socket.write(Buffer.from([0, 0, 0, 1, 1]));
175
- });
176
- socket.on("data", (data) => {
148
+ socket.on("data", (data) => {
149
+ isResolved = true;
150
+ socket.destroy();
151
+ resolve(true);
152
+ });
153
+ socket.on("error", () => {
154
+ if (!isResolved) {
155
+ isResolved = true;
156
+ resolve(false);
157
+ }
158
+ });
159
+ socket.on("close", () => {
160
+ if (!isResolved) {
177
161
  isResolved = true;
178
- socket.destroy();
179
- resolve(true);
180
- });
181
- socket.on("error", () => {
182
- if (!isResolved) {
183
- isResolved = true;
184
- resolve(false);
185
- }
186
- });
187
- socket.on("close", () => {
188
- if (!isResolved) {
189
- isResolved = true;
190
- resolve(false);
191
- }
192
- });
162
+ resolve(false);
163
+ }
193
164
  });
194
165
  });
195
166
  }
196
167
  }
168
+ exports.AndroidDeviceLiveSyncService = AndroidDeviceLiveSyncService;
197
169
  __decorate([
198
170
  (0, decorators_1.performanceLog)()
199
171
  ], AndroidDeviceLiveSyncService.prototype, "beforeLiveSyncAction", null);
200
172
  __decorate([
201
173
  (0, decorators_1.performanceLog)()
202
174
  ], AndroidDeviceLiveSyncService.prototype, "removeFiles", null);
203
- exports.AndroidDeviceLiveSyncService = AndroidDeviceLiveSyncService;
@@ -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.AndroidDeviceSocketsLiveSyncService = void 0;
13
4
  const android_device_livesync_service_base_1 = require("./android-device-livesync-service-base");
@@ -30,168 +21,146 @@ class AndroidDeviceSocketsLiveSyncService extends android_device_livesync_servic
30
21
  this.$tempService = $tempService;
31
22
  this.livesyncTool = this.$injector.resolve(android_livesync_tool_1.AndroidLivesyncTool);
32
23
  }
33
- beforeLiveSyncAction(deviceAppData) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- if (!this.livesyncTool.hasConnection()) {
36
- try {
37
- const pathToLiveSyncFile = yield this.$tempService.path({
38
- prefix: "livesync",
39
- });
40
- this.$fs.writeFile(pathToLiveSyncFile, "");
41
- yield this.device.fileSystem.putFile(pathToLiveSyncFile, this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
42
- yield this.device.applicationManager.startApplication({
43
- appId: deviceAppData.appIdentifier,
44
- projectName: this.data.projectName,
45
- justLaunch: true,
46
- waitForDebugger: false,
47
- projectDir: deviceAppData.projectDir,
48
- });
49
- yield this.connectLivesyncTool(this.data.projectIdentifiers.android, deviceAppData.connectTimeout);
50
- }
51
- catch (err) {
52
- yield this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
53
- throw err;
54
- }
24
+ async beforeLiveSyncAction(deviceAppData) {
25
+ if (!this.livesyncTool.hasConnection()) {
26
+ try {
27
+ const pathToLiveSyncFile = await this.$tempService.path({
28
+ prefix: "livesync",
29
+ });
30
+ this.$fs.writeFile(pathToLiveSyncFile, "");
31
+ await this.device.fileSystem.putFile(pathToLiveSyncFile, this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
32
+ await this.device.applicationManager.startApplication({
33
+ appId: deviceAppData.appIdentifier,
34
+ projectName: this.data.projectName,
35
+ justLaunch: true,
36
+ waitForDebugger: false,
37
+ projectDir: deviceAppData.projectDir,
38
+ });
39
+ await this.connectLivesyncTool(this.data.projectIdentifiers.android, deviceAppData.connectTimeout);
55
40
  }
56
- });
41
+ catch (err) {
42
+ await this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
43
+ throw err;
44
+ }
45
+ }
57
46
  }
58
47
  getPathToLiveSyncFileOnDevice(appIdentifier) {
59
48
  return `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appIdentifier}-livesync-in-progress`;
60
49
  }
61
- finalizeSync(liveSyncInfo, projectData) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- try {
64
- const result = yield this.doSync(liveSyncInfo, projectData);
65
- if (!semver.gte(this.livesyncTool.protocolVersion, AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION)) {
66
- this.livesyncTool.end();
67
- }
68
- return result;
69
- }
70
- catch (e) {
50
+ async finalizeSync(liveSyncInfo, projectData) {
51
+ try {
52
+ const result = await this.doSync(liveSyncInfo, projectData);
53
+ if (!semver.gte(this.livesyncTool.protocolVersion, AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION)) {
71
54
  this.livesyncTool.end();
72
- throw e;
73
- }
74
- });
75
- }
76
- getCleanupCommand(appIdentifier) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- return {
79
- command: yield this.$staticConfig.getAdbFilePath(),
80
- args: [
81
- "-s",
82
- this.device.deviceInfo.identifier,
83
- "shell",
84
- "rm",
85
- "-rf",
86
- appIdentifier,
87
- ],
88
- };
89
- });
90
- }
91
- doSync(liveSyncInfo, projectData) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- const operationId = this.livesyncTool.generateOperationIdentifier();
94
- let result = { operationId, didRefresh: true };
95
- if (liveSyncInfo.modifiedFilesData.length) {
96
- const canExecuteFastSync = !liveSyncInfo.isFullSync &&
97
- this.canExecuteFastSyncForPaths(liveSyncInfo, liveSyncInfo.modifiedFilesData, projectData, this.device.deviceInfo.platform);
98
- const doSyncPromise = this.livesyncTool.sendDoSyncOperation({
99
- doRefresh: canExecuteFastSync,
100
- operationId,
101
- });
102
- const syncInterval = setInterval(() => {
103
- if (this.livesyncTool.isOperationInProgress(operationId)) {
104
- this.$logger.info("Sync operation in progress...");
105
- }
106
- }, AndroidDeviceSocketsLiveSyncService.STATUS_UPDATE_INTERVAL);
107
- const cleanupCommand = yield this.getCleanupCommand(liveSyncInfo.deviceAppData.appIdentifier);
108
- const actionOnEnd = () => __awaiter(this, void 0, void 0, function* () {
109
- clearInterval(syncInterval);
110
- yield this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(liveSyncInfo.deviceAppData.appIdentifier), liveSyncInfo.deviceAppData.appIdentifier);
111
- yield this.$cleanupService.removeCleanupCommand(cleanupCommand);
112
- });
113
- yield this.$cleanupService.addCleanupCommand(cleanupCommand);
114
- yield doSyncPromise.then(actionOnEnd.bind(this), actionOnEnd.bind(this));
115
- result = yield doSyncPromise;
116
- }
117
- else {
118
- yield this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(liveSyncInfo.deviceAppData.appIdentifier), liveSyncInfo.deviceAppData.appIdentifier);
119
55
  }
120
56
  return result;
121
- });
57
+ }
58
+ catch (e) {
59
+ this.livesyncTool.end();
60
+ throw e;
61
+ }
122
62
  }
123
- restartApplication(projectData, liveSyncInfo) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- yield this.device.applicationManager.restartApplication({
126
- appId: liveSyncInfo.deviceAppData.appIdentifier,
127
- projectName: projectData.projectName,
128
- waitForDebugger: liveSyncInfo.waitForDebugger,
129
- projectDir: projectData.projectDir,
130
- });
131
- if (!this.$options.justlaunch &&
132
- !liveSyncInfo.waitForDebugger &&
133
- this.livesyncTool.protocolVersion &&
134
- semver.gte(this.livesyncTool.protocolVersion, AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION)) {
135
- try {
136
- yield this.connectLivesyncTool(liveSyncInfo.deviceAppData.appIdentifier);
137
- }
138
- catch (e) {
139
- this.$logger.trace("Failed to connect after app restart.");
140
- }
141
- }
142
- });
63
+ async getCleanupCommand(appIdentifier) {
64
+ return {
65
+ command: await this.$staticConfig.getAdbFilePath(),
66
+ args: [
67
+ "-s",
68
+ this.device.deviceInfo.identifier,
69
+ "shell",
70
+ "rm",
71
+ "-rf",
72
+ appIdentifier,
73
+ ],
74
+ };
143
75
  }
144
- shouldRestart(projectData, liveSyncInfo) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- let shouldRestart = false;
76
+ async doSync(liveSyncInfo, projectData) {
77
+ const operationId = this.livesyncTool.generateOperationIdentifier();
78
+ let result = { operationId, didRefresh: true };
79
+ if (liveSyncInfo.modifiedFilesData.length) {
147
80
  const canExecuteFastSync = !liveSyncInfo.isFullSync &&
148
81
  this.canExecuteFastSyncForPaths(liveSyncInfo, liveSyncInfo.modifiedFilesData, projectData, this.device.deviceInfo.platform);
149
- if (!canExecuteFastSync ||
150
- !liveSyncInfo.didRefresh ||
151
- liveSyncInfo.waitForDebugger) {
152
- shouldRestart = true;
153
- }
154
- return shouldRestart;
155
- });
82
+ const doSyncPromise = this.livesyncTool.sendDoSyncOperation({
83
+ doRefresh: canExecuteFastSync,
84
+ operationId,
85
+ });
86
+ const syncInterval = setInterval(() => {
87
+ if (this.livesyncTool.isOperationInProgress(operationId)) {
88
+ this.$logger.info("Sync operation in progress...");
89
+ }
90
+ }, AndroidDeviceSocketsLiveSyncService.STATUS_UPDATE_INTERVAL);
91
+ const cleanupCommand = await this.getCleanupCommand(liveSyncInfo.deviceAppData.appIdentifier);
92
+ const actionOnEnd = async () => {
93
+ clearInterval(syncInterval);
94
+ await this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(liveSyncInfo.deviceAppData.appIdentifier), liveSyncInfo.deviceAppData.appIdentifier);
95
+ await this.$cleanupService.removeCleanupCommand(cleanupCommand);
96
+ };
97
+ await this.$cleanupService.addCleanupCommand(cleanupCommand);
98
+ await doSyncPromise.then(actionOnEnd.bind(this), actionOnEnd.bind(this));
99
+ result = await doSyncPromise;
100
+ }
101
+ else {
102
+ await this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(liveSyncInfo.deviceAppData.appIdentifier), liveSyncInfo.deviceAppData.appIdentifier);
103
+ }
104
+ return result;
156
105
  }
157
- tryRefreshApplication(projectData, liveSyncInfo) {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- return true;
106
+ async restartApplication(projectData, liveSyncInfo) {
107
+ await this.device.applicationManager.restartApplication({
108
+ appId: liveSyncInfo.deviceAppData.appIdentifier,
109
+ projectName: projectData.projectName,
110
+ waitForDebugger: liveSyncInfo.waitForDebugger,
111
+ projectDir: projectData.projectDir,
160
112
  });
113
+ if (!this.$options.justlaunch &&
114
+ !liveSyncInfo.waitForDebugger &&
115
+ this.livesyncTool.protocolVersion &&
116
+ semver.gte(this.livesyncTool.protocolVersion, AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION)) {
117
+ try {
118
+ await this.connectLivesyncTool(liveSyncInfo.deviceAppData.appIdentifier);
119
+ }
120
+ catch (e) {
121
+ this.$logger.trace("Failed to connect after app restart.");
122
+ }
123
+ }
161
124
  }
162
- removeFiles(deviceAppData, localToDevicePaths, projectFilesPath) {
163
- return __awaiter(this, void 0, void 0, function* () {
164
- yield this.livesyncTool.removeFiles(_.map(localToDevicePaths, (element) => element.filePath));
165
- const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
166
- yield deviceHashService.removeHashes(localToDevicePaths);
167
- });
125
+ async shouldRestart(projectData, liveSyncInfo) {
126
+ let shouldRestart = false;
127
+ const canExecuteFastSync = !liveSyncInfo.isFullSync &&
128
+ this.canExecuteFastSyncForPaths(liveSyncInfo, liveSyncInfo.modifiedFilesData, projectData, this.device.deviceInfo.platform);
129
+ if (!canExecuteFastSync ||
130
+ !liveSyncInfo.didRefresh ||
131
+ liveSyncInfo.waitForDebugger) {
132
+ shouldRestart = true;
133
+ }
134
+ return shouldRestart;
168
135
  }
169
- transferFilesOnDevice(deviceAppData, localToDevicePaths) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- const files = _.map(localToDevicePaths, (localToDevicePath) => localToDevicePath.getLocalPath());
172
- yield this.livesyncTool.sendFiles(files);
173
- });
136
+ async tryRefreshApplication(projectData, liveSyncInfo) {
137
+ return true;
174
138
  }
175
- transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- yield this.livesyncTool.sendDirectory(projectFilesPath);
178
- });
139
+ async removeFiles(deviceAppData, localToDevicePaths, projectFilesPath) {
140
+ await this.livesyncTool.removeFiles(_.map(localToDevicePaths, (element) => element.filePath));
141
+ const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
142
+ await deviceHashService.removeHashes(localToDevicePaths);
179
143
  }
180
- connectLivesyncTool(appIdentifier, connectTimeout) {
181
- return __awaiter(this, void 0, void 0, function* () {
182
- const platformData = this.platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, this.data);
183
- const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
184
- if (!this.livesyncTool.hasConnection()) {
185
- yield this.livesyncTool.connect({
186
- appIdentifier,
187
- deviceIdentifier: this.device.deviceInfo.identifier,
188
- appPlatformsPath: projectFilesPath,
189
- connectTimeout,
190
- });
191
- }
192
- });
144
+ async transferFilesOnDevice(deviceAppData, localToDevicePaths) {
145
+ const files = _.map(localToDevicePaths, (localToDevicePath) => localToDevicePath.getLocalPath());
146
+ await this.livesyncTool.sendFiles(files);
147
+ }
148
+ async transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
149
+ await this.livesyncTool.sendDirectory(projectFilesPath);
150
+ }
151
+ async connectLivesyncTool(appIdentifier, connectTimeout) {
152
+ const platformData = this.platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, this.data);
153
+ const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
154
+ if (!this.livesyncTool.hasConnection()) {
155
+ await this.livesyncTool.connect({
156
+ appIdentifier,
157
+ deviceIdentifier: this.device.deviceInfo.identifier,
158
+ appPlatformsPath: projectFilesPath,
159
+ connectTimeout,
160
+ });
161
+ }
193
162
  }
194
163
  }
164
+ exports.AndroidDeviceSocketsLiveSyncService = AndroidDeviceSocketsLiveSyncService;
195
165
  AndroidDeviceSocketsLiveSyncService.STATUS_UPDATE_INTERVAL = 10000;
196
166
  AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION = "0.2.0";
197
- exports.AndroidDeviceSocketsLiveSyncService = AndroidDeviceSocketsLiveSyncService;