vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
52 lines (49 loc) • 4.66 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import { createHtmlStream } from '../stream/createHtmlStream.client.js';
const createRscToHtmlStream = function _createRscToHtmlStream(options) {
const {
route,
verbose,
signal,
logger,
rscStream,
// Only pass the props the HTML stream actually needs
moduleRootPath,
moduleBasePath,
moduleBaseURL,
clientPipeableStreamOptions,
...otherOptions
} = options;
if (verbose) {
logger?.info(
`[createRscToHtmlStream:${route}] Creating RSC to HTML transform stream (client-side, using createHtmlStream)`
);
}
const htmlStream = createHtmlStream({
route,
rscStream,
logger,
verbose,
// Only pass the essential props
moduleRootPath,
moduleBasePath,
moduleBaseURL,
clientPipeableStreamOptions,
...otherOptions
});
if (signal) {
signal.addEventListener("abort", () => {
if (verbose) {
logger?.info(`[createRscToHtmlStream:${route}] Abort signal received`);
}
htmlStream.abort();
});
}
return htmlStream;
};
export { createRscToHtmlStream };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNjVG9IdG1sU3RyZWFtLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3JlYWN0LXN0YXRpYy9yc2NUb0h0bWxTdHJlYW0uY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogcnNjVG9IdG1sU3RyZWFtLmNsaWVudC50c1xuICpcbiAqIFBVUlBPU0U6IFRyYW5zZm9ybXMgUlNDIHN0cmVhbSB0byBIVE1MIHN0cmVhbSBvbiBjbGllbnQgc2lkZVxuICogXG4gKiBUaGlzIGZvbGxvd3MgdGhlIGNsaWVudC1zaWRlIHBhdHRlcm4gd2hlcmUgdGhlIG1haW4gdGhyZWFkIHJ1bnMgUmVhY3QgQ2xpZW50IENvbXBvbmVudHM6XG4gKiBcbiAqIENsaWVudC1zaWRlIHBhdHRlcm46IFJTQyBjaHVua3Mg4oaSIE1haW4gdGhyZWFkIEhUTUwgY29udmVyc2lvbiAobWFpbiB0aHJlYWQgaXMgdGhlIEhUTUwgd29ya2VyKVxuICovXG5pbXBvcnQgdHlwZSB7IFJzY1RvSHRtbFN0cmVhbUZuIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZUh0bWxTdHJlYW0gfSBmcm9tIFwiLi4vc3RyZWFtL2NyZWF0ZUh0bWxTdHJlYW0uY2xpZW50LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVSc2NUb0h0bWxTdHJlYW06IFJzY1RvSHRtbFN0cmVhbUZuID0gZnVuY3Rpb24gX2NyZWF0ZVJzY1RvSHRtbFN0cmVhbShcbiAgb3B0aW9uc1xuKSB7XG4gIGNvbnN0IHtcbiAgICByb3V0ZSxcbiAgICB2ZXJib3NlLFxuICAgIHNpZ25hbCxcbiAgICBsb2dnZXIsXG4gICAgcnNjU3RyZWFtLFxuICAgIC8vIE9ubHkgcGFzcyB0aGUgcHJvcHMgdGhlIEhUTUwgc3RyZWFtIGFjdHVhbGx5IG5lZWRzXG4gICAgbW9kdWxlUm9vdFBhdGgsXG4gICAgbW9kdWxlQmFzZVBhdGgsXG4gICAgbW9kdWxlQmFzZVVSTCxcbiAgICBjbGllbnRQaXBlYWJsZVN0cmVhbU9wdGlvbnMsXG4gICAgLi4ub3RoZXJPcHRpb25zXG4gIH0gPSBvcHRpb25zO1xuXG4gIGlmICh2ZXJib3NlKSB7XG4gICAgbG9nZ2VyPy5pbmZvKFxuICAgICAgYFtjcmVhdGVSc2NUb0h0bWxTdHJlYW06JHtyb3V0ZX1dIENyZWF0aW5nIFJTQyB0byBIVE1MIHRyYW5zZm9ybSBzdHJlYW0gKGNsaWVudC1zaWRlLCB1c2luZyBjcmVhdGVIdG1sU3RyZWFtKWBcbiAgICApO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBleGlzdGluZyBjbGllbnQtc2lkZSBjcmVhdGVIdG1sU3RyZWFtIHdoaWNoIGhhbmRsZXMgUlNDIHRvIEhUTUwgY29udmVyc2lvblxuICBjb25zdCBodG1sU3RyZWFtID0gY3JlYXRlSHRtbFN0cmVhbSh7XG4gICAgcm91dGUsXG4gICAgcnNjU3RyZWFtLFxuICAgIGxvZ2dlcixcbiAgICB2ZXJib3NlLFxuICAgIC8vIE9ubHkgcGFzcyB0aGUgZXNzZW50aWFsIHByb3BzXG4gICAgbW9kdWxlUm9vdFBhdGgsXG4gICAgbW9kdWxlQmFzZVBhdGgsXG4gICAgbW9kdWxlQmFzZVVSTCxcbiAgICBjbGllbnRQaXBlYWJsZVN0cmVhbU9wdGlvbnMsXG4gICAgLi4ub3RoZXJPcHRpb25zLFxuICB9KTtcblxuICAvLyBIYW5kbGUgYWJvcnQgc2lnbmFsXG4gIGlmIChzaWduYWwpIHtcbiAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsICgpID0+IHtcbiAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgIGxvZ2dlcj8uaW5mbyhgW2NyZWF0ZVJzY1RvSHRtbFN0cmVhbToke3JvdXRlfV0gQWJvcnQgc2lnbmFsIHJlY2VpdmVkYCk7XG4gICAgICB9XG4gICAgICBodG1sU3RyZWFtLmFib3J0KCk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gaHRtbFN0cmVhbTtcbn07Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFZYSxNQUFBLHFCQUFBLEdBQTJDLFNBQVMsc0JBQUEsQ0FDL0QsT0FDQSxFQUFBO0FBQ0EsRUFBTSxNQUFBO0FBQUEsSUFDSixLQUFBO0FBQUEsSUFDQSxPQUFBO0FBQUEsSUFDQSxNQUFBO0FBQUEsSUFDQSxNQUFBO0FBQUEsSUFDQSxTQUFBO0FBQUE7QUFBQSxJQUVBLGNBQUE7QUFBQSxJQUNBLGNBQUE7QUFBQSxJQUNBLGFBQUE7QUFBQSxJQUNBLDJCQUFBO0FBQUEsSUFDQSxHQUFHO0FBQUEsR0FDRCxHQUFBLE9BQUE7QUFFSixFQUFBLElBQUksT0FBUyxFQUFBO0FBQ1gsSUFBUSxNQUFBLEVBQUEsSUFBQTtBQUFBLE1BQ04sMEJBQTBCLEtBQUssQ0FBQSw2RUFBQTtBQUFBLEtBQ2pDO0FBQUE7QUFJRixFQUFBLE1BQU0sYUFBYSxnQkFBaUIsQ0FBQTtBQUFBLElBQ2xDLEtBQUE7QUFBQSxJQUNBLFNBQUE7QUFBQSxJQUNBLE1BQUE7QUFBQSxJQUNBLE9BQUE7QUFBQTtBQUFBLElBRUEsY0FBQTtBQUFBLElBQ0EsY0FBQTtBQUFBLElBQ0EsYUFBQTtBQUFBLElBQ0EsMkJBQUE7QUFBQSxJQUNBLEdBQUc7QUFBQSxHQUNKLENBQUE7QUFHRCxFQUFBLElBQUksTUFBUSxFQUFBO0FBQ1YsSUFBTyxNQUFBLENBQUEsZ0JBQUEsQ0FBaUIsU0FBUyxNQUFNO0FBQ3JDLE1BQUEsSUFBSSxPQUFTLEVBQUE7QUFDWCxRQUFRLE1BQUEsRUFBQSxJQUFBLENBQUssQ0FBMEIsdUJBQUEsRUFBQSxLQUFLLENBQXlCLHVCQUFBLENBQUEsQ0FBQTtBQUFBO0FBRXZFLE1BQUEsVUFBQSxDQUFXLEtBQU0sRUFBQTtBQUFBLEtBQ2xCLENBQUE7QUFBQTtBQUdILEVBQU8sT0FBQSxVQUFBO0FBQ1Q7Ozs7In0=