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

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 +9 -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 +43 -53
  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 +51 -66
  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
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.ITMSTransporterService = void 0;
19
10
  const path = require("path");
@@ -36,160 +27,146 @@ class ITMSTransporterService {
36
27
  get $projectData() {
37
28
  return this.$injector.resolve("projectData");
38
29
  }
39
- validate(appSpecificPassword) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const itmsTransporterPath = yield this.getITMSTransporterPath();
42
- const version = yield this.$xcodeSelectService.getXcodeVersion();
43
- if (+version.major < 14) {
44
- if (!this.$fs.exists(itmsTransporterPath)) {
45
- this.$errors.fail("iTMS Transporter not found on this machine - make sure your Xcode installation is not damaged.");
46
- }
47
- }
48
- else {
49
- const altoolPath = yield this.getAltoolPath();
50
- if (!this.$fs.exists(altoolPath)) {
51
- this.$errors.fail("altool not found on this machine - make sure your Xcode installation is not damaged.");
52
- }
53
- if (!appSpecificPassword) {
54
- this.$errors.fail("An app-specific password is required from xCode versions 14 and above, Use the --appleApplicationSpecificPassword to supply it.");
55
- }
30
+ async validate(appSpecificPassword) {
31
+ const itmsTransporterPath = await this.getITMSTransporterPath();
32
+ const version = await this.$xcodeSelectService.getXcodeVersion();
33
+ if (+version.major < 14) {
34
+ if (!this.$fs.exists(itmsTransporterPath)) {
35
+ this.$errors.fail("iTMS Transporter not found on this machine - make sure your Xcode installation is not damaged.");
56
36
  }
57
- });
58
- }
59
- upload(data) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const version = yield this.$xcodeSelectService.getXcodeVersion();
62
- if (+version.major < 14) {
63
- yield this.upload_iTMSTransporter(data);
37
+ }
38
+ else {
39
+ const altoolPath = await this.getAltoolPath();
40
+ if (!this.$fs.exists(altoolPath)) {
41
+ this.$errors.fail("altool not found on this machine - make sure your Xcode installation is not damaged.");
64
42
  }
65
- else {
66
- yield this.upload_altool(data);
43
+ if (!appSpecificPassword) {
44
+ this.$errors.fail("An app-specific password is required from xCode versions 14 and above, Use the --appleApplicationSpecificPassword to supply it.");
67
45
  }
46
+ }
47
+ }
48
+ async upload(data) {
49
+ const version = await this.$xcodeSelectService.getXcodeVersion();
50
+ if (+version.major < 14) {
51
+ await this.upload_iTMSTransporter(data);
52
+ }
53
+ else {
54
+ await this.upload_altool(data);
55
+ }
56
+ }
57
+ async upload_iTMSTransporter(data) {
58
+ const itmsTransporterPath = await this.getITMSTransporterPath();
59
+ const ipaFileName = "app.ipa";
60
+ const itmsDirectory = await this.$tempService.mkdirSync("itms-");
61
+ const innerDirectory = path.join(itmsDirectory, "mybundle.itmsp");
62
+ const ipaFileLocation = path.join(innerDirectory, ipaFileName);
63
+ const loggingLevel = data.verboseLogging
64
+ ? constants_1.ITMSConstants.VerboseLoggingLevels.Verbose
65
+ : constants_1.ITMSConstants.VerboseLoggingLevels.Informational;
66
+ const bundleId = await this.getBundleIdentifier(data);
67
+ const application = await this.$applePortalApplicationService.getApplicationByBundleId(data.user, bundleId);
68
+ this.$fs.createDirectory(innerDirectory);
69
+ this.$fs.copyFile(data.ipaFilePath, ipaFileLocation);
70
+ const ipaFileHash = await this.$fs.getFileShasum(ipaFileLocation, {
71
+ algorithm: "md5",
68
72
  });
73
+ const ipaFileSize = this.$fs.getFileSize(ipaFileLocation);
74
+ const metadata = this.getITMSMetadataXml(application.adamId, ipaFileName, ipaFileHash, ipaFileSize);
75
+ this.$fs.writeFile(path.join(innerDirectory, constants_1.ITMSConstants.ApplicationMetadataFile), metadata);
76
+ const password = data.user.isTwoFactorAuthenticationEnabled
77
+ ? data.applicationSpecificPassword
78
+ : data.credentials.password;
79
+ await this.$childProcess.spawnFromEvent(itmsTransporterPath, [
80
+ "-m",
81
+ "upload",
82
+ "-f",
83
+ itmsDirectory,
84
+ "-u",
85
+ (0, helpers_1.quoteString)(data.credentials.username),
86
+ "-p",
87
+ (0, helpers_1.quoteString)(password),
88
+ "-v",
89
+ loggingLevel,
90
+ ], "close", { stdio: "inherit" });
69
91
  }
70
- upload_iTMSTransporter(data) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const itmsTransporterPath = yield this.getITMSTransporterPath();
73
- const ipaFileName = "app.ipa";
74
- const itmsDirectory = yield this.$tempService.mkdirSync("itms-");
75
- const innerDirectory = path.join(itmsDirectory, "mybundle.itmsp");
76
- const ipaFileLocation = path.join(innerDirectory, ipaFileName);
77
- const loggingLevel = data.verboseLogging
78
- ? constants_1.ITMSConstants.VerboseLoggingLevels.Verbose
79
- : constants_1.ITMSConstants.VerboseLoggingLevels.Informational;
80
- const bundleId = yield this.getBundleIdentifier(data);
81
- const application = yield this.$applePortalApplicationService.getApplicationByBundleId(data.user, bundleId);
82
- this.$fs.createDirectory(innerDirectory);
83
- this.$fs.copyFile(data.ipaFilePath, ipaFileLocation);
84
- const ipaFileHash = yield this.$fs.getFileShasum(ipaFileLocation, {
85
- algorithm: "md5",
86
- });
87
- const ipaFileSize = this.$fs.getFileSize(ipaFileLocation);
88
- const metadata = this.getITMSMetadataXml(application.adamId, ipaFileName, ipaFileHash, ipaFileSize);
89
- this.$fs.writeFile(path.join(innerDirectory, constants_1.ITMSConstants.ApplicationMetadataFile), metadata);
90
- const password = data.user.isTwoFactorAuthenticationEnabled
91
- ? data.applicationSpecificPassword
92
- : data.credentials.password;
93
- yield this.$childProcess.spawnFromEvent(itmsTransporterPath, [
94
- "-m",
95
- "upload",
96
- "-f",
97
- itmsDirectory,
98
- "-u",
99
- (0, helpers_1.quoteString)(data.credentials.username),
100
- "-p",
101
- (0, helpers_1.quoteString)(password),
102
- "-v",
103
- loggingLevel,
104
- ], "close", { stdio: "inherit" });
92
+ async upload_altool(data) {
93
+ const altoolPath = await this.getAltoolPath();
94
+ const ipaFileName = "app.ipa";
95
+ const itmsDirectory = await this.$tempService.mkdirSync("itms-");
96
+ const innerDirectory = path.join(itmsDirectory, "mybundle.itmsp");
97
+ const ipaFileLocation = path.join(innerDirectory, ipaFileName);
98
+ this.$fs.createDirectory(innerDirectory);
99
+ this.$fs.copyFile(data.ipaFilePath, ipaFileLocation);
100
+ const password = data.applicationSpecificPassword;
101
+ const args = [
102
+ "--upload-app",
103
+ "-t",
104
+ "ios",
105
+ "-f",
106
+ ipaFileLocation,
107
+ "-u",
108
+ data.credentials.username,
109
+ "-p",
110
+ password,
111
+ "-k 100000",
112
+ ];
113
+ if (data.teamId) {
114
+ args.push("--asc-provider");
115
+ args.push(data.teamId);
116
+ }
117
+ if (data.verboseLogging) {
118
+ args.push("--verbose");
119
+ }
120
+ await this.$childProcess.spawnFromEvent(altoolPath, args, "close", {
121
+ stdio: "inherit",
105
122
  });
106
123
  }
107
- upload_altool(data) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- const altoolPath = yield this.getAltoolPath();
110
- const ipaFileName = "app.ipa";
111
- const itmsDirectory = yield this.$tempService.mkdirSync("itms-");
112
- const innerDirectory = path.join(itmsDirectory, "mybundle.itmsp");
113
- const ipaFileLocation = path.join(innerDirectory, ipaFileName);
114
- this.$fs.createDirectory(innerDirectory);
115
- this.$fs.copyFile(data.ipaFilePath, ipaFileLocation);
116
- const password = data.applicationSpecificPassword;
117
- const args = [
118
- "--upload-app",
119
- "-t",
120
- "ios",
121
- "-f",
122
- ipaFileLocation,
123
- "-u",
124
- data.credentials.username,
125
- "-p",
126
- password,
127
- "-k 100000",
128
- ];
129
- if (data.teamId) {
130
- args.push("--asc-provider");
131
- args.push(data.teamId);
124
+ async getBundleIdentifier(data) {
125
+ const { shouldExtractIpa, ipaFilePath } = data;
126
+ if (shouldExtractIpa) {
127
+ if (!this.$fs.exists(ipaFilePath) ||
128
+ path.extname(ipaFilePath) !== ".ipa") {
129
+ this.$errors.fail(`Cannot use specified ipa file ${ipaFilePath}. File either does not exist or is not an ipa file.`);
132
130
  }
133
- if (data.verboseLogging) {
134
- args.push("--verbose");
131
+ this.$logger.trace("--ipa set - extracting .ipa file to get app's bundle identifier");
132
+ const destinationDir = await this.$tempService.mkdirSync("ipa-");
133
+ await this.$fs.unzip(ipaFilePath, destinationDir);
134
+ const payloadDir = path.join(destinationDir, "Payload");
135
+ let allFiles = this.$fs.readDirectory(payloadDir);
136
+ this.$logger.trace("ITMSTransporter .ipa Payload files:");
137
+ allFiles.forEach((f) => this.$logger.trace(" - " + f));
138
+ allFiles = allFiles.filter((f) => path.extname(f).toLowerCase() === ".app");
139
+ if (allFiles.length > 1) {
140
+ this.$errors.fail("In the .ipa the ITMSTransporter is uploading there is more than one .app file. We don't know which one to upload.");
135
141
  }
136
- yield this.$childProcess.spawnFromEvent(altoolPath, args, "close", {
137
- stdio: "inherit",
138
- });
139
- });
140
- }
141
- getBundleIdentifier(data) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- const { shouldExtractIpa, ipaFilePath } = data;
144
- if (shouldExtractIpa) {
145
- if (!this.$fs.exists(ipaFilePath) ||
146
- path.extname(ipaFilePath) !== ".ipa") {
147
- this.$errors.fail(`Cannot use specified ipa file ${ipaFilePath}. File either does not exist or is not an ipa file.`);
148
- }
149
- this.$logger.trace("--ipa set - extracting .ipa file to get app's bundle identifier");
150
- const destinationDir = yield this.$tempService.mkdirSync("ipa-");
151
- yield this.$fs.unzip(ipaFilePath, destinationDir);
152
- const payloadDir = path.join(destinationDir, "Payload");
153
- let allFiles = this.$fs.readDirectory(payloadDir);
154
- this.$logger.trace("ITMSTransporter .ipa Payload files:");
155
- allFiles.forEach((f) => this.$logger.trace(" - " + f));
156
- allFiles = allFiles.filter((f) => path.extname(f).toLowerCase() === ".app");
157
- if (allFiles.length > 1) {
158
- this.$errors.fail("In the .ipa the ITMSTransporter is uploading there is more than one .app file. We don't know which one to upload.");
159
- }
160
- else if (allFiles.length <= 0) {
161
- this.$errors.fail("In the .ipa the ITMSTransporter is uploading there must be at least one .app file.");
162
- }
163
- const appFile = path.join(payloadDir, allFiles[0]);
164
- const plistObject = yield this.$plistParser.parseFile(path.join(appFile, constants_1.INFO_PLIST_FILE_NAME));
165
- const bundleId = plistObject && plistObject.CFBundleIdentifier;
166
- if (!bundleId) {
167
- this.$errors.fail(`Unable to determine bundle identifier from ${ipaFilePath}.`);
168
- }
169
- this.$logger.trace(`bundle identifier determined to be ${bundleId}`);
170
- return bundleId;
142
+ else if (allFiles.length <= 0) {
143
+ this.$errors.fail("In the .ipa the ITMSTransporter is uploading there must be at least one .app file.");
171
144
  }
172
- return this.$projectData.projectIdentifiers.ios;
173
- });
145
+ const appFile = path.join(payloadDir, allFiles[0]);
146
+ const plistObject = await this.$plistParser.parseFile(path.join(appFile, constants_1.INFO_PLIST_FILE_NAME));
147
+ const bundleId = plistObject && plistObject.CFBundleIdentifier;
148
+ if (!bundleId) {
149
+ this.$errors.fail(`Unable to determine bundle identifier from ${ipaFilePath}.`);
150
+ }
151
+ this.$logger.trace(`bundle identifier determined to be ${bundleId}`);
152
+ return bundleId;
153
+ }
154
+ return this.$projectData.projectIdentifiers.ios;
174
155
  }
