@akylas/nativescript-cli 8.7.2 → 8.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
  3. package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
  4. package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
  5. package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
  6. package/docs/man_pages/project/configuration/native/native-add.md +31 -0
  7. package/docs/man_pages/project/configuration/native/native.md +31 -0
  8. package/lib/.d.ts +2 -0
  9. package/lib/android-tools-info.js +9 -20
  10. package/lib/base-package-manager.js +47 -64
  11. package/lib/bootstrap.js +8 -0
  12. package/lib/bun-package-manager.js +65 -88
  13. package/lib/color.js +2 -2
  14. package/lib/commands/add-platform.js +14 -30
  15. package/lib/commands/apple-login.js +18 -29
  16. package/lib/commands/appstore-list.js +34 -45
  17. package/lib/commands/appstore-upload.js +55 -68
  18. package/lib/commands/build.js +57 -86
  19. package/lib/commands/clean.js +161 -176
  20. package/lib/commands/command-base.js +14 -27
  21. package/lib/commands/config.js +51 -70
  22. package/lib/commands/create-project.js +210 -229
  23. package/lib/commands/debug.js +66 -88
  24. package/lib/commands/deploy.js +28 -44
  25. package/lib/commands/embedding/embed.js +72 -0
  26. package/lib/commands/extensibility/install-extension.js +5 -16
  27. package/lib/commands/extensibility/list-extensions.js +13 -24
  28. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  29. package/lib/commands/fonts.js +30 -41
  30. package/lib/commands/generate-assets.js +13 -28
  31. package/lib/commands/generate-help.js +2 -13
  32. package/lib/commands/generate.js +17 -26
  33. package/lib/commands/info.js +2 -13
  34. package/lib/commands/install.js +34 -49
  35. package/lib/commands/list-platforms.js +14 -25
  36. package/lib/commands/migrate.js +15 -26
  37. package/lib/commands/native-add.js +277 -0
  38. package/lib/commands/platform-clean.js +19 -32
  39. package/lib/commands/plugin/add-plugin.js +12 -25
  40. package/lib/commands/plugin/build-plugin.js +34 -45
  41. package/lib/commands/plugin/create-plugin.js +110 -133
  42. package/lib/commands/plugin/list-plugins.js +22 -33
  43. package/lib/commands/plugin/remove-plugin.js +20 -33
  44. package/lib/commands/plugin/update-plugin.js +20 -33
  45. package/lib/commands/post-install.js +20 -33
  46. package/lib/commands/prepare.js +28 -35
  47. package/lib/commands/preview.js +49 -62
  48. package/lib/commands/remove-platform.js +7 -18
  49. package/lib/commands/resources/resources-update.js +13 -26
  50. package/lib/commands/run.js +55 -76
  51. package/lib/commands/start.js +6 -19
  52. package/lib/commands/test-init.js +123 -134
  53. package/lib/commands/test.js +66 -89
  54. package/lib/commands/typings.js +126 -142
  55. package/lib/commands/update-platform.js +22 -35
  56. package/lib/commands/update.js +30 -43
  57. package/lib/common/child-process.js +53 -72
  58. package/lib/common/codeGeneration/code-entity.js +1 -1
  59. package/lib/common/codeGeneration/code-printer.js +1 -1
  60. package/lib/common/command-params.js +7 -18
  61. package/lib/common/commands/analytics.js +27 -40
  62. package/lib/common/commands/autocompletion.js +39 -56
  63. package/lib/common/commands/device/device-log-stream.js +12 -23
  64. package/lib/common/commands/device/get-file.js +22 -33
  65. package/lib/common/commands/device/list-applications.js +12 -23
  66. package/lib/common/commands/device/list-devices.js +72 -87
  67. package/lib/common/commands/device/list-files.js +23 -34
  68. package/lib/common/commands/device/put-file.js +22 -33
  69. package/lib/common/commands/device/run-application.js +12 -25
  70. package/lib/common/commands/device/stop-application.js +11 -22
  71. package/lib/common/commands/device/uninstall-application.js +6 -17
  72. package/lib/common/commands/generate-messages.js +17 -28
  73. package/lib/common/commands/help.js +20 -33
  74. package/lib/common/commands/package-manager-get.js +6 -17
  75. package/lib/common/commands/package-manager-set.js +9 -20
  76. package/lib/common/commands/post-install.js +2 -13
  77. package/lib/common/commands/preuninstall.js +23 -38
  78. package/lib/common/commands/proxy/proxy-base.js +8 -19
  79. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  80. package/lib/common/commands/proxy/proxy-get.js +3 -14
  81. package/lib/common/commands/proxy/proxy-set.js +87 -100
  82. package/lib/common/constants.js +11 -11
  83. package/lib/common/decorators.js +10 -22
  84. package/lib/common/dispatchers.js +79 -96
  85. package/lib/common/errors.js +89 -104
  86. package/lib/common/file-system.js +106 -127
  87. package/lib/common/header.js +1 -2
  88. package/lib/common/helpers.js +149 -178
  89. package/lib/common/host-info.js +37 -50
  90. package/lib/common/http-client.js +93 -108
  91. package/lib/common/logger/appenders/cli-appender.js +1 -2
  92. package/lib/common/logger/appenders/emit-appender.js +1 -2
  93. package/lib/common/logger/layouts/cli-layout.js +1 -2
  94. package/lib/common/logger/logger.js +1 -1
  95. package/lib/common/mobile/android/android-application-manager.js +121 -142
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  98. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  99. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  100. package/lib/common/mobile/android/android-device.js +74 -91
  101. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  102. package/lib/common/mobile/android/android-log-filter.js +1 -1
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  107. package/lib/common/mobile/android/logcat-helper.js +108 -118
  108. package/lib/common/mobile/application-manager-base.js +84 -107
  109. package/lib/common/mobile/device-log-provider-base.js +7 -18
  110. package/lib/common/mobile/emulator-helper.js +1 -0
  111. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  112. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  113. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  114. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  115. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  116. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  117. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  118. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  119. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  120. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  121. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  122. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  123. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  124. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  125. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  126. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  127. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  128. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  129. package/lib/common/mobile/mobile-helper.js +15 -26
  130. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  131. package/lib/common/opener.js +2 -2
  132. package/lib/common/plist-parser.js +2 -2
  133. package/lib/common/prompter.js +90 -105
  134. package/lib/common/queue.js +9 -20
  135. package/lib/common/services/auto-completion-service.js +39 -52
  136. package/lib/common/services/cancellation.js +17 -28
  137. package/lib/common/services/commands-service.js +146 -169
  138. package/lib/common/services/help-service.js +132 -157
  139. package/lib/common/services/hooks-service.js +93 -108
  140. package/lib/common/services/ios-notification-service.js +21 -34
  141. package/lib/common/services/json-file-settings-service.js +52 -71
  142. package/lib/common/services/lock-service.js +35 -52
  143. package/lib/common/services/message-contract-generator.js +35 -46
  144. package/lib/common/services/micro-templating-service.js +4 -15
  145. package/lib/common/services/net-service.js +90 -107
  146. package/lib/common/services/project-files-manager.js +10 -23
  147. package/lib/common/services/proxy-service.js +13 -24
  148. package/lib/common/services/qr.js +13 -24
  149. package/lib/common/services/settings-service.js +1 -1
  150. package/lib/common/services/xcode-select-service.js +20 -35
  151. package/lib/common/utils.js +7 -0
  152. package/lib/common/validators/project-name-validator.js +1 -1
  153. package/lib/common/validators/validation-result.js +1 -1
  154. package/lib/common/verify-node-version.js +2 -3
  155. package/lib/common/yok.js +23 -36
  156. package/lib/config.js +7 -58
  157. package/lib/constants.js +24 -24
  158. package/lib/controllers/build-controller.js +82 -99
  159. package/lib/controllers/debug-controller.js +107 -128
  160. package/lib/controllers/deploy-controller.js +17 -22
  161. package/lib/controllers/migrate-controller.js +727 -800
  162. package/lib/controllers/platform-controller.js +72 -83
  163. package/lib/controllers/prepare-controller.js +264 -250
  164. package/lib/controllers/run-controller.js +392 -406
  165. package/lib/controllers/update-controller-base.js +16 -29
  166. package/lib/controllers/update-controller.js +94 -119
  167. package/lib/data/build-data.js +2 -0
  168. package/lib/data/prepare-data.js +5 -1
  169. package/lib/declarations.d.ts +14 -3
  170. package/lib/definitions/android-plugin-migrator.d.ts +1 -0
  171. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  172. package/lib/definitions/livesync.d.ts +1 -1
  173. package/lib/definitions/platform.d.ts +1 -0
  174. package/lib/definitions/prepare.d.ts +3 -0
  175. package/lib/definitions/project.d.ts +5 -0
  176. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  177. package/lib/detached-processes/cleanup-process.js +16 -25
  178. package/lib/device-path-provider.js +23 -34
  179. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  180. package/lib/device-sockets/ios/notification.js +1 -1
  181. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  182. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  183. package/lib/helpers/deploy-command-helper.js +45 -49
  184. package/lib/helpers/key-command-helper.js +4 -13
  185. package/lib/helpers/livesync-command-helper.js +137 -152
  186. package/lib/helpers/network-connectivity-validator.js +6 -17
  187. package/lib/helpers/options-track-helper.js +6 -17
  188. package/lib/helpers/platform-command-helper.js +102 -114
  189. package/lib/key-commands/index.js +161 -211
  190. package/lib/nativescript-cli.js +5 -14
  191. package/lib/node-package-manager.js +81 -104
  192. package/lib/options.js +12 -14
  193. package/lib/package-installation-manager.js +130 -165
  194. package/lib/package-manager.js +63 -86
  195. package/lib/platform-command-param.js +4 -15
  196. package/lib/pnpm-package-manager.js +59 -78
  197. package/lib/project-data.js +5 -2
  198. package/lib/providers/project-files-provider.js +2 -2
  199. package/lib/services/analytics/analytics-broker-process.js +13 -22
  200. package/lib/services/analytics/analytics-broker.js +17 -30
  201. package/lib/services/analytics/analytics-service.js +161 -198
  202. package/lib/services/analytics/google-analytics-provider.js +41 -56
  203. package/lib/services/analytics-settings-service.js +15 -32
  204. package/lib/services/android/android-bundle-tool-service.js +43 -60
  205. package/lib/services/android/gradle-build-args-service.js +13 -23
  206. package/lib/services/android/gradle-build-service.js +34 -47
  207. package/lib/services/android/gradle-command-service.js +23 -32
  208. package/lib/services/android-device-debug-service.js +90 -117
  209. package/lib/services/android-plugin-build-service.js +233 -247
  210. package/lib/services/android-project-service.js +180 -219
  211. package/lib/services/android-resources-migration-service.js +51 -64
  212. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  213. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  214. package/lib/services/assets-generation/assets-generation-service.js +100 -113
  215. package/lib/services/build-artifacts-service.js +9 -20
  216. package/lib/services/build-info-file-service.js +20 -35
  217. package/lib/services/cleanup-service.js +47 -76
  218. package/lib/services/cocoapods-service.js +118 -133
  219. package/lib/services/device/device-install-app-service.js +73 -90
  220. package/lib/services/doctor-service.js +99 -118
  221. package/lib/services/extensibility-service.js +81 -100
  222. package/lib/services/files-hash-service.js +28 -44
  223. package/lib/services/hmr-status-service.js +1 -1
  224. package/lib/services/initialize-service.js +37 -50
  225. package/lib/services/ios/export-options-plist-service.js +38 -51
  226. package/lib/services/ios/ios-signing-service.js +161 -180
  227. package/lib/services/ios/spm-service.js +40 -53
  228. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  229. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  230. package/lib/services/ios/xcodebuild-service.js +50 -69
  231. package/lib/services/ios-debugger-port-service.js +23 -36
  232. package/lib/services/ios-device-debug-service.js +75 -102
  233. package/lib/services/ios-entitlements-service.js +31 -42
  234. package/lib/services/ios-extensions-service.js +18 -29
  235. package/lib/services/ios-project-service.js +418 -440
  236. package/lib/services/ios-provision-service.js +108 -129
  237. package/lib/services/ios-watch-app-service.js +21 -32
  238. package/lib/services/ip-service.js +38 -53
  239. package/lib/services/itmstransporter-service.js +129 -152
  240. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  241. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  242. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
  243. package/lib/services/livesync/android-livesync-service.js +16 -37
  244. package/lib/services/livesync/android-livesync-tool.js +89 -112
  245. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  246. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  247. package/lib/services/livesync/ios-livesync-service.js +44 -60
  248. package/lib/services/livesync/platform-livesync-service-base.js +96 -120
  249. package/lib/services/log-parser-service.js +1 -1
  250. package/lib/services/log-source-map-service.js +33 -43
  251. package/lib/services/marking-mode-service.js +15 -28
  252. package/lib/services/npm-config-service.js +1 -1
  253. package/lib/services/pacote-service.js +49 -64
  254. package/lib/services/performance-service.js +1 -1
  255. package/lib/services/platform/add-platform-service.js +53 -69
  256. package/lib/services/platform/platform-validation-service.js +22 -33
  257. package/lib/services/platform/prepare-native-platform-service.js +50 -60
  258. package/lib/services/platform-environment-requirements.js +29 -38
  259. package/lib/services/plugins-service.js +128 -147
  260. package/lib/services/project-backup-service.js +1 -1
  261. package/lib/services/project-changes-service.js +129 -139
  262. package/lib/services/project-cleanup-service.js +64 -77
  263. package/lib/services/project-config-service.js +71 -80
  264. package/lib/services/project-data-service.js +116 -139
  265. package/lib/services/project-name-service.js +28 -43
  266. package/lib/services/project-service.js +84 -103
  267. package/lib/services/project-templates-service.js +52 -67
  268. package/lib/services/start-service.js +41 -59
  269. package/lib/services/temp-service.js +8 -21
  270. package/lib/services/terminal-spinner-service.js +13 -24
  271. package/lib/services/test-execution-service.js +59 -72
  272. package/lib/services/test-initialization-service.js +2 -2
  273. package/lib/services/timeline-profiler-service.js +1 -1
  274. package/lib/services/versions-service.js +119 -138
  275. package/lib/services/webpack/webpack-compiler-service.js +212 -224
  276. package/lib/services/xcconfig-service.js +8 -19
  277. package/lib/services/xcproj-service.js +12 -0
  278. package/lib/sys-info.js +45 -62
  279. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  280. package/lib/yarn-package-manager.js +59 -78
  281. package/lib/yarn2-package-manager.js +60 -79
  282. package/package.json +59 -57
  283. package/vendor/aab-tool/README.txt +1 -1
  284. package/vendor/aab-tool/bundletool.jar +0 -0
  285. package/vendor/gradle-app/app/build.gradle +12 -4
  286. package/vendor/gradle-plugin/build.gradle +12 -4
  287. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  288. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  289. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  290. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  291. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  292. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  293. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  294. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  295. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.IOSDeviceLiveSyncService = void 0;
