Spaces:
Sleeping
Sleeping
| 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 | |