diff --git a/packages/cli/package.json b/packages/cli/package.json index d6c6e7f229..7d60974aab 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -70,6 +70,10 @@ "types": "./dist/lint.d.ts", "import": "./dist/lint.js" }, + "./fmt": { + "types": "./dist/fmt.d.ts", + "import": "./dist/fmt.js" + }, "./package.json": "./package.json", "./pack": { "types": "./dist/pack.d.ts", diff --git a/packages/cli/src/create/bin.ts b/packages/cli/src/create/bin.ts index 63b0f2ce4d..85270340b0 100644 --- a/packages/cli/src/create/bin.ts +++ b/packages/cli/src/create/bin.ts @@ -447,6 +447,19 @@ Use \`vp create --list\` to list all available templates, or run \`vp create --h selectedTemplateName = template; } + // Validate builtin template names + if (selectedTemplateName.startsWith('vite:')) { + const validBuiltins = Object.values(BuiltinTemplate); + if (!validBuiltins.includes(selectedTemplateName as BuiltinTemplate)) { + const validNames = validBuiltins.join(', '); + prompts.log.error( + `Unknown builtin template "${selectedTemplateName}". Valid builtin templates are: ${validNames}`, + ); + prompts.log.info(`Run \`${accent('vp create --list')}\` to see all available templates.`); + cancelAndExit('', 1); + } + } + const isBuiltinTemplate = selectedTemplateName.startsWith('vite:'); // Remote templates (e.g., @tanstack/create-start, custom templates) run their own