@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
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.AddPlatformService = void 0;
19
10
  const path = require("path");
@@ -21,60 +12,56 @@ const constants_1 = require("../../constants");
21
12
  const decorators_1 = require("../../common/decorators");
22
13
  const yok_1 = require("../../common/yok");
23
14
  class AddPlatformService {
24
- constructor($fs, $logger, $packageManager, $terminalSpinnerService, $analyticsService) {
15
+ constructor($fs, $logger, $options, $packageManager, $terminalSpinnerService, $analyticsService) {
25
16
  this.$fs = $fs;
26
17
  this.$logger = $logger;
18
+ this.$options = $options;
27
19
  this.$packageManager = $packageManager;
28
20
  this.$terminalSpinnerService = $terminalSpinnerService;
29
21
  this.$analyticsService = $analyticsService;
30
22
  }
31
- addPlatformSafe(projectData, platformData, packageToInstall, addPlatformData) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const spinner = this.$terminalSpinnerService.createSpinner();
34
- try {
35
- spinner.start();
36
- const frameworkDirPath = yield this.installPackage(projectData.projectDir, packageToInstall);
37
- const frameworkPackageJsonContent = this.$fs.readJson(path.join(frameworkDirPath, "..", "package.json"));
38
- const frameworkVersion = frameworkPackageJsonContent.version;
39
- yield this.trackPlatformVersion(frameworkVersion, platformData);
40
- if (!addPlatformData.nativePrepare ||
41
- !addPlatformData.nativePrepare.skipNativePrepare) {
42
- yield this.addNativePlatform(platformData, projectData, frameworkDirPath, frameworkVersion);
43
- }
44
- return frameworkVersion;
45
- }
46
- catch (err) {
47
- const platformPath = path.join(projectData.platformsDir, platformData.platformNameLowerCase);
48
- this.$fs.deleteDirectory(platformPath);
49
- throw err;
50
- }
51
- finally {
52
- spinner.stop();
23
+ async addProjectHost() { }
24
+ async addPlatformSafe(projectData, platformData, packageToInstall, addPlatformData) {
25
+ const spinner = this.$terminalSpinnerService.createSpinner();
26
+ try {
27
+ spinner.start();
28
+ const frameworkDirPath = await this.installPackage(projectData.projectDir, packageToInstall);
29
+ const frameworkPackageJsonContent = this.$fs.readJson(path.join(frameworkDirPath, "..", "package.json"));
30
+ const frameworkVersion = frameworkPackageJsonContent.version;
31
+ await this.trackPlatformVersion(frameworkVersion, platformData);
32
+ if (!addPlatformData.nativePrepare ||
33
+ !addPlatformData.nativePrepare.skipNativePrepare) {
34
+ await this.addNativePlatform(platformData, projectData, frameworkDirPath, frameworkVersion);
53
35
  }
54
- });
36
+ return frameworkVersion;
37
+ }
38
+ catch (err) {
39
+ const platformPath = path.join(projectData.platformsDir, platformData.platformNameLowerCase);
40
+ this.$fs.deleteDirectory(platformPath);
41
+ throw err;
42
+ }
43
+ finally {
44
+ spinner.stop();
45
+ }
55
46
  }
56
- setPlatformVersion(platformData, projectData, frameworkVersion) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- yield this.installPackage(projectData.projectDir, `${platformData.frameworkPackageName}@${frameworkVersion}`);
59
- });
47
+ async setPlatformVersion(platformData, projectData, frameworkVersion) {
48
+ await this.installPackage(projectData.projectDir, `${platformData.frameworkPackageName}@${frameworkVersion}`);
60
49
  }
