coz-bud-loader
Version:
Bud loader for coz.
138 lines (107 loc) • 8.86 kB
JavaScript
/**
* Makeup bud content.
* @memberof module:coz-bud-loader/lib
* @function makeupBud
* @param {Bud} bud - Configuration to evaluate.
* @returns {Promise}
*/
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var path = require('path');
var unorm = require('unorm');
var aglob = require('aglob');
/** @lends makeupBud */
function makeupBud(_x) {
return _makeupBud.apply(this, arguments);
}
function _makeupBud() {
_makeupBud = (0, _asyncToGenerator2.default)(
/*#__PURE__*/
_regenerator.default.mark(function _callee(buds) {
var results, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, _ret;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
buds = [].concat(buds || []);
results = [];
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context.prev = 5;
_loop = function _loop() {
var bud = _step.value;
var src = bud.src && path.resolve(bud.src);
if (!src) {
results.push(bud);
return "continue";
}
var dirname = path.dirname(src) || bud.pwd || process.cwd();
var basename = path.basename(src, path.extname(src));
bud.path = path.resolve(dirname, bud.path || basename.replace(/^[\._]/, ''));
bud.cwd = dirname;
bud.tmpl = bud.tmpl || aglob.sync([path.resolve(dirname, basename + '.*'), path.resolve(dirname, unorm.nfc(basename) + '.*'), path.resolve(dirname, unorm.nfd(basename) + '.*')]).filter(function (tmpl) {
return path.resolve(tmpl) !== path.resolve(src);
}).filter(function (tmpl) {
return path.extname(tmpl) !== path.extname(src);
}).shift() || 'json';
results.push(bud);
};
_iterator = buds[Symbol.iterator]();
case 8:
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
_context.next = 15;
break;
}
_ret = _loop();
if (!(_ret === "continue")) {
_context.next = 12;
break;
}
return _context.abrupt("continue", 12);
case 12:
_iteratorNormalCompletion = true;
_context.next = 8;
break;
case 15:
_context.next = 21;
break;
case 17:
_context.prev = 17;
_context.t0 = _context["catch"](5);
_didIteratorError = true;
_iteratorError = _context.t0;
case 21:
_context.prev = 21;
_context.prev = 22;
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
case 24:
_context.prev = 24;
if (!_didIteratorError) {
_context.next = 27;
break;
}
throw _iteratorError;
case 27:
return _context.finish(24);
case 28:
return _context.finish(21);
case 29:
return _context.abrupt("return", results.reduce(function (a, b) {
return [].concat(a, b);
}, []));
case 30:
case "end":
return _context.stop();
}
}
}, _callee, null, [[5, 17, 21, 29], [22,, 24, 28]]);
}));
return _makeupBud.apply(this, arguments);
}
module.exports = makeupBud;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1ha2V1cF9idWQuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJ1bm9ybSIsImFnbG9iIiwibWFrZXVwQnVkIiwiYnVkcyIsImNvbmNhdCIsInJlc3VsdHMiLCJidWQiLCJzcmMiLCJyZXNvbHZlIiwicHVzaCIsImRpcm5hbWUiLCJwd2QiLCJwcm9jZXNzIiwiY3dkIiwiYmFzZW5hbWUiLCJleHRuYW1lIiwicmVwbGFjZSIsInRtcGwiLCJzeW5jIiwibmZjIiwibmZkIiwiZmlsdGVyIiwic2hpZnQiLCJyZWR1Y2UiLCJhIiwiYiIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBUUE7Ozs7Ozs7O0FBRUEsSUFBTUEsSUFBSSxHQUFHQyxPQUFPLENBQUMsTUFBRCxDQUFwQjs7QUFDQSxJQUFNQyxLQUFLLEdBQUdELE9BQU8sQ0FBQyxPQUFELENBQXJCOztBQUNBLElBQU1FLEtBQUssR0FBR0YsT0FBTyxDQUFDLE9BQUQsQ0FBckI7QUFFQTs7O1NBQ2VHLFM7Ozs7Ozs7NEJBQWYsaUJBQXlCQyxJQUF6QjtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0VBLFlBQUFBLElBQUksR0FBRyxHQUFHQyxNQUFILENBQVVELElBQUksSUFBSSxFQUFsQixDQUFQO0FBQ0lFLFlBQUFBLE9BRk4sR0FFZ0IsRUFGaEI7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLGtCQUdXQyxHQUhYO0FBSUksa0JBQUlDLEdBQUcsR0FBR0QsR0FBRyxDQUFDQyxHQUFKLElBQVdULElBQUksQ0FBQ1UsT0FBTCxDQUFhRixHQUFHLENBQUNDLEdBQWpCLENBQXJCOztBQUNBLGtCQUFJLENBQUNBLEdBQUwsRUFBVTtBQUNSRixnQkFBQUEsT0FBTyxDQUFDSSxJQUFSLENBQWFILEdBQWI7QUFDQTtBQUNEOztBQUNELGtCQUFJSSxPQUFPLEdBQUdaLElBQUksQ0FBQ1ksT0FBTCxDQUFhSCxHQUFiLEtBQXFCRCxHQUFHLENBQUNLLEdBQXpCLElBQWdDQyxPQUFPLENBQUNDLEdBQVIsRUFBOUM7QUFDQSxrQkFBSUMsUUFBUSxHQUFHaEIsSUFBSSxDQUFDZ0IsUUFBTCxDQUFjUCxHQUFkLEVBQW1CVCxJQUFJLENBQUNpQixPQUFMLENBQWFSLEdBQWIsQ0FBbkIsQ0FBZjtBQUNBRCxjQUFBQSxHQUFHLENBQUNSLElBQUosR0FBV0EsSUFBSSxDQUFDVSxPQUFMLENBQWFFLE9BQWIsRUFBc0JKLEdBQUcsQ0FBQ1IsSUFBSixJQUFZZ0IsUUFBUSxDQUFDRSxPQUFULENBQWlCLFFBQWpCLEVBQTJCLEVBQTNCLENBQWxDLENBQVg7QUFDQVYsY0FBQUEsR0FBRyxDQUFDTyxHQUFKLEdBQVVILE9BQVY7QUFDQUosY0FBQUEsR0FBRyxDQUFDVyxJQUFKLEdBQVdYLEdBQUcsQ0FBQ1csSUFBSixJQUNUaEIsS0FBSyxDQUFDaUIsSUFBTixDQUNFLENBQ0VwQixJQUFJLENBQUNVLE9BQUwsQ0FBYUUsT0FBYixFQUFzQkksUUFBUSxHQUFHLElBQWpDLENBREYsRUFFRWhCLElBQUksQ0FBQ1UsT0FBTCxDQUFhRSxPQUFiLEVBQXNCVixLQUFLLENBQUNtQixHQUFOLENBQVVMLFFBQVYsSUFBc0IsSUFBNUMsQ0FGRixFQUdFaEIsSUFBSSxDQUFDVSxPQUFMLENBQWFFLE9BQWIsRUFBc0JWLEtBQUssQ0FBQ29CLEdBQU4sQ0FBVU4sUUFBVixJQUFzQixJQUE1QyxDQUhGLENBREYsRUFNR08sTUFOSCxDQU1VLFVBQUNKLElBQUQ7QUFBQSx1QkFBVW5CLElBQUksQ0FBQ1UsT0FBTCxDQUFhUyxJQUFiLE1BQXVCbkIsSUFBSSxDQUFDVSxPQUFMLENBQWFELEdBQWIsQ0FBakM7QUFBQSxlQU5WLEVBT0djLE1BUEgsQ0FPVSxVQUFDSixJQUFEO0FBQUEsdUJBQVVuQixJQUFJLENBQUNpQixPQUFMLENBQWFFLElBQWIsTUFBdUJuQixJQUFJLENBQUNpQixPQUFMLENBQWFSLEdBQWIsQ0FBakM7QUFBQSxlQVBWLEVBUUdlLEtBUkgsRUFEUyxJQVNLLE1BVGhCO0FBVUFqQixjQUFBQSxPQUFPLENBQUNJLElBQVIsQ0FBYUgsR0FBYjtBQXZCSjs7QUFBQSx3QkFHa0JILElBSGxCOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBLDZDQXlCU0UsT0FBTyxDQUFDa0IsTUFBUixDQUFlLFVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLHFCQUFVLEdBQUdyQixNQUFILENBQVVvQixDQUFWLEVBQWFDLENBQWIsQ0FBVjtBQUFBLGFBQWYsRUFBMEMsRUFBMUMsQ0F6QlQ7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQTRCQUMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCekIsU0FBakIiLCJzb3VyY2VSb290IjoiLi4vLi4vbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYWtldXAgYnVkIGNvbnRlbnQuXG4gKiBAbWVtYmVyb2YgbW9kdWxlOmNvei1idWQtbG9hZGVyL2xpYlxuICogQGZ1bmN0aW9uIG1ha2V1cEJ1ZFxuICogQHBhcmFtIHtCdWR9IGJ1ZCAtIENvbmZpZ3VyYXRpb24gdG8gZXZhbHVhdGUuXG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqL1xuXG4ndXNlIHN0cmljdCdcblxuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKVxuY29uc3QgdW5vcm0gPSByZXF1aXJlKCd1bm9ybScpXG5jb25zdCBhZ2xvYiA9IHJlcXVpcmUoJ2FnbG9iJylcblxuLyoqIEBsZW5kcyBtYWtldXBCdWQgKi9cbmFzeW5jIGZ1bmN0aW9uIG1ha2V1cEJ1ZChidWRzKSB7XG4gIGJ1ZHMgPSBbXS5jb25jYXQoYnVkcyB8fCBbXSlcbiAgbGV0IHJlc3VsdHMgPSBbXVxuICBmb3IgKGxldCBidWQgb2YgYnVkcykge1xuICAgIGxldCBzcmMgPSBidWQuc3JjICYmIHBhdGgucmVzb2x2ZShidWQuc3JjKVxuICAgIGlmICghc3JjKSB7XG4gICAgICByZXN1bHRzLnB1c2goYnVkKVxuICAgICAgY29udGludWVcbiAgICB9XG4gICAgbGV0IGRpcm5hbWUgPSBwYXRoLmRpcm5hbWUoc3JjKSB8fCBidWQucHdkIHx8IHByb2Nlc3MuY3dkKClcbiAgICBsZXQgYmFzZW5hbWUgPSBwYXRoLmJhc2VuYW1lKHNyYywgcGF0aC5leHRuYW1lKHNyYykpXG4gICAgYnVkLnBhdGggPSBwYXRoLnJlc29sdmUoZGlybmFtZSwgYnVkLnBhdGggfHwgYmFzZW5hbWUucmVwbGFjZSgvXltcXC5fXS8sICcnKSlcbiAgICBidWQuY3dkID0gZGlybmFtZVxuICAgIGJ1ZC50bXBsID0gYnVkLnRtcGwgfHxcbiAgICAgIGFnbG9iLnN5bmMoXG4gICAgICAgIFtcbiAgICAgICAgICBwYXRoLnJlc29sdmUoZGlybmFtZSwgYmFzZW5hbWUgKyAnLionKSxcbiAgICAgICAgICBwYXRoLnJlc29sdmUoZGlybmFtZSwgdW5vcm0ubmZjKGJhc2VuYW1lKSArICcuKicpLFxuICAgICAgICAgIHBhdGgucmVzb2x2ZShkaXJuYW1lLCB1bm9ybS5uZmQoYmFzZW5hbWUpICsgJy4qJylcbiAgICAgICAgXSlcbiAgICAgICAgLmZpbHRlcigodG1wbCkgPT4gcGF0aC5yZXNvbHZlKHRtcGwpICE9PSBwYXRoLnJlc29sdmUoc3JjKSlcbiAgICAgICAgLmZpbHRlcigodG1wbCkgPT4gcGF0aC5leHRuYW1lKHRtcGwpICE9PSBwYXRoLmV4dG5hbWUoc3JjKSlcbiAgICAgICAgLnNoaWZ0KCkgfHwgJ2pzb24nXG4gICAgcmVzdWx0cy5wdXNoKGJ1ZClcbiAgfVxuICByZXR1cm4gcmVzdWx0cy5yZWR1Y2UoKGEsIGIpID0+IFtdLmNvbmNhdChhLCBiKSwgW10pXG59XG5cbm1vZHVsZS5leHBvcnRzID0gbWFrZXVwQnVkXG4iXX0=