19
10
  const constants = require("../../constants");
@@ -45,119 +36,103 @@ class IOSDeviceLiveSyncService extends device_livesync_service_base_1.DeviceLive
45
36
  const canRefresh = semver.gte(semver.coerce(currentRuntimeVersion), IOSDeviceLiveSyncService.MIN_RUNTIME_VERSION_WITH_REFRESH_NOTIFICATION);
46
37
  return canRefresh;
47
38
  }
48
- setupSocketIfNeeded(projectData) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- if (this.socket) {
51
- return true;
52
- }
53
- const appId = projectData.projectIdentifiers.ios;
54
- try {
55
- const ensureAppStarted = true;
56
- this.socket = yield this.device.getDebugSocket(appId, projectData.projectName, projectData.projectDir, ensureAppStarted);
57
- }
58
- catch (err) {
59
- this.$logger.trace(`Error while connecting to the debug socket. Error is:`, err);
60
- }
61
- if (!this.socket) {
62
- return false;
63
- }
64
- this.attachEventHandlers();
39
+ async setupSocketIfNeeded(projectData) {
40
+ if (this.socket) {
65
41
  return true;
66
- });
42
+ }
43
+ const appId = projectData.projectIdentifiers.ios;
44
+ try {
45
+ const ensureAppStarted = true;
46
+ this.socket = await this.device.getDebugSocket(appId, projectData.projectName, projectData.projectDir, ensureAppStarted);
47
+ }
48
+ catch (err) {
49
+ this.$logger.trace(`Error while connecting to the debug socket. Error is:`, err);
50
+ }
51
+ if (!this.socket) {
52
+ return false;
53
+ }
54
+ this.attachEventHandlers();
55
+ return true;
67
56
  }