61
- installPackage(projectDir, packageName) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- const frameworkDir = this.resolveFrameworkDir(projectDir, packageName);
64
- if (frameworkDir && this.$fs.exists(frameworkDir)) {
65
- return frameworkDir;
66
- }
67
- const installedPackage = yield this.$packageManager.install(packageName, projectDir, {
68
- silent: true,
69
- dev: true,
70
- "save-dev": true,
71
- "save-exact": true,
72
- });
73
- if (!installedPackage.name) {
74
- return "";
75
- }
76
- return this.resolveFrameworkDir(projectDir, installedPackage.name) || "";
50
+ async installPackage(projectDir, packageName) {
51
+ const frameworkDir = this.resolveFrameworkDir(projectDir, packageName);
52
+ if (frameworkDir && this.$fs.exists(frameworkDir)) {
53
+ return frameworkDir;
54
+ }
55
+ const installedPackage = await this.$packageManager.install(packageName, projectDir, {
56
+ silent: true,
57
+ dev: true,
58
+ "save-dev": true,
59
+ "save-exact": true,
77
60
  });
61
+ if (!installedPackage.name) {
62
+ return "";
63
+ }
64
+ return this.resolveFrameworkDir(projectDir, installedPackage.name) || "";
78
65
  }
79
66
  resolveFrameworkDir(projectDir, packageName) {
80
67
  try {
@@ -93,27 +80,24 @@ class AddPlatformService {
93
80
  }
94
81
  return null;
95
82
  }
96
- addNativePlatform(platformData, projectData, frameworkDirPath, frameworkVersion) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const platformDir = path.join(projectData.platformsDir, platformData.normalizedPlatformName.toLowerCase());
99
- this.$fs.deleteDirectory(platformDir);
100
- yield platformData.platformProjectService.createProject(path.resolve(frameworkDirPath), frameworkVersion, projectData);
101
- platformData.platformProjectService.ensureConfigurationFileInAppResources(projectData);
102
- yield platformData.platformProjectService.interpolateData(projectData);
103
- platformData.platformProjectService.afterCreateProject(platformData.projectRoot, projectData);
104
- });
83
+ async addNativePlatform(platformData, projectData, frameworkDirPath, frameworkVersion) {
84
+ var _a;
85
+ const platformDir = (_a = this.$options.hostProjectPath) !== null && _a !== void 0 ? _a : path.join(projectData.platformsDir, platformData.normalizedPlatformName.toLowerCase());
86
+ this.$fs.deleteDirectory(platformDir);
87
+ await platformData.platformProjectService.createProject(path.resolve(frameworkDirPath), frameworkVersion, projectData);
88
+ platformData.platformProjectService.ensureConfigurationFileInAppResources(projectData);
89
+ await platformData.platformProjectService.interpolateData(projectData);
90
+ platformData.platformProjectService.afterCreateProject(platformData.projectRoot, projectData);
105
91
  }
106
- trackPlatformVersion(frameworkVersion, platformData) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
109
- action: "Add Platform",
110
- additionalData: `${platformData.platformNameLowerCase}${constants_1.AnalyticsEventLabelDelimiter}${frameworkVersion}`,
111
- });
92
+ async trackPlatformVersion(frameworkVersion, platformData) {
93
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
94
+ action: "Add Platform",
95
+ additionalData: `${platformData.platformNameLowerCase}${constants_1.AnalyticsEventLabelDelimiter}${frameworkVersion}`,
112
96
  });
113
97
  }
114
98
  }
99
+ exports.AddPlatformService = AddPlatformService;
115
100
  __decorate([
116
101
  (0, decorators_1.performanceLog)()
117
102
  ], AddPlatformService.prototype, "addNativePlatform", null);
118
- exports.AddPlatformService = AddPlatformService;
119
103
  yok_1.injector.register("addPlatformService", AddPlatformService);
@@ -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.PlatformValidationService = void 0;
13
4
  const helpers = require("../../common/helpers");
@@ -47,31 +38,29 @@ class PlatformValidationService {
47
38
  this.$errors.fail("The platform %s is not added to this project. Please use 'ns platform add <platform>'", platform);
48
39
  }
49
40
  }
