nativescript 8.9.0-dev.2 → 8.9.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.CreateProjectCommand = void 0;
13
4
  const constants = require("../constants");
@@ -27,141 +18,135 @@ class CreateProjectCommand {
27
18
  this.allowedParameters = [this.$stringParameter];
28
19
  this.isInteractionIntroShown = false;
29
20
  }
30
- execute(args) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const interactiveAdverbs = ["First", "Next", "Finally"];
33
- const getNextInteractiveAdverb = () => {
34
- return interactiveAdverbs.shift() || "Next";
35
- };
36
- if ((this.$options.tsc ||
37
- this.$options.ng ||
38
- this.$options.vue ||
39
- this.$options.react ||
40
- this.$options.solid ||
41
- this.$options.svelte ||
42
- this.$options.js) &&
43
- this.$options.template) {
44
- this.$errors.failWithHelp("You cannot use a flavor option like --ng, --vue, --react, --solid, --svelte, --tsc and --js together with --template.");
45
- }
46
- let projectName = args[0];
47
- let selectedTemplate;
48
- if (this.$options["vision-ng"] ||
49
- (this.$options.vision && this.$options.ng)) {
50
- selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-ng"];
51
- }
52
- else if (this.$options["vision-react"] ||
53
- (this.$options.vision && this.$options.react)) {
54
- selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-react"];
55
- }
56
- else if (this.$options["vision-solid"] ||
57
- (this.$options.vision && this.$options.solid)) {
58
- selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-solid"];
59
- }
60
- else if (this.$options["vision-svelte"] ||
61
- (this.$options.vision && this.$options.svelte)) {
62
- selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-svelte"];
63
- }
64
- else if (this.$options["vision-vue"] ||
65
- (this.$options.vision && (this.$options.vue || this.$options.vuejs))) {
66
- selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-vue"];
67
- }
68
- else if ((this.$options.vue || this.$options.vuejs) &&
69
- this.$options.tsc) {
70
- selectedTemplate = "@nativescript/template-blank-vue-ts";
71
- }
72
- else if (this.$options.vision) {
73
- selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision"];
74
- }
75
- else if (this.$options.js) {
76
- selectedTemplate = constants.JAVASCRIPT_NAME;
77
- }
78
- else if (this.$options.tsc) {
79
- selectedTemplate = constants.TYPESCRIPT_NAME;
80
- }
81
- else if (this.$options.ng) {
82
- selectedTemplate = constants.ANGULAR_NAME;
83
- }
84
- else if (this.$options.vue || this.$options.vuejs) {
85
- selectedTemplate = constants.VUE_NAME;
86
- }
87
- else if (this.$options.solid) {
88
- selectedTemplate = constants.SOLID_NAME;
89
- }
90
- else if (this.$options.react) {
91
- selectedTemplate = constants.REACT_NAME;
92
- }
93
- else if (this.$options.svelte) {
94
- selectedTemplate = constants.SVELTE_NAME;
95
- }
96
- else {
97
- selectedTemplate = this.$options.template;
98
- }
99
- if (!projectName && (0, helpers_1.isInteractive)()) {
100
- this.printInteractiveCreationIntroIfNeeded();
101
- projectName = yield this.$prompter.getString(`${getNextInteractiveAdverb()}, what will be the name of your app?`, { allowEmpty: false });
102
- this.$logger.info();
103
- }
104
- projectName = yield this.$projectService.validateProjectName({
105
- projectName: projectName,
106
- force: this.$options.force,
107
- pathToProject: this.$options.path,
108
- });
109
- if (!selectedTemplate && (0, helpers_1.isInteractive)()) {
110
- this.printInteractiveCreationIntroIfNeeded();
111
- selectedTemplate = yield this.interactiveFlavorAndTemplateSelection(getNextInteractiveAdverb(), getNextInteractiveAdverb());
112
- }
113
- this.createdProjectData = yield this.$projectService.createProject({
114
- projectName: projectName,
115
- template: selectedTemplate,
116
- appId: this.$options.appid,
117
- pathToProject: this.$options.path,
118
- // its already validated above
119
- force: true,
120
- ignoreScripts: this.$options.ignoreScripts,
121
- });
21
+ async execute(args) {
22
+ const interactiveAdverbs = ["First", "Next", "Finally"];
23
+ const getNextInteractiveAdverb = () => {
24
+ return interactiveAdverbs.shift() || "Next";
25
+ };
26
+ if ((this.$options.tsc ||
27
+ this.$options.ng ||
28
+ this.$options.vue ||
29
+ this.$options.react ||
30
+ this.$options.solid ||
31
+ this.$options.svelte ||
32
+ this.$options.js) &&
33
+ this.$options.template) {
34
+ this.$errors.failWithHelp("You cannot use a flavor option like --ng, --vue, --react, --solid, --svelte, --tsc and --js together with --template.");
35
+ }
36
+ let projectName = args[0];
37
+ let selectedTemplate;
38
+ if (this.$options["vision-ng"] ||
39
+ (this.$options.vision && this.$options.ng)) {
40
+ selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-ng"];
41
+ }
42
+ else if (this.$options["vision-react"] ||
43
+ (this.$options.vision && this.$options.react)) {
44
+ selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-react"];
45
+ }
46
+ else if (this.$options["vision-solid"] ||
47
+ (this.$options.vision && this.$options.solid)) {
48
+ selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-solid"];
49
+ }
50
+ else if (this.$options["vision-svelte"] ||
51
+ (this.$options.vision && this.$options.svelte)) {
52
+ selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-svelte"];
53
+ }
54
+ else if (this.$options["vision-vue"] ||
55
+ (this.$options.vision && (this.$options.vue || this.$options.vuejs))) {
56
+ selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision-vue"];
57
+ }
58
+ else if ((this.$options.vue || this.$options.vuejs) &&
59
+ this.$options.tsc) {
60
+ selectedTemplate = "@nativescript/template-blank-vue-ts";
61
+ }
62
+ else if (this.$options.vision) {
63
+ selectedTemplate = constants.RESERVED_TEMPLATE_NAMES["vision"];
64
+ }
65
+ else if (this.$options.js) {
66
+ selectedTemplate = constants.JAVASCRIPT_NAME;
67
+ }
68
+ else if (this.$options.tsc) {
69
+ selectedTemplate = constants.TYPESCRIPT_NAME;
70
+ }
71
+ else if (this.$options.ng) {
72
+ selectedTemplate = constants.ANGULAR_NAME;
73
+ }
74
+ else if (this.$options.vue || this.$options.vuejs) {
75
+ selectedTemplate = constants.VUE_NAME;
76
+ }
77
+ else if (this.$options.solid) {
78
+ selectedTemplate = constants.SOLID_NAME;
79
+ }
80
+ else if (this.$options.react) {
81
+ selectedTemplate = constants.REACT_NAME;
82
+ }
83
+ else if (this.$options.svelte) {
84
+ selectedTemplate = constants.SVELTE_NAME;
85
+ }
86
+ else {
87
+ selectedTemplate = this.$options.template;
88
+ }
89
+ if (!projectName && (0, helpers_1.isInteractive)()) {
90
+ this.printInteractiveCreationIntroIfNeeded();
91
+ projectName = await this.$prompter.getString(`${getNextInteractiveAdverb()}, what will be the name of your app?`, { allowEmpty: false });
92
+ this.$logger.info();
93
+ }
94
+ projectName = await this.$projectService.validateProjectName({
95
+ projectName: projectName,
96
+ force: this.$options.force,
97
+ pathToProject: this.$options.path,
122
98
  });
123
- }
124
- interactiveFlavorAndTemplateSelection(flavorAdverb, templateAdverb) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- const selectedFlavor = yield this.interactiveFlavorSelection(flavorAdverb);
127
- const selectedTemplate = yield this.interactiveTemplateSelection(selectedFlavor, templateAdverb);
128
- return selectedTemplate;
99
+ if (!selectedTemplate && (0, helpers_1.isInteractive)()) {
100
+ this.printInteractiveCreationIntroIfNeeded();
101
+ selectedTemplate = await this.interactiveFlavorAndTemplateSelection(getNextInteractiveAdverb(), getNextInteractiveAdverb());
102
+ }
103
+ this.createdProjectData = await this.$projectService.createProject({
104
+ projectName: projectName,
105
+ template: selectedTemplate,
106
+ appId: this.$options.appid,
107
+ pathToProject: this.$options.path,
108
+ // its already validated above
109
+ force: true,
110
+ ignoreScripts: this.$options.ignoreScripts,
129
111
  });
