nativescript 8.9.0-alpha.3 → 8.9.0-dev.1

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 (342) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +210 -229
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +11 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +44 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +150 -200
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +163 -199
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +22 -35
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +47 -51
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +49 -64
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  281. package/node_modules/@npmcli/move-file/package.json +0 -47
  282. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  283. package/node_modules/balanced-match/LICENSE.md +0 -21
  284. package/node_modules/balanced-match/README.md +0 -97
  285. package/node_modules/balanced-match/index.js +0 -62
  286. package/node_modules/balanced-match/package.json +0 -48
  287. package/node_modules/concat-map/.travis.yml +0 -4
  288. package/node_modules/concat-map/LICENSE +0 -18
  289. package/node_modules/concat-map/README.markdown +0 -62
  290. package/node_modules/concat-map/example/map.js +0 -6
  291. package/node_modules/concat-map/index.js +0 -13
  292. package/node_modules/concat-map/package.json +0 -43
  293. package/node_modules/concat-map/test/map.js +0 -39
  294. package/node_modules/fs.realpath/LICENSE +0 -43
  295. package/node_modules/fs.realpath/README.md +0 -33
  296. package/node_modules/fs.realpath/index.js +0 -66
  297. package/node_modules/fs.realpath/old.js +0 -303
  298. package/node_modules/fs.realpath/package.json +0 -26
  299. package/node_modules/inflight/LICENSE +0 -15
  300. package/node_modules/inflight/README.md +0 -37
  301. package/node_modules/inflight/inflight.js +0 -54
  302. package/node_modules/inflight/package.json +0 -29
  303. package/node_modules/inherits/LICENSE +0 -16
  304. package/node_modules/inherits/README.md +0 -42
  305. package/node_modules/inherits/inherits.js +0 -9
  306. package/node_modules/inherits/inherits_browser.js +0 -27
  307. package/node_modules/inherits/package.json +0 -29
  308. package/node_modules/once/LICENSE +0 -15
  309. package/node_modules/once/README.md +0 -79
  310. package/node_modules/once/once.js +0 -42
  311. package/node_modules/once/package.json +0 -33
  312. package/node_modules/path-is-absolute/index.js +0 -20
  313. package/node_modules/path-is-absolute/license +0 -21
  314. package/node_modules/path-is-absolute/package.json +0 -43
  315. package/node_modules/path-is-absolute/readme.md +0 -59
  316. package/node_modules/rimraf/LICENSE +0 -15
  317. package/node_modules/rimraf/README.md +0 -101
  318. package/node_modules/rimraf/bin.js +0 -68
  319. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  320. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  321. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  322. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  323. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  324. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  325. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  326. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  327. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  328. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  329. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  330. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  331. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  332. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  333. package/node_modules/rimraf/package.json +0 -32
  334. package/node_modules/rimraf/rimraf.js +0 -360
  335. package/node_modules/stringify-package/LICENSE +0 -13
  336. package/node_modules/stringify-package/README.md +0 -55
  337. package/node_modules/stringify-package/index.js +0 -18
  338. package/node_modules/stringify-package/package.json +0 -38
  339. package/node_modules/wrappy/LICENSE +0 -15
  340. package/node_modules/wrappy/README.md +0 -36
  341. package/node_modules/wrappy/package.json +0 -29
  342. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.UpdateControllerBase = void 0;
13
4
  const path = require("path");
@@ -58,27 +49,23 @@ class UpdateControllerBase {
58
49
  const currentPlatformVersion = this.$platformCommandHelper.getCurrentPlatformVersion(lowercasePlatform, projectData);
59
50
  return !!currentPlatformVersion;
60
51
  }
