Abandon Closure Compiler in favor of UglifyES (#2285)
Moved to UglifyES, ditched async cruft, clarified responsibilities between cli & minify. Makes for faster, more reliable, synchronous, non-Google-reliant minification.
This commit is contained in:
parent
9d2586df9c
commit
843d7ad454
5 changed files with 67 additions and 126 deletions
|
|
@ -1,11 +1,12 @@
|
|||
"use strict"
|
||||
|
||||
var fs = require("fs");
|
||||
var zlib = require("zlib")
|
||||
|
||||
var bundle = require("./bundle")
|
||||
var minify = require("./minify")
|
||||
|
||||
var aliases = {o: "output", m: "minify", w: "watch", a: "aggressive", s: "save"}
|
||||
var aliases = {o: "output", m: "minify", w: "watch", s: "save"}
|
||||
var params = {}
|
||||
var args = process.argv.slice(2), command = null
|
||||
for (var i = 0; i < args.length; i++) {
|
||||
|
|
@ -24,26 +25,31 @@ function add(value) {
|
|||
command = null
|
||||
}
|
||||
|
||||
function format(n) {
|
||||
return n.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,")
|
||||
}
|
||||
|
||||
bundle(params.input, params.output, {watch: params.watch})
|
||||
if (params.minify) {
|
||||
minify(params.output, params.output, {watch: params.watch, advanced: params.aggressive}, function(stats) {
|
||||
function format(n) {
|
||||
return n.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,")
|
||||
}
|
||||
// mFiles = { original: String(mithril.js), compressed: String(mithril.min.js) }
|
||||
var mFiles = minify(params.output, {watch: params.watch})
|
||||
var originalSize = mFiles.original.length
|
||||
var compressedSize = mFiles.compressed.length
|
||||
var originalGzipSize = zlib.gzipSync(mFiles.original).byteLength
|
||||
var compressedGzipSize = zlib.gzipSync(mFiles.compressed).byteLength
|
||||
|
||||
console.log("Original size: " + format(stats.originalGzipSize) + " bytes gzipped (" + format(stats.originalSize) + " bytes uncompressed)")
|
||||
console.log("Compiled size: " + format(stats.compressedGzipSize) + " bytes gzipped (" + format(stats.compressedSize) + " bytes uncompressed)")
|
||||
console.log("Original size: " + format(originalGzipSize) + " bytes gzipped (" + format(originalSize) + " bytes uncompressed)")
|
||||
console.log("Compiled size: " + format(compressedGzipSize) + " bytes gzipped (" + format(compressedSize) + " bytes uncompressed)")
|
||||
|
||||
if (params.save) {
|
||||
var readme = fs.readFileSync("./README.md", "utf8")
|
||||
var kb = stats.compressedGzipSize / 1000
|
||||
if (params.save) {
|
||||
var readme = fs.readFileSync("./README.md", "utf8")
|
||||
var kb = compressedGzipSize / 1000
|
||||
|
||||
fs.writeFileSync("./README.md",
|
||||
readme.replace(
|
||||
/(<!-- size -->)(.+?)(<!-- \/size -->)/,
|
||||
"$1" + (kb % 1 ? kb.toFixed(2) : kb) + " KB$3"
|
||||
)
|
||||
fs.writeFileSync("./README.md",
|
||||
readme.replace(
|
||||
/(<!-- size -->)(.+?)(<!-- \/size -->)/,
|
||||
"$1" + (kb % 1 ? kb.toFixed(2) : kb) + " KB$3"
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue