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
@@ -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.AndroidDeviceFileSystem = void 0;
4
13
  const path = require("path");
@@ -17,118 +26,145 @@ class AndroidDeviceFileSystem {
17
26
  this.$injector = $injector;
18
27
  this._deviceHashServices = Object.create(null);
19
28
  }
20
- async listFiles(devicePath, appIdentifier) {
21
- let listCommandArgs = ["ls", "-a", devicePath];
22
- if (appIdentifier) {
23
- listCommandArgs = ["run-as", appIdentifier].concat(listCommandArgs);
24
- }
25
- return this.adb.executeShellCommand(listCommandArgs);
29
+ listFiles(devicePath, appIdentifier) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ let listCommandArgs = ["ls", "-a", devicePath];
32
+ if (appIdentifier) {
33
+ listCommandArgs = ["run-as", appIdentifier].concat(listCommandArgs);
34
+ }
35
+ return this.adb.executeShellCommand(listCommandArgs);
36
+ });
26
37
  }
27
- async getFile(deviceFilePath, appIdentifier, outputPath) {
28
- const stdout = !outputPath;
29
- if (stdout) {
30
- outputPath = await this.$tempService.path({
31
- prefix: "sync",
32
- suffix: ".tmp",
33
- });
34
- }
35
- await this.adb.executeCommand(["pull", deviceFilePath, outputPath]);
36
- if (stdout) {
37
- await new Promise((resolve, reject) => {
38
- const readStream = this.$fs.createReadStream(outputPath);
39
- readStream.pipe(process.stdout);
40
- readStream.on("end", () => {
41
- resolve();
38
+ getFile(deviceFilePath, appIdentifier, outputPath) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const stdout = !outputPath;
41
+ if (stdout) {
42
+ outputPath = yield this.$tempService.path({
43
+ prefix: "sync",
44
+ suffix: ".tmp",
42
45
  });
43
- readStream.on("error", (err) => {
44
- reject(err);
46
+ }
47
+ yield this.adb.executeCommand(["pull", deviceFilePath, outputPath]);
48
+ if (stdout) {
49
+ yield new Promise((resolve, reject) => {
50
+ const readStream = this.$fs.createReadStream(outputPath);
51
+ readStream.pipe(process.stdout);
52
+ readStream.on("end", () => {
53
+ resolve();
54
+ });
55
+ readStream.on("error", (err) => {
56
+ reject(err);
57
+ });
45
58
  });
46
- });
47
- }
59
+ }
60
+ });
48
61
  }
49
- async getFileContent(deviceFilePath, appIdentifier) {
50
- const result = await this.adb.executeShellCommand(["cat", deviceFilePath]);
51
- return result;
62
+ getFileContent(deviceFilePath, appIdentifier) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const result = yield this.adb.executeShellCommand(["cat", deviceFilePath]);
65
+ return result;
66
+ });
52
67
  }
53
- async putFile(localFilePath, deviceFilePath, appIdentifier) {
54
- await this.adb.pushFile(localFilePath, deviceFilePath);
68
+ putFile(localFilePath, deviceFilePath, appIdentifier) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ yield this.adb.pushFile(localFilePath, deviceFilePath);
71
+ });
55
72
  }
