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
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.NodePackageManager = void 0;
19
10
  const path_1 = require("path");
@@ -29,114 +20,101 @@ class NodePackageManager extends base_package_manager_1.BasePackageManager {
29
20
  this.$logger = $logger;
30
21
  this.$httpClient = $httpClient;
31
22
  }
32
- install(packageName, pathToSave, config) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- if (config.disableNpmInstall) {
35
- return;
36
- }
37
- if (config.ignoreScripts) {
38
- config["ignore-scripts"] = true;
39
- }
40
- const packageJsonPath = (0, path_1.join)(pathToSave, "package.json");
41
- const jsonContentBefore = this.$fs.readJson(packageJsonPath);
42
- const flags = this.getFlagsString(config, true);
43
- let params = ["install", "--legacy-peer-deps"];
44
- const isInstallingAllDependencies = packageName === pathToSave;
45
- if (!isInstallingAllDependencies) {
46
- params.push(packageName);
47
- }
48
- params = params.concat(flags);
49
- const cwd = pathToSave;
50
- const etcDirectoryLocation = (0, path_1.join)(cwd, "etc");
51
- const etcExistsPriorToInstallation = this.$fs.exists(etcDirectoryLocation);
52
- if (config.path) {
53
- let relativePathFromCwdToSource = "";
54
- if (config.frameworkPath) {
55
- relativePathFromCwdToSource = (0, path_1.relative)(config.frameworkPath, pathToSave);
56
- if (this.$fs.exists(relativePathFromCwdToSource)) {
57
- packageName = relativePathFromCwdToSource;
58
- }
23
+ async install(packageName, pathToSave, config) {
24
+ if (config.disableNpmInstall) {
25
+ return;
26
+ }
27
+ if (config.ignoreScripts) {
28
+ config["ignore-scripts"] = true;
29
+ }
30
+ const packageJsonPath = (0, path_1.join)(pathToSave, "package.json");
31
+ const jsonContentBefore = this.$fs.readJson(packageJsonPath);
32
+ const flags = this.getFlagsString(config, true);
33
+ let params = ["install", "--legacy-peer-deps"];
34
+ const isInstallingAllDependencies = packageName === pathToSave;
35
+ if (!isInstallingAllDependencies) {
36
+ params.push(packageName);
37
+ }
38
+ params = params.concat(flags);
39
+ const cwd = pathToSave;
40
+ const etcDirectoryLocation = (0, path_1.join)(cwd, "etc");
41
+ const etcExistsPriorToInstallation = this.$fs.exists(etcDirectoryLocation);
42
+ if (config.path) {
43
+ let relativePathFromCwdToSource = "";
44
+ if (config.frameworkPath) {
45
+ relativePathFromCwdToSource = (0, path_1.relative)(config.frameworkPath, pathToSave);
46
+ if (this.$fs.exists(relativePathFromCwdToSource)) {
47
+ packageName = relativePathFromCwdToSource;
59
48
  }
60
49
  }
61
- try {
62
- const result = yield this.processPackageManagerInstall(packageName, params, { cwd, isInstallingAllDependencies });
63
- return result;
50
+ }
51
+ try {
52
+ const result = await this.processPackageManagerInstall(packageName, params, { cwd, isInstallingAllDependencies });
53
+ return result;
54
+ }
55
+ catch (err) {
56
+ if (err.message && err.message.indexOf("EPEERINVALID") !== -1) {
57
+ this.$logger.warn(err.message);
64
58
  }
65
- catch (err) {
66
- if (err.message && err.message.indexOf("EPEERINVALID") !== -1) {
67
- this.$logger.warn(err.message);
68
- }
69
- else {
70
- this.$fs.writeJson(packageJsonPath, jsonContentBefore);
71
- throw err;
72
- }
59
+ else {
60
+ this.$fs.writeJson(packageJsonPath, jsonContentBefore);
61
+ throw err;
73
62
  }
74
- finally {
75
- if (!etcExistsPriorToInstallation) {
76
- this.$fs.deleteDirectory(etcDirectoryLocation);
77
- }
63
+ }
64
+ finally {
65
+ if (!etcExistsPriorToInstallation) {
66
+ this.$fs.deleteDirectory(etcDirectoryLocation);
78
67
  }
79
- });
68
+ }
80
69
  }
81
- uninstall(packageName, config, path) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const flags = this.getFlagsString(config, false);
84
- return this.$childProcess.exec(`npm uninstall ${packageName} ${flags}`, {
85
- cwd: path,
86
- });
70
+ async uninstall(packageName, config, path) {
71
+ const flags = this.getFlagsString(config, false);
72
+ return this.$childProcess.exec(`npm uninstall ${packageName} ${flags}`, {
73
+ cwd: path,
87
74
  });
88
75
  }
89
- search(filter, config) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- const flags = this.getFlagsString(config, false);
92
- return this.$childProcess.exec(`npm search ${filter.join(" ")} ${flags}`);
93
- });
76
+ async search(filter, config) {
77
+ const flags = this.getFlagsString(config, false);
78
+ return this.$childProcess.exec(`npm search ${filter.join(" ")} ${flags}`);
94
79
  }
95
- view(packageName, config) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- const wrappedConfig = _.extend({}, config, { json: true });
98
- const flags = this.getFlagsString(wrappedConfig, false);
99
- let viewResult;
100
- try {
101
- viewResult = yield this.$childProcess.exec(`npm view ${packageName} ${flags}`);
102
- }
103
- catch (e) {
104
- this.$errors.fail(e.message);
105
- }
106
- try {
107
- return JSON.parse(viewResult);
108
- }
109
- catch (err) {
110
- return null;
111
- }
112
- });
80
+ async view(packageName, config) {
81
+ const wrappedConfig = _.extend({}, config, { json: true });
82
+ const flags = this.getFlagsString(wrappedConfig, false);
83
+ let viewResult;
84
+ try {
85
+ viewResult = await this.$childProcess.exec(`npm view ${packageName} ${flags}`);
86
+ }
87
+ catch (e) {
88
+ this.$errors.fail(e.message);
89
+ }
90
+ try {
91
+ return JSON.parse(viewResult);
92
+ }
93
+ catch (err) {
94
+ return null;
95
+ }
113
96
  }
