UNPKG

coz-bud-loader

Version:
138 lines (107 loc) 8.86 kB
/** * Makeup bud content. * @memberof module:coz-bud-loader/lib * @function makeupBud * @param {Bud} bud - Configuration to evaluate. * @returns {Promise} */ 'use strict'; 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=