56
- async transferFiles(deviceAppData, localToDevicePaths) {
57
- const directoriesToChmod = [];
58
- const transferredFiles = [];
59
- const action = async (localToDevicePathData) => {
60
- const fstat = this.$fs.getFsStats(localToDevicePathData.getLocalPath());
61
- if (fstat.isFile()) {
62
- const devicePath = localToDevicePathData.getDevicePath();
63
- await this.adb.pushFile(localToDevicePathData.getLocalPath(), devicePath);
64
- transferredFiles.push(localToDevicePathData);
73
+ transferFiles(deviceAppData, localToDevicePaths) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ const directoriesToChmod = [];
76
+ const transferredFiles = [];
77
+ const action = (localToDevicePathData) => __awaiter(this, void 0, void 0, function* () {
78
+ const fstat = this.$fs.getFsStats(localToDevicePathData.getLocalPath());
79
+ if (fstat.isFile()) {
80
+ const devicePath = localToDevicePathData.getDevicePath();
81
+ yield this.adb.pushFile(localToDevicePathData.getLocalPath(), devicePath);
82
+ transferredFiles.push(localToDevicePathData);
83
+ }
84
+ else if (fstat.isDirectory()) {
85
+ const dirToChmod = localToDevicePathData.getDevicePath();
86
+ directoriesToChmod.push(dirToChmod);
87
+ }
88
+ });
89
+ yield (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
90
+ const dirsChmodAction = (directoryToChmod) => this.adb.executeShellCommand(["chmod", "0777", directoryToChmod]);
91
+ yield (0, helpers_1.executeActionByChunks)(_.uniq(directoriesToChmod), constants_1.DEFAULT_CHUNK_SIZE, dirsChmodAction);
92
+ return transferredFiles;
93
+ });
94
+ }
95
+ transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ // starting from Android 9, adb push is throwing an exception when there are subfolders
98
+ // the check could be removed when we start supporting only runtime versions with sockets
99
+ const minAndroidWithoutAdbPushDir = "9.0.0";
100
+ const isAdbPushDirSupported = semver.lt(semver.coerce(deviceAppData.device.deviceInfo.version), minAndroidWithoutAdbPushDir);
101
+ const deviceProjectDir = yield deviceAppData.getDeviceProjectRootPath();
102
+ let transferredLocalToDevicePaths = [];
103
+ if (isAdbPushDirSupported) {
104
+ yield this.adb.pushFile(projectFilesPath, deviceProjectDir);
105
+ transferredLocalToDevicePaths = localToDevicePaths;
65
106
  }
66
- else if (fstat.isDirectory()) {
67
- const dirToChmod = localToDevicePathData.getDevicePath();
68
- directoriesToChmod.push(dirToChmod);
107
+ else {
108
+ transferredLocalToDevicePaths = yield this.pushFiles(localToDevicePaths);
69
109
  }
70
- };
71
- await (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
72
- const dirsChmodAction = (directoryToChmod) => this.adb.executeShellCommand(["chmod", "0777", directoryToChmod]);
73
- await (0, helpers_1.executeActionByChunks)(_.uniq(directoriesToChmod), constants_1.DEFAULT_CHUNK_SIZE, dirsChmodAction);
74
- return transferredFiles;
75
- }
76
- async transferDirectory(deviceAppData, localToDevicePaths, projectFilesPath) {
77
- const minAndroidWithoutAdbPushDir = "9.0.0";
78
- const isAdbPushDirSupported = semver.lt(semver.coerce(deviceAppData.device.deviceInfo.version), minAndroidWithoutAdbPushDir);
79
- const deviceProjectDir = await deviceAppData.getDeviceProjectRootPath();
80
- let transferredLocalToDevicePaths = [];
81
- if (isAdbPushDirSupported) {
82
- await this.adb.pushFile(projectFilesPath, deviceProjectDir);
83
- transferredLocalToDevicePaths = localToDevicePaths;
84
- }
85
- else {
86
- transferredLocalToDevicePaths = await this.pushFiles(localToDevicePaths);
87
- }
88
- if (transferredLocalToDevicePaths.length) {
89
- const filesToChmodOnDevice = transferredLocalToDevicePaths.map((localToDevicePath) => localToDevicePath.getDevicePath());
90
- await this.chmodFiles(deviceProjectDir, filesToChmodOnDevice);
91
- }
92
- return transferredLocalToDevicePaths;
110
+ if (transferredLocalToDevicePaths.length) {
111
+ const filesToChmodOnDevice = transferredLocalToDevicePaths.map((localToDevicePath) => localToDevicePath.getDevicePath());
112
+ yield this.chmodFiles(deviceProjectDir, filesToChmodOnDevice);
113
+ }
114
+ return transferredLocalToDevicePaths;
115
+ });
93
116
  }
94
- async chmodFiles(deviceProjectRoot, filesToChmodOnDevice) {
95
- const commandsDeviceFilePath = this.$mobileHelper.buildDevicePath(deviceProjectRoot, "nativescript.commands.sh");
96
- await this.createFileOnDevice(commandsDeviceFilePath, `chmod 0777 ${filesToChmodOnDevice.join(" ")}`);
97
- await this.adb.executeShellCommand([commandsDeviceFilePath]);
117
+ chmodFiles(deviceProjectRoot, filesToChmodOnDevice) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const commandsDeviceFilePath = this.$mobileHelper.buildDevicePath(deviceProjectRoot, "nativescript.commands.sh");
120
+ yield this.createFileOnDevice(commandsDeviceFilePath, `chmod 0777 ${filesToChmodOnDevice.join(" ")}`);
121
+ yield this.adb.executeShellCommand([commandsDeviceFilePath]);
122
+ });
98
123
  }