68
- removeFiles(deviceAppData, localToDevicePaths) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- yield Promise.all(_.map(localToDevicePaths, (localToDevicePathData) => this.device.fileSystem.deleteFile(localToDevicePathData.getDevicePath(), deviceAppData.appIdentifier)));
71
- });
57
+ async removeFiles(deviceAppData, localToDevicePaths) {
58
+ await Promise.all(_.map(localToDevicePaths, (localToDevicePathData) => this.device.fileSystem.deleteFile(localToDevicePathData.getDevicePath(), deviceAppData.appIdentifier)));
72
59
  }
73
- shouldRestart(projectData, liveSyncInfo) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- let shouldRestart = false;
76
- const deviceAppData = liveSyncInfo.deviceAppData;
77
- const localToDevicePaths = liveSyncInfo.modifiedFilesData;
78
- if (liveSyncInfo.isFullSync || liveSyncInfo.waitForDebugger) {
60
+ async shouldRestart(projectData, liveSyncInfo) {
61
+ let shouldRestart = false;
62
+ const deviceAppData = liveSyncInfo.deviceAppData;
63
+ const localToDevicePaths = liveSyncInfo.modifiedFilesData;
64
+ if (liveSyncInfo.isFullSync || liveSyncInfo.waitForDebugger) {
65
+ shouldRestart = true;
66
+ }
67
+ else {
68
+ const canExecuteFastSync = this.canExecuteFastSyncForPaths(liveSyncInfo, localToDevicePaths, projectData, deviceAppData.platform);
69
+ const isRefreshConnectionSetup = this.canRefreshWithNotification(projectData, liveSyncInfo) ||
70
+ (!this.device.isOnlyWiFiConnected && this.socket);
71
+ if (!canExecuteFastSync || !isRefreshConnectionSetup) {
79
72
  shouldRestart = true;
80
73
  }
81
- else {
82
- const canExecuteFastSync = this.canExecuteFastSyncForPaths(liveSyncInfo, localToDevicePaths, projectData, deviceAppData.platform);
83
- const isRefreshConnectionSetup = this.canRefreshWithNotification(projectData, liveSyncInfo) ||
84
- (!this.device.isOnlyWiFiConnected && this.socket);
85
- if (!canExecuteFastSync || !isRefreshConnectionSetup) {
86
- shouldRestart = true;
87
- }
88
- }
89
- return shouldRestart;
90
- });
74
+ }
75
+ return shouldRestart;
91
76
  }
