mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-07 14:08:47 +00:00
95 lines
2.3 KiB
TypeScript
95 lines
2.3 KiB
TypeScript
import { describe, expect, test } from "vitest"
|
|
|
|
import { transformTailwindContent } from "../../../src/utils/updaters/update-tailwind-content"
|
|
|
|
const SHARED_CONFIG = {
|
|
$schema: "https://ui.shadcn.com/schema.json",
|
|
style: "new-york",
|
|
rsc: true,
|
|
tsx: true,
|
|
tailwind: {
|
|
config: "tailwind.config.ts",
|
|
css: "app/globals.css",
|
|
baseColor: "slate",
|
|
cssVariables: true,
|
|
},
|
|
aliases: {
|
|
components: "@/components",
|
|
utils: "@/lib/utils",
|
|
},
|
|
resolvedPaths: {
|
|
cwd: ".",
|
|
tailwindConfig: "tailwind.config.ts",
|
|
tailwindCss: "app/globals.css",
|
|
components: "./components",
|
|
utils: "./lib/utils",
|
|
ui: "./components/ui",
|
|
},
|
|
}
|
|
|
|
describe("transformTailwindContent -> content property", () => {
|
|
test("should add content property if not in config", async () => {
|
|
expect(
|
|
await transformTailwindContent(
|
|
`import type { Config } from 'tailwindcss'
|
|
|
|
const config: Config = {
|
|
content: [
|
|
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
|
|
"./components/**/*.{js,ts,jsx,tsx,mdx}",
|
|
"./app/**/*.{js,ts,jsx,tsx,mdx}",
|
|
],
|
|
theme: {
|
|
extend: {
|
|
backgroundImage: {
|
|
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
|
|
"gradient-conic":
|
|
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|
|
export default config
|
|
`,
|
|
["./foo/**/*.{js,ts,jsx,tsx,mdx}", "./bar/**/*.{js,ts,jsx,tsx,mdx}"],
|
|
{
|
|
config: SHARED_CONFIG,
|
|
}
|
|
)
|
|
).toMatchSnapshot()
|
|
})
|
|
|
|
test("should NOT add content property if already in config", async () => {
|
|
expect(
|
|
await transformTailwindContent(
|
|
`import type { Config } from 'tailwindcss'
|
|
|
|
const config: Config = {
|
|
content: [
|
|
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
|
|
"./components/**/*.{js,ts,jsx,tsx,mdx}",
|
|
"./app/**/*.{js,ts,jsx,tsx,mdx}",
|
|
],
|
|
theme: {
|
|
extend: {
|
|
backgroundImage: {
|
|
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
|
|
"gradient-conic":
|
|
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|
|
export default config
|
|
`,
|
|
["./app/**/*.{js,ts,jsx,tsx,mdx}", "./bar/**/*.{js,ts,jsx,tsx,mdx}"],
|
|
{
|
|
config: SHARED_CONFIG,
|
|
}
|
|
)
|
|
).toMatchSnapshot()
|
|
})
|
|
})
|