nativescript 8.9.0-alpha.3 → 8.9.0-dev.1

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 (342) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +210 -229
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +11 -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 +44 -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 +150 -200
  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 +163 -199
  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 +22 -35
  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 +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  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 +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +47 -51
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +49 -64
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  281. package/node_modules/@npmcli/move-file/package.json +0 -47
  282. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  283. package/node_modules/balanced-match/LICENSE.md +0 -21
  284. package/node_modules/balanced-match/README.md +0 -97
  285. package/node_modules/balanced-match/index.js +0 -62
  286. package/node_modules/balanced-match/package.json +0 -48
  287. package/node_modules/concat-map/.travis.yml +0 -4
  288. package/node_modules/concat-map/LICENSE +0 -18
  289. package/node_modules/concat-map/README.markdown +0 -62
  290. package/node_modules/concat-map/example/map.js +0 -6
  291. package/node_modules/concat-map/index.js +0 -13
  292. package/node_modules/concat-map/package.json +0 -43
  293. package/node_modules/concat-map/test/map.js +0 -39
  294. package/node_modules/fs.realpath/LICENSE +0 -43
  295. package/node_modules/fs.realpath/README.md +0 -33
  296. package/node_modules/fs.realpath/index.js +0 -66
  297. package/node_modules/fs.realpath/old.js +0 -303
  298. package/node_modules/fs.realpath/package.json +0 -26
  299. package/node_modules/inflight/LICENSE +0 -15
  300. package/node_modules/inflight/README.md +0 -37
  301. package/node_modules/inflight/inflight.js +0 -54
  302. package/node_modules/inflight/package.json +0 -29
  303. package/node_modules/inherits/LICENSE +0 -16
  304. package/node_modules/inherits/README.md +0 -42
  305. package/node_modules/inherits/inherits.js +0 -9
  306. package/node_modules/inherits/inherits_browser.js +0 -27
  307. package/node_modules/inherits/package.json +0 -29
  308. package/node_modules/once/LICENSE +0 -15
  309. package/node_modules/once/README.md +0 -79
  310. package/node_modules/once/once.js +0 -42
  311. package/node_modules/once/package.json +0 -33
  312. package/node_modules/path-is-absolute/index.js +0 -20
  313. package/node_modules/path-is-absolute/license +0 -21
  314. package/node_modules/path-is-absolute/package.json +0 -43
  315. package/node_modules/path-is-absolute/readme.md +0 -59
  316. package/node_modules/rimraf/LICENSE +0 -15
  317. package/node_modules/rimraf/README.md +0 -101
  318. package/node_modules/rimraf/bin.js +0 -68
  319. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  320. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  321. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  322. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  323. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  324. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  325. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  326. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  327. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  328. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  329. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  330. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  331. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  332. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  333. package/node_modules/rimraf/package.json +0 -32
  334. package/node_modules/rimraf/rimraf.js +0 -360
  335. package/node_modules/stringify-package/LICENSE +0 -13
  336. package/node_modules/stringify-package/README.md +0 -55
  337. package/node_modules/stringify-package/index.js +0 -18
  338. package/node_modules/stringify-package/package.json +0 -38
  339. package/node_modules/wrappy/LICENSE +0 -15
  340. package/node_modules/wrappy/README.md +0 -36
  341. package/node_modules/wrappy/package.json +0 -29
  342. package/node_modules/wrappy/wrappy.js +0 -33
@@ -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.AddPluginCommand = void 0;
13
4
  const _ = require("lodash");
@@ -20,23 +11,19 @@ class AddPluginCommand {
20
11
  this.allowedParameters = [];
21
12
  this.$projectData.initializeProjectData();
22
13
  }
23
- execute(args) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- return this.$pluginsService.add(args[0], this.$projectData);
26
- });
14
+ async execute(args) {
15
+ return this.$pluginsService.add(args[0], this.$projectData);
27
16
  }
