@akylas/nativescript-cli 8.8.2 → 8.8.4

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 (275) hide show
  1. package/lib/android-tools-info.js +9 -20
  2. package/lib/base-package-manager.js +47 -64
  3. package/lib/bun-package-manager.js +65 -88
  4. package/lib/color.js +2 -2
  5. package/lib/commands/add-platform.js +14 -30
  6. package/lib/commands/apple-login.js +18 -29
  7. package/lib/commands/appstore-list.js +34 -45
  8. package/lib/commands/appstore-upload.js +55 -68
  9. package/lib/commands/build.js +57 -86
  10. package/lib/commands/clean.js +161 -176
  11. package/lib/commands/command-base.js +14 -27
  12. package/lib/commands/config.js +51 -70
  13. package/lib/commands/create-project.js +210 -229
  14. package/lib/commands/debug.js +66 -88
  15. package/lib/commands/deploy.js +28 -44
  16. package/lib/commands/embedding/embed.js +33 -52
  17. package/lib/commands/extensibility/install-extension.js +5 -16
  18. package/lib/commands/extensibility/list-extensions.js +13 -24
  19. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  20. package/lib/commands/fonts.js +30 -41
  21. package/lib/commands/generate-assets.js +13 -28
  22. package/lib/commands/generate-help.js +2 -13
  23. package/lib/commands/generate.js +17 -26
  24. package/lib/commands/info.js +2 -13
  25. package/lib/commands/install.js +34 -49
  26. package/lib/commands/list-platforms.js +14 -25
  27. package/lib/commands/migrate.js +15 -26
  28. package/lib/commands/native-add.js +23 -46
  29. package/lib/commands/platform-clean.js +19 -32
  30. package/lib/commands/plugin/add-plugin.js +12 -25
  31. package/lib/commands/plugin/build-plugin.js +34 -39
  32. package/lib/commands/plugin/create-plugin.js +110 -133
  33. package/lib/commands/plugin/list-plugins.js +22 -33
  34. package/lib/commands/plugin/remove-plugin.js +20 -33
  35. package/lib/commands/plugin/update-plugin.js +20 -33
  36. package/lib/commands/post-install.js +20 -33
  37. package/lib/commands/prepare.js +19 -35
  38. package/lib/commands/preview.js +49 -62
  39. package/lib/commands/remove-platform.js +7 -18
  40. package/lib/commands/resources/resources-update.js +13 -26
  41. package/lib/commands/run.js +55 -76
  42. package/lib/commands/start.js +6 -19
  43. package/lib/commands/test-init.js +123 -134
  44. package/lib/commands/test.js +66 -89
  45. package/lib/commands/typings.js +126 -142
  46. package/lib/commands/update-platform.js +22 -35
  47. package/lib/commands/update.js +30 -43
  48. package/lib/common/child-process.js +53 -72
  49. package/lib/common/codeGeneration/code-entity.js +1 -1
  50. package/lib/common/codeGeneration/code-printer.js +1 -1
  51. package/lib/common/command-params.js +7 -18
  52. package/lib/common/commands/analytics.js +27 -40
  53. package/lib/common/commands/autocompletion.js +39 -56
  54. package/lib/common/commands/device/device-log-stream.js +12 -23
  55. package/lib/common/commands/device/get-file.js +22 -33
  56. package/lib/common/commands/device/list-applications.js +12 -23
  57. package/lib/common/commands/device/list-devices.js +72 -87
  58. package/lib/common/commands/device/list-files.js +23 -34
  59. package/lib/common/commands/device/put-file.js +22 -33
  60. package/lib/common/commands/device/run-application.js +12 -25
  61. package/lib/common/commands/device/stop-application.js +11 -22
  62. package/lib/common/commands/device/uninstall-application.js +6 -17
  63. package/lib/common/commands/generate-messages.js +17 -28
  64. package/lib/common/commands/help.js +20 -33
  65. package/lib/common/commands/package-manager-get.js +6 -17
  66. package/lib/common/commands/package-manager-set.js +9 -20
  67. package/lib/common/commands/post-install.js +2 -13
  68. package/lib/common/commands/preuninstall.js +23 -38
  69. package/lib/common/commands/proxy/proxy-base.js +8 -19
  70. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  71. package/lib/common/commands/proxy/proxy-get.js +3 -14
  72. package/lib/common/commands/proxy/proxy-set.js +87 -100
  73. package/lib/common/constants.js +11 -11
  74. package/lib/common/decorators.js +10 -22
  75. package/lib/common/dispatchers.js +79 -96
  76. package/lib/common/errors.js +89 -104
  77. package/lib/common/file-system.js +106 -127
  78. package/lib/common/header.js +1 -2
  79. package/lib/common/helpers.js +149 -178
  80. package/lib/common/host-info.js +37 -50
  81. package/lib/common/http-client.js +93 -108
  82. package/lib/common/logger/appenders/cli-appender.js +1 -2
  83. package/lib/common/logger/appenders/emit-appender.js +1 -2
  84. package/lib/common/logger/layouts/cli-layout.js +1 -2
  85. package/lib/common/logger/logger.js +1 -1
  86. package/lib/common/mobile/android/android-application-manager.js +121 -142
  87. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  88. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  89. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  90. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  91. package/lib/common/mobile/android/android-device.js +74 -91
  92. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  93. package/lib/common/mobile/android/android-log-filter.js +1 -1
  94. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  95. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  96. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  97. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  98. package/lib/common/mobile/android/logcat-helper.js +108 -127
  99. package/lib/common/mobile/application-manager-base.js +84 -107
  100. package/lib/common/mobile/device-log-provider-base.js +7 -18
  101. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  102. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  103. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  104. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  105. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  106. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  107. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  108. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  109. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  110. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  111. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  112. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  113. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  114. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  115. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  116. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  117. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  118. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  119. package/lib/common/mobile/mobile-helper.js +15 -26
  120. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  121. package/lib/common/opener.js +2 -2
  122. package/lib/common/plist-parser.js +3 -3
  123. package/lib/common/prompter.js +90 -105
  124. package/lib/common/queue.js +9 -20
  125. package/lib/common/services/auto-completion-service.js +39 -52
  126. package/lib/common/services/cancellation.js +17 -28
  127. package/lib/common/services/commands-service.js +146 -169
  128. package/lib/common/services/help-service.js +132 -157
  129. package/lib/common/services/hooks-service.js +93 -108
  130. package/lib/common/services/ios-notification-service.js +21 -34
  131. package/lib/common/services/json-file-settings-service.js +52 -71
  132. package/lib/common/services/lock-service.js +35 -52
  133. package/lib/common/services/message-contract-generator.js +35 -46
  134. package/lib/common/services/micro-templating-service.js +4 -15
  135. package/lib/common/services/net-service.js +90 -107
  136. package/lib/common/services/project-files-manager.js +10 -23
  137. package/lib/common/services/proxy-service.js +13 -24
  138. package/lib/common/services/qr.js +13 -24
  139. package/lib/common/services/settings-service.js +1 -1
  140. package/lib/common/services/xcode-select-service.js +20 -35
  141. package/lib/common/utils.js +2 -2
  142. package/lib/common/validators/project-name-validator.js +1 -1
  143. package/lib/common/validators/validation-result.js +1 -1
  144. package/lib/common/verify-node-version.js +2 -3
  145. package/lib/common/yok.js +23 -36
  146. package/lib/config.js +7 -58
  147. package/lib/constants.js +24 -24
  148. package/lib/controllers/build-controller.js +82 -99
  149. package/lib/controllers/debug-controller.js +107 -128
  150. package/lib/controllers/deploy-controller.js +17 -22
  151. package/lib/controllers/migrate-controller.js +722 -795
  152. package/lib/controllers/platform-controller.js +72 -87
  153. package/lib/controllers/prepare-controller.js +266 -299
  154. package/lib/controllers/run-controller.js +392 -406
  155. package/lib/controllers/update-controller-base.js +16 -29
  156. package/lib/controllers/update-controller.js +94 -119
  157. package/lib/data/prepare-data.js +4 -1
  158. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  159. package/lib/definitions/livesync.d.ts +1 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +45 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +161 -211
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +161 -198
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +34 -47
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +230 -256
  194. package/lib/services/android-project-service.js +163 -199
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  198. package/lib/services/assets-generation/assets-generation-service.js +98 -115
  199. package/lib/services/build-artifacts-service.js +9 -20
  200. package/lib/services/build-info-file-service.js +20 -35
  201. package/lib/services/cleanup-service.js +47 -76
  202. package/lib/services/cocoapods-service.js +115 -136
  203. package/lib/services/device/device-install-app-service.js +73 -90
  204. package/lib/services/doctor-service.js +99 -118
  205. package/lib/services/extensibility-service.js +81 -100
  206. package/lib/services/files-hash-service.js +26 -43
  207. package/lib/services/hmr-status-service.js +1 -1
  208. package/lib/services/initialize-service.js +37 -50
  209. package/lib/services/ios/export-options-plist-service.js +38 -51
  210. package/lib/services/ios/ios-signing-service.js +161 -180
  211. package/lib/services/ios/spm-service.js +40 -53
  212. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  213. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  214. package/lib/services/ios/xcodebuild-service.js +50 -69
  215. package/lib/services/ios-debugger-port-service.js +23 -36
  216. package/lib/services/ios-device-debug-service.js +75 -102
  217. package/lib/services/ios-entitlements-service.js +31 -42
  218. package/lib/services/ios-extensions-service.js +18 -29
  219. package/lib/services/ios-project-service.js +405 -460
  220. package/lib/services/ios-provision-service.js +108 -129
  221. package/lib/services/ios-watch-app-service.js +21 -32
  222. package/lib/services/ip-service.js +38 -53
  223. package/lib/services/itmstransporter-service.js +129 -152
  224. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  225. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  226. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  227. package/lib/services/livesync/android-livesync-service.js +14 -35
  228. package/lib/services/livesync/android-livesync-tool.js +89 -112
  229. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  230. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  231. package/lib/services/livesync/ios-livesync-service.js +42 -58
  232. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  233. package/lib/services/log-parser-service.js +1 -1
  234. package/lib/services/log-source-map-service.js +30 -41
  235. package/lib/services/marking-mode-service.js +15 -28
  236. package/lib/services/npm-config-service.js +1 -1
  237. package/lib/services/pacote-service.js +49 -64
  238. package/lib/services/performance-service.js +1 -1
  239. package/lib/services/platform/add-platform-service.js +50 -71
  240. package/lib/services/platform/platform-validation-service.js +22 -33
  241. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  242. package/lib/services/platform-environment-requirements.js +26 -37
  243. package/lib/services/plugins-service.js +122 -147
  244. package/lib/services/project-backup-service.js +1 -1
  245. package/lib/services/project-changes-service.js +124 -141
  246. package/lib/services/project-cleanup-service.js +64 -77
  247. package/lib/services/project-config-service.js +71 -80
  248. package/lib/services/project-data-service.js +101 -118
  249. package/lib/services/project-name-service.js +28 -43
  250. package/lib/services/project-service.js +84 -103
  251. package/lib/services/project-templates-service.js +52 -67
  252. package/lib/services/start-service.js +41 -59
  253. package/lib/services/temp-service.js +8 -21
  254. package/lib/services/terminal-spinner-service.js +13 -24
  255. package/lib/services/test-execution-service.js +59 -72
  256. package/lib/services/test-initialization-service.js +2 -2
  257. package/lib/services/timeline-profiler-service.js +1 -1
  258. package/lib/services/versions-service.js +119 -138
  259. package/lib/services/webpack/webpack-compiler-service.js +211 -231
  260. package/lib/services/xcconfig-service.js +8 -19
  261. package/lib/sys-info.js +45 -62
  262. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  263. package/lib/yarn-package-manager.js +59 -78
  264. package/lib/yarn2-package-manager.js +60 -79
  265. package/package.json +56 -54
  266. package/vendor/aab-tool/bundletool.jar +0 -0
  267. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  268. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  269. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  270. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  271. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  272. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  273. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  274. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  275. 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
  }