61
- getMaxRuntimeVersion({ platform, projectData, }) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- const lowercasePlatform = platform.toLowerCase();
64
- const currentPlatformVersion = this.$platformCommandHelper.getCurrentPlatformVersion(lowercasePlatform, projectData);
65
- const platformData = this.$platformsDataService.getPlatformData(lowercasePlatform, projectData);
66
- if (currentPlatformVersion) {
67
- return ((yield this.$packageInstallationManager.getMaxSatisfyingVersionSafe(platformData.frameworkPackageName, currentPlatformVersion)) || currentPlatformVersion);
68
- }
69
- });
52
+ async getMaxRuntimeVersion({ platform, projectData, }) {
53
+ const lowercasePlatform = platform.toLowerCase();
54
+ const currentPlatformVersion = this.$platformCommandHelper.getCurrentPlatformVersion(lowercasePlatform, projectData);
55
+ const platformData = this.$platformsDataService.getPlatformData(lowercasePlatform, projectData);
56
+ if (currentPlatformVersion) {
57
+ return ((await this.$packageInstallationManager.getMaxSatisfyingVersionSafe(platformData.frameworkPackageName, currentPlatformVersion)) || currentPlatformVersion);
58
+ }
70
59
  }
71
- _getPackageManifest(templateName, version) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- const packageVersion = semver.valid(version) ||
74
- (yield this.$packageManager.getTagVersion(templateName, version));
75
- if (packageVersion && semver.valid(packageVersion)) {
76
- return yield this.$pacoteService.manifest(`${templateName}@${packageVersion}`, { fullMetadata: true });
77
- }
78
- else {
79
- throw new Error(`Failed to get information for package: ${templateName}@${version}`);
80
- }
81
- });
60
+ async _getPackageManifest(templateName, version) {
61
+ const packageVersion = semver.valid(version) ||
62
+ (await this.$packageManager.getTagVersion(templateName, version));
63
+ if (packageVersion && semver.valid(packageVersion)) {
64
+ return await this.$pacoteService.manifest(`${templateName}@${packageVersion}`, { fullMetadata: true });
65
+ }
66
+ else {
67
+ throw new Error(`Failed to get information for package: ${templateName}@${version}`);
68
+ }
82
69
  }
83
70
  }
84
71
  exports.UpdateControllerBase = UpdateControllerBase;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.UpdateController = void 0;
13
4
  const semver = require("semver");
@@ -33,127 +24,112 @@ class UpdateController extends update_controller_base_1.UpdateControllerBase {
33
24
  this.$projectCleanupService = $projectCleanupService;
34
25
  this.$terminalSpinnerService = $terminalSpinnerService;
35
26
  }
36
- update(updateOptions) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- this.spinner = this.$terminalSpinnerService.createSpinner();
39
- const projectData = this.$projectDataService.getProjectData(updateOptions.projectDir);
40
- updateOptions.version = updateOptions.version || constants_1.PackageVersion.LATEST;
41
- this.spinner.info("Backing up project files before update");
42
- yield this.backupProject();
43
- this.spinner.succeed("Project files have been backed up");
44
- this.spinner.info("Cleaning up project files before update");
45
- yield this.cleanUpProject();
46
- this.spinner.succeed("Project files have been cleaned up");
47
- this.spinner.info("Updating project dependencies");
48
- yield this.updateDependencies(projectData, updateOptions.version);
49
- this.spinner.succeed("Project dependencies have been updated");
50
- this.spinner.succeed("Update complete.");
51
- this.$logger.info("");
52
- this.$logger.printMarkdown("Project has been successfully updated. The next step is to run `ns run <platform>` to ensure everything is working properly." +
53
- "\n\nPlease note that you may need additional changes to complete the update.");
54
- });
27
+ async update(updateOptions) {
28
+ this.spinner = this.$terminalSpinnerService.createSpinner();
29
+ const projectData = this.$projectDataService.getProjectData(updateOptions.projectDir);
30
+ updateOptions.version = updateOptions.version || constants_1.PackageVersion.LATEST;
31
+ this.spinner.info("Backing up project files before update");
32
+ await this.backupProject();
33
+ this.spinner.succeed("Project files have been backed up");
34
+ this.spinner.info("Cleaning up project files before update");
35
+ await this.cleanUpProject();
36
+ this.spinner.succeed("Project files have been cleaned up");
37
+ this.spinner.info("Updating project dependencies");
38
+ await this.updateDependencies(projectData, updateOptions.version);
39
+ this.spinner.succeed("Project dependencies have been updated");
40
+ this.spinner.succeed("Update complete.");
41
+ this.$logger.info("");
42
+ this.$logger.printMarkdown("Project has been successfully updated. The next step is to run `ns run <platform>` to ensure everything is working properly." +
43
+ "\n\nPlease note that you may need additional changes to complete the update.");
55
44
  }
