@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.PluginsService = void 0;
13
4
  const path = require("path");
@@ -51,50 +42,46 @@ class PluginsService {
51
42
  return key;
52
43
  });
53
44
  }
54
- add(plugin, projectData) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- yield this.ensure(projectData);
57
- const possiblePackageName = path.resolve(plugin);
58
- if (possiblePackageName.indexOf(".tgz") !== -1 &&
59
- this.$fs.exists(possiblePackageName)) {
60
- plugin = possiblePackageName;
61
- }
62
- const name = (yield this.$packageManager.install(plugin, projectData.projectDir, this.npmInstallOptions)).name;
63
- const pathToRealNpmPackageJson = this.getPackageJsonFilePathForModule(name, projectData.projectDir);
64
- const realNpmPackageJson = this.$fs.readJson(pathToRealNpmPackageJson);
65
- if (realNpmPackageJson.nativescript) {
66
- const pluginData = this.convertToPluginData(realNpmPackageJson, projectData.projectDir);
67
- const action = (pluginDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
68
- this.isPluginDataValidForPlatform(pluginData, platform, projectData);
69
- });
70
- yield this.executeForAllInstalledPlatforms(action, projectData);
71
- this.$logger.info(`Successfully installed plugin ${realNpmPackageJson.name}.`);
72
- }
73
- else {
74
- yield this.$packageManager.uninstall(realNpmPackageJson.name, { save: true }, projectData.projectDir);
75
- this.$errors.fail(`${plugin} is not a valid NativeScript plugin. Verify that the plugin package.json file contains a nativescript key and try again.`);
76
- }
77
- });
45
+ async add(plugin, projectData) {
46
+ await this.ensure(projectData);
47
+ const possiblePackageName = path.resolve(plugin);
48
+ if (possiblePackageName.indexOf(".tgz") !== -1 &&
49
+ this.$fs.exists(possiblePackageName)) {
50
+ plugin = possiblePackageName;
51
+ }
52
+ const name = (await this.$packageManager.install(plugin, projectData.projectDir, this.npmInstallOptions)).name;
53
+ const pathToRealNpmPackageJson = this.getPackageJsonFilePathForModule(name, projectData.projectDir);
54
+ const realNpmPackageJson = this.$fs.readJson(pathToRealNpmPackageJson);
55
+ if (realNpmPackageJson.nativescript) {
56
+ const pluginData = this.convertToPluginData(realNpmPackageJson, projectData.projectDir);
57
+ const action = async (pluginDestinationPath, platform, platformData) => {
58
+ this.isPluginDataValidForPlatform(pluginData, platform, projectData);
59
+ };
60
+ await this.executeForAllInstalledPlatforms(action, projectData);
61
+ this.$logger.info(`Successfully installed plugin ${realNpmPackageJson.name}.`);
62
+ }
63
+ else {
64
+ await this.$packageManager.uninstall(realNpmPackageJson.name, { save: true }, projectData.projectDir);
65
+ this.$errors.fail(`${plugin} is not a valid NativeScript plugin. Verify that the plugin package.json file contains a nativescript key and try again.`);
66
+ }
78
67
  }
79
- remove(pluginName, projectData) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const removePluginNativeCodeAction = (modulesDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
82
- const pluginData = this.convertToPluginData(this.getNodeModuleData(pluginName, projectData.projectDir), projectData.projectDir);
83
- yield platformData.platformProjectService.removePluginNativeCode(pluginData, projectData);
84
- });
85
- yield this.executeForAllInstalledPlatforms(removePluginNativeCodeAction, projectData);
86
- yield this.executeNpmCommand(PluginsService.UNINSTALL_COMMAND_NAME, pluginName, projectData);
87
- let showMessage = true;
88
- const action = (modulesDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
89
- shelljs.rm("-rf", path.join(modulesDestinationPath, pluginName));
90
- this.$logger.info(`Successfully removed plugin ${pluginName} for ${platform}.`);
91
- showMessage = false;
92
- });
93
- yield this.executeForAllInstalledPlatforms(action, projectData);
94
- if (showMessage) {
95
- this.$logger.info(`Successfully removed plugin ${pluginName}`);
96
- }
97
- });
68
+ async remove(pluginName, projectData) {
69
+ const removePluginNativeCodeAction = async (modulesDestinationPath, platform, platformData) => {
70
+ const pluginData = this.convertToPluginData(this.getNodeModuleData(pluginName, projectData.projectDir), projectData.projectDir);
71
+ await platformData.platformProjectService.removePluginNativeCode(pluginData, projectData);
72
+ };
73
+ await this.executeForAllInstalledPlatforms(removePluginNativeCodeAction, projectData);
74
+ await this.executeNpmCommand(PluginsService.UNINSTALL_COMMAND_NAME, pluginName, projectData);
75
+ let showMessage = true;
76
+ const action = async (modulesDestinationPath, platform, platformData) => {
77
+ shelljs.rm("-rf", path.join(modulesDestinationPath, pluginName));
78
+ this.$logger.info(`Successfully removed plugin ${pluginName} for ${platform}.`);
79
+ showMessage = false;
80
+ };
81
+ await this.executeForAllInstalledPlatforms(action, projectData);
82
+ if (showMessage) {
83
+ this.$logger.info(`Successfully removed plugin ${pluginName}`);
84
+ }
98
85
  }