99
- async pushFiles(localToDevicePaths) {
100
- this.$logger.trace("Changed hashes are:", localToDevicePaths);
101
- const transferredFiles = [];
102
- const transferFileAction = async (localToDevicePathData) => {
103
- transferredFiles.push(localToDevicePathData);
104
- await this.transferFile(localToDevicePathData.getLocalPath(), localToDevicePathData.getDevicePath());
105
- };
106
- await (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, transferFileAction);
107
- return transferredFiles;
124
+ pushFiles(localToDevicePaths) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ this.$logger.trace("Changed hashes are:", localToDevicePaths);
127
+ const transferredFiles = [];
128
+ const transferFileAction = (localToDevicePathData) => __awaiter(this, void 0, void 0, function* () {
129
+ transferredFiles.push(localToDevicePathData);
130
+ yield this.transferFile(localToDevicePathData.getLocalPath(), localToDevicePathData.getDevicePath());
131
+ });
132
+ yield (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, transferFileAction);
133
+ return transferredFiles;
134
+ });
108
135
  }
109
- async transferFile(localPath, devicePath) {
110
- this.$logger.trace(`Transfering ${localPath} to ${devicePath}`);
111
- const stats = this.$fs.getFsStats(localPath);
112
- if (stats.isDirectory()) {
113
- await this.adb.executeShellCommand(["mkdir", path.dirname(devicePath)]);
114
- }
115
- else {
116
- await this.adb.pushFile(localPath, devicePath);
117
- }
136
+ transferFile(localPath, devicePath) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ this.$logger.trace(`Transfering ${localPath} to ${devicePath}`);
139
+ const stats = this.$fs.getFsStats(localPath);
140
+ if (stats.isDirectory()) {
141
+ yield this.adb.executeShellCommand(["mkdir", path.dirname(devicePath)]);
142
+ }
143
+ else {
144
+ yield this.adb.pushFile(localPath, devicePath);
145
+ }
146
+ });
118
147
  }
119
- async createFileOnDevice(deviceFilePath, fileContent) {
120
- const hostTmpDir = await this.$tempService.mkdirSync("application-");
121
- const commandsFileHostPath = path.join(hostTmpDir, "temp.commands.file");
122
- this.$fs.writeFile(commandsFileHostPath, fileContent);
123
- await this.transferFile(commandsFileHostPath, deviceFilePath);
124
- await this.adb.executeShellCommand(["chmod", "0777", deviceFilePath]);
148
+ createFileOnDevice(deviceFilePath, fileContent) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ const hostTmpDir = yield this.$tempService.mkdirSync("application-");
151
+ const commandsFileHostPath = path.join(hostTmpDir, "temp.commands.file");
152
+ this.$fs.writeFile(commandsFileHostPath, fileContent);
153
+ // copy it to the device
154
+ yield this.transferFile(commandsFileHostPath, deviceFilePath);
155
+ yield this.adb.executeShellCommand(["chmod", "0777", deviceFilePath]);
156
+ });
125
157
  }
126
- async deleteFile(deviceFilePath, appIdentifier) {
127
- await this.adb.executeShellCommand(["rm", "-rf", deviceFilePath]);
158
+ deleteFile(deviceFilePath, appIdentifier) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ yield this.adb.executeShellCommand(["rm", "-rf", deviceFilePath]);
161
+ });
128
162
  }
129
- async updateHashesOnDevice(hashes, appIdentifier) {
130
- const deviceHashService = this.getDeviceHashService(appIdentifier);
131
- await deviceHashService.uploadHashFileToDevice(hashes);
163
+ updateHashesOnDevice(hashes, appIdentifier) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const deviceHashService = this.getDeviceHashService(appIdentifier);
166
+ yield deviceHashService.uploadHashFileToDevice(hashes);
167
+ });
132
168
  }
