UNPKG

requisite

Version:
91 lines (84 loc) 1.97 kB
// Generated by CoffeeScript 1.12.5 var convert, convertOpts, escodegen, minify; convert = require('convert-source-map'); escodegen = require('escodegen'); minify = require('./minify'); convertOpts = function(opts) { var esopts, ref, ref1; esopts = { comment: true, format: { indent: { style: ' ', base: 0 }, compact: false, escapeless: true, parentheses: false, quotes: 'auto', semicolons: false } }; if (opts.minify) { esopts = { comment: false, format: { indent: { style: '', base: 0 }, compact: true, escapeless: true, hexadecimal: true, parentheses: false, quotes: 'auto', renumber: true, semicolons: false } }; } if (opts.sourceMap) { esopts.sourceMap = true; esopts.sourceMapWithCode = true; esopts.sourceMapRoot = (ref = (ref1 = opts.sourceMapRoot) != null ? ref1 : opts.sourceRoot) != null ? ref : ''; } if (opts.format != null) { esopts.format = opts.format; } if (opts.comment != null) { esopts.comment = opts.comment; } return esopts; }; module.exports = function(ast, opts) { var code, esopts, map, ref; if (opts == null) { opts = {}; } esopts = convertOpts(opts); if (opts.minify) { ast = minify(ast, opts); } if (opts.sourceMap) { ref = escodegen.generate(ast, esopts), code = ref.code, map = ref.map; } else { code = escodegen.generate(ast, esopts); } if (opts.stripDebug) { code = require('strip-debug')(code).toString(); } if (!opts.sourceMap) { return code; } if (!opts.externalSourceMap) { return code + convert.fromObject(map).toComment(); } if (opts.sourceMapURL != null) { code += '\n//# sourceMappingURL=' + opts.sourceMapURL; } return { code: code, map: convert.fromObject(map).toJSON() }; }; //# sourceMappingURL=codegen.js.map