28
- canExecute(args) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- if (!args[0]) {
31
- this.$errors.failWithHelp("You must specify plugin name.");
32
- }
33
- const installedPlugins = yield this.$pluginsService.getAllInstalledPlugins(this.$projectData);
34
- const pluginName = args[0].toLowerCase();
35
- if (_.some(installedPlugins, (plugin) => plugin.name.toLowerCase() === pluginName)) {
36
- this.$errors.fail(`Plugin "${pluginName}" is already installed.`);
37
- }
38
- return true;
39
- });
17
+ async canExecute(args) {
18
+ if (!args[0]) {
19
+ this.$errors.failWithHelp("You must specify plugin name.");
20
+ }
21
+ const installedPlugins = await this.$pluginsService.getAllInstalledPlugins(this.$projectData);
22
+ const pluginName = args[0].toLowerCase();
23
+ if (_.some(installedPlugins, (plugin) => plugin.name.toLowerCase() === pluginName)) {
24
+ this.$errors.fail(`Plugin "${pluginName}" is already installed.`);
25
+ }
26
+ return true;
40
27
  }
41
28
  }
42
29
  exports.AddPluginCommand = AddPluginCommand;
@@ -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.BuildPluginCommand = void 0;
13
4
  const os_1 = require("os");
@@ -25,43 +16,39 @@ class BuildPluginCommand {
25
16
  this.allowedParameters = [];
26
17
  this.pluginProjectPath = path.resolve(this.$options.path || ".");
27
18
  }
28
- execute(args) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const platformsAndroidPath = path.join(this.pluginProjectPath, constants.PLATFORMS_DIR_NAME, "android");
31
- let pluginName = "";
32
- const pluginPackageJsonPath = path.join(this.pluginProjectPath, constants.PACKAGE_JSON_FILE_NAME);
33
- if (this.$fs.exists(pluginPackageJsonPath)) {
34
- const packageJsonContents = this.$fs.readJson(pluginPackageJsonPath);
35
- if (packageJsonContents && packageJsonContents["name"]) {
36
- pluginName = packageJsonContents["name"];
37
- }
19
+ async execute(args) {
20
+ const platformsAndroidPath = path.join(this.pluginProjectPath, constants.PLATFORMS_DIR_NAME, "android");
21
+ let pluginName = "";
22
+ const pluginPackageJsonPath = path.join(this.pluginProjectPath, constants.PACKAGE_JSON_FILE_NAME);
23
+ if (this.$fs.exists(pluginPackageJsonPath)) {
24
+ const packageJsonContents = this.$fs.readJson(pluginPackageJsonPath);
25
+ if (packageJsonContents && packageJsonContents["name"]) {
26
+ pluginName = packageJsonContents["name"];
38
27
  }
39
- const tempAndroidProject = yield this.$tempService.mkdirSync("android-project");
40
- const options = {
41
- gradlePath: this.$options.gradlePath,
42
- gradleArgs: this.$options.gradleArgs,
43
- aarOutputDir: platformsAndroidPath,
44
- platformsAndroidDirPath: platformsAndroidPath,
45
- pluginName: pluginName,
46
- tempPluginDirPath: tempAndroidProject,
47
- };
48
- const androidPluginBuildResult = yield this.$androidPluginBuildService.buildAar(options);
49
- if (androidPluginBuildResult) {
50
- this.$logger.info(`${pluginName} successfully built aar at ${platformsAndroidPath}.${os_1.EOL}Temporary Android project can be found at ${tempAndroidProject}.`);
51
- }
52
- const migratedIncludeGradle = this.$androidPluginBuildService.migrateIncludeGradle(options);
53
- if (migratedIncludeGradle) {
54
- this.$logger.info(`${pluginName} include gradle updated.`);
55
- }
56
- });
28
+ }
29
+ const tempAndroidProject = await this.$tempService.mkdirSync("android-project");
30
+ const options = {
31
+ gradlePath: this.$options.gradlePath,
32
+ gradleArgs: this.$options.gradleArgs,
33
+ aarOutputDir: platformsAndroidPath,
34
+ platformsAndroidDirPath: platformsAndroidPath,
35
+ pluginName: pluginName,
36
+ tempPluginDirPath: tempAndroidProject,
37
+ };
38
+ const androidPluginBuildResult = await this.$androidPluginBuildService.buildAar(options);
39
+ if (androidPluginBuildResult) {
40
+ this.$logger.info(`${pluginName} successfully built aar at ${platformsAndroidPath}.${os_1.EOL}Temporary Android project can be found at ${tempAndroidProject}.`);
41
+ }
42
+ const migratedIncludeGradle = this.$androidPluginBuildService.migrateIncludeGradle(options);
43
+ if (migratedIncludeGradle) {
44
+ this.$logger.info(`${pluginName} include gradle updated.`);
45
+ }
57
46
  }
