var fs = require('fs');
var esprima = require('esprima');
var esmangle = require('esmangle');
var escodegen = require('escodegen');
var before = fs.readFileSync('file.tpl', {encoding: 'utf-8'});
var syntax = esprima.parse(before, {raw: true, loc: true});
syntax = esmangle.optimize(syntax);
var after = escodegen.generate(syntax, {
format: { indent: { style: '' },
quotes: 'auto',
compact: true
}
});
Here is the solution I come up with.
Doing some benchmark with benchmark.js on node 0.12 make it closer to uglify.js, but not better (and because uglify is 3 times slower on 0.12, I was expecting a difference).
If you know a way to optimize this, go ahead ;-).