chore: detect utilities in css (#32143)

This commit is contained in:
Stephen Zhou
2026-02-09 18:20:09 +08:00
committed by GitHub
parent 4ac461d882
commit 898e09264b
8 changed files with 4262 additions and 522 deletions

View File

@@ -0,0 +1,25 @@
// Credits:
// https://github.com/tailwindlabs/tailwindcss-intellisense/issues/227
import type { PluginCreator } from 'tailwindcss/types/config'
import { readFileSync } from 'node:fs'
import { parse } from 'postcss'
import { objectify } from 'postcss-js'
export const cssAsPlugin: (cssPath: string[]) => PluginCreator = (cssPath: string[]) => {
if (process.env.NODE_ENV === 'production') {
return () => {}
}
return ({ addUtilities, addComponents, addBase }) => {
const jssList = cssPath.map(p => objectify(parse(readFileSync(p, 'utf8'))))
for (const jss of jssList) {
if (jss['@layer utilities'])
addUtilities(jss['@layer utilities'])
if (jss['@layer components'])
addComponents(jss['@layer components'])
if (jss['@layer base'])
addBase(jss['@layer base'])
}
}
}