99
86
  addToPackageJson(plugin, version, isDev, projectDir) {
100
87
  const packageJsonPath = this.getPackageJsonFilePath(projectDir);
@@ -118,62 +105,56 @@ class PluginsService {
118
105
  this.$fs.writeJson(packageJsonPath, result.packageJsonContent);
119
106
  }
120
107
  }
121
- preparePluginNativeCode({ pluginData, platform, projectData, }) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
124
- const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath(platform);
125
- if (this.$fs.exists(pluginPlatformsFolderPath)) {
126
- const pathToPluginsBuildFile = path.join(platformData.projectRoot, constants.PLUGINS_BUILD_DATA_FILENAME);
127
- const allPluginsNativeHashes = this.getAllPluginsNativeHashes(pathToPluginsBuildFile);
128
- const oldPluginNativeHashes = allPluginsNativeHashes[pluginData.name];
129
- const currentPluginNativeHashes = yield this.getPluginNativeHashes(pluginPlatformsFolderPath);
130
- if (!oldPluginNativeHashes ||
131
- this.$filesHashService.hasChangesInShasums(oldPluginNativeHashes, currentPluginNativeHashes)) {
132
- yield platformData.platformProjectService.preparePluginNativeCode(pluginData, projectData);
133
- const updatedPluginNativeHashes = yield this.getPluginNativeHashes(pluginPlatformsFolderPath);
134
- this.setPluginNativeHashes({
135
- pathToPluginsBuildFile,
136
- pluginData,
137
- currentPluginNativeHashes: updatedPluginNativeHashes,
138
- allPluginsNativeHashes,
139
- });
140
- }
108
+ async preparePluginNativeCode({ pluginData, platform, projectData, }) {
109
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
110
+ const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath(platform);
111
+ if (this.$fs.exists(pluginPlatformsFolderPath)) {
112
+ const pathToPluginsBuildFile = path.join(platformData.projectRoot, constants.PLUGINS_BUILD_DATA_FILENAME);
113
+ const allPluginsNativeHashes = this.getAllPluginsNativeHashes(pathToPluginsBuildFile);
114
+ const oldPluginNativeHashes = allPluginsNativeHashes[pluginData.name];
115
+ const currentPluginNativeHashes = await this.getPluginNativeHashes(pluginPlatformsFolderPath);
116
+ if (!oldPluginNativeHashes ||
117
+ this.$filesHashService.hasChangesInShasums(oldPluginNativeHashes, currentPluginNativeHashes)) {
118
+ await platformData.platformProjectService.preparePluginNativeCode(pluginData, projectData);
119
+ const updatedPluginNativeHashes = await this.getPluginNativeHashes(pluginPlatformsFolderPath);
120
+ this.setPluginNativeHashes({
121
+ pathToPluginsBuildFile,
122
+ pluginData,
123
+ currentPluginNativeHashes: updatedPluginNativeHashes,
124
+ allPluginsNativeHashes,
125
+ });
141
126
  }
142
- });
127
+ }
143
128
  }
