nativescript 8.9.0-dev.0 → 8.9.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/ios.d.ts +4 -2
  190. package/lib/definitions/project.d.ts +26 -0
  191. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  192. package/lib/detached-processes/cleanup-process.js +43 -30
  193. package/lib/detached-processes/file-log-service.js +2 -1
  194. package/lib/device-path-provider.js +35 -23
  195. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  196. package/lib/device-sockets/ios/notification.js +4 -1
  197. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  198. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  199. package/lib/helpers/deploy-command-helper.js +50 -44
  200. package/lib/helpers/key-command-helper.js +17 -6
  201. package/lib/helpers/livesync-command-helper.js +155 -137
  202. package/lib/helpers/network-connectivity-validator.js +18 -6
  203. package/lib/helpers/options-track-helper.js +19 -7
  204. package/lib/helpers/package-path-helper.js +1 -0
  205. package/lib/helpers/platform-command-helper.js +127 -101
  206. package/lib/helpers/version-validator-helper.js +1 -0
  207. package/lib/key-commands/bootstrap.js +3 -2
  208. package/lib/key-commands/index.js +205 -154
  209. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  210. package/lib/nativescript-cli-lib.js +1 -0
  211. package/lib/nativescript-cli.js +24 -6
  212. package/lib/node/pbxproj-dom-xcode.js +1 -0
  213. package/lib/node/xcode.js +1 -0
  214. package/lib/node-package-manager.js +114 -81
  215. package/lib/options.js +156 -122
  216. package/lib/package-installation-manager.js +172 -130
  217. package/lib/package-manager.js +88 -63
  218. package/lib/platform-command-param.js +16 -4
  219. package/lib/pnpm-package-manager.js +81 -59
  220. package/lib/project-data.js +13 -1
  221. package/lib/providers/project-files-provider.js +2 -1
  222. package/lib/resolvers/livesync-service-resolver.js +1 -0
  223. package/lib/services/analytics/analytics-broker-process.js +32 -19
  224. package/lib/services/analytics/analytics-broker.js +31 -17
  225. package/lib/services/analytics/analytics-service.js +210 -170
  226. package/lib/services/analytics/google-analytics-provider.js +59 -43
  227. package/lib/services/analytics-settings-service.js +37 -15
  228. package/lib/services/android/android-bundle-tool-service.js +61 -43
  229. package/lib/services/android/gradle-build-args-service.js +23 -9
  230. package/lib/services/android/gradle-build-service.js +36 -22
  231. package/lib/services/android/gradle-command-service.js +36 -22
  232. package/lib/services/android-device-debug-service.js +123 -90
  233. package/lib/services/android-plugin-build-service.js +260 -205
  234. package/lib/services/android-project-service.js +241 -129
  235. package/lib/services/android-resources-migration-service.js +71 -51
  236. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  237. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  238. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  239. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  240. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  241. package/lib/services/build-artifacts-service.js +22 -10
  242. package/lib/services/build-data-service.js +1 -0
  243. package/lib/services/build-info-file-service.js +36 -20
  244. package/lib/services/cleanup-service.js +81 -48
  245. package/lib/services/cocoapods-platform-manager.js +9 -0
  246. package/lib/services/cocoapods-service.js +153 -112
  247. package/lib/services/debug-data-service.js +1 -0
  248. package/lib/services/debug-service-base.js +7 -0
  249. package/lib/services/device/device-install-app-service.js +72 -54
  250. package/lib/services/doctor-service.js +135 -101
  251. package/lib/services/extensibility-service.js +108 -81
  252. package/lib/services/files-hash-service.js +44 -26
  253. package/lib/services/hmr-status-service.js +3 -1
  254. package/lib/services/info-service.js +1 -0
  255. package/lib/services/initialize-service.js +54 -37
  256. package/lib/services/ios/export-options-plist-service.js +55 -38
  257. package/lib/services/ios/ios-signing-service.js +191 -168
  258. package/lib/services/ios/spm-service.js +73 -43
  259. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  260. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  261. package/lib/services/ios/xcodebuild-service.js +72 -52
  262. package/lib/services/ios-debugger-port-service.js +38 -24
  263. package/lib/services/ios-device-debug-service.js +103 -75
  264. package/lib/services/ios-entitlements-service.js +43 -31
  265. package/lib/services/ios-extensions-service.js +30 -18
  266. package/lib/services/ios-log-filter.js +20 -0
  267. package/lib/services/ios-native-target-service.js +6 -4
  268. package/lib/services/ios-project-service.js +605 -437
  269. package/lib/services/ios-provision-service.js +132 -108
  270. package/lib/services/ios-watch-app-service.js +33 -21
  271. package/lib/services/ip-service.js +55 -38
  272. package/lib/services/itmstransporter-service.js +153 -129
  273. package/lib/services/karma-execution.js +2 -0
  274. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  275. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  276. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  277. package/lib/services/livesync/android-livesync-service.js +36 -14
  278. package/lib/services/livesync/android-livesync-tool.js +117 -90
  279. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  280. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  281. package/lib/services/livesync/ios-livesync-service.js +60 -42
  282. package/lib/services/livesync/livesync-socket.js +1 -0
  283. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  284. package/lib/services/livesync-process-data-service.js +1 -0
  285. package/lib/services/log-parser-service.js +2 -1
  286. package/lib/services/log-source-map-service.js +56 -30
  287. package/lib/services/marking-mode-service.js +33 -17
  288. package/lib/services/metadata-filtering-service.js +1 -0
  289. package/lib/services/npm-config-service.js +5 -1
  290. package/lib/services/pacote-service.js +73 -51
  291. package/lib/services/performance-service.js +4 -2
  292. package/lib/services/platform/add-platform-service.js +119 -51
  293. package/lib/services/platform/platform-validation-service.js +34 -22
  294. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  295. package/lib/services/platform-environment-requirements.js +43 -27
  296. package/lib/services/platform-project-service-base.js +1 -0
  297. package/lib/services/platforms-data-service.js +1 -0
  298. package/lib/services/plugins-service.js +168 -125
  299. package/lib/services/prepare-data-service.js +1 -0
  300. package/lib/services/project-backup-service.js +5 -1
  301. package/lib/services/project-changes-service.js +152 -124
  302. package/lib/services/project-cleanup-service.js +79 -64
  303. package/lib/services/project-config-service.js +111 -73
  304. package/lib/services/project-data-service.js +154 -108
  305. package/lib/services/project-name-service.js +44 -28
  306. package/lib/services/project-service.js +113 -84
  307. package/lib/services/project-templates-service.js +68 -52
  308. package/lib/services/qr-code-terminal-service.js +1 -0
  309. package/lib/services/require-service.js +1 -0
  310. package/lib/services/start-service.js +60 -41
  311. package/lib/services/temp-service.js +22 -8
  312. package/lib/services/terminal-spinner-service.js +28 -15
  313. package/lib/services/test-execution-service.js +79 -59
  314. package/lib/services/test-initialization-service.js +6 -2
  315. package/lib/services/timeline-profiler-service.js +2 -1
  316. package/lib/services/user-settings-service.js +1 -0
  317. package/lib/services/versions-service.js +140 -119
  318. package/lib/services/watch-ignore-list-service.js +1 -0
  319. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  320. package/lib/services/xcconfig-service.js +21 -8
  321. package/lib/services/xcproj-service.js +1 -0
  322. package/lib/shared-event-bus.js +6 -0
  323. package/lib/sys-info.js +63 -45
  324. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  325. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  326. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  327. package/lib/yarn-package-manager.js +79 -59
  328. package/lib/yarn2-package-manager.js +82 -60
  329. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  330. package/node_modules/@npmcli/move-file/README.md +69 -0
  331. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  342. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  343. package/node_modules/@npmcli/move-file/package.json +47 -0
  344. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  345. package/node_modules/balanced-match/LICENSE.md +21 -0
  346. package/node_modules/balanced-match/README.md +97 -0
  347. package/node_modules/balanced-match/index.js +62 -0
  348. package/node_modules/balanced-match/package.json +48 -0
  349. package/node_modules/concat-map/.travis.yml +4 -0
  350. package/node_modules/concat-map/LICENSE +18 -0
  351. package/node_modules/concat-map/README.markdown +62 -0
  352. package/node_modules/concat-map/example/map.js +6 -0
  353. package/node_modules/concat-map/index.js +13 -0
  354. package/node_modules/concat-map/package.json +43 -0
  355. package/node_modules/concat-map/test/map.js +39 -0
  356. package/node_modules/fs.realpath/LICENSE +43 -0
  357. package/node_modules/fs.realpath/README.md +33 -0
  358. package/node_modules/fs.realpath/index.js +66 -0
  359. package/node_modules/fs.realpath/old.js +303 -0
  360. package/node_modules/fs.realpath/package.json +26 -0
  361. package/node_modules/inflight/LICENSE +15 -0
  362. package/node_modules/inflight/README.md +37 -0
  363. package/node_modules/inflight/inflight.js +54 -0
  364. package/node_modules/inflight/package.json +29 -0
  365. package/node_modules/inherits/LICENSE +16 -0
  366. package/node_modules/inherits/README.md +42 -0
  367. package/node_modules/inherits/inherits.js +9 -0
  368. package/node_modules/inherits/inherits_browser.js +27 -0
  369. package/node_modules/inherits/package.json +29 -0
  370. package/node_modules/once/LICENSE +15 -0
  371. package/node_modules/once/README.md +79 -0
  372. package/node_modules/once/once.js +42 -0
  373. package/node_modules/once/package.json +33 -0
  374. package/node_modules/path-is-absolute/index.js +20 -0
  375. package/node_modules/path-is-absolute/license +21 -0
  376. package/node_modules/path-is-absolute/package.json +43 -0
  377. package/node_modules/path-is-absolute/readme.md +59 -0
  378. package/node_modules/rimraf/LICENSE +15 -0
  379. package/node_modules/rimraf/README.md +101 -0
  380. package/node_modules/rimraf/bin.js +68 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  384. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  385. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  386. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  387. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  388. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  389. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  390. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  391. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  392. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  393. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  394. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  395. package/node_modules/rimraf/package.json +32 -0
  396. package/node_modules/rimraf/rimraf.js +360 -0
  397. package/node_modules/stringify-package/LICENSE +13 -0
  398. package/node_modules/stringify-package/README.md +55 -0
  399. package/node_modules/stringify-package/index.js +18 -0
  400. package/node_modules/stringify-package/package.json +38 -0
  401. package/node_modules/wrappy/LICENSE +15 -0
  402. package/node_modules/wrappy/README.md +36 -0
  403. package/node_modules/wrappy/package.json +29 -0
  404. package/node_modules/wrappy/wrappy.js +33 -0
  405. package/package.json +79 -64
