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

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 (405) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/ios.d.ts +4 -2
  190. package/lib/definitions/project.d.ts +26 -0
  191. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  192. package/lib/detached-processes/cleanup-process.js +43 -30
  193. package/lib/detached-processes/file-log-service.js +2 -1
  194. package/lib/device-path-provider.js +35 -23
  195. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  196. package/lib/device-sockets/ios/notification.js +4 -1
  197. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  198. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  199. package/lib/helpers/deploy-command-helper.js +50 -44
  200. package/lib/helpers/key-command-helper.js +17 -6
  201. package/lib/helpers/livesync-command-helper.js +155 -137
  202. package/lib/helpers/network-connectivity-validator.js +18 -6
  203. package/lib/helpers/options-track-helper.js +19 -7
  204. package/lib/helpers/package-path-helper.js +1 -0
  205. package/lib/helpers/platform-command-helper.js +127 -101
  206. package/lib/helpers/version-validator-helper.js +1 -0
  207. package/lib/key-commands/bootstrap.js +3 -2
  208. package/lib/key-commands/index.js +205 -154
  209. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  210. package/lib/nativescript-cli-lib.js +1 -0
  211. package/lib/nativescript-cli.js +24 -6
  212. package/lib/node/pbxproj-dom-xcode.js +1 -0
  213. package/lib/node/xcode.js +1 -0
  214. package/lib/node-package-manager.js +114 -81
  215. package/lib/options.js +156 -122
  216. package/lib/package-installation-manager.js +172 -130
  217. package/lib/package-manager.js +88 -63
  218. package/lib/platform-command-param.js +16 -4
  219. package/lib/pnpm-package-manager.js +81 -59
  220. package/lib/project-data.js +13 -1
  221. package/lib/providers/project-files-provider.js +2 -1
  222. package/lib/resolvers/livesync-service-resolver.js +1 -0
  223. package/lib/services/analytics/analytics-broker-process.js +32 -19
  224. package/lib/services/analytics/analytics-broker.js +31 -17
  225. package/lib/services/analytics/analytics-service.js +210 -170
  226. package/lib/services/analytics/google-analytics-provider.js +59 -43
  227. package/lib/services/analytics-settings-service.js +37 -15
  228. package/lib/services/android/android-bundle-tool-service.js +61 -43
  229. package/lib/services/android/gradle-build-args-service.js +23 -9
  230. package/lib/services/android/gradle-build-service.js +36 -22
  231. package/lib/services/android/gradle-command-service.js +36 -22
  232. package/lib/services/android-device-debug-service.js +123 -90
  233. package/lib/services/android-plugin-build-service.js +260 -205
  234. package/lib/services/android-project-service.js +241 -129
  235. package/lib/services/android-resources-migration-service.js +71 -51
  236. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  237. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  238. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  239. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  240. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  241. package/lib/services/build-artifacts-service.js +22 -10
  242. package/lib/services/build-data-service.js +1 -0
  243. package/lib/services/build-info-file-service.js +36 -20
  244. package/lib/services/cleanup-service.js +81 -48
  245. package/lib/services/cocoapods-platform-manager.js +9 -0
  246. package/lib/services/cocoapods-service.js +153 -112
  247. package/lib/services/debug-data-service.js +1 -0
  248. package/lib/services/debug-service-base.js +7 -0
  249. package/lib/services/device/device-install-app-service.js +72 -54
  250. package/lib/services/doctor-service.js +135 -101
  251. package/lib/services/extensibility-service.js +108 -81
  252. package/lib/services/files-hash-service.js +44 -26
  253. package/lib/services/hmr-status-service.js +3 -1
  254. package/lib/services/info-service.js +1 -0
  255. package/lib/services/initialize-service.js +54 -37
  256. package/lib/services/ios/export-options-plist-service.js +55 -38
  257. package/lib/services/ios/ios-signing-service.js +191 -168
  258. package/lib/services/ios/spm-service.js +73 -43
  259. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  260. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  261. package/lib/services/ios/xcodebuild-service.js +72 -52
  262. package/lib/services/ios-debugger-port-service.js +38 -24
  263. package/lib/services/ios-device-debug-service.js +103 -75
  264. package/lib/services/ios-entitlements-service.js +43 -31
  265. package/lib/services/ios-extensions-service.js +30 -18
  266. package/lib/services/ios-log-filter.js +20 -0
  267. package/lib/services/ios-native-target-service.js +6 -4
  268. package/lib/services/ios-project-service.js +605 -437
  269. package/lib/services/ios-provision-service.js +132 -108
  270. package/lib/services/ios-watch-app-service.js +33 -21
  271. package/lib/services/ip-service.js +55 -38
  272. package/lib/services/itmstransporter-service.js +153 -129
  273. package/lib/services/karma-execution.js +2 -0
  274. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  275. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  276. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  277. package/lib/services/livesync/android-livesync-service.js +36 -14
  278. package/lib/services/livesync/android-livesync-tool.js +117 -90
  279. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  280. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  281. package/lib/services/livesync/ios-livesync-service.js +60 -42
  282. package/lib/services/livesync/livesync-socket.js +1 -0
  283. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  284. package/lib/services/livesync-process-data-service.js +1 -0
  285. package/lib/services/log-parser-service.js +2 -1
  286. package/lib/services/log-source-map-service.js +56 -30
  287. package/lib/services/marking-mode-service.js +33 -17
  288. package/lib/services/metadata-filtering-service.js +1 -0
  289. package/lib/services/npm-config-service.js +5 -1
  290. package/lib/services/pacote-service.js +73 -51
  291. package/lib/services/performance-service.js +4 -2
  292. package/lib/services/platform/add-platform-service.js +119 -51
  293. package/lib/services/platform/platform-validation-service.js +34 -22
  294. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  295. package/lib/services/platform-environment-requirements.js +43 -27
  296. package/lib/services/platform-project-service-base.js +1 -0
  297. package/lib/services/platforms-data-service.js +1 -0
  298. package/lib/services/plugins-service.js +168 -125
  299. package/lib/services/prepare-data-service.js +1 -0
  300. package/lib/services/project-backup-service.js +5 -1
  301. package/lib/services/project-changes-service.js +152 -124
  302. package/lib/services/project-cleanup-service.js +79 -64
  303. package/lib/services/project-config-service.js +111 -73
  304. package/lib/services/project-data-service.js +154 -108
  305. package/lib/services/project-name-service.js +44 -28
  306. package/lib/services/project-service.js +113 -84
  307. package/lib/services/project-templates-service.js +68 -52
  308. package/lib/services/qr-code-terminal-service.js +1 -0
  309. package/lib/services/require-service.js +1 -0
  310. package/lib/services/start-service.js +60 -41
  311. package/lib/services/temp-service.js +22 -8
  312. package/lib/services/terminal-spinner-service.js +28 -15
  313. package/lib/services/test-execution-service.js +79 -59
  314. package/lib/services/test-initialization-service.js +6 -2
  315. package/lib/services/timeline-profiler-service.js +2 -1
  316. package/lib/services/user-settings-service.js +1 -0
  317. package/lib/services/versions-service.js +140 -119
  318. package/lib/services/watch-ignore-list-service.js +1 -0
  319. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  320. package/lib/services/xcconfig-service.js +21 -8
  321. package/lib/services/xcproj-service.js +1 -0
  322. package/lib/shared-event-bus.js +6 -0
  323. package/lib/sys-info.js +63 -45
  324. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  325. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  326. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  327. package/lib/yarn-package-manager.js +79 -59
  328. package/lib/yarn2-package-manager.js +82 -60
  329. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  330. package/node_modules/@npmcli/move-file/README.md +69 -0
  331. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  342. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  343. package/node_modules/@npmcli/move-file/package.json +47 -0
  344. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  345. package/node_modules/balanced-match/LICENSE.md +21 -0
  346. package/node_modules/balanced-match/README.md +97 -0
  347. package/node_modules/balanced-match/index.js +62 -0
  348. package/node_modules/balanced-match/package.json +48 -0
  349. package/node_modules/concat-map/.travis.yml +4 -0
  350. package/node_modules/concat-map/LICENSE +18 -0
  351. package/node_modules/concat-map/README.markdown +62 -0
  352. package/node_modules/concat-map/example/map.js +6 -0
  353. package/node_modules/concat-map/index.js +13 -0
  354. package/node_modules/concat-map/package.json +43 -0
  355. package/node_modules/concat-map/test/map.js +39 -0
  356. package/node_modules/fs.realpath/LICENSE +43 -0
  357. package/node_modules/fs.realpath/README.md +33 -0
  358. package/node_modules/fs.realpath/index.js +66 -0
  359. package/node_modules/fs.realpath/old.js +303 -0
  360. package/node_modules/fs.realpath/package.json +26 -0
  361. package/node_modules/inflight/LICENSE +15 -0
  362. package/node_modules/inflight/README.md +37 -0
  363. package/node_modules/inflight/inflight.js +54 -0
  364. package/node_modules/inflight/package.json +29 -0
  365. package/node_modules/inherits/LICENSE +16 -0
  366. package/node_modules/inherits/README.md +42 -0
  367. package/node_modules/inherits/inherits.js +9 -0
  368. package/node_modules/inherits/inherits_browser.js +27 -0
  369. package/node_modules/inherits/package.json +29 -0
  370. package/node_modules/once/LICENSE +15 -0
  371. package/node_modules/once/README.md +79 -0
  372. package/node_modules/once/once.js +42 -0
  373. package/node_modules/once/package.json +33 -0
  374. package/node_modules/path-is-absolute/index.js +20 -0
  375. package/node_modules/path-is-absolute/license +21 -0
  376. package/node_modules/path-is-absolute/package.json +43 -0
  377. package/node_modules/path-is-absolute/readme.md +59 -0
  378. package/node_modules/rimraf/LICENSE +15 -0
  379. package/node_modules/rimraf/README.md +101 -0
  380. package/node_modules/rimraf/bin.js +68 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  384. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  385. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  386. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  387. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  388. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  389. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  390. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  391. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  392. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  393. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  394. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  395. package/node_modules/rimraf/package.json +32 -0
  396. package/node_modules/rimraf/rimraf.js +360 -0
  397. package/node_modules/stringify-package/LICENSE +13 -0
  398. package/node_modules/stringify-package/README.md +55 -0
  399. package/node_modules/stringify-package/index.js +18 -0
  400. package/node_modules/stringify-package/package.json +38 -0
  401. package/node_modules/wrappy/LICENSE +15 -0
  402. package/node_modules/wrappy/README.md +36 -0
  403. package/node_modules/wrappy/package.json +29 -0
  404. package/node_modules/wrappy/wrappy.js +33 -0
  405. package/package.json +79 -64
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SOCKET_CONNECTION_TIMEOUT_MS = exports.AndroidVirtualDevice = exports.ATTACH_REQUEST_EVENT_NAME = exports.DEBUGGER_PORT_FOUND_EVENT_NAME = exports.DEFAULT_CHUNK_SIZE = exports.HttpProtocolToPort = exports.HttpStatusCodes = exports.Proxy = exports.IOS_RELAY_NOTIFICATION_COMMAND_TYPE = exports.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE = exports.IOS_POST_NOTIFICATION_COMMAND_TYPE = exports.FileExtensions = exports.TNS_CORE_MODULES = exports.NODE_MODULES_DIR_NAME = exports.Configurations = exports.TARGET_FRAMEWORK_IDENTIFIERS = exports.FAIL_LIVESYNC_LOG_REGEX = exports.IOS_APP_CRASH_LOG_REG_EXP = exports.IOS_LOG_PREDICATE = exports.DEVICE_LOG_EVENT_NAME = exports.EmulatorDiscoveryNames = exports.DeviceDiscoveryEventNames = exports.HmrConstants = exports.LiveSyncPaths = exports.APPLE_VENDOR_NAME = exports.NOT_RUNNING_EMULATOR_STATUS = exports.RUNNING_EMULATOR_STATUS = exports.CONNECTED_STATUS = exports.UNREACHABLE_STATUS = exports.ERROR_NO_VALID_SUBCOMMAND_FORMAT = exports.ERROR_CANNOT_RESOLVE_DEVICE = exports.ERROR_NO_DEVICES_CANT_USE_IOS_SIMULATOR = exports.ERROR_CANT_USE_SIMULATOR = exports.ERROR_NO_DEVICES = exports.APP_RESOURCES_FOLDER_NAME = exports.DeviceTypes = exports.ProvisionType = void 0;
4
+ // enumeration taken from ProvisionType.cs
4
5
  class ProvisionType {
5
6
  }
