babel/test.js

37 lines
927 B
JavaScript

var uglify = require("uglify-js");
var babel = require(".");
var zlib = require("zlib");
var vm = require("vm");
var fs = require("fs");
var code = fs.readFileSync("/Users/sebmck/Downloads/jquery-1.11.3 (1).js", "utf8");
function sizeof(name, fn) {
var start = Date.now();
var code = fn();
var end = Date.now();
console.log(name, "time:", (end - start) + "ms", "raw:", (code.length / 1000) + "KB", "gzipped:", (zlib.gzipSync(code).length / 1000) + "KB");
fs.writeFileSync("jquery." + name + ".js", code);
new Function(code);
}
sizeof("raw", function () {
return code;
});
sizeof("babel", function () {
return babel.transform(code, {
compact: true,
experimental: true,
blacklist: ["strict"],
plugins: ["minify-booleans", "merge-sibling-variables"]
}).code;
});
sizeof("uglify", function () {
return uglify.minify(code, {
mangle: false,
fromString: true
}).code;
});