58
- canExecute(args) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- if (!this.$fs.exists(path.join(this.pluginProjectPath, constants.PLATFORMS_DIR_NAME, "android"))) {
61
- this.$errors.fail("No plugin found at the current directory, or the plugin does not need to have its platforms/android components built into an `.aar`.");
62
- }
63
- return true;
64
- });
47
+ async canExecute(args) {
48
+ if (!this.$fs.exists(path.join(this.pluginProjectPath, constants.PLATFORMS_DIR_NAME, "android"))) {
49
+ this.$errors.fail("No plugin found at the current directory, or the plugin does not need to have its platforms/android components built into an `.aar`.");
50
+ }
51
+ return true;
65
52
  }
66
53
  }
67
54
  exports.BuildPluginCommand = BuildPluginCommand;
@@ -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.CreatePluginCommand = void 0;
13
4
  const path = require("path");
@@ -31,72 +22,66 @@ class CreatePluginCommand {
31
22
  this.includeAngularDemoMessage = 'Do you want to include an "Angular NativeScript" application linked with your plugin to make development easier?';
32
23
  this.pathAlreadyExistsMessageTemplate = "Path already exists and is not empty %s";
33
24
  }
34
- execute(args) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const pluginRepoName = args[0];
37
- const pathToProject = this.$options.path;
38
- const selectedTemplate = this.$options.template;
39
- const selectedPath = path.resolve(pathToProject || ".");
40
- const projectDir = path.join(selectedPath, pluginRepoName);
41
- this.ensurePackageDir(projectDir);
42
- try {
43
- yield this.downloadPackage(selectedTemplate, projectDir);
44
- yield this.setupSeed(projectDir, pluginRepoName);
45
- }
46
- catch (err) {
47
- this.$fs.deleteDirectory(projectDir);
48
- throw err;
49
- }
50
- this.$logger.printMarkdown("Solution for `%s` was successfully created.", pluginRepoName);
51
- });
25
+ async execute(args) {
26
+ const pluginRepoName = args[0];
27
+ const pathToProject = this.$options.path;
28
+ const selectedTemplate = this.$options.template;
29
+ const selectedPath = path.resolve(pathToProject || ".");
30
+ const projectDir = path.join(selectedPath, pluginRepoName);
31
+ this.ensurePackageDir(projectDir);
32
+ try {
33
+ await this.downloadPackage(selectedTemplate, projectDir);
34
+ await this.setupSeed(projectDir, pluginRepoName);
35
+ }
36
+ catch (err) {
37
+ this.$fs.deleteDirectory(projectDir);
38
+ throw err;
39
+ }
40
+ this.$logger.printMarkdown("Solution for `%s` was successfully created.", pluginRepoName);
52
41
  }
53
- canExecute(args) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- if (!args[0]) {
56
- this.$errors.failWithHelp("You must specify the plugin repository name.");
57
- }
58
- return true;
59
- });
42
+ async canExecute(args) {
43
+ if (!args[0]) {
44
+ this.$errors.failWithHelp("You must specify the plugin repository name.");
45
+ }
46
+ return true;
60
47
  }
