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.CreateProjectCommand = void 0;
13
4
  const constants = require("../constants");
@@ -27,140 +18,134 @@ 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
- force: true,
119
- ignoreScripts: this.$options.ignoreScripts,
120
- });
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,
121
98
  });
122
- }
123
- interactiveFlavorAndTemplateSelection(flavorAdverb, templateAdverb) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const selectedFlavor = yield this.interactiveFlavorSelection(flavorAdverb);
126
- const selectedTemplate = yield this.interactiveTemplateSelection(selectedFlavor, templateAdverb);
127
- 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
+ force: true,
109
+ ignoreScripts: this.$options.ignoreScripts,
128
110
  });
129
111
  }
130
- interactiveFlavorSelection(adverb) {
131
- return __awaiter(this, void 0, void 0, function* () {
132
- const flavorSelection = yield this.$prompter.promptForDetailedChoice(`${adverb}, which style of NativeScript project would you like to use:`, [
133
- {
134
- key: constants.NgFlavorName,
135
- description: "Learn more at https://nativescript.org/angular",
136
- },
137
- {
138
- key: constants.ReactFlavorName,
139
- description: "Learn more at https://github.com/shirakaba/react-nativescript",
140
- },
141
- {
142
- key: constants.VueFlavorName,
143
- description: "Learn more at https://nativescript.org/vue",
144
- },
145
- {
146
- key: constants.SolidFlavorName,
147
- description: "Learn more at https://www.solidjs.com",
148
- },
149
- {
150
- key: constants.SvelteFlavorName,
151
- description: "Learn more at https://svelte-native.technology",
152
- },
153
- {
154
- key: constants.TsFlavorName,
155
- description: "Learn more at https://nativescript.org/typescript",
156
- },
157
- {
158
- key: constants.JsFlavorName,
159
- description: "Use NativeScript without any framework",
160
- },
161
- ]);
162
- return flavorSelection;
163
- });
112
+ async interactiveFlavorAndTemplateSelection(flavorAdverb, templateAdverb) {
113
+ const selectedFlavor = await this.interactiveFlavorSelection(flavorAdverb);
114
+ const selectedTemplate = await this.interactiveTemplateSelection(selectedFlavor, templateAdverb);
115
+ return selectedTemplate;
116
+ }
117
+ async interactiveFlavorSelection(adverb) {
118
+ const flavorSelection = await this.$prompter.promptForDetailedChoice(`${adverb}, which style of NativeScript project would you like to use:`, [
119
+ {
120
+ key: constants.NgFlavorName,
121
+ description: "Learn more at https://nativescript.org/angular",
122
+ },
123
+ {
124
+ key: constants.ReactFlavorName,
125
+ description: "Learn more at https://github.com/shirakaba/react-nativescript",
126
+ },
127
+ {
128
+ key: constants.VueFlavorName,
129
+ description: "Learn more at https://nativescript.org/vue",
130
+ },
131
+ {
132
+ key: constants.SolidFlavorName,
133
+ description: "Learn more at https://www.solidjs.com",
134
+ },
135
+ {
136
+ key: constants.SvelteFlavorName,
137
+ description: "Learn more at https://svelte-native.technology",
138
+ },
139
+ {
140
+ key: constants.TsFlavorName,
141
+ description: "Learn more at https://nativescript.org/typescript",
142
+ },
143
+ {
144
+ key: constants.JsFlavorName,
145
+ description: "Use NativeScript without any framework",
146
+ },
147
+ ]);
148
+ return flavorSelection;
164
149
  }
165
150
  printInteractiveCreationIntroIfNeeded() {
166
151
  if (!this.isInteractionIntroShown) {
@@ -169,57 +154,55 @@ class CreateProjectCommand {
169
154
  this.$logger.printMarkdown(`# Let’s create a NativeScript app!`);
170
155
  this.$logger.printMarkdown(`
171
156
  Answer the following questions to help us build the right app for you. (Note: you
172
- can skip this prompt next time using the --template option, or the --ng, --react, --vue, --svelte, --ts, or --js flags.)
157
+ can skip this prompt next time using the --template option, or using --ng, --react, --solid, --svelte, --vue, --ts, or --js flags.)
173
158
  `);
174
159
  }
175
160
  }
176
- interactiveTemplateSelection(flavorSelection, adverb) {
177
- return __awaiter(this, void 0, void 0, function* () {
178
- const selectedFlavorTemplates = [];
179
- let selectedTemplate;
180
- switch (flavorSelection) {
181
- case constants.NgFlavorName: {
182
- selectedFlavorTemplates.push(...this.getNgTemplates());
183
- break;
184
- }
185
- case constants.ReactFlavorName: {
186
- selectedFlavorTemplates.push(...this.getReactTemplates());
187
- break;
188
- }
189
- case constants.VueFlavorName: {
190
- selectedFlavorTemplates.push(...this.getVueTemplates());
191
- break;
192
- }
193
- case constants.SolidFlavorName: {
194
- selectedFlavorTemplates.push(...this.getSolidTemplates());
195
- break;
196
- }
197
- case constants.SvelteFlavorName: {
198
- selectedFlavorTemplates.push(...this.getSvelteTemplates());
199
- break;
200
- }
201
- case constants.TsFlavorName: {
202
- selectedFlavorTemplates.push(...this.getTsTemplates());
203
- break;
204
- }
205
- case constants.JsFlavorName: {
206
- selectedFlavorTemplates.push(...this.getJsTemplates());
207
- break;
208
- }
161
+ async interactiveTemplateSelection(flavorSelection, adverb) {
162
+ const selectedFlavorTemplates = [];
163
+ let selectedTemplate;
164
+ switch (flavorSelection) {
165
+ case constants.NgFlavorName: {
166
+ selectedFlavorTemplates.push(...this.getNgTemplates());
167
+ break;
209
168
  }
210
- if (selectedFlavorTemplates.length > 1) {
211
- this.$logger.info();
212
- const templateChoices = selectedFlavorTemplates.map((template) => {
213
- return { key: template.key, description: template.description };
214
- });
215
- const selectedTemplateKey = yield this.$prompter.promptForDetailedChoice(`${adverb}, which template would you like to start from:`, templateChoices);
216
- selectedTemplate = selectedFlavorTemplates.find((t) => t.key === selectedTemplateKey).value;
169
+ case constants.ReactFlavorName: {
170
+ selectedFlavorTemplates.push(...this.getReactTemplates());
171
+ break;
217
172
  }
218
- else {
219
- selectedTemplate = selectedFlavorTemplates[0].value;
173
+ case constants.VueFlavorName: {
174
+ selectedFlavorTemplates.push(...this.getVueTemplates());
175
+ break;
220
176
  }
221
- return selectedTemplate;
222
- });
177
+ case constants.SolidFlavorName: {
178
+ selectedFlavorTemplates.push(...this.getSolidTemplates());
179
+ break;
180
+ }
181
+ case constants.SvelteFlavorName: {
182
+ selectedFlavorTemplates.push(...this.getSvelteTemplates());
183
+ break;
184
+ }
185
+ case constants.TsFlavorName: {
186
+ selectedFlavorTemplates.push(...this.getTsTemplates());
187
+ break;
188
+ }
189
+ case constants.JsFlavorName: {
190
+ selectedFlavorTemplates.push(...this.getJsTemplates());
191
+ break;
192
+ }
193
+ }
194
+ if (selectedFlavorTemplates.length > 1) {
195
+ this.$logger.info();
196
+ const templateChoices = selectedFlavorTemplates.map((template) => {
197
+ return { key: template.key, description: template.description };
198
+ });
199
+ const selectedTemplateKey = await this.$prompter.promptForDetailedChoice(`${adverb}, which template would you like to start from:`, templateChoices);
200
+ selectedTemplate = selectedFlavorTemplates.find((t) => t.key === selectedTemplateKey).value;
201
+ }
202
+ else {
203
+ selectedTemplate = selectedFlavorTemplates[0].value;
204
+ }
205
+ return selectedTemplate;
223
206
  }
224
207
  getJsTemplates() {
225
208
  const templates = [
@@ -371,55 +354,54 @@ can skip this prompt next time using the --template option, or the --ng, --react
371
354
  ];
372
355
  return templates;
373
356
  }
374
- postCommandAction(args) {
375
- return __awaiter(this, void 0, void 0, function* () {
376
- const { projectDir, projectName } = this.createdProjectData;
377
- const relativePath = path.relative(process.cwd(), projectDir);
378
- const greyDollarSign = color_1.color.grey("$");
379
- this.$logger.clearScreen();
380
- let runDebugNotes = [];
381
- if (this.$options.vision ||
382
- this.$options["vision-ng"] ||
383
- this.$options["vision-react"] ||
384
- this.$options["vision-solid"] ||
385
- this.$options["vision-svelte"] ||
386
- this.$options["vision-vue"]) {
387
- runDebugNotes = [
388
- `Run the project on Vision Pro with:`,
389
- "",
390
- ` ${greyDollarSign} ${color_1.color.green("ns run visionos --no-hmr")}`,
391
- ];
392
- }
393
- else {
394
- runDebugNotes = [
395
- `Run the project on multiple devices:`,
396
- "",
397
- ` ${greyDollarSign} ${color_1.color.green("ns run ios")}`,
398
- ` ${greyDollarSign} ${color_1.color.green("ns run android")}`,
399
- "",
400
- "Debug the project with Chrome DevTools:",
401
- "",
402
- ` ${greyDollarSign} ${color_1.color.green("ns debug ios")}`,
403
- ` ${greyDollarSign} ${color_1.color.green("ns debug android")}`,
404
- ];
405
- }
406
- this.$logger.info([
407
- [
408
- color_1.color.green(`Project`),
409
- color_1.color.cyan(projectName),
410
- color_1.color.green(`was successfully created.`),
411
- ].join(" "),
357
+ async postCommandAction(args) {
358
+ const { projectDir, projectName } = this.createdProjectData;
359
+ const relativePath = path.relative(process.cwd(), projectDir);
360
+ const greyDollarSign = color_1.color.grey("$");
361
+ this.$logger.clearScreen();
362
+ let runDebugNotes = [];
363
+ if (this.$options.vision ||
364
+ this.$options["vision-ng"] ||
365
+ this.$options["vision-react"] ||
366
+ this.$options["vision-solid"] ||
367
+ this.$options["vision-svelte"] ||
368
+ this.$options["vision-vue"]) {
369
+ runDebugNotes = [
370
+ `Run the project on Vision Pro with:`,
412
371
  "",
413
- `Now you can navigate to your project with ${color_1.color.cyan(`cd ${relativePath}`)} and then:`,
372
+ ` ${greyDollarSign} ${color_1.color.green("ns run visionos --no-hmr")}`,
373
+ ];
374
+ }
375
+ else {
376
+ runDebugNotes = [
377
+ `Run the project on multiple devices:`,
414
378
  "",
415
- ...runDebugNotes,
416
- ``,
417
- `For more options consult the docs or run ${color_1.color.green("ns --help")}`,
379
+ ` ${greyDollarSign} ${color_1.color.green("ns run ios")}`,
380
+ ` ${greyDollarSign} ${color_1.color.green("ns run android")}`,
418
381
  "",
419
- ].join("\n"));
420
- });
382
+ "Debug the project with Chrome DevTools:",
383
+ "",
384
+ ` ${greyDollarSign} ${color_1.color.green("ns debug ios")}`,
385
+ ` ${greyDollarSign} ${color_1.color.green("ns debug android")}`,
386
+ ];
387
+ }
388
+ this.$logger.info([
389
+ [
390
+ color_1.color.green(`Project`),
391
+ color_1.color.cyan(projectName),
392
+ color_1.color.green(`was successfully created.`),
393
+ ].join(" "),
394
+ "",
395
+ `Now you can navigate to your project with ${color_1.color.cyan(`cd ${relativePath}`)} and then:`,
396
+ "",
397
+ ...runDebugNotes,
398
+ ``,
399
+ `For more options consult the docs or run ${color_1.color.green("ns --help")}`,
400
+ "",
401
+ ].join("\n"));
421
402
  }
422
403
  }
404
+ exports.CreateProjectCommand = CreateProjectCommand;
423
405
  CreateProjectCommand.BlankTemplateKey = "Blank";
424
406
  CreateProjectCommand.BlankTemplateDescription = "A blank app";
425
407
  CreateProjectCommand.BlankTsTemplateKey = "Blank Typescript";
@@ -432,5 +414,4 @@ CreateProjectCommand.DrawerTemplateKey = "SideDrawer";
432
414
  CreateProjectCommand.DrawerTemplateDescription = "An app with pre-built pages that uses a drawer for navigation";
433
415
  CreateProjectCommand.TabsTemplateKey = "Tabs";
434
416
  CreateProjectCommand.TabsTemplateDescription = "An app with pre-built pages that uses tabs for navigation";
435
- exports.CreateProjectCommand = CreateProjectCommand;
436
417
  yok_1.injector.registerCommand("create", CreateProjectCommand);