Skip to content

Commit 24dc6c0

Browse files
authored
feat: tailwind jit (#288)
* feat: add Tailwind JIT support * chore: improvements * chore: remove duplicate postcss-nested * chore: simplify
1 parent a787c09 commit 24dc6c0

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

lib/module.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ const { joinURL, withTrailingSlash } = require('ufo')
77

88
const logger = require('./logger')
99
const defaultTailwindConfig = require('./files/tailwind.config.js')
10+
const isInstalled = (pkg, requireModule = require) => {
11+
try {
12+
requireModule(pkg)
13+
return true
14+
} catch (e) {
15+
return false
16+
}
17+
}
1018

1119
module.exports = async function (moduleOptions) {
1220
const { nuxt } = this
@@ -25,7 +33,6 @@ module.exports = async function (moduleOptions) {
2533
// https://tailwindcss.com/docs/using-with-preprocessors#future-css-features
2634
nuxt.options.build.postcss = defu(nuxt.options.build.postcss, {
2735
plugins: {
28-
tailwindcss: {},
2936
'postcss-nested': {},
3037
'postcss-custom-properties': {}
3138
}
@@ -71,7 +78,15 @@ module.exports = async function (moduleOptions) {
7178

7279
// Set tailwindcss config
7380
await nuxt.callHook('tailwindcss:config', tailwindConfig)
74-
nuxt.options.build.postcss.plugins.tailwindcss = tailwindConfig
81+
82+
// Add Tailwind PostCSS plugin
83+
const postcss = nuxt.options.build.postcss
84+
if (isInstalled('@tailwindcss/jit', nuxt.resolver.requireModule)) {
85+
postcss.plugins['@tailwindcss/jit'] = tailwindConfig
86+
logger.info('Tailwind JIT activated')
87+
} else {
88+
postcss.plugins.tailwindcss = tailwindConfig
89+
}
7590

7691
/*
7792
** Expose resolved tailwind config as an alias

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
"lib"
2626
],
2727
"dependencies": {
28+
"@nuxt/postcss8": "^1.1.3",
2829
"autoprefixer": "^10.2.4",
2930
"chalk": "^4.1.0",
3031
"clear-module": "^4.1.1",
3132
"consola": "^2.15.3",
3233
"defu": "^3.2.2",
3334
"fs-extra": "^9.1.0",
34-
"@nuxt/postcss8": "^1.1.3",
3535
"postcss": "^8.2.7",
3636
"postcss-nested": "^5.0.5",
3737
"tailwind-config-viewer": "^1.5.0",

0 commit comments

Comments
 (0)