UNPKG

requisite

Version:

A cosmic javascript bundler.

83 lines (74 loc) 1.88 kB
// Generated by CoffeeScript 1.10.0 var auto, detectMinifier, minifiers, wrapper; detectMinifier = function(minifier) { var err, error, error1; if (minifier == null) { minifier = 'esmangle'; } if (/^uglify/.test(minifier)) { return 'uglify'; } try { if (require.resolve('uglify-js')) { return 'uglify'; } } catch (error) { err = error; } try { require.resolve('esmangle'); } catch (error1) { err = error1; throw new Error('Unable to determine minifier to use'); } return minifier; }; minifiers = { esmangle: function(ast) { var escodegen, esmangle, mangled, optimized; escodegen = require('escodegen'); esmangle = require('esmangle'); optimized = esmangle.optimize(ast, null); mangled = esmangle.mangle(optimized); return escodegen.generate(mangled, { comment: false, format: { indent: { style: '', base: 0 }, compact: true, escapeless: true, hexadecimal: true, parentheses: false, quotes: 'auto', renumber: true, semicolons: false } }); }, uglify: function(ast) { var compressed, compressor, uglified, uglify; uglify = require('uglify-js'); uglified = uglify.AST_Node.from_mozilla_ast(ast); uglified.figure_out_scope(); compressor = uglify.Compressor({ warnings: false }); compressed = uglified.transform(compressor); compressed.figure_out_scope(); compressed.compute_char_frequency(); compressed.mangle_names(); return compressed.print_to_string(); } }; 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