nativescript 8.9.0-dev.1 → 8.9.0-dev.2

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 (404) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/project.d.ts +26 -0
  190. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  191. package/lib/detached-processes/cleanup-process.js +43 -30
  192. package/lib/detached-processes/file-log-service.js +2 -1
  193. package/lib/device-path-provider.js +35 -23
  194. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  195. package/lib/device-sockets/ios/notification.js +4 -1
  196. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  197. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  198. package/lib/helpers/deploy-command-helper.js +50 -44
  199. package/lib/helpers/key-command-helper.js +17 -6
  200. package/lib/helpers/livesync-command-helper.js +155 -137
  201. package/lib/helpers/network-connectivity-validator.js +18 -6
  202. package/lib/helpers/options-track-helper.js +19 -7
  203. package/lib/helpers/package-path-helper.js +1 -0
  204. package/lib/helpers/platform-command-helper.js +127 -101
  205. package/lib/helpers/version-validator-helper.js +1 -0
  206. package/lib/key-commands/bootstrap.js +3 -2
  207. package/lib/key-commands/index.js +205 -154
  208. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  209. package/lib/nativescript-cli-lib.js +1 -0
  210. package/lib/nativescript-cli.js +24 -6
  211. package/lib/node/pbxproj-dom-xcode.js +1 -0
  212. package/lib/node/xcode.js +1 -0
  213. package/lib/node-package-manager.js +114 -81
  214. package/lib/options.js +156 -122
  215. package/lib/package-installation-manager.js +172 -130
  216. package/lib/package-manager.js +88 -63
  217. package/lib/platform-command-param.js +16 -4
  218. package/lib/pnpm-package-manager.js +81 -59
  219. package/lib/project-data.js +13 -1
  220. package/lib/providers/project-files-provider.js +2 -1
  221. package/lib/resolvers/livesync-service-resolver.js +1 -0
  222. package/lib/services/analytics/analytics-broker-process.js +32 -19
  223. package/lib/services/analytics/analytics-broker.js +31 -17
  224. package/lib/services/analytics/analytics-service.js +210 -170
  225. package/lib/services/analytics/google-analytics-provider.js +59 -43
  226. package/lib/services/analytics-settings-service.js +37 -15
  227. package/lib/services/android/android-bundle-tool-service.js +61 -43
  228. package/lib/services/android/gradle-build-args-service.js +23 -9
  229. package/lib/services/android/gradle-build-service.js +36 -22
  230. package/lib/services/android/gradle-command-service.js +36 -22
  231. package/lib/services/android-device-debug-service.js +123 -90
  232. package/lib/services/android-plugin-build-service.js +260 -205
  233. package/lib/services/android-project-service.js +241 -129
  234. package/lib/services/android-resources-migration-service.js +71 -51
  235. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  236. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  237. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  238. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  239. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  240. package/lib/services/build-artifacts-service.js +22 -10
  241. package/lib/services/build-data-service.js +1 -0
  242. package/lib/services/build-info-file-service.js +36 -20
  243. package/lib/services/cleanup-service.js +81 -48
  244. package/lib/services/cocoapods-platform-manager.js +9 -0
  245. package/lib/services/cocoapods-service.js +153 -112
  246. package/lib/services/debug-data-service.js +1 -0
  247. package/lib/services/debug-service-base.js +7 -0
  248. package/lib/services/device/device-install-app-service.js +72 -54
  249. package/lib/services/doctor-service.js +135 -101
  250. package/lib/services/extensibility-service.js +108 -81
  251. package/lib/services/files-hash-service.js +44 -26
  252. package/lib/services/hmr-status-service.js +3 -1
  253. package/lib/services/info-service.js +1 -0
  254. package/lib/services/initialize-service.js +54 -37
  255. package/lib/services/ios/export-options-plist-service.js +55 -38
  256. package/lib/services/ios/ios-signing-service.js +191 -168
  257. package/lib/services/ios/spm-service.js +70 -46
  258. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  259. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  260. package/lib/services/ios/xcodebuild-service.js +72 -52
  261. package/lib/services/ios-debugger-port-service.js +38 -24
  262. package/lib/services/ios-device-debug-service.js +103 -75
  263. package/lib/services/ios-entitlements-service.js +43 -31
  264. package/lib/services/ios-extensions-service.js +30 -18
  265. package/lib/services/ios-log-filter.js +20 -0
  266. package/lib/services/ios-native-target-service.js +6 -4
  267. package/lib/services/ios-project-service.js +605 -437
  268. package/lib/services/ios-provision-service.js +132 -108
  269. package/lib/services/ios-watch-app-service.js +33 -21
  270. package/lib/services/ip-service.js +55 -38
  271. package/lib/services/itmstransporter-service.js +153 -129
  272. package/lib/services/karma-execution.js +2 -0
  273. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  274. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  275. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  276. package/lib/services/livesync/android-livesync-service.js +36 -14
  277. package/lib/services/livesync/android-livesync-tool.js +117 -90
  278. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  279. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  280. package/lib/services/livesync/ios-livesync-service.js +60 -42
  281. package/lib/services/livesync/livesync-socket.js +1 -0
  282. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  283. package/lib/services/livesync-process-data-service.js +1 -0
  284. package/lib/services/log-parser-service.js +2 -1
  285. package/lib/services/log-source-map-service.js +56 -30
  286. package/lib/services/marking-mode-service.js +33 -17
  287. package/lib/services/metadata-filtering-service.js +1 -0
  288. package/lib/services/npm-config-service.js +5 -1
  289. package/lib/services/pacote-service.js +71 -49
  290. package/lib/services/performance-service.js +4 -2
  291. package/lib/services/platform/add-platform-service.js +119 -51
  292. package/lib/services/platform/platform-validation-service.js +34 -22
  293. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  294. package/lib/services/platform-environment-requirements.js +43 -27
  295. package/lib/services/platform-project-service-base.js +1 -0
  296. package/lib/services/platforms-data-service.js +1 -0
  297. package/lib/services/plugins-service.js +168 -125
  298. package/lib/services/prepare-data-service.js +1 -0
  299. package/lib/services/project-backup-service.js +5 -1
  300. package/lib/services/project-changes-service.js +152 -124
  301. package/lib/services/project-cleanup-service.js +79 -64
  302. package/lib/services/project-config-service.js +111 -73
  303. package/lib/services/project-data-service.js +154 -108
  304. package/lib/services/project-name-service.js +44 -28
  305. package/lib/services/project-service.js +113 -84
  306. package/lib/services/project-templates-service.js +68 -52
  307. package/lib/services/qr-code-terminal-service.js +1 -0
  308. package/lib/services/require-service.js +1 -0
  309. package/lib/services/start-service.js +60 -41
  310. package/lib/services/temp-service.js +22 -8
  311. package/lib/services/terminal-spinner-service.js +28 -15
  312. package/lib/services/test-execution-service.js +79 -59
  313. package/lib/services/test-initialization-service.js +6 -2
  314. package/lib/services/timeline-profiler-service.js +2 -1
  315. package/lib/services/user-settings-service.js +1 -0
  316. package/lib/services/versions-service.js +140 -119
  317. package/lib/services/watch-ignore-list-service.js +1 -0
  318. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  319. package/lib/services/xcconfig-service.js +21 -8
  320. package/lib/services/xcproj-service.js +1 -0
  321. package/lib/shared-event-bus.js +6 -0
  322. package/lib/sys-info.js +63 -45
  323. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  324. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  325. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  326. package/lib/yarn-package-manager.js +79 -59
  327. package/lib/yarn2-package-manager.js +82 -60
  328. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  329. package/node_modules/@npmcli/move-file/README.md +69 -0
  330. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  342. package/node_modules/@npmcli/move-file/package.json +47 -0
  343. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  344. package/node_modules/balanced-match/LICENSE.md +21 -0
  345. package/node_modules/balanced-match/README.md +97 -0
  346. package/node_modules/balanced-match/index.js +62 -0
  347. package/node_modules/balanced-match/package.json +48 -0
  348. package/node_modules/concat-map/.travis.yml +4 -0
  349. package/node_modules/concat-map/LICENSE +18 -0
  350. package/node_modules/concat-map/README.markdown +62 -0
  351. package/node_modules/concat-map/example/map.js +6 -0
  352. package/node_modules/concat-map/index.js +13 -0
  353. package/node_modules/concat-map/package.json +43 -0
  354. package/node_modules/concat-map/test/map.js +39 -0
  355. package/node_modules/fs.realpath/LICENSE +43 -0
  356. package/node_modules/fs.realpath/README.md +33 -0
  357. package/node_modules/fs.realpath/index.js +66 -0
  358. package/node_modules/fs.realpath/old.js +303 -0
  359. package/node_modules/fs.realpath/package.json +26 -0
  360. package/node_modules/inflight/LICENSE +15 -0
  361. package/node_modules/inflight/README.md +37 -0
  362. package/node_modules/inflight/inflight.js +54 -0
  363. package/node_modules/inflight/package.json +29 -0
  364. package/node_modules/inherits/LICENSE +16 -0
  365. package/node_modules/inherits/README.md +42 -0
  366. package/node_modules/inherits/inherits.js +9 -0
  367. package/node_modules/inherits/inherits_browser.js +27 -0
  368. package/node_modules/inherits/package.json +29 -0
  369. package/node_modules/once/LICENSE +15 -0
  370. package/node_modules/once/README.md +79 -0
  371. package/node_modules/once/once.js +42 -0
  372. package/node_modules/once/package.json +33 -0
  373. package/node_modules/path-is-absolute/index.js +20 -0
  374. package/node_modules/path-is-absolute/license +21 -0
  375. package/node_modules/path-is-absolute/package.json +43 -0
  376. package/node_modules/path-is-absolute/readme.md +59 -0
  377. package/node_modules/rimraf/LICENSE +15 -0
  378. package/node_modules/rimraf/README.md +101 -0
  379. package/node_modules/rimraf/bin.js +68 -0
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  385. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  386. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  387. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  388. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  389. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  394. package/node_modules/rimraf/package.json +32 -0
  395. package/node_modules/rimraf/rimraf.js +360 -0
  396. package/node_modules/stringify-package/LICENSE +13 -0
  397. package/node_modules/stringify-package/README.md +55 -0
  398. package/node_modules/stringify-package/index.js +18 -0
  399. package/node_modules/stringify-package/package.json +38 -0
  400. package/node_modules/wrappy/LICENSE +15 -0
  401. package/node_modules/wrappy/README.md +36 -0
  402. package/node_modules/wrappy/package.json +29 -0
  403. package/node_modules/wrappy/wrappy.js +33 -0
  404. package/package.json +79 -64
