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.TestExecutionService = void 0;
13
4
  const constants = require("../constants");
@@ -29,79 +20,75 @@ class TestExecutionService {
29
20
  this.$childProcess = $childProcess;
30
21
  this.allowedParameters = [];
31
22
  }
32
- startKarmaServer(platform, liveSyncInfo, deviceDescriptors) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- platform = platform.toLowerCase();
35
- this.platform = platform;
36
- const projectData = this.$projectDataService.getProjectData(liveSyncInfo.projectDir);
37
- // We need the dependencies installed here, so we can start the Karma server.
38
- yield this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
39
- const karmaConfig = this.getKarmaConfiguration(platform, projectData);
40
- // In case you want to debug the unit test runner, add "--inspect-brk=<port>" as a first element in the array of args.
41
- const karmaRunner = this.$childProcess.spawn(process.execPath, [path.join(__dirname, "karma-execution.js")], { stdio: ["inherit", "inherit", "inherit", "ipc"] });
42
- const launchKarmaTests = (karmaData) => __awaiter(this, void 0, void 0, function* () {
43
- this.$logger.trace("## Unit-testing: Parent process received message", karmaData);
44
- let port;
45
- if (karmaData.url) {
46
- port = karmaData.url.port;
47
- const socketIoJsUrl = `http://${karmaData.url.host}/socket.io/socket.io.js`;
48
- const socketIoJs = (yield this.$httpClient.httpRequest(socketIoJsUrl))
49
- .body;
50
- this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.SOCKETIO_JS_FILE_NAME), JSON.parse(socketIoJs));
51
- }
52
- if (karmaData.launcherConfig) {
53
- const configOptions = JSON.parse(karmaData.launcherConfig);
54
- const configJs = this.generateConfig(port, configOptions);
55
- this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.CONFIG_FILE_NAME), configJs);
56
- }
57
- // Prepare the project AFTER the TestExecutionService.CONFIG_FILE_NAME file is created in node_modules
58
- // so it will be sent to device.
59
- yield this.$runController.run({
60
- liveSyncInfo,
61
- deviceDescriptors,
62
- });
63
- });
64
- karmaRunner.on("message", (karmaData) => {
65
- this.$logger.trace(`The received message from karma is: `, karmaData);
66
- if (!karmaData.launcherConfig && !karmaData.url) {
67
- return;
68
- }
69
- launchKarmaTests(karmaData).catch((result) => {
70
- this.$logger.error(result);
71
- process.exit(130 /* ErrorCodes.KARMA_FAIL */);
72
- });
23
+ async startKarmaServer(platform, liveSyncInfo, deviceDescriptors) {
24
+ platform = platform.toLowerCase();
25
+ this.platform = platform;
26
+ const projectData = this.$projectDataService.getProjectData(liveSyncInfo.projectDir);
27
+ // We need the dependencies installed here, so we can start the Karma server.
28
+ await this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
29
+ const karmaConfig = this.getKarmaConfiguration(platform, projectData);
30
+ // In case you want to debug the unit test runner, add "--inspect-brk=<port>" as a first element in the array of args.
31
+ const karmaRunner = this.$childProcess.spawn(process.execPath, [path.join(__dirname, "karma-execution.js")], { stdio: ["inherit", "inherit", "inherit", "ipc"] });
32
+ const launchKarmaTests = async (karmaData) => {
33
+ this.$logger.trace("## Unit-testing: Parent process received message", karmaData);
34
+ let port;
35
+ if (karmaData.url) {
36
+ port = karmaData.url.port;
37
+ const socketIoJsUrl = `http://${karmaData.url.host}/socket.io/socket.io.js`;
38
+ const socketIoJs = (await this.$httpClient.httpRequest(socketIoJsUrl))
39
+ .body;
40
+ this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.SOCKETIO_JS_FILE_NAME), JSON.parse(socketIoJs));
41
+ }
42
+ if (karmaData.launcherConfig) {
43
+ const configOptions = JSON.parse(karmaData.launcherConfig);
44
+ const configJs = this.generateConfig(port, configOptions);
45
+ this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.CONFIG_FILE_NAME), configJs);
46
+ }
47
+ // Prepare the project AFTER the TestExecutionService.CONFIG_FILE_NAME file is created in node_modules
48
+ // so it will be sent to device.
49
+ await this.$runController.run({
50
+ liveSyncInfo,
51
+ deviceDescriptors,
73
52
  });