6
- exports.ProvisionType = ProvisionType;
7
7
  ProvisionType.Development = "Development";
8
8
  ProvisionType.AdHoc = "AdHoc";
9
9
  ProvisionType.AppStore = "AppStore";
10
10
  ProvisionType.Enterprise = "Enterprise";
11
+ exports.ProvisionType = ProvisionType;
11
12
  class DeviceTypes {
12
13
  }
13
- exports.DeviceTypes = DeviceTypes;
14
14
  DeviceTypes.Emulator = "Emulator";
15
15
  DeviceTypes.Simulator = "Simulator";
16
16
  DeviceTypes.Device = "Device";
17
+ exports.DeviceTypes = DeviceTypes;
17
18
  exports.APP_RESOURCES_FOLDER_NAME = "App_Resources";
18
19
  exports.ERROR_NO_DEVICES = "Cannot find connected devices. Reconnect any connected devices, verify that your system recognizes them, and run this command again.";
19
20
  exports.ERROR_CANT_USE_SIMULATOR = "You can use iOS simulator only on OS X.";
@@ -27,29 +28,29 @@ exports.NOT_RUNNING_EMULATOR_STATUS = "Not running";
27
28
  exports.APPLE_VENDOR_NAME = "Apple";
28
29
  class LiveSyncPaths {
29
30
  }