@@ -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,54 +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) {
19
- try {
20
- const spmPackages = this.getSPMPackages(projectData, platformData.platformNameLowerCase);
21
- if (pluginSpmPackages === null || pluginSpmPackages === void 0 ? void 0 : pluginSpmPackages.length) {
22
- spmPackages.push(...pluginSpmPackages);
23
- }
24
- if (!spmPackages.length) {
25
- this.$logger.trace("SPM: no SPM packages to apply.");
26
- return;
27
- }
28
- const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
29
- ios: {
30
- path: ".",
31
- },
32
- enableAndroid: false,
33
- });
34
- await project.load();
35
- if (!project.ios) {
36
- this.$logger.trace("SPM: no iOS project found via trapeze.");
37
- return;
38
- }
39
- for (const pkg of spmPackages) {
40
- if ("path" in pkg) {
41
- this.$logger.trace("SPM: resolving path for package: ", pkg.path);
42
- pkg.path = path.resolve(projectData.projectDir, pkg.path);
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) {
32
+ var _a;
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;
43
43
  }
44
- this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
45
- await project.ios.addSPMPackage(projectData.projectName, 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
+ }
70
+ }
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);
46
78
  }
47
- await project.commit();
48
- await this.resolveSPMDependencies(platformData, projectData);
49
- }
50
- catch (err) {
51
- this.$logger.trace("SPM: error applying SPM packages: ", err);
52
- }
79
+ });
53
80
  }
54
- async resolveSPMDependencies(platformData, projectData) {
55
- await this.$xcodebuildCommandService.executeCommand(this.$xcodebuildArgsService
56
- .getXcodeProjectArgs(platformData, projectData)
57
- .concat([
58
- "-destination",
59
- "generic/platform=iOS",
60
- "-resolvePackageDependencies",
61
- ]), {
62
- cwd: projectData.projectDir,
63
- 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
+ });
64
93
  });
65
94
  }
66
95
  }
67
96
  exports.SPMService = SPMService;
68
97
  yok_1.injector.register("spmService", SPMService);
98
+ //# sourceMappingURL=spm-service.js.map