UNPKG

requisite

Version:
105 lines (95 loc) 2.8 kB
// Generated by CoffeeScript 1.12.4 var Module, Prelude, Promise, createWrapper, isFunction, path, toRegex; Promise = require('broken'); path = require('path'); toRegex = require('to-regexp'); Module = require('./module'); Prelude = require('./wrapper').Prelude; isFunction = require('./utils').isFunction; createWrapper = function(opts) { return new Prelude({ bare: opts.bare, globalRequire: opts.globalRequire, prelude: opts.prelude, preludeAsync: opts.preludeAsync, includeAsync: opts.includeAsync }); }; module.exports = function(opts, cb) { var p, ref; if (opts == null) { opts = {}; } if (cb == null) { cb = function() {}; } if (isFunction(opts)) { ref = [opts, {}], cb = ref[0], opts = ref[1]; } p = new Promise(function(resolve, reject) { var basePath, exclude, include, mod, ref1, ref2, ref3, ref4, ref5, ref6, resolved, skip, sourceMapRoot; if (opts.preludeOnly) { if (!opts.bare) { opts.globalRequire = true; } return resolve(createWrapper(opts)); } basePath = (ref1 = opts.base) != null ? ref1 : opts.src; sourceMapRoot = basePath != null ? basePath : '/' + (path.relative(process.cwd(), path.dirname(opts.entry))); exclude = toRegex(opts.exclude); skip = toRegex(opts.skip); include = (ref2 = opts.include) != null ? ref2 : {}; resolved = (ref3 = opts.resolved) != null ? ref3 : {}; if (!(Object.keys(include)).length) { include = null; } if (!(Object.keys(resolve)).length) { resolved = null; } mod = new Module(opts.entry, { basePath: basePath, compilers: opts.compilers, exclude: exclude, exported: opts.exported, include: include, moduleCache: opts.moduleCache, naked: opts.naked, paths: (ref4 = opts.paths) != null ? ref4 : [], required: opts.required, resolved: resolved, skip: skip, sourceMap: (ref5 = opts.sourceMap) != null ? ref5 : true, sourceMapRoot: (ref6 = opts.sourceMapRoot) != null ? ref6 : sourceMapRoot, strict: opts.strict, urlRoot: opts.urlRoot }); return mod.parse(function(err) { var k, ref7, v; if (err != null) { return reject(err); } if ((opts.async != null) && opts.async) { mod.async = true; } else { ref7 = mod.moduleCache; for (k in ref7) { v = ref7[k]; if (v.async) { opts.includeAsync = true; break; } } } if (!opts.bare) { mod.toplevel = createWrapper(opts); } if (opts.requireAs != null) { mod.requireAs = opts.requireAs; } return resolve(mod); }); }); p.callback(cb); return p; }; //# sourceMappingURL=bundle.js.map