61
- setupSeed(projectDir, pluginRepoName) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- this.$logger.printMarkdown("Executing initial plugin configuration script...");
64
- const config = this.$options;
65
- const spinner = this.$terminalSpinnerService.createSpinner();
66
- const cwd = path.join(projectDir, "src");
67
- try {
68
- spinner.start();
69
- const npmOptions = { silent: true };
70
- yield this.$packageManager.install(cwd, cwd, npmOptions);
71
- }
72
- finally {
73
- spinner.stop();
74
- }
75
- const gitHubUsername = yield this.getGitHubUsername(config.username);
76
- const pluginNameSource = yield this.getPluginNameSource(config.pluginName, pluginRepoName);
77
- const includeTypescriptDemo = yield this.getShouldIncludeDemoResult(config.includeTypeScriptDemo, this.includeTypeScriptDemoMessage);
78
- const includeAngularDemo = yield this.getShouldIncludeDemoResult(config.includeAngularDemo, this.includeAngularDemoMessage);
79
- if (!(0, helpers_1.isInteractive)() &&
80
- (!config.username ||
81
- !config.pluginName ||
82
- !config.includeAngularDemo ||
83
- !config.includeTypeScriptDemo)) {
84
- this.$logger.printMarkdown("Using default values for plugin creation options since your shell is not interactive.");
85
- }
86
- const pathToPostCloneScript = path.join("scripts", "postclone");
87
- const params = [
88
- pathToPostCloneScript,
89
- `gitHubUsername=${gitHubUsername}`,
90
- `pluginName=${pluginNameSource}`,
91
- "initGit=y",
92
- `includeTypeScriptDemo=${includeTypescriptDemo}`,
93
- `includeAngularDemo=${includeAngularDemo}`,
94
- ];
95
- const outputScript = yield this.$childProcess.spawnFromEvent(process.execPath, params, "close", { stdio: "inherit", cwd, timeout: 10000 });
96
- if (outputScript && outputScript.stdout) {
97
- this.$logger.printMarkdown(outputScript.stdout);
98
- }
99
- });
48
+ async setupSeed(projectDir, pluginRepoName) {
49
+ this.$logger.printMarkdown("Executing initial plugin configuration script...");
50
+ const config = this.$options;
51
+ const spinner = this.$terminalSpinnerService.createSpinner();
52
+ const cwd = path.join(projectDir, "src");
53
+ try {
54
+ spinner.start();
55
+ const npmOptions = { silent: true };
56
+ await this.$packageManager.install(cwd, cwd, npmOptions);
57
+ }
58
+ finally {
59
+ spinner.stop();
60
+ }
61
+ const gitHubUsername = await this.getGitHubUsername(config.username);
62
+ const pluginNameSource = await this.getPluginNameSource(config.pluginName, pluginRepoName);
63
+ const includeTypescriptDemo = await this.getShouldIncludeDemoResult(config.includeTypeScriptDemo, this.includeTypeScriptDemoMessage);
64
+ const includeAngularDemo = await this.getShouldIncludeDemoResult(config.includeAngularDemo, this.includeAngularDemoMessage);
65
+ if (!(0, helpers_1.isInteractive)() &&
66
+ (!config.username ||
67
+ !config.pluginName ||
68
+ !config.includeAngularDemo ||
69
+ !config.includeTypeScriptDemo)) {
70
+ this.$logger.printMarkdown("Using default values for plugin creation options since your shell is not interactive.");
71
+ }
72
+ const pathToPostCloneScript = path.join("scripts", "postclone");
73
+ const params = [
74
+ pathToPostCloneScript,
75
+ `gitHubUsername=${gitHubUsername}`,
76
+ `pluginName=${pluginNameSource}`,
77
+ "initGit=y",
78
+ `includeTypeScriptDemo=${includeTypescriptDemo}`,
79
+ `includeAngularDemo=${includeAngularDemo}`,
80
+ ];
81
+ const outputScript = await this.$childProcess.spawnFromEvent(process.execPath, params, "close", { stdio: "inherit", cwd, timeout: 10000 });
82
+ if (outputScript && outputScript.stdout) {
83
+ this.$logger.printMarkdown(outputScript.stdout);
84
+ }
100
85
  }
101
86
  ensurePackageDir(projectDir) {
102
87
  this.$fs.createDirectory(projectDir);
@@ -104,71 +89,63 @@ class CreatePluginCommand {
104
89
  this.$errors.fail(this.pathAlreadyExistsMessageTemplate, projectDir);
105
90
  }
106
91
  }
