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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +211 -230
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +9 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +44 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +150 -200
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +163 -199
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +22 -35
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +43 -53
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +51 -66
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/CHANGELOG.md +0 -15
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  282. package/node_modules/@npmcli/move-file/package.json +0 -47
  283. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  284. package/node_modules/balanced-match/LICENSE.md +0 -21
  285. package/node_modules/balanced-match/README.md +0 -97
  286. package/node_modules/balanced-match/index.js +0 -62
  287. package/node_modules/balanced-match/package.json +0 -48
  288. package/node_modules/concat-map/.travis.yml +0 -4
  289. package/node_modules/concat-map/LICENSE +0 -18
  290. package/node_modules/concat-map/README.markdown +0 -62
  291. package/node_modules/concat-map/example/map.js +0 -6
  292. package/node_modules/concat-map/index.js +0 -13
  293. package/node_modules/concat-map/package.json +0 -43
  294. package/node_modules/concat-map/test/map.js +0 -39
  295. package/node_modules/fs.realpath/LICENSE +0 -43
  296. package/node_modules/fs.realpath/README.md +0 -33
  297. package/node_modules/fs.realpath/index.js +0 -66
  298. package/node_modules/fs.realpath/old.js +0 -303
  299. package/node_modules/fs.realpath/package.json +0 -26
  300. package/node_modules/inflight/LICENSE +0 -15
  301. package/node_modules/inflight/README.md +0 -37
  302. package/node_modules/inflight/inflight.js +0 -54
  303. package/node_modules/inflight/package.json +0 -29
  304. package/node_modules/inherits/LICENSE +0 -16
  305. package/node_modules/inherits/README.md +0 -42
  306. package/node_modules/inherits/inherits.js +0 -9
  307. package/node_modules/inherits/inherits_browser.js +0 -27
  308. package/node_modules/inherits/package.json +0 -29
  309. package/node_modules/once/LICENSE +0 -15
  310. package/node_modules/once/README.md +0 -79
  311. package/node_modules/once/once.js +0 -42
  312. package/node_modules/once/package.json +0 -33
  313. package/node_modules/path-is-absolute/index.js +0 -20
  314. package/node_modules/path-is-absolute/license +0 -21
  315. package/node_modules/path-is-absolute/package.json +0 -43
  316. package/node_modules/path-is-absolute/readme.md +0 -59
  317. package/node_modules/rimraf/CHANGELOG.md +0 -65
  318. package/node_modules/rimraf/LICENSE +0 -15
  319. package/node_modules/rimraf/README.md +0 -101
  320. package/node_modules/rimraf/bin.js +0 -68
  321. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  322. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  323. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  324. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  325. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  326. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  327. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  328. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  329. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  330. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  331. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  332. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  333. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  334. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  335. package/node_modules/rimraf/package.json +0 -32
  336. package/node_modules/rimraf/rimraf.js +0 -360
  337. package/node_modules/stringify-package/CHANGELOG.md +0 -16
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.TestExecutionService = void 0;
13
4
  const constants = require("../constants");