@@ -5,6 +5,15 @@ 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
+ };
8
17
  Object.defineProperty(exports, "__esModule", { value: true });
9
18
  exports.AndroidDeviceLiveSyncService = void 0;
10
19
  const android_device_livesync_service_base_1 = require("./android-device-livesync-service-base");
@@ -25,150 +34,172 @@ class AndroidDeviceLiveSyncService extends android_device_livesync_service_base_
25
34
  this.platformsDataService = platformsDataService;
26
35
  this.device = device;
27
36
  }
28
- async transferFilesOnDevice(deviceAppData, localToDevicePaths) {
29
- await this.device.fileSystem.transferFiles(deviceAppData, localToDevicePaths);
30
- }
31
- async transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
32
- await this.device.fileSystem.transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath);
37
+ transferFilesOnDevice(deviceAppData, localToDevicePaths) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ yield this.device.fileSystem.transferFiles(deviceAppData, localToDevicePaths);
40
+ });
33
41
  }
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,
42
+ transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ yield this.device.fileSystem.transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath);
43
45
  });
44
46
  }
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;
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
+ });
58
+ });
54
59
  }
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,
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;
62
70
  });
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;
72
71
  }
73
- async cleanLivesyncDirectories(deviceAppData) {
74
- const deviceRootPath = await this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
75
- appIdentifier: deviceAppData.appIdentifier,
76
- getDirname: true,
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;
77
90
  });
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
- ]);
85
91
  }