74
- return new Promise((resolve, reject) => {
75
- karmaRunner.on("exit", (exitCode) => {
76
- if (exitCode !== 0) {
77
- //End our process with a non-zero exit code
78
- const testError = new Error("Test run failed.");
79
- reject(testError);
80
- }
81
- else {
82
- resolve();
83
- }
84
- });
85
- karmaRunner.send({ karmaConfig: karmaConfig });
53
+ };
54
+ karmaRunner.on("message", (karmaData) => {
55
+ this.$logger.trace(`The received message from karma is: `, karmaData);
56
+ if (!karmaData.launcherConfig && !karmaData.url) {
57
+ return;
58
+ }
59
+ launchKarmaTests(karmaData).catch((result) => {
60
+ this.$logger.error(result);
61
+ process.exit(130 /* ErrorCodes.KARMA_FAIL */);
86
62
  });
87
63
  });
88
- }
89
- canStartKarmaServer(projectData) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- let canStartKarmaServer = true;
92
- const requiredDependencies = ["@nativescript/unit-test-runner"]; // we need @nativescript/unit-test-runner at the local level because of hooks!
93
- _.each(requiredDependencies, (dep) => {
94
- if (!projectData.dependencies[dep] && !projectData.devDependencies[dep]) {
95
- canStartKarmaServer = false;
96
- return;
64
+ return new Promise((resolve, reject) => {
65
+ karmaRunner.on("exit", (exitCode) => {
66
+ if (exitCode !== 0) {
67
+ //End our process with a non-zero exit code
68
+ const testError = new Error("Test run failed.");
69
+ reject(testError);
70
+ }
71
+ else {
72
+ resolve();
97
73
  }
98
74
  });
99
- const pathToKarma = (0, package_path_helper_1.resolvePackagePath)("karma", {
100
- paths: [projectData.projectDir],
101
- });
102
- canStartKarmaServer = canStartKarmaServer && !!pathToKarma;
103
- return canStartKarmaServer;
75
+ karmaRunner.send({ karmaConfig: karmaConfig });
76
+ });
77
+ }
78
+ async canStartKarmaServer(projectData) {
79
+ let canStartKarmaServer = true;
80
+ const requiredDependencies = ["@nativescript/unit-test-runner"]; // we need @nativescript/unit-test-runner at the local level because of hooks!
81
+ _.each(requiredDependencies, (dep) => {
82
+ if (!projectData.dependencies[dep] && !projectData.devDependencies[dep]) {
83
+ canStartKarmaServer = false;
84
+ return;
85
+ }
104
86
  });
87
+ const pathToKarma = (0, package_path_helper_1.resolvePackagePath)("karma", {
88
+ paths: [projectData.projectDir],
89
+ });
90
+ canStartKarmaServer = canStartKarmaServer && !!pathToKarma;
91
+ return canStartKarmaServer;
105
92
  }
106
93
  generateConfig(port, options) {
107
94
  const nics = os.networkInterfaces();
@@ -154,8 +141,8 @@ class TestExecutionService {
154
141
  return karmaConfig;
155
142
  }
156
143
  }
144
+ exports.TestExecutionService = TestExecutionService;
157
145
  TestExecutionService.CONFIG_FILE_NAME = `node_modules/${constants.TEST_RUNNER_NAME}/config.js`;
158
146
  TestExecutionService.SOCKETIO_JS_FILE_NAME = `node_modules/${constants.TEST_RUNNER_NAME}/socket.io.js`;
159
- exports.TestExecutionService = TestExecutionService;
160
147
  yok_1.injector.register("testExecutionService", TestExecutionService);
161
148
  //# sourceMappingURL=test-execution-service.js.map
@@ -30,7 +30,7 @@ class TestInitializationService {
30
30
  if (!dependencyVersion) {
31
31
  this.$errors.fail(`'${dependency}' is not a registered dependency.`);
32
32
  }
33
- return Object.assign(Object.assign({}, dependency), { version: dependencyVersion });
33
+ return { ...dependency, version: dependencyVersion };
34
34
  });
35
35
  return targetFrameworkDependencies;
36
36
  }
