@cedarjs/vite 5.0.2-rc.5 → 6.0.0-canary.2619
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apiDevMiddleware.d.ts.map +1 -1
- package/dist/apiDevMiddleware.js +16 -2
- package/dist/buildApp.d.ts.map +1 -1
- package/dist/buildApp.js +8 -3
- package/dist/bundled/react-server-dom-webpack.server.js +1224 -28521
- package/dist/cjs/apiDevMiddleware.js +16 -2
- package/dist/cjs/buildApp.js +8 -3
- package/dist/cjs/devFeServer.js +268 -15
- package/dist/cjs/index.js +21 -13
- package/dist/cjs/lib/registerFwGlobalsAndShims.js +9 -0
- package/dist/cjs/plugins/vite-plugin-cedar-data-uri-shim.js +67 -0
- package/dist/cjs/plugins/vite-plugin-cedar-gqlorm-inject.js +106 -0
- package/dist/cjs/plugins/vite-plugin-cedar-graphql-options-extract.js +113 -0
- package/dist/cjs/plugins/vite-plugin-cedar-otel-wrapping.js +225 -0
- package/dist/cjs/plugins/vite-plugin-cedar-universal-deploy.js +1 -1
- package/dist/cjs/plugins/{vite-plugin-cedar-context-wrapping.js → vite-plugin-handler-als-wrapping.js} +21 -21
- package/dist/cjs/plugins/vite-plugin-rsc-ssr-router-import.js +2 -2
- package/dist/cjs/plugins/vite-plugin-rsc-transform-server.js +4 -0
- package/dist/cjs/rsc/rscRenderer.js +23 -9
- package/dist/cjs/rsc/rscRequestHandler.js +6 -6
- package/dist/cjs/rsc/rscWebSocketServer.js +56 -0
- package/dist/cjs/rsc/utils.js +56 -0
- package/dist/cjs/runFeServer.js +3 -22
- package/dist/cjs/streaming/createReactStreamingHandler.js +13 -10
- package/dist/cjs/streaming/streamHelpers.js +49 -32
- package/dist/cjs/streaming/triggerRouteHooks.js +3 -3
- package/dist/devFeServer.js +272 -16
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -9
- package/dist/lib/registerFwGlobalsAndShims.js +9 -0
- package/dist/plugins/vite-plugin-cedar-data-uri-shim.d.ts +3 -0
- package/dist/plugins/vite-plugin-cedar-data-uri-shim.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-cedar-data-uri-shim.js +43 -0
- package/dist/plugins/vite-plugin-cedar-gqlorm-inject.d.ts +29 -0
- package/dist/plugins/vite-plugin-cedar-gqlorm-inject.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-cedar-gqlorm-inject.js +76 -0
- package/dist/plugins/vite-plugin-cedar-graphql-options-extract.d.ts +38 -0
- package/dist/plugins/vite-plugin-cedar-graphql-options-extract.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-cedar-graphql-options-extract.js +88 -0
- package/dist/plugins/vite-plugin-cedar-otel-wrapping.d.ts +39 -0
- package/dist/plugins/vite-plugin-cedar-otel-wrapping.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-cedar-otel-wrapping.js +200 -0
- package/dist/plugins/vite-plugin-cedar-universal-deploy.js +1 -1
- package/dist/plugins/{vite-plugin-cedar-context-wrapping.d.ts → vite-plugin-handler-als-wrapping.d.ts} +12 -12
- package/dist/plugins/vite-plugin-handler-als-wrapping.d.ts.map +1 -0
- package/dist/plugins/{vite-plugin-cedar-context-wrapping.js → vite-plugin-handler-als-wrapping.js} +16 -16
- package/dist/plugins/vite-plugin-rsc-ssr-router-import.d.ts.map +1 -1
- package/dist/plugins/vite-plugin-rsc-ssr-router-import.js +2 -2
- package/dist/plugins/vite-plugin-rsc-transform-server.d.ts.map +1 -1
- package/dist/plugins/vite-plugin-rsc-transform-server.js +4 -0
- package/dist/rsc/rscRenderer.d.ts.map +1 -1
- package/dist/rsc/rscRenderer.js +19 -5
- package/dist/rsc/rscRequestHandler.d.ts +2 -2
- package/dist/rsc/rscRequestHandler.d.ts.map +1 -1
- package/dist/rsc/rscRequestHandler.js +4 -4
- package/dist/rsc/rscWebSocketServer.d.ts +2 -0
- package/dist/rsc/rscWebSocketServer.d.ts.map +1 -0
- package/dist/rsc/rscWebSocketServer.js +22 -0
- package/dist/rsc/utils.d.ts +10 -0
- package/dist/rsc/utils.d.ts.map +1 -0
- package/dist/rsc/utils.js +21 -0
- package/dist/runFeServer.js +2 -21
- package/dist/streaming/createReactStreamingHandler.d.ts +1 -1
- package/dist/streaming/createReactStreamingHandler.d.ts.map +1 -1
- package/dist/streaming/createReactStreamingHandler.js +13 -10
- package/dist/streaming/streamHelpers.d.ts +2 -2
- package/dist/streaming/streamHelpers.d.ts.map +1 -1
- package/dist/streaming/streamHelpers.js +49 -31
- package/dist/streaming/triggerRouteHooks.d.ts +2 -2
- package/dist/streaming/triggerRouteHooks.d.ts.map +1 -1
- package/dist/streaming/triggerRouteHooks.js +3 -3
- package/package.json +19 -20
- package/dist/cjs/plugins/vite-plugin-cedar-node-polyfills.js +0 -43
- package/dist/plugins/vite-plugin-cedar-context-wrapping.d.ts.map +0 -1
- package/dist/plugins/vite-plugin-cedar-node-polyfills.d.ts +0 -3
- package/dist/plugins/vite-plugin-cedar-node-polyfills.d.ts.map +0 -1
- package/dist/plugins/vite-plugin-cedar-node-polyfills.js +0 -19
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var rscWebSocketServer_exports = {};
|
|
30
|
+
__export(rscWebSocketServer_exports, {
|
|
31
|
+
createWebSocketServer: () => createWebSocketServer
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(rscWebSocketServer_exports);
|
|
34
|
+
var import_ws = __toESM(require("ws"), 1);
|
|
35
|
+
function createWebSocketServer() {
|
|
36
|
+
const wsServer = new import_ws.WebSocketServer({ port: 18998 });
|
|
37
|
+
wsServer.on("connection", (ws) => {
|
|
38
|
+
console.log("A new client connected.");
|
|
39
|
+
ws.on("message", (data) => {
|
|
40
|
+
const message = data.toString();
|
|
41
|
+
console.log("Received message:", message);
|
|
42
|
+
wsServer.clients.forEach((client) => {
|
|
43
|
+
if (client.readyState === import_ws.default.OPEN) {
|
|
44
|
+
client.send(message);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
ws.on("close", () => {
|
|
49
|
+
console.log("A client disconnected.");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
createWebSocketServer
|
|
56
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var utils_exports = {};
|
|
30
|
+
__export(utils_exports, {
|
|
31
|
+
importRscReact: () => importRscReact,
|
|
32
|
+
importRsdwServer: () => importRsdwServer
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(utils_exports);
|
|
35
|
+
async function importRscReact() {
|
|
36
|
+
if (globalThis.__cedarjs__vite_rsc_runtime) {
|
|
37
|
+
const reactMod = await globalThis.__cedarjs__vite_rsc_runtime.import("react");
|
|
38
|
+
return reactMod.default;
|
|
39
|
+
}
|
|
40
|
+
return import("react");
|
|
41
|
+
}
|
|
42
|
+
async function importRsdwServer() {
|
|
43
|
+
if (globalThis.__cedarjs__vite_rsc_runtime) {
|
|
44
|
+
const rsdwServerMod = await globalThis.__cedarjs__vite_rsc_runtime.import(
|
|
45
|
+
"react-server-dom-webpack/server.edge"
|
|
46
|
+
);
|
|
47
|
+
return rsdwServerMod.default;
|
|
48
|
+
} else {
|
|
49
|
+
return import("react-server-dom-webpack/server.edge");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
importRscReact,
|
|
55
|
+
importRsdwServer
|
|
56
|
+
});
|
package/dist/cjs/runFeServer.js
CHANGED
|
@@ -38,13 +38,13 @@ var import_server = require("@whatwg-node/server");
|
|
|
38
38
|
var import_dotenv_defaults = require("dotenv-defaults");
|
|
39
39
|
var import_express = __toESM(require("express"), 1);
|
|
40
40
|
var import_http_proxy_middleware = require("http-proxy-middleware");
|
|
41
|
-
var import_ws = __toESM(require("ws"), 1);
|
|
42
41
|
var import_project_config = require("@cedarjs/project-config");
|
|
43
42
|
var import_rscCss = require("@cedarjs/router/rscCss");
|
|
44
43
|
var import_server_store = require("@cedarjs/server-store");
|
|
45
44
|
var import_registerFwGlobalsAndShims = require("./lib/registerFwGlobalsAndShims.js");
|
|
46
45
|
var import_invokeMiddleware = require("./middleware/invokeMiddleware.js");
|
|
47
46
|
var import_register = require("./middleware/register.js");
|
|
47
|
+
var import_rscWebSocketServer = require("./rsc/rscWebSocketServer.js");
|
|
48
48
|
var import_createReactStreamingHandler = require("./streaming/createReactStreamingHandler.js");
|
|
49
49
|
var import_utils = require("./utils.js");
|
|
50
50
|
(0, import_dotenv_defaults.config)({
|
|
@@ -60,7 +60,7 @@ async function runFeServer() {
|
|
|
60
60
|
(0, import_registerFwGlobalsAndShims.registerFwGlobalsAndShims)();
|
|
61
61
|
if (rscEnabled) {
|
|
62
62
|
const { setClientEntries } = await import("./rsc/rscRenderer.js");
|
|
63
|
-
createWebSocketServer();
|
|
63
|
+
(0, import_rscWebSocketServer.createWebSocketServer)();
|
|
64
64
|
try {
|
|
65
65
|
await setClientEntries();
|
|
66
66
|
} catch (e) {
|
|
@@ -119,7 +119,7 @@ async function runFeServer() {
|
|
|
119
119
|
const { createRscRequestHandler } = await import("./rsc/rscRequestHandler.js");
|
|
120
120
|
app.use(
|
|
121
121
|
"/rw-rsc",
|
|
122
|
-
createRscRequestHandler({
|
|
122
|
+
await createRscRequestHandler({
|
|
123
123
|
getMiddlewareRouter: async () => middlewareRouter
|
|
124
124
|
})
|
|
125
125
|
);
|
|
@@ -139,25 +139,6 @@ async function runFeServer() {
|
|
|
139
139
|
`Started production FE server on http://localhost:${rwConfig.web.port}`
|
|
140
140
|
);
|
|
141
141
|
}
|
|
142
|
-
function createWebSocketServer() {
|
|
143
|
-
const wsServer = new import_ws.WebSocketServer({ port: 18998 });
|
|
144
|
-
wsServer.on("connection", (ws) => {
|
|
145
|
-
console.log("A new client connected.");
|
|
146
|
-
ws.on("message", (data) => {
|
|
147
|
-
const message = data.toString();
|
|
148
|
-
console.log("runFeServer.ts: Received message:");
|
|
149
|
-
console.log(message.slice(0, 120) + "...");
|
|
150
|
-
wsServer.clients.forEach((client) => {
|
|
151
|
-
if (client.readyState === import_ws.default.OPEN) {
|
|
152
|
-
client.send(message);
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
ws.on("close", () => {
|
|
157
|
-
console.log("A client disconnected.");
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
142
|
runFeServer();
|
|
162
143
|
// Annotate the CommonJS export names for ESM import in node:
|
|
163
144
|
0 && (module.exports = {
|
|
@@ -50,10 +50,10 @@ const createReactStreamingHandler = async ({
|
|
|
50
50
|
clientEntryPath,
|
|
51
51
|
getStylesheetLinks,
|
|
52
52
|
getMiddlewareRouter
|
|
53
|
-
},
|
|
53
|
+
}, viteSsrDevServer) => {
|
|
54
54
|
const rwPaths = (0, import_project_config.getPaths)();
|
|
55
55
|
const rwConfig = (0, import_project_config.getConfig)();
|
|
56
|
-
const isProd = !
|
|
56
|
+
const isProd = !viteSsrDevServer;
|
|
57
57
|
const middlewareRouter = await getMiddlewareRouter();
|
|
58
58
|
let entryServerImport;
|
|
59
59
|
let fallbackDocumentImport;
|
|
@@ -97,7 +97,7 @@ const createReactStreamingHandler = async ({
|
|
|
97
97
|
route: currentRoute,
|
|
98
98
|
cssPaths: cssLinks,
|
|
99
99
|
params: matchedMw?.params,
|
|
100
|
-
|
|
100
|
+
viteSsrDevServer
|
|
101
101
|
}
|
|
102
102
|
);
|
|
103
103
|
if (mwResponse.isRedirect() || mwResponse.body) {
|
|
@@ -116,8 +116,8 @@ const createReactStreamingHandler = async ({
|
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
118
|
if (!isProd) {
|
|
119
|
-
entryServerImport = await (0, import_utils.ssrLoadEntryServer)(
|
|
120
|
-
fallbackDocumentImport = await
|
|
119
|
+
entryServerImport = await (0, import_utils.ssrLoadEntryServer)(viteSsrDevServer);
|
|
120
|
+
fallbackDocumentImport = await viteSsrDevServer.ssrLoadModule(
|
|
121
121
|
rwPaths.web.document
|
|
122
122
|
);
|
|
123
123
|
}
|
|
@@ -134,10 +134,12 @@ const createReactStreamingHandler = async ({
|
|
|
134
134
|
req,
|
|
135
135
|
parsedParams
|
|
136
136
|
},
|
|
137
|
-
|
|
137
|
+
viteSsrDevServer
|
|
138
138
|
});
|
|
139
139
|
metaTags = routeHookOutput.meta;
|
|
140
|
-
const jsBundles = [
|
|
140
|
+
const jsBundles = [
|
|
141
|
+
viteSsrDevServer ? clientEntryPath : "/" + clientEntryPath
|
|
142
|
+
];
|
|
141
143
|
if (currentRoute.bundle) {
|
|
142
144
|
jsBundles.push("/" + currentRoute.bundle);
|
|
143
145
|
}
|
|
@@ -157,12 +159,13 @@ const createReactStreamingHandler = async ({
|
|
|
157
159
|
{
|
|
158
160
|
waitForAllReady: isSeoCrawler,
|
|
159
161
|
onError: (err) => {
|
|
160
|
-
if (!isProd &&
|
|
161
|
-
|
|
162
|
+
if (!isProd && viteSsrDevServer) {
|
|
163
|
+
viteSsrDevServer.ssrFixStacktrace(err);
|
|
162
164
|
}
|
|
163
165
|
console.error(err);
|
|
164
166
|
}
|
|
165
|
-
}
|
|
167
|
+
},
|
|
168
|
+
viteSsrDevServer
|
|
166
169
|
);
|
|
167
170
|
return reactResponse;
|
|
168
171
|
};
|
|
@@ -28,7 +28,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var streamHelpers_exports = {};
|
|
30
30
|
__export(streamHelpers_exports, {
|
|
31
|
-
importModule: () => importModule,
|
|
32
31
|
reactRenderToStreamResponse: () => reactRenderToStreamResponse
|
|
33
32
|
});
|
|
34
33
|
module.exports = __toCommonJS(streamHelpers_exports);
|
|
@@ -62,7 +61,7 @@ globalThis.__webpack_require__ ||= (id) => {
|
|
|
62
61
|
return globalThis.__rw_module_cache__.get(id)
|
|
63
62
|
};
|
|
64
63
|
`;
|
|
65
|
-
async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions) {
|
|
64
|
+
async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions, viteDevServer) {
|
|
66
65
|
const { waitForAllReady = false } = streamOptions;
|
|
67
66
|
const {
|
|
68
67
|
ServerEntry,
|
|
@@ -84,13 +83,13 @@ async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions)
|
|
|
84
83
|
meta: metaTags
|
|
85
84
|
});
|
|
86
85
|
const rscEnabled = (0, import_project_config.getConfig)().experimental?.rsc?.enabled;
|
|
87
|
-
const { createElement } = rscEnabled ? await importModule("__cedarjs__react") : await import("react");
|
|
86
|
+
const { createElement } = rscEnabled ? await importModule("__cedarjs__react", !!viteDevServer) : await import("react");
|
|
88
87
|
const {
|
|
89
88
|
createInjector,
|
|
90
89
|
ServerHtmlProvider,
|
|
91
90
|
ServerInjectedHtml
|
|
92
|
-
} = rscEnabled ? await importModule("__cedarjs__server_inject") : await import("@cedarjs/web/serverInject");
|
|
93
|
-
const { renderToString } = rscEnabled ? await importModule("rd-server") : await import("react-dom/server");
|
|
91
|
+
} = rscEnabled ? await importModule("__cedarjs__server_inject", !!viteDevServer) : await import("@cedarjs/web/serverInject");
|
|
92
|
+
const { renderToString } = rscEnabled ? await importModule("rd-server", !!viteDevServer) : await import("react-dom/server");
|
|
94
93
|
const { injectionState, injectToPage } = createInjector();
|
|
95
94
|
const bufferTransform = (0, import_bufferedTransform.createBufferedTransformStream)();
|
|
96
95
|
const serverInjectionTransform = (0, import_serverInjectionTransform.createServerInjectionTransform)({
|
|
@@ -105,8 +104,8 @@ async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions)
|
|
|
105
104
|
controller.abort();
|
|
106
105
|
}, 1e4);
|
|
107
106
|
const timeoutTransform = (0, import_cancelTimeoutTransform.createTimeoutTransform)(timeoutHandle);
|
|
108
|
-
const { ServerAuthProvider } = rscEnabled ? await importModule("__cedarjs__server_auth_provider") : await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
109
|
-
const { LocationProvider } = rscEnabled ? await importModule("__cedarjs__location") : await import("@cedarjs/router/location");
|
|
107
|
+
const { ServerAuthProvider } = rscEnabled ? await importModule("__cedarjs__server_auth_provider", !!viteDevServer) : await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
108
|
+
const { LocationProvider } = rscEnabled ? await importModule("__cedarjs__location", !!viteDevServer) : await import("@cedarjs/router/location");
|
|
110
109
|
const renderRoot = (url) => {
|
|
111
110
|
return createElement(
|
|
112
111
|
ServerAuthProvider,
|
|
@@ -138,7 +137,7 @@ async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions)
|
|
|
138
137
|
),
|
|
139
138
|
bootstrapModules: jsBundles
|
|
140
139
|
};
|
|
141
|
-
const { renderToReadableStream } = rscEnabled ? await importModule("rd-server") : await import("react-dom/server.edge");
|
|
140
|
+
const { renderToReadableStream } = rscEnabled ? await importModule("rd-server", !!viteDevServer) : await import("react-dom/server.edge");
|
|
142
141
|
try {
|
|
143
142
|
let didErrorOutsideShell = false;
|
|
144
143
|
const renderToStreamOptions = {
|
|
@@ -197,34 +196,52 @@ function applyStreamTransforms(reactStream, transformsToApply) {
|
|
|
197
196
|
}
|
|
198
197
|
return outputStream;
|
|
199
198
|
}
|
|
200
|
-
async function importModule(mod) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
199
|
+
async function importModule(mod, isDev) {
|
|
200
|
+
if (isDev) {
|
|
201
|
+
if (mod === "rd-server") {
|
|
202
|
+
const loadedMod = await import("react-dom/server.edge");
|
|
203
|
+
return loadedMod.default;
|
|
204
|
+
} else if (mod === "__cedarjs__react") {
|
|
205
|
+
const loadedMod = await import("react");
|
|
206
|
+
return loadedMod.default;
|
|
207
|
+
} else if (mod === "__cedarjs__location") {
|
|
208
|
+
const loadedMod = await import("@cedarjs/router/location");
|
|
209
|
+
return loadedMod;
|
|
210
|
+
} else if (mod === "__cedarjs__server_auth_provider") {
|
|
211
|
+
const loadedMod = await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
212
|
+
return loadedMod;
|
|
213
|
+
} else if (mod === "__cedarjs__server_inject") {
|
|
214
|
+
const loadedMod = await import("@cedarjs/web/serverInject");
|
|
215
|
+
return loadedMod;
|
|
216
|
+
}
|
|
217
|
+
} else {
|
|
218
|
+
const distSsr = (0, import_project_config.getPaths)().web.distSsr;
|
|
219
|
+
const rdServerPath = (0, import_utils.makeFilePath)(import_node_path.default.join(distSsr, "rd-server.mjs"));
|
|
220
|
+
const reactPath = (0, import_utils.makeFilePath)(import_node_path.default.join(distSsr, "__cedarjs__react.mjs"));
|
|
221
|
+
const locationPath = (0, import_utils.makeFilePath)(
|
|
222
|
+
import_node_path.default.join(distSsr, "__cedarjs__location.mjs")
|
|
223
|
+
);
|
|
224
|
+
const serverAuthProviderPath = (0, import_utils.makeFilePath)(
|
|
225
|
+
import_node_path.default.join(distSsr, "__cedarjs__server_auth_provider.mjs")
|
|
226
|
+
);
|
|
227
|
+
const serverInjectPath = (0, import_utils.makeFilePath)(
|
|
228
|
+
import_node_path.default.join(distSsr, "__cedarjs__server_inject.mjs")
|
|
229
|
+
);
|
|
230
|
+
if (mod === "rd-server") {
|
|
231
|
+
return (await import(rdServerPath)).default;
|
|
232
|
+
} else if (mod === "__cedarjs__react") {
|
|
233
|
+
return (await import(reactPath)).default;
|
|
234
|
+
} else if (mod === "__cedarjs__location") {
|
|
235
|
+
return await import(locationPath);
|
|
236
|
+
} else if (mod === "__cedarjs__server_auth_provider") {
|
|
237
|
+
return await import(serverAuthProviderPath);
|
|
238
|
+
} else if (mod === "__cedarjs__server_inject") {
|
|
239
|
+
return await import(serverInjectPath);
|
|
240
|
+
}
|
|
223
241
|
}
|
|
224
242
|
throw new Error("Unknown module " + mod);
|
|
225
243
|
}
|
|
226
244
|
// Annotate the CommonJS export names for ESM import in node:
|
|
227
245
|
0 && (module.exports = {
|
|
228
|
-
importModule,
|
|
229
246
|
reactRenderToStreamResponse
|
|
230
247
|
});
|
|
@@ -55,11 +55,11 @@ const defaultRouteHookOutput = {
|
|
|
55
55
|
const loadAndRunRouteHooks = async ({
|
|
56
56
|
paths = [],
|
|
57
57
|
reqMeta,
|
|
58
|
-
|
|
58
|
+
viteSsrDevServer,
|
|
59
59
|
previousOutput = defaultRouteHookOutput
|
|
60
60
|
}) => {
|
|
61
61
|
const loadModule = async (path) => {
|
|
62
|
-
return
|
|
62
|
+
return viteSsrDevServer ? viteSsrDevServer.ssrLoadModule(path) : import(path);
|
|
63
63
|
};
|
|
64
64
|
let currentRouteHooks;
|
|
65
65
|
let rhOutput = defaultRouteHookOutput;
|
|
@@ -79,7 +79,7 @@ const loadAndRunRouteHooks = async ({
|
|
|
79
79
|
paths,
|
|
80
80
|
reqMeta,
|
|
81
81
|
previousOutput: rhOutput,
|
|
82
|
-
|
|
82
|
+
viteSsrDevServer
|
|
83
83
|
});
|
|
84
84
|
} else {
|
|
85
85
|
return rhOutput;
|