@akylas/nativescript-cli 8.7.2 → 8.8.3

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 (295) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
  3. package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
  4. package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
  5. package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
  6. package/docs/man_pages/project/configuration/native/native-add.md +31 -0
  7. package/docs/man_pages/project/configuration/native/native.md +31 -0
  8. package/lib/.d.ts +2 -0
  9. package/lib/android-tools-info.js +9 -20
  10. package/lib/base-package-manager.js +47 -64
  11. package/lib/bootstrap.js +8 -0
  12. package/lib/bun-package-manager.js +65 -88
  13. package/lib/color.js +2 -2
  14. package/lib/commands/add-platform.js +14 -30
  15. package/lib/commands/apple-login.js +18 -29
  16. package/lib/commands/appstore-list.js +34 -45
  17. package/lib/commands/appstore-upload.js +55 -68
  18. package/lib/commands/build.js +57 -86
  19. package/lib/commands/clean.js +161 -176
  20. package/lib/commands/command-base.js +14 -27
  21. package/lib/commands/config.js +51 -70
  22. package/lib/commands/create-project.js +210 -229
  23. package/lib/commands/debug.js +66 -88
  24. package/lib/commands/deploy.js +28 -44
  25. package/lib/commands/embedding/embed.js +72 -0
  26. package/lib/commands/extensibility/install-extension.js +5 -16
  27. package/lib/commands/extensibility/list-extensions.js +13 -24
  28. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  29. package/lib/commands/fonts.js +30 -41
  30. package/lib/commands/generate-assets.js +13 -28
  31. package/lib/commands/generate-help.js +2 -13
  32. package/lib/commands/generate.js +17 -26
  33. package/lib/commands/info.js +2 -13
  34. package/lib/commands/install.js +34 -49
  35. package/lib/commands/list-platforms.js +14 -25
  36. package/lib/commands/migrate.js +15 -26
  37. package/lib/commands/native-add.js +277 -0
  38. package/lib/commands/platform-clean.js +19 -32
  39. package/lib/commands/plugin/add-plugin.js +12 -25
  40. package/lib/commands/plugin/build-plugin.js +34 -45
  41. package/lib/commands/plugin/create-plugin.js +110 -133
  42. package/lib/commands/plugin/list-plugins.js +22 -33
  43. package/lib/commands/plugin/remove-plugin.js +20 -33
  44. package/lib/commands/plugin/update-plugin.js +20 -33
  45. package/lib/commands/post-install.js +20 -33
  46. package/lib/commands/prepare.js +28 -35
  47. package/lib/commands/preview.js +49 -62
  48. package/lib/commands/remove-platform.js +7 -18
  49. package/lib/commands/resources/resources-update.js +13 -26
  50. package/lib/commands/run.js +55 -76
  51. package/lib/commands/start.js +6 -19
  52. package/lib/commands/test-init.js +123 -134
  53. package/lib/commands/test.js +66 -89
  54. package/lib/commands/typings.js +126 -142
  55. package/lib/commands/update-platform.js +22 -35
  56. package/lib/commands/update.js +30 -43
  57. package/lib/common/child-process.js +53 -72
  58. package/lib/common/codeGeneration/code-entity.js +1 -1
  59. package/lib/common/codeGeneration/code-printer.js +1 -1
  60. package/lib/common/command-params.js +7 -18
  61. package/lib/common/commands/analytics.js +27 -40
  62. package/lib/common/commands/autocompletion.js +39 -56
  63. package/lib/common/commands/device/device-log-stream.js +12 -23
  64. package/lib/common/commands/device/get-file.js +22 -33
  65. package/lib/common/commands/device/list-applications.js +12 -23
  66. package/lib/common/commands/device/list-devices.js +72 -87
  67. package/lib/common/commands/device/list-files.js +23 -34
  68. package/lib/common/commands/device/put-file.js +22 -33
  69. package/lib/common/commands/device/run-application.js +12 -25
  70. package/lib/common/commands/device/stop-application.js +11 -22
  71. package/lib/common/commands/device/uninstall-application.js +6 -17
  72. package/lib/common/commands/generate-messages.js +17 -28
  73. package/lib/common/commands/help.js +20 -33
  74. package/lib/common/commands/package-manager-get.js +6 -17
  75. package/lib/common/commands/package-manager-set.js +9 -20
  76. package/lib/common/commands/post-install.js +2 -13
  77. package/lib/common/commands/preuninstall.js +23 -38
  78. package/lib/common/commands/proxy/proxy-base.js +8 -19
  79. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  80. package/lib/common/commands/proxy/proxy-get.js +3 -14
  81. package/lib/common/commands/proxy/proxy-set.js +87 -100
  82. package/lib/common/constants.js +11 -11
  83. package/lib/common/decorators.js +10 -22
  84. package/lib/common/dispatchers.js +79 -96
  85. package/lib/common/errors.js +89 -104
  86. package/lib/common/file-system.js +106 -127
  87. package/lib/common/header.js +1 -2
  88. package/lib/common/helpers.js +149 -178
  89. package/lib/common/host-info.js +37 -50
  90. package/lib/common/http-client.js +93 -108
  91. package/lib/common/logger/appenders/cli-appender.js +1 -2
  92. package/lib/common/logger/appenders/emit-appender.js +1 -2
  93. package/lib/common/logger/layouts/cli-layout.js +1 -2
  94. package/lib/common/logger/logger.js +1 -1
  95. package/lib/common/mobile/android/android-application-manager.js +121 -142
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  98. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  99. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  100. package/lib/common/mobile/android/android-device.js +74 -91
  101. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  102. package/lib/common/mobile/android/android-log-filter.js +1 -1
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  107. package/lib/common/mobile/android/logcat-helper.js +108 -118
  108. package/lib/common/mobile/application-manager-base.js +84 -107
  109. package/lib/common/mobile/device-log-provider-base.js +7 -18
  110. package/lib/common/mobile/emulator-helper.js +1 -0
  111. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  112. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  113. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  114. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  115. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  116. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  117. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  118. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  119. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  120. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  121. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  122. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  123. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  124. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  125. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  126. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  127. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  128. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  129. package/lib/common/mobile/mobile-helper.js +15 -26
  130. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  131. package/lib/common/opener.js +2 -2
  132. package/lib/common/plist-parser.js +2 -2
  133. package/lib/common/prompter.js +90 -105
  134. package/lib/common/queue.js +9 -20
  135. package/lib/common/services/auto-completion-service.js +39 -52
  136. package/lib/common/services/cancellation.js +17 -28
  137. package/lib/common/services/commands-service.js +146 -169
  138. package/lib/common/services/help-service.js +132 -157
  139. package/lib/common/services/hooks-service.js +93 -108
  140. package/lib/common/services/ios-notification-service.js +21 -34
  141. package/lib/common/services/json-file-settings-service.js +52 -71
  142. package/lib/common/services/lock-service.js +35 -52
  143. package/lib/common/services/message-contract-generator.js +35 -46
  144. package/lib/common/services/micro-templating-service.js +4 -15
  145. package/lib/common/services/net-service.js +90 -107
  146. package/lib/common/services/project-files-manager.js +10 -23
  147. package/lib/common/services/proxy-service.js +13 -24
  148. package/lib/common/services/qr.js +13 -24
  149. package/lib/common/services/settings-service.js +1 -1
  150. package/lib/common/services/xcode-select-service.js +20 -35
  151. package/lib/common/utils.js +7 -0
  152. package/lib/common/validators/project-name-validator.js +1 -1
  153. package/lib/common/validators/validation-result.js +1 -1
  154. package/lib/common/verify-node-version.js +2 -3
  155. package/lib/common/yok.js +23 -36
  156. package/lib/config.js +7 -58
  157. package/lib/constants.js +24 -24
  158. package/lib/controllers/build-controller.js +82 -99
  159. package/lib/controllers/debug-controller.js +107 -128
  160. package/lib/controllers/deploy-controller.js +17 -22
  161. package/lib/controllers/migrate-controller.js +727 -800
  162. package/lib/controllers/platform-controller.js +72 -83
  163. package/lib/controllers/prepare-controller.js +264 -250
  164. package/lib/controllers/run-controller.js +392 -406
  165. package/lib/controllers/update-controller-base.js +16 -29
  166. package/lib/controllers/update-controller.js +94 -119
  167. package/lib/data/build-data.js +2 -0
  168. package/lib/data/prepare-data.js +5 -1
  169. package/lib/declarations.d.ts +14 -3
  170. package/lib/definitions/android-plugin-migrator.d.ts +1 -0
  171. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  172. package/lib/definitions/livesync.d.ts +1 -1
  173. package/lib/definitions/platform.d.ts +1 -0
  174. package/lib/definitions/prepare.d.ts +3 -0
  175. package/lib/definitions/project.d.ts +5 -0
  176. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  177. package/lib/detached-processes/cleanup-process.js +16 -25
  178. package/lib/device-path-provider.js +23 -34
  179. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  180. package/lib/device-sockets/ios/notification.js +1 -1
  181. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  182. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  183. package/lib/helpers/deploy-command-helper.js +45 -49
  184. package/lib/helpers/key-command-helper.js +4 -13
  185. package/lib/helpers/livesync-command-helper.js +137 -152
  186. package/lib/helpers/network-connectivity-validator.js +6 -17
  187. package/lib/helpers/options-track-helper.js +6 -17
  188. package/lib/helpers/platform-command-helper.js +102 -114
  189. package/lib/key-commands/index.js +161 -211
  190. package/lib/nativescript-cli.js +5 -14
  191. package/lib/node-package-manager.js +81 -104
  192. package/lib/options.js +12 -14
  193. package/lib/package-installation-manager.js +130 -165
  194. package/lib/package-manager.js +63 -86
  195. package/lib/platform-command-param.js +4 -15
  196. package/lib/pnpm-package-manager.js +59 -78
  197. package/lib/project-data.js +5 -2
  198. package/lib/providers/project-files-provider.js +2 -2
  199. package/lib/services/analytics/analytics-broker-process.js +13 -22
  200. package/lib/services/analytics/analytics-broker.js +17 -30
  201. package/lib/services/analytics/analytics-service.js +161 -198
  202. package/lib/services/analytics/google-analytics-provider.js +41 -56
  203. package/lib/services/analytics-settings-service.js +15 -32
  204. package/lib/services/android/android-bundle-tool-service.js +43 -60
  205. package/lib/services/android/gradle-build-args-service.js +13 -23
  206. package/lib/services/android/gradle-build-service.js +34 -47
  207. package/lib/services/android/gradle-command-service.js +23 -32
  208. package/lib/services/android-device-debug-service.js +90 -117
  209. package/lib/services/android-plugin-build-service.js +233 -247
  210. package/lib/services/android-project-service.js +180 -219
  211. package/lib/services/android-resources-migration-service.js +51 -64
  212. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  213. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  214. package/lib/services/assets-generation/assets-generation-service.js +100 -113
  215. package/lib/services/build-artifacts-service.js +9 -20
  216. package/lib/services/build-info-file-service.js +20 -35
  217. package/lib/services/cleanup-service.js +47 -76
  218. package/lib/services/cocoapods-service.js +118 -133
  219. package/lib/services/device/device-install-app-service.js +73 -90
  220. package/lib/services/doctor-service.js +99 -118
  221. package/lib/services/extensibility-service.js +81 -100
  222. package/lib/services/files-hash-service.js +28 -44
  223. package/lib/services/hmr-status-service.js +1 -1
  224. package/lib/services/initialize-service.js +37 -50
  225. package/lib/services/ios/export-options-plist-service.js +38 -51
  226. package/lib/services/ios/ios-signing-service.js +161 -180
  227. package/lib/services/ios/spm-service.js +40 -53
  228. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  229. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  230. package/lib/services/ios/xcodebuild-service.js +50 -69
  231. package/lib/services/ios-debugger-port-service.js +23 -36
  232. package/lib/services/ios-device-debug-service.js +75 -102
  233. package/lib/services/ios-entitlements-service.js +31 -42
  234. package/lib/services/ios-extensions-service.js +18 -29
  235. package/lib/services/ios-project-service.js +418 -440
  236. package/lib/services/ios-provision-service.js +108 -129
  237. package/lib/services/ios-watch-app-service.js +21 -32
  238. package/lib/services/ip-service.js +38 -53
  239. package/lib/services/itmstransporter-service.js +129 -152
  240. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  241. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  242. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
  243. package/lib/services/livesync/android-livesync-service.js +16 -37
  244. package/lib/services/livesync/android-livesync-tool.js +89 -112
  245. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  246. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  247. package/lib/services/livesync/ios-livesync-service.js +44 -60
  248. package/lib/services/livesync/platform-livesync-service-base.js +96 -120
  249. package/lib/services/log-parser-service.js +1 -1
  250. package/lib/services/log-source-map-service.js +33 -43
  251. package/lib/services/marking-mode-service.js +15 -28
  252. package/lib/services/npm-config-service.js +1 -1
  253. package/lib/services/pacote-service.js +49 -64
  254. package/lib/services/performance-service.js +1 -1
  255. package/lib/services/platform/add-platform-service.js +53 -69
  256. package/lib/services/platform/platform-validation-service.js +22 -33
  257. package/lib/services/platform/prepare-native-platform-service.js +50 -60
  258. package/lib/services/platform-environment-requirements.js +29 -38
  259. package/lib/services/plugins-service.js +128 -147
  260. package/lib/services/project-backup-service.js +1 -1
  261. package/lib/services/project-changes-service.js +129 -139
  262. package/lib/services/project-cleanup-service.js +64 -77
  263. package/lib/services/project-config-service.js +71 -80
  264. package/lib/services/project-data-service.js +116 -139
  265. package/lib/services/project-name-service.js +28 -43
  266. package/lib/services/project-service.js +84 -103
  267. package/lib/services/project-templates-service.js +52 -67
  268. package/lib/services/start-service.js +41 -59
  269. package/lib/services/temp-service.js +8 -21
  270. package/lib/services/terminal-spinner-service.js +13 -24
  271. package/lib/services/test-execution-service.js +59 -72
  272. package/lib/services/test-initialization-service.js +2 -2
  273. package/lib/services/timeline-profiler-service.js +1 -1
  274. package/lib/services/versions-service.js +119 -138
  275. package/lib/services/webpack/webpack-compiler-service.js +212 -224
  276. package/lib/services/xcconfig-service.js +8 -19
  277. package/lib/services/xcproj-service.js +12 -0
  278. package/lib/sys-info.js +45 -62
  279. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  280. package/lib/yarn-package-manager.js +59 -78
  281. package/lib/yarn2-package-manager.js +60 -79
  282. package/package.json +59 -57
  283. package/vendor/aab-tool/README.txt +1 -1
  284. package/vendor/aab-tool/bundletool.jar +0 -0
  285. package/vendor/gradle-app/app/build.gradle +12 -4
  286. package/vendor/gradle-plugin/build.gradle +12 -4
  287. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  288. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  289. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  290. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  291. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  292. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  293. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  294. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  295. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.IOSSigningService = void 0;
