nativescript 8.9.0-dev.2 → 8.9.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. 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.PluginsService = void 0;
13
4
  const path = require("path");
@@ -51,51 +42,47 @@ 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
- // Validate
68
- const action = (pluginDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
69
- this.isPluginDataValidForPlatform(pluginData, platform, projectData);
70
- });
71
- yield this.executeForAllInstalledPlatforms(action, projectData);
72
- this.$logger.info(`Successfully installed plugin ${realNpmPackageJson.name}.`);
73
- }
74
- else {
75
- yield this.$packageManager.uninstall(realNpmPackageJson.name, { save: true }, projectData.projectDir);
76
- this.$errors.fail(`${plugin} is not a valid NativeScript plugin. Verify that the plugin package.json file contains a nativescript key and try again.`);
77
- }
78
- });
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
+ // Validate
58
+ const action = async (pluginDestinationPath, platform, platformData) => {
59
+ this.isPluginDataValidForPlatform(pluginData, platform, projectData);
60
+ };
61
+ await this.executeForAllInstalledPlatforms(action, projectData);
62
+ this.$logger.info(`Successfully installed plugin ${realNpmPackageJson.name}.`);
63
+ }
64
+ else {
65
+ await this.$packageManager.uninstall(realNpmPackageJson.name, { save: true }, projectData.projectDir);
66
+ this.$errors.fail(`${plugin} is not a valid NativeScript plugin. Verify that the plugin package.json file contains a nativescript key and try again.`);
67
+ }
79
68
  }
80
- remove(pluginName, projectData) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const removePluginNativeCodeAction = (modulesDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
83
- const pluginData = this.convertToPluginData(this.getNodeModuleData(pluginName, projectData.projectDir), projectData.projectDir);
84
- yield platformData.platformProjectService.removePluginNativeCode(pluginData, projectData);
85
- });
86
- yield this.executeForAllInstalledPlatforms(removePluginNativeCodeAction, projectData);
87
- yield this.executeNpmCommand(PluginsService.UNINSTALL_COMMAND_NAME, pluginName, projectData);
88
- let showMessage = true;
89
- const action = (modulesDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
90
- shelljs.rm("-rf", path.join(modulesDestinationPath, pluginName));
91
- this.$logger.info(`Successfully removed plugin ${pluginName} for ${platform}.`);
92
- showMessage = false;
93
- });
94
- yield this.executeForAllInstalledPlatforms(action, projectData);
95
- if (showMessage) {
96
- this.$logger.info(`Successfully removed plugin ${pluginName}`);
97
- }
98
- });
69
+ async remove(pluginName, projectData) {
70
+ const removePluginNativeCodeAction = async (modulesDestinationPath, platform, platformData) => {
71
+ const pluginData = this.convertToPluginData(this.getNodeModuleData(pluginName, projectData.projectDir), projectData.projectDir);
72
+ await platformData.platformProjectService.removePluginNativeCode(pluginData, projectData);
73
+ };
74
+ await this.executeForAllInstalledPlatforms(removePluginNativeCodeAction, projectData);
75
+ await this.executeNpmCommand(PluginsService.UNINSTALL_COMMAND_NAME, pluginName, projectData);
76
+ let showMessage = true;
77
+ const action = async (modulesDestinationPath, platform, platformData) => {
78
+ shelljs.rm("-rf", path.join(modulesDestinationPath, pluginName));
79
+ this.$logger.info(`Successfully removed plugin ${pluginName} for ${platform}.`);
80
+ showMessage = false;
81
+ };
82
+ await this.executeForAllInstalledPlatforms(action, projectData);
83
+ if (showMessage) {
84
+ this.$logger.info(`Successfully removed plugin ${pluginName}`);
85
+ }
99
86
  }
100
87
  addToPackageJson(plugin, version, isDev, projectDir) {
101
88
  const packageJsonPath = this.getPackageJsonFilePath(projectDir);
@@ -119,65 +106,59 @@ class PluginsService {
119
106
  this.$fs.writeJson(packageJsonPath, result.packageJsonContent);
120
107
  }
121
108
  }