175
- getAltoolPath() {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- const xcodePath = yield this.$xcodeSelectService.getContentsDirectoryPath();
178
- let itmsTransporterPath = path.join(xcodePath, "..", "Contents", "Developer", "usr", "bin", constants_1.ITMSConstants.altoolExecutableName);
179
- return itmsTransporterPath;
180
- });
156
+ async getAltoolPath() {
157
+ const xcodePath = await this.$xcodeSelectService.getContentsDirectoryPath();
158
+ let itmsTransporterPath = path.join(xcodePath, "..", "Contents", "Developer", "usr", "bin", constants_1.ITMSConstants.altoolExecutableName);
159
+ return itmsTransporterPath;
181
160
  }
182
- getITMSTransporterPath() {
183
- return __awaiter(this, void 0, void 0, function* () {
184
- const xcodePath = yield this.$xcodeSelectService.getContentsDirectoryPath();
185
- let itmsTransporterPath = path.join(xcodePath, "..", "Contents", "SharedFrameworks", "ContentDeliveryServices.framework", "Versions", "A", "itms", "bin", constants_1.ITMSConstants.iTMSExecutableName);
186
- const xcodeVersionData = yield this.$xcodeSelectService.getXcodeVersion();
187
- if (+xcodeVersionData.major < 11) {
188
- const loaderAppContentsPath = path.join(xcodePath, "Applications", "Application Loader.app", "Contents");
189
- itmsTransporterPath = path.join(loaderAppContentsPath, constants_1.ITMSConstants.iTMSDirectoryName, "bin", constants_1.ITMSConstants.iTMSExecutableName);
190
- }
191
- return itmsTransporterPath;
192
- });
161
+ async getITMSTransporterPath() {
162
+ const xcodePath = await this.$xcodeSelectService.getContentsDirectoryPath();
163
+ let itmsTransporterPath = path.join(xcodePath, "..", "Contents", "SharedFrameworks", "ContentDeliveryServices.framework", "Versions", "A", "itms", "bin", constants_1.ITMSConstants.iTMSExecutableName);
164
+ const xcodeVersionData = await this.$xcodeSelectService.getXcodeVersion();
165
+ if (+xcodeVersionData.major < 11) {
166
+ const loaderAppContentsPath = path.join(xcodePath, "Applications", "Application Loader.app", "Contents");
167
+ itmsTransporterPath = path.join(loaderAppContentsPath, constants_1.ITMSConstants.iTMSDirectoryName, "bin", constants_1.ITMSConstants.iTMSExecutableName);
168
+ }
169
+ return itmsTransporterPath;
193
170
  }
194
171
  getITMSMetadataXml(appleId, ipaFileName, ipaFileHash, ipaFileSize) {
195
172
  return `<?xml version="1.0" encoding="UTF-8"?>
@@ -206,11 +183,11 @@ class ITMSTransporterService {
206
183
  </package>`;
207
184
  }
208
185
  }
