@@ -86,14 +86,41 @@ func (g *Generator) CreateApp(appName, description string) error {
86
86
}
87
87
88
88
func (g * Generator ) createNuxtApp (appName string ) error {
89
- cmd := exec .Command ("npx" , "nuxi@latest" , "init" , appName )
89
+ cmd := exec .Command ("npx" , "nuxi@latest" , "init" , appName , "--package-manager" , "npm" , "--git-init" )
90
90
cmd .Dir = g .outputDir
91
91
cmd .Stdout = os .Stdout
92
92
cmd .Stderr = os .Stderr
93
- return cmd .Run ()
93
+
94
+ // Force non-interactive mode
95
+ cmd .Env = append (os .Environ (),
96
+ "CI=true" ,
97
+ "NUXT_TELEMETRY_DISABLED=1" ,
98
+ "NODE_ENV=production" ,
99
+ )
100
+
101
+ err := cmd .Run ()
102
+
103
+ // Check if the app directory was created successfully despite TTY errors
104
+ appPath := filepath .Join (g .outputDir , appName )
105
+ if _ , statErr := os .Stat (filepath .Join (appPath , "package.json" )); statErr == nil {
106
+ // App was created successfully, ignore the TTY error
107
+ return nil
108
+ }
109
+
110
+ return err
94
111
}
95
112
96
113
func (g * Generator ) addNuxtUI (appPath string ) error {
114
+ // First install dependencies
115
+ installCmd := exec .Command ("npm" , "install" )
116
+ installCmd .Dir = appPath
117
+ installCmd .Stdout = os .Stdout
118
+ installCmd .Stderr = os .Stderr
119
+ if err := installCmd .Run (); err != nil {
120
+ return fmt .Errorf ("failed to install dependencies: %w" , err )
121
+ }
122
+
123
+ // Then add Nuxt UI module
97
124
cmd := exec .Command ("npx" , "nuxi@latest" , "module" , "add" , "ui" )
98
125
cmd .Dir = appPath
99
126
cmd .Stdout = os .Stdout
0 commit comments