114
- searchNpms(keyword) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- const httpRequestResult = yield this.$httpClient.httpRequest(`https://api.npms.io/v2/search?q=keywords:${keyword}`);
117
- const result = JSON.parse(httpRequestResult.body);
118
- return result;
119
- });
97
+ async searchNpms(keyword) {
98
+ const httpRequestResult = await this.$httpClient.httpRequest(`https://api.npms.io/v2/search?q=keywords:${keyword}`);
99
+ const result = JSON.parse(httpRequestResult.body);
100
+ return result;
120
101
  }
121
- getRegistryPackageData(packageName) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const registry = yield this.$childProcess.exec(`npm config get registry`);
124
- const url = registry.trim() + packageName;
125
- this.$logger.trace(`Trying to get data from npm registry for package ${packageName}, url is: ${url}`);
126
- const responseData = (yield this.$httpClient.httpRequest(url)).body;
127
- this.$logger.trace(`Successfully received data from npm registry for package ${packageName}. Response data is: ${responseData}`);
128
- const jsonData = JSON.parse(responseData);
129
- this.$logger.trace(`Successfully parsed data from npm registry for package ${packageName}.`);
130
- return jsonData;
131
- });
102
+ async getRegistryPackageData(packageName) {
103
+ const registry = await this.$childProcess.exec(`npm config get registry`);
104
+ const url = registry.trim() + packageName;
105
+ this.$logger.trace(`Trying to get data from npm registry for package ${packageName}, url is: ${url}`);
106
+ const responseData = (await this.$httpClient.httpRequest(url)).body;
107
+ this.$logger.trace(`Successfully received data from npm registry for package ${packageName}. Response data is: ${responseData}`);
108
+ const jsonData = JSON.parse(responseData);
109
+ this.$logger.trace(`Successfully parsed data from npm registry for package ${packageName}.`);
110
+ return jsonData;
132
111
  }
133
- getCachePath() {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- const cachePath = yield this.$childProcess.exec(`npm config get cache`);
136
- return (0, path_1.join)(cachePath.trim(), constants_1.CACACHE_DIRECTORY_NAME);
137
- });
112
+ async getCachePath() {
113
+ const cachePath = await this.$childProcess.exec(`npm config get cache`);
114
+ return (0, path_1.join)(cachePath.trim(), constants_1.CACACHE_DIRECTORY_NAME);
138
115
  }