186
+ exports.ITMSTransporterService = ITMSTransporterService;
209
187
  __decorate([
210
188
  (0, decorators_1.cache)()
211
189
  ], ITMSTransporterService.prototype, "getAltoolPath", null);
212
190
  __decorate([
213
191
  (0, decorators_1.cache)()
214
192
  ], ITMSTransporterService.prototype, "getITMSTransporterPath", null);
215
- exports.ITMSTransporterService = ITMSTransporterService;
216
193
  yok_1.injector.register("itmsTransporterService", ITMSTransporterService);
@@ -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.AndroidDeviceLiveSyncServiceBase = void 0;
13
4
  const device_livesync_service_base_1 = require("./device-livesync-service-base");
@@ -21,48 +12,40 @@ class AndroidDeviceLiveSyncServiceBase extends device_livesync_service_base_1.De
21
12
  this.$logger = $logger;
22
13
  this.device = device;
23
14
  }
24
- transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncDeviceDescriptor, options) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
27
- const currentHashes = yield deviceHashService.generateHashesFromLocalToDevicePaths(localToDevicePaths);
28
- const transferredFiles = yield this.transferFilesCore(deviceAppData, localToDevicePaths, projectFilesPath, currentHashes, options);
29
- yield this.device.fileSystem.updateHashesOnDevice(currentHashes, deviceAppData.appIdentifier);
30
- return transferredFiles;
31
- });
15
+ async transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncDeviceDescriptor, options) {
16
+ const deviceHashService = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier);
17
+ const currentHashes = await deviceHashService.generateHashesFromLocalToDevicePaths(localToDevicePaths);
18
+ const transferredFiles = await this.transferFilesCore(deviceAppData, localToDevicePaths, projectFilesPath, currentHashes, options);
19
+ await this.device.fileSystem.updateHashesOnDevice(currentHashes, deviceAppData.appIdentifier);
20
+ return transferredFiles;
32
21
  }