144
- ensureAllDependenciesAreInstalled(projectData) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- const packageJsonContent = this.$fs.readJson(this.getPackageJsonFilePath(projectData.projectDir));
147
- const allDependencies = _.keys(packageJsonContent.dependencies).concat(_.keys(packageJsonContent.devDependencies));
148
- const notInstalledDependencies = allDependencies
149
- .map((dep) => {
150
- this.$logger.trace(`Checking if ${dep} is installed...`);
151
- const pathToPackage = (0, package_path_helper_1.resolvePackagePath)(dep, {
152
- paths: [projectData.projectDir],
153
- });
154
- if (pathToPackage) {
155
- return false;
156
- }
157
- this.$logger.trace(`${dep} is not installed, or couldn't be found`);
158
- return dep;
159
- })
160
- .filter(Boolean);
161
- if (this.$options.force || notInstalledDependencies.length) {
162
- this.$logger.trace("Npm install will be called from CLI. Force option is: ", this.$options.force, " Not installed dependencies are: ", notInstalledDependencies);
163
- yield this.$packageManager.install(projectData.projectDir, projectData.projectDir, {
164
- disableNpmInstall: this.$options.disableNpmInstall,
165
- frameworkPath: this.$options.frameworkPath,
166
- ignoreScripts: this.$options.ignoreScripts,
167
- path: this.$options.path,
168
- });
129
+ async ensureAllDependenciesAreInstalled(projectData) {
130
+ const packageJsonContent = this.$fs.readJson(this.getPackageJsonFilePath(projectData.projectDir));
131
+ const allDependencies = _.keys(packageJsonContent.dependencies).concat(_.keys(packageJsonContent.devDependencies));
132
+ const notInstalledDependencies = allDependencies
133
+ .map((dep) => {
134
+ this.$logger.trace(`Checking if ${dep} is installed...`);
135
+ const pathToPackage = (0, package_path_helper_1.resolvePackagePath)(dep, {
136
+ paths: [projectData.projectDir],
137
+ });
138
+ if (pathToPackage) {
139
+ return false;
169
140
  }
170
- });
141
+ this.$logger.trace(`${dep} is not installed, or couldn't be found`);
142
+ return dep;
143
+ })
144
+ .filter(Boolean);
145
+ if (this.$options.force || notInstalledDependencies.length) {
146
+ this.$logger.trace("Npm install will be called from CLI. Force option is: ", this.$options.force, " Not installed dependencies are: ", notInstalledDependencies);
147
+ await this.$packageManager.install(projectData.projectDir, projectData.projectDir, {
148
+ disableNpmInstall: this.$options.disableNpmInstall,
149
+ frameworkPath: this.$options.frameworkPath,
150
+ ignoreScripts: this.$options.ignoreScripts,
151
+ path: this.$options.path,
152
+ });
153
+ }
171
154
  }
172
- getAllInstalledPlugins(projectData) {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- const nodeModules = (yield this.getAllInstalledModules(projectData)).map((nodeModuleData) => this.convertToPluginData(nodeModuleData, projectData.projectDir));
175
- return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
176
- });
155
+ async getAllInstalledPlugins(projectData) {
156
+ const nodeModules = (await this.getAllInstalledModules(projectData)).map((nodeModuleData) => this.convertToPluginData(nodeModuleData, projectData.projectDir));
157
+ return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
177
158
  }
178
159
  getAllProductionPlugins(projectData, platform, dependencies) {
179
160
  dependencies =
@@ -237,7 +218,11 @@ class PluginsService {
237
218
  const contents = this.$fs.readDirectory(pathToPlatforms);
238
219
  _.each(contents, (file) => {
239
220
  if (path.extname(file) === ".framework") {
240
- dependenciesWithFrameworks.push(Object.assign(Object.assign({}, d), { frameworkName: path.basename(file), frameworkLocation: path.join(pathToPlatforms, file) }));
221
+ dependenciesWithFrameworks.push({
222
+ ...d,
223
+ frameworkName: path.basename(file),
224
+ frameworkLocation: path.join(pathToPlatforms, file),
225
+ });
241
226
  }
242
227
  });
243
228
  }
@@ -378,45 +363,37 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
378
363
  nativescript: data.nativescript,
379
364
  };
380
365
  }