139
116
  }
117
+ exports.NodePackageManager = NodePackageManager;
140
118
  __decorate([
141
119
  (0, decorators_1.exported)("npm")
142
120
  ], NodePackageManager.prototype, "install", null);
@@ -152,5 +130,4 @@ __decorate([
152
130
  __decorate([
153
131
  (0, decorators_1.cache)()
154
132
  ], NodePackageManager.prototype, "getCachePath", null);
155
- exports.NodePackageManager = NodePackageManager;
156
133
  yok_1.injector.register("npm", NodePackageManager);
package/lib/options.js CHANGED
@@ -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.Options = void 0;
13
4
  const helpers = require("./common/helpers");
@@ -317,7 +308,7 @@ class Options {
317
308
  const parsed = yargs((0, helpers_1.hideBin)(process.argv))
318
309
  .version(false)
319
310
  .help(false)
320
- .completion("completion_generate_script", (current_, argv) => __awaiter(this, void 0, void 0, function* () {
311
+ .completion("completion_generate_script", async (current_, argv) => {
321
312
  var _a;
322
313
  const args = argv._.slice(1);
323
314
  const commands = yok_1.injector
@@ -345,7 +336,7 @@ class Options {
345
336
  return this.shorthands.map((o) => `-${o}`);
346
337
  }
347
338
  return completions;
348
- }));
339
+ });
349
340
  this.initialArgv = parsed.argv;
350
341
  this.argv = parsed.options(opts).argv;
351
342
  this.$settingsService.setSettings({
@@ -388,7 +379,7 @@ class Options {
388
379
  });
389
380
  }
390
381
  }
382
+ exports.Options = Options;
391
383
  Options.DASHED_OPTION_REGEX = /(.+?)([A-Z])(.*)/;
392
384
  Options.NONDASHED_OPTION_REGEX = /(.+?)[-]([a-zA-Z])(.*)/;
393
- exports.Options = Options;
394
385
  yok_1.injector.register("options", Options);
@@ -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.PackageInstallationManager = void 0;
13
4
  const path = require("path");
@@ -24,139 +15,119 @@ class PackageInstallationManager {
24
15
  this.$staticConfig = $staticConfig;
25
16
  this.$projectDataService = $projectDataService;
26
17
  }
27
- getLatestVersion(packageName) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- return yield this.getVersion(packageName, constants.PackageVersion.LATEST);
30
- });
31
- }
32
- getNextVersion(packageName) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- return yield this.getVersion(packageName, constants.PackageVersion.NEXT);
35
- });
36
- }
37
- getLatestCompatibleVersion(packageName, referenceVersion) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- referenceVersion = referenceVersion || this.$staticConfig.version;
40
- const isPreReleaseVersion = semver.prerelease(referenceVersion) !== null;
41
- const compatibleVersionRange = isPreReleaseVersion
42
- ? `~${referenceVersion}`
43
- : `~${semver.major(referenceVersion)}.${semver.minor(referenceVersion)}.0`;
44
- const latestVersion = yield this.getLatestVersion(packageName);
45
- if (semver.satisfies(latestVersion, compatibleVersionRange)) {
46
- return latestVersion;
47
- }
48
- return ((yield this.getMaxSatisfyingVersion(packageName, compatibleVersionRange)) || latestVersion);
49
- });
18
+ async getLatestVersion(packageName) {
19
+ return await this.getVersion(packageName, constants.PackageVersion.LATEST);
20
+ }
21
+ async getNextVersion(packageName) {
22
+ return await this.getVersion(packageName, constants.PackageVersion.NEXT);
23
+ }
24
+ async getLatestCompatibleVersion(packageName, referenceVersion) {
25
+ referenceVersion = referenceVersion || this.$staticConfig.version;
26
+ const isPreReleaseVersion = semver.prerelease(referenceVersion) !== null;
27
+ const compatibleVersionRange = isPreReleaseVersion
28
+ ? `~${referenceVersion}`
29
+ : `~${semver.major(referenceVersion)}.${semver.minor(referenceVersion)}.0`;
30
+ const latestVersion = await this.getLatestVersion(packageName);
31
+ if (semver.satisfies(latestVersion, compatibleVersionRange)) {
32
+ return latestVersion;
33
+ }
34
+ return ((await this.getMaxSatisfyingVersion(packageName, compatibleVersionRange)) || latestVersion);
50
35
  }
