diff --git a/packages/tailwindcss/src/compat/config/resolve-config.ts b/packages/tailwindcss/src/compat/config/resolve-config.ts index 3a1c0e8d1..07f592259 100644 --- a/packages/tailwindcss/src/compat/config/resolve-config.ts +++ b/packages/tailwindcss/src/compat/config/resolve-config.ts @@ -102,6 +102,15 @@ function resolveInternal(ctx: ResolutionContext, user: UserConfig): void { } } + // Apply configs from presets + if (Array.isArray(user.presets) && user.presets.length === 0) { + throw new Error('The empty preset `[]` is not supported') + } + + for (let preset of user.presets ?? []) { + resolveInternal(ctx, preset) + } + // Apply configs from plugins for (let plugin of plugins) { ctx.plugins.push(plugin) diff --git a/packages/tailwindcss/src/compat/config/types.ts b/packages/tailwindcss/src/compat/config/types.ts index 187f2af84..6d8489165 100644 --- a/packages/tailwindcss/src/compat/config/types.ts +++ b/packages/tailwindcss/src/compat/config/types.ts @@ -4,6 +4,7 @@ import type { PluginUtils } from './resolve-config' export type ResolvableTo = T | ((utils: PluginUtils) => T) export interface UserConfig { + presets?: UserConfig[] theme?: ThemeConfig plugins?: Plugin[] }