30
- exports.LiveSyncPaths = LiveSyncPaths;
31
31
  LiveSyncPaths.SYNC_DIR_NAME = "sync";
32
32
  LiveSyncPaths.REMOVEDSYNC_DIR_NAME = "removedsync";
33
33
  LiveSyncPaths.FULLSYNC_DIR_NAME = "fullsync";
34
34
  LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH = "Library/Application Support/LiveSync";
35
35
  LiveSyncPaths.IOS_DEVICE_SYNC_ZIP_PATH = "Library/Application Support/LiveSync/sync.zip";
36
36
  LiveSyncPaths.ANDROID_TMP_DIR_NAME = "/data/local/tmp";
37
+ exports.LiveSyncPaths = LiveSyncPaths;
37
38
  class HmrConstants {
38
39
  }
39
- exports.HmrConstants = HmrConstants;
40
40
  HmrConstants.HMR_ERROR_STATUS = 3;
41
41
  HmrConstants.HMR_SUCCESS_STATUS = 2;
42
+ exports.HmrConstants = HmrConstants;
42
43
  class DeviceDiscoveryEventNames {
43
44
  }
44
- exports.DeviceDiscoveryEventNames = DeviceDiscoveryEventNames;
45
45
  DeviceDiscoveryEventNames.DEVICE_FOUND = "deviceFound";