13
4
  const path = require("path");
@@ -27,108 +18,102 @@ class IOSSigningService {
27
18
  this.$xcconfigService = $xcconfigService;
28
19
  this.$xcprojService = $xcprojService;
29
20
  }
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
- });
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
+ }
52
41
  }
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
- const teamIdsForName = yield this.$iOSProvisionService.getTeamIdsWithName(teamId);
61
- if (!teamIdsForName.some((id) => id === signing.team)) {
62
- shouldUpdateXcode = true;
63
- }
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;
64
51
  }
65
52
  }
66
- else {
67
- shouldUpdateXcode = true;
68
- }
69
- if (shouldUpdateXcode) {
70
- const teamIdsForName = yield this.$iOSProvisionService.getTeamIdsWithName(teamId);
71
- if (teamIdsForName.length > 0) {
72
- this.$logger.trace(`Team id ${teamIdsForName[0]} will be used for team name "${teamId}".`);
73
- teamId = teamIdsForName[0];
74
- }
75
- xcode.setAutomaticSigningStyle(projectData.projectName, teamId);
76
- xcode.setAutomaticSigningStyleByTargetProductTypesList([
77
- constants_1.IOSNativeTargetProductTypes.appExtension,
78
- constants_1.IOSNativeTargetProductTypes.watchApp,
79
- constants_1.IOSNativeTargetProductTypes.watchExtension,
80
- ], teamId);
81
- this.getExtensionNames(projectData).forEach((name) => {
82
- xcode.setAutomaticSigningStyle(name, teamId);
83
- });
84
- xcode.save();
85
- this.$logger.trace(`Set Automatic signing style and team id ${teamId}.`);
86
- }
87
- else {
88
- this.$logger.trace(`The specified ${teamId} is already set in the Xcode.`);
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];
89
62
  }
