Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const readable = () => {
const s = new Readable();
s._read = () => true;
return s;
};
const readableString = string => {
const s = new Readable();
s.push(string);
s.push(null);
s._read = () => true;
return s;
};
let projectStyles = {};
getProjectStyles(__dirname + '/../client').then(x => {
projectStyles = x;
console.log(x);
});
const manifect = JSON.parse(fs.readFileSync(__dirname + '/../client/parcel-manifest.json'));
export default function middleware(req, res) {
// Generate the server-rendered HTML using the appropriate router
const context = {};
let streamUID = 0;
const htmlStream = ReactDOM.renderToNodeStream(
streamUID = uid}>
// Middleware for the server-rendering
import {printDrainHydrateMarks} from 'react-imported-component';
import React from 'react';
import ReactDOM from 'react-dom/server';
import {StaticRouter} from 'react-router-dom';
import App from '../app/App';
import generateHtml from './generateHtml';
import {getProjectStyles, getUsedStyles} from 'used-styles';
let projectStyles;
getProjectStyles(__dirname+'/../client').then(x => {
projectStyles = x;
console.log(x);
});
export default function middleware(req, res) {
// Generate the server-rendered HTML using the appropriate router
const context = {};
const markup = ReactDOM.renderToString(
) + printDrainHydrateMarks();
// If react-router is redirecting, do it on the server side
if (context.url) {
return res.redirect(301, context.url);
const readable = () => {
const s = new Readable();
s._read = () => true;
return s;
};
const readableString = string => {
const s = new Readable();
s.push(string);
s.push(null);
s._read = () => true;
return s;
};
let projectStyles = {};
getProjectStyles(__dirname + '/../client').then(x => {
projectStyles = x;
console.log(x);
});
const manifect = JSON.parse(fs.readFileSync(__dirname + '/../client/parcel-manifest.json'));
export default function middleware(req, res) {
// Generate the server-rendered HTML using the appropriate router
const context = {};
let streamUID = 0;
const htmlStream = ReactDOM.renderToNodeStream(
streamUID = uid}>
export default function middleware(req, res) {
// Generate the server-rendered HTML using the appropriate router
const context = {};
const markup = ReactDOM.renderToString(
) + printDrainHydrateMarks();
// If react-router is redirecting, do it on the server side
if (context.url) {
return res.redirect(301, context.url);
}
const usedStyles = getUsedStyles(markup, projectStyles);
console.log('used styles', usedStyles);
// Format the HTML using the template and send the result
const html = generateHtml('JS will start in ~2s<br>' + markup, usedStyles);
res.send(html);
}
);
// If react-router is redirecting, do it on the server side
if (context.url) {
return res.redirect(301, context.url);
}
// create a "header" stream
const headerStream = readable();
// create a style steam
const styledStream = createStyleStream(projectStyles, (style) => {
// emit a line to header Stream
headerStream.push(`\n`);
});
// allow client to start loading js bundle
res.write(``);
const middleStream = readableString('<div id="app">');
const endStream = readableString('</div>');
const streams = [
headerStream,
middleStream,
styledStream,
endStream,
];
let streamUID = 0;
const htmlStream = ReactDOM.renderToNodeStream(
streamUID = uid}>
);
// If react-router is redirecting, do it on the server side
if (context.url) {
return res.redirect(301, context.url);
}
// create a style steam
const styledStream = createStyleStream(projectStyles, (style) => (
// just return it
createLink(`dist/${style}`)
));
// allow client to start loading js bundle
res.write(`<div id="app">`);
const endStream = readableString('');
const streams = [
styledStream,
endStream,
];
MultiStream(streams).pipe(res);
</div>