122
- preparePluginNativeCode({ pluginData, platform, projectData, }) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
125
- const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath(platform);
126
- if (this.$fs.exists(pluginPlatformsFolderPath)) {
127
- const pathToPluginsBuildFile = path.join(platformData.projectRoot, constants.PLUGINS_BUILD_DATA_FILENAME);
128
- const allPluginsNativeHashes = this.getAllPluginsNativeHashes(pathToPluginsBuildFile);
129
- const oldPluginNativeHashes = allPluginsNativeHashes[pluginData.name];
130
- const currentPluginNativeHashes = yield this.getPluginNativeHashes(pluginPlatformsFolderPath);
131
- if (!oldPluginNativeHashes ||
132
- this.$filesHashService.hasChangesInShasums(oldPluginNativeHashes, currentPluginNativeHashes)) {
133
- yield platformData.platformProjectService.preparePluginNativeCode(pluginData, projectData);
134
- const updatedPluginNativeHashes = yield this.getPluginNativeHashes(pluginPlatformsFolderPath);
135
- this.setPluginNativeHashes({
136
- pathToPluginsBuildFile,
137
- pluginData,
138
- currentPluginNativeHashes: updatedPluginNativeHashes,
139
- allPluginsNativeHashes,
140
- });
141
- }
109
+ async preparePluginNativeCode({ pluginData, platform, projectData, }) {
110
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
111
+ const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath(platform);
112
+ if (this.$fs.exists(pluginPlatformsFolderPath)) {
113
+ const pathToPluginsBuildFile = path.join(platformData.projectRoot, constants.PLUGINS_BUILD_DATA_FILENAME);
114
+ const allPluginsNativeHashes = this.getAllPluginsNativeHashes(pathToPluginsBuildFile);
115
+ const oldPluginNativeHashes = allPluginsNativeHashes[pluginData.name];
116
+ const currentPluginNativeHashes = await this.getPluginNativeHashes(pluginPlatformsFolderPath);
117
+ if (!oldPluginNativeHashes ||
118
+ this.$filesHashService.hasChangesInShasums(oldPluginNativeHashes, currentPluginNativeHashes)) {
119
+ await platformData.platformProjectService.preparePluginNativeCode(pluginData, projectData);
120
+ const updatedPluginNativeHashes = await this.getPluginNativeHashes(pluginPlatformsFolderPath);
121
+ this.setPluginNativeHashes({
122
+ pathToPluginsBuildFile,
123
+ pluginData,
124
+ currentPluginNativeHashes: updatedPluginNativeHashes,
125
+ allPluginsNativeHashes,
126
+ });
142
127
  }
143
- });
128
+ }
144
129
  }
