mirror of
https://github.com/khairul169/code-share.git
synced 2025-04-28 16:49:36 +07:00
30 lines
804 B
TypeScript
30 lines
804 B
TypeScript
import postcssPlugin from "postcss";
|
|
import tailwindcss from "tailwindcss";
|
|
import cssnano from "cssnano";
|
|
import { FileSchema } from "~/server/db/schema/file";
|
|
import { unpackProject } from "~/server/lib/unpack-project";
|
|
|
|
export const postcss = async (fileData: FileSchema) => {
|
|
const content = fileData.content || "";
|
|
|
|
try {
|
|
const projectDir = await unpackProject({ ext: "ts,tsx,js,jsx,html" });
|
|
|
|
const result = await postcssPlugin([
|
|
tailwindcss({
|
|
content: [projectDir + "/**/*.{ts,tsx,js,jsx,html}"],
|
|
}),
|
|
cssnano({
|
|
preset: ["default", { discardComments: { removeAll: true } }],
|
|
}),
|
|
]).process(content, {
|
|
from: undefined,
|
|
});
|
|
|
|
return result.css;
|
|
} catch (err) {
|
|
console.error("postcss error", err);
|
|
return content;
|
|
}
|
|
};
|