diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index ceefcbe3..17b9d40e 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -116,6 +116,12 @@ export async function promptForConfig( { title: 'Nuxt', value: 'nuxt' }, ], }, + { + type: 'text', + name: 'root', + message: `Where is your ${highlight('source code')} folder located`, + initial: (prev, values) => defaultConfig?.root ?? values.framework === 'nuxt' ? '.' : 'src', + }, { type: 'select', name: 'style', @@ -174,6 +180,7 @@ export async function promptForConfig( const config = rawConfigSchema.parse({ // $schema: 'https://ui.shadcn.com/schema.json', + root: options.root, style: options.style, typescript: options.typescript, framework: options.framework, diff --git a/packages/cli/src/utils/get-config.ts b/packages/cli/src/utils/get-config.ts index 8f9859b2..151cbdd9 100644 --- a/packages/cli/src/utils/get-config.ts +++ b/packages/cli/src/utils/get-config.ts @@ -23,6 +23,7 @@ const explorer = cosmiconfig('components', { export const rawConfigSchema = z .object({ $schema: z.string().optional(), + root: z.string(), style: z.string(), typescript: z.boolean().default(false), tailwind: z.object({ diff --git a/packages/cli/src/utils/registry/index.ts b/packages/cli/src/utils/registry/index.ts index 4b1e8638..5642b2e2 100644 --- a/packages/cli/src/utils/registry/index.ts +++ b/packages/cli/src/utils/registry/index.ts @@ -129,6 +129,7 @@ export function getItemTargetPath( return null return path.join( + config.typescript ? '' : config.root, config.resolvedPaths[parent as keyof typeof config.resolvedPaths], type, )