UNPKG

react-static

Version:

A progressive static site generator for React

62 lines (47 loc) 4.44 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = createIndexPlaceholder; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _react = _interopRequireDefault(require("react")); var _server = require("react-dom/server"); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _RootComponents = require("../static/components/RootComponents"); function createIndexPlaceholder(_x) { return _createIndexPlaceholder.apply(this, arguments); } function _createIndexPlaceholder() { _createIndexPlaceholder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(state) { var _state$config, Document, paths, Component, DocumentHtml, html; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _state$config = state.config, Document = _state$config.Document, paths = _state$config.paths; // Render the base document component to string with siteprops Component = Document || _RootComponents.DefaultDocument; DocumentHtml = (0, _server.renderToString)( /*#__PURE__*/_react["default"].createElement(Component, { Html: _RootComponents.Html, Head: _RootComponents.Head, Body: _RootComponents.Body, state: state }, /*#__PURE__*/_react["default"].createElement("div", { id: "root" }))); html = "<!DOCTYPE html>".concat(DocumentHtml); // Write the Document to index.html _context.next = 6; return _fsExtra["default"].outputFile(paths.HTML_TEMPLATE, html); case 6: return _context.abrupt("return", state); case 7: case "end": return _context.stop(); } } }, _callee); })); return _createIndexPlaceholder.apply(this, arguments); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jcmVhdGVJbmRleFBsYWNlaG9sZGVyLmpzIl0sIm5hbWVzIjpbImNyZWF0ZUluZGV4UGxhY2Vob2xkZXIiLCJzdGF0ZSIsImNvbmZpZyIsIkRvY3VtZW50IiwicGF0aHMiLCJDb21wb25lbnQiLCJEZWZhdWx0RG9jdW1lbnQiLCJEb2N1bWVudEh0bWwiLCJIdG1sIiwiSGVhZCIsIkJvZHkiLCJodG1sIiwiZnMiLCJvdXRwdXRGaWxlIiwiSFRNTF9URU1QTEFURSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztTQU84QkEsc0I7Ozs7OzBHQUFmLGlCQUFzQ0MsS0FBdEM7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDRCQUdUQSxLQUhTLENBRVhDLE1BRlcsRUFFREMsUUFGQyxpQkFFREEsUUFGQyxFQUVTQyxLQUZULGlCQUVTQSxLQUZULEVBSWI7O0FBQ01DLFlBQUFBLFNBTE8sR0FLS0YsUUFBUSxJQUFJRywrQkFMakI7QUFNUEMsWUFBQUEsWUFOTyxHQU1RLDBDQUNuQixnQ0FBQyxTQUFEO0FBQVcsY0FBQSxJQUFJLEVBQUVDLG9CQUFqQjtBQUF1QixjQUFBLElBQUksRUFBRUMsb0JBQTdCO0FBQW1DLGNBQUEsSUFBSSxFQUFFQyxvQkFBekM7QUFBK0MsY0FBQSxLQUFLLEVBQUVUO0FBQXRELDRCQUNFO0FBQUssY0FBQSxFQUFFLEVBQUM7QUFBUixjQURGLENBRG1CLENBTlI7QUFXUFUsWUFBQUEsSUFYTyw0QkFXa0JKLFlBWGxCLEdBYWI7O0FBYmE7QUFBQSxtQkFjUEssb0JBQUdDLFVBQUgsQ0FBY1QsS0FBSyxDQUFDVSxhQUFwQixFQUFtQ0gsSUFBbkMsQ0FkTzs7QUFBQTtBQUFBLDZDQWdCTlYsS0FoQk07O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHJlbmRlclRvU3RyaW5nIH0gZnJvbSAncmVhY3QtZG9tL3NlcnZlcidcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSdcbmltcG9ydCB7XG4gIERlZmF1bHREb2N1bWVudCxcbiAgSHRtbCxcbiAgSGVhZCxcbiAgQm9keSxcbn0gZnJvbSAnLi4vc3RhdGljL2NvbXBvbmVudHMvUm9vdENvbXBvbmVudHMnXG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUluZGV4UGxhY2Vob2xkZXIoc3RhdGUpIHtcbiAgY29uc3Qge1xuICAgIGNvbmZpZzogeyBEb2N1bWVudCwgcGF0aHMgfSxcbiAgfSA9IHN0YXRlXG4gIC8vIFJlbmRlciB0aGUgYmFzZSBkb2N1bWVudCBjb21wb25lbnQgdG8gc3RyaW5nIHdpdGggc2l0ZXByb3BzXG4gIGNvbnN0IENvbXBvbmVudCA9IERvY3VtZW50IHx8IERlZmF1bHREb2N1bWVudFxuICBjb25zdCBEb2N1bWVudEh0bWwgPSByZW5kZXJUb1N0cmluZyhcbiAgICA8Q29tcG9uZW50IEh0bWw9e0h0bWx9IEhlYWQ9e0hlYWR9IEJvZHk9e0JvZHl9IHN0YXRlPXtzdGF0ZX0+XG4gICAgICA8ZGl2IGlkPVwicm9vdFwiIC8+XG4gICAgPC9Db21wb25lbnQ+XG4gIClcbiAgY29uc3QgaHRtbCA9IGA8IURPQ1RZUEUgaHRtbD4ke0RvY3VtZW50SHRtbH1gXG5cbiAgLy8gV3JpdGUgdGhlIERvY3VtZW50IHRvIGluZGV4Lmh0bWxcbiAgYXdhaXQgZnMub3V0cHV0RmlsZShwYXRocy5IVE1MX1RFTVBMQVRFLCBodG1sKVxuXG4gIHJldHVybiBzdGF0ZVxufVxuIl19