51
- getMaxSatisfyingVersion(packageName, versionRange) {
36
+ async getMaxSatisfyingVersion(packageName, versionRange) {
52
37
  var _a;
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const data = yield this.$packageManager.view(packageName, {
55
- versions: true,
56
- });
57
- let versions;
58
- if (typeof data === "string") {
59
- versions = [data];
60
- }
61
- else if (data === null || data === void 0 ? void 0 : data.versions) {
62
- versions = data.versions;
63
- }
64
- else {
65
- versions = data;
66
- }
67
- if (!versions || !Array.isArray(versions)) {
68
- return null;
69
- }
70
- return (_a = semver.maxSatisfying(versions, versionRange)) === null || _a === void 0 ? void 0 : _a.toString();
71
- });
72
- }
73
- getMaxSatisfyingVersionSafe(packageName, versionIdentifier) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- let maxDependencyVersion;
76
- if (semver.valid(versionIdentifier)) {
77
- maxDependencyVersion = versionIdentifier;
78
- }
79
- else if (semver.validRange(versionIdentifier)) {
80
- maxDependencyVersion = yield this.getMaxSatisfyingVersion(packageName, versionIdentifier);
81
- }
82
- else {
83
- maxDependencyVersion = yield this.$packageManager.getTagVersion(packageName, versionIdentifier);
84
- }
85
- return maxDependencyVersion;
86
- });
87
- }
88
- getInstalledDependencyVersion(packageName, projectDir) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const projectData = this.$projectDataService.getProjectData(projectDir);
91
- const devDependencies = projectData.devDependencies || {};
92
- const dependencies = projectData.dependencies || {};
93
- const referencedVersion = dependencies[packageName] || devDependencies[packageName];
94
- const installedVersion = yield this.getMaxSatisfyingVersionSafe(packageName, referencedVersion);
95
- return installedVersion;
38
+ const data = await this.$packageManager.view(packageName, {
39
+ versions: true,
96
40
  });
41
+ let versions;
42
+ if (typeof data === "string") {
43
+ versions = [data];
44
+ }
45
+ else if (data === null || data === void 0 ? void 0 : data.versions) {
46
+ versions = data.versions;
47
+ }
48
+ else {
49
+ versions = data;
50
+ }
51
+ if (!versions || !Array.isArray(versions)) {
52
+ return null;
53
+ }
54
+ return (_a = semver.maxSatisfying(versions, versionRange)) === null || _a === void 0 ? void 0 : _a.toString();
97
55
  }
98
- getLatestCompatibleVersionSafe(packageName, referenceVersion) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- let version = "";
101
- const canGetVersionFromNpm = yield this.$packageManager.isRegistered(packageName);
102
- if (canGetVersionFromNpm) {
103
- version = yield this.getLatestCompatibleVersion(packageName, referenceVersion);
104
- }
105
- return version;
106
- });
56
+ async getMaxSatisfyingVersionSafe(packageName, versionIdentifier) {
57
+ let maxDependencyVersion;
58
+ if (semver.valid(versionIdentifier)) {
59
+ maxDependencyVersion = versionIdentifier;
60
+ }
61
+ else if (semver.validRange(versionIdentifier)) {
62
+ maxDependencyVersion = await this.getMaxSatisfyingVersion(packageName, versionIdentifier);
63
+ }
64
+ else {
65
+ maxDependencyVersion = await this.$packageManager.getTagVersion(packageName, versionIdentifier);
66
+ }
67
+ return maxDependencyVersion;
68
+ }
69
+ async getInstalledDependencyVersion(packageName, projectDir) {
70
+ const projectData = this.$projectDataService.getProjectData(projectDir);
71
+ const devDependencies = projectData.devDependencies || {};
72
+ const dependencies = projectData.dependencies || {};
73
+ const referencedVersion = dependencies[packageName] || devDependencies[packageName];
74
+ const installedVersion = await this.getMaxSatisfyingVersionSafe(packageName, referencedVersion);
75
+ return installedVersion;
76
+ }
77
+ async getLatestCompatibleVersionSafe(packageName, referenceVersion) {
78
+ let version = "";
79
+ const canGetVersionFromNpm = await this.$packageManager.isRegistered(packageName);
80
+ if (canGetVersionFromNpm) {
81
+ version = await this.getLatestCompatibleVersion(packageName, referenceVersion);
82
+ }
83
+ return version;
84
+ }
85
+ async install(packageToInstall, projectDir, opts) {
86
+ try {
87
+ const pathToSave = projectDir;
88
+ const version = (opts && opts.version) || null;
89
+ const dependencyType = (opts && opts.dependencyType) || null;
90
+ return await this.installCore(packageToInstall, pathToSave, version, dependencyType);
91
+ }
92
+ catch (error) {
93
+ this.$logger.trace(error);
94
+ throw error;
95
+ }
107
96
  }