@@ -47,12 +47,12 @@ class TestInitializationService {
47
47
  return frameworks;
48
48
  }
49
49
  }
50
+ exports.TestInitializationService = TestInitializationService;
50
51
  __decorate([
51
52
  (0, decorators_1.cache)()
52
53
  ], TestInitializationService.prototype, "getDependencies", null);
53
54
  __decorate([
54
55
  (0, decorators_1.cache)()
55
56
  ], TestInitializationService.prototype, "getFrameworkNames", null);
56
- exports.TestInitializationService = TestInitializationService;
57
57
  yok_1.injector.register("testInitializationService", TestInitializationService);
58
58
  //# sourceMappingURL=test-initialization-service.js.map
@@ -93,9 +93,9 @@ class TimelineProfilerService {
93
93
  process.exit();
94
94
  }
95
95
  }
96
+ exports.TimelineProfilerService = TimelineProfilerService;
96
97
  __decorate([
97
98
  (0, decorators_1.cache)()
98
99
  ], TimelineProfilerService.prototype, "isEnabled", null);
99
- exports.TimelineProfilerService = TimelineProfilerService;
100
100
  yok_1.injector.register("timelineProfilerService", TimelineProfilerService);
101
101
  //# sourceMappingURL=timeline-profiler-service.js.map
@@ -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.VersionInformationType = void 0;
13
4
  const constants = require("../constants");
@@ -21,7 +12,7 @@ var VersionInformationType;
21
12
  VersionInformationType["UpToDate"] = "UpToDate";
22
13
  VersionInformationType["UpdateAvailable"] = "UpdateAvailable";
23
14
  VersionInformationType["NotInstalled"] = "NotInstalled";
24
- })(VersionInformationType = exports.VersionInformationType || (exports.VersionInformationType = {}));
15
+ })(VersionInformationType || (exports.VersionInformationType = VersionInformationType = {}));
25
16
  class VersionsService {
26
17
  constructor($fs, $packageInstallationManager, $injector, $logger, $staticConfig, $pluginsService, $projectDataService, $terminalSpinnerService) {
27
18
  this.$fs = $fs;
@@ -34,147 +25,137 @@ class VersionsService {
34
25
  this.$terminalSpinnerService = $terminalSpinnerService;
35
26
  this.projectData = this.getProjectData();
36
27
  }
37
- getNativescriptCliVersion() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const currentCliVersion = this.$staticConfig.version;
40
- const latestCliVersion = yield this.$packageInstallationManager.getLatestVersion(constants.NATIVESCRIPT_KEY_NAME);
41
- return {
42
- componentName: constants.NATIVESCRIPT_KEY_NAME,
43
- currentVersion: currentCliVersion,
44
- latestVersion: latestCliVersion,
45
- };
46
- });
28
+ async getNativescriptCliVersion() {
29
+ const currentCliVersion = this.$staticConfig.version;
30
+ const latestCliVersion = await this.$packageInstallationManager.getLatestVersion(constants.NATIVESCRIPT_KEY_NAME);
31
+ return {
32
+ componentName: constants.NATIVESCRIPT_KEY_NAME,
33
+ currentVersion: currentCliVersion,
34
+ latestVersion: latestCliVersion,
35
+ };
47
36
  }