46
46
  DeviceDiscoveryEventNames.DEVICE_UPDATED = "deviceUpdated";
47
47
  DeviceDiscoveryEventNames.DEVICE_LOST = "deviceLost";
48
+ exports.DeviceDiscoveryEventNames = DeviceDiscoveryEventNames;
48
49
  class EmulatorDiscoveryNames {
49
50
  }
50
- exports.EmulatorDiscoveryNames = EmulatorDiscoveryNames;
51
51
  EmulatorDiscoveryNames.EMULATOR_IMAGE_FOUND = "emulatorImageFound";
52
52
  EmulatorDiscoveryNames.EMULATOR_IMAGE_LOST = "emulatorImageLost";
53
+ exports.EmulatorDiscoveryNames = EmulatorDiscoveryNames;
53
54
  exports.DEVICE_LOG_EVENT_NAME = "deviceLogData";
54
55
  exports.IOS_LOG_PREDICATE = 'senderImagePath contains "NativeScript"';
55
56
  exports.IOS_APP_CRASH_LOG_REG_EXP = /Fatal JavaScript exception \- application has been terminated/;
@@ -60,36 +61,39 @@ exports.TARGET_FRAMEWORK_IDENTIFIERS = {
60
61
  };
61
62
  class Configurations {
62
63
  }
63
- exports.Configurations = Configurations;
64
64
  Configurations.Debug = "Debug";
65
65
  Configurations.Release = "Release";
66
+ exports.Configurations = Configurations;
66
67
  exports.NODE_MODULES_DIR_NAME = "node_modules";
67
68
  exports.TNS_CORE_MODULES = "tns-core-modules";
68
69
  class FileExtensions {
69
70
  }
70
- exports.FileExtensions = FileExtensions;
71
71
  FileExtensions.TYPESCRIPT_DEFINITION_FILE = ".d.ts";
72
72
  FileExtensions.TYPESCRIPT_FILE = ".ts";
73
73
  FileExtensions.PNG_FILE = ".png";
74
74
  FileExtensions.NINE_PATCH_PNG_FILE = ".9.png";
75
+ exports.FileExtensions = FileExtensions;
75
76
  exports.IOS_POST_NOTIFICATION_COMMAND_TYPE = "PostNotification";
76
77
  exports.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE = "ObserveNotification";
77
78
  exports.IOS_RELAY_NOTIFICATION_COMMAND_TYPE = "RelayNotification";
78
79
  class Proxy {
79
80
  }
80
- exports.Proxy = Proxy;
81
81
  Proxy.CACHE_FILE_NAME = "proxy-cache.json";
82
82
  Proxy.USE_PROXY = "USE_PROXY";
83
83
  Proxy.PROXY_PORT = "PROXY_PORT";
84
84
  Proxy.PROXY_HOSTNAME = "PROXY_HOSTNAME";
85
+ exports.Proxy = Proxy;
86
+ /**
87
+ * Http status codes available from `require("http").STATUS_CODES`.
88
+ */
85
89
  class HttpStatusCodes {
86
90
  }
87
- exports.HttpStatusCodes = HttpStatusCodes;
88
91
  HttpStatusCodes.SEE_OTHER = 303;
89
92
  HttpStatusCodes.NOT_MODIFIED = 304;
90
93
  HttpStatusCodes.PAYMENT_REQUIRED = 402;
91
94
  HttpStatusCodes.PROXY_AUTHENTICATION_REQUIRED = 407;
92
95
  HttpStatusCodes.CONFLICTING_RESOURCE = 409;
