(templateDir: string, src: string)
| 23 | } |
| 24 | |
| 25 | function shouldCopyTemplatePath(templateDir: string, src: string): boolean { |
| 26 | const rel = path.relative(templateDir, src); |
| 27 | if (!rel) return true; |
| 28 | const top = rel.split(path.sep)[0] ?? ""; |
| 29 | // never copy install/build artifacts that may sit in a template dir |
| 30 | return !["node_modules", ".next", ".turbo", "dist"].includes(top); |
| 31 | } |
| 32 | |
| 33 | export async function runCreateApp(options: CreateAppOptions): Promise<void> { |
| 34 | const interactive = !options.noInteractive; |