107
- downloadPackage(selectedTemplate, projectDir) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- if (selectedTemplate) {
110
- this.$logger.printMarkdown("Make sure your custom template is compatible with the Plugin Seed at https://github.com/NativeScript/nativescript-plugin-seed/");
111
- }
112
- else {
113
- this.$logger.printMarkdown("Downloading the latest version of NativeScript Plugin Seed...");
114
- }
115
- const spinner = this.$terminalSpinnerService.createSpinner();
116
- const packageToInstall = selectedTemplate ||
117
- "https://github.com/NativeScript/nativescript-plugin-seed/archive/master.tar.gz";
118
- try {
119
- spinner.start();
120
- yield this.$pacoteService.extractPackage(packageToInstall, projectDir);
121
- }
122
- finally {
123
- spinner.stop();
124
- }
125
- });
126
- }
127
- getGitHubUsername(gitHubUsername) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- if (!gitHubUsername) {
130
- gitHubUsername = "NativeScriptDeveloper";
131
- if ((0, helpers_1.isInteractive)()) {
132
- gitHubUsername = yield this.$prompter.getString(this.userMessage, {
133
- allowEmpty: false,
134
- defaultAction: () => {
135
- return gitHubUsername;
136
- },
137
- });
138
- }
139
- }
140
- return gitHubUsername;
141
- });
92
+ async downloadPackage(selectedTemplate, projectDir) {
93
+ if (selectedTemplate) {
94
+ this.$logger.printMarkdown("Make sure your custom template is compatible with the Plugin Seed at https://github.com/NativeScript/nativescript-plugin-seed/");
95
+ }
96
+ else {
97
+ this.$logger.printMarkdown("Downloading the latest version of NativeScript Plugin Seed...");
98
+ }
99
+ const spinner = this.$terminalSpinnerService.createSpinner();
100
+ const packageToInstall = selectedTemplate ||
101
+ "https://github.com/NativeScript/nativescript-plugin-seed/archive/master.tar.gz";
102
+ try {
103
+ spinner.start();
104
+ await this.$pacoteService.extractPackage(packageToInstall, projectDir);
105
+ }
106
+ finally {
107
+ spinner.stop();
108
+ }
142
109
  }
143
- getPluginNameSource(pluginNameSource, pluginRepoName) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- if (!pluginNameSource) {
146
- const prefix = "nativescript-";
147
- pluginNameSource = pluginRepoName.toLowerCase().startsWith(prefix)
148
- ? pluginRepoName.slice(prefix.length, pluginRepoName.length)
149
- : pluginRepoName;
150
- if ((0, helpers_1.isInteractive)()) {
151
- pluginNameSource = yield this.$prompter.getString(this.nameMessage, {
152
- allowEmpty: false,
153
- defaultAction: () => {
154
- return pluginNameSource;
155
- },
156
- });
157
- }
110
+ async getGitHubUsername(gitHubUsername) {
111
+ if (!gitHubUsername) {
112
+ gitHubUsername = "NativeScriptDeveloper";
113
+ if ((0, helpers_1.isInteractive)()) {
114
+ gitHubUsername = await this.$prompter.getString(this.userMessage, {
115
+ allowEmpty: false,
116
+ defaultAction: () => {
117
+ return gitHubUsername;
118
+ },
119
+ });
158
120
  }
159
- return pluginNameSource;
160
- });
121
+ }
122
+ return gitHubUsername;
161
123
  }