96
+ exports.HttpStatusCodes = HttpStatusCodes;
93
97
  exports.HttpProtocolToPort = {
94
98
  "http:": 80,
95
99
  "https:": 443,
@@ -99,7 +103,6 @@ exports.DEBUGGER_PORT_FOUND_EVENT_NAME = "DEBUGGER_PORT_FOUND";
99
103
  exports.ATTACH_REQUEST_EVENT_NAME = "ATTACH_REQUEST";
100
104
  class AndroidVirtualDevice {
101
105
  }
102
- exports.AndroidVirtualDevice = AndroidVirtualDevice;
103
106
  AndroidVirtualDevice.ANDROID_DIR_NAME = ".android";
104
107
  AndroidVirtualDevice.AVD_DIR_NAME = "avd";
105
108
  AndroidVirtualDevice.ENCODING_MASK = /^avd\.ini\.encoding=(.*)$/;
@@ -107,7 +110,13 @@ AndroidVirtualDevice.INI_FILES_MASK = /^(.*)\.ini$/i;
107
110
  AndroidVirtualDevice.AVD_FILES_MASK = /^(.*)\.avd$/i;
108
111
  AndroidVirtualDevice.MIN_ANDROID_APILEVEL = 17;
109
112
  AndroidVirtualDevice.MIN_ANDROID_VERSION = "4.2";
113
+ /**
114
+ * The message that is printed from `avdmanager list avds`
115
+ */
110
116
  AndroidVirtualDevice.AVAILABLE_AVDS_MESSAGE = "Available Android Virtual Devices:";
117
+ /**
118
+ * The delimiter between devices that is used from `avdmanager list avds`
119
+ */
111
120
  AndroidVirtualDevice.AVD_LIST_DELIMITER = "---------";
112
121
  AndroidVirtualDevice.CONFIG_INI_FILE_NAME = "config.ini";
113
122
  AndroidVirtualDevice.INI_FILE_EXTENSION = ".ini";
@@ -119,4 +128,6 @@ AndroidVirtualDevice.AVD_VENDOR_NAME = "Avd";
119
128
  AndroidVirtualDevice.TIMEOUT_SECONDS = 120;
120
129
  AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING = "Logging activities to file";
121
130
  AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE = "Cannot run the app in the selected native emulator. Try to restart the adb server by running the `adb kill-server` command in the Command Prompt, or increase the allocated RAM of the virtual device through the Android Virtual Device manager. NativeScript CLI users can try to increase the timeout of the operation by adding the `--timeout` flag.";
131
+ exports.AndroidVirtualDevice = AndroidVirtualDevice;
122
132
  exports.SOCKET_CONNECTION_TIMEOUT_MS = 30000;
133
+ //# sourceMappingURL=constants.js.map
@@ -1,14 +1,43 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cache = cache;
4
- exports.memoize = memoize;
5
- exports.invokeBefore = invokeBefore;
6
- exports.invokeInit = invokeInit;
7
- exports.exported = exported;
8
- exports.performanceLog = performanceLog;
9
- exports.deprecated = deprecated;
12
+ exports.deprecated = exports.performanceLog = exports.exported = exports.invokeInit = exports.invokeBefore = exports.memoize = exports.cache = void 0;
10
13
  const constants_1 = require("../constants");
11
14
  const yok_1 = require("./yok");
15
+ /**
16
+ * Caches the result of the first execution of the method and returns it whenever it is called instead of executing it again.
17
+ * Works with methods and getters.
18
+ * @example
19
+ * ```
20
+ * class CacheDecoratorsTest {
21
+ *
22
+ * @cache()
23
+ * public method(num: number): number {
24
+ * return num;
25
+ * }
26
+ *
27
+ * @cache()
28
+ * public get property(): any {
29
+ * // execute some heavy operation.
30
+ * return result;
31
+ * }
32
+ * }
33
+ *
34
+ * const instance = new CacheDecoratorsTest();
35
+ * const result = instance.method(1); // returns 1;
36
+ *
37
+ * // all consecutive calls to instance.method will return 1.
38
+ * const result2 = instance.method(2); // returns 1;
39
+ * ```
40
+ */
12
41
  function cache() {
13
42
  return (target, propertyKey, descriptor) => {
14
43
  let result;
@@ -25,9 +54,11 @@ function cache() {
25
54
  return descriptor;
26
55
  };
27
56
  }
57
+ exports.cache = cache;
28
58
  let memoizeIDCounter = 0;
29
59
  function memoize(options) {
30
60
  return (target, propertyKey, descriptor) => {
61
+ // todo: remove once surely working as intended.
31
62
  const DEBUG = false;
32
63
  const memoizeID = memoizeIDCounter++;
33
64
  const valueOrGet = descriptor.value ? "value" : "get";
@@ -48,6 +79,7 @@ function memoize(options) {
48
79
  cacheMapName,
49
80
  hashKey,
50
81
  });
82
+ // initialize cache map if not exists
51
83
  if (!this.hasOwnProperty(cacheMapName)) {
52
84
  DEBUG && console.log("NO CACHE MAP YET, CREATING ONE NOW");
53
85
  Object.defineProperty(this, cacheMapName, {
@@ -62,12 +94,16 @@ function memoize(options) {
62
94
  console.log({
63
95
  cacheMap,
64
96
  });
97
+ // check if has memoized value based on hashFn
65
98
  if (cacheMap.has(hashKey)) {
66
99
  DEBUG && console.log("CACHE HIT");
100
+ // if yes, return cached value
67
101
  return cacheMap.get(hashKey);
68
102
  }
69
103
  DEBUG && console.log("CACHE MISS");
104
+ // if not call original and get result
70
105
  const result = originalMethod.apply(this, args);
106
+ // call shouldCache (if passed) with the result or default to true
71
107
  let shouldCache = true;
72
108
  if (options.shouldCache) {
73
109
  shouldCache = options.shouldCache.call(this, result);
@@ -77,25 +113,39 @@ function memoize(options) {
77
113
  DEBUG && console.log("CACHING NOW");
78
114
  cacheMap.set(hashKey, result);
79
115
  }
116
+ // if shouldCache: save result
80
117
  DEBUG && console.log("RETURNING", result);
81
118
  return result;
82
119
  };
83
120
  return descriptor;
84
121
  };
85
122
  }
123
+ exports.memoize = memoize;
124
+ /**
125
+ * Calls specific method of the instance before executing the decorated method.
126
+ * This is usable when some of your methods depend on initialize async method, that cannot be invoked in constructor of the class.
127
+ * IMPORTANT: The decorated method must be async.
128
+ * @param {string} methodName The name of the method that will be invoked before calling the decorated method.
129
+ * @param {any[]} methodArgs Args that will be passed to the method that will be invoked before calling the decorated one.
130
+ * @return {any} Result of the decorated method.
131
+ */
86
132
  function invokeBefore(methodName, methodArgs) {
87
133
  return (target, propertyKey, descriptor) => {
88
134
  const originalValue = descriptor.value;
89
- descriptor.value = async function (...args) {
90
- await target[methodName].apply(this, methodArgs);
91
- return originalValue.apply(this, args);
135
+ descriptor.value = function (...args) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ yield target[methodName].apply(this, methodArgs);
138
+ return originalValue.apply(this, args);
139
+ });
92
140
  };
93
141
  return descriptor;
94
142
  };
95
143
  }
144
+ exports.invokeBefore = invokeBefore;
96
145
  function invokeInit() {
97
146
  return invokeBefore("init");
98
147
  }
148
+ exports.invokeInit = invokeInit;
99
149
  function exported(moduleName) {
100
150
  return (target, propertyKey, descriptor) => {
101
151
  yok_1.injector.publicApi.__modules__[moduleName] =
@@ -107,6 +157,7 @@ function exported(moduleName) {
107
157
  return descriptor;
108
158
  };
109
159
  }
160
+ exports.exported = exported;
110
161
  function performanceLog(localInjector) {
111
162
  localInjector = localInjector || yok_1.injector;
112
163
  return function (target, propertyKey, descriptor) {
@@ -114,6 +165,7 @@ function performanceLog(localInjector) {
114
165
  const className = target.constructor.name;
115
166
  const trackName = `${className}${constants_1.AnalyticsEventLabelDelimiter}${propertyKey}`;
116
167
  const performanceService = localInjector.resolve("performanceService");
168
+ //needed for the returned function to have the same name as the original - used in hooks decorator
117
169
  const functionWrapper = {
118
170
  [originalMethod.name]: function (...args) {
119
171
  const start = performanceService.now();
@@ -139,12 +191,15 @@ function performanceLog(localInjector) {
139
191
  },
140
192
  };
141
193
  descriptor.value = functionWrapper[originalMethod.name];
194
+ // used to get parameter names in hooks decorator
142
195
  descriptor.value.toString = () => {
143
196
  return originalMethod.toString();
144
197
  };
145
198
  return descriptor;
146
199
  };
147
200
  }
201
+ exports.performanceLog = performanceLog;
202
+ // inspired by https://github.com/NativeScript/NativeScript/blob/55dfe25938569edbec89255008e5ad9804901305/tns-core-modules/globals/globals.ts#L121-L137
148
203
  function deprecated(additionalInfo, localInjector) {
149
204
  const isDeprecatedMessage = " is deprecated.";
150
205
  return (target, key, descriptor) => {
@@ -153,6 +208,7 @@ function deprecated(additionalInfo, localInjector) {
153
208
  const $logger = localInjector.resolve("logger");
154
209
  if (descriptor) {
155
210
  if (descriptor.value) {
211
+ // method
156
212
  const originalMethod = descriptor.value;
157
213
  descriptor.value = function (...args) {
158
214
  $logger.warn(`${key.toString()}${isDeprecatedMessage} ${additionalInfo}`);
@@ -161,6 +217,7 @@ function deprecated(additionalInfo, localInjector) {
161
217
  return descriptor;
162
218
  }
163
219
  else {
220
+ // property
164
221
  if (descriptor.set) {
165
222
  const originalSetter = descriptor.set;
166
223
  descriptor.set = function (...args) {
@@ -179,6 +236,7 @@ function deprecated(additionalInfo, localInjector) {
179
236
  }
180
237
  }
181
238
  else {
239
+ // class
182
240
  $logger.warn(`${(target &&
183
241
  (target.name ||
184
242
  (target.constructor && target.constructor.name))) ||
@@ -187,3 +245,5 @@ function deprecated(additionalInfo, localInjector) {
187
245
  }
188
246
  };
189
247
  }
248
+ exports.deprecated = deprecated;
249
+ //# sourceMappingURL=decorators.js.map
@@ -5,6 +5,15 @@ 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
+ };
8
17
  Object.defineProperty(exports, "__esModule", { value: true });
9
18
  exports.CommandDispatcher = void 0;
10
19
  const _ = require("lodash");
@@ -15,7 +24,9 @@ const yok_1 = require("./yok");
15
24
  const constants_1 = require("../constants");
16
25
  const semver = require("semver");
17
26
  class CommandDispatcher {
18
- constructor($logger, $injector, $cancellation, $commandsService, $staticConfig, $sysInfo, $options, $versionsService, $packageManager, $terminalSpinnerService) {
27
+ constructor($logger,
28
+ // required by the hooksService
29
+ $injector, $cancellation, $commandsService, $staticConfig, $sysInfo, $options, $versionsService, $packageManager, $terminalSpinnerService) {
19
30
  this.$logger = $logger;
20
31
  this.$injector = $injector;
21
32
  this.$cancellation = $cancellation;
@@ -27,108 +38,123 @@ class CommandDispatcher {
27
38
  this.$packageManager = $packageManager;
28
39
  this.$terminalSpinnerService = $terminalSpinnerService;
29
40
  }
30
- async dispatchCommand() {
31
- if (this.$options.version) {
32
- return this.printVersion();
33
- }
34
- if (this.$logger.getLevel() === "TRACE" && !this.$options.json) {
35
- this.$logger.trace("Collecting system information...");
36
- const sysInfo = await this.$sysInfo.getSysInfo({
37
- pathToNativeScriptCliPackageJson: path.join(__dirname, "..", "..", "package.json"),
38
- });
39
- this.$logger.trace("System information:");
40
- this.$logger.trace(JSON.stringify(sysInfo, null, 2));
41
- this.$logger.trace("Current CLI version: ", this.$staticConfig.version);
42
- }
43
- let commandName = this.getCommandName();
44
- let commandArguments = this.$options.argv._.slice(1);
45
- const lastArgument = _.last(commandArguments);
46
- if (this.$options.help) {
47
- commandArguments.unshift(commandName);
48
- commandName = "help";
49
- }
50
- else if (lastArgument === "/?" || lastArgument === "?") {
51
- commandArguments.pop();
52
- commandArguments.unshift(commandName);
53
- commandName = "help";
54
- }
55
- ({
56
- commandName,
57
- commandArguments,
58
- argv: process.argv,
59
- } = await this.resolveCommand(commandName, commandArguments, process.argv));
60
- await this.$cancellation.begin("cli");
61
- await this.$commandsService.tryExecuteCommand(commandName, commandArguments);
41
+ dispatchCommand() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (this.$options.version) {
44
+ return this.printVersion();
45
+ }
46
+ if (this.$logger.getLevel() === "TRACE" && !this.$options.json) {
47
+ // CommandDispatcher is called from external CLI's only, so pass the path to their package.json
48
+ this.$logger.trace("Collecting system information...");
49
+ const sysInfo = yield this.$sysInfo.getSysInfo({
50
+ pathToNativeScriptCliPackageJson: path.join(__dirname, "..", "..", "package.json"),
51
+ });
52
+ this.$logger.trace("System information:");
53
+ this.$logger.trace(JSON.stringify(sysInfo, null, 2));
54
+ this.$logger.trace("Current CLI version: ", this.$staticConfig.version);
55
+ }
56
+ let commandName = this.getCommandName();
57
+ let commandArguments = this.$options.argv._.slice(1);
58
+ const lastArgument = _.last(commandArguments);
59
+ if (this.$options.help) {
60
+ commandArguments.unshift(commandName);
61
+ commandName = "help";
62
+ }
63
+ else if (lastArgument === "/?" || lastArgument === "?") {
64
+ commandArguments.pop();
65
+ commandArguments.unshift(commandName);
66
+ commandName = "help";
67
+ }
68
+ ({
69
+ commandName,
70
+ commandArguments,
71
+ argv: process.argv,
72
+ } = yield this.resolveCommand(commandName, commandArguments, process.argv));
73
+ yield this.$cancellation.begin("cli");
74
+ yield this.$commandsService.tryExecuteCommand(commandName, commandArguments);
75
+ });
62
76
  }
63
- async resolveCommand(commandName, commandArguments, argv) {
64
- return { commandName, commandArguments, argv };
77
+ resolveCommand(commandName, commandArguments, argv) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ // just a hook point
80
+ return { commandName, commandArguments, argv };
81
+ });
65
82
  }
66
83
  getCommandName() {
67
84
  const remaining = this.$options.argv._;
68
85
  if (remaining.length > 0) {
69
86
  return remaining[0].toString().toLowerCase();
70
87
  }
88
+ // if only <CLI_NAME> is specified on console, show console help
71
89
  this.$options.help = true;
72
90
  return "";
73
91
  }
74
- async printVersion() {
75
- this.$logger.info(this.$staticConfig.version);
76
- if (this.$options.json) {
77
- return;
78
- }
79
- const spinner = this.$terminalSpinnerService.createSpinner();
80
- spinner.start("Checking for updates...");
81
- const nativescriptCliVersion = await this.$versionsService.getNativescriptCliVersion();
82
- spinner.stop();
83
- const packageManagerName = await this.$packageManager.getPackageManagerName();
84
- let updateCommand = "";
85
- switch (packageManagerName) {
86
- case constants_1.PackageManagers.yarn:
87
- case constants_1.PackageManagers.yarn2:
88
- updateCommand = "yarn global add nativescript";
89
- break;
90
- case constants_1.PackageManagers.pnpm:
91
- updateCommand = "pnpm i -g nativescript";
92
- break;
93
- case constants_1.PackageManagers.bun:
94
- updateCommand = "bun add --global nativescript";
95
- break;
96
- case constants_1.PackageManagers.npm:
97
- default:
98
- updateCommand = "npm i -g nativescript";
99
- break;
100
- }
101
- if (semver.gte(nativescriptCliVersion.currentVersion, nativescriptCliVersion.latestVersion, {
102
- loose: true,
103
- })) {
104
- spinner.succeed("Up to date.");
105
- }
106
- else {
107
- spinner.info(`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`);
108
- }
92
+ printVersion() {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ this.$logger.info(this.$staticConfig.version);
95
+ if (this.$options.json) {
96
+ // we don't check for updates when --json is passed
97
+ // useful for tools that rely on the output of the command
98
+ return;
99
+ }
100
+ const spinner = this.$terminalSpinnerService.createSpinner();
101
+ spinner.start("Checking for updates...");
102
+ const nativescriptCliVersion = yield this.$versionsService.getNativescriptCliVersion();
103
+ spinner.stop();
104
+ const packageManagerName = yield this.$packageManager.getPackageManagerName();
105
+ let updateCommand = "";
106
+ switch (packageManagerName) {
107
+ case constants_1.PackageManagers.yarn:
108
+ case constants_1.PackageManagers.yarn2:
109
+ updateCommand = "yarn global add nativescript";
110
+ break;
111
+ case constants_1.PackageManagers.pnpm:
112
+ updateCommand = "pnpm i -g nativescript";
113
+ break;
114
+ case constants_1.PackageManagers.bun:
115
+ updateCommand = "bun add --global nativescript";
116
+ break;
117
+ case constants_1.PackageManagers.npm:
118
+ default:
119
+ updateCommand = "npm i -g nativescript";
120
+ break;
121
+ }
122
+ if (semver.gte(nativescriptCliVersion.currentVersion, nativescriptCliVersion.latestVersion, {
123
+ loose: true,
124
+ })) {
125
+ // up-to-date
126
+ spinner.succeed("Up to date.");
127
+ }
128
+ else {
129
+ spinner.info(`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`);
130
+ }
131
+ });
109
132
  }
110
133
  }
111
- exports.CommandDispatcher = CommandDispatcher;
112
134
  __decorate([
113
135
  (0, helpers_1.hook)("resolveCommand")
114
136
  ], CommandDispatcher.prototype, "resolveCommand", null);
137
+ exports.CommandDispatcher = CommandDispatcher;
115
138
  yok_1.injector.register("commandDispatcher", CommandDispatcher);
116
139
  class FutureDispatcher {
117
140
  constructor($errors) {
118
141
  this.$errors = $errors;
119
142
  }
120
- async run() {
121
- if (this.actions) {
122
- this.$errors.fail("You cannot run a running future dispatcher.");
123
- }
124
- this.actions = new queue.Queue();
125
- while (true) {
126
- const action = await this.actions.dequeue();
127
- await action();
128
- }
143
+ run() {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ if (this.actions) {
146
+ this.$errors.fail("You cannot run a running future dispatcher.");
147
+ }
148
+ this.actions = new queue.Queue();
149
+ while (true) {
150
+ const action = yield this.actions.dequeue();
151
+ yield action();
152
+ }
153
+ });
129
154
  }
130
155
  dispatch(action) {
131
156
  this.actions.enqueue(action);
132
157
  }
133
158
  }
134
159
  yok_1.injector.register("dispatcher", FutureDispatcher, false);
160
+ //# sourceMappingURL=dispatchers.js.map