react-static
Version:
A progressive static site generator for React
69 lines (55 loc) • 6.31 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = _interopRequireDefault(require("react"));
var _utils = require("../../utils");
// Not only do we pass react-helmet attributes and the app.js here, but
// we also need to hard code site props and route props into the page to
// prevent flashing when react mounts onto the HTML.
var makeBodyWithMeta = /*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(state) {
var head, route, inlineScripts, _state$clientScripts, clientScripts;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
head = state.head, route = state.route, inlineScripts = state.inlineScripts, _state$clientScripts = state.clientScripts, clientScripts = _state$clientScripts === void 0 ? [] : _state$clientScripts; // This embeddedRouteInfo will be inlined into the HTML for this route.
// It should only include the full props, not the partials.
return _context.abrupt("return", function (_ref2) {
var children = _ref2.children,
rest = (0, _objectWithoutProperties2["default"])(_ref2, ["children"]);
return /*#__PURE__*/_react["default"].createElement("body", (0, _extends2["default"])({}, head.bodyProps, rest), children, !route.redirect ? /*#__PURE__*/_react["default"].createElement("script", {
type: "text/javascript",
dangerouslySetInnerHTML: {
__html: inlineScripts.routeInfo.script
}
}) : null, !route.redirect ? clientScripts.map(function (script) {
return /*#__PURE__*/_react["default"].createElement("script", {
key: script,
defer: true,
type: "text/javascript",
src: (0, _utils.makePathAbsolute)((0, _utils.pathJoin)(process.env.REACT_STATIC_ASSETS_PATH, script))
});
}) : null);
});
case 2:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function makeBodyWithMeta(_x) {
return _ref.apply(this, arguments);
};
}();
var _default = makeBodyWithMeta;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWMvY29tcG9uZW50cy9Cb2R5V2l0aE1ldGEuanMiXSwibmFtZXMiOlsibWFrZUJvZHlXaXRoTWV0YSIsInN0YXRlIiwiaGVhZCIsInJvdXRlIiwiaW5saW5lU2NyaXB0cyIsImNsaWVudFNjcmlwdHMiLCJjaGlsZHJlbiIsInJlc3QiLCJib2R5UHJvcHMiLCJyZWRpcmVjdCIsIl9faHRtbCIsInJvdXRlSW5mbyIsInNjcmlwdCIsIm1hcCIsInByb2Nlc3MiLCJlbnYiLCJSRUFDVF9TVEFUSUNfQVNTRVRTX1BBVEgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsZ0JBQWdCO0FBQUEsMkZBQUcsaUJBQU1DLEtBQU47QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNmQyxZQUFBQSxJQURlLEdBQ29DRCxLQURwQyxDQUNmQyxJQURlLEVBQ1RDLEtBRFMsR0FDb0NGLEtBRHBDLENBQ1RFLEtBRFMsRUFDRkMsYUFERSxHQUNvQ0gsS0FEcEMsQ0FDRkcsYUFERSx5QkFDb0NILEtBRHBDLENBQ2FJLGFBRGIsRUFDYUEsYUFEYixxQ0FDNkIsRUFEN0IseUJBR3ZCO0FBQ0E7O0FBSnVCLDZDQU1oQjtBQUFBLGtCQUFHQyxRQUFILFNBQUdBLFFBQUg7QUFBQSxrQkFBZ0JDLElBQWhCO0FBQUEsa0NBQ0wsc0VBQVVMLElBQUksQ0FBQ00sU0FBZixFQUE4QkQsSUFBOUIsR0FDR0QsUUFESCxFQUVHLENBQUNILEtBQUssQ0FBQ00sUUFBUCxnQkFDQztBQUNFLGdCQUFBLElBQUksRUFBQyxpQkFEUDtBQUVFLGdCQUFBLHVCQUF1QixFQUFFO0FBQUVDLGtCQUFBQSxNQUFNLEVBQUVOLGFBQWEsQ0FBQ08sU0FBZCxDQUF3QkM7QUFBbEM7QUFGM0IsZ0JBREQsR0FLRyxJQVBOLEVBUUcsQ0FBQ1QsS0FBSyxDQUFDTSxRQUFQLEdBQ0dKLGFBQWEsQ0FBQ1EsR0FBZCxDQUFrQixVQUFBRCxNQUFNO0FBQUEsb0NBQ3RCO0FBQ0Usa0JBQUEsR0FBRyxFQUFFQSxNQURQO0FBRUUsa0JBQUEsS0FBSyxNQUZQO0FBR0Usa0JBQUEsSUFBSSxFQUFDLGlCQUhQO0FBSUUsa0JBQUEsR0FBRyxFQUFFLDZCQUNILHFCQUFTRSxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsd0JBQXJCLEVBQStDSixNQUEvQyxDQURHO0FBSlAsa0JBRHNCO0FBQUEsZUFBeEIsQ0FESCxHQVdHLElBbkJOLENBREs7QUFBQSxhQU5nQjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHQUFIOztBQUFBLGtCQUFoQlosZ0JBQWdCO0FBQUE7QUFBQTtBQUFBLEdBQXRCOztlQStCZUEsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBwYXRoSm9pbiwgbWFrZVBhdGhBYnNvbHV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzJ1xuXG4vLyBOb3Qgb25seSBkbyB3ZSBwYXNzIHJlYWN0LWhlbG1ldCBhdHRyaWJ1dGVzIGFuZCB0aGUgYXBwLmpzIGhlcmUsIGJ1dFxuLy8gd2UgYWxzbyBuZWVkIHRvICBoYXJkIGNvZGUgc2l0ZSBwcm9wcyBhbmQgcm91dGUgcHJvcHMgaW50byB0aGUgcGFnZSB0b1xuLy8gcHJldmVudCBmbGFzaGluZyB3aGVuIHJlYWN0IG1vdW50cyBvbnRvIHRoZSBIVE1MLlxuY29uc3QgbWFrZUJvZHlXaXRoTWV0YSA9IGFzeW5jIHN0YXRlID0+IHtcbiAgY29uc3QgeyBoZWFkLCByb3V0ZSwgaW5saW5lU2NyaXB0cywgY2xpZW50U2NyaXB0cyA9IFtdIH0gPSBzdGF0ZVxuXG4gIC8vIFRoaXMgZW1iZWRkZWRSb3V0ZUluZm8gd2lsbCBiZSBpbmxpbmVkIGludG8gdGhlIEhUTUwgZm9yIHRoaXMgcm91dGUuXG4gIC8vIEl0IHNob3VsZCBvbmx5IGluY2x1ZGUgdGhlIGZ1bGwgcHJvcHMsIG5vdCB0aGUgcGFydGlhbHMuXG5cbiAgcmV0dXJuICh7IGNoaWxkcmVuLCAuLi5yZXN0IH0pID0+IChcbiAgICA8Ym9keSB7Li4uaGVhZC5ib2R5UHJvcHN9IHsuLi5yZXN0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIHshcm91dGUucmVkaXJlY3QgPyAoXG4gICAgICAgIDxzY3JpcHRcbiAgICAgICAgICB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCJcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IGlubGluZVNjcmlwdHMucm91dGVJbmZvLnNjcmlwdCB9fVxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXJvdXRlLnJlZGlyZWN0XG4gICAgICAgID8gY2xpZW50U2NyaXB0cy5tYXAoc2NyaXB0ID0+IChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAga2V5PXtzY3JpcHR9XG4gICAgICAgICAgICAgIGRlZmVyXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIlxuICAgICAgICAgICAgICBzcmM9e21ha2VQYXRoQWJzb2x1dGUoXG4gICAgICAgICAgICAgICAgcGF0aEpvaW4ocHJvY2Vzcy5lbnYuUkVBQ1RfU1RBVElDX0FTU0VUU19QQVRILCBzY3JpcHQpXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpXG4gICAgICAgIDogbnVsbH1cbiAgICA8L2JvZHk+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWFrZUJvZHlXaXRoTWV0YVxuIl19