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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/project.d.ts +26 -0
  190. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  191. package/lib/detached-processes/cleanup-process.js +43 -30
  192. package/lib/detached-processes/file-log-service.js +2 -1
  193. package/lib/device-path-provider.js +35 -23
  194. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  195. package/lib/device-sockets/ios/notification.js +4 -1
  196. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  197. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  198. package/lib/helpers/deploy-command-helper.js +50 -44
  199. package/lib/helpers/key-command-helper.js +17 -6
  200. package/lib/helpers/livesync-command-helper.js +155 -137
  201. package/lib/helpers/network-connectivity-validator.js +18 -6
  202. package/lib/helpers/options-track-helper.js +19 -7
  203. package/lib/helpers/package-path-helper.js +1 -0
  204. package/lib/helpers/platform-command-helper.js +127 -101
  205. package/lib/helpers/version-validator-helper.js +1 -0
  206. package/lib/key-commands/bootstrap.js +3 -2
  207. package/lib/key-commands/index.js +205 -154
  208. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  209. package/lib/nativescript-cli-lib.js +1 -0
  210. package/lib/nativescript-cli.js +24 -6
  211. package/lib/node/pbxproj-dom-xcode.js +1 -0
  212. package/lib/node/xcode.js +1 -0
  213. package/lib/node-package-manager.js +114 -81
  214. package/lib/options.js +156 -122
  215. package/lib/package-installation-manager.js +172 -130
  216. package/lib/package-manager.js +88 -63
  217. package/lib/platform-command-param.js +16 -4
  218. package/lib/pnpm-package-manager.js +81 -59
  219. package/lib/project-data.js +13 -1
  220. package/lib/providers/project-files-provider.js +2 -1
  221. package/lib/resolvers/livesync-service-resolver.js +1 -0
  222. package/lib/services/analytics/analytics-broker-process.js +32 -19
  223. package/lib/services/analytics/analytics-broker.js +31 -17
  224. package/lib/services/analytics/analytics-service.js +210 -170
  225. package/lib/services/analytics/google-analytics-provider.js +59 -43
  226. package/lib/services/analytics-settings-service.js +37 -15
  227. package/lib/services/android/android-bundle-tool-service.js +61 -43
  228. package/lib/services/android/gradle-build-args-service.js +23 -9
  229. package/lib/services/android/gradle-build-service.js +36 -22
  230. package/lib/services/android/gradle-command-service.js +36 -22
  231. package/lib/services/android-device-debug-service.js +123 -90
  232. package/lib/services/android-plugin-build-service.js +260 -205
  233. package/lib/services/android-project-service.js +241 -129
  234. package/lib/services/android-resources-migration-service.js +71 -51
  235. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  236. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  237. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  238. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  239. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  240. package/lib/services/build-artifacts-service.js +22 -10
  241. package/lib/services/build-data-service.js +1 -0
  242. package/lib/services/build-info-file-service.js +36 -20
  243. package/lib/services/cleanup-service.js +81 -48
  244. package/lib/services/cocoapods-platform-manager.js +9 -0
  245. package/lib/services/cocoapods-service.js +153 -112
  246. package/lib/services/debug-data-service.js +1 -0
  247. package/lib/services/debug-service-base.js +7 -0
  248. package/lib/services/device/device-install-app-service.js +72 -54
  249. package/lib/services/doctor-service.js +135 -101
  250. package/lib/services/extensibility-service.js +108 -81
  251. package/lib/services/files-hash-service.js +44 -26
  252. package/lib/services/hmr-status-service.js +3 -1
  253. package/lib/services/info-service.js +1 -0
  254. package/lib/services/initialize-service.js +54 -37
  255. package/lib/services/ios/export-options-plist-service.js +55 -38
  256. package/lib/services/ios/ios-signing-service.js +191 -168
  257. package/lib/services/ios/spm-service.js +70 -46
  258. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  259. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  260. package/lib/services/ios/xcodebuild-service.js +72 -52
  261. package/lib/services/ios-debugger-port-service.js +38 -24
  262. package/lib/services/ios-device-debug-service.js +103 -75
  263. package/lib/services/ios-entitlements-service.js +43 -31
  264. package/lib/services/ios-extensions-service.js +30 -18
  265. package/lib/services/ios-log-filter.js +20 -0
  266. package/lib/services/ios-native-target-service.js +6 -4
  267. package/lib/services/ios-project-service.js +605 -437
  268. package/lib/services/ios-provision-service.js +132 -108
  269. package/lib/services/ios-watch-app-service.js +33 -21
  270. package/lib/services/ip-service.js +55 -38
  271. package/lib/services/itmstransporter-service.js +153 -129
  272. package/lib/services/karma-execution.js +2 -0
  273. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  274. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  275. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  276. package/lib/services/livesync/android-livesync-service.js +36 -14
  277. package/lib/services/livesync/android-livesync-tool.js +117 -90
  278. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  279. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  280. package/lib/services/livesync/ios-livesync-service.js +60 -42
  281. package/lib/services/livesync/livesync-socket.js +1 -0
  282. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  283. package/lib/services/livesync-process-data-service.js +1 -0
  284. package/lib/services/log-parser-service.js +2 -1
  285. package/lib/services/log-source-map-service.js +56 -30
  286. package/lib/services/marking-mode-service.js +33 -17
  287. package/lib/services/metadata-filtering-service.js +1 -0
  288. package/lib/services/npm-config-service.js +5 -1
  289. package/lib/services/pacote-service.js +71 -49
  290. package/lib/services/performance-service.js +4 -2
  291. package/lib/services/platform/add-platform-service.js +119 -51
  292. package/lib/services/platform/platform-validation-service.js +34 -22
  293. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  294. package/lib/services/platform-environment-requirements.js +43 -27
  295. package/lib/services/platform-project-service-base.js +1 -0
  296. package/lib/services/platforms-data-service.js +1 -0
  297. package/lib/services/plugins-service.js +168 -125
  298. package/lib/services/prepare-data-service.js +1 -0
  299. package/lib/services/project-backup-service.js +5 -1
  300. package/lib/services/project-changes-service.js +152 -124
  301. package/lib/services/project-cleanup-service.js +79 -64
  302. package/lib/services/project-config-service.js +111 -73
  303. package/lib/services/project-data-service.js +154 -108
  304. package/lib/services/project-name-service.js +44 -28
  305. package/lib/services/project-service.js +113 -84
  306. package/lib/services/project-templates-service.js +68 -52
  307. package/lib/services/qr-code-terminal-service.js +1 -0
  308. package/lib/services/require-service.js +1 -0
  309. package/lib/services/start-service.js +60 -41
  310. package/lib/services/temp-service.js +22 -8
  311. package/lib/services/terminal-spinner-service.js +28 -15
  312. package/lib/services/test-execution-service.js +79 -59
  313. package/lib/services/test-initialization-service.js +6 -2
  314. package/lib/services/timeline-profiler-service.js +2 -1
  315. package/lib/services/user-settings-service.js +1 -0
  316. package/lib/services/versions-service.js +140 -119
  317. package/lib/services/watch-ignore-list-service.js +1 -0
  318. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  319. package/lib/services/xcconfig-service.js +21 -8
  320. package/lib/services/xcproj-service.js +1 -0
  321. package/lib/shared-event-bus.js +6 -0
  322. package/lib/sys-info.js +63 -45
  323. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  324. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  325. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  326. package/lib/yarn-package-manager.js +79 -59
  327. package/lib/yarn2-package-manager.js +82 -60
  328. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  329. package/node_modules/@npmcli/move-file/README.md +69 -0
  330. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  342. package/node_modules/@npmcli/move-file/package.json +47 -0
  343. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  344. package/node_modules/balanced-match/LICENSE.md +21 -0
  345. package/node_modules/balanced-match/README.md +97 -0
  346. package/node_modules/balanced-match/index.js +62 -0
  347. package/node_modules/balanced-match/package.json +48 -0
  348. package/node_modules/concat-map/.travis.yml +4 -0
  349. package/node_modules/concat-map/LICENSE +18 -0
  350. package/node_modules/concat-map/README.markdown +62 -0
  351. package/node_modules/concat-map/example/map.js +6 -0
  352. package/node_modules/concat-map/index.js +13 -0
  353. package/node_modules/concat-map/package.json +43 -0
  354. package/node_modules/concat-map/test/map.js +39 -0
  355. package/node_modules/fs.realpath/LICENSE +43 -0
  356. package/node_modules/fs.realpath/README.md +33 -0
  357. package/node_modules/fs.realpath/index.js +66 -0
  358. package/node_modules/fs.realpath/old.js +303 -0
  359. package/node_modules/fs.realpath/package.json +26 -0
  360. package/node_modules/inflight/LICENSE +15 -0
  361. package/node_modules/inflight/README.md +37 -0
  362. package/node_modules/inflight/inflight.js +54 -0
  363. package/node_modules/inflight/package.json +29 -0
  364. package/node_modules/inherits/LICENSE +16 -0
  365. package/node_modules/inherits/README.md +42 -0
  366. package/node_modules/inherits/inherits.js +9 -0
  367. package/node_modules/inherits/inherits_browser.js +27 -0
  368. package/node_modules/inherits/package.json +29 -0
  369. package/node_modules/once/LICENSE +15 -0
  370. package/node_modules/once/README.md +79 -0
  371. package/node_modules/once/once.js +42 -0
  372. package/node_modules/once/package.json +33 -0
  373. package/node_modules/path-is-absolute/index.js +20 -0
  374. package/node_modules/path-is-absolute/license +21 -0
  375. package/node_modules/path-is-absolute/package.json +43 -0
  376. package/node_modules/path-is-absolute/readme.md +59 -0
  377. package/node_modules/rimraf/LICENSE +15 -0
  378. package/node_modules/rimraf/README.md +101 -0
  379. package/node_modules/rimraf/bin.js +68 -0
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  385. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  386. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  387. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  388. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  389. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  394. package/node_modules/rimraf/package.json +32 -0
  395. package/node_modules/rimraf/rimraf.js +360 -0
  396. package/node_modules/stringify-package/LICENSE +13 -0
  397. package/node_modules/stringify-package/README.md +55 -0
  398. package/node_modules/stringify-package/index.js +18 -0
  399. package/node_modules/stringify-package/package.json +38 -0
  400. package/node_modules/wrappy/LICENSE +15 -0
  401. package/node_modules/wrappy/README.md +36 -0
  402. package/node_modules/wrappy/package.json +29 -0
  403. package/node_modules/wrappy/wrappy.js +33 -0
  404. package/package.json +79 -64
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.IOSSigningService = void 0;
4
13
  const path = require("path");
