var fs = require('fs') var UglifyJS = require("uglify-es") 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")