feat(ui): add Vue selection support
Add Vue integration via Vite and update UI prompts and metadata- New Features - Introduce `use_vue` flag and corresponding UI confirmation - Expose `get_vue_choice()` method and propagate selection through metadata - Add console output for Vue confirmation in final summary - Enhancements - Update step ordering and comments to reflect Vue/Vite handling - Adjust data flow in code to include Vue option consistently - Bug Fixes - None
This commit is contained in:
1 file changed
+14
-1
+14
-1
@@ -27,6 +27,7 @@ class StructureOptions(TypedDict):
|
||||
use_htmx: bool
|
||||
use_docker: bool
|
||||
use_vite: bool
|
||||
use_vue: bool
|
||||
use_pytest: bool
|
||||
use_github: bool
|
||||
use_gitlab: bool
|
||||
@@ -188,6 +189,9 @@ class InputCollector:
|
||||
def get_vite_choice(self) -> bool:
|
||||
return UIFormatter.confirm("Include Vite/React? (via django-vite)", default=True)
|
||||
|
||||
def get_vue_choice(self) -> bool:
|
||||
return UIFormatter.confirm("Include Vite/Vue? (via django-vite)", default=True)
|
||||
|
||||
def get_pytest_choice(self) -> bool:
|
||||
return UIFormatter.confirm("Include pytest testing framework? (pytest, coverage)", default=True)
|
||||
|
||||
@@ -217,6 +221,7 @@ class InputCollector:
|
||||
use_htmx=options.get("use_htmx", False),
|
||||
use_docker=options.get("use_docker", False),
|
||||
use_vite=options.get("use_vite", False),
|
||||
use_vue=options.get("use_vue", False),
|
||||
use_pytest=options.get("use_pytest", False),
|
||||
predefined_structure=options["predefined"],
|
||||
unified_structure=options["unified"],
|
||||
@@ -285,7 +290,10 @@ def get_user_input() -> Tuple[str, str, str, list, dict]:
|
||||
# Step 5: Vite/React
|
||||
use_vite = collector.get_vite_choice()
|
||||
|
||||
# Step 6: pytest
|
||||
# Step 6: Vite/Vue
|
||||
use_vue = collector.get_vue_choice()
|
||||
|
||||
# Step 7: pytest
|
||||
use_pytest = collector.get_pytest_choice()
|
||||
|
||||
# Step 3: Django Apps (Standard only)
|
||||
@@ -315,6 +323,7 @@ def get_user_input() -> Tuple[str, str, str, list, dict]:
|
||||
use_htmx=use_htmx,
|
||||
use_docker=use_docker,
|
||||
use_vite=use_vite,
|
||||
use_vue=use_vue,
|
||||
use_pytest=use_pytest,
|
||||
)
|
||||
return project_dir, project_name, app_names[0], app_names, metadata.to_dict()
|
||||
@@ -331,6 +340,7 @@ def get_user_input() -> Tuple[str, str, str, list, dict]:
|
||||
use_htmx=use_htmx,
|
||||
use_docker=use_docker,
|
||||
use_vite=use_vite,
|
||||
use_vue=use_vue,
|
||||
use_pytest=use_pytest,
|
||||
use_github=use_github,
|
||||
use_gitlab=use_gitlab,
|
||||
@@ -379,6 +389,9 @@ def confirm_setup(project_dir: str, project_name: str, app_names: list, metadata
|
||||
use_pytest = "Yes" if metadata.get("use_pytest", False) else "No"
|
||||
console.print(f"[{UIColors.HIGHLIGHT}]pytest:[/{UIColors.HIGHLIGHT}] {use_pytest}")
|
||||
|
||||
use_vue = "Yes" if metadata.get("use_vue", False) else "No"
|
||||
console.print(f"[{UIColors.HIGHLIGHT}]Vite/Vue:[/{UIColors.HIGHLIGHT}] {use_vue}")
|
||||
|
||||
console.print()
|
||||
UIFormatter.print_separator()
|
||||
console.print()
|
||||
|
||||
Reference in new issue
Block a user