react-static
Version:
A progressive static site generator for React
104 lines (78 loc) • 7.67 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _chalk = _interopRequireDefault(require("chalk"));
var _exportSharedRouteData = _interopRequireDefault(require("./exportSharedRouteData"));
var _getRouteData = _interopRequireDefault(require("./getRouteData"));
var _utils = require("../utils");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var _default = /*#__PURE__*/function () {
var _fetchRoutes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(state) {
var _state, config, routes, dataProgress, sharedDataByHash, downloadTasks, _loop, i;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_state = state, config = _state.config, routes = _state.routes;
console.log('Fetching Route Data...');
dataProgress = (0, _utils.progress)(routes.length);
(0, _utils.time)(_chalk["default"].green("[\u2713] Route Data Downloaded"));
sharedDataByHash = new Map(); // Use a traditional for loop here for perf
downloadTasks = [];
_loop = function _loop(i) {
var route = routes[i];
/* eslint-disable no-loop-func */
downloadTasks.push( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0, _getRouteData["default"])(route, state, sharedDataByHash);
case 2:
routes[i] = _context.sent;
dataProgress.tick();
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
})));
};
for (i = 0; i < routes.length; i++) {
_loop(i);
}
state = _objectSpread(_objectSpread({}, state), {}, {
sharedDataByHash: sharedDataByHash
});
_context2.next = 11;
return (0, _utils.poolAll)(downloadTasks, Number(config.outputFileRate));
case 11:
(0, _utils.timeEnd)(_chalk["default"].green("[\u2713] Route Data Downloaded"));
_context2.next = 14;
return (0, _exportSharedRouteData["default"])(state);
case 14:
state = _context2.sent;
return _context2.abrupt("return", state);
case 16:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function fetchRoutes(_x) {
return _fetchRoutes.apply(this, arguments);
}
return fetchRoutes;
}();
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0aWMvZmV0Y2hSb3V0ZXMuanMiXSwibmFtZXMiOlsic3RhdGUiLCJjb25maWciLCJyb3V0ZXMiLCJjb25zb2xlIiwibG9nIiwiZGF0YVByb2dyZXNzIiwibGVuZ3RoIiwiY2hhbGsiLCJncmVlbiIsInNoYXJlZERhdGFCeUhhc2giLCJNYXAiLCJkb3dubG9hZFRhc2tzIiwiaSIsInJvdXRlIiwicHVzaCIsInRpY2siLCJOdW1iZXIiLCJvdXRwdXRGaWxlUmF0ZSIsImZldGNoUm91dGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7OzttR0FFZ0Isa0JBQTJCQSxLQUEzQjtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBQ2FBLEtBRGIsRUFDTkMsTUFETSxVQUNOQSxNQURNLEVBQ0VDLE1BREYsVUFDRUEsTUFERjtBQUdkQyxZQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSx3QkFBWjtBQUVNQyxZQUFBQSxZQUxRLEdBS08scUJBQVNILE1BQU0sQ0FBQ0ksTUFBaEIsQ0FMUDtBQU1kLDZCQUFLQyxrQkFBTUMsS0FBTixDQUFZLGdDQUFaLENBQUw7QUFFTUMsWUFBQUEsZ0JBUlEsR0FRVyxJQUFJQyxHQUFKLEVBUlgsRUFVZDs7QUFDTUMsWUFBQUEsYUFYUSxHQVdRLEVBWFI7O0FBQUEsbUNBWUxDLENBWks7QUFhWixrQkFBTUMsS0FBSyxHQUFHWCxNQUFNLENBQUNVLENBQUQsQ0FBcEI7QUFDQTs7QUFDQUQsY0FBQUEsYUFBYSxDQUFDRyxJQUFkLDZGQUFtQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwrQkFDQyw4QkFBYUQsS0FBYixFQUFvQmIsS0FBcEIsRUFBMkJTLGdCQUEzQixDQUREOztBQUFBO0FBQ2pCUCx3QkFBQUEsTUFBTSxDQUFDVSxDQUFELENBRFc7QUFFakJQLHdCQUFBQSxZQUFZLENBQUNVLElBQWI7O0FBRmlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGVBQW5CO0FBZlk7O0FBWWQsaUJBQVNILENBQVQsR0FBYSxDQUFiLEVBQWdCQSxDQUFDLEdBQUdWLE1BQU0sQ0FBQ0ksTUFBM0IsRUFBbUNNLENBQUMsRUFBcEMsRUFBd0M7QUFBQSxvQkFBL0JBLENBQStCO0FBT3ZDOztBQUVEWixZQUFBQSxLQUFLLG1DQUNBQSxLQURBO0FBRUhTLGNBQUFBLGdCQUFnQixFQUFoQkE7QUFGRyxjQUFMO0FBckJjO0FBQUEsbUJBMEJSLG9CQUFRRSxhQUFSLEVBQXVCSyxNQUFNLENBQUNmLE1BQU0sQ0FBQ2dCLGNBQVIsQ0FBN0IsQ0ExQlE7O0FBQUE7QUE0QmQsZ0NBQVFWLGtCQUFNQyxLQUFOLENBQVksZ0NBQVosQ0FBUjtBQTVCYztBQUFBLG1CQThCQSx1Q0FBc0JSLEtBQXRCLENBOUJBOztBQUFBO0FBOEJkQSxZQUFBQSxLQTlCYztBQUFBLDhDQWdDUEEsS0FoQ087O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7V0FBZWtCLFc7Ozs7U0FBQUEsVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tICdjaGFsaydcbmltcG9ydCBleHBvcnRTaGFyZWRSb3V0ZURhdGEgZnJvbSAnLi9leHBvcnRTaGFyZWRSb3V0ZURhdGEnXG5pbXBvcnQgZ2V0Um91dGVEYXRhIGZyb20gJy4vZ2V0Um91dGVEYXRhJ1xuaW1wb3J0IHsgcHJvZ3Jlc3MsIHRpbWUsIHRpbWVFbmQsIHBvb2xBbGwgfSBmcm9tICcuLi91dGlscydcblxuZXhwb3J0IGRlZmF1bHQgKGFzeW5jIGZ1bmN0aW9uIGZldGNoUm91dGVzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29uZmlnLCByb3V0ZXMgfSA9IHN0YXRlXG5cbiAgY29uc29sZS5sb2coJ0ZldGNoaW5nIFJvdXRlIERhdGEuLi4nKVxuXG4gIGNvbnN0IGRhdGFQcm9ncmVzcyA9IHByb2dyZXNzKHJvdXRlcy5sZW5ndGgpXG4gIHRpbWUoY2hhbGsuZ3JlZW4oJ1tcXHUyNzEzXSBSb3V0ZSBEYXRhIERvd25sb2FkZWQnKSlcblxuICBjb25zdCBzaGFyZWREYXRhQnlIYXNoID0gbmV3IE1hcCgpXG5cbiAgLy8gVXNlIGEgdHJhZGl0aW9uYWwgZm9yIGxvb3AgaGVyZSBmb3IgcGVyZlxuICBjb25zdCBkb3dubG9hZFRhc2tzID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByb3V0ZSA9IHJvdXRlc1tpXVxuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWxvb3AtZnVuYyAqL1xuICAgIGRvd25sb2FkVGFza3MucHVzaChhc3luYyAoKSA9PiB7XG4gICAgICByb3V0ZXNbaV0gPSBhd2FpdCBnZXRSb3V0ZURhdGEocm91dGUsIHN0YXRlLCBzaGFyZWREYXRhQnlIYXNoKVxuICAgICAgZGF0YVByb2dyZXNzLnRpY2soKVxuICAgIH0pXG4gIH1cblxuICBzdGF0ZSA9IHtcbiAgICAuLi5zdGF0ZSxcbiAgICBzaGFyZWREYXRhQnlIYXNoLFxuICB9XG5cbiAgYXdhaXQgcG9vbEFsbChkb3dubG9hZFRhc2tzLCBOdW1iZXIoY29uZmlnLm91dHB1dEZpbGVSYXRlKSlcblxuICB0aW1lRW5kKGNoYWxrLmdyZWVuKCdbXFx1MjcxM10gUm91dGUgRGF0YSBEb3dubG9hZGVkJykpXG5cbiAgc3RhdGUgPSBhd2FpdCBleHBvcnRTaGFyZWRSb3V0ZURhdGEoc3RhdGUpXG5cbiAgcmV0dXJuIHN0YXRlXG59KVxuIl19