Tailwind CSS module for Nuxt applications with zero configuration, CSS nesting support, and configuration viewer
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Core module configuration for integrating Tailwind CSS into Nuxt applications. Controls CSS file handling, configuration loading, and feature enablement.
Main configuration interface for the Nuxt Tailwind CSS module.
interface ModuleOptions {
/**
* Path(s) to Tailwind configuration file(s)
* @default []
* @deprecated use config property instead
*/
configPath: string | string[];
/**
* Path to Tailwind CSS file or disable CSS injection
* @default '~/assets/css/tailwind.css'
*/
cssPath: string | false | [string, { injectPosition: InjectPosition }];
/**
* Tailwind configuration as inline config, file path, or array
* @default {}
*/
config: Partial<TWConfig> | string | Array<Partial<TWConfig> | string>;
/**
* Enable/configure the configuration viewer
* @default true in development
*/
viewer: boolean | ViewerConfig;
/**
* Enable/configure runtime config access
* @default false
*/
exposeConfig: boolean | ExposeConfig;
/**
* Suppress logging when everything is working
* @default nuxt.options.logLevel === 'silent'
*/
quiet: boolean;
/**
* Enable editor support utilities
* @default false
*/
editorSupport: boolean | EditorSupportConfig;
/**
* Experimental features
* @default undefined
*/
experimental?: Partial<ExperimentalOptions>;
/**
* Disable Hot Module Reload for configuration
* @default false
*/
disableHMR?: boolean;
}Control how Tailwind CSS is injected into your application.
type CSSPathConfig = string | false | [string, { injectPosition: InjectPosition }];
type InjectPosition = 'first' | 'last' | number | { after: string };Usage Examples:
// nuxt.config.ts
export default defineNuxtConfig({
tailwindcss: {
// Use custom CSS file
cssPath: '~/assets/styles/main.css',
// Disable CSS injection entirely
cssPath: false,
// Custom CSS with injection position
cssPath: ['~/assets/css/tailwind.css', { injectPosition: 'first' }],
// Inject after specific CSS file
cssPath: ['~/assets/css/tailwind.css', {
injectPosition: { after: '~/assets/css/reset.css' }
}],
}
});Multiple ways to provide Tailwind configuration to the module.
type ConfigSource = Partial<TWConfig> | string | Array<Partial<TWConfig> | string>;Usage Examples:
// nuxt.config.ts
export default defineNuxtConfig({
tailwindcss: {
// Inline configuration
config: {
theme: {
extend: {
colors: { primary: '#3b82f6' }
}
}
},
// File path
config: 'tailwind.config.js',
// Multiple sources (merged in order)
config: [
'tailwind.config.base.js',
{
theme: {
extend: {
spacing: { '18': '4.5rem' }
}
}
},
'tailwind.config.overrides.js'
]
}
});Experimental features that may change in future versions.
interface ExperimentalOptions {
/**
* Use specific files for content paths instead of glob patterns
* @default false
*/
strictScanContentPaths: boolean;
/**
* Enable Tailwind CSS v4 support (experimental)
* @default false
*/
tailwindcss4: boolean;
}Usage Examples:
// nuxt.config.ts
export default defineNuxtConfig({
tailwindcss: {
experimental: {
strictScanContentPaths: true,
tailwindcss4: true
}
}
});Default values applied when options are not specified.
function defaults(nuxt?: Nuxt): ModuleOptions;The module applies these defaults automatically:
configPath: [] (empty array)cssPath: '~/assets/css/tailwind.css'config: {} (empty object)viewer: true in development, false in productionexposeConfig: falsequiet: matches nuxt.options.logLevel === 'silent'editorSupport: falseThe module integrates with Nuxt's lifecycle and build process:
Install with Tessl CLI
npx tessl i tessl/npm-nuxtjs--tailwindcss