@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
42 lines (41 loc) • 1.4 kB
JavaScript
import path from "node:path";
import { mkdir, writeFile } from "node:fs/promises";
//#region src/static-css/emit/index.ts
process.env.NODE_ENV = "production";
const emitStaticCssAssets = async (options) => {
const { outDir, manifestPath = path.join(outDir, "static-css.manifest.json") } = options;
await mkdir(outDir, { recursive: true });
const result = { files: [] };
const manifest = {};
if (options.antd !== false) {
const { buildAntdStaticCss } = await import("../buildAntdStaticCss.mjs");
const payload = buildAntdStaticCss(options.antd);
const file = path.join(outDir, "antd.css");
await writeFile(file, payload.css, "utf8");
result.antd = payload;
result.files.push(file);
manifest.antd = {
hash: payload.hash,
href: payload.href,
styleKeys: payload.styleKeys
};
}
if (options.themeVars !== false) {
const { buildThemeVarsCss } = await import("../themeVars.mjs");
const payload = buildThemeVarsCss(options.themeVars);
const file = path.join(outDir, "theme-vars.css");
await writeFile(file, payload.css, "utf8");
result.themeVars = payload;
result.files.push(file);
manifest.themeVars = {
hash: payload.hash,
href: payload.href
};
}
await writeFile(manifestPath, JSON.stringify(manifest, null, 2), "utf8");
result.files.push(manifestPath);
return result;
};
//#endregion
export { emitStaticCssAssets };
//# sourceMappingURL=index.mjs.map