@react-ssr/core
Version:
React SSR as a view template engine
2 lines (1 loc) • 1.66 kB
JavaScript
;function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var r=require("./register-d9711d86.js"),t=e(require("path")),s=e(require("fs-extra"));require("react"),require("slash"),require("lz-string"),require("urlsafe-base64");var n=e(require("fs"));require("recursive-readdir");var i=require("./helpers-d3f0de54.js"),u=e(require("memory-fs")),a=e(require("webpack"));require("webpack-merge"),require("mini-css-extract-plugin"),require("optimize-css-assets-webpack-plugin"),require("terser-webpack-plugin");var c=process.cwd(),o=require("unionfs").ufs,f=new u;o.use(n).use(f);var p=function(){var e=r.asyncToGenerator(r.regenerator.mark((function e(u){var p,d,g,q,l,v;return r.regenerator.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s.removeSync(t.join(c,r.ssrConfig.distDir)),e.next=3,i.getEntry(f);case 3:return p=e.sent,d=i.slicedToArray(p,2),g=d[0],q=d[1],l=i.configureWebpack(g),(v=a(l)).inputFileSystem=o,e.next=12,new i.promise((function(e,s){v.run((function(i,a){i&&s(i.stack||i),a.hasErrors()&&s(a.toString());for(var o=function(e){var s=q[e],i=r.getPageId(s,"_");u.use("/_react-ssr/".concat(i,".css"),(function(e,s){var u=t.join(c,r.ssrConfig.distDir,"".concat(i,".css")),a=r.existsSync(u)?n.readFileSync(u).toString():"";s.writeHead(200,{"Content-Type":"text/css"}),s.end(a,"utf-8")})),u.use("/_react-ssr/".concat(i,".js"),(function(e,s){var u=t.join(c,r.ssrConfig.distDir,"".concat(i,".js")),a=n.readFileSync(u).toString();s.status(200).type(".js").send(a)}))},f=0;f<q.length;f++)o(f);e()}))}));case 12:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();exports.default=p;