From 197921d719deb88028e3dd2ce6ffd162a966bb7a Mon Sep 17 00:00:00 2001 From: Quinn Daley Date: Wed, 23 Jul 2025 16:14:25 +0100 Subject: [PATCH] Ensure classes defined in Nuxt config are imported --- src/import-css.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/import-css.ts b/src/import-css.ts index 02dade61..7f0c7713 100644 --- a/src/import-css.ts +++ b/src/import-css.ts @@ -11,12 +11,22 @@ const getDefaults = (nuxtConfig: NuxtConfig & { srcDir: string }) => [ ].map(defaultPath => join(nuxtConfig.srcDir, nuxtConfig.dir?.assets || 'assets', defaultPath)) export default async function importCSS(nuxt = useNuxt()) { - const sources = nuxt.options._layers.map(layer => layer.config.srcDir || layer.cwd) + const sources = nuxt.options._layers.map(layer => JSON.stringify(layer.config.srcDir || layer.cwd)) + + // Add variables from Nuxt config that need parsing + const sourceConfigs = [ + nuxt.options.app?.head?.htmlAttrs?.class, + nuxt.options.app?.head?.bodyAttrs?.class, + ] + sourceConfigs.forEach((value) => { + if (value) sources.push(`inline(${JSON.stringify(value)})`) + }) + await nuxt.callHook('tailwindcss:sources:extend', sources) const sourcesTemplate = addTemplate({ filename: 'tailwindcss/sources.css', - getContents: () => sources.map(source => `@source ${JSON.stringify(source)};`).join('\n'), + getContents: () => sources.map(source => `@source ${source};`).join('\n'), write: true, })