@react-ssr/core
Version:
React SSR as a view template engine
41 lines (32 loc) • 2.25 kB
JavaScript
;
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var register = require('./register-d9711d86.js');
require('path');
require('fs-extra');
require('react');
require('slash');
require('lz-string');
require('urlsafe-base64');
require('fs');
require('recursive-readdir');
var helpers = require('./helpers-b171c284.js');
require('stream');
var cheerio = _interopDefault(require('cheerio'));
var Head = require('./head');
var _require = require('styled-components'),
ServerStyleSheet = _require.ServerStyleSheet;
var styledComponents = (function (app, pageId, props) {
var sheet = new ServerStyleSheet();
try {
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10;
var html = helpers.server.renderToString(sheet.collectStyles(app));
var styleTags = sheet.getStyleTags();
var $ = cheerio.load(html);
var scriptTags = $.html($('body script'));
var bodyWithoutScriptTags = ($('body').html() || '').replace(scriptTags, '');
return register.concat(_context = register.concat(_context2 = register.concat(_context3 = register.concat(_context4 = register.concat(_context5 = register.concat(_context6 = register.concat(_context7 = register.concat(_context8 = register.concat(_context9 = register.concat(_context10 = "<!DOCTYPE html><html".concat(helpers.convertAttrToString($('html').attr()), "><head>")).call(_context10, helpers.getHeadHtml(Head.rewind()), "<link rel=\"preload\" href=\"/_react-ssr/")).call(_context9, pageId, ".js\" as=\"script\"><link rel=\"preload\" href=\"/_react-ssr/")).call(_context8, pageId, ".css\" as=\"style\"><link rel=\"stylesheet\" href=\"/_react-ssr/")).call(_context7, pageId, ".css\">")).call(_context6, styleTags, "</head><body")).call(_context5, helpers.convertAttrToString($('body').attr()), "><div id=\"react-ssr-root\">")).call(_context4, bodyWithoutScriptTags, "</div><script id=\"react-ssr-script\" src=\"/_react-ssr/")).call(_context3, pageId, ".js\" data-props=\"")).call(_context2, props, "\" defer></script>")).call(_context, scriptTags, "</body></html>");
} finally {
sheet.seal();
}
});
exports.default = styledComponents;