50
- validateOptions(provision, teamId, projectData, platform, aab) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- if (platform && !this.$mobileHelper.isAndroidPlatform(platform) && aab) {
53
- this.$errors.fail("The --aab option is supported only for the Android platform.");
54
- }
55
- if (platform) {
56
- platform = this.$mobileHelper.normalizePlatformName(platform);
57
- this.$logger.trace("Validate options for platform: " + platform);
58
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
59
- const result = yield platformData.platformProjectService.validateOptions(projectData.projectIdentifiers[platform.toLowerCase()], provision, teamId);
60
- return result;
61
- }
62
- else {
63
- let valid = true;
64
- const platforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
65
- for (const availablePlatform of platforms) {
66
- this.$logger.trace("Validate options for platform: " + availablePlatform);
67
- const platformData = this.$platformsDataService.getPlatformData(availablePlatform, projectData);
68
- valid =
69
- valid &&
70
- (yield platformData.platformProjectService.validateOptions(projectData.projectIdentifiers[availablePlatform.toLowerCase()], provision, teamId));
71
- }
72
- return valid;
41
+ async validateOptions(provision, teamId, projectData, platform, aab) {
42
+ if (platform && !this.$mobileHelper.isAndroidPlatform(platform) && aab) {
43
+ this.$errors.fail("The --aab option is supported only for the Android platform.");
44
+ }
45
+ if (platform) {
46
+ platform = this.$mobileHelper.normalizePlatformName(platform);
47
+ this.$logger.trace("Validate options for platform: " + platform);
48
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
49
+ const result = await platformData.platformProjectService.validateOptions(projectData.projectIdentifiers[platform.toLowerCase()], provision, teamId);
50
+ return result;
51
+ }
52
+ else {
53
+ let valid = true;
54
+ const platforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
55
+ for (const availablePlatform of platforms) {
56
+ this.$logger.trace("Validate options for platform: " + availablePlatform);
57
+ const platformData = this.$platformsDataService.getPlatformData(availablePlatform, projectData);
58
+ valid =
59
+ valid &&
60
+ (await platformData.platformProjectService.validateOptions(projectData.projectIdentifiers[availablePlatform.toLowerCase()], provision, teamId));
73
61
  }
74
- });
62
+ return valid;
63
+ }
75
64
  }