56
- shouldUpdate(updateOptions) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const projectData = this.$projectDataService.getProjectData(updateOptions.projectDir);
59
- updateOptions.version = updateOptions.version || constants_1.PackageVersion.LATEST;
60
- for (const dependency of UpdateController.updatableDependencies) {
61
- this.$logger.trace(`Checking if ${dependency.packageName} needs to be updated...`);
62
- const desiredVersion = yield this.getVersionFromTagOrVersion(dependency.packageName, updateOptions.version);
63
- if (typeof desiredVersion === "boolean") {
64
- this.$logger.trace(`Package ${dependency.packageName} does not have version/tag ${updateOptions.version}. Skipping.`);
65
- continue;
66
- }
67
- const shouldUpdate = yield this.shouldUpdateDependency(projectData, dependency, desiredVersion);
68
- if (shouldUpdate) {
69
- this.$logger.trace(`shouldUpdate is true because '${dependency.packageName} needs to be updated.'`);
70
- return true;
71
- }
72
- }
73
- return false;
74
- });
75
- }
76
- updateDependencies(projectData, version) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- for (const dependency of UpdateController.updatableDependencies) {
79
- yield this.updateDependency(projectData, dependency, version);
80
- }
81
- });
82
- }
83
- updateDependency(projectData, dependency, version) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- if (!this.hasDependency(dependency, projectData)) {
86
- return;
87
- }
88
- const desiredVersion = yield this.getVersionFromTagOrVersion(dependency.packageName, version);
45
+ async shouldUpdate(updateOptions) {
46
+ const projectData = this.$projectDataService.getProjectData(updateOptions.projectDir);
47
+ updateOptions.version = updateOptions.version || constants_1.PackageVersion.LATEST;
48
+ for (const dependency of UpdateController.updatableDependencies) {
49
+ this.$logger.trace(`Checking if ${dependency.packageName} needs to be updated...`);
50
+ const desiredVersion = await this.getVersionFromTagOrVersion(dependency.packageName, updateOptions.version);
89
51
  if (typeof desiredVersion === "boolean") {
90
- this.$logger.info(` - ${color_1.color.yellow(dependency.packageName)} does not have version/tag ${color_1.color.green(version)}. ` +
91
- color_1.color.yellow("Skipping."));
92
- return;
52
+ this.$logger.trace(`Package ${dependency.packageName} does not have version/tag ${updateOptions.version}. Skipping.`);
53
+ continue;
93
54
  }
94
- const shouldUpdate = yield this.shouldUpdateDependency(projectData, dependency, desiredVersion);
95
- if (!shouldUpdate) {
96
- return;
55
+ const shouldUpdate = await this.shouldUpdateDependency(projectData, dependency, desiredVersion);
56
+ if (shouldUpdate) {
57
+ this.$logger.trace(`shouldUpdate is true because '${dependency.packageName} needs to be updated.'`);
58
+ return true;
97
59
  }
98
- const updatedVersion = (() => {
99
- if (desiredVersion === version) {
100
- return desiredVersion;
101
- }
102
- if (semver.coerce(desiredVersion).version === desiredVersion) {
103
- return `~${desiredVersion}`;
104
- }
105
- return desiredVersion;
106
- })();
107
- this.$pluginsService.addToPackageJson(dependency.packageName, updatedVersion, dependency.isDev, projectData.projectDir);
108
- this.$logger.info(` - ${color_1.color.yellow(dependency.packageName)} has been updated to ${color_1.color.green(updatedVersion)}`);
109
- });
60
+ }
61
+ return false;
110
62
  }
