1. It's actually supported 2. It's less buggy https://twitter.com/dan_abramov/status/1060216917493981184
26 lines
583 B
JavaScript
26 lines
583 B
JavaScript
"use strict"
|
|
|
|
var fs = require("fs")
|
|
var Terser = require("terser")
|
|
|
|
module.exports = function(filePath, options) {
|
|
function minify(filePath) {
|
|
var original = fs.readFileSync(filePath, "utf8"),
|
|
uglified = Terser.minify(original),
|
|
compressed = uglified.code
|
|
|
|
if (uglified.error) throw new Error(uglified.error)
|
|
|
|
fs.writeFileSync(filePath, compressed, "utf8")
|
|
return {original: original, compressed: compressed}
|
|
}
|
|
|
|
function run() {
|
|
console.log("minifying...")
|
|
return minify(filePath)
|
|
}
|
|
|
|
if (options && options.watch) fs.watchFile(filePath, run)
|
|
|
|
return run()
|
|
}
|