86
- async beforeLiveSyncAction(deviceAppData) {
87
- const deviceRootPath = await this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
88
- appIdentifier: deviceAppData.appIdentifier,
89
- getDirname: true,
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
+ ]);
90
105
  });
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);
104
106
  }
105
- async reloadApplicationFiles(deviceAppData, localToDevicePaths) {
106
- if (!this.port) {
107
- this.port = await this.$androidProcessService.forwardFreeTcpToAbstractPort({
108
- deviceIdentifier: deviceAppData.device.deviceInfo.identifier,
107
+ beforeLiveSyncAction(deviceAppData) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const deviceRootPath = yield this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
109
110
  appIdentifier: deviceAppData.appIdentifier,
110
- abstractPort: `localabstract:${deviceAppData.appIdentifier}-livesync`,
111
+ getDirname: true,
111
112
  });
112
- }
113
- if (await this.awaitRuntimeReloadSuccessMessage()) {
114
- await this.cleanLivesyncDirectories(deviceAppData);
115
- }
116
- else {
117
- return false;
118
- }
119
- return true;
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
+ // Check if there is already a file with deviceRootBasename. If so, delete it as it breaks LiveSyncing.
123
+ if (matchingFile && matchingFile[0] && _.startsWith(matchingFile[0], "-")) {
124
+ yield this.device.adb.executeShellCommand(["rm", "-f", deviceRootPath]);
125
+ }
126
+ yield this.cleanLivesyncDirectories(deviceAppData);
127
+ });
120
128
  }