92
- tryRefreshApplication(projectData, liveSyncInfo) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- let didRefresh = true;
95
- const localToDevicePaths = liveSyncInfo.modifiedFilesData;
96
- let scriptRelatedFiles = [];
97
- constants.LIVESYNC_EXCLUDED_FILE_PATTERNS.forEach((pattern) => (scriptRelatedFiles = _.concat(scriptRelatedFiles, localToDevicePaths.filter((file) => (0, minimatch_1.minimatch)(file.getDevicePath(), pattern, { nocase: true })))));
98
- const scriptFiles = _.filter(localToDevicePaths, (localToDevicePath) => _.endsWith(localToDevicePath.getDevicePath(), ".js"));
99
- const otherFiles = _.difference(localToDevicePaths, _.concat(scriptFiles, scriptRelatedFiles));
100
- try {
101
- if (otherFiles.length) {
102
- didRefresh = yield this.refreshApplicationCore(projectData, liveSyncInfo);
103
- }
77
+ async tryRefreshApplication(projectData, liveSyncInfo) {
78
+ let didRefresh = true;
79
+ const localToDevicePaths = liveSyncInfo.modifiedFilesData;
80
+ let scriptRelatedFiles = [];
81
+ constants.LIVESYNC_EXCLUDED_FILE_PATTERNS.forEach((pattern) => (scriptRelatedFiles = _.concat(scriptRelatedFiles, localToDevicePaths.filter((file) => (0, minimatch_1.minimatch)(file.getDevicePath(), pattern, { nocase: true })))));
82
+ const scriptFiles = _.filter(localToDevicePaths, (localToDevicePath) => _.endsWith(localToDevicePath.getDevicePath(), ".js"));
83
+ const otherFiles = _.difference(localToDevicePaths, _.concat(scriptFiles, scriptRelatedFiles));
84
+ try {
85
+ if (otherFiles.length) {
86
+ didRefresh = await this.refreshApplicationCore(projectData, liveSyncInfo);
104
87
  }
105
- catch (e) {
106
- didRefresh = false;
107
- }
108
- return didRefresh;
109
- });
88
+ }
89
+ catch (e) {
90
+ didRefresh = false;
91
+ }
92
+ return didRefresh;
110
93
  }