76
65
  isPlatformSupportedForOS(platform, projectData) {
77
66
  const targetedOS = this.$platformsDataService.getPlatformData(platform, projectData).targetedOS;
@@ -5,83 +5,73 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.PrepareNativePlatformService = void 0;
19
10
  const helpers_1 = require("../../common/helpers");
20
11
  const decorators_1 = require("../../common/decorators");
21
12
  const yok_1 = require("../../common/yok");
22
13
  class PrepareNativePlatformService {
23
- constructor($hooksService, $nodeModulesBuilder, $projectChangesService, $metadataFilteringService) {
14
+ constructor($hooksService, $nodeModulesBuilder, $projectChangesService, $metadataFilteringService, $options) {
24
15
  this.$hooksService = $hooksService;
25
16
  this.$nodeModulesBuilder = $nodeModulesBuilder;
26
17
  this.$projectChangesService = $projectChangesService;
27
18
  this.$metadataFilteringService = $metadataFilteringService;
19
+ this.$options = $options;
28
20
  }
29
- prepareNativePlatform(platformData, projectData, prepareData) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const { nativePrepare, release } = prepareData;
32
- const changesInfo = yield this.$projectChangesService.checkForChanges(platformData, projectData, prepareData);
33
- if (nativePrepare && nativePrepare.skipNativePrepare) {
34
- return changesInfo.hasChanges;
35
- }
36
- const hasNativeModulesChange = !changesInfo || changesInfo.nativeChanged;
37
- const hasConfigChange = !changesInfo || changesInfo.configChanged;
38
- const hasChangesRequirePrepare = !changesInfo || changesInfo.changesRequirePrepare;
39
- const hasChanges = hasNativeModulesChange || hasConfigChange || hasChangesRequirePrepare;
40
- if (changesInfo.hasChanges) {
41
- yield this.cleanProject(platformData, { release });
42
- }
21
+ async prepareNativePlatform(platformData, projectData, prepareData) {
22
+ const { nativePrepare, release } = prepareData;
23
+ const changesInfo = await this.$projectChangesService.checkForChanges(platformData, projectData, prepareData);
24
+ if (nativePrepare && nativePrepare.skipNativePrepare) {
25
+ return changesInfo.hasChanges;
26
+ }
27
+ const hasNativeModulesChange = !changesInfo || changesInfo.nativeChanged;
28
+ const hasConfigChange = !changesInfo || changesInfo.configChanged;
29
+ const hasChangesRequirePrepare = !changesInfo || changesInfo.changesRequirePrepare;
30
+ const hasChanges = hasNativeModulesChange || hasConfigChange || hasChangesRequirePrepare;
31
+ if (changesInfo.hasChanges) {
32
+ await this.cleanProject(platformData, { release });
33
+ }
34
+ if (!this.$options.hostProjectPath) {
43
35
  platformData.platformProjectService.prepareAppResources(projectData);
44
- if (hasChangesRequirePrepare) {
45
- yield platformData.platformProjectService.prepareProject(projectData, prepareData);
46
- }
47
- if (hasNativeModulesChange) {
48
- yield this.$nodeModulesBuilder.prepareNodeModules({
49
- platformData,
50
- projectData,
51
- });
52
- }
53
- if (hasNativeModulesChange || hasConfigChange) {
54
- yield platformData.platformProjectService.processConfigurationFilesFromAppResources(projectData, { release });
55
- yield platformData.platformProjectService.handleNativeDependenciesChange(projectData, { release });
56
- this.$metadataFilteringService.generateMetadataFilters(projectData, platformData.platformNameLowerCase);
57
- }
58
- platformData.platformProjectService.interpolateConfigurationFile(projectData);
59
- yield this.$projectChangesService.setNativePlatformStatus(platformData, projectData, { nativePlatformStatus: "3" });
60
- return hasChanges;
61
- });
36
+ }
37
+ if (hasChangesRequirePrepare || this.$options.hostProjectPath) {
38
+ await platformData.platformProjectService.prepareProject(projectData, prepareData);
39
+ }
40
+ if (hasNativeModulesChange) {
41
+ await this.$nodeModulesBuilder.prepareNodeModules({
42
+ platformData,
43
+ projectData,
44
+ });
45
+ }
46
+ if (hasNativeModulesChange || hasConfigChange) {
47
+ await platformData.platformProjectService.processConfigurationFilesFromAppResources(projectData, { release });
48
+ await platformData.platformProjectService.handleNativeDependenciesChange(projectData, { release });
49
+ this.$metadataFilteringService.generateMetadataFilters(projectData, platformData.platformNameLowerCase);
50
+ }
51
+ platformData.platformProjectService.interpolateConfigurationFile(projectData);
52
+ await this.$projectChangesService.setNativePlatformStatus(platformData, projectData, { nativePlatformStatus: "3" });
53
+ return hasChanges;
62
54
  }
63
- cleanProject(platformData, options) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- if (platformData.platformNameLowerCase !== "android") {
66
- return;
67
- }
68
- const previousPrepareInfo = this.$projectChangesService.getPrepareInfo(platformData);
69
- if (!previousPrepareInfo ||
70
- previousPrepareInfo.nativePlatformStatus !==
71
- "3") {
72
- return;
73
- }
74
- const { release: previousWasRelease } = previousPrepareInfo;
75
- const { release: currentIsRelease } = options;
76
- if (previousWasRelease !== currentIsRelease) {
77
- yield platformData.platformProjectService.cleanProject(platformData.projectRoot);
78
- }
79
- });
55
+ async cleanProject(platformData, options) {
56
+ if (platformData.platformNameLowerCase !== "android") {
57
+ return;
58
+ }
59
+ const previousPrepareInfo = this.$projectChangesService.getPrepareInfo(platformData);
60
+ if (!previousPrepareInfo ||
61
+ previousPrepareInfo.nativePlatformStatus !==
62
+ "3") {
63
+ return;
64
+ }
65
+ const { release: previousWasRelease } = previousPrepareInfo;
66
+ const { release: currentIsRelease } = options;
67
+ if (previousWasRelease !== currentIsRelease) {
68
+ await platformData.platformProjectService.cleanProject(platformData.projectRoot);
69
+ }
80
70
  }
81
71
  }
