-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
I use esmangle in NodeJS to compress following js:
function f(){
return function *(next){
var prev = next;
prev = f.call(this, prev);
yield *prev;
};
}I get the result as:
function f(){return function*(b){var a=b;a=f.call(this,a),yield*prev}}The (last one) prev in source doesn't be mangled.
Compressor code in NodeJS:
var esprima = require('esprima');
var esmangle = require('esmangle');
var escodegen = require('escodegen');
var ast = esprima.parse(code);
// Get optimized AST
var optimized = esmangle.optimize(ast, null);
// gets mangled AST
var result = esmangle.mangle(optimized);
console.log(escodegen.generate(result, {
format: {
renumber: true,
hexadecimal: true,
escapeless: true,
compact: true,
semicolons: false,
parentheses: false
}
})); // dump ASTMetadata
Metadata
Assignees
Labels
No labels