111
- refreshApplicationCore(projectData, liveSyncInfo) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- let didRefresh = true;
114
- if (this.canRefreshWithNotification(projectData, liveSyncInfo)) {
115
- didRefresh = yield this.refreshWithNotification(projectData);
94
+ async refreshApplicationCore(projectData, liveSyncInfo) {
95
+ let didRefresh = true;
96
+ if (this.canRefreshWithNotification(projectData, liveSyncInfo)) {
97
+ didRefresh = await this.refreshWithNotification(projectData);
98
+ }
99
+ else {
100
+ if (await this.setupSocketIfNeeded(projectData)) {
101
+ await this.reloadPage();
116
102
  }
117
103
  else {
118
- if (yield this.setupSocketIfNeeded(projectData)) {
119
- yield this.reloadPage();
120
- }
121
- else {
122
- didRefresh = false;
123
- }
104
+ didRefresh = false;
124
105
  }
125
- return didRefresh;
126
- });
106
+ }
107
+ return didRefresh;
127
108
  }
128
- refreshWithNotification(projectData) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- let didRefresh = false;
131
- yield this.$lockService.executeActionWithLock(() => __awaiter(this, void 0, void 0, function* () {
132
- didRefresh = yield this.$iOSSocketRequestExecutor.executeRefreshRequest(this.device, 5, projectData.projectIdentifiers.ios);
133
- }), `ios-device-livesync-${this.device.deviceInfo.identifier}-${projectData.projectIdentifiers.ios}.lock`);
134
- return didRefresh;
135
- });
109
+ async refreshWithNotification(projectData) {
110
+ let didRefresh = false;
111
+ await this.$lockService.executeActionWithLock(async () => {
112
+ didRefresh = await this.$iOSSocketRequestExecutor.executeRefreshRequest(this.device, 5, projectData.projectIdentifiers.ios);
113
+ }, `ios-device-livesync-${this.device.deviceInfo.identifier}-${projectData.projectIdentifiers.ios}.lock`);
114
+ return didRefresh;
136
115
  }