48
- getTnsCoreModulesVersion() {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- const latestTnsCoreModulesVersion = yield this.$packageInstallationManager.getLatestVersion(constants.TNS_CORE_MODULES_NAME);
51
- const nativescriptCoreModulesInfo = {
52
- componentName: constants.TNS_CORE_MODULES_NAME,
53
- latestVersion: latestTnsCoreModulesVersion,
54
- };
55
- const versionInformations = [];
56
- if (this.projectData) {
57
- const nodeModulesPath = path.join(this.projectData.projectDir, constants.NODE_MODULES_FOLDER_NAME);
58
- const scopedPackagePath = path.join(nodeModulesPath, constants.SCOPED_TNS_CORE_MODULES);
59
- const tnsCoreModulesPath = path.join(nodeModulesPath, constants.TNS_CORE_MODULES_NAME);
60
- const dependsOnNonScopedPackage = !!this.projectData.dependencies[constants.TNS_CORE_MODULES_NAME];
61
- const dependsOnScopedPackage = !!this.projectData.dependencies[constants.SCOPED_TNS_CORE_MODULES];
62
- // ensure the dependencies are installed, so we can get their actual versions from node_modules
63
- if (!this.$fs.exists(nodeModulesPath) ||
64
- (dependsOnNonScopedPackage && !this.$fs.exists(tnsCoreModulesPath)) ||
65
- (dependsOnScopedPackage && !this.$fs.exists(scopedPackagePath))) {
66
- yield this.$pluginsService.ensureAllDependenciesAreInstalled(this.projectData);
67
- }
68
- if (dependsOnNonScopedPackage && this.$fs.exists(tnsCoreModulesPath)) {
69
- const currentTnsCoreModulesVersion = this.$fs.readJson(path.join(tnsCoreModulesPath, constants.PACKAGE_JSON_FILE_NAME)).version;
70
- nativescriptCoreModulesInfo.currentVersion = currentTnsCoreModulesVersion;
71
- versionInformations.push(nativescriptCoreModulesInfo);
72
- }
73
- if (dependsOnScopedPackage && this.$fs.exists(scopedPackagePath)) {
74
- const scopedModulesInformation = {
75
- componentName: constants.SCOPED_TNS_CORE_MODULES,
76
- latestVersion: yield this.$packageInstallationManager.getLatestVersion(constants.SCOPED_TNS_CORE_MODULES),
77
- };
78
- const currentScopedPackageVersion = this.$fs.readJson(path.join(scopedPackagePath, constants.PACKAGE_JSON_FILE_NAME)).version;
79
- scopedModulesInformation.currentVersion = currentScopedPackageVersion;
80
- versionInformations.push(scopedModulesInformation);
81
- }
37
+ async getTnsCoreModulesVersion() {
38
+ const latestTnsCoreModulesVersion = await this.$packageInstallationManager.getLatestVersion(constants.TNS_CORE_MODULES_NAME);
39
+ const nativescriptCoreModulesInfo = {
40
+ componentName: constants.TNS_CORE_MODULES_NAME,
41
+ latestVersion: latestTnsCoreModulesVersion,
42
+ };
43
+ const versionInformations = [];
44
+ if (this.projectData) {
45
+ const nodeModulesPath = path.join(this.projectData.projectDir, constants.NODE_MODULES_FOLDER_NAME);
46
+ const scopedPackagePath = path.join(nodeModulesPath, constants.SCOPED_TNS_CORE_MODULES);
47
+ const tnsCoreModulesPath = path.join(nodeModulesPath, constants.TNS_CORE_MODULES_NAME);
48
+ const dependsOnNonScopedPackage = !!this.projectData.dependencies[constants.TNS_CORE_MODULES_NAME];
49
+ const dependsOnScopedPackage = !!this.projectData.dependencies[constants.SCOPED_TNS_CORE_MODULES];
50
+ // ensure the dependencies are installed, so we can get their actual versions from node_modules
51
+ if (!this.$fs.exists(nodeModulesPath) ||
52
+ (dependsOnNonScopedPackage && !this.$fs.exists(tnsCoreModulesPath)) ||
53
+ (dependsOnScopedPackage && !this.$fs.exists(scopedPackagePath))) {
54
+ await this.$pluginsService.ensureAllDependenciesAreInstalled(this.projectData);
82
55
  }
83
- else {
56
+ if (dependsOnNonScopedPackage && this.$fs.exists(tnsCoreModulesPath)) {
57
+ const currentTnsCoreModulesVersion = this.$fs.readJson(path.join(tnsCoreModulesPath, constants.PACKAGE_JSON_FILE_NAME)).version;
58
+ nativescriptCoreModulesInfo.currentVersion = currentTnsCoreModulesVersion;
84
59
  versionInformations.push(nativescriptCoreModulesInfo);
85
60
  }
86
- return versionInformations;
87
- });
88
- }
89
- getRuntimesVersions(platform) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- const iosRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "ios" /* constants.PlatformTypes.ios */);
92
- const androidRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "android" /* constants.PlatformTypes.android */);
93
- let runtimes = [];
94
- if (!platform) {
95
- runtimes = [iosRuntime, androidRuntime];
96
- }
97
- else if (platform === "ios" /* PlatformTypes.ios */) {
98
- runtimes.push(iosRuntime);
99
- }
100
- else if (platform === "android" /* PlatformTypes.android */) {
101
- runtimes.push(androidRuntime);
102
- }
103
- const runtimesVersions = yield Promise.all(runtimes.map((runtime) => __awaiter(this, void 0, void 0, function* () {
104
- const latestVersion = yield this.$packageInstallationManager.getLatestVersion(runtime.name);
105
- const runtimeInformation = {
106
- componentName: runtime.name,
107
- currentVersion: runtime.version,
108
- latestVersion,
61
+ if (dependsOnScopedPackage && this.$fs.exists(scopedPackagePath)) {
62
+ const scopedModulesInformation = {
63
+ componentName: constants.SCOPED_TNS_CORE_MODULES,
64
+ latestVersion: await this.$packageInstallationManager.getLatestVersion(constants.SCOPED_TNS_CORE_MODULES),
109
65
  };
110
- return runtimeInformation;
111
- })));
112
- return runtimesVersions;
113
- });
66
+ const currentScopedPackageVersion = this.$fs.readJson(path.join(scopedPackagePath, constants.PACKAGE_JSON_FILE_NAME)).version;
67
+ scopedModulesInformation.currentVersion = currentScopedPackageVersion;
68
+ versionInformations.push(scopedModulesInformation);
69
+ }
70
+ }
71
+ else {
72
+ versionInformations.push(nativescriptCoreModulesInfo);
73
+ }
74
+ return versionInformations;
114
75
  }
