or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

configuration-utilities.mddevelopment-tools.mdindex.mdmodule-configuration.mdmodule-hooks.mdruntime-configuration.md

module-configuration.mddocs/

0

# Module Configuration

1

2

Core module configuration for integrating Tailwind CSS into Nuxt applications. Controls CSS file handling, configuration loading, and feature enablement.

3

4

## Capabilities

5

6

### Module Options Interface

7

8

Main configuration interface for the Nuxt Tailwind CSS module.

9

10

```typescript { .api }

11

interface ModuleOptions {

12

/**

13

* Path(s) to Tailwind configuration file(s)

14

* @default []

15

* @deprecated use config property instead

16

*/

17

configPath: string | string[];

18

19

/**

20

* Path to Tailwind CSS file or disable CSS injection

21

* @default '~/assets/css/tailwind.css'

22

*/

23

cssPath: string | false | [string, { injectPosition: InjectPosition }];

24

25

/**

26

* Tailwind configuration as inline config, file path, or array

27

* @default {}

28

*/

29

config: Partial<TWConfig> | string | Array<Partial<TWConfig> | string>;

30

31

/**

32

* Enable/configure the configuration viewer

33

* @default true in development

34

*/

35

viewer: boolean | ViewerConfig;

36

37

/**

38

* Enable/configure runtime config access

39

* @default false

40

*/

41

exposeConfig: boolean | ExposeConfig;

42

43

/**

44

* Suppress logging when everything is working

45

* @default nuxt.options.logLevel === 'silent'

46

*/

47

quiet: boolean;

48

49

/**

50

* Enable editor support utilities

51

* @default false

52

*/

53

editorSupport: boolean | EditorSupportConfig;

54

55

/**

56

* Experimental features

57

* @default undefined

58

*/

59

experimental?: Partial<ExperimentalOptions>;

60

61

/**

62

* Disable Hot Module Reload for configuration

63

* @default false

64

*/

65

disableHMR?: boolean;

66

}

67

```

68

69

### CSS Path Configuration

70

71

Control how Tailwind CSS is injected into your application.

72

73

```typescript { .api }

74

type CSSPathConfig = string | false | [string, { injectPosition: InjectPosition }];

75

76

type InjectPosition = 'first' | 'last' | number | { after: string };

77

```

78

79

**Usage Examples:**

80

81

```typescript

82

// nuxt.config.ts

83

export default defineNuxtConfig({

84

tailwindcss: {

85

// Use custom CSS file

86

cssPath: '~/assets/styles/main.css',

87

88

// Disable CSS injection entirely

89

cssPath: false,

90

91

// Custom CSS with injection position

92

cssPath: ['~/assets/css/tailwind.css', { injectPosition: 'first' }],

93

94

// Inject after specific CSS file

95

cssPath: ['~/assets/css/tailwind.css', {

96

injectPosition: { after: '~/assets/css/reset.css' }

97

}],

98

}

99

});

100

```

101

102

### Configuration Sources

103

104

Multiple ways to provide Tailwind configuration to the module.

105

106

```typescript { .api }

107

type ConfigSource = Partial<TWConfig> | string | Array<Partial<TWConfig> | string>;

108

```

109

110

**Usage Examples:**

111

112

```typescript

113

// nuxt.config.ts

114

export default defineNuxtConfig({

115

tailwindcss: {

116

// Inline configuration

117

config: {

118

theme: {

119

extend: {

120

colors: { primary: '#3b82f6' }

121

}

122

}

123

},

124

125

// File path

126

config: 'tailwind.config.js',

127

128

// Multiple sources (merged in order)

129

config: [

130

'tailwind.config.base.js',

131

{

132

theme: {

133

extend: {

134

spacing: { '18': '4.5rem' }

135

}

136

}

137

},

138

'tailwind.config.overrides.js'

139

]

140

}

141

});

142

```

143

144

### Experimental Options

145

146

Experimental features that may change in future versions.

147

148

```typescript { .api }

149

interface ExperimentalOptions {

150

/**

151

* Use specific files for content paths instead of glob patterns

152

* @default false

153

*/

154

strictScanContentPaths: boolean;

155

156

/**

157

* Enable Tailwind CSS v4 support (experimental)

158

* @default false

159

*/

160

tailwindcss4: boolean;

161

}

162

```

163

164

**Usage Examples:**

165

166

```typescript

167

// nuxt.config.ts

168

export default defineNuxtConfig({

169

tailwindcss: {

170

experimental: {

171

strictScanContentPaths: true,

172

tailwindcss4: true

173

}

174

}

175

});

176

```

177

178

### Module Defaults

179

180

Default values applied when options are not specified.

181

182

```typescript { .api }

183

function defaults(nuxt?: Nuxt): ModuleOptions;

184

```

185

186

The module applies these defaults automatically:

187

188

- `configPath`: `[]` (empty array)

189

- `cssPath`: `'~/assets/css/tailwind.css'`

190

- `config`: `{}` (empty object)

191

- `viewer`: `true` in development, `false` in production

192

- `exposeConfig`: `false`

193

- `quiet`: matches `nuxt.options.logLevel === 'silent'`

194

- `editorSupport`: `false`

195

196

## Module Integration

197

198

The module integrates with Nuxt's lifecycle and build process:

199

200

1. **Setup Phase**: Validates options and installs required dependencies

201

2. **Config Loading**: Loads and merges Tailwind configurations from all sources

202

3. **CSS Integration**: Injects CSS file and configures PostCSS plugins

203

4. **Development Tools**: Sets up viewer and editor support if enabled

204

5. **Template Generation**: Creates runtime templates for config access if enabled