121
- async removeFiles(deviceAppData, localToDevicePaths) {
122
- const deviceRootPath = await this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
123
- appIdentifier: deviceAppData.appIdentifier,
124
- getDirname: true,
129
+ reloadApplicationFiles(deviceAppData, localToDevicePaths) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ if (!this.port) {
132
+ this.port = yield this.$androidProcessService.forwardFreeTcpToAbstractPort({
133
+ deviceIdentifier: deviceAppData.device.deviceInfo.identifier,
134
+ appIdentifier: deviceAppData.appIdentifier,
135
+ abstractPort: `localabstract:${deviceAppData.appIdentifier}-livesync`,
136
+ });
137
+ }
138
+ if (yield this.awaitRuntimeReloadSuccessMessage()) {
139
+ yield this.cleanLivesyncDirectories(deviceAppData);
140
+ }
141
+ else {
142
+ return false;
143
+ }
144
+ return true;
125
145
  });
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);
140
146
  }
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]));
147
- });
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
- }
147
+ removeFiles(deviceAppData, localToDevicePaths) {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ const deviceRootPath = yield this.$devicePathProvider.getDeviceProjectRootPath(deviceAppData.device, {
150
+ appIdentifier: deviceAppData.appIdentifier,
151
+ getDirname: true,
158
152
  });
159
- socket.on("close", () => {
160
- if (!isResolved) {
153
+ for (const localToDevicePathData of localToDevicePaths) {
154
+ const relativeUnixPath = _.trimStart(helpers.fromWindowsRelativePathToUnix(localToDevicePathData.getRelativeToProjectBasePath()), "/");
155
+ const deviceFilePath = this.$mobileHelper.buildDevicePath(deviceRootPath, constants_1.LiveSyncPaths.REMOVEDSYNC_DIR_NAME, relativeUnixPath);
156
+ yield this.device.adb.executeShellCommand([
157
+ "mkdir",
158
+ "-p",
159
+ path.dirname(deviceFilePath),
160
+ " && ",
161
+ "touch",
162
+ deviceFilePath,
163
+ ]);
164
+ }
165
+ const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
166
+ yield deviceHashService.removeHashes(localToDevicePaths);
167
+ });
168
+ }
169
+ awaitRuntimeReloadSuccessMessage() {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ return new Promise((resolve, reject) => {
172
+ let isResolved = false;
173
+ const socket = new net.Socket();
174
+ socket.connect(this.port, process.env.NATIVESCRIPT_LIVESYNC_ADDRESS || "127.0.0.1", () => {
175
+ socket.write(Buffer.from([0, 0, 0, 1, 1]));
176
+ });
177
+ socket.on("data", (data) => {
161
178
  isResolved = true;
162
- resolve(false);
163
- }
179
+ socket.destroy();
180
+ resolve(true);
181
+ });
182
+ socket.on("error", () => {
183
+ if (!isResolved) {
184
+ isResolved = true;
185
+ resolve(false);
186
+ }
187
+ });
188
+ socket.on("close", () => {
189
+ if (!isResolved) {
190
+ isResolved = true;
191
+ resolve(false);
192
+ }
193
+ });
164
194
  });
165
195
  });