115
- getAllComponentsVersions(platform) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- try {
118
- let allComponents = [];
119
- const nativescriptCliInformation = yield this.getNativescriptCliVersion();
120
- if (nativescriptCliInformation) {
121
- allComponents.push(nativescriptCliInformation);
122
- }
123
- if (this.projectData) {
124
- const nativescriptCoreModulesInformation = yield this.getTnsCoreModulesVersion();
125
- if (nativescriptCoreModulesInformation) {
126
- allComponents.push(...nativescriptCoreModulesInformation);
127
- }
128
- const runtimesVersions = yield this.getRuntimesVersions(platform);
129
- allComponents = allComponents.concat(runtimesVersions);
76
+ async getRuntimesVersions(platform) {
77
+ const iosRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "ios" /* constants.PlatformTypes.ios */);
78
+ const androidRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "android" /* constants.PlatformTypes.android */);
79
+ let runtimes = [];
80
+ if (!platform) {
81
+ runtimes = [iosRuntime, androidRuntime];
82
+ }
83
+ else if (platform === "ios" /* PlatformTypes.ios */) {
84
+ runtimes.push(iosRuntime);
85
+ }
86
+ else if (platform === "android" /* PlatformTypes.android */) {
87
+ runtimes.push(androidRuntime);
88
+ }
89
+ const runtimesVersions = await Promise.all(runtimes.map(async (runtime) => {
90
+ const latestVersion = await this.$packageInstallationManager.getLatestVersion(runtime.name);
91
+ const runtimeInformation = {
92
+ componentName: runtime.name,
93
+ currentVersion: runtime.version,
94
+ latestVersion,
95
+ };
96
+ return runtimeInformation;
97
+ }));
98
+ return runtimesVersions;
99
+ }
100
+ async getAllComponentsVersions(platform) {
101
+ try {
102
+ let allComponents = [];
103
+ const nativescriptCliInformation = await this.getNativescriptCliVersion();
104
+ if (nativescriptCliInformation) {
105
+ allComponents.push(nativescriptCliInformation);
106
+ }
107
+ if (this.projectData) {
108
+ const nativescriptCoreModulesInformation = await this.getTnsCoreModulesVersion();
109
+ if (nativescriptCoreModulesInformation) {
110
+ allComponents.push(...nativescriptCoreModulesInformation);
130
111
  }
131
- return allComponents.map((componentInformation) => {
132
- if (componentInformation.currentVersion) {
133
- if (this.hasUpdate(componentInformation)) {
134
- componentInformation.type = VersionInformationType.UpdateAvailable;
135
- componentInformation.message = `${VersionsService.UPDATE_AVAILABLE_MESSAGE} for component ${componentInformation.componentName}. Your current version is ${componentInformation.currentVersion} and the latest available version is ${componentInformation.latestVersion}.`;
136
- }
137
- else {
138
- componentInformation.type = VersionInformationType.UpToDate;
139
- componentInformation.message = `Component ${componentInformation.componentName} has ${componentInformation.currentVersion} version and is ${VersionsService.UP_TO_DATE_MESSAGE}.`;
140
- }
112
+ const runtimesVersions = await this.getRuntimesVersions(platform);
113
+ allComponents = allComponents.concat(runtimesVersions);
114
+ }
115
+ return allComponents.map((componentInformation) => {
116
+ if (componentInformation.currentVersion) {
117
+ if (this.hasUpdate(componentInformation)) {
118
+ componentInformation.type = VersionInformationType.UpdateAvailable;
119
+ componentInformation.message = `${VersionsService.UPDATE_AVAILABLE_MESSAGE} for component ${componentInformation.componentName}. Your current version is ${componentInformation.currentVersion} and the latest available version is ${componentInformation.latestVersion}.`;
141
120
  }
142
121
  else {
143
- componentInformation.type = VersionInformationType.NotInstalled;
144
- componentInformation.message = `Component ${componentInformation.componentName} is ${VersionsService.NOT_INSTALLED_MESSAGE}.`;
122
+ componentInformation.type = VersionInformationType.UpToDate;
123
+ componentInformation.message = `Component ${componentInformation.componentName} has ${componentInformation.currentVersion} version and is ${VersionsService.UP_TO_DATE_MESSAGE}.`;
145
124
  }
146
- return componentInformation;
147
- });
148
- }
149
- catch (error) {
150
- this.$logger.trace("Error while trying to get component information. Error is: ", error);
151
- return [];
152
- }
153
- });
154
- }
155
- printVersionsInformation(platform) {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- const versionsInformation = yield this.$terminalSpinnerService.execute({
158
- text: `Getting NativeScript components versions information...`,
159
- }, () => this.getAllComponentsVersions(platform));
160
- if (!helpers.isInteractive()) {
161
- versionsInformation.map((componentInformation) => this.$logger.info(componentInformation.message));
162
- }
163
- _.forEach(versionsInformation, (componentInformation) => {
164
- const spinner = this.$terminalSpinnerService.createSpinner();
165
- spinner.text = componentInformation.message;
166
- switch (componentInformation.type) {
167
- case VersionInformationType.UpToDate:
168
- spinner.succeed();
169
- break;
170
- case VersionInformationType.UpdateAvailable:
171
- spinner.warn();
172
- break;
173
- case VersionInformationType.NotInstalled:
174
- spinner.fail();
175
- break;
176
125
  }
126
+ else {
127
+ componentInformation.type = VersionInformationType.NotInstalled;
128
+ componentInformation.message = `Component ${componentInformation.componentName} is ${VersionsService.NOT_INSTALLED_MESSAGE}.`;
129
+ }
130
+ return componentInformation;
177
131
  });
132
+ }
133
+ catch (error) {
134
+ this.$logger.trace("Error while trying to get component information. Error is: ", error);
135
+ return [];
136
+ }
137
+ }
138
+ async printVersionsInformation(platform) {
139
+ const versionsInformation = await this.$terminalSpinnerService.execute({
140
+ text: `Getting NativeScript components versions information...`,
141
+ }, () => this.getAllComponentsVersions(platform));
142
+ if (!helpers.isInteractive()) {
143
+ versionsInformation.map((componentInformation) => this.$logger.info(componentInformation.message));
144
+ }
145
+ _.forEach(versionsInformation, (componentInformation) => {
146
+ const spinner = this.$terminalSpinnerService.createSpinner();
147
+ spinner.text = componentInformation.message;
148
+ switch (componentInformation.type) {
149
+ case VersionInformationType.UpToDate:
150
+ spinner.succeed();
151
+ break;
152
+ case VersionInformationType.UpdateAvailable:
153
+ spinner.warn();
154
+ break;
155
+ case VersionInformationType.NotInstalled:
156
+ spinner.fail();
157
+ break;
158
+ }
178
159
  });
179
160
  }
180
161
  getProjectData() {