133
169
  getDeviceHashService(appIdentifier) {
134
170
  if (!this._deviceHashServices[appIdentifier]) {
@@ -141,3 +177,4 @@ class AndroidDeviceFileSystem {
141
177
  }
142
178
  }
143
179
  exports.AndroidDeviceFileSystem = AndroidDeviceFileSystem;
180
+ //# sourceMappingURL=android-device-file-system.js.map
@@ -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.AndroidDeviceHashService = void 0;
10
19
  const path = require("path");
@@ -23,39 +32,51 @@ class AndroidDeviceHashService {
23
32
  get hashFileDevicePath() {
24
33
  return this.$mobileHelper.buildDevicePath(constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME, this.appIdentifier, AndroidDeviceHashService.HASH_FILE_NAME);
25
34
  }
26
- async doesShasumFileExistsOnDevice() {
27
- const lsResult = await this.adb.executeShellCommand([
28
- "ls",
29
- this.hashFileDevicePath,
30
- ]);
31
- return !!(lsResult && lsResult.trim() === this.hashFileDevicePath);
35
+ doesShasumFileExistsOnDevice() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const lsResult = yield this.adb.executeShellCommand([
38
+ "ls",
39
+ this.hashFileDevicePath,
40
+ ]);
41
+ return !!(lsResult && lsResult.trim() === this.hashFileDevicePath);
42
+ });
32
43
  }
33
- async getShasumsFromDevice() {
34
- const hashFileLocalPath = await this.downloadHashFileFromDevice();
35
- if (this.$fs.exists(hashFileLocalPath)) {
36
- return this.$fs.readJson(hashFileLocalPath);
37
- }
38
- return null;
44
+ getShasumsFromDevice() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const hashFileLocalPath = yield this.downloadHashFileFromDevice();
47
+ if (this.$fs.exists(hashFileLocalPath)) {
48
+ return this.$fs.readJson(hashFileLocalPath);
49
+ }
50
+ return null;
51
+ });
39
52
  }
40
- async uploadHashFileToDevice(data) {
41
- const hashFileLocalPath = await this.getHashFileLocalPath();
42
- this.$fs.writeJson(hashFileLocalPath, data);
43
- await this.adb.pushFile(hashFileLocalPath, this.hashFileDevicePath);
53
+ uploadHashFileToDevice(data) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const hashFileLocalPath = yield this.getHashFileLocalPath();
56
+ this.$fs.writeJson(hashFileLocalPath, data);
57
+ yield this.adb.pushFile(hashFileLocalPath, this.hashFileDevicePath);
58
+ });
44
59
  }
45
- async updateHashes(localToDevicePaths) {
46
- const oldShasums = (await this.getShasumsFromDevice()) || {};
47
- await this.generateHashesFromLocalToDevicePaths(localToDevicePaths, oldShasums);
48
- await this.uploadHashFileToDevice(oldShasums);
60
+ updateHashes(localToDevicePaths) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const oldShasums = (yield this.getShasumsFromDevice()) || {};
63
+ yield this.generateHashesFromLocalToDevicePaths(localToDevicePaths, oldShasums);
64
+ yield this.uploadHashFileToDevice(oldShasums);
65
+ });
49
66
  }
50
- async generateHashesFromLocalToDevicePaths(localToDevicePaths, initialShasums = {}) {
51
- const action = async (localToDevicePathData) => {
52
- const localPath = localToDevicePathData.getLocalPath();
53
- if (this.$fs.getFsStats(localPath).isFile()) {
54
- initialShasums[localPath] = await this.$fs.getFileShasum(localPath);
55
- }
56
- };
57
- await (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
58
- return initialShasums;
67
+ generateHashesFromLocalToDevicePaths(localToDevicePaths, initialShasums = {}) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const action = (localToDevicePathData) => __awaiter(this, void 0, void 0, function* () {
70
+ const localPath = localToDevicePathData.getLocalPath();
71
+ if (this.$fs.getFsStats(localPath).isFile()) {
72
+ // TODO: Use relative to project path for key
73
+ // This will speed up livesync on the same device for the same project on different PCs.
74
+ initialShasums[localPath] = yield this.$fs.getFileShasum(localPath);
75
+ }
76
+ });
77
+ yield (0, helpers_1.executeActionByChunks)(localToDevicePaths, constants_1.DEFAULT_CHUNK_SIZE, action);
78
+ return initialShasums;
79
+ });
59
80
  }
