nativescript 8.9.0-alpha.2 → 8.9.0-dev.0

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/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 +211 -230
  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 +9 -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 +43 -53
  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 +51 -66
  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/CHANGELOG.md +0 -15
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  282. package/node_modules/@npmcli/move-file/package.json +0 -47
  283. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  284. package/node_modules/balanced-match/LICENSE.md +0 -21
  285. package/node_modules/balanced-match/README.md +0 -97
  286. package/node_modules/balanced-match/index.js +0 -62
  287. package/node_modules/balanced-match/package.json +0 -48
  288. package/node_modules/concat-map/.travis.yml +0 -4
  289. package/node_modules/concat-map/LICENSE +0 -18
  290. package/node_modules/concat-map/README.markdown +0 -62
  291. package/node_modules/concat-map/example/map.js +0 -6
  292. package/node_modules/concat-map/index.js +0 -13
  293. package/node_modules/concat-map/package.json +0 -43
  294. package/node_modules/concat-map/test/map.js +0 -39
  295. package/node_modules/fs.realpath/LICENSE +0 -43
  296. package/node_modules/fs.realpath/README.md +0 -33
  297. package/node_modules/fs.realpath/index.js +0 -66
  298. package/node_modules/fs.realpath/old.js +0 -303
  299. package/node_modules/fs.realpath/package.json +0 -26
  300. package/node_modules/inflight/LICENSE +0 -15
  301. package/node_modules/inflight/README.md +0 -37
  302. package/node_modules/inflight/inflight.js +0 -54
  303. package/node_modules/inflight/package.json +0 -29
  304. package/node_modules/inherits/LICENSE +0 -16
  305. package/node_modules/inherits/README.md +0 -42
  306. package/node_modules/inherits/inherits.js +0 -9
  307. package/node_modules/inherits/inherits_browser.js +0 -27
  308. package/node_modules/inherits/package.json +0 -29
  309. package/node_modules/once/LICENSE +0 -15
  310. package/node_modules/once/README.md +0 -79
  311. package/node_modules/once/once.js +0 -42
  312. package/node_modules/once/package.json +0 -33
  313. package/node_modules/path-is-absolute/index.js +0 -20
  314. package/node_modules/path-is-absolute/license +0 -21
  315. package/node_modules/path-is-absolute/package.json +0 -43
  316. package/node_modules/path-is-absolute/readme.md +0 -59
  317. package/node_modules/rimraf/CHANGELOG.md +0 -65
  318. package/node_modules/rimraf/LICENSE +0 -15
  319. package/node_modules/rimraf/README.md +0 -101
  320. package/node_modules/rimraf/bin.js +0 -68
  321. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  322. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  323. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  324. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  325. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  326. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  327. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  328. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  329. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  330. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  331. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  332. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  333. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  334. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  335. package/node_modules/rimraf/package.json +0 -32
  336. package/node_modules/rimraf/rimraf.js +0 -360
  337. package/node_modules/stringify-package/CHANGELOG.md +0 -16
  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,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, this.$options.hostProjectModuleName, "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,15 +416,13 @@ 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) {
453
428
  if (this.$options.hostProjectPath) {
@@ -468,6 +443,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
468
443
  this.$fs.writeJson(opts.pathToPluginsBuildFile, opts.allPluginsNativeHashes);
469
444
  }
470
445
  }
446
+ exports.PluginsService = PluginsService;
471
447
  PluginsService.INSTALL_COMMAND_NAME = "install";
472
448
  PluginsService.UNINSTALL_COMMAND_NAME = "uninstall";
473
449
  PluginsService.NPM_CONFIG = {
@@ -479,5 +455,4 @@ PluginsService.LOCK_FILES = [
479
455
  "yarn.lock",
480
456
  "pnpm-lock.yaml",
481
457
  ];
482
- exports.PluginsService = PluginsService;
483
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);