Skip to content

Commit 9a14c1d

Browse files
authored
(3/n) shadcn: tailwind config (#6490)
* feat(shadcn): add tailwind version detection * chore: changeset * feat(shadcn): css vars for tailwind v4 * fix(shadcn): handle color space * fix(shadcn): add oklch support * feat(shadcn): handle single quote * feat(shadcn): update tailwind config * feat(shadcn): add keyframes * feat(shadcn): add animation vars * fix: var name * fix(shadcn): handle color values * feat(shadcn): handle radius * feat(shadcn): clean up formatting * feat(shadcn): update next clean up function * chore: changeset * feat(shadcn): fix formatting for v3 and v4 * test(shadcn): update snapshots * fix(shadcn): update tailwind version handling
1 parent 5ef2bc5 commit 9a14c1d

File tree

5 files changed

+948
-48
lines changed

5 files changed

+948
-48
lines changed

.changeset/fresh-cherries-brush.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"shadcn": minor
3+
---
4+
5+
add support for tailwind v4

packages/shadcn/src/preflights/preflight-init.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,15 @@ export async function preFlightInit(
7878
)}.`
7979
)
8080

81-
const tailwindSpinner = spinner(`Validating Tailwind CSS.`, {
81+
let tailwindSpinnerMessage = "Validating Tailwind CSS."
82+
83+
if (projectInfo.tailwindVersion === "v4") {
84+
tailwindSpinnerMessage = `Validating Tailwind CSS config. Found ${highlighter.info(
85+
"v4"
86+
)}.`
87+
}
88+
89+
const tailwindSpinner = spinner(tailwindSpinnerMessage, {
8290
silent: options.silent,
8391
}).start()
8492
if (
@@ -93,6 +101,9 @@ export async function preFlightInit(
93101
) {
94102
errors[ERRORS.TAILWIND_NOT_CONFIGURED] = true
95103
tailwindSpinner?.fail()
104+
} else if (!projectInfo.tailwindVersion) {
105+
errors[ERRORS.TAILWIND_NOT_CONFIGURED] = true
106+
tailwindSpinner?.fail()
96107
} else {
97108
tailwindSpinner?.succeed()
98109
}

packages/shadcn/src/utils/add-components.ts

+2
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ async function addProjectComponents(
8585
cleanupDefaultNextStyles: options.isNewProject,
8686
silent: options.silent,
8787
tailwindVersion,
88+
tailwindConfig: tree.tailwind?.config,
8889
})
8990

9091
await updateDependencies(tree.dependencies, config, {
@@ -176,6 +177,7 @@ async function addWorkspaceComponents(
176177
await updateCssVars(component.cssVars, targetConfig, {
177178
silent: true,
178179
tailwindVersion,
180+
tailwindConfig: component.tailwind?.config,
179181
})
180182
filesUpdated.push(
181183
path.relative(workspaceRoot, targetConfig.resolvedPaths.tailwindCss)

0 commit comments

Comments
 (0)