60
81
  getDevicePaths(localToDevicePaths) {
61
82
  return _.map(localToDevicePaths, (localToDevicePathData) => {
@@ -68,34 +89,39 @@ class AndroidDeviceHashService {
68
89
  }
69
90
  return _.omitBy(currentShasums, (hash, pathToFile) => !!oldShasums[pathToFile] && oldShasums[pathToFile] === hash);
70
91
  }
71
- async removeHashes(localToDevicePaths) {
72
- const oldShasums = await this.getShasumsFromDevice();
73
- if (oldShasums) {
74
- const fileToShasumDictionary = _.omit(oldShasums, localToDevicePaths.map((ldp) => ldp.getLocalPath()));
75
- await this.uploadHashFileToDevice(fileToShasumDictionary);
76
- return true;
77
- }
78
- return false;
92
+ removeHashes(localToDevicePaths) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ const oldShasums = yield this.getShasumsFromDevice();
95
+ if (oldShasums) {
96
+ const fileToShasumDictionary = _.omit(oldShasums, localToDevicePaths.map((ldp) => ldp.getLocalPath()));
97
+ yield this.uploadHashFileToDevice(fileToShasumDictionary);
98
+ return true;
99
+ }
100
+ return false;
101
+ });
79
102
  }
80
- async getHashFileLocalPath() {
81
- return path.join(await this.getTempDir(), AndroidDeviceHashService.HASH_FILE_NAME);
103
+ getHashFileLocalPath() {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ return path.join(yield this.getTempDir(), AndroidDeviceHashService.HASH_FILE_NAME);
106
+ });
82
107
  }
83
108
  getTempDir() {
84
109
  return this.$tempService.mkdirSync(`android-device-hash-service-${this.appIdentifier}`);
85
110
  }
86
- async downloadHashFileFromDevice() {
87
- const hashFileLocalPath = await this.getHashFileLocalPath();
88
- if (!this.$fs.exists(hashFileLocalPath)) {
89
- await this.adb.executeCommand([
90
- "pull",
91
- this.hashFileDevicePath,
92
- await this.getTempDir(),
93
- ]);
94
- }
95
- return hashFileLocalPath;
111
+ downloadHashFileFromDevice() {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const hashFileLocalPath = yield this.getHashFileLocalPath();
114
+ if (!this.$fs.exists(hashFileLocalPath)) {
115
+ yield this.adb.executeCommand([
116
+ "pull",
117
+ this.hashFileDevicePath,
118
+ yield this.getTempDir(),
119
+ ]);
120
+ }
121
+ return hashFileLocalPath;
122
+ });
96
123
  }
97
124
  }
98
- exports.AndroidDeviceHashService = AndroidDeviceHashService;
99
125
  AndroidDeviceHashService.HASH_FILE_NAME = "hashes";