@@ -29,74 +20,70 @@ 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
- yield this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
38
- const karmaConfig = this.getKarmaConfiguration(platform, projectData);
39
- const karmaRunner = this.$childProcess.spawn(process.execPath, [path.join(__dirname, "karma-execution.js")], { stdio: ["inherit", "inherit", "inherit", "ipc"] });
40
- const launchKarmaTests = (karmaData) => __awaiter(this, void 0, void 0, function* () {
41
- this.$logger.trace("## Unit-testing: Parent process received message", karmaData);
42
- let port;
43
- if (karmaData.url) {
44
- port = karmaData.url.port;
45
- const socketIoJsUrl = `http://${karmaData.url.host}/socket.io/socket.io.js`;
46
- const socketIoJs = (yield this.$httpClient.httpRequest(socketIoJsUrl))
47
- .body;
48
- this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.SOCKETIO_JS_FILE_NAME), JSON.parse(socketIoJs));
49
- }
50
- if (karmaData.launcherConfig) {
51
- const configOptions = JSON.parse(karmaData.launcherConfig);
52
- const configJs = this.generateConfig(port, configOptions);
53
- this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.CONFIG_FILE_NAME), configJs);
54
- }
55
- yield this.$runController.run({
56
- liveSyncInfo,
57
- deviceDescriptors,
58
- });
59
- });
60
- karmaRunner.on("message", (karmaData) => {
61
- this.$logger.trace(`The received message from karma is: `, karmaData);
62
- if (!karmaData.launcherConfig && !karmaData.url) {
63
- return;
64
- }
65
- launchKarmaTests(karmaData).catch((result) => {
66
- this.$logger.error(result);
67
- process.exit(130);
68
- });
23
+ async startKarmaServer(platform, liveSyncInfo, deviceDescriptors) {
24
+ platform = platform.toLowerCase();
25
+ this.platform = platform;
26
+ const projectData = this.$projectDataService.getProjectData(liveSyncInfo.projectDir);
27
+ await this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
28
+ const karmaConfig = this.getKarmaConfiguration(platform, projectData);
29
+ const karmaRunner = this.$childProcess.spawn(process.execPath, [path.join(__dirname, "karma-execution.js")], { stdio: ["inherit", "inherit", "inherit", "ipc"] });
30
+ const launchKarmaTests = async (karmaData) => {
31
+ this.$logger.trace("## Unit-testing: Parent process received message", karmaData);
32
+ let port;
33
+ if (karmaData.url) {
34
+ port = karmaData.url.port;
35
+ const socketIoJsUrl = `http://${karmaData.url.host}/socket.io/socket.io.js`;
36
+ const socketIoJs = (await this.$httpClient.httpRequest(socketIoJsUrl))
37
+ .body;
38
+ this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.SOCKETIO_JS_FILE_NAME), JSON.parse(socketIoJs));
39
+ }
40
+ if (karmaData.launcherConfig) {
41
+ const configOptions = JSON.parse(karmaData.launcherConfig);
42
+ const configJs = this.generateConfig(port, configOptions);
43
+ this.$fs.writeFile(path.join(liveSyncInfo.projectDir, TestExecutionService.CONFIG_FILE_NAME), configJs);
44
+ }
45
+ await this.$runController.run({
46
+ liveSyncInfo,
47
+ deviceDescriptors,
69
48
  });
70
- return new Promise((resolve, reject) => {
71
- karmaRunner.on("exit", (exitCode) => {
72
- if (exitCode !== 0) {
73
- const testError = new Error("Test run failed.");
74
- reject(testError);
75
- }
76
- else {
77
- resolve();
78
- }
79
- });
80
- karmaRunner.send({ karmaConfig: karmaConfig });
49
+ };
50
+ karmaRunner.on("message", (karmaData) => {
51
+ this.$logger.trace(`The received message from karma is: `, karmaData);
52
+ if (!karmaData.launcherConfig && !karmaData.url) {
53
+ return;
54
+ }
55
+ launchKarmaTests(karmaData).catch((result) => {
56
+ this.$logger.error(result);
57
+ process.exit(130);
81
58
  });
82
59
  });
83
- }
84
- canStartKarmaServer(projectData) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- let canStartKarmaServer = true;
87
- const requiredDependencies = ["@nativescript/unit-test-runner"];
88
- _.each(requiredDependencies, (dep) => {
89
- if (!projectData.dependencies[dep] && !projectData.devDependencies[dep]) {
90
- canStartKarmaServer = false;
91
- return;
60
+ return new Promise((resolve, reject) => {
61
+ karmaRunner.on("exit", (exitCode) => {
62
+ if (exitCode !== 0) {
63
+ const testError = new Error("Test run failed.");
64
+ reject(testError);
65
+ }
66
+ else {
67
+ resolve();
92
68
  }
93
69
  });
94
- const pathToKarma = (0, package_path_helper_1.resolvePackagePath)("karma", {
95
- paths: [projectData.projectDir],
96
- });
97
- canStartKarmaServer = canStartKarmaServer && !!pathToKarma;
98
- return canStartKarmaServer;
70
+ karmaRunner.send({ karmaConfig: karmaConfig });
71
+ });
72
+ }
73
+ async canStartKarmaServer(projectData) {
74
+ let canStartKarmaServer = true;
75
+ const requiredDependencies = ["@nativescript/unit-test-runner"];
76
+ _.each(requiredDependencies, (dep) => {
77
+ if (!projectData.dependencies[dep] && !projectData.devDependencies[dep]) {
78
+ canStartKarmaServer = false;
79
+ return;
80
+ }
99
81
  });
82
+ const pathToKarma = (0, package_path_helper_1.resolvePackagePath)("karma", {
83
+ paths: [projectData.projectDir],
84
+ });
85
+ canStartKarmaServer = canStartKarmaServer && !!pathToKarma;
86
+ return canStartKarmaServer;
100
87
  }
101
88
  generateConfig(port, options) {
102
89
  const nics = os.networkInterfaces();
@@ -148,7 +135,7 @@ class TestExecutionService {
148
135
  return karmaConfig;
149
136
  }
150
137
  }
138
+ exports.TestExecutionService = TestExecutionService;
151
139
  TestExecutionService.CONFIG_FILE_NAME = `node_modules/${constants.TEST_RUNNER_NAME}/config.js`;
152
140
  TestExecutionService.SOCKETIO_JS_FILE_NAME = `node_modules/${constants.TEST_RUNNER_NAME}/socket.io.js`;
153
- exports.TestExecutionService = TestExecutionService;
154
141
  yok_1.injector.register("testExecutionService", TestExecutionService);
@@ -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
  }
@@ -44,11 +44,11 @@ class TestInitializationService {
44
44
  return frameworks;
45
45
  }
46
46
  }
47
+ exports.TestInitializationService = TestInitializationService;
47
48
  __decorate([
48
49
  (0, decorators_1.cache)()
49
50
  ], TestInitializationService.prototype, "getDependencies", null);
50
51
  __decorate([
51
52
  (0, decorators_1.cache)()
52
53
  ], TestInitializationService.prototype, "getFrameworkNames", null);
53
- exports.TestInitializationService = TestInitializationService;
54
54
  yok_1.injector.register("testInitializationService", TestInitializationService);
@@ -93,8 +93,8 @@ 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);
@@ -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,146 +25,136 @@ 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
- if (!this.$fs.exists(nodeModulesPath) ||
63
- (dependsOnNonScopedPackage && !this.$fs.exists(tnsCoreModulesPath)) ||
64
- (dependsOnScopedPackage && !this.$fs.exists(scopedPackagePath))) {
65
- yield this.$pluginsService.ensureAllDependenciesAreInstalled(this.projectData);
66
- }
67
- if (dependsOnNonScopedPackage && this.$fs.exists(tnsCoreModulesPath)) {
68
- const currentTnsCoreModulesVersion = this.$fs.readJson(path.join(tnsCoreModulesPath, constants.PACKAGE_JSON_FILE_NAME)).version;
69
- nativescriptCoreModulesInfo.currentVersion = currentTnsCoreModulesVersion;
70
- versionInformations.push(nativescriptCoreModulesInfo);
71
- }
72
- if (dependsOnScopedPackage && this.$fs.exists(scopedPackagePath)) {
73
- const scopedModulesInformation = {
74
- componentName: constants.SCOPED_TNS_CORE_MODULES,
75
- latestVersion: yield this.$packageInstallationManager.getLatestVersion(constants.SCOPED_TNS_CORE_MODULES),
76
- };
77
- const currentScopedPackageVersion = this.$fs.readJson(path.join(scopedPackagePath, constants.PACKAGE_JSON_FILE_NAME)).version;
78
- scopedModulesInformation.currentVersion = currentScopedPackageVersion;
79
- versionInformations.push(scopedModulesInformation);
80
- }
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
+ if (!this.$fs.exists(nodeModulesPath) ||
51
+ (dependsOnNonScopedPackage && !this.$fs.exists(tnsCoreModulesPath)) ||
52
+ (dependsOnScopedPackage && !this.$fs.exists(scopedPackagePath))) {
53
+ await this.$pluginsService.ensureAllDependenciesAreInstalled(this.projectData);
81
54
  }
82
- else {
55
+ if (dependsOnNonScopedPackage && this.$fs.exists(tnsCoreModulesPath)) {
56
+ const currentTnsCoreModulesVersion = this.$fs.readJson(path.join(tnsCoreModulesPath, constants.PACKAGE_JSON_FILE_NAME)).version;
57
+ nativescriptCoreModulesInfo.currentVersion = currentTnsCoreModulesVersion;
83
58
  versionInformations.push(nativescriptCoreModulesInfo);
84
59
  }
85
- return versionInformations;
86
- });
87
- }
88
- getRuntimesVersions(platform) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const iosRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "ios");
91
- const androidRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "android");
92
- let runtimes = [];
93
- if (!platform) {
94
- runtimes = [iosRuntime, androidRuntime];
95
- }
96
- else if (platform === "ios") {
97
- runtimes.push(iosRuntime);
98
- }
99
- else if (platform === "android") {
100
- runtimes.push(androidRuntime);
101
- }
102
- const runtimesVersions = yield Promise.all(runtimes.map((runtime) => __awaiter(this, void 0, void 0, function* () {
103
- const latestVersion = yield this.$packageInstallationManager.getLatestVersion(runtime.name);
104
- const runtimeInformation = {
105
- componentName: runtime.name,
106
- currentVersion: runtime.version,
107
- latestVersion,
60
+ if (dependsOnScopedPackage && this.$fs.exists(scopedPackagePath)) {
61
+ const scopedModulesInformation = {
62
+ componentName: constants.SCOPED_TNS_CORE_MODULES,
63
+ latestVersion: await this.$packageInstallationManager.getLatestVersion(constants.SCOPED_TNS_CORE_MODULES),
108
64
  };
109
- return runtimeInformation;
110
- })));
111
- return runtimesVersions;
112
- });
65
+ const currentScopedPackageVersion = this.$fs.readJson(path.join(scopedPackagePath, constants.PACKAGE_JSON_FILE_NAME)).version;
66
+ scopedModulesInformation.currentVersion = currentScopedPackageVersion;
67
+ versionInformations.push(scopedModulesInformation);
68
+ }
69
+ }
70
+ else {
71
+ versionInformations.push(nativescriptCoreModulesInfo);
72
+ }
73
+ return versionInformations;
113
74
  }