137
- restartApplication(projectData, liveSyncInfo) {
138
- return __awaiter(this, void 0, void 0, function* () {
139
- yield this.device.applicationManager.restartApplication({
140
- appId: liveSyncInfo.deviceAppData.appIdentifier,
141
- projectName: projectData.projectName,
142
- waitForDebugger: liveSyncInfo.waitForDebugger,
143
- projectDir: projectData.projectDir,
144
- });
145
- if (liveSyncInfo.useHotModuleReload) {
146
- yield this.setupSocketIfNeeded(projectData);
147
- }
116
+ async restartApplication(projectData, liveSyncInfo) {
117
+ await this.device.applicationManager.restartApplication({
118
+ appId: liveSyncInfo.deviceAppData.appIdentifier,
119
+ projectName: projectData.projectName,
120
+ waitForDebugger: liveSyncInfo.waitForDebugger,
121
+ projectDir: projectData.projectDir,
148
122
  });
123
+ if (liveSyncInfo.useHotModuleReload) {
124
+ await this.setupSocketIfNeeded(projectData);
125
+ }
149
126
  }
150
- reloadPage() {
151
- return __awaiter(this, void 0, void 0, function* () {
152
- const message = JSON.stringify({
153
- method: "Page.reload",
154
- params: {
155
- ignoreCache: false,
156
- },
157
- id: ++currentPageReloadId,
158
- });
159
- yield this.sendMessage(message);
127
+ async reloadPage() {
128
+ const message = JSON.stringify({
129
+ method: "Page.reload",
130
+ params: {
131
+ ignoreCache: false,
132
+ },
133
+ id: ++currentPageReloadId,
160
134
  });
135
+ await this.sendMessage(message);
161
136
  }
162
137
  attachEventHandlers() {
163
138
  this.socket.on("close", (hadError) => {
@@ -171,48 +146,44 @@ class IOSDeviceLiveSyncService extends device_livesync_service_base_1.DeviceLive
171
146
  this.$logger.trace(`Socket sent data: ${data.toString()}`);
172
147
  });
173
148
  }
174
- sendMessage(message) {
175
- return __awaiter(this, void 0, void 0, function* () {
176
- try {
177
- yield new Promise((resolve, reject) => {
178
- let isResolved = false;
179
- const length = Buffer.byteLength(message, "utf16le");
180
- const payload = Buffer.allocUnsafe(length + 4);
181
- payload.writeInt32BE(length, 0);
182
- payload.write(message, 4, length, "utf16le");
183
- const errorCallback = (error) => {
184
- if (!isResolved) {
185
- isResolved = true;
186
- reject(error);
187
- }
188
- };
189
- this.socket.once("error", errorCallback);
190
- this.socket.write(payload, "utf16le", () => {
191
- this.socket.removeListener("error", errorCallback);
192
- if (!isResolved) {
193
- isResolved = true;
194
- resolve();
195
- }
196
- });
149
+ async sendMessage(message) {
150
+ try {
151
+ await new Promise((resolve, reject) => {
152
+ let isResolved = false;
153
+ const length = Buffer.byteLength(message, "utf16le");
154
+ const payload = Buffer.allocUnsafe(length + 4);
155
+ payload.writeInt32BE(length, 0);
156
+ payload.write(message, 4, length, "utf16le");
157
+ const errorCallback = (error) => {
158
+ if (!isResolved) {
159
+ isResolved = true;
160
+ reject(error);
161
+ }
162
+ };
163
+ this.socket.once("error", errorCallback);
164
+ this.socket.write(payload, "utf16le", () => {
165
+ this.socket.removeListener("error", errorCallback);
166
+ if (!isResolved) {
167
+ isResolved = true;
168
+ resolve();
169
+ }
197
170
  });
198
- }
199
- catch (error) {
200
- this.$logger.trace("Error while sending message:", error);
201
- yield this.destroySocket();
202
- }
203
- });
171
+ });
172
+ }
173
+ catch (error) {
174
+ this.$logger.trace("Error while sending message:", error);
175
+ await this.destroySocket();
176
+ }
204
177
  }
205
- destroySocket() {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- if (this.socket) {
208
- yield this.device.destroyAllSockets();
209
- this.socket = null;
210
- }
211
- });
178
+ async destroySocket() {
179
+ if (this.socket) {
180
+ await this.device.destroyAllSockets();
181
+ this.socket = null;
182
+ }
212
183
  }
213
184
  }
185
+ exports.IOSDeviceLiveSyncService = IOSDeviceLiveSyncService;
214
186
  IOSDeviceLiveSyncService.MIN_RUNTIME_VERSION_WITH_REFRESH_NOTIFICATION = "6.1.0";
215
187
  __decorate([
216
188
  (0, decorators_1.performanceLog)()
217
189
  ], IOSDeviceLiveSyncService.prototype, "removeFiles", null);
218
- exports.IOSDeviceLiveSyncService = IOSDeviceLiveSyncService;
@@ -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.IOSLiveSyncService = void 0;
19
10
  const path = require("path");
@@ -23,73 +14,66 @@ const constants_1 = require("../../constants");
23
14
  const decorators_1 = require("../../common/decorators");
24
15
  const yok_1 = require("../../common/yok");
25
16
  class IOSLiveSyncService extends platform_livesync_service_base_1.PlatformLiveSyncServiceBase {
26
- constructor($fs, $platformsDataService, $projectFilesManager, $injector, $tempService, $devicePathProvider, $logger) {
27
- super($fs, $logger, $platformsDataService, $projectFilesManager, $devicePathProvider);
17
+ constructor($fs, $platformsDataService, $projectFilesManager, $injector, $tempService, $devicePathProvider, $logger, $options) {
18
+ super($fs, $logger, $platformsDataService, $projectFilesManager, $devicePathProvider, $options);
28
19
  this.$fs = $fs;
29
20
  this.$platformsDataService = $platformsDataService;
30
21
  this.$projectFilesManager = $projectFilesManager;
31
22
  this.$injector = $injector;
32
23
  this.$tempService = $tempService;
33
24
  }
34
- fullSync(syncInfo) {
35
- const _super = Object.create(null, {
36
- fullSync: { get: () => super.fullSync }
25
+ async fullSync(syncInfo) {
26
+ const device = syncInfo.device;
27
+ if (device.isEmulator) {
28
+ return super.fullSync(syncInfo);
29
+ }
30
+ const projectData = syncInfo.projectData;
31
+ const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
32
+ const deviceAppData = await this.getAppData(syncInfo);
33
+ const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, constants_1.APP_FOLDER_NAME);
34
+ const tempZip = await this.$tempService.path({
35
+ prefix: "sync",
36
+ suffix: ".zip",
37
37
  });
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const device = syncInfo.device;
40
- if (device.isEmulator) {
41
- return _super.fullSync.call(this, syncInfo);
42
- }
43
- const projectData = syncInfo.projectData;
44
- const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
45
- const deviceAppData = yield this.getAppData(syncInfo);
46
- const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, constants_1.APP_FOLDER_NAME);
47
- const tempZip = yield this.$tempService.path({
48
- prefix: "sync",
49
- suffix: ".zip",
50
- });
51
- this.$logger.trace("Creating zip file: " + tempZip);
52
- const filesToTransfer = this.$fs.enumerateFilesInDirectorySync(projectFilesPath);
53
- yield this.$fs.zipFiles(tempZip, filesToTransfer, (res) => {
54
- return path.join(constants_1.APP_FOLDER_NAME, path.relative(projectFilesPath, res));
55
- });
56
- yield device.fileSystem.transferFiles(deviceAppData, [
57
- {
58
- getLocalPath: () => tempZip,
59
- getDevicePath: () => deviceAppData.deviceSyncZipPath,
60
- getRelativeToProjectBasePath: () => "../sync.zip",
61
- deviceProjectRootPath: yield deviceAppData.getDeviceProjectRootPath(),
62
- },
63
- ]);
64
- yield deviceAppData.device.applicationManager.setTransferredAppFiles(filesToTransfer);
65
- return {
66
- deviceAppData,
67
- isFullSync: true,
68
- modifiedFilesData: [],
69
- useHotModuleReload: syncInfo.useHotModuleReload,
70
- };
38
+ this.$logger.trace("Creating zip file: " + tempZip);
39
+ const filesToTransfer = this.$fs.enumerateFilesInDirectorySync(projectFilesPath);
40
+ await this.$fs.zipFiles(tempZip, filesToTransfer, (res) => {
41
+ return path.join(constants_1.APP_FOLDER_NAME, path.relative(projectFilesPath, res));
71
42
  });
43
+ await device.fileSystem.transferFiles(deviceAppData, [
44
+ {
45
+ getLocalPath: () => tempZip,
46
+ getDevicePath: () => deviceAppData.deviceSyncZipPath,
47
+ getRelativeToProjectBasePath: () => "../sync.zip",
48
+ deviceProjectRootPath: await deviceAppData.getDeviceProjectRootPath(),
49
+ },
50
+ ]);
51
+ await deviceAppData.device.applicationManager.setTransferredAppFiles(filesToTransfer);
52
+ return {
53
+ deviceAppData,
54
+ isFullSync: true,
55
+ modifiedFilesData: [],
56
+ useHotModuleReload: syncInfo.useHotModuleReload,
57
+ };
72
58
  }
73
- syncAfterInstall(device, liveSyncInfo) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- if (!device.isEmulator) {
76
- yield this.fullSync({
77
- projectData: liveSyncInfo.projectData,
78
- device,
79
- liveSyncDeviceData: liveSyncInfo.liveSyncDeviceData,
80
- watch: true,
81
- useHotModuleReload: liveSyncInfo.useHotModuleReload,
82
- });
83
- }
84
- });
59
+ async syncAfterInstall(device, liveSyncInfo) {
60
+ if (!device.isEmulator) {
61
+ await this.fullSync({
62
+ projectData: liveSyncInfo.projectData,
63
+ device,
64
+ liveSyncDeviceData: liveSyncInfo.liveSyncDeviceData,
65
+ watch: true,
66
+ useHotModuleReload: liveSyncInfo.useHotModuleReload,
67
+ });
68
+ }
85
69
  }
86
70
  _getDeviceLiveSyncService(device, data) {
87
71
  const service = this.$injector.resolve(ios_device_livesync_service_1.IOSDeviceLiveSyncService, { device, data });
88
72
  return service;
89
73
  }
90
74
  }
75
+ exports.IOSLiveSyncService = IOSLiveSyncService;
91
76
  __decorate([
92
77
  (0, decorators_1.performanceLog)()
93
78
  ], IOSLiveSyncService.prototype, "fullSync", null);
94
- exports.IOSLiveSyncService = IOSLiveSyncService;
95
79
  yok_1.injector.register("iOSLiveSyncService", IOSLiveSyncService);