windicss-analysis
Version:
Analyser for Windi CSS
39 lines (37 loc) • 1.31 kB
JavaScript
import {
__spreadProps,
__spreadValues,
generateBuild,
runAnalysis,
startServer,
version
} from "./chunk-VLVPDVUJ.mjs";
// node/cli.ts
import { resolve } from "path";
import { promises as fs } from "fs";
import cac from "cac";
var cli = cac("windicss-analysis");
cli.help().version(version).option("--port <port>", "Port", { default: 8113 }).option("--open", "Open in browser", { default: true }).option("--json [filepath]", "Output analysis result file in JSON").option("--html [dir]", "Output analysis result in static web app");
var parsed = cli.parse();
async function run() {
const root = resolve(cli.args[0] || process.cwd());
if (parsed.options.help)
return;
if (parsed.options.html) {
if (parsed.options.html === true)
parsed.options.html = resolve(root, "windicss-analysis-report");
await generateBuild({
root,
outDir: parsed.options.html
});
} else if (parsed.options.json) {
if (parsed.options.json === true)
parsed.options.json = "windicss-analysis-report.json";
await fs.writeFile(parsed.options.json, JSON.stringify((await runAnalysis({ root })).result, null, 2), "utf-8");
} else {
await startServer(__spreadProps(__spreadValues({}, parsed.options), {
root: resolve(cli.args[0] || process.cwd())
}));
}
}
run();