166
196
  }
167
197
  }
168
- exports.AndroidDeviceLiveSyncService = AndroidDeviceLiveSyncService;
169
198
  __decorate([
170
199
  (0, decorators_1.performanceLog)()
171
200
  ], AndroidDeviceLiveSyncService.prototype, "beforeLiveSyncAction", null);
172
201
  __decorate([
173
202
  (0, decorators_1.performanceLog)()
174
203
  ], AndroidDeviceLiveSyncService.prototype, "removeFiles", null);
204
+ exports.AndroidDeviceLiveSyncService = AndroidDeviceLiveSyncService;
205
+ //# sourceMappingURL=android-device-livesync-service.js.map
@@ -1,4 +1,13 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.AndroidDeviceSocketsLiveSyncService = void 0;
4
13
  const android_device_livesync_service_base_1 = require("./android-device-livesync-service-base");
@@ -21,146 +30,171 @@ class AndroidDeviceSocketsLiveSyncService extends android_device_livesync_servic
21
30
  this.$tempService = $tempService;
22
31
  this.livesyncTool = this.$injector.resolve(android_livesync_tool_1.AndroidLivesyncTool);
23
32
  }
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);
40
- }
41
- catch (err) {
42
- await this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(deviceAppData.appIdentifier), deviceAppData.appIdentifier);
43
- throw err;
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
+ }
44
55
  }
45
- }
56
+ });
46
57
  }
47
58
  getPathToLiveSyncFileOnDevice(appIdentifier) {
48
59
  return `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${appIdentifier}-livesync-in-progress`;
49
60
  }
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)) {
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) {
54
71
  this.livesyncTool.end();
72
+ throw e;
55
73
  }
56
- return result;
57
- }
58
- catch (e) {
59
- this.livesyncTool.end();
60
- throw e;
61
- }
62
- }
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
- };
74
+ });
75
75
  }
76
- async doSync(liveSyncInfo, projectData) {
77
- const operationId = this.livesyncTool.generateOperationIdentifier();
78
- let result = { operationId, didRefresh: true };
79
- if (liveSyncInfo.modifiedFilesData.length) {
80
- const canExecuteFastSync = !liveSyncInfo.isFullSync &&
81
- this.canExecuteFastSyncForPaths(liveSyncInfo, liveSyncInfo.modifiedFilesData, projectData, this.device.deviceInfo.platform);
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);
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
+ ],
96
88
  };
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;
105
- }
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,
112
89
  });
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);
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
+ // We need to clear resources when the action fails
115
+ // But we also need the real result of the action.
116
+ yield doSyncPromise.then(actionOnEnd.bind(this), actionOnEnd.bind(this));
117
+ result = yield doSyncPromise;
119
118
  }
