var fs = require("fs"); var UglifyJS = require("uglify-js"); var index = fs.readFileSync("views/partials/scripts.ejs", "utf8"); var scripts = {}; index .split("\n") .map((line) => { var pz = line.split('"'); if (pz.length < 3) return null; return "public" + pz[1]; }) .filter((fn) => !!fn) .forEach((fn) => { scripts[fn] = fs.readFileSync(fn, "utf8"); }); var result = UglifyJS.minify(scripts, { sourceMap: { filename: "app.js", url: "app.js.map", }, }); if (result.error) { console.error(result.error); } if (result.warnings) { console.error(result.warnings); } fs.writeFileSync("public/assets/min/app.min.js", result.code, "utf8"); fs.writeFileSync("public/assets/min/app.min.js.map", result.map, "utf8");