114
- getAllComponentsVersions(platform) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- try {
117
- let allComponents = [];
118
- const nativescriptCliInformation = yield this.getNativescriptCliVersion();
119
- if (nativescriptCliInformation) {
120
- allComponents.push(nativescriptCliInformation);
121
- }
122
- if (this.projectData) {
123
- const nativescriptCoreModulesInformation = yield this.getTnsCoreModulesVersion();
124
- if (nativescriptCoreModulesInformation) {
125
- allComponents.push(...nativescriptCoreModulesInformation);
126
- }
127
- const runtimesVersions = yield this.getRuntimesVersions(platform);
128
- allComponents = allComponents.concat(runtimesVersions);
75
+ async getRuntimesVersions(platform) {
76
+ const iosRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "ios");
77
+ const androidRuntime = this.$projectDataService.getRuntimePackage(this.projectData.projectDir, "android");
78
+ let runtimes = [];
79
+ if (!platform) {
80
+ runtimes = [iosRuntime, androidRuntime];
81
+ }
82
+ else if (platform === "ios") {
83
+ runtimes.push(iosRuntime);
84
+ }
85
+ else if (platform === "android") {
86
+ runtimes.push(androidRuntime);
87
+ }
88
+ const runtimesVersions = await Promise.all(runtimes.map(async (runtime) => {
89
+ const latestVersion = await this.$packageInstallationManager.getLatestVersion(runtime.name);
90
+ const runtimeInformation = {
91
+ componentName: runtime.name,
92
+ currentVersion: runtime.version,
93
+ latestVersion,
94
+ };
95
+ return runtimeInformation;
96
+ }));
97
+ return runtimesVersions;
98
+ }
99
+ async getAllComponentsVersions(platform) {
100
+ try {
101
+ let allComponents = [];
102
+ const nativescriptCliInformation = await this.getNativescriptCliVersion();
103
+ if (nativescriptCliInformation) {
104
+ allComponents.push(nativescriptCliInformation);
105
+ }
106
+ if (this.projectData) {
107
+ const nativescriptCoreModulesInformation = await this.getTnsCoreModulesVersion();
108
+ if (nativescriptCoreModulesInformation) {
109
+ allComponents.push(...nativescriptCoreModulesInformation);
129
110
  }
130
- return allComponents.map((componentInformation) => {
131
- if (componentInformation.currentVersion) {
132
- if (this.hasUpdate(componentInformation)) {
133
- componentInformation.type = VersionInformationType.UpdateAvailable;
134
- componentInformation.message = `${VersionsService.UPDATE_AVAILABLE_MESSAGE} for component ${componentInformation.componentName}. Your current version is ${componentInformation.currentVersion} and the latest available version is ${componentInformation.latestVersion}.`;
135
- }
136
- else {
137
- componentInformation.type = VersionInformationType.UpToDate;
138
- componentInformation.message = `Component ${componentInformation.componentName} has ${componentInformation.currentVersion} version and is ${VersionsService.UP_TO_DATE_MESSAGE}.`;
139
- }
111
+ const runtimesVersions = await this.getRuntimesVersions(platform);
112
+ allComponents = allComponents.concat(runtimesVersions);
113
+ }
114
+ return allComponents.map((componentInformation) => {
115
+ if (componentInformation.currentVersion) {
116
+ if (this.hasUpdate(componentInformation)) {
117
+ componentInformation.type = VersionInformationType.UpdateAvailable;
118
+ componentInformation.message = `${VersionsService.UPDATE_AVAILABLE_MESSAGE} for component ${componentInformation.componentName}. Your current version is ${componentInformation.currentVersion} and the latest available version is ${componentInformation.latestVersion}.`;
140
119
  }
141
120
  else {
142
- componentInformation.type = VersionInformationType.NotInstalled;
143
- componentInformation.message = `Component ${componentInformation.componentName} is ${VersionsService.NOT_INSTALLED_MESSAGE}.`;
121
+ componentInformation.type = VersionInformationType.UpToDate;
122
+ componentInformation.message = `Component ${componentInformation.componentName} has ${componentInformation.currentVersion} version and is ${VersionsService.UP_TO_DATE_MESSAGE}.`;
144
123
  }
145
- return componentInformation;
146
- });
147
- }
148
- catch (error) {
149
- this.$logger.trace("Error while trying to get component information. Error is: ", error);
150
- return [];
151
- }
152
- });
153
- }
154
- printVersionsInformation(platform) {
155
- return __awaiter(this, void 0, void 0, function* () {
156
- const versionsInformation = yield this.$terminalSpinnerService.execute({
157
- text: `Getting NativeScript components versions information...`,
158
- }, () => this.getAllComponentsVersions(platform));
159
- if (!helpers.isInteractive()) {
160
- versionsInformation.map((componentInformation) => this.$logger.info(componentInformation.message));
161
- }
162
- _.forEach(versionsInformation, (componentInformation) => {
163
- const spinner = this.$terminalSpinnerService.createSpinner();
164
- spinner.text = componentInformation.message;
165
- switch (componentInformation.type) {
166
- case VersionInformationType.UpToDate:
167
- spinner.succeed();
168
- break;
169
- case VersionInformationType.UpdateAvailable:
170
- spinner.warn();
171
- break;
172
- case VersionInformationType.NotInstalled:
173
- spinner.fail();
174
- break;
175
124
  }
125
+ else {
126
+ componentInformation.type = VersionInformationType.NotInstalled;
127
+ componentInformation.message = `Component ${componentInformation.componentName} is ${VersionsService.NOT_INSTALLED_MESSAGE}.`;
128
+ }
129
+ return componentInformation;
176
130
  });
131
+ }
132
+ catch (error) {
133
+ this.$logger.trace("Error while trying to get component information. Error is: ", error);
134
+ return [];
135
+ }
136
+ }
137
+ async printVersionsInformation(platform) {
138
+ const versionsInformation = await this.$terminalSpinnerService.execute({
139
+ text: `Getting NativeScript components versions information...`,
140
+ }, () => this.getAllComponentsVersions(platform));
141
+ if (!helpers.isInteractive()) {
142
+ versionsInformation.map((componentInformation) => this.$logger.info(componentInformation.message));
143
+ }
144
+ _.forEach(versionsInformation, (componentInformation) => {
145
+ const spinner = this.$terminalSpinnerService.createSpinner();
146
+ spinner.text = componentInformation.message;
147
+ switch (componentInformation.type) {
148
+ case VersionInformationType.UpToDate:
149
+ spinner.succeed();
150
+ break;
151
+ case VersionInformationType.UpdateAvailable:
152
+ spinner.warn();
153
+ break;
154
+ case VersionInformationType.NotInstalled:
155
+ spinner.fail();
156
+ break;
157
+ }
177
158
  });
178
159
  }
179
160
  getProjectData() {