120
- catch (e) {
121
- this.$logger.trace("Failed to connect after app restart.");
119
+ else {
120
+ yield this.device.fileSystem.deleteFile(this.getPathToLiveSyncFileOnDevice(liveSyncInfo.deviceAppData.appIdentifier), liveSyncInfo.deviceAppData.appIdentifier);
122
121
  }
123
- }
122
+ return result;
123
+ });
124
124
  }
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;
125
+ restartApplication(projectData, liveSyncInfo) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ yield this.device.applicationManager.restartApplication({
128
+ appId: liveSyncInfo.deviceAppData.appIdentifier,
129
+ projectName: projectData.projectName,
130
+ waitForDebugger: liveSyncInfo.waitForDebugger,
131
+ projectDir: projectData.projectDir,
132
+ });
133
+ if (!this.$options.justlaunch &&
134
+ !liveSyncInfo.waitForDebugger &&
135
+ this.livesyncTool.protocolVersion &&
136
+ semver.gte(this.livesyncTool.protocolVersion, AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION)) {
137
+ try {
138
+ yield this.connectLivesyncTool(liveSyncInfo.deviceAppData.appIdentifier);
139
+ }
140
+ catch (e) {
141
+ this.$logger.trace("Failed to connect after app restart.");
142
+ }
143
+ }
144
+ });
135
145
  }
136
- async tryRefreshApplication(projectData, liveSyncInfo) {
137
- return true;
146
+ shouldRestart(projectData, liveSyncInfo) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ let shouldRestart = false;
149
+ const canExecuteFastSync = !liveSyncInfo.isFullSync &&
150
+ this.canExecuteFastSyncForPaths(liveSyncInfo, liveSyncInfo.modifiedFilesData, projectData, this.device.deviceInfo.platform);
151
+ if (!canExecuteFastSync ||
152
+ !liveSyncInfo.didRefresh ||
153
+ liveSyncInfo.waitForDebugger) {
154
+ shouldRestart = true;
155
+ }
156
+ return shouldRestart;
157
+ });
138
158
  }
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);
159
+ tryRefreshApplication(projectData, liveSyncInfo) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ return true;
162
+ });
143
163
  }
144
- async transferFilesOnDevice(deviceAppData, localToDevicePaths) {
145
- const files = _.map(localToDevicePaths, (localToDevicePath) => localToDevicePath.getLocalPath());
146
- await this.livesyncTool.sendFiles(files);
164
+ removeFiles(deviceAppData, localToDevicePaths, projectFilesPath) {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ yield this.livesyncTool.removeFiles(_.map(localToDevicePaths, (element) => element.filePath));
167
+ const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
168
+ yield deviceHashService.removeHashes(localToDevicePaths);
169
+ });
147
170
  }
148
- async transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
149
- await this.livesyncTool.sendDirectory(projectFilesPath);
171
+ transferFilesOnDevice(deviceAppData, localToDevicePaths) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const files = _.map(localToDevicePaths, (localToDevicePath) => localToDevicePath.getLocalPath());
174
+ yield this.livesyncTool.sendFiles(files);
175
+ });
150
176
  }
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
- }
177
+ transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ yield this.livesyncTool.sendDirectory(projectFilesPath);
180
+ });
181
+ }
182
+ connectLivesyncTool(appIdentifier, connectTimeout) {
183
+ return __awaiter(this, void 0, void 0, function* () {
184
+ const platformData = this.platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, this.data);
185
+ const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
186
+ if (!this.livesyncTool.hasConnection()) {
187
+ yield this.livesyncTool.connect({
188
+ appIdentifier,
189
+ deviceIdentifier: this.device.deviceInfo.identifier,
190
+ appPlatformsPath: projectFilesPath,
191
+ connectTimeout,
192
+ });
193
+ }
194
+ });
162
195
  }
163
196
  }
164
- exports.AndroidDeviceSocketsLiveSyncService = AndroidDeviceSocketsLiveSyncService;
165
197
  AndroidDeviceSocketsLiveSyncService.STATUS_UPDATE_INTERVAL = 10000;
166
198
  AndroidDeviceSocketsLiveSyncService.MINIMAL_VERSION_LONG_LIVING_CONNECTION = "0.2.0";
199
+ exports.AndroidDeviceSocketsLiveSyncService = AndroidDeviceSocketsLiveSyncService;
200
+ //# sourceMappingURL=android-device-livesync-sockets-service.js.map