162
- getShouldIncludeDemoResult(includeDemoOption, message) {
163
- return __awaiter(this, void 0, void 0, function* () {
164
- let shouldIncludeDemo = !!includeDemoOption;
165
- if (!includeDemoOption && (0, helpers_1.isInteractive)()) {
166
- shouldIncludeDemo = yield this.$prompter.confirm(message, () => {
167
- return true;
124
+ async getPluginNameSource(pluginNameSource, pluginRepoName) {
125
+ if (!pluginNameSource) {
126
+ const prefix = "nativescript-";
127
+ pluginNameSource = pluginRepoName.toLowerCase().startsWith(prefix)
128
+ ? pluginRepoName.slice(prefix.length, pluginRepoName.length)
129
+ : pluginRepoName;
130
+ if ((0, helpers_1.isInteractive)()) {
131
+ pluginNameSource = await this.$prompter.getString(this.nameMessage, {
132
+ allowEmpty: false,
133
+ defaultAction: () => {
134
+ return pluginNameSource;
135
+ },
168
136
  });
169
137
  }
170
- return shouldIncludeDemo ? "y" : "n";
171
- });
138
+ }
139
+ return pluginNameSource;
140
+ }
141
+ async getShouldIncludeDemoResult(includeDemoOption, message) {
142
+ let shouldIncludeDemo = !!includeDemoOption;
143
+ if (!includeDemoOption && (0, helpers_1.isInteractive)()) {
144
+ shouldIncludeDemo = await this.$prompter.confirm(message, () => {
145
+ return true;
146
+ });
147
+ }
148
+ return shouldIncludeDemo ? "y" : "n";
172
149
  }
173
150
  }
174
151
  exports.CreatePluginCommand = CreatePluginCommand;
@@ -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.ListPluginsCommand = void 0;
13
4
  const helpers_1 = require("../../common/helpers");
@@ -21,30 +12,28 @@ class ListPluginsCommand {
21
12
  this.allowedParameters = [];
22
13
  this.$projectData.initializeProjectData();
23
14
  }
24
- execute(args) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const installedPlugins = this.$pluginsService.getDependenciesFromPackageJson(this.$projectData.projectDir);
27
- const headers = ["Plugin", "Version"];
28
- const dependenciesData = this.createTableCells(installedPlugins.dependencies);
29
- const dependenciesTable = (0, helpers_1.createTable)(headers, dependenciesData);
30
- this.$logger.info("Dependencies:");
31
- this.$logger.info(dependenciesTable.toString());
32
- if (installedPlugins.devDependencies &&
33
- installedPlugins.devDependencies.length) {
34
- const devDependenciesData = this.createTableCells(installedPlugins.devDependencies);
35
- const devDependenciesTable = (0, helpers_1.createTable)(headers, devDependenciesData);
36
- this.$logger.info("Dev Dependencies:");
37
- this.$logger.info(devDependenciesTable.toString());
38
- }
39
- else {
40
- this.$logger.info("There are no dev dependencies.");
41
- }
42
- const viewDependenciesCommand = color_1.color.cyan("npm view <pluginName> grep dependencies");
43
- const viewDevDependenciesCommand = color_1.color.cyan("npm view <pluginName> grep devDependencies");
44
- this.$logger.warn("NOTE:");
45
- this.$logger.warn(`If you want to check the dependencies of installed plugin use ${viewDependenciesCommand}`);
46
- this.$logger.warn(`If you want to check the dev dependencies of installed plugin use ${viewDevDependenciesCommand}`);
47
- });
15
+ async execute(args) {
16
+ const installedPlugins = this.$pluginsService.getDependenciesFromPackageJson(this.$projectData.projectDir);
17
+ const headers = ["Plugin", "Version"];
18
+ const dependenciesData = this.createTableCells(installedPlugins.dependencies);
19
+ const dependenciesTable = (0, helpers_1.createTable)(headers, dependenciesData);
20
+ this.$logger.info("Dependencies:");
21
+ this.$logger.info(dependenciesTable.toString());
22
+ if (installedPlugins.devDependencies &&
23
+ installedPlugins.devDependencies.length) {
24
+ const devDependenciesData = this.createTableCells(installedPlugins.devDependencies);
25
+ const devDependenciesTable = (0, helpers_1.createTable)(headers, devDependenciesData);
26
+ this.$logger.info("Dev Dependencies:");
27
+ this.$logger.info(devDependenciesTable.toString());
28
+ }
29
+ else {
30
+ this.$logger.info("There are no dev dependencies.");
31
+ }
32
+ const viewDependenciesCommand = color_1.color.cyan("npm view <pluginName> grep dependencies");
33
+ const viewDevDependenciesCommand = color_1.color.cyan("npm view <pluginName> grep devDependencies");
34
+ this.$logger.warn("NOTE:");
35
+ this.$logger.warn(`If you want to check the dependencies of installed plugin use ${viewDependenciesCommand}`);
36
+ this.$logger.warn(`If you want to check the dev dependencies of installed plugin use ${viewDevDependenciesCommand}`);
48
37
  }
49
38
  createTableCells(items) {
50
39
  return items.map((item) => [item.name, item.version]);
@@ -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.RemovePluginCommand = void 0;
13
4
  const _ = require("lodash");
@@ -21,31 +12,27 @@ class RemovePluginCommand {
21
12
  this.allowedParameters = [];
22
13
  this.$projectData.initializeProjectData();
23
14
  }
24
- execute(args) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- return this.$pluginsService.remove(args[0], this.$projectData);
27
- });
15
+ async execute(args) {
16
+ return this.$pluginsService.remove(args[0], this.$projectData);
28
17
  }
