diff --git a/packages/shadcn/src/templates/create-template.ts b/packages/shadcn/src/templates/create-template.ts index 91479f2e8f..3394633e6b 100644 --- a/packages/shadcn/src/templates/create-template.ts +++ b/packages/shadcn/src/templates/create-template.ts @@ -20,6 +20,8 @@ export function createTemplate(config: { name: string title: string defaultProjectName: string + // Force a specific package manager for this template. + packageManager?: string // Framework names that map to this template. frameworks?: string[] scaffold: (options: TemplateOptions) => Promise diff --git a/packages/shadcn/src/templates/next-monorepo.ts b/packages/shadcn/src/templates/next-monorepo.ts index cbcd8fdc80..a9e275bdf4 100644 --- a/packages/shadcn/src/templates/next-monorepo.ts +++ b/packages/shadcn/src/templates/next-monorepo.ts @@ -23,6 +23,7 @@ export const nextMonorepo = createTemplate({ name: "next-monorepo", title: "Next.js (Monorepo)", defaultProjectName: "next-monorepo", + packageManager: "pnpm", scaffold: async ({ projectPath, packageManager }) => { const createSpinner = spinner( `Creating a new Next.js monorepo. This may take a few minutes.` diff --git a/packages/shadcn/src/utils/create-project.ts b/packages/shadcn/src/utils/create-project.ts index fc219d29d6..87a89e5640 100644 --- a/packages/shadcn/src/utils/create-project.ts +++ b/packages/shadcn/src/utils/create-project.ts @@ -61,9 +61,11 @@ export async function createProject( projectName = name ?? projectName } - const packageManager = await getPackageManager(options.cwd, { - withFallback: true, - }) + const packageManager = + templates[template].packageManager ?? + (await getPackageManager(options.cwd, { + withFallback: true, + })) const projectPath = `${options.cwd}/${projectName}` diff --git a/templates/next-app/.prettierrc b/templates/next-app/.prettierrc index 11e0f6d9ee..a8a2054a15 100644 --- a/templates/next-app/.prettierrc +++ b/templates/next-app/.prettierrc @@ -7,5 +7,5 @@ "printWidth": 80, "plugins": ["prettier-plugin-tailwindcss"], "tailwindStylesheet": "app/globals.css", - "tailwindFunctions": ["cn"] + "tailwindFunctions": ["cn", "cva"] }