UNPKG

requisite

Version:

A cosmic javascript bundler.

88 lines (80 loc) 2.28 kB
// Generated by CoffeeScript 1.10.0 var Module, Prelude, createWrapper, path, toRegex; Module = require('./module'); Prelude = require('./wrapper').Prelude; path = require('path'); toRegex = require('to-regexp'); createWrapper = function(opts) { return new Prelude({ async: opts.async, bare: opts.bare, globalRequire: opts.globalRequire, prelude: opts.prelude, preludeAsync: opts.preludeAsync }); }; module.exports = function(opts, cb) { var basePath, exclude, include, mod, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, resolveAs, sourceMapRoot; if (opts == null) { opts = {}; } if (cb == null) { cb = function() {}; } if (typeof opts === 'function') { ref = [opts, {}], cb = ref[0], opts = ref[1]; } if (opts.preludeOnly) { if (!opts.bare) { opts.globalRequire = true; } return cb(null, createWrapper(opts)); } basePath = (ref1 = opts.base) != null ? ref1 : opts.src; sourceMapRoot = basePath != null ? basePath : '/' + path.dirname(opts.entry); exclude = toRegex(opts.exclude); include = (ref2 = opts.include) != null ? ref2 : {}; resolveAs = (ref3 = (ref4 = opts.resolveAs) != null ? ref4 : opts.resolve) != null ? ref3 : {}; if (!(Object.keys(include)).length) { include = null; } if (!(Object.keys(resolveAs)).length) { resolveAs = null; } mod = new Module(opts.entry, { bare: opts.bare, basePath: basePath, compilers: opts.compilers, exclude: exclude, "export": opts["export"], include: include, moduleCache: opts.moduleCache, paths: (ref5 = opts.paths) != null ? ref5 : [], resolveAs: resolveAs, sourceMap: (ref6 = opts.sourceMap) != null ? ref6 : true, sourceMapRoot: (ref7 = opts.sourceMapRoot) != null ? ref7 : sourceMapRoot, strict: opts.strict, urlRoot: opts.urlRoot }); return mod.parse(function(err) { var k, ref8, v; if (err != null) { return cb(err); } if (!opts.async) { ref8 = mod.moduleCache; for (k in ref8) { v = ref8[k]; if (v.async) { opts.async = true; break; } } } if (!opts.bare) { mod.toplevel = createWrapper(opts); } return cb(null, mod); }); }; //# sourceMappingURL=bundle.js.map