33
- transferFilesCore(deviceAppData, localToDevicePaths, projectFilesPath, currentHashes, options) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- if (options.force && options.isFullSync) {
36
- const hashFileDevicePath = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier).hashFileDevicePath;
37
- yield this.device.fileSystem.deleteFile(hashFileDevicePath, deviceAppData.appIdentifier);
38
- this.$logger.trace("Before transfer directory on device ", localToDevicePaths);
39
- yield this.transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath);
40
- return localToDevicePaths;
41
- }
42
- const localToDevicePathsToTransfer = yield this.getLocalToDevicePathsToTransfer(deviceAppData, localToDevicePaths, currentHashes, options);
43
- this.$logger.trace("Files to transfer: ", localToDevicePathsToTransfer);
44
- yield this.transferFilesOnDevice(deviceAppData, localToDevicePathsToTransfer);
45
- return localToDevicePathsToTransfer;
46
- });
22
+ async transferFilesCore(deviceAppData, localToDevicePaths, projectFilesPath, currentHashes, options) {
23
+ if (options.force && options.isFullSync) {
24
+ const hashFileDevicePath = this.device.fileSystem.getDeviceHashService(deviceAppData.appIdentifier).hashFileDevicePath;
25
+ await this.device.fileSystem.deleteFile(hashFileDevicePath, deviceAppData.appIdentifier);
26
+ this.$logger.trace("Before transfer directory on device ", localToDevicePaths);
27
+ await this.transferDirectoryOnDevice(deviceAppData, localToDevicePaths, projectFilesPath);
28
+ return localToDevicePaths;
29
+ }
30
+ const localToDevicePathsToTransfer = await this.getLocalToDevicePathsToTransfer(deviceAppData, localToDevicePaths, currentHashes, options);
31
+ this.$logger.trace("Files to transfer: ", localToDevicePathsToTransfer);
32
+ await this.transferFilesOnDevice(deviceAppData, localToDevicePathsToTransfer);
33
+ return localToDevicePathsToTransfer;
47
34
  }