29
- canExecute(args) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- if (!args[0]) {
32
- this.$errors.failWithHelp("You must specify plugin name.");
33
- }
34
- let pluginNames = [];
35
- try {
36
- const installedPlugins = yield this.$pluginsService.getAllInstalledPlugins(this.$projectData);
37
- pluginNames = installedPlugins.map((pl) => pl.name);
38
- }
39
- catch (err) {
40
- this.$logger.trace("Error while installing plugins. Error is:", err);
41
- pluginNames = _.keys(this.$projectData.dependencies);
42
- }
43
- const pluginName = args[0].toLowerCase();
44
- if (!_.some(pluginNames, (name) => name.toLowerCase() === pluginName)) {
45
- this.$errors.fail(`Plugin "${pluginName}" is not installed.`);
46
- }
47
- return true;
48
- });
18
+ async canExecute(args) {
19
+ if (!args[0]) {
20
+ this.$errors.failWithHelp("You must specify plugin name.");
21
+ }
22
+ let pluginNames = [];
23
+ try {
24
+ const installedPlugins = await this.$pluginsService.getAllInstalledPlugins(this.$projectData);
25
+ pluginNames = installedPlugins.map((pl) => pl.name);
26
+ }
27
+ catch (err) {
28
+ this.$logger.trace("Error while installing plugins. Error is:", err);
29
+ pluginNames = _.keys(this.$projectData.dependencies);
30
+ }
31
+ const pluginName = args[0].toLowerCase();
32
+ if (!_.some(pluginNames, (name) => name.toLowerCase() === pluginName)) {
33
+ this.$errors.fail(`Plugin "${pluginName}" is not installed.`);
34
+ }
35
+ return true;
49
36
  }
50
37
  }
51
38
  exports.RemovePluginCommand = RemovePluginCommand;
@@ -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.UpdatePluginCommand = void 0;
13
4
  const _ = require("lodash");
@@ -20,32 +11,28 @@ class UpdatePluginCommand {
20
11
  this.allowedParameters = [];
21
12
  this.$projectData.initializeProjectData();
22
13
  }
23
- execute(args) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- let pluginNames = args;
26
- if (!pluginNames || args.length === 0) {
27
- const installedPlugins = yield this.$pluginsService.getAllInstalledPlugins(this.$projectData);
28
- pluginNames = installedPlugins.map((p) => p.name);
29
- }
30
- for (const pluginName of pluginNames) {
31
- yield this.$pluginsService.remove(pluginName, this.$projectData);
32
- yield this.$pluginsService.add(pluginName, this.$projectData);
33
- }
34
- });
14
+ async execute(args) {
15
+ let pluginNames = args;
16
+ if (!pluginNames || args.length === 0) {
17
+ const installedPlugins = await this.$pluginsService.getAllInstalledPlugins(this.$projectData);
18
+ pluginNames = installedPlugins.map((p) => p.name);
19
+ }
20
+ for (const pluginName of pluginNames) {
21
+ await this.$pluginsService.remove(pluginName, this.$projectData);
22
+ await this.$pluginsService.add(pluginName, this.$projectData);
23
+ }
35
24
  }
36
- canExecute(args) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- if (!args || args.length === 0) {
39
- return true;
40
- }
41
- const installedPlugins = yield this.$pluginsService.getAllInstalledPlugins(this.$projectData);
42
- const installedPluginNames = installedPlugins.map((pl) => pl.name);
43
- const pluginName = args[0].toLowerCase();
44
- if (!_.some(installedPluginNames, (name) => name.toLowerCase() === pluginName)) {
45
- this.$errors.fail(`Plugin "${pluginName}" is not installed.`);
46
- }
25
+ async canExecute(args) {
26
+ if (!args || args.length === 0) {
47
27
  return true;
48
- });
28
+ }
29
+ const installedPlugins = await this.$pluginsService.getAllInstalledPlugins(this.$projectData);
30
+ const installedPluginNames = installedPlugins.map((pl) => pl.name);
31
+ const pluginName = args[0].toLowerCase();
32
+ if (!_.some(installedPluginNames, (name) => name.toLowerCase() === pluginName)) {
33
+ this.$errors.fail(`Plugin "${pluginName}" is not installed.`);
34
+ }
35
+ return true;
49
36
  }
50
37
  }
51
38
  exports.UpdatePluginCommand = UpdatePluginCommand;