100
126
  __decorate([
101
127
  (0, decorators_1.cache)()
@@ -106,3 +132,5 @@ __decorate([
106
132
  __decorate([
107
133
  (0, decorators_1.cache)()
108
134
  ], AndroidDeviceHashService.prototype, "getTempDir", null);
135
+ exports.AndroidDeviceHashService = AndroidDeviceHashService;
136
+ //# sourceMappingURL=android-device-hash-service.js.map
@@ -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.AndroidDevice = void 0;
10
19
  const device_android_debug_bridge_1 = require("./device-android-debug-bridge");
@@ -24,44 +33,48 @@ class AndroidDevice {
24
33
  this.$logcatHelper = $logcatHelper;
25
34
  this.$injector = $injector;
26
35
  }
27
- async init() {
28
- this.adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
29
- identifier: this.identifier,
36
+ init() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ this.adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
39
+ identifier: this.identifier,
40
+ });
41
+ this.applicationManager = this.$injector.resolve(applicationManagerPath.AndroidApplicationManager, { adb: this.adb, identifier: this.identifier });
42
+ this.fileSystem = this.$injector.resolve(fileSystemPath.AndroidDeviceFileSystem, { adb: this.adb });
43
+ let details = yield this.getDeviceDetails(["getprop"]);
44
+ if (!details || !details.name) {
45
+ // In older CLI versions we are calling cat /system/build.prop to get details.
46
+ // Keep this logic for compatibility and possibly for devices for which getprop is not working
47
+ details = yield this.getDeviceDetails(["cat", "/system/build.prop"]);
48
+ }
49
+ this.$logger.trace(details);
50
+ const adbStatusInfo = AndroidDevice.ADB_DEVICE_STATUS_INFO[this.status];
51
+ const type = yield this.getType();
52
+ let version = details.release;
53
+ if (version && version.toLowerCase() === "q") {
54
+ version = "10.0.0";
55
+ }
56
+ this.deviceInfo = {
57
+ identifier: this.identifier,
58
+ displayName: details.name,
59
+ model: details.model,
60
+ version,
61
+ vendor: details.brand,
62
+ platform: this.$devicePlatformsConstants.Android,
63
+ status: adbStatusInfo ? adbStatusInfo.deviceStatus : this.status,
64
+ errorHelp: adbStatusInfo ? adbStatusInfo.errorHelp : "Unknown status",
65
+ isTablet: this.getIsTablet(details),
66
+ type,
67
+ connectionTypes: [constants_1.DeviceConnectionType.Local],
68
+ };
69
+ this.deviceInfo.connectionTypes = this.isEmulator
70
+ ? [constants_1.DeviceConnectionType.Local]
71
+ : [constants_1.DeviceConnectionType.USB];
72
+ if (this.isEmulator) {
73
+ this.deviceInfo.displayName = yield this.$androidEmulatorServices.getRunningEmulatorName(this.identifier);
74
+ this.deviceInfo.imageIdentifier = yield this.$androidEmulatorServices.getRunningEmulatorImageIdentifier(this.identifier);
75
+ }
76
+ this.$logger.trace(this.deviceInfo);
30
77
  });
31
- this.applicationManager = this.$injector.resolve(applicationManagerPath.AndroidApplicationManager, { adb: this.adb, identifier: this.identifier });
32
- this.fileSystem = this.$injector.resolve(fileSystemPath.AndroidDeviceFileSystem, { adb: this.adb });
33
- let details = await this.getDeviceDetails(["getprop"]);
34
- if (!details || !details.name) {
35
- details = await this.getDeviceDetails(["cat", "/system/build.prop"]);
36
- }
37
- this.$logger.trace(details);
38
- const adbStatusInfo = AndroidDevice.ADB_DEVICE_STATUS_INFO[this.status];
39
- const type = await this.getType();
40
- let version = details.release;
41
- if (version && version.toLowerCase() === "q") {
42
- version = "10.0.0";
43
- }
44
- this.deviceInfo = {
45
- identifier: this.identifier,
46
- displayName: details.name,
47
- model: details.model,
48
- version,
49
- vendor: details.brand,
50
- platform: this.$devicePlatformsConstants.Android,
51
- status: adbStatusInfo ? adbStatusInfo.deviceStatus : this.status,
52
- errorHelp: adbStatusInfo ? adbStatusInfo.errorHelp : "Unknown status",
53
- isTablet: this.getIsTablet(details),
54
- type,
55
- connectionTypes: [constants_1.DeviceConnectionType.Local],
56
- };
57
- this.deviceInfo.connectionTypes = this.isEmulator
58
- ? [constants_1.DeviceConnectionType.Local]
59
- : [constants_1.DeviceConnectionType.USB];
60
- if (this.isEmulator) {
61
- this.deviceInfo.displayName = await this.$androidEmulatorServices.getRunningEmulatorName(this.identifier);
62
- this.deviceInfo.imageIdentifier = await this.$androidEmulatorServices.getRunningEmulatorImageIdentifier(this.identifier);
63
- }
64
- this.$logger.trace(this.deviceInfo);
65
78
  }