111
- shouldUpdateDependency(projectData, dependency, desiredVersion) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- const installedVersion = yield this.$packageInstallationManager.getInstalledDependencyVersion(dependency.packageName, projectData.projectDir);
114
- if (!installedVersion) {
115
- return false;
116
- }
117
- return installedVersion != desiredVersion;
118
- });
63
+ async updateDependencies(projectData, version) {
64
+ for (const dependency of UpdateController.updatableDependencies) {
65
+ await this.updateDependency(projectData, dependency, version);
66
+ }
119
67
  }
120
- getVersionFromTagOrVersion(packageName, versionOrTag) {
121
- return __awaiter(this, void 0, void 0, function* () {
122
- if (semver.valid(versionOrTag) || semver.validRange(versionOrTag)) {
123
- return versionOrTag;
68
+ async updateDependency(projectData, dependency, version) {
69
+ if (!this.hasDependency(dependency, projectData)) {
70
+ return;
71
+ }
72
+ const desiredVersion = await this.getVersionFromTagOrVersion(dependency.packageName, version);
73
+ if (typeof desiredVersion === "boolean") {
74
+ this.$logger.info(` - ${color_1.color.yellow(dependency.packageName)} does not have version/tag ${color_1.color.green(version)}. ` +
75
+ color_1.color.yellow("Skipping."));
76
+ return;
77
+ }
78
+ const shouldUpdate = await this.shouldUpdateDependency(projectData, dependency, desiredVersion);
79
+ if (!shouldUpdate) {
80
+ return;
81
+ }
82
+ const updatedVersion = (() => {
83
+ if (desiredVersion === version) {
84
+ return desiredVersion;
124
85
  }
125
- const version = yield this.$packageManager.getTagVersion(packageName, versionOrTag);
126
- if (!version) {
127
- return false;
86
+ if (semver.coerce(desiredVersion).version === desiredVersion) {
87
+ return `~${desiredVersion}`;
128
88
  }
129
- return version;
130
- });
89
+ return desiredVersion;
90
+ })();
91
+ this.$pluginsService.addToPackageJson(dependency.packageName, updatedVersion, dependency.isDev, projectData.projectDir);
92
+ this.$logger.info(` - ${color_1.color.yellow(dependency.packageName)} has been updated to ${color_1.color.green(updatedVersion)}`);
131
93
  }
132
- backupProject() {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- const backup = this.$projectBackupService.getBackup("migration");
135
- backup.addPaths([...UpdateController.pathsToBackup]);
136
- try {
137
- return backup.create();
138
- }
139
- catch (error) {
140
- this.spinner.fail(`Project backup failed.`);
141
- backup.remove();
142
- this.$errors.fail(`Project backup failed. Error is: ${error.message}`);
143
- }
144
- });
94
+ async shouldUpdateDependency(projectData, dependency, desiredVersion) {
95
+ const installedVersion = await this.$packageInstallationManager.getInstalledDependencyVersion(dependency.packageName, projectData.projectDir);
96
+ if (!installedVersion) {
97
+ return false;
98
+ }
99
+ return installedVersion != desiredVersion;
100
+ }
101
+ async getVersionFromTagOrVersion(packageName, versionOrTag) {
102
+ if (semver.valid(versionOrTag) || semver.validRange(versionOrTag)) {
103
+ return versionOrTag;
104
+ }
105
+ const version = await this.$packageManager.getTagVersion(packageName, versionOrTag);
106
+ if (!version) {
107
+ return false;
108
+ }
109
+ return version;
110
+ }
111
+ async backupProject() {
112
+ const backup = this.$projectBackupService.getBackup("migration");
113
+ backup.addPaths([...UpdateController.pathsToBackup]);
114
+ try {
115
+ return backup.create();
116
+ }
117
+ catch (error) {
118
+ this.spinner.fail(`Project backup failed.`);
119
+ backup.remove();
120
+ this.$errors.fail(`Project backup failed. Error is: ${error.message}`);
121
+ }
145
122
  }
146
- cleanUpProject() {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- yield this.$projectCleanupService.clean([
149
- constants.HOOKS_DIR_NAME,
150
- constants.PLATFORMS_DIR_NAME,
151
- constants.NODE_MODULES_FOLDER_NAME,
152
- constants.PACKAGE_LOCK_JSON_FILE_NAME,
153
- ]);
154
- });
123
+ async cleanUpProject() {
124
+ await this.$projectCleanupService.clean([
125
+ constants.HOOKS_DIR_NAME,
126
+ constants.PLATFORMS_DIR_NAME,
127
+ constants.NODE_MODULES_FOLDER_NAME,
128
+ constants.PACKAGE_LOCK_JSON_FILE_NAME,
129
+ ]);
155
130
  }
156
131
  }
