Skip to main content

max / goingson

646 B · 18 lines History Blame Raw
1 const { execSync } = require("child_process");
2 const fs = require("fs");
3 const path = require("path");
4
5 const cssDir = path.join(__dirname, "css");
6 const src = path.join(cssDir, "styles.css");
7 const dest = path.join(cssDir, "styles.min.css");
8
9 if (!fs.existsSync(dest) || fs.statSync(src).mtimeMs > fs.statSync(dest).mtimeMs) {
10 console.log("Minifying CSS...");
11 execSync(`npx --yes clean-css-cli "${src}" -o "${dest}"`, { stdio: "inherit" });
12 const srcSize = fs.statSync(src).size;
13 const destSize = fs.statSync(dest).size;
14 console.log(`CSS minified: ${srcSize} -> ${destSize} bytes`);
15 } else {
16 console.log("CSS already up to date");
17 }
18