nativescript 8.9.0-dev.0 → 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 (405) 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/ios.d.ts +4 -2
  190. package/lib/definitions/project.d.ts +26 -0
  191. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  192. package/lib/detached-processes/cleanup-process.js +43 -30
  193. package/lib/detached-processes/file-log-service.js +2 -1
  194. package/lib/device-path-provider.js +35 -23
  195. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  196. package/lib/device-sockets/ios/notification.js +4 -1
  197. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  198. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  199. package/lib/helpers/deploy-command-helper.js +50 -44
  200. package/lib/helpers/key-command-helper.js +17 -6
  201. package/lib/helpers/livesync-command-helper.js +155 -137
  202. package/lib/helpers/network-connectivity-validator.js +18 -6
  203. package/lib/helpers/options-track-helper.js +19 -7
  204. package/lib/helpers/package-path-helper.js +1 -0
  205. package/lib/helpers/platform-command-helper.js +127 -101
  206. package/lib/helpers/version-validator-helper.js +1 -0
  207. package/lib/key-commands/bootstrap.js +3 -2
  208. package/lib/key-commands/index.js +205 -154
  209. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  210. package/lib/nativescript-cli-lib.js +1 -0
  211. package/lib/nativescript-cli.js +24 -6
  212. package/lib/node/pbxproj-dom-xcode.js +1 -0
  213. package/lib/node/xcode.js +1 -0
  214. package/lib/node-package-manager.js +114 -81
  215. package/lib/options.js +156 -122
  216. package/lib/package-installation-manager.js +172 -130
  217. package/lib/package-manager.js +88 -63
  218. package/lib/platform-command-param.js +16 -4
  219. package/lib/pnpm-package-manager.js +81 -59
  220. package/lib/project-data.js +13 -1
  221. package/lib/providers/project-files-provider.js +2 -1
  222. package/lib/resolvers/livesync-service-resolver.js +1 -0
  223. package/lib/services/analytics/analytics-broker-process.js +32 -19
  224. package/lib/services/analytics/analytics-broker.js +31 -17
  225. package/lib/services/analytics/analytics-service.js +210 -170
  226. package/lib/services/analytics/google-analytics-provider.js +59 -43
  227. package/lib/services/analytics-settings-service.js +37 -15
  228. package/lib/services/android/android-bundle-tool-service.js +61 -43
  229. package/lib/services/android/gradle-build-args-service.js +23 -9
  230. package/lib/services/android/gradle-build-service.js +36 -22
  231. package/lib/services/android/gradle-command-service.js +36 -22
  232. package/lib/services/android-device-debug-service.js +123 -90
  233. package/lib/services/android-plugin-build-service.js +260 -205
  234. package/lib/services/android-project-service.js +241 -129
  235. package/lib/services/android-resources-migration-service.js +71 -51
  236. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  237. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  238. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  239. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  240. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  241. package/lib/services/build-artifacts-service.js +22 -10
  242. package/lib/services/build-data-service.js +1 -0
  243. package/lib/services/build-info-file-service.js +36 -20
  244. package/lib/services/cleanup-service.js +81 -48
  245. package/lib/services/cocoapods-platform-manager.js +9 -0
  246. package/lib/services/cocoapods-service.js +153 -112
  247. package/lib/services/debug-data-service.js +1 -0
  248. package/lib/services/debug-service-base.js +7 -0
  249. package/lib/services/device/device-install-app-service.js +72 -54
  250. package/lib/services/doctor-service.js +135 -101
  251. package/lib/services/extensibility-service.js +108 -81
  252. package/lib/services/files-hash-service.js +44 -26
  253. package/lib/services/hmr-status-service.js +3 -1
  254. package/lib/services/info-service.js +1 -0
  255. package/lib/services/initialize-service.js +54 -37
  256. package/lib/services/ios/export-options-plist-service.js +55 -38
  257. package/lib/services/ios/ios-signing-service.js +191 -168
  258. package/lib/services/ios/spm-service.js +73 -43
  259. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  260. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  261. package/lib/services/ios/xcodebuild-service.js +72 -52
  262. package/lib/services/ios-debugger-port-service.js +38 -24
  263. package/lib/services/ios-device-debug-service.js +103 -75
  264. package/lib/services/ios-entitlements-service.js +43 -31
  265. package/lib/services/ios-extensions-service.js +30 -18
  266. package/lib/services/ios-log-filter.js +20 -0
  267. package/lib/services/ios-native-target-service.js +6 -4
  268. package/lib/services/ios-project-service.js +605 -437
  269. package/lib/services/ios-provision-service.js +132 -108
  270. package/lib/services/ios-watch-app-service.js +33 -21
  271. package/lib/services/ip-service.js +55 -38
  272. package/lib/services/itmstransporter-service.js +153 -129
  273. package/lib/services/karma-execution.js +2 -0
  274. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  275. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  276. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  277. package/lib/services/livesync/android-livesync-service.js +36 -14
  278. package/lib/services/livesync/android-livesync-tool.js +117 -90
  279. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  280. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  281. package/lib/services/livesync/ios-livesync-service.js +60 -42
  282. package/lib/services/livesync/livesync-socket.js +1 -0
  283. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  284. package/lib/services/livesync-process-data-service.js +1 -0
  285. package/lib/services/log-parser-service.js +2 -1
  286. package/lib/services/log-source-map-service.js +56 -30
  287. package/lib/services/marking-mode-service.js +33 -17
  288. package/lib/services/metadata-filtering-service.js +1 -0
  289. package/lib/services/npm-config-service.js +5 -1
  290. package/lib/services/pacote-service.js +73 -51
  291. package/lib/services/performance-service.js +4 -2
  292. package/lib/services/platform/add-platform-service.js +119 -51
  293. package/lib/services/platform/platform-validation-service.js +34 -22
  294. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  295. package/lib/services/platform-environment-requirements.js +43 -27
  296. package/lib/services/platform-project-service-base.js +1 -0
  297. package/lib/services/platforms-data-service.js +1 -0
  298. package/lib/services/plugins-service.js +168 -125
  299. package/lib/services/prepare-data-service.js +1 -0
  300. package/lib/services/project-backup-service.js +5 -1
  301. package/lib/services/project-changes-service.js +152 -124
  302. package/lib/services/project-cleanup-service.js +79 -64
  303. package/lib/services/project-config-service.js +111 -73
  304. package/lib/services/project-data-service.js +154 -108
  305. package/lib/services/project-name-service.js +44 -28
  306. package/lib/services/project-service.js +113 -84
  307. package/lib/services/project-templates-service.js +68 -52
  308. package/lib/services/qr-code-terminal-service.js +1 -0
  309. package/lib/services/require-service.js +1 -0
  310. package/lib/services/start-service.js +60 -41
  311. package/lib/services/temp-service.js +22 -8
  312. package/lib/services/terminal-spinner-service.js +28 -15
  313. package/lib/services/test-execution-service.js +79 -59
  314. package/lib/services/test-initialization-service.js +6 -2
  315. package/lib/services/timeline-profiler-service.js +2 -1
  316. package/lib/services/user-settings-service.js +1 -0
  317. package/lib/services/versions-service.js +140 -119
  318. package/lib/services/watch-ignore-list-service.js +1 -0
  319. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  320. package/lib/services/xcconfig-service.js +21 -8
  321. package/lib/services/xcproj-service.js +1 -0
  322. package/lib/shared-event-bus.js +6 -0
  323. package/lib/sys-info.js +63 -45
  324. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  325. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  326. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  327. package/lib/yarn-package-manager.js +79 -59
  328. package/lib/yarn2-package-manager.js +82 -60
  329. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  330. package/node_modules/@npmcli/move-file/README.md +69 -0
  331. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  342. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  343. package/node_modules/@npmcli/move-file/package.json +47 -0
  344. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  345. package/node_modules/balanced-match/LICENSE.md +21 -0
  346. package/node_modules/balanced-match/README.md +97 -0
  347. package/node_modules/balanced-match/index.js +62 -0
  348. package/node_modules/balanced-match/package.json +48 -0
  349. package/node_modules/concat-map/.travis.yml +4 -0
  350. package/node_modules/concat-map/LICENSE +18 -0
  351. package/node_modules/concat-map/README.markdown +62 -0
  352. package/node_modules/concat-map/example/map.js +6 -0
  353. package/node_modules/concat-map/index.js +13 -0
  354. package/node_modules/concat-map/package.json +43 -0
  355. package/node_modules/concat-map/test/map.js +39 -0
  356. package/node_modules/fs.realpath/LICENSE +43 -0
  357. package/node_modules/fs.realpath/README.md +33 -0
  358. package/node_modules/fs.realpath/index.js +66 -0
  359. package/node_modules/fs.realpath/old.js +303 -0
  360. package/node_modules/fs.realpath/package.json +26 -0
  361. package/node_modules/inflight/LICENSE +15 -0
  362. package/node_modules/inflight/README.md +37 -0
  363. package/node_modules/inflight/inflight.js +54 -0
  364. package/node_modules/inflight/package.json +29 -0
  365. package/node_modules/inherits/LICENSE +16 -0
  366. package/node_modules/inherits/README.md +42 -0
  367. package/node_modules/inherits/inherits.js +9 -0
  368. package/node_modules/inherits/inherits_browser.js +27 -0
  369. package/node_modules/inherits/package.json +29 -0
  370. package/node_modules/once/LICENSE +15 -0
  371. package/node_modules/once/README.md +79 -0
  372. package/node_modules/once/once.js +42 -0
  373. package/node_modules/once/package.json +33 -0
  374. package/node_modules/path-is-absolute/index.js +20 -0
  375. package/node_modules/path-is-absolute/license +21 -0
  376. package/node_modules/path-is-absolute/package.json +43 -0
  377. package/node_modules/path-is-absolute/readme.md +59 -0
  378. package/node_modules/rimraf/LICENSE +15 -0
  379. package/node_modules/rimraf/README.md +101 -0
  380. package/node_modules/rimraf/bin.js +68 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  384. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  385. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  386. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  387. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  388. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  389. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  390. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  391. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  392. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  393. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  394. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  395. package/node_modules/rimraf/package.json +32 -0
  396. package/node_modules/rimraf/rimraf.js +360 -0
  397. package/node_modules/stringify-package/LICENSE +13 -0
  398. package/node_modules/stringify-package/README.md +55 -0
  399. package/node_modules/stringify-package/index.js +18 -0
  400. package/node_modules/stringify-package/package.json +38 -0
  401. package/node_modules/wrappy/LICENSE +15 -0
  402. package/node_modules/wrappy/README.md +36 -0
  403. package/node_modules/wrappy/package.json +29 -0
  404. package/node_modules/wrappy/wrappy.js +33 -0
  405. 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