@@ -18,102 +27,111 @@ class IOSSigningService {
18
27
  this.$xcconfigService = $xcconfigService;
19
28
  this.$xcprojService = $xcprojService;
20
29
  }
21
- async setupSigningForDevice(projectRoot, projectData, iOSBuildData) {
22
- const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
23
- const signing = xcode.getSigning(projectData.projectName);
24
- const hasProvisioningProfileInXCConfig = this.readXCConfigProvisioningProfileSpecifierForIPhoneOs(projectData) ||
25
- this.readXCConfigProvisioningProfileSpecifier(projectData) ||
26
- this.readXCConfigProvisioningProfileForIPhoneOs(projectData) ||
27
- this.readXCConfigProvisioningProfile(projectData);
28
- if (hasProvisioningProfileInXCConfig &&
29
- (!signing || signing.style !== "Manual")) {
30
- xcode.setManualSigningStyle(projectData.projectName);
31
- this.getExtensionNames(projectData).forEach((name) => {
32
- xcode.setManualSigningStyle(name);
33
- });
34
- xcode.save();
35
- }
36
- else if (!iOSBuildData.provision &&
37
- !(signing && signing.style === "Manual" && !iOSBuildData.teamId)) {
38
- const teamId = await this.getDevelopmentTeam(projectData, projectRoot, iOSBuildData.teamId);
39
- await this.setupSigningFromTeam(projectRoot, projectData, teamId);
40
- }
30
+ setupSigningForDevice(projectRoot, projectData, iOSBuildData) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
33
+ const signing = xcode.getSigning(projectData.projectName);
34
+ const hasProvisioningProfileInXCConfig = this.readXCConfigProvisioningProfileSpecifierForIPhoneOs(projectData) ||
35
+ this.readXCConfigProvisioningProfileSpecifier(projectData) ||
36
+ this.readXCConfigProvisioningProfileForIPhoneOs(projectData) ||
37
+ this.readXCConfigProvisioningProfile(projectData);
38
+ if (hasProvisioningProfileInXCConfig &&
39
+ (!signing || signing.style !== "Manual")) {
40
+ xcode.setManualSigningStyle(projectData.projectName);
41
+ this.getExtensionNames(projectData).forEach((name) => {
42
+ xcode.setManualSigningStyle(name);
43
+ });
44
+ xcode.save();
45
+ }
46
+ else if (!iOSBuildData.provision &&
47
+ !(signing && signing.style === "Manual" && !iOSBuildData.teamId)) {
48
+ const teamId = yield this.getDevelopmentTeam(projectData, projectRoot, iOSBuildData.teamId);
49
+ yield this.setupSigningFromTeam(projectRoot, projectData, teamId);
50
+ }
51
+ });
41
52
  }
