UNPKG

requisite

Version:
77 lines (68 loc) 1.57 kB
// Generated by CoffeeScript 1.12.4 var auto, detectMinifier, minifiers, wrapper; detectMinifier = function(minifier) { var err; if (/^uglify/.test(minifier)) { return 'uglify'; } if (minifier == null) { try { if (require.resolve('uglify-js')) { return 'uglify'; } } catch (error) { err = error; } try { if (require.resolve('esmangle')) { return 'esmangle'; } } catch (error) { err = error; throw new Error('Unable to determine minifier to use'); } } return minifier; }; minifiers = { esmangle: function(ast, opts) { var esmangle; if (opts == null) { opts = {}; } esmangle = require('esmangle'); ast = esmangle.optimize(ast, null); if (opts.mangle) { ast = esmangle.mangle(ast); } return ast; }, uglify: function(ast, opts) { var uast, uglify; if (opts == null) { opts = {}; } uglify = require('uglify-js'); uast = uglify.AST_Node.from_mozilla_ast(ast); uast.figure_out_scope(); uast = uast.transform(uglify.Compressor({ warnings: false })); if (opts.mangle) { uast.figure_out_scope(); uast.compute_char_frequency(); uast.mangle_names(); } return uast.to_mozilla_ast(); } }; auto = function(ast, opts) { var minifier; minifier = detectMinifier(opts.minifier); return minifiers[minifier](ast, opts); }; wrapper = auto; wrapper.auto = auto; wrapper.minifiers = minifiers; module.exports = wrapper; //# sourceMappingURL=minify.js.map