90
- });
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
+ }
91
78
  }
92
- setupSigningFromProvision(projectRoot, projectData, provision, mobileProvisionData) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- if (!provision) {
95
- return;
96
- }
97
- const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
98
- const signing = xcode.getSigning(projectData.projectName);
99
- let shouldUpdateXcode = false;
100
- if (signing && signing.style === "Manual") {
101
- for (const config in signing.configurations) {
102
- const options = signing.configurations[config];
103
- if (options.name !== provision && options.uuid !== provision) {
104
- shouldUpdateXcode = true;
105
- break;
106
- }
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;
107
92
  }
108
93
  }
109
- else {
110
- shouldUpdateXcode = true;
111
- }
112
- if (shouldUpdateXcode) {
113
- const projectSigningConfig = yield this.getManualSigningConfiguration(projectData, provision, mobileProvisionData);
114
- xcode.setManualSigningStyle(projectData.projectName, projectSigningConfig);
115
- xcode.setManualSigningStyleByTargetProductTypesList([
116
- constants_1.IOSNativeTargetProductTypes.appExtension,
117
- constants_1.IOSNativeTargetProductTypes.watchApp,
118
- constants_1.IOSNativeTargetProductTypes.watchExtension,
119
- ], projectSigningConfig);
120
- this.$logger.trace(`Set Manual signing style and provisioning profile: ${projectSigningConfig.name} (${projectSigningConfig.uuid})`);
121
- const extensionSigningConfig = yield Promise.all(this.getExtensionsManualSigningConfiguration(projectData));
122
- extensionSigningConfig.forEach(({ name, configuration }) => {
123
- xcode.setManualSigningStyle(name, configuration);
124
- this.$logger.trace(`Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})`);
125
- });
126
- xcode.save();
127
- }
128
- else {
129
- this.$logger.trace(`The specified provisioning profile is already set in the Xcode: ${provision}`);
130
- }
131
- });
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
+ }
132
117
  }