48
- getLocalToDevicePathsToTransfer(deviceAppData, localToDevicePaths, currentHashes, options) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- if (options.force || !options.isFullSync) {
51
- return localToDevicePaths;
52
- }
53
- const changedLocalToDevicePaths = yield this.getChangedLocalToDevicePaths(deviceAppData.appIdentifier, localToDevicePaths, currentHashes);
54
- return changedLocalToDevicePaths;
55
- });
35
+ async getLocalToDevicePathsToTransfer(deviceAppData, localToDevicePaths, currentHashes, options) {
36
+ if (options.force || !options.isFullSync) {
37
+ return localToDevicePaths;
38
+ }
39
+ const changedLocalToDevicePaths = await this.getChangedLocalToDevicePaths(deviceAppData.appIdentifier, localToDevicePaths, currentHashes);
40
+ return changedLocalToDevicePaths;
56
41
  }
57
- getChangedLocalToDevicePaths(appIdentifier, localToDevicePaths, currentHashes) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const deviceHashService = this.device.fileSystem.getDeviceHashService(appIdentifier);
60
- const oldHashes = (yield deviceHashService.getShasumsFromDevice()) || {};
61
- const changedHashes = deviceHashService.getChangedShasums(oldHashes, currentHashes);
62
- const changedFiles = _.keys(changedHashes);
63
- const changedLocalToDevicePaths = localToDevicePaths.filter((localToDevicePathData) => changedFiles.indexOf(localToDevicePathData.getLocalPath()) >= 0);
64
- return changedLocalToDevicePaths;
65
- });
42
+ async getChangedLocalToDevicePaths(appIdentifier, localToDevicePaths, currentHashes) {
43
+ const deviceHashService = this.device.fileSystem.getDeviceHashService(appIdentifier);
44
+ const oldHashes = (await deviceHashService.getShasumsFromDevice()) || {};
45
+ const changedHashes = deviceHashService.getChangedShasums(oldHashes, currentHashes);
46
+ const changedFiles = _.keys(changedHashes);
47
+ const changedLocalToDevicePaths = localToDevicePaths.filter((localToDevicePathData) => changedFiles.indexOf(localToDevicePathData.getLocalPath()) >= 0);
48
+ return changedLocalToDevicePaths;
66
49
  }
67
50
  }
68
51
  exports.AndroidDeviceLiveSyncServiceBase = AndroidDeviceLiveSyncServiceBase;