130
112
  }
131
- interactiveFlavorSelection(adverb) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const flavorSelection = yield this.$prompter.promptForDetailedChoice(`${adverb}, which style of NativeScript project would you like to use:`, [
134
- {
135
- key: constants.NgFlavorName,
136
- description: "Learn more at https://nativescript.org/angular",
137
- },
138
- {
139
- key: constants.ReactFlavorName,
140
- description: "Learn more at https://github.com/shirakaba/react-nativescript",
141
- },
142
- {
143
- key: constants.VueFlavorName,
144
- description: "Learn more at https://nativescript.org/vue",
145
- },
146
- {
147
- key: constants.SolidFlavorName,
148
- description: "Learn more at https://www.solidjs.com",
149
- },
150
- {
151
- key: constants.SvelteFlavorName,
152
- description: "Learn more at https://svelte-native.technology",
153
- },
154
- {
155
- key: constants.TsFlavorName,
156
- description: "Learn more at https://nativescript.org/typescript",
157
- },
158
- {
159
- key: constants.JsFlavorName,
160
- description: "Use NativeScript without any framework",
161
- },
162
- ]);
163
- return flavorSelection;
164
- });
113
+ async interactiveFlavorAndTemplateSelection(flavorAdverb, templateAdverb) {
114
+ const selectedFlavor = await this.interactiveFlavorSelection(flavorAdverb);
115
+ const selectedTemplate = await this.interactiveTemplateSelection(selectedFlavor, templateAdverb);
116
+ return selectedTemplate;
117
+ }
118
+ async interactiveFlavorSelection(adverb) {
119
+ const flavorSelection = await this.$prompter.promptForDetailedChoice(`${adverb}, which style of NativeScript project would you like to use:`, [
120
+ {
121
+ key: constants.NgFlavorName,
122
+ description: "Learn more at https://nativescript.org/angular",
123
+ },
124
+ {
125
+ key: constants.ReactFlavorName,
126
+ description: "Learn more at https://github.com/shirakaba/react-nativescript",
127
+ },
128
+ {
129
+ key: constants.VueFlavorName,
130
+ description: "Learn more at https://nativescript.org/vue",
131
+ },
132
+ {
133
+ key: constants.SolidFlavorName,
134
+ description: "Learn more at https://www.solidjs.com",
135
+ },
136
+ {
137
+ key: constants.SvelteFlavorName,
138
+ description: "Learn more at https://svelte-native.technology",
139
+ },
140
+ {
141
+ key: constants.TsFlavorName,
142
+ description: "Learn more at https://nativescript.org/typescript",
143
+ },
144
+ {
145
+ key: constants.JsFlavorName,
146
+ description: "Use NativeScript without any framework",
147
+ },
148
+ ]);
149
+ return flavorSelection;
165
150
  }