72
+ exports.PrepareNativePlatformService = PrepareNativePlatformService;
82
73
  __decorate([
83
74
  (0, decorators_1.performanceLog)(),
84
75
  (0, helpers_1.hook)("prepareNativeApp")
85
76
  ], PrepareNativePlatformService.prototype, "prepareNativePlatform", null);
86
- exports.PrepareNativePlatformService = PrepareNativePlatformService;
87
77
  yok_1.injector.register("prepareNativePlatformService", PrepareNativePlatformService);
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.PlatformEnvironmentRequirements = void 0;
19
10
  const helpers_1 = require("../common/helpers");
@@ -26,38 +17,36 @@ class PlatformEnvironmentRequirements {
26
17
  this.$analyticsService = $analyticsService;
27
18
  this.$injector = $injector;
28
19
  }
29
- checkEnvironmentRequirements(input) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const { platform, projectDir, runtimeVersion } = input;
32
- const selectedOption = null;
33
- if (process.env.NS_SKIP_ENV_CHECK) {
34
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
35
- action: "Check Environment Requirements",
36
- additionalData: "Skipped: NS_SKIP_ENV_CHECK is set",
37
- });
38
- return {
39
- canExecute: true,
40
- selectedOption,
41
- };
42
- }
43
- const canExecute = yield this.$doctorService.canExecuteLocalBuild({
44
- platform,
45
- projectDir,
46
- runtimeVersion,
47
- forceCheck: input.forceCheck,
20
+ async checkEnvironmentRequirements(input) {
21
+ const { platform, projectDir, runtimeVersion } = input;
22
+ const selectedOption = null;
23
+ if (process.env.NS_SKIP_ENV_CHECK) {
24
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
25
+ action: "Check Environment Requirements",
26
+ additionalData: "Skipped: NS_SKIP_ENV_CHECK is set",
48
27
  });
49
- if (!canExecute) {
50
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
51
- action: "Check Environment Requirements",
52
- additionalData: "Non-interactive terminal, unable to execute local builds.",
53
- });
54
- this.fail(this.getNonInteractiveConsoleMessage(platform));
55
- }
56
28
  return {
57
- canExecute,
29
+ canExecute: true,
58
30
  selectedOption,
59
31
  };
32
+ }
33
+ const canExecute = await this.$doctorService.canExecuteLocalBuild({
34
+ platform,
35
+ projectDir,
36
+ runtimeVersion,
37
+ forceCheck: input.forceCheck,
60
38
  });
39
+ if (!canExecute) {
40
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
41
+ action: "Check Environment Requirements",
42
+ additionalData: "Non-interactive terminal, unable to execute local builds.",
43
+ });
44
+ this.fail(this.getNonInteractiveConsoleMessage(platform));
45
+ }
46
+ return {
47
+ canExecute,
48
+ selectedOption,
49
+ };
61
50
  }
62
51
  fail(message) {
63
52
  this.$errors.fail({ formatStr: message, printOnStdout: true });
@@ -74,14 +63,16 @@ class PlatformEnvironmentRequirements {
74
63
  win32: "windows",
75
64
  darwin: "macos",
76
65
  }[process.platform];
77
- const anchor = platform ? `#setting-up-${os}-for-${platform.toLowerCase()}` : "";
66
+ const anchor = platform
67
+ ? `#setting-up-${os}-for-${platform.toLowerCase()}`
68
+ : "";
78
69
  return (`Verify that your environment is configured according to the system requirements described at\n` +
79
70
  `https://docs.nativescript.org/setup/${os}${anchor}.`);
80
71
  }
81
72
  }
73
+ exports.PlatformEnvironmentRequirements = PlatformEnvironmentRequirements;
82
74
  PlatformEnvironmentRequirements.MISSING_LOCAL_SETUP_MESSAGE = "Your environment is not configured properly and you will not be able to execute local builds.";
83
75
  __decorate([
84
76
  (0, helpers_1.hook)("checkEnvironment")
85
77
  ], PlatformEnvironmentRequirements.prototype, "checkEnvironmentRequirements", null);
86
- exports.PlatformEnvironmentRequirements = PlatformEnvironmentRequirements;
87
78
  yok_1.injector.register("platformEnvironmentRequirements", PlatformEnvironmentRequirements);