UNPKG

react-static

Version:

A progressive static site generator for React

69 lines (55 loc) 6.31 kB
"use strict"; 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