- Add npm scripts for CSS/JS compilation (build:css, build:js, build) - Create PowerShell build automation script - Document development workflow in README - Add troubleshooting guide for build issues - Specify proper file structure and compilation process Supports Tailwind CSS v3.4.0 and esbuild bundling with source maps.
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
import setupTrackingContext from './lib/setupTrackingContext'
|
|
import processTailwindFeatures from './processTailwindFeatures'
|
|
import { env } from './lib/sharedState'
|
|
import { findAtConfigPath } from './lib/findAtConfigPath'
|
|
|
|
module.exports = function tailwindcss(configOrPath) {
|
|
return {
|
|
postcssPlugin: 'tailwindcss',
|
|
plugins: [
|
|
env.DEBUG &&
|
|
function (root) {
|
|
console.log('\n')
|
|
console.time('JIT TOTAL')
|
|
return root
|
|
},
|
|
async function (root, result) {
|
|
// Use the path for the `@config` directive if it exists, otherwise use the
|
|
// path for the file being processed
|
|
configOrPath = findAtConfigPath(root, result) ?? configOrPath
|
|
|
|
let context = setupTrackingContext(configOrPath)
|
|
|
|
if (root.type === 'document') {
|
|
let roots = root.nodes.filter((node) => node.type === 'root')
|
|
|
|
for (const root of roots) {
|
|
if (root.type === 'root') {
|
|
await processTailwindFeatures(context)(root, result)
|
|
}
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
await processTailwindFeatures(context)(root, result)
|
|
},
|
|
env.DEBUG &&
|
|
function (root) {
|
|
console.timeEnd('JIT TOTAL')
|
|
console.log('\n')
|
|
return root
|
|
},
|
|
].filter(Boolean),
|
|
}
|
|
}
|
|
|
|
module.exports.postcss = true
|