42
- async setupSigningFromTeam(projectRoot, projectData, teamId) {
43
- const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
44
- const signing = xcode.getSigning(projectData.projectName);
45
- let shouldUpdateXcode = false;
46
- if (signing && signing.style === "Automatic") {
47
- if (signing.team !== teamId) {
48
- const teamIdsForName = await this.$iOSProvisionService.getTeamIdsWithName(teamId);
49
- if (!teamIdsForName.some((id) => id === signing.team)) {
50
- shouldUpdateXcode = true;
53
+ setupSigningFromTeam(projectRoot, projectData, teamId) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
56
+ const signing = xcode.getSigning(projectData.projectName);
57
+ let shouldUpdateXcode = false;
58
+ if (signing && signing.style === "Automatic") {
59
+ if (signing.team !== teamId) {
60
+ // Maybe the provided team is name such as "Telerik AD" and we need to convert it to CH******37
61
+ const teamIdsForName = yield this.$iOSProvisionService.getTeamIdsWithName(teamId);
62
+ if (!teamIdsForName.some((id) => id === signing.team)) {
63
+ shouldUpdateXcode = true;
64
+ }
51
65
  }
52
66
  }
53
- }
54
- else {
55
- shouldUpdateXcode = true;
56
- }
57
- if (shouldUpdateXcode) {
58
- const teamIdsForName = await this.$iOSProvisionService.getTeamIdsWithName(teamId);
59
- if (teamIdsForName.length > 0) {
60
- this.$logger.trace(`Team id ${teamIdsForName[0]} will be used for team name "${teamId}".`);
61
- teamId = teamIdsForName[0];
67
+ else {
68
+ shouldUpdateXcode = true;
62
69
  }
63
- xcode.setAutomaticSigningStyle(projectData.projectName, teamId);
64
- xcode.setAutomaticSigningStyleByTargetProductTypesList([
65
- constants_1.IOSNativeTargetProductTypes.appExtension,
66
- constants_1.IOSNativeTargetProductTypes.watchApp,
67
- constants_1.IOSNativeTargetProductTypes.watchExtension,
68
- ], teamId);
69
- this.getExtensionNames(projectData).forEach((name) => {
70
- xcode.setAutomaticSigningStyle(name, teamId);
71
- });
72
- xcode.save();
73
- this.$logger.trace(`Set Automatic signing style and team id ${teamId}.`);
74
- }
75
- else {
76
- this.$logger.trace(`The specified ${teamId} is already set in the Xcode.`);
77
- }
70
+ if (shouldUpdateXcode) {
71
+ const teamIdsForName = yield this.$iOSProvisionService.getTeamIdsWithName(teamId);
72
+ if (teamIdsForName.length > 0) {
73
+ this.$logger.trace(`Team id ${teamIdsForName[0]} will be used for team name "${teamId}".`);
74
+ teamId = teamIdsForName[0];
75
+ }
76
+ xcode.setAutomaticSigningStyle(projectData.projectName, teamId);
77
+ xcode.setAutomaticSigningStyleByTargetProductTypesList([
78
+ constants_1.IOSNativeTargetProductTypes.appExtension,
79
+ constants_1.IOSNativeTargetProductTypes.watchApp,
80
+ constants_1.IOSNativeTargetProductTypes.watchExtension,
81
+ ], teamId);
82
+ this.getExtensionNames(projectData).forEach((name) => {
83
+ xcode.setAutomaticSigningStyle(name, teamId);
84
+ });
85
+ xcode.save();
86
+ this.$logger.trace(`Set Automatic signing style and team id ${teamId}.`);
87
+ }
88
+ else {
89
+ this.$logger.trace(`The specified ${teamId} is already set in the Xcode.`);
90
+ }
91
+ });
78
92
  }
79
- async setupSigningFromProvision(projectRoot, projectData, provision, mobileProvisionData) {
80
- if (!provision) {
81
- return;
82
- }
83
- const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
84
- const signing = xcode.getSigning(projectData.projectName);
85
- let shouldUpdateXcode = false;
86
- if (signing && signing.style === "Manual") {
87
- for (const config in signing.configurations) {
88
- const options = signing.configurations[config];
89
- if (options.name !== provision && options.uuid !== provision) {
90
- shouldUpdateXcode = true;
91
- break;
93
+ setupSigningFromProvision(projectRoot, projectData, provision, mobileProvisionData) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ if (!provision) {
96
+ // read uuid from Xcode an cache...
97
+ return;
98
+ }
99
+ const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
100
+ const signing = xcode.getSigning(projectData.projectName);
101
+ let shouldUpdateXcode = false;
102
+ if (signing && signing.style === "Manual") {
103
+ for (const config in signing.configurations) {
104
+ const options = signing.configurations[config];
105
+ if (options.name !== provision && options.uuid !== provision) {
106
+ shouldUpdateXcode = true;
107
+ break;
108
+ }
92
109
  }
93
110
  }
94
- }
95
- else {
96
- shouldUpdateXcode = true;
97
- }
98
- if (shouldUpdateXcode) {
99
- const projectSigningConfig = await this.getManualSigningConfiguration(projectData, provision, mobileProvisionData);
100
- xcode.setManualSigningStyle(projectData.projectName, projectSigningConfig);
101
- xcode.setManualSigningStyleByTargetProductTypesList([
102
- constants_1.IOSNativeTargetProductTypes.appExtension,
103
- constants_1.IOSNativeTargetProductTypes.watchApp,
104
- constants_1.IOSNativeTargetProductTypes.watchExtension,
105
- ], projectSigningConfig);
106
- this.$logger.trace(`Set Manual signing style and provisioning profile: ${projectSigningConfig.name} (${projectSigningConfig.uuid})`);
107
- const extensionSigningConfig = await Promise.all(this.getExtensionsManualSigningConfiguration(projectData));
108
- extensionSigningConfig.forEach(({ name, configuration }) => {
109
- xcode.setManualSigningStyle(name, configuration);
110
- this.$logger.trace(`Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})`);
111
- });
112
- xcode.save();
113
- }
114
- else {
115
- this.$logger.trace(`The specified provisioning profile is already set in the Xcode: ${provision}`);
116
- }
111
+ else {
112
+ shouldUpdateXcode = true;
113
+ }
114
+ if (shouldUpdateXcode) {
115
+ const projectSigningConfig = yield this.getManualSigningConfiguration(projectData, provision, mobileProvisionData);
116
+ xcode.setManualSigningStyle(projectData.projectName, projectSigningConfig);
117
+ xcode.setManualSigningStyleByTargetProductTypesList([
118
+ constants_1.IOSNativeTargetProductTypes.appExtension,
119
+ constants_1.IOSNativeTargetProductTypes.watchApp,
120
+ constants_1.IOSNativeTargetProductTypes.watchExtension,
121
+ ], projectSigningConfig);
122
+ this.$logger.trace(`Set Manual signing style and provisioning profile: ${projectSigningConfig.name} (${projectSigningConfig.uuid})`);
123
+ const extensionSigningConfig = yield Promise.all(this.getExtensionsManualSigningConfiguration(projectData));
124
+ extensionSigningConfig.forEach(({ name, configuration }) => {
125
+ xcode.setManualSigningStyle(name, configuration);
126
+ this.$logger.trace(`Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})`);
127
+ });
128
+ xcode.save();
129
+ // this.cache(uuid);
130
+ }
131
+ else {
132
+ this.$logger.trace(`The specified provisioning profile is already set in the Xcode: ${provision}`);
133
+ }
134
+ });
117
135
  }
118
136
  getExtensionNames(projectData) {
119
137
  const extensionFolderPath = path.join(projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER);
@@ -134,43 +152,45 @@ class IOSSigningService {
134
152
  if (this.$fs.exists(provisioningJSONPath)) {
135
153
  const provisioningJSON = this.$fs.readJson(provisioningJSONPath);
136
154
  const extensionNames = this.getExtensionNames(projectData);
137
- const provisioning = Object.entries(provisioningJSON).map(async ([id, provision]) => {
155
+ const provisioning = Object.entries(provisioningJSON).map(([id, provision]) => __awaiter(this, void 0, void 0, function* () {
138
156
  const name = id.split(".").at(-1);
139
157
  if (extensionNames.includes(name)) {
140
- const configuration = await this.getManualSigningConfiguration(projectData, provision);
158
+ const configuration = yield this.getManualSigningConfiguration(projectData, provision);
141
159
  return { name, configuration };
142
160
  }
143
161
  return null;
144
- });
162
+ }));
145
163
  return provisioning;
146
164
  }
147
165
  return [];
148
166
  }
149
- async getManualSigningConfiguration(projectData, provision, mobileProvisionData) {
150
- const pickStart = Date.now();
151
- const mobileprovision = mobileProvisionData ||
152
- (await this.$iOSProvisionService.pick(provision, projectData.projectIdentifiers.ios));
153
- const pickEnd = Date.now();
154
- this.$logger.trace("Searched and " +
155
- (mobileprovision ? "found" : "failed to find ") +
156
- " matching provisioning profile. (" +
157
- (pickEnd - pickStart) +
158
- "ms.)");
159
- if (!mobileprovision) {
160
- this.$errors.fail("Failed to find mobile provision with UUID or Name: " + provision);
161
- }
162
- const configuration = {
163
- team: mobileprovision.TeamIdentifier &&
164
- mobileprovision.TeamIdentifier.length > 0
165
- ? mobileprovision.TeamIdentifier[0]
166
- : undefined,
167
- uuid: mobileprovision.UUID,
168
- name: mobileprovision.Name,
169
- identity: mobileprovision.Type === "Development"
170
- ? "iPhone Developer"
171
- : "iPhone Distribution",
172
- };
173
- return configuration;
167
+ getManualSigningConfiguration(projectData, provision, mobileProvisionData) {
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ const pickStart = Date.now();
170
+ const mobileprovision = mobileProvisionData ||
171
+ (yield this.$iOSProvisionService.pick(provision, projectData.projectIdentifiers.ios));
172
+ const pickEnd = Date.now();
173
+ this.$logger.trace("Searched and " +
174
+ (mobileprovision ? "found" : "failed to find ") +
175
+ " matching provisioning profile. (" +
176
+ (pickEnd - pickStart) +
177
+ "ms.)");
178
+ if (!mobileprovision) {
179
+ this.$errors.fail("Failed to find mobile provision with UUID or Name: " + provision);
180
+ }
181
+ const configuration = {
182
+ team: mobileprovision.TeamIdentifier &&
183
+ mobileprovision.TeamIdentifier.length > 0
184
+ ? mobileprovision.TeamIdentifier[0]
185
+ : undefined,
186
+ uuid: mobileprovision.UUID,
187
+ name: mobileprovision.Name,
188
+ identity: mobileprovision.Type === "Development"
189
+ ? "iPhone Developer"
190
+ : "iPhone Distribution",
191
+ };
192
+ return configuration;
193
+ });
174
194
  }
175
195
  getBuildXCConfigFilePath(projectData) {
176
196
  return path.join(projectData.appResourcesDirectoryPath, constants_1.iOSAppResourcesFolderName, constants_1.BUILD_XCCONFIG_FILE_NAME);
@@ -190,63 +210,65 @@ class IOSSigningService {
190
210
  }
191
211
  return undefined;
192
212
  }
193
- async getDevelopmentTeam(projectData, projectRoot, teamId) {
194
- teamId = teamId || this.readXCConfigDevelopmentTeam(projectData);
195
- if (!teamId) {
196
- const teams = await this.$iOSProvisionService.getDevelopmentTeams();
197
- this.$logger.warn("Xcode requires a team id to be specified when building for device.");
198
- this.$logger.warn("You can specify the team id by setting the DEVELOPMENT_TEAM setting in build.xcconfig file located in App_Resources folder of your app, or by using the --teamId option when calling run, debug or livesync commands.");
199
- if (teams.length === 1) {
200
- teamId = teams[0].id;
201
- this.$logger.warn("Found and using the following development team installed on your system: " +
202
- teams[0].name +
203
- " (" +
204
- teams[0].id +
205
- ")");
206
- }
207
- else if (teams.length > 0) {
208
- if (!helpers.isInteractive()) {
209
- this.$errors.fail(`Unable to determine default development team. Available development teams are: ${_.map(teams, (team) => team.id)}. Specify team in app/App_Resources/iOS/build.xcconfig file in the following way: DEVELOPMENT_TEAM = <team id>`);
213
+ getDevelopmentTeam(projectData, projectRoot, teamId) {
214
+ return __awaiter(this, void 0, void 0, function* () {
215
+ teamId = teamId || this.readXCConfigDevelopmentTeam(projectData);
216
+ if (!teamId) {
217
+ const teams = yield this.$iOSProvisionService.getDevelopmentTeams();
218
+ this.$logger.warn("Xcode requires a team id to be specified when building for device.");
219
+ this.$logger.warn("You can specify the team id by setting the DEVELOPMENT_TEAM setting in build.xcconfig file located in App_Resources folder of your app, or by using the --teamId option when calling run, debug or livesync commands.");
220
+ if (teams.length === 1) {
221
+ teamId = teams[0].id;
222
+ this.$logger.warn("Found and using the following development team installed on your system: " +
223
+ teams[0].name +
224
+ " (" +
225
+ teams[0].id +
226
+ ")");
210
227
  }
211
- const fromFile = this.readTeamIdFromFile(projectRoot);
212
- if (fromFile) {
213
- const idFromFile = teams.find((value) => value.id === fromFile);
214
- if (idFromFile) {
215
- teamId = idFromFile.id;
216
- this.$logger.info(`Team Id resolved from file: '${teamId}'.`);
228
+ else if (teams.length > 0) {
229
+ if (!helpers.isInteractive()) {
230
+ this.$errors.fail(`Unable to determine default development team. Available development teams are: ${_.map(teams, (team) => team.id)}. Specify team in app/App_Resources/iOS/build.xcconfig file in the following way: DEVELOPMENT_TEAM = <team id>`);
217
231
  }
218
- }
219
- if (!teamId) {
220
- const choices = [];
221
- for (const team of teams) {
222
- choices.push(team.name + " (" + team.id + ")");
232
+ const fromFile = this.readTeamIdFromFile(projectRoot);
233
+ if (fromFile) {
234
+ const idFromFile = teams.find((value) => value.id === fromFile);
235
+ if (idFromFile) {
236
+ teamId = idFromFile.id;
237
+ this.$logger.info(`Team Id resolved from file: '${teamId}'.`);
238
+ }
223
239
  }
224
- const choice = await this.$prompter.promptForChoice("Found multiple development teams, select one:", choices);
225
- teamId = teams[choices.indexOf(choice)].id;
226
- const choicesPersist = [
227
- "Yes, set the DEVELOPMENT_TEAM setting in build.xcconfig file.",
228
- "Yes, persist the team id in platforms folder.",
229
- "No, don't persist this setting.",
230
- ];
231
- const choicePersist = await this.$prompter.promptForChoice("Do you want to make teamId: " +
232
- teamId +
233
- " a persistent choice for your app?", choicesPersist);
234
- switch (choicesPersist.indexOf(choicePersist)) {
235
- case 0:
236
- const xcconfigFile = path.join(projectData.appResourcesDirectoryPath, "iOS", constants_1.BUILD_XCCONFIG_FILE_NAME);
237
- this.$fs.appendFile(xcconfigFile, "\nDEVELOPMENT_TEAM = " + teamId + "\n");
238
- break;
239
- case 1:
240
- this.$fs.writeFile(path.join(projectRoot, "teamid"), teamId);
241
- break;
242
- default:
243
- break;
240
+ if (!teamId) {
241
+ const choices = [];
242
+ for (const team of teams) {
243
+ choices.push(team.name + " (" + team.id + ")");
244
+ }
245
+ const choice = yield this.$prompter.promptForChoice("Found multiple development teams, select one:", choices);
246
+ teamId = teams[choices.indexOf(choice)].id;
247
+ const choicesPersist = [
248
+ "Yes, set the DEVELOPMENT_TEAM setting in build.xcconfig file.",
249
+ "Yes, persist the team id in platforms folder.",
250
+ "No, don't persist this setting.",
251
+ ];
252
+ const choicePersist = yield this.$prompter.promptForChoice("Do you want to make teamId: " +
253
+ teamId +
254
+ " a persistent choice for your app?", choicesPersist);
255
+ switch (choicesPersist.indexOf(choicePersist)) {
256
+ case 0:
257
+ const xcconfigFile = path.join(projectData.appResourcesDirectoryPath, "iOS", constants_1.BUILD_XCCONFIG_FILE_NAME);
258
+ this.$fs.appendFile(xcconfigFile, "\nDEVELOPMENT_TEAM = " + teamId + "\n");
259
+ break;
260
+ case 1:
261
+ this.$fs.writeFile(path.join(projectRoot, "teamid"), teamId);
262
+ break;
263
+ default:
264
+ break;
265
+ }
244
266
  }
245
267
  }
246
268
  }
247
- }
248
- this.$logger.trace(`Selected teamId is '${teamId}'.`);
249
- return teamId;
269
+ this.$logger.trace(`Selected teamId is '${teamId}'.`);
270
+ return teamId;
271
+ });
250
272
  }
251
273
  readXCConfigDevelopmentTeam(projectData) {
252
274
  return this.$xcconfigService.readPropertyValue(this.getBuildXCConfigFilePath(projectData), "DEVELOPMENT_TEAM");
@@ -266,3 +288,4 @@ class IOSSigningService {
266
288
  }
267
289
  exports.IOSSigningService = IOSSigningService;
268
290
  yok_1.injector.register("iOSSigningService", IOSSigningService);
291
+ //# sourceMappingURL=ios-signing-service.js.map
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.SPMService = void 0;
4
13
  const yok_1 = require("../../common/yok");
@@ -15,60 +24,75 @@ class SPMService {
15
24
  const spmPackages = this.$projectConfigService.getValue(`${platform}.SPMPackages`, []);
16
25
  return spmPackages;
17
26
  }
18
- async applySPMPackages(platformData, projectData, pluginSpmPackages) {
27
+ // note: this is not used anywhere at the moment.
28
+ // public hasSPMPackages(projectData: IProjectData): boolean {
29
+ // return this.getSPMPackages(projectData).length > 0;
30
+ // }
31
+ applySPMPackages(platformData, projectData, pluginSpmPackages) {
19
32
  var _a;
20
- try {
21
- const spmPackages = this.getSPMPackages(projectData, platformData.platformNameLowerCase);
22
- if (pluginSpmPackages === null || pluginSpmPackages === void 0 ? void 0 : pluginSpmPackages.length) {
23
- spmPackages.push(...pluginSpmPackages);
24
- }
25
- if (!spmPackages.length) {
26
- this.$logger.trace("SPM: no SPM packages to apply.");
27
- return;
28
- }
29
- const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
30
- ios: {
31
- path: ".",
32
- },
33
- enableAndroid: false,
34
- });
35
- await project.load();
36
- if (!project.ios) {
37
- this.$logger.trace("SPM: no iOS project found via trapeze.");
38
- return;
39
- }
40
- for (const pkg of spmPackages) {
41
- if ("path" in pkg) {
42
- this.$logger.trace("SPM: resolving path for package: ", pkg.path);
43
- pkg.path = path.resolve(projectData.projectDir, pkg.path);
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ const spmPackages = this.getSPMPackages(projectData, platformData.platformNameLowerCase);
36
+ if (pluginSpmPackages === null || pluginSpmPackages === void 0 ? void 0 : pluginSpmPackages.length) {
37
+ // include swift packages from plugin configs
38
+ spmPackages.push(...pluginSpmPackages);
39
+ }
40
+ if (!spmPackages.length) {
41
+ this.$logger.trace("SPM: no SPM packages to apply.");
42
+ return;
44
43
  }
45
- this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
46
- await project.ios.addSPMPackage(projectData.projectName, pkg);
47
- if ((_a = pkg.targets) === null || _a === void 0 ? void 0 : _a.length) {
48
- for (const target of pkg.targets) {
49
- await project.ios.addSPMPackage(target, pkg);
44
+ const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
45
+ ios: {
46
+ path: ".",
47
+ },
48
+ enableAndroid: false,
49
+ });
50
+ yield project.load();
51
+ // note: in trapeze both visionOS and iOS are handled by the ios project.
52
+ if (!project.ios) {
53
+ this.$logger.trace("SPM: no iOS project found via trapeze.");
54
+ return;
55
+ }
56
+ // todo: handle removing packages? Or just warn and require a clean?
57
+ for (const pkg of spmPackages) {
58
+ if ("path" in pkg) {
59
+ // resolve the path relative to the project root
60
+ this.$logger.trace("SPM: resolving path for package: ", pkg.path);
61
+ pkg.path = path.resolve(projectData.projectDir, pkg.path);
62
+ }
63
+ this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
64
+ yield project.ios.addSPMPackage(projectData.projectName, pkg);
65
+ // Add to other Targets if specified (like widgets, etc.)
66
+ if ((_a = pkg.targets) === null || _a === void 0 ? void 0 : _a.length) {
67
+ for (const target of pkg.targets) {
68
+ yield project.ios.addSPMPackage(target, pkg);
69
+ }
50
70
  }
51
71
  }
72
+ yield project.commit();
73
+ // finally resolve the dependencies
74
+ yield this.resolveSPMDependencies(platformData, projectData);
75
+ }
76
+ catch (err) {
77
+ this.$logger.trace("SPM: error applying SPM packages: ", err);
52
78
  }
53
- await project.commit();
54
- await this.resolveSPMDependencies(platformData, projectData);
55
- }
56
- catch (err) {
57
- this.$logger.trace("SPM: error applying SPM packages: ", err);
58
- }
79
+ });
59
80
  }
60
- async resolveSPMDependencies(platformData, projectData) {
61
- await this.$xcodebuildCommandService.executeCommand(this.$xcodebuildArgsService
62
- .getXcodeProjectArgs(platformData, projectData)
63
- .concat([
64
- "-destination",
65
- "generic/platform=iOS",
66
- "-resolvePackageDependencies",
67
- ]), {
68
- cwd: projectData.projectDir,
69
- message: "Resolving SPM dependencies...",
81
+ resolveSPMDependencies(platformData, projectData) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ yield this.$xcodebuildCommandService.executeCommand(this.$xcodebuildArgsService
84
+ .getXcodeProjectArgs(platformData, projectData)
85
+ .concat([
86
+ "-destination",
87
+ "generic/platform=iOS",
88
+ "-resolvePackageDependencies",
89
+ ]), {
90
+ cwd: projectData.projectDir,
91
+ message: "Resolving SPM dependencies...",
92
+ });
70
93
  });
71
94
  }
72
95
  }
73
96
  exports.SPMService = SPMService;
74
97
  yok_1.injector.register("spmService", SPMService);
98
+ //# sourceMappingURL=spm-service.js.map