Skip to content

Commit 9cc0bd5

Browse files
authored
feat(defineConfig): enable conditional return (#979)
1 parent 680246d commit 9cc0bd5

File tree

6 files changed

+38
-23
lines changed

6 files changed

+38
-23
lines changed

package.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@
2424
"types": "./dist/merger.d.ts",
2525
"require": "./dist/merger.cjs",
2626
"import": "./dist/merger.mjs"
27+
},
28+
"./config-ctx": {
29+
"types": "./dist/config-ctx.d.ts",
30+
"require": "./dist/config-ctx.cjs",
31+
"import": "./dist/config-ctx.mjs"
2732
}
2833
},
2934
"main": "./dist/module.cjs",
@@ -34,7 +39,8 @@
3439
"build": {
3540
"entries": [
3641
"./src/config",
37-
"./src/merger"
42+
"./src/merger",
43+
"./src/config-ctx"
3844
],
3945
"externals": [
4046
"@tailwindcss/vite"
@@ -101,7 +107,8 @@
101107
"packageManager": "[email protected]",
102108
"resolutions": {
103109
"@nuxtjs/tailwindcss": "link:.",
104-
"@nuxt/ui": "npm:@nuxt/ui-edge"
110+
"@nuxt/ui": "npm:@nuxt/ui-edge",
111+
"unicorn-magic": "0.2.0"
105112
},
106113
"stackblitz": {
107114
"startCommand": "pnpm dev:prepare && pnpm dev"

playground/tailwind.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import typography from '@tailwindcss/typography'
22
import colors from 'tailwindcss/colors'
3+
import { defineConfig } from '../src/config'
34

4-
export default {
5+
export default defineConfig({
56
theme: {
67
extend: {
78
colors: {
@@ -15,4 +16,4 @@ export default {
1516
plugins: [
1617
typography(),
1718
],
18-
}
19+
})

pnpm-lock.yaml

Lines changed: 13 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config-ctx.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { ctx } from './config'
2+
3+
ctx.set(true)

src/config.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
import { createDefineConfig } from 'c12'
2+
import { getContext } from 'unctx'
3+
import { tryUseNuxt, requireModule } from '@nuxt/kit'
24
import type { Config } from 'tailwindcss'
35

4-
export const defineConfig = createDefineConfig<Partial<Config>>()
6+
export const ctx = getContext<boolean>('tw-config-ctx')
7+
8+
const _defineConfig = createDefineConfig<Partial<Config>>()
9+
export const defineConfig: typeof _defineConfig = (config) => {
10+
const isNuxt = !!tryUseNuxt()
11+
return isNuxt || ctx.tryUse() ? config : requireModule('.nuxt/tailwind/postcss.mjs')
12+
}
513
export default defineConfig

src/internal-context/load.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ const createInternalContext = async (moduleOptions: ModuleOptions, nuxt = useNux
216216

217217
return [
218218
`// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at ${(new Date()).toLocaleString()}`,
219+
'import "@nuxtjs/tailwindcss/config-ctx"',
219220
`import configMerger from "@nuxtjs/tailwindcss/merger";\n`,
220221
layerConfigs.map(([i, _]) => i).filter(Boolean).join(';\n') + ';',
221222
'const config = [',

0 commit comments

Comments
 (0)