132
+ exports.UpdateController = UpdateController;
157
133
  UpdateController.updatableDependencies = [
158
134
  {
159
135
  packageName: "@nativescript/core",
@@ -184,5 +160,4 @@ UpdateController.pathsToBackup = [
184
160
  constants.PACKAGE_LOCK_JSON_FILE_NAME,
185
161
  constants.CONFIG_NS_FILE_NAME,
186
162
  ];
187
- exports.UpdateController = UpdateController;
188
163
  yok_1.injector.register("updateController", UpdateController);
@@ -24,7 +24,10 @@ class PrepareData extends controller_data_base_1.ControllerDataBase {
24
24
  }
25
25
  this.release = data.release;
26
26
  this.hmr = data.hmr || data.useHotModuleReload;
27
- this.env = Object.assign(Object.assign({}, env), { hmr: data.hmr || data.useHotModuleReload });
27
+ this.env = {
28
+ ...env,
29
+ hmr: data.hmr || data.useHotModuleReload,
30
+ };
28
31
  this.watch = data.watch;
29
32
  if (_.isBoolean(data.watchNative)) {
30
33
  this.watchNative = data.watchNative;
@@ -41,8 +41,18 @@ declare global {
41
41
  ): Promise<string>;
42
42
  }
43
43
 
44
+ type IosSPMPackage = IosSPMPackageDefinition & { targets?: string[] };
45
+
44
46
  interface ISPMService {
45
- applySPMPackages(platformData: IPlatformData, projectData: IProjectData);
47
+ applySPMPackages(
48
+ platformData: IPlatformData,
49
+ projectData: IProjectData,
50
+ pluginSpmPackages?: IosSPMPackage[]
51
+ );
52
+ getSPMPackages(
53
+ projectData: IProjectData,
54
+ platform: string
55
+ ): IosSPMPackage[];
46
56
  }
47
57
 
48
58
  interface IXcodebuildArgsService {
@@ -1,14 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
3
  Object.defineProperty(exports, "__esModule", { value: true });
13
4
  const fs = require("fs");
14
5
  const uuid_1 = require("uuid");
@@ -41,14 +32,14 @@ catch (err) {
41
32
  const logMessage = (msg, type) => {
42
33
  fileLogService.logData({ message: `[${uniqueId}] ${msg}`, type });
43
34
  };
44
- (() => __awaiter(void 0, void 0, void 0, function* () {
35
+ (async () => {
45
36
  try {
46
37
  logMessage(`Requiring file ${jsFilePath}`);
47
38
  const func = require(jsFilePath);
48
39
  if (func && typeof func === "function") {
49
40
  try {
50
41
  logMessage(`Passing data: ${JSON.stringify(data)} to the default function exported by currently required file ${jsFilePath}`);
51
- yield func(data);
42
+ await func(data);
52
43
  logMessage(`Finished execution with data: ${JSON.stringify(data)} to the default function exported by currently required file ${jsFilePath}`);
53
44
  }
54
45
  catch (err) {
@@ -59,4 +50,4 @@ const logMessage = (msg, type) => {
59
50
  catch (err) {
60
51
  logMessage(`Unable to require file: ${jsFilePath}. Error is: ${err}.`, "Error");
61
52
  }
62
- }))();
53
+ })();
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const fs = require("fs");
13
4
  const path = require("path");
@@ -29,13 +20,13 @@ const commandsInfos = [];
29
20
  const filesToDelete = [];
30
21
  const jsCommands = [];
31
22
  const requests = [];
32
- const executeRequest = (request) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const executeRequest = async (request) => {
33
24
  const $httpClient = yok_1.injector.resolve("httpClient");
34
25
  try {
35
26
  fileLogService.logData({
36
27
  message: `Start executing request: ${request.method} ${request.url}`,
37
28
  });
38
- const response = yield $httpClient.httpRequest({
29
+ const response = await $httpClient.httpRequest({
39
30
  url: request.url,
40
31
  method: request.method,
41
32
  headers: request.headers,
@@ -51,14 +42,14 @@ const executeRequest = (request) => __awaiter(void 0, void 0, void 0, function*
51
42
  message: `Unable to execute request: ${request.method} ${request.url}`,
52
43
  });
53
44
  }
54
- });
55
- const executeJSCleanup = (jsCommand) => __awaiter(void 0, void 0, void 0, function* () {
45
+ };
46
+ const executeJSCleanup = async (jsCommand) => {
56
47
  const $childProcess = yok_1.injector.resolve("childProcess");
57
48
  try {
58
49
  fileLogService.logData({
59
50
  message: `Start executing action for file: ${jsCommand.filePath} and data ${JSON.stringify(jsCommand.data)}`,
60
51
  });
61
- yield $childProcess.trySpawnFromCloseEvent(process.execPath, [
52
+ await $childProcess.trySpawnFromCloseEvent(process.execPath, [
62
53
  path.join(__dirname, "cleanup-js-subprocess.js"),
63
54
  pathToBootstrap,
64
55
  logFile,
@@ -75,21 +66,21 @@ const executeJSCleanup = (jsCommand) => __awaiter(void 0, void 0, void 0, functi
75
66
  type: "Error",
76
67
  });
77
68
  }
78
- });
79
- const executeCleanup = () => __awaiter(void 0, void 0, void 0, function* () {
69
+ };
70
+ const executeCleanup = async () => {
80
71
  const $childProcess = yok_1.injector.resolve("childProcess");
81
72
  for (const request of requests) {
82
- yield executeRequest(request);
73
+ await executeRequest(request);
83
74
  }
84
75
  for (const jsCommand of jsCommands) {
85
- yield executeJSCleanup(jsCommand);
76
+ await executeJSCleanup(jsCommand);
86
77
  }
87
78
  for (const commandInfo of commandsInfos) {
88
79
  try {
89
80
  fileLogService.logData({
90
81
  message: `Start executing command: ${JSON.stringify(commandInfo)}`,
91
82
  });
92
- yield $childProcess.trySpawnFromCloseEvent(commandInfo.command, commandInfo.args, commandInfo.options || {}, { throwError: true, timeout: commandInfo.timeout || 3000 });
83
+ await $childProcess.trySpawnFromCloseEvent(commandInfo.command, commandInfo.args, commandInfo.options || {}, { throwError: true, timeout: commandInfo.timeout || 3000 });
93
84
  fileLogService.logData({
94
85
  message: `Successfully executed command: ${JSON.stringify(commandInfo)}`,
95
86
  });
@@ -117,7 +108,7 @@ const executeCleanup = () => __awaiter(void 0, void 0, void 0, function* () {
117
108
  }
118
109
  fileLogService.logData({ message: `cleanup-process finished` });
119
110
  process.exit();
120
- });
111
+ };
121
112
  const addCleanupAction = (commandInfo) => {
122
113
  if (_.some(commandsInfos, (currentCommandInfo) => _.isEqual(currentCommandInfo, commandInfo))) {
123
114
  fileLogService.logData({
@@ -228,7 +219,7 @@ const removeJSFile = (jsCommand) => {
228
219
  });
229
220
  }
230
221
  };
231
- process.on("message", (cleanupProcessMessage) => __awaiter(void 0, void 0, void 0, function* () {
222
+ process.on("message", async (cleanupProcessMessage) => {
232
223
  fileLogService.logData({
233
224
  message: `cleanup-process received message of type: ${JSON.stringify(cleanupProcessMessage)}`,
234
225
  });
@@ -266,15 +257,15 @@ process.on("message", (cleanupProcessMessage) => __awaiter(void 0, void 0, void
266
257
  });
267
258
  break;
268
259
  }
269
- }));
270
- process.on("disconnect", () => __awaiter(void 0, void 0, void 0, function* () {
260
+ });
261
+ process.on("disconnect", async () => {
271
262
  fileLogService.logData({
272
263
  message: "cleanup-process received process.disconnect event",
273
264
  });
274
- yield executeCleanup();
265
+ await executeCleanup();
275
266
  yok_1.injector.dispose();
276
267
  process.exit();
277
- }));
268
+ });
278
269
  fileLogService.logData({
279
270
  message: `cleanup-process will send ${"ProcessReadyToReceive"} message`,
280
271
  });
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.DevicePathProvider = void 0;
13
4
  const helpers_1 = require("./common/helpers");
@@ -21,33 +12,31 @@ class DevicePathProvider {
21
12
  this.$iOSSimResolver = $iOSSimResolver;
22
13
  this.$errors = $errors;
23
14
  }
24
- getDeviceProjectRootPath(device, options) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- let projectRoot = "";
27
- if (this.$mobileHelper.isApplePlatform(device.deviceInfo.platform)) {
28
- projectRoot = device.isEmulator
29
- ? yield this.$iOSSimResolver.iOSSim.getApplicationPath(device.deviceInfo.identifier, options.appIdentifier)
30
- : constants_2.LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH;
31
- if (!projectRoot) {
32
- this.$errors.fail("Unable to get application path on device.");
33
- }
34
- if (!options.getDirname) {
35
- projectRoot = path.join(projectRoot, constants_1.APP_FOLDER_NAME);
36
- }
15
+ async getDeviceProjectRootPath(device, options) {
16
+ let projectRoot = "";
17
+ if (this.$mobileHelper.isApplePlatform(device.deviceInfo.platform)) {
18
+ projectRoot = device.isEmulator
19
+ ? await this.$iOSSimResolver.iOSSim.getApplicationPath(device.deviceInfo.identifier, options.appIdentifier)
20
+ : constants_2.LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH;
21
+ if (!projectRoot) {
22
+ this.$errors.fail("Unable to get application path on device.");
37
23
  }
38
- else if (this.$mobileHelper.isAndroidPlatform(device.deviceInfo.platform)) {
39
- projectRoot = `${constants_2.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${options.appIdentifier}`;
40
- if (!options.getDirname) {
41
- const hashService = (device).fileSystem.getDeviceHashService(options.appIdentifier);
42
- const hashFile = yield hashService.doesShasumFileExistsOnDevice();
43
- const syncFolderName = options.watch || hashFile
44
- ? constants_2.LiveSyncPaths.SYNC_DIR_NAME
45
- : constants_2.LiveSyncPaths.FULLSYNC_DIR_NAME;
46
- projectRoot = path.join(projectRoot, syncFolderName);
47
- }
24
+ if (!options.getDirname) {
25
+ projectRoot = path.join(projectRoot, constants_1.APP_FOLDER_NAME);
48
26
  }
49
- return (0, helpers_1.fromWindowsRelativePathToUnix)(projectRoot);
50
- });
27
+ }
28
+ else if (this.$mobileHelper.isAndroidPlatform(device.deviceInfo.platform)) {
29
+ projectRoot = `${constants_2.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${options.appIdentifier}`;
30
+ if (!options.getDirname) {
31
+ const hashService = (device).fileSystem.getDeviceHashService(options.appIdentifier);
32
+ const hashFile = await hashService.doesShasumFileExistsOnDevice();
33
+ const syncFolderName = options.watch || hashFile
34
+ ? constants_2.LiveSyncPaths.SYNC_DIR_NAME
35
+ : constants_2.LiveSyncPaths.FULLSYNC_DIR_NAME;
36
+ projectRoot = path.join(projectRoot, syncFolderName);
37
+ }
38
+ }
39
+ return (0, helpers_1.fromWindowsRelativePathToUnix)(projectRoot);
51
40
  }
52
41
  getDeviceSyncZipPath(device) {
53
42
  return this.$mobileHelper.isApplePlatform(device.deviceInfo.platform) &&