145
- ensureAllDependenciesAreInstalled(projectData) {
146
- return __awaiter(this, void 0, void 0, function* () {
147
- const packageJsonContent = this.$fs.readJson(this.getPackageJsonFilePath(projectData.projectDir));
148
- const allDependencies = _.keys(packageJsonContent.dependencies).concat(_.keys(packageJsonContent.devDependencies));
149
- const notInstalledDependencies = allDependencies
150
- .map((dep) => {
151
- this.$logger.trace(`Checking if ${dep} is installed...`);
152
- const pathToPackage = (0, package_path_helper_1.resolvePackagePath)(dep, {
153
- paths: [projectData.projectDir],
154
- });
155
- if (pathToPackage) {
156
- // return false if the dependency is installed - we'll filter out boolean values
157
- // and end up with an array of dep names that are not installed if we end up
158
- // inside the catch block.
159
- return false;
160
- }
161
- this.$logger.trace(`${dep} is not installed, or couldn't be found`);
162
- return dep;
163
- })
164
- .filter(Boolean);
165
- if (this.$options.force || notInstalledDependencies.length) {
166
- this.$logger.trace("Npm install will be called from CLI. Force option is: ", this.$options.force, " Not installed dependencies are: ", notInstalledDependencies);
167
- yield this.$packageManager.install(projectData.projectDir, projectData.projectDir, {
168
- disableNpmInstall: this.$options.disableNpmInstall,
169
- frameworkPath: this.$options.frameworkPath,
170
- ignoreScripts: this.$options.ignoreScripts,
171
- path: this.$options.path,
172
- });
130
+ async ensureAllDependenciesAreInstalled(projectData) {
131
+ const packageJsonContent = this.$fs.readJson(this.getPackageJsonFilePath(projectData.projectDir));
132
+ const allDependencies = _.keys(packageJsonContent.dependencies).concat(_.keys(packageJsonContent.devDependencies));
133
+ const notInstalledDependencies = allDependencies
134
+ .map((dep) => {
135
+ this.$logger.trace(`Checking if ${dep} is installed...`);
136
+ const pathToPackage = (0, package_path_helper_1.resolvePackagePath)(dep, {
137
+ paths: [projectData.projectDir],
138
+ });
139
+ if (pathToPackage) {
140
+ // return false if the dependency is installed - we'll filter out boolean values
141
+ // and end up with an array of dep names that are not installed if we end up
142
+ // inside the catch block.
143
+ return false;
173
144
  }
174
- });
145
+ this.$logger.trace(`${dep} is not installed, or couldn't be found`);
146
+ return dep;
147
+ })
148
+ .filter(Boolean);
149
+ if (this.$options.force || notInstalledDependencies.length) {
150
+ this.$logger.trace("Npm install will be called from CLI. Force option is: ", this.$options.force, " Not installed dependencies are: ", notInstalledDependencies);
151
+ await this.$packageManager.install(projectData.projectDir, projectData.projectDir, {
152
+ disableNpmInstall: this.$options.disableNpmInstall,
153
+ frameworkPath: this.$options.frameworkPath,
154
+ ignoreScripts: this.$options.ignoreScripts,
155
+ path: this.$options.path,
156
+ });
157
+ }
175
158
  }
176
- getAllInstalledPlugins(projectData) {
177
- return __awaiter(this, void 0, void 0, function* () {
178
- const nodeModules = (yield this.getAllInstalledModules(projectData)).map((nodeModuleData) => this.convertToPluginData(nodeModuleData, projectData.projectDir));
179
- return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
180
- });
159
+ async getAllInstalledPlugins(projectData) {
160
+ const nodeModules = (await this.getAllInstalledModules(projectData)).map((nodeModuleData) => this.convertToPluginData(nodeModuleData, projectData.projectDir));
161
+ return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
181
162
  }
182
163
  getAllProductionPlugins(projectData, platform, dependencies) {
183
164
  dependencies =
@@ -246,7 +227,11 @@ class PluginsService {
246
227
  const contents = this.$fs.readDirectory(pathToPlatforms);
247
228
  _.each(contents, (file) => {
248
229
  if (path.extname(file) === ".framework") {
249
- dependenciesWithFrameworks.push(Object.assign(Object.assign({}, d), { frameworkName: path.basename(file), frameworkLocation: path.join(pathToPlatforms, file) }));
230
+ dependenciesWithFrameworks.push({
231
+ ...d,
232
+ frameworkName: path.basename(file),
233
+ frameworkLocation: path.join(pathToPlatforms, file),
234
+ });
250
235
  }
251
236
  });
252
237
  }
@@ -391,45 +376,37 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
391
376
  nativescript: data.nativescript,
392
377
  };
393
378
  }
394
- ensure(projectData) {
395
- return __awaiter(this, void 0, void 0, function* () {
396
- yield this.ensureAllDependenciesAreInstalled(projectData);
397
- this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
398
- });
379
+ async ensure(projectData) {
380
+ await this.ensureAllDependenciesAreInstalled(projectData);
381
+ this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
399
382
  }
400
- getAllInstalledModules(projectData) {
401
- return __awaiter(this, void 0, void 0, function* () {
402
- yield this.ensure(projectData);
403
- const nodeModules = this.getDependencies(projectData.projectDir);
404
- return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
405
- });
383
+ async getAllInstalledModules(projectData) {
384
+ await this.ensure(projectData);
385
+ const nodeModules = this.getDependencies(projectData.projectDir);
386
+ return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
406
387
  }
407
- executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
408
- return __awaiter(this, void 0, void 0, function* () {
409
- if (npmCommandName === PluginsService.INSTALL_COMMAND_NAME) {
410
- yield this.$packageManager.install(npmCommandArguments, projectData.projectDir, this.npmInstallOptions);
411
- }
412
- else if (npmCommandName === PluginsService.UNINSTALL_COMMAND_NAME) {
413
- yield this.$packageManager.uninstall(npmCommandArguments, PluginsService.NPM_CONFIG, projectData.projectDir);
414
- }
415
- return this.parseNpmCommandResult(npmCommandArguments);
416
- });
388
+ async executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
389
+ if (npmCommandName === PluginsService.INSTALL_COMMAND_NAME) {
390
+ await this.$packageManager.install(npmCommandArguments, projectData.projectDir, this.npmInstallOptions);
391
+ }
392
+ else if (npmCommandName === PluginsService.UNINSTALL_COMMAND_NAME) {
393
+ await this.$packageManager.uninstall(npmCommandArguments, PluginsService.NPM_CONFIG, projectData.projectDir);
394
+ }
395
+ return this.parseNpmCommandResult(npmCommandArguments);
417
396
  }
418
397
  parseNpmCommandResult(npmCommandResult) {
419
398
  return npmCommandResult.split("@")[0]; // returns plugin name
420
399
  }
421
- executeForAllInstalledPlatforms(action, projectData) {
422
- return __awaiter(this, void 0, void 0, function* () {
423
- const availablePlatforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
424
- for (const platform of availablePlatforms) {
425
- const isPlatformInstalled = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
426
- if (isPlatformInstalled) {
427
- const platformData = this.$platformsDataService.getPlatformData(platform.toLowerCase(), projectData);
428
- const pluginDestinationPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, "tns_modules");
429
- yield action(pluginDestinationPath, platform.toLowerCase(), platformData);
430
- }
400
+ async executeForAllInstalledPlatforms(action, projectData) {
401
+ const availablePlatforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
402
+ for (const platform of availablePlatforms) {
403
+ const isPlatformInstalled = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
404
+ if (isPlatformInstalled) {
405
+ const platformData = this.$platformsDataService.getPlatformData(platform.toLowerCase(), projectData);
406
+ const pluginDestinationPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, "tns_modules");
407
+ await action(pluginDestinationPath, platform.toLowerCase(), platformData);
431
408
  }
432
- });
409
+ }
433
410
  }
434
411
  getInstalledFrameworkVersion(platform, projectData) {
435
412
  const runtimePackage = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
@@ -454,15 +431,13 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
454
431
  }
455
432
  return isValid;
456
433
  }
457
- getPluginNativeHashes(pluginPlatformsDir) {
458
- return __awaiter(this, void 0, void 0, function* () {
459
- let data = {};
460
- if (this.$fs.exists(pluginPlatformsDir)) {
461
- const pluginNativeDataFiles = this.$fs.enumerateFilesInDirectorySync(pluginPlatformsDir);
462
- data = yield this.$filesHashService.generateHashes(pluginNativeDataFiles);
463
- }
464
- return data;
465
- });
434
+ async getPluginNativeHashes(pluginPlatformsDir) {
435
+ let data = {};
436
+ if (this.$fs.exists(pluginPlatformsDir)) {
437
+ const pluginNativeDataFiles = this.$fs.enumerateFilesInDirectorySync(pluginPlatformsDir);
438
+ data = await this.$filesHashService.generateHashes(pluginNativeDataFiles);
439
+ }
440
+ return data;
466
441
  }
467
442
  getAllPluginsNativeHashes(pathToPluginsBuildFile) {
468
443
  if (this.$options.hostProjectPath) {
@@ -485,6 +460,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
485
460
  this.$fs.writeJson(opts.pathToPluginsBuildFile, opts.allPluginsNativeHashes);
486
461
  }
487
462
  }
463
+ exports.PluginsService = PluginsService;
488
464
  PluginsService.INSTALL_COMMAND_NAME = "install";
489
465
  PluginsService.UNINSTALL_COMMAND_NAME = "uninstall";
490
466
  PluginsService.NPM_CONFIG = {
@@ -496,6 +472,5 @@ PluginsService.LOCK_FILES = [
496
472
  "yarn.lock",
497
473
  "pnpm-lock.yaml",
498
474
  ];
499
- exports.PluginsService = PluginsService;
500
475
  yok_1.injector.register("pluginsService", PluginsService);
501
476
  //# sourceMappingURL=plugins-service.js.map
@@ -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;
@@ -113,6 +114,5 @@ ProjectBackupService.Backup = class Backup {
113
114
  return this.$super.$fs.readJson(backupJSONPath);
114
115
  }
115
116
  };
116
- exports.ProjectBackupService = ProjectBackupService;
117
117
  yok_1.injector.register("projectBackupService", ProjectBackupService);
118
118
  //# sourceMappingURL=project-backup-service.js.map