133
118
  getExtensionNames(projectData) {
134
119
  const extensionFolderPath = path.join(projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER);
@@ -149,45 +134,43 @@ class IOSSigningService {
149
134
  if (this.$fs.exists(provisioningJSONPath)) {
150
135
  const provisioningJSON = this.$fs.readJson(provisioningJSONPath);
151
136
  const extensionNames = this.getExtensionNames(projectData);
152
- const provisioning = Object.entries(provisioningJSON).map(([id, provision]) => __awaiter(this, void 0, void 0, function* () {
137
+ const provisioning = Object.entries(provisioningJSON).map(async ([id, provision]) => {
153
138
  const name = id.split(".").at(-1);
154
139
  if (extensionNames.includes(name)) {
155
- const configuration = yield this.getManualSigningConfiguration(projectData, provision);
140
+ const configuration = await this.getManualSigningConfiguration(projectData, provision);
156
141
  return { name, configuration };
157
142
  }
158
143
  return null;
159
- }));
144
+ });
160
145
  return provisioning;
161
146
  }
162
147
  return [];
163
148
  }
164
- getManualSigningConfiguration(projectData, provision, mobileProvisionData) {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- const pickStart = Date.now();
167
- const mobileprovision = mobileProvisionData ||
168
- (yield this.$iOSProvisionService.pick(provision, projectData.projectIdentifiers.ios));
169
- const pickEnd = Date.now();
170
- this.$logger.trace("Searched and " +
171
- (mobileprovision ? "found" : "failed to find ") +
172
- " matching provisioning profile. (" +
173
- (pickEnd - pickStart) +
174
- "ms.)");
175
- if (!mobileprovision) {
176
- this.$errors.fail("Failed to find mobile provision with UUID or Name: " + provision);
177
- }
178
- const configuration = {
179
- team: mobileprovision.TeamIdentifier &&
180
- mobileprovision.TeamIdentifier.length > 0
181
- ? mobileprovision.TeamIdentifier[0]
182
- : undefined,
183
- uuid: mobileprovision.UUID,
184
- name: mobileprovision.Name,
185
- identity: mobileprovision.Type === "Development"
186
- ? "iPhone Developer"
187
- : "iPhone Distribution",
188
- };
189
- return configuration;
190
- });
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;
191
174
  }