108
- install(packageToInstall, projectDir, opts) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- try {
111
- const pathToSave = projectDir;
112
- const version = (opts && opts.version) || null;
113
- const dependencyType = (opts && opts.dependencyType) || null;
114
- return yield this.installCore(packageToInstall, pathToSave, version, dependencyType);
115
- }
116
- catch (error) {
117
- this.$logger.trace(error);
118
- throw error;
119
- }
120
- });
97
+ async uninstall(packageToUninstall, projectDir, opts) {
98
+ try {
99
+ return await this.$packageManager.uninstall(packageToUninstall, opts, projectDir);
100
+ }
101
+ catch (error) {
102
+ this.$logger.trace(error);
103
+ throw error;
104
+ }
121
105
  }
122
- uninstall(packageToUninstall, projectDir, opts) {
123
- return __awaiter(this, void 0, void 0, function* () {
106
+ async getInspectorFromCache(inspectorNpmPackageName, projectDir) {
107
+ const inspectorPath = path.join(projectDir, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
108
+ if (this.inspectorAlreadyInstalled(inspectorPath)) {
109
+ return inspectorPath;
110
+ }
111
+ const cachePath = this.getInspectorCachePath();
112
+ this.prepareCacheDir(cachePath);
113
+ const pathToPackageInCache = path.join(cachePath, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
114
+ const iOSFrameworkNSValue = this.$projectDataService.getRuntimePackage(projectDir, "ios");
115
+ const version = await this.getLatestCompatibleVersion(inspectorNpmPackageName, iOSFrameworkNSValue.version);
116
+ let shouldInstall = !this.$fs.exists(pathToPackageInCache);
117
+ if (!shouldInstall) {
124
118
  try {
125
- return yield this.$packageManager.uninstall(packageToUninstall, opts, projectDir);
119
+ const installedVersion = this.$fs.readJson(path.join(pathToPackageInCache, constants.PACKAGE_JSON_FILE_NAME)).version;
120
+ shouldInstall = version !== installedVersion;
126
121
  }
127
- catch (error) {
128
- this.$logger.trace(error);
129
- throw error;
130
- }
131
- });
132
- }
133
- getInspectorFromCache(inspectorNpmPackageName, projectDir) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- const inspectorPath = path.join(projectDir, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
136
- if (this.inspectorAlreadyInstalled(inspectorPath)) {
137
- return inspectorPath;
122
+ catch (err) {
123
+ shouldInstall = true;
138
124
  }
139
- const cachePath = this.getInspectorCachePath();
140
- this.prepareCacheDir(cachePath);
141
- const pathToPackageInCache = path.join(cachePath, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
142
- const iOSFrameworkNSValue = this.$projectDataService.getRuntimePackage(projectDir, "ios");
143
- const version = yield this.getLatestCompatibleVersion(inspectorNpmPackageName, iOSFrameworkNSValue.version);
144
- let shouldInstall = !this.$fs.exists(pathToPackageInCache);
145
- if (!shouldInstall) {
146
- try {
147
- const installedVersion = this.$fs.readJson(path.join(pathToPackageInCache, constants.PACKAGE_JSON_FILE_NAME)).version;
148
- shouldInstall = version !== installedVersion;
149
- }
150
- catch (err) {
151
- shouldInstall = true;
152
- }
153
- }
154
- if (shouldInstall) {
155
- yield this.$childProcess.exec(`npm install ${inspectorNpmPackageName}@${version} --prefix ${cachePath}`, { maxBuffer: 250 * 1024 });
156
- }
157
- this.$logger.info("Using inspector from cache.");
158
- return pathToPackageInCache;
159
- });
125
+ }
126
+ if (shouldInstall) {
127
+ await this.$childProcess.exec(`npm install ${inspectorNpmPackageName}@${version} --prefix ${cachePath}`, { maxBuffer: 250 * 1024 });
128
+ }
129
+ this.$logger.info("Using inspector from cache.");
130
+ return pathToPackageInCache;
160
131
  }
161
132
  clearInspectorCache() {
162
133
  this.$fs.deleteDirectorySafe(this.getInspectorCachePath());
@@ -180,41 +151,35 @@ class PackageInstallationManager {
180
151
  }
181
152
  return false;
182
153
  }
183
- installCore(packageName, pathToSave, version, dependencyType) {
184
- return __awaiter(this, void 0, void 0, function* () {
185
- const possiblePackageName = path.resolve(packageName);
186
- if (this.$fs.exists(possiblePackageName)) {
187
- packageName = possiblePackageName;
188
- }
189
- version =
190
- version || (yield this.getLatestCompatibleVersionSafe(packageName));
191
- const installResultInfo = yield this.npmInstall(packageName, pathToSave, version, dependencyType);
192
- const installedPackageName = installResultInfo.name;
193
- const pathToInstalledPackage = path.join(pathToSave, "node_modules", installedPackageName);
194
- return pathToInstalledPackage;
195
- });
196
- }
197
- npmInstall(packageName, pathToSave, version, dependencyType) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- this.$logger.info(`Installing ${packageName}`);
200
- packageName = packageName + (version ? `@${version}` : "");
201
- const npmOptions = { silent: true, "save-exact": true };
202
- if (dependencyType) {
203
- npmOptions[dependencyType] = true;
204
- }
205
- return yield this.$packageManager.install(packageName, pathToSave, npmOptions);
206
- });
154
+ async installCore(packageName, pathToSave, version, dependencyType) {
155
+ const possiblePackageName = path.resolve(packageName);
156
+ if (this.$fs.exists(possiblePackageName)) {
157
+ packageName = possiblePackageName;
158
+ }
159
+ version =
160
+ version || (await this.getLatestCompatibleVersionSafe(packageName));
161
+ const installResultInfo = await this.npmInstall(packageName, pathToSave, version, dependencyType);
162
+ const installedPackageName = installResultInfo.name;
163
+ const pathToInstalledPackage = path.join(pathToSave, "node_modules", installedPackageName);
164
+ return pathToInstalledPackage;
165
+ }
166
+ async npmInstall(packageName, pathToSave, version, dependencyType) {
167
+ this.$logger.info(`Installing ${packageName}`);
168
+ packageName = packageName + (version ? `@${version}` : "");
169
+ const npmOptions = { silent: true, "save-exact": true };
170
+ if (dependencyType) {
171
+ npmOptions[dependencyType] = true;
172
+ }
173
+ return await this.$packageManager.install(packageName, pathToSave, npmOptions);
207
174
  }
208
- getVersion(packageName, version) {
175
+ async getVersion(packageName, version) {
209
176
  var _a;
210
- return __awaiter(this, void 0, void 0, function* () {
211
- let data = yield this.$packageManager.view(packageName, {
212
- "dist-tags": true,
213
- });
214
- data = (_a = data === null || data === void 0 ? void 0 : data["dist-tags"]) !== null && _a !== void 0 ? _a : data;
215
- this.$logger.trace("Using version %s. ", data[version]);
216
- return data[version];
177
+ let data = await this.$packageManager.view(packageName, {
178
+ "dist-tags": true,
217
179
  });
180
+ data = (_a = data === null || data === void 0 ? void 0 : data["dist-tags"]) !== null && _a !== void 0 ? _a : data;
181
+ this.$logger.trace("Using version %s. ", data[version]);
182
+ return data[version];
218
183
  }
219
184
  }
220
185
  exports.PackageInstallationManager = PackageInstallationManager;