381
- ensure(projectData) {
382
- return __awaiter(this, void 0, void 0, function* () {
383
- yield this.ensureAllDependenciesAreInstalled(projectData);
384
- this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
385
- });
366
+ async ensure(projectData) {
367
+ await this.ensureAllDependenciesAreInstalled(projectData);
368
+ this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
386
369
  }
387
- getAllInstalledModules(projectData) {
388
- return __awaiter(this, void 0, void 0, function* () {
389
- yield this.ensure(projectData);
390
- const nodeModules = this.getDependencies(projectData.projectDir);
391
- return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
392
- });
370
+ async getAllInstalledModules(projectData) {
371
+ await this.ensure(projectData);
372
+ const nodeModules = this.getDependencies(projectData.projectDir);
373
+ return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
393
374
  }
394
- executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
395
- return __awaiter(this, void 0, void 0, function* () {
396
- if (npmCommandName === PluginsService.INSTALL_COMMAND_NAME) {
397
- yield this.$packageManager.install(npmCommandArguments, projectData.projectDir, this.npmInstallOptions);
398
- }
399
- else if (npmCommandName === PluginsService.UNINSTALL_COMMAND_NAME) {
400
- yield this.$packageManager.uninstall(npmCommandArguments, PluginsService.NPM_CONFIG, projectData.projectDir);
401
- }
402
- return this.parseNpmCommandResult(npmCommandArguments);
403
- });
375
+ async executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
376
+ if (npmCommandName === PluginsService.INSTALL_COMMAND_NAME) {
377
+ await this.$packageManager.install(npmCommandArguments, projectData.projectDir, this.npmInstallOptions);
378
+ }
379
+ else if (npmCommandName === PluginsService.UNINSTALL_COMMAND_NAME) {
380
+ await this.$packageManager.uninstall(npmCommandArguments, PluginsService.NPM_CONFIG, projectData.projectDir);
381
+ }
382
+ return this.parseNpmCommandResult(npmCommandArguments);
404
383
  }
405
384
  parseNpmCommandResult(npmCommandResult) {
406
385
  return npmCommandResult.split("@")[0];
407
386
  }
408
- executeForAllInstalledPlatforms(action, projectData) {
409
- return __awaiter(this, void 0, void 0, function* () {
410
- const availablePlatforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
411
- for (const platform of availablePlatforms) {
412
- const isPlatformInstalled = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
413
- if (isPlatformInstalled) {
414
- const platformData = this.$platformsDataService.getPlatformData(platform.toLowerCase(), projectData);
415
- const pluginDestinationPath = path.join(platformData.appDestinationDirectoryPath, constants.APP_FOLDER_NAME, "tns_modules");
416
- yield action(pluginDestinationPath, platform.toLowerCase(), platformData);
417
- }
387
+ async executeForAllInstalledPlatforms(action, projectData) {
388
+ const availablePlatforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
389
+ for (const platform of availablePlatforms) {
390
+ const isPlatformInstalled = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
391
+ if (isPlatformInstalled) {
392
+ const platformData = this.$platformsDataService.getPlatformData(platform.toLowerCase(), projectData);
393
+ const pluginDestinationPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, "tns_modules");
394
+ await action(pluginDestinationPath, platform.toLowerCase(), platformData);
418
395
  }
419
- });
396
+ }
420
397
  }
421
398
  getInstalledFrameworkVersion(platform, projectData) {
422
399
  const runtimePackage = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
@@ -439,17 +416,18 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
439
416
  }
440
417
  return isValid;
441
418
  }
442
- getPluginNativeHashes(pluginPlatformsDir) {
443
- return __awaiter(this, void 0, void 0, function* () {
444
- let data = {};
445
- if (this.$fs.exists(pluginPlatformsDir)) {
446
- const pluginNativeDataFiles = this.$fs.enumerateFilesInDirectorySync(pluginPlatformsDir);
447
- data = yield this.$filesHashService.generateHashes(pluginNativeDataFiles);
448
- }
449
- return data;
450
- });
419
+ async getPluginNativeHashes(pluginPlatformsDir) {
420
+ let data = {};
421
+ if (this.$fs.exists(pluginPlatformsDir)) {
422
+ const pluginNativeDataFiles = this.$fs.enumerateFilesInDirectorySync(pluginPlatformsDir);
423
+ data = await this.$filesHashService.generateHashes(pluginNativeDataFiles);
424
+ }
425
+ return data;
451
426
  }
452
427
  getAllPluginsNativeHashes(pathToPluginsBuildFile) {
428
+ if (this.$options.hostProjectPath) {
429
+ return {};
430
+ }
453
431
  let data = {};
454
432
  if (this.$fs.exists(pathToPluginsBuildFile)) {
455
433
  data = this.$fs.readJson(pathToPluginsBuildFile);
@@ -457,11 +435,15 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
457
435
  return data;
458
436
  }
459
437
  setPluginNativeHashes(opts) {
438
+ if (this.$options.hostProjectPath) {
439
+ return;
440
+ }
460
441
  opts.allPluginsNativeHashes[opts.pluginData.name] =
461
442
  opts.currentPluginNativeHashes;
462
443
  this.$fs.writeJson(opts.pathToPluginsBuildFile, opts.allPluginsNativeHashes);
463
444
  }
464
445
  }
446
+ exports.PluginsService = PluginsService;
465
447
  PluginsService.INSTALL_COMMAND_NAME = "install";
466
448
  PluginsService.UNINSTALL_COMMAND_NAME = "uninstall";
467
449
  PluginsService.NPM_CONFIG = {
@@ -473,5 +455,4 @@ PluginsService.LOCK_FILES = [
473
455
  "yarn.lock",
474
456
  "pnpm-lock.yaml",
475
457
  ];
476
- exports.PluginsService = PluginsService;
477
458
  yok_1.injector.register("pluginsService", PluginsService);
@@ -22,6 +22,7 @@ class ProjectBackupService {
22
22
  return backup.restore();
23
23
  }
24
24
  }
25
+ exports.ProjectBackupService = ProjectBackupService;
25
26
  ProjectBackupService.Backup = class Backup {
26
27
  constructor($super, name, pathsToBackup = [], basePath = $super.$projectHelper.projectDir) {
27
28
  this.$super = $super;
@@ -110,5 +111,4 @@ ProjectBackupService.Backup = class Backup {
110
111
  return this.$super.$fs.readJson(backupJSONPath);
111
112
  }
112
113
  };
113
- exports.ProjectBackupService = ProjectBackupService;
114
114
  yok_1.injector.register("projectBackupService", ProjectBackupService);