192
175
  getBuildXCConfigFilePath(projectData) {
193
176
  return path.join(projectData.appResourcesDirectoryPath, constants_1.iOSAppResourcesFolderName, constants_1.BUILD_XCCONFIG_FILE_NAME);
@@ -195,55 +178,53 @@ class IOSSigningService {
195
178
  getPbxProjPath(projectData, projectRoot) {
196
179
  return path.join(this.$xcprojService.getXcodeprojPath(projectData, projectRoot), "project.pbxproj");
197
180
  }
198
- getDevelopmentTeam(projectData, projectRoot, teamId) {
199
- return __awaiter(this, void 0, void 0, function* () {
200
- teamId = teamId || this.readXCConfigDevelopmentTeam(projectData);
201
- if (!teamId) {
202
- const teams = yield this.$iOSProvisionService.getDevelopmentTeams();
203
- this.$logger.warn("Xcode requires a team id to be specified when building for device.");
204
- 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.");
205
- if (teams.length === 1) {
206
- teamId = teams[0].id;
207
- this.$logger.warn("Found and using the following development team installed on your system: " +
208
- teams[0].name +
209
- " (" +
210
- teams[0].id +
211
- ")");
181
+ async getDevelopmentTeam(projectData, projectRoot, teamId) {
182
+ teamId = teamId || this.readXCConfigDevelopmentTeam(projectData);
183
+ if (!teamId) {
184
+ const teams = await this.$iOSProvisionService.getDevelopmentTeams();
185
+ this.$logger.warn("Xcode requires a team id to be specified when building for device.");
186
+ 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.");
187
+ if (teams.length === 1) {
188
+ teamId = teams[0].id;
189
+ this.$logger.warn("Found and using the following development team installed on your system: " +
190
+ teams[0].name +
191
+ " (" +
192
+ teams[0].id +
193
+ ")");
194
+ }
195
+ else if (teams.length > 0) {
196
+ if (!helpers.isInteractive()) {
197
+ 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>`);
198
+ }
199
+ const choices = [];
200
+ for (const team of teams) {
201
+ choices.push(team.name + " (" + team.id + ")");
212
202
  }
213
- else if (teams.length > 0) {
214
- if (!helpers.isInteractive()) {
215
- 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>`);
216
- }
217
- const choices = [];
218
- for (const team of teams) {
219
- choices.push(team.name + " (" + team.id + ")");
220
- }
221
- const choice = yield this.$prompter.promptForChoice("Found multiple development teams, select one:", choices);
222
- teamId = teams[choices.indexOf(choice)].id;
223
- const choicesPersist = [
224
- "Yes, set the DEVELOPMENT_TEAM setting in build.xcconfig file.",
225
- "Yes, persist the team id in platforms folder.",
226
- "No, don't persist this setting.",
227
- ];
228
- const choicePersist = yield this.$prompter.promptForChoice("Do you want to make teamId: " +
229
- teamId +
230
- " a persistent choice for your app?", choicesPersist);
231
- switch (choicesPersist.indexOf(choicePersist)) {
232
- case 0:
233
- const xcconfigFile = path.join(projectData.appResourcesDirectoryPath, "iOS", constants_1.BUILD_XCCONFIG_FILE_NAME);
234
- this.$fs.appendFile(xcconfigFile, "\nDEVELOPMENT_TEAM = " + teamId + "\n");
235
- break;
236
- case 1:
237
- this.$fs.writeFile(path.join(projectRoot, "teamid"), teamId);
238
- break;
239
- default:
240
- break;
241
- }
203
+ const choice = await this.$prompter.promptForChoice("Found multiple development teams, select one:", choices);
204
+ teamId = teams[choices.indexOf(choice)].id;
205
+ const choicesPersist = [
206
+ "Yes, set the DEVELOPMENT_TEAM setting in build.xcconfig file.",
207
+ "Yes, persist the team id in platforms folder.",
208
+ "No, don't persist this setting.",
209
+ ];
210
+ const choicePersist = await this.$prompter.promptForChoice("Do you want to make teamId: " +
211
+ teamId +
212
+ " a persistent choice for your app?", choicesPersist);
213
+ switch (choicesPersist.indexOf(choicePersist)) {
214
+ case 0:
215
+ const xcconfigFile = path.join(projectData.appResourcesDirectoryPath, "iOS", constants_1.BUILD_XCCONFIG_FILE_NAME);
216
+ this.$fs.appendFile(xcconfigFile, "\nDEVELOPMENT_TEAM = " + teamId + "\n");
217
+ break;
218
+ case 1:
219
+ this.$fs.writeFile(path.join(projectRoot, "teamid"), teamId);
220
+ break;
221
+ default:
222
+ break;
242
223
  }
243
224
  }
244
- this.$logger.trace(`Selected teamId is '${teamId}'.`);
245
- return teamId;
246
- });
225
+ }
226
+ this.$logger.trace(`Selected teamId is '${teamId}'.`);
227
+ return teamId;
247
228
  }
248
229
  readXCConfigDevelopmentTeam(projectData) {
249
230
  return this.$xcconfigService.readPropertyValue(this.getBuildXCConfigFilePath(projectData), "DEVELOPMENT_TEAM");
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.SPMService = void 0;
13
4
  const yok_1 = require("../../common/yok");
@@ -24,53 +15,49 @@ class SPMService {
24
15
  const spmPackages = this.$projectConfigService.getValue(`${platform}.SPMPackages`, []);
25
16
  return spmPackages;
26
17
  }
27
- applySPMPackages(platformData, projectData) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- try {
30
- const spmPackages = this.getSPMPackages(projectData, platformData.platformNameLowerCase);
31
- if (!spmPackages.length) {
32
- this.$logger.trace("SPM: no SPM packages to apply.");
33
- return;
34
- }
35
- const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
36
- ios: {
37
- path: ".",
38
- },
39
- enableAndroid: false,
40
- });
41
- yield project.load();
42
- if (!project.ios) {
43
- this.$logger.trace("SPM: no iOS project found via trapeze.");
44
- return;
45
- }
46
- for (const pkg of spmPackages) {
47
- if ("path" in pkg) {
48
- this.$logger.trace("SPM: resolving path for package: ", pkg.path);
49
- pkg.path = path.resolve(projectData.projectDir, pkg.path);
50
- }
51
- this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
52
- yield project.ios.addSPMPackage(projectData.projectName, pkg);
53
- }
54
- yield project.commit();
55
- yield this.resolveSPMDependencies(platformData, projectData);
18
+ async applySPMPackages(platformData, projectData) {
19
+ try {
20
+ const spmPackages = this.getSPMPackages(projectData, platformData.platformNameLowerCase);
21
+ if (!spmPackages.length) {
22
+ this.$logger.trace("SPM: no SPM packages to apply.");
23
+ return;
24
+ }
25
+ const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
26
+ ios: {
27
+ path: ".",
28
+ },
29
+ enableAndroid: false,
30
+ });
31
+ await project.load();
32
+ if (!project.ios) {
33
+ this.$logger.trace("SPM: no iOS project found via trapeze.");
34
+ return;
56
35
  }
57
- catch (err) {
58
- this.$logger.trace("SPM: error applying SPM packages: ", err);
36
+ for (const pkg of spmPackages) {
37
+ if ("path" in pkg) {
38
+ this.$logger.trace("SPM: resolving path for package: ", pkg.path);
39
+ pkg.path = path.resolve(projectData.projectDir, pkg.path);
40
+ }
41
+ this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
42
+ await project.ios.addSPMPackage(projectData.projectName, pkg);
59
43
  }
60
- });
44
+ await project.commit();
45
+ await this.resolveSPMDependencies(platformData, projectData);
46
+ }
47
+ catch (err) {
48
+ this.$logger.trace("SPM: error applying SPM packages: ", err);
49
+ }
61
50
  }
62
- resolveSPMDependencies(platformData, projectData) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- yield this.$xcodebuildCommandService.executeCommand(this.$xcodebuildArgsService
65
- .getXcodeProjectArgs(platformData, projectData)
66
- .concat([
67
- "-destination",
68
- "generic/platform=iOS",
69
- "-resolvePackageDependencies",
70
- ]), {
71
- cwd: projectData.projectDir,
72
- message: "Resolving SPM dependencies...",
73
- });
51
+ async resolveSPMDependencies(platformData, projectData) {
52
+ await this.$xcodebuildCommandService.executeCommand(this.$xcodebuildArgsService
53
+ .getXcodeProjectArgs(platformData, projectData)
54
+ .concat([
55
+ "-destination",
56
+ "generic/platform=iOS",
57
+ "-resolvePackageDependencies",
58
+ ]), {
59
+ cwd: projectData.projectDir,
60
+ message: "Resolving SPM dependencies...",
74
61
  });
75
62
  }
76
63
  }