66
79
  get isEmulator() {
67
80
  return this.deviceInfo.type === constants.DeviceTypes.Emulator;
@@ -69,51 +82,61 @@ class AndroidDevice {
69
82
  get isOnlyWiFiConnected() {
70
83
  return false;
71
84
  }
72
- async openDeviceLogStream() {
73
- if (this.deviceInfo.status === constants.CONNECTED_STATUS) {
74
- await this.$logcatHelper.start({
75
- deviceIdentifier: this.identifier,
76
- keepSingleProcess: true,
77
- });
78
- }
85
+ openDeviceLogStream() {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ if (this.deviceInfo.status === constants.CONNECTED_STATUS) {
88
+ yield this.$logcatHelper.start({
89
+ deviceIdentifier: this.identifier,
90
+ keepSingleProcess: true,
91
+ });
92
+ }
93
+ });
79
94
  }
80
95
  detach() {
81
96
  if (this.isEmulator) {
82
97
  this.$androidEmulatorServices.detach(this.deviceInfo);
83
98
  }
84
99
  }
85
- async getDeviceDetails(shellCommandArgs) {
86
- const parsedDetails = {};
87
- this.$logger.trace(`Trying to get information for Android device. Command is: ${shellCommandArgs}`);
88
- try {
89
- const details = await this.adb.executeShellCommand(shellCommandArgs);
90
- details.split(/\r?\n|\r/).forEach((value) => {
91
- const match = /(?:\[?ro\.build\.version|ro\.product|ro\.build)\.(.+?)]?(?:\:|=)(?:\s*?\[)?(.*?)]?$/.exec(value);
92
- if (match) {
93
- parsedDetails[match[1]] = match[2];
94
- }
95
- });
96
- }
97
- catch (err) {
98
- this.$logger.trace(`Error while getting details from Android device. Command is: ${shellCommandArgs}. Error is: ${err}`);
99
- }
100
- this.$logger.trace(parsedDetails);
101
- return parsedDetails;
100
+ getDeviceDetails(shellCommandArgs) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const parsedDetails = {};
103
+ this.$logger.trace(`Trying to get information for Android device. Command is: ${shellCommandArgs}`);
104
+ try {
105
+ const details = yield this.adb.executeShellCommand(shellCommandArgs);
106
+ details.split(/\r?\n|\r/).forEach((value) => {
107
+ // sample line is "ro.build.version.release=4.4" in /system/build.prop
108
+ // sample line from getprop is: [ro.build.version.release]: [6.0]
109
+ // NOTE: some props do not have value: [ro.build.version.base_os]: []
110
+ const match = /(?:\[?ro\.build\.version|ro\.product|ro\.build)\.(.+?)]?(?:\:|=)(?:\s*?\[)?(.*?)]?$/.exec(value);
111
+ if (match) {
112
+ parsedDetails[match[1]] = match[2];
113
+ }
114
+ });
115
+ }
116
+ catch (err) {
117
+ this.$logger.trace(`Error while getting details from Android device. Command is: ${shellCommandArgs}. Error is: ${err}`);
118
+ }
119
+ this.$logger.trace(parsedDetails);
120
+ return parsedDetails;
121
+ });
102
122
  }
103
123
  getIsTablet(details) {
124
+ //version 3.x.x (also known as Honeycomb) is a tablet only version
104
125
  return (details &&
105
126
  (_.startsWith(details.release, "3.") ||
106
127
  _.includes((details.characteristics || "").toLowerCase(), "tablet")));
107
128
  }
108
- async getType() {
109
- const runningEmulatorIds = await this.$androidEmulatorServices.getRunningEmulatorIds();
110
- if (_.find(runningEmulatorIds, (emulatorId) => emulatorId === this.identifier)) {
111
- return constants.DeviceTypes.Emulator;
112
- }
113
- return constants.DeviceTypes.Device;
129
+ getType() {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ const runningEmulatorIds = yield this.$androidEmulatorServices.getRunningEmulatorIds();
132
+ if (_.find(runningEmulatorIds, (emulatorId) => emulatorId === this.identifier)) {
133
+ return constants.DeviceTypes.Emulator;
134
+ }
135
+ return constants.DeviceTypes.Device;
136
+ });
114
137
  }
115
138
  }
116
- exports.AndroidDevice = AndroidDevice;
139
+ // http://stackoverflow.com/questions/31178195/what-does-adb-device-status-mean
117
140
  AndroidDevice.ADB_DEVICE_STATUS_INFO = {
118
141
  device: {
119
142
  errorHelp: null,
@@ -139,3 +162,5 @@ AndroidDevice.ADB_DEVICE_STATUS_INFO = {
139
162
  __decorate([
140
163
  (0, decorators_1.cache)()
141
164
  ], AndroidDevice.prototype, "init", null);
165
+ exports.AndroidDevice = AndroidDevice;
166
+ //# sourceMappingURL=android-device.js.map