166
151
  printInteractiveCreationIntroIfNeeded() {
167
152
  if (!this.isInteractionIntroShown) {
@@ -174,53 +159,51 @@ can skip this prompt next time using the --template option, or using --ng, --rea
174
159
  `);
175
160
  }
176
161
  }
177
- interactiveTemplateSelection(flavorSelection, adverb) {
178
- return __awaiter(this, void 0, void 0, function* () {
179
- const selectedFlavorTemplates = [];
180
- let selectedTemplate;
181
- switch (flavorSelection) {
182
- case constants.NgFlavorName: {
183
- selectedFlavorTemplates.push(...this.getNgTemplates());
184
- break;
185
- }
186
- case constants.ReactFlavorName: {
187
- selectedFlavorTemplates.push(...this.getReactTemplates());
188
- break;
189
- }
190
- case constants.VueFlavorName: {
191
- selectedFlavorTemplates.push(...this.getVueTemplates());
192
- break;
193
- }
194
- case constants.SolidFlavorName: {
195
- selectedFlavorTemplates.push(...this.getSolidTemplates());
196
- break;
197
- }
198
- case constants.SvelteFlavorName: {
199
- selectedFlavorTemplates.push(...this.getSvelteTemplates());
200
- break;
201
- }
202
- case constants.TsFlavorName: {
203
- selectedFlavorTemplates.push(...this.getTsTemplates());
204
- break;
205
- }
206
- case constants.JsFlavorName: {
207
- selectedFlavorTemplates.push(...this.getJsTemplates());
208
- break;
209
- }
162
+ async interactiveTemplateSelection(flavorSelection, adverb) {
163
+ const selectedFlavorTemplates = [];
164
+ let selectedTemplate;
165
+ switch (flavorSelection) {
166
+ case constants.NgFlavorName: {
167
+ selectedFlavorTemplates.push(...this.getNgTemplates());
168
+ break;
210
169
  }
211
- if (selectedFlavorTemplates.length > 1) {
212
- this.$logger.info();
213
- const templateChoices = selectedFlavorTemplates.map((template) => {
214
- return { key: template.key, description: template.description };
215
- });
216
- const selectedTemplateKey = yield this.$prompter.promptForDetailedChoice(`${adverb}, which template would you like to start from:`, templateChoices);
217
- selectedTemplate = selectedFlavorTemplates.find((t) => t.key === selectedTemplateKey).value;
170
+ case constants.ReactFlavorName: {
171
+ selectedFlavorTemplates.push(...this.getReactTemplates());
172
+ break;
218
173
  }
219
- else {
220
- selectedTemplate = selectedFlavorTemplates[0].value;
174
+ case constants.VueFlavorName: {
175
+ selectedFlavorTemplates.push(...this.getVueTemplates());
176
+ break;
221
177
  }
222
- return selectedTemplate;
223
- });
178
+ case constants.SolidFlavorName: {
179
+ selectedFlavorTemplates.push(...this.getSolidTemplates());
180
+ break;
181
+ }
182
+ case constants.SvelteFlavorName: {
183
+ selectedFlavorTemplates.push(...this.getSvelteTemplates());
184
+ break;
185
+ }
186
+ case constants.TsFlavorName: {
187
+ selectedFlavorTemplates.push(...this.getTsTemplates());
188
+ break;
189
+ }
190
+ case constants.JsFlavorName: {
191
+ selectedFlavorTemplates.push(...this.getJsTemplates());
192
+ break;
193
+ }
194
+ }
195
+ if (selectedFlavorTemplates.length > 1) {
196
+ this.$logger.info();
197
+ const templateChoices = selectedFlavorTemplates.map((template) => {
198
+ return { key: template.key, description: template.description };
199
+ });
200
+ const selectedTemplateKey = await this.$prompter.promptForDetailedChoice(`${adverb}, which template would you like to start from:`, templateChoices);
201
+ selectedTemplate = selectedFlavorTemplates.find((t) => t.key === selectedTemplateKey).value;
202
+ }
203
+ else {
204
+ selectedTemplate = selectedFlavorTemplates[0].value;
205
+ }
206
+ return selectedTemplate;
224
207
  }
225
208
  getJsTemplates() {
226
209
  const templates = [
@@ -372,59 +355,58 @@ can skip this prompt next time using the --template option, or using --ng, --rea
372
355
  ];
373
356
  return templates;
374
357
  }
375
- postCommandAction(args) {
376
- return __awaiter(this, void 0, void 0, function* () {
377
- const { projectDir, projectName } = this.createdProjectData;
378
- const relativePath = path.relative(process.cwd(), projectDir);
379
- const greyDollarSign = color_1.color.grey("$");
380
- this.$logger.clearScreen();
381
- let runDebugNotes = [];
382
- if (this.$options.vision ||
383
- this.$options["vision-ng"] ||
384
- this.$options["vision-react"] ||
385
- this.$options["vision-solid"] ||
386
- this.$options["vision-svelte"] ||
387
- this.$options["vision-vue"]) {
388
- runDebugNotes = [
389
- `Run the project on Vision Pro with:`,
390
- "",
391
- ` ${greyDollarSign} ${color_1.color.green("ns run visionos --no-hmr")}`,
392
- ];
393
- }
394
- else {
395
- runDebugNotes = [
396
- `Run the project on multiple devices:`,
397
- "",
398
- ` ${greyDollarSign} ${color_1.color.green("ns run ios")}`,
399
- ` ${greyDollarSign} ${color_1.color.green("ns run android")}`,
400
- "",
401
- "Debug the project with Chrome DevTools:",
402
- "",
403
- ` ${greyDollarSign} ${color_1.color.green("ns debug ios")}`,
404
- ` ${greyDollarSign} ${color_1.color.green("ns debug android")}`,
405
- ];
406
- }
407
- this.$logger.info([
408
- [
409
- color_1.color.green(`Project`),
410
- color_1.color.cyan(projectName),
411
- color_1.color.green(`was successfully created.`),
412
- ].join(" "),
358
+ async postCommandAction(args) {
359
+ const { projectDir, projectName } = this.createdProjectData;
360
+ const relativePath = path.relative(process.cwd(), projectDir);
361
+ const greyDollarSign = color_1.color.grey("$");
362
+ this.$logger.clearScreen();
363
+ let runDebugNotes = [];
364
+ if (this.$options.vision ||
365
+ this.$options["vision-ng"] ||
366
+ this.$options["vision-react"] ||
367
+ this.$options["vision-solid"] ||
368
+ this.$options["vision-svelte"] ||
369
+ this.$options["vision-vue"]) {
370
+ runDebugNotes = [
371
+ `Run the project on Vision Pro with:`,
413
372
  "",
414
- `Now you can navigate to your project with ${color_1.color.cyan(`cd ${relativePath}`)} and then:`,
373
+ ` ${greyDollarSign} ${color_1.color.green("ns run visionos --no-hmr")}`,
374
+ ];
375
+ }
376
+ else {
377
+ runDebugNotes = [
378
+ `Run the project on multiple devices:`,
415
379
  "",
416
- ...runDebugNotes,
417
- ``,
418
- `For more options consult the docs or run ${color_1.color.green("ns --help")}`,
380
+ ` ${greyDollarSign} ${color_1.color.green("ns run ios")}`,
381
+ ` ${greyDollarSign} ${color_1.color.green("ns run android")}`,
419
382
  "",
420
- ].join("\n"));
421
- // todo: add back ns preview
422
- // this.$logger.printMarkdown(
423
- // `After that you can preview it on device by executing \`$ ns preview\``
424
- // );
425
- });
383
+ "Debug the project with Chrome DevTools:",
384
+ "",
385
+ ` ${greyDollarSign} ${color_1.color.green("ns debug ios")}`,
386
+ ` ${greyDollarSign} ${color_1.color.green("ns debug android")}`,
387
+ ];
388
+ }
389
+ this.$logger.info([
390
+ [
391
+ color_1.color.green(`Project`),
392
+ color_1.color.cyan(projectName),
393
+ color_1.color.green(`was successfully created.`),
394
+ ].join(" "),
395
+ "",
396
+ `Now you can navigate to your project with ${color_1.color.cyan(`cd ${relativePath}`)} and then:`,
397
+ "",
398
+ ...runDebugNotes,
399
+ ``,
400
+ `For more options consult the docs or run ${color_1.color.green("ns --help")}`,
401
+ "",
402
+ ].join("\n"));
403
+ // todo: add back ns preview
404
+ // this.$logger.printMarkdown(
405
+ // `After that you can preview it on device by executing \`$ ns preview\``
406
+ // );
426
407
  }
427
408
  }
409
+ exports.CreateProjectCommand = CreateProjectCommand;
428
410
  CreateProjectCommand.BlankTemplateKey = "Blank";
429
411
  CreateProjectCommand.BlankTemplateDescription = "A blank app";
430
412
  CreateProjectCommand.BlankTsTemplateKey = "Blank Typescript";
@@ -437,6 +419,5 @@ CreateProjectCommand.DrawerTemplateKey = "SideDrawer";
437
419
  CreateProjectCommand.DrawerTemplateDescription = "An app with pre-built pages that uses a drawer for navigation";
438
420
  CreateProjectCommand.TabsTemplateKey = "Tabs";
439
421
  CreateProjectCommand.TabsTemplateDescription = "An app with pre-built pages that uses tabs for navigation";
440
- exports.CreateProjectCommand = CreateProjectCommand;
441
422
  yok_1.injector.registerCommand("create", CreateProjectCommand);
442
423
  //# sourceMappingURL=create-project.js.map