@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,22 @@
|
|
|
1
|
+
import WebSocket, { WebSocketServer } from "ws";
|
|
2
|
+
function createWebSocketServer() {
|
|
3
|
+
const wsServer = new WebSocketServer({ port: 18998 });
|
|
4
|
+
wsServer.on("connection", (ws) => {
|
|
5
|
+
console.log("A new client connected.");
|
|
6
|
+
ws.on("message", (data) => {
|
|
7
|
+
const message = data.toString();
|
|
8
|
+
console.log("Received message:", message);
|
|
9
|
+
wsServer.clients.forEach((client) => {
|
|
10
|
+
if (client.readyState === WebSocket.OPEN) {
|
|
11
|
+
client.send(message);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
ws.on("close", () => {
|
|
16
|
+
console.log("A client disconnected.");
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
createWebSocketServer
|
|
22
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { default as RSDWServerModule } from 'react-server-dom-webpack/server.edge';
|
|
2
|
+
type RSDWServerType = typeof RSDWServerModule;
|
|
3
|
+
/**
|
|
4
|
+
* This function ensures we load the version of React that's been imported with
|
|
5
|
+
* the react-server condition.
|
|
6
|
+
*/
|
|
7
|
+
export declare function importRscReact(): Promise<any>;
|
|
8
|
+
export declare function importRsdwServer(): Promise<RSDWServerType>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rsc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvF,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAA;AAE7C;;;GAGG;AACH,wBAAsB,cAAc,iBAQnC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC,CAUhE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
async function importRscReact() {
|
|
2
|
+
if (globalThis.__cedarjs__vite_rsc_runtime) {
|
|
3
|
+
const reactMod = await globalThis.__cedarjs__vite_rsc_runtime.import("react");
|
|
4
|
+
return reactMod.default;
|
|
5
|
+
}
|
|
6
|
+
return import("react");
|
|
7
|
+
}
|
|
8
|
+
async function importRsdwServer() {
|
|
9
|
+
if (globalThis.__cedarjs__vite_rsc_runtime) {
|
|
10
|
+
const rsdwServerMod = await globalThis.__cedarjs__vite_rsc_runtime.import(
|
|
11
|
+
"react-server-dom-webpack/server.edge"
|
|
12
|
+
);
|
|
13
|
+
return rsdwServerMod.default;
|
|
14
|
+
} else {
|
|
15
|
+
return import("react-server-dom-webpack/server.edge");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
importRscReact,
|
|
20
|
+
importRsdwServer
|
|
21
|
+
};
|
package/dist/runFeServer.js
CHANGED
|
@@ -5,13 +5,13 @@ import { createServerAdapter } from "@whatwg-node/server";
|
|
|
5
5
|
import { config as loadDotEnv } from "dotenv-defaults";
|
|
6
6
|
import express from "express";
|
|
7
7
|
import { createProxyMiddleware } from "http-proxy-middleware";
|
|
8
|
-
import WebSocket, { WebSocketServer } from "ws";
|
|
9
8
|
import { getConfig, getPaths } from "@cedarjs/project-config";
|
|
10
9
|
import { getRscStylesheetLinkGenerator } from "@cedarjs/router/rscCss";
|
|
11
10
|
import { createPerRequestMap, createServerStorage } from "@cedarjs/server-store";
|
|
12
11
|
import { registerFwGlobalsAndShims } from "./lib/registerFwGlobalsAndShims.js";
|
|
13
12
|
import { invoke } from "./middleware/invokeMiddleware.js";
|
|
14
13
|
import { createMiddlewareRouter } from "./middleware/register.js";
|
|
14
|
+
import { createWebSocketServer } from "./rsc/rscWebSocketServer.js";
|
|
15
15
|
import { createReactStreamingHandler } from "./streaming/createReactStreamingHandler.js";
|
|
16
16
|
import { convertExpressHeaders, getFullUrl } from "./utils.js";
|
|
17
17
|
loadDotEnv({
|
|
@@ -86,7 +86,7 @@ async function runFeServer() {
|
|
|
86
86
|
const { createRscRequestHandler } = await import("./rsc/rscRequestHandler.js");
|
|
87
87
|
app.use(
|
|
88
88
|
"/rw-rsc",
|
|
89
|
-
createRscRequestHandler({
|
|
89
|
+
await createRscRequestHandler({
|
|
90
90
|
getMiddlewareRouter: async () => middlewareRouter
|
|
91
91
|
})
|
|
92
92
|
);
|
|
@@ -106,25 +106,6 @@ async function runFeServer() {
|
|
|
106
106
|
`Started production FE server on http://localhost:${rwConfig.web.port}`
|
|
107
107
|
);
|
|
108
108
|
}
|
|
109
|
-
function createWebSocketServer() {
|
|
110
|
-
const wsServer = new WebSocketServer({ port: 18998 });
|
|
111
|
-
wsServer.on("connection", (ws) => {
|
|
112
|
-
console.log("A new client connected.");
|
|
113
|
-
ws.on("message", (data) => {
|
|
114
|
-
const message = data.toString();
|
|
115
|
-
console.log("runFeServer.ts: Received message:");
|
|
116
|
-
console.log(message.slice(0, 120) + "...");
|
|
117
|
-
wsServer.clients.forEach((client) => {
|
|
118
|
-
if (client.readyState === WebSocket.OPEN) {
|
|
119
|
-
client.send(message);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
ws.on("close", () => {
|
|
124
|
-
console.log("A client disconnected.");
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
109
|
runFeServer();
|
|
129
110
|
export {
|
|
130
111
|
runFeServer
|
|
@@ -7,6 +7,6 @@ interface CreateReactStreamingHandlerOptions {
|
|
|
7
7
|
getStylesheetLinks: (route?: RWRouteManifestItem | RouteSpec) => string[];
|
|
8
8
|
getMiddlewareRouter: () => Promise<Router.Instance<any>>;
|
|
9
9
|
}
|
|
10
|
-
export declare const createReactStreamingHandler: ({ routes, clientEntryPath, getStylesheetLinks, getMiddlewareRouter, }: CreateReactStreamingHandlerOptions,
|
|
10
|
+
export declare const createReactStreamingHandler: ({ routes, clientEntryPath, getStylesheetLinks, getMiddlewareRouter, }: CreateReactStreamingHandlerOptions, viteSsrDevServer?: ViteDevServer) => Promise<(req: Request) => Promise<Response>>;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=createReactStreamingHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createReactStreamingHandler.d.ts","sourceRoot":"","sources":["../../src/streaming/createReactStreamingHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAIzC,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAoBvE,UAAU,kCAAkC;IAC1C,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,SAAS,KAAK,MAAM,EAAE,CAAA;IACzE,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;CACzD;AAOD,eAAO,MAAM,2BAA2B,GACtC,uEAKG,kCAAkC,EACrC,
|
|
1
|
+
{"version":3,"file":"createReactStreamingHandler.d.ts","sourceRoot":"","sources":["../../src/streaming/createReactStreamingHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAIzC,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAoBvE,UAAU,kCAAkC;IAC1C,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,SAAS,KAAK,MAAM,EAAE,CAAA;IACzE,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;CACzD;AAOD,eAAO,MAAM,2BAA2B,GACtC,uEAKG,kCAAkC,EACrC,mBAAmB,aAAa,mBAuBb,OAAO,uBAiJ3B,CAAA"}
|
|
@@ -23,10 +23,10 @@ const createReactStreamingHandler = async ({
|
|
|
23
23
|
clientEntryPath,
|
|
24
24
|
getStylesheetLinks,
|
|
25
25
|
getMiddlewareRouter
|
|
26
|
-
},
|
|
26
|
+
}, viteSsrDevServer) => {
|
|
27
27
|
const rwPaths = getPaths();
|
|
28
28
|
const rwConfig = getConfig();
|
|
29
|
-
const isProd = !
|
|
29
|
+
const isProd = !viteSsrDevServer;
|
|
30
30
|
const middlewareRouter = await getMiddlewareRouter();
|
|
31
31
|
let entryServerImport;
|
|
32
32
|
let fallbackDocumentImport;
|
|
@@ -70,7 +70,7 @@ const createReactStreamingHandler = async ({
|
|
|
70
70
|
route: currentRoute,
|
|
71
71
|
cssPaths: cssLinks,
|
|
72
72
|
params: matchedMw?.params,
|
|
73
|
-
|
|
73
|
+
viteSsrDevServer
|
|
74
74
|
}
|
|
75
75
|
);
|
|
76
76
|
if (mwResponse.isRedirect() || mwResponse.body) {
|
|
@@ -89,8 +89,8 @@ const createReactStreamingHandler = async ({
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
if (!isProd) {
|
|
92
|
-
entryServerImport = await ssrLoadEntryServer(
|
|
93
|
-
fallbackDocumentImport = await
|
|
92
|
+
entryServerImport = await ssrLoadEntryServer(viteSsrDevServer);
|
|
93
|
+
fallbackDocumentImport = await viteSsrDevServer.ssrLoadModule(
|
|
94
94
|
rwPaths.web.document
|
|
95
95
|
);
|
|
96
96
|
}
|
|
@@ -107,10 +107,12 @@ const createReactStreamingHandler = async ({
|
|
|
107
107
|
req,
|
|
108
108
|
parsedParams
|
|
109
109
|
},
|
|
110
|
-
|
|
110
|
+
viteSsrDevServer
|
|
111
111
|
});
|
|
112
112
|
metaTags = routeHookOutput.meta;
|
|
113
|
-
const jsBundles = [
|
|
113
|
+
const jsBundles = [
|
|
114
|
+
viteSsrDevServer ? clientEntryPath : "/" + clientEntryPath
|
|
115
|
+
];
|
|
114
116
|
if (currentRoute.bundle) {
|
|
115
117
|
jsBundles.push("/" + currentRoute.bundle);
|
|
116
118
|
}
|
|
@@ -130,12 +132,13 @@ const createReactStreamingHandler = async ({
|
|
|
130
132
|
{
|
|
131
133
|
waitForAllReady: isSeoCrawler,
|
|
132
134
|
onError: (err) => {
|
|
133
|
-
if (!isProd &&
|
|
134
|
-
|
|
135
|
+
if (!isProd && viteSsrDevServer) {
|
|
136
|
+
viteSsrDevServer.ssrFixStacktrace(err);
|
|
135
137
|
}
|
|
136
138
|
console.error(err);
|
|
137
139
|
}
|
|
138
|
-
}
|
|
140
|
+
},
|
|
141
|
+
viteSsrDevServer
|
|
139
142
|
);
|
|
140
143
|
return reactResponse;
|
|
141
144
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
+
import type { ViteDevServer } from 'vite';
|
|
2
3
|
import type { ServerAuthState } from '@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js';
|
|
3
4
|
import type { TagDescriptor } from '@cedarjs/web';
|
|
4
5
|
import type { MiddlewareResponse } from '@cedarjs/web/middleware';
|
|
@@ -17,7 +18,6 @@ interface StreamOptions {
|
|
|
17
18
|
waitForAllReady?: boolean;
|
|
18
19
|
onError?: (err: Error) => void;
|
|
19
20
|
}
|
|
20
|
-
export declare function reactRenderToStreamResponse(mwRes: MiddlewareResponse, renderOptions: RenderToStreamArgs, streamOptions: StreamOptions): Promise<Response>;
|
|
21
|
-
export declare function importModule(mod: 'rd-server' | '__cedarjs__react' | '__cedarjs__location' | '__cedarjs__server_auth_provider' | '__cedarjs__server_inject'): Promise<any>;
|
|
21
|
+
export declare function reactRenderToStreamResponse(mwRes: MiddlewareResponse, renderOptions: RenderToStreamArgs, streamOptions: StreamOptions, viteDevServer?: ViteDevServer): Promise<Response>;
|
|
22
22
|
export {};
|
|
23
23
|
//# sourceMappingURL=streamHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamHelpers.d.ts","sourceRoot":"","sources":["../../src/streaming/streamHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"streamHelpers.d.ts","sourceRoot":"","sources":["../../src/streaming/streamHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAI5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAYlD,UAAU,kBAAkB;IAC1B,WAAW,EAAE,eAAe,CAAA;IAC5B,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAA;IACzC,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,eAAe,CAAA;CAC3B;AAED,UAAU,aAAa;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;CAC/B;AA2BD,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,kBAAkB,EACzB,aAAa,EAAE,kBAAkB,EACjC,aAAa,EAAE,aAAa,EAC5B,aAAa,CAAC,EAAE,aAAa,qBAgM9B"}
|
|
@@ -27,7 +27,7 @@ globalThis.__webpack_require__ ||= (id) => {
|
|
|
27
27
|
return globalThis.__rw_module_cache__.get(id)
|
|
28
28
|
};
|
|
29
29
|
`;
|
|
30
|
-
async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions) {
|
|
30
|
+
async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions, viteDevServer) {
|
|
31
31
|
const { waitForAllReady = false } = streamOptions;
|
|
32
32
|
const {
|
|
33
33
|
ServerEntry,
|
|
@@ -49,13 +49,13 @@ async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions)
|
|
|
49
49
|
meta: metaTags
|
|
50
50
|
});
|
|
51
51
|
const rscEnabled = getConfig().experimental?.rsc?.enabled;
|
|
52
|
-
const { createElement } = rscEnabled ? await importModule("__cedarjs__react") : await import("react");
|
|
52
|
+
const { createElement } = rscEnabled ? await importModule("__cedarjs__react", !!viteDevServer) : await import("react");
|
|
53
53
|
const {
|
|
54
54
|
createInjector,
|
|
55
55
|
ServerHtmlProvider,
|
|
56
56
|
ServerInjectedHtml
|
|
57
|
-
} = rscEnabled ? await importModule("__cedarjs__server_inject") : await import("@cedarjs/web/serverInject");
|
|
58
|
-
const { renderToString } = rscEnabled ? await importModule("rd-server") : await import("react-dom/server");
|
|
57
|
+
} = rscEnabled ? await importModule("__cedarjs__server_inject", !!viteDevServer) : await import("@cedarjs/web/serverInject");
|
|
58
|
+
const { renderToString } = rscEnabled ? await importModule("rd-server", !!viteDevServer) : await import("react-dom/server");
|
|
59
59
|
const { injectionState, injectToPage } = createInjector();
|
|
60
60
|
const bufferTransform = createBufferedTransformStream();
|
|
61
61
|
const serverInjectionTransform = createServerInjectionTransform({
|
|
@@ -70,8 +70,8 @@ async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions)
|
|
|
70
70
|
controller.abort();
|
|
71
71
|
}, 1e4);
|
|
72
72
|
const timeoutTransform = createTimeoutTransform(timeoutHandle);
|
|
73
|
-
const { ServerAuthProvider } = rscEnabled ? await importModule("__cedarjs__server_auth_provider") : await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
74
|
-
const { LocationProvider } = rscEnabled ? await importModule("__cedarjs__location") : await import("@cedarjs/router/location");
|
|
73
|
+
const { ServerAuthProvider } = rscEnabled ? await importModule("__cedarjs__server_auth_provider", !!viteDevServer) : await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
74
|
+
const { LocationProvider } = rscEnabled ? await importModule("__cedarjs__location", !!viteDevServer) : await import("@cedarjs/router/location");
|
|
75
75
|
const renderRoot = (url) => {
|
|
76
76
|
return createElement(
|
|
77
77
|
ServerAuthProvider,
|
|
@@ -103,7 +103,7 @@ async function reactRenderToStreamResponse(mwRes, renderOptions, streamOptions)
|
|
|
103
103
|
),
|
|
104
104
|
bootstrapModules: jsBundles
|
|
105
105
|
};
|
|
106
|
-
const { renderToReadableStream } = rscEnabled ? await importModule("rd-server") : await import("react-dom/server.edge");
|
|
106
|
+
const { renderToReadableStream } = rscEnabled ? await importModule("rd-server", !!viteDevServer) : await import("react-dom/server.edge");
|
|
107
107
|
try {
|
|
108
108
|
let didErrorOutsideShell = false;
|
|
109
109
|
const renderToStreamOptions = {
|
|
@@ -162,33 +162,51 @@ function applyStreamTransforms(reactStream, transformsToApply) {
|
|
|
162
162
|
}
|
|
163
163
|
return outputStream;
|
|
164
164
|
}
|
|
165
|
-
async function importModule(mod) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
165
|
+
async function importModule(mod, isDev) {
|
|
166
|
+
if (isDev) {
|
|
167
|
+
if (mod === "rd-server") {
|
|
168
|
+
const loadedMod = await import("react-dom/server.edge");
|
|
169
|
+
return loadedMod.default;
|
|
170
|
+
} else if (mod === "__cedarjs__react") {
|
|
171
|
+
const loadedMod = await import("react");
|
|
172
|
+
return loadedMod.default;
|
|
173
|
+
} else if (mod === "__cedarjs__location") {
|
|
174
|
+
const loadedMod = await import("@cedarjs/router/location");
|
|
175
|
+
return loadedMod;
|
|
176
|
+
} else if (mod === "__cedarjs__server_auth_provider") {
|
|
177
|
+
const loadedMod = await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
178
|
+
return loadedMod;
|
|
179
|
+
} else if (mod === "__cedarjs__server_inject") {
|
|
180
|
+
const loadedMod = await import("@cedarjs/web/serverInject");
|
|
181
|
+
return loadedMod;
|
|
182
|
+
}
|
|
183
|
+
} else {
|
|
184
|
+
const distSsr = getPaths().web.distSsr;
|
|
185
|
+
const rdServerPath = makeFilePath(path.join(distSsr, "rd-server.mjs"));
|
|
186
|
+
const reactPath = makeFilePath(path.join(distSsr, "__cedarjs__react.mjs"));
|
|
187
|
+
const locationPath = makeFilePath(
|
|
188
|
+
path.join(distSsr, "__cedarjs__location.mjs")
|
|
189
|
+
);
|
|
190
|
+
const serverAuthProviderPath = makeFilePath(
|
|
191
|
+
path.join(distSsr, "__cedarjs__server_auth_provider.mjs")
|
|
192
|
+
);
|
|
193
|
+
const serverInjectPath = makeFilePath(
|
|
194
|
+
path.join(distSsr, "__cedarjs__server_inject.mjs")
|
|
195
|
+
);
|
|
196
|
+
if (mod === "rd-server") {
|
|
197
|
+
return (await import(rdServerPath)).default;
|
|
198
|
+
} else if (mod === "__cedarjs__react") {
|
|
199
|
+
return (await import(reactPath)).default;
|
|
200
|
+
} else if (mod === "__cedarjs__location") {
|
|
201
|
+
return await import(locationPath);
|
|
202
|
+
} else if (mod === "__cedarjs__server_auth_provider") {
|
|
203
|
+
return await import(serverAuthProviderPath);
|
|
204
|
+
} else if (mod === "__cedarjs__server_inject") {
|
|
205
|
+
return await import(serverInjectPath);
|
|
206
|
+
}
|
|
188
207
|
}
|
|
189
208
|
throw new Error("Unknown module " + mod);
|
|
190
209
|
}
|
|
191
210
|
export {
|
|
192
|
-
importModule,
|
|
193
211
|
reactRenderToStreamResponse
|
|
194
212
|
};
|
|
@@ -18,9 +18,9 @@ interface LoadAndRunRouteHooks {
|
|
|
18
18
|
req: Request;
|
|
19
19
|
parsedParams?: Record<string, any>;
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
viteSsrDevServer?: ViteDevServer;
|
|
22
22
|
previousOutput?: RouteHookOutput;
|
|
23
23
|
}
|
|
24
|
-
export declare const loadAndRunRouteHooks: ({ paths, reqMeta,
|
|
24
|
+
export declare const loadAndRunRouteHooks: ({ paths, reqMeta, viteSsrDevServer, previousOutput, }: LoadAndRunRouteHooks) => Promise<RouteHookOutput>;
|
|
25
25
|
export {};
|
|
26
26
|
//# sourceMappingURL=triggerRouteHooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggerRouteHooks.d.ts","sourceRoot":"","sources":["../../src/streaming/triggerRouteHooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAGzC,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EACf,aAAa,EACd,MAAM,cAAc,CAAA;AAErB,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,UAAU,sBAAsB;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,cAAc,CAAC,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,iBAAiB,GAAU,oDAKrC,sBAAsB;;EA4BxB,CAAA;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,CAAA;IACpC,OAAO,EAAE;QACP,GAAG,EAAE,OAAO,CAAA;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACnC,CAAA;IACD,
|
|
1
|
+
{"version":3,"file":"triggerRouteHooks.d.ts","sourceRoot":"","sources":["../../src/streaming/triggerRouteHooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAGzC,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EACf,aAAa,EACd,MAAM,cAAc,CAAA;AAErB,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,UAAU,sBAAsB;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,cAAc,CAAC,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,iBAAiB,GAAU,oDAKrC,sBAAsB;;EA4BxB,CAAA;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,CAAA;IACpC,OAAO,EAAE;QACP,GAAG,EAAE,OAAO,CAAA;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACnC,CAAA;IACD,gBAAgB,CAAC,EAAE,aAAa,CAAA;IAChC,cAAc,CAAC,EAAE,eAAe,CAAA;CACjC;AAMD,eAAO,MAAM,oBAAoB,GAAU,uDAKxC,oBAAoB,KAAG,OAAO,CAAC,eAAe,CA2ChD,CAAA"}
|
|
@@ -31,11 +31,11 @@ const defaultRouteHookOutput = {
|
|
|
31
31
|
const loadAndRunRouteHooks = async ({
|
|
32
32
|
paths = [],
|
|
33
33
|
reqMeta,
|
|
34
|
-
|
|
34
|
+
viteSsrDevServer,
|
|
35
35
|
previousOutput = defaultRouteHookOutput
|
|
36
36
|
}) => {
|
|
37
37
|
const loadModule = async (path) => {
|
|
38
|
-
return
|
|
38
|
+
return viteSsrDevServer ? viteSsrDevServer.ssrLoadModule(path) : import(path);
|
|
39
39
|
};
|
|
40
40
|
let currentRouteHooks;
|
|
41
41
|
let rhOutput = defaultRouteHookOutput;
|
|
@@ -55,7 +55,7 @@ const loadAndRunRouteHooks = async ({
|
|
|
55
55
|
paths,
|
|
56
56
|
reqMeta,
|
|
57
57
|
previousOutput: rhOutput,
|
|
58
|
-
|
|
58
|
+
viteSsrDevServer
|
|
59
59
|
});
|
|
60
60
|
} else {
|
|
61
61
|
return rhOutput;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/vite",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-canary.2619",
|
|
4
4
|
"description": "Vite configuration package for CedarJS",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -63,15 +63,15 @@
|
|
|
63
63
|
"@babel/parser": "7.29.7",
|
|
64
64
|
"@babel/traverse": "7.29.7",
|
|
65
65
|
"@babel/types": "7.29.7",
|
|
66
|
-
"@cedarjs/api": "
|
|
67
|
-
"@cedarjs/babel-config": "
|
|
68
|
-
"@cedarjs/context": "
|
|
69
|
-
"@cedarjs/cookie-jar": "
|
|
70
|
-
"@cedarjs/graphql-server": "
|
|
71
|
-
"@cedarjs/internal": "
|
|
72
|
-
"@cedarjs/project-config": "
|
|
73
|
-
"@cedarjs/server-store": "
|
|
74
|
-
"@cedarjs/testing": "
|
|
66
|
+
"@cedarjs/api": "6.0.0-canary.2619",
|
|
67
|
+
"@cedarjs/babel-config": "6.0.0-canary.2619",
|
|
68
|
+
"@cedarjs/context": "6.0.0-canary.2619",
|
|
69
|
+
"@cedarjs/cookie-jar": "6.0.0-canary.2619",
|
|
70
|
+
"@cedarjs/graphql-server": "6.0.0-canary.2619",
|
|
71
|
+
"@cedarjs/internal": "6.0.0-canary.2619",
|
|
72
|
+
"@cedarjs/project-config": "6.0.0-canary.2619",
|
|
73
|
+
"@cedarjs/server-store": "6.0.0-canary.2619",
|
|
74
|
+
"@cedarjs/testing": "6.0.0-canary.2619",
|
|
75
75
|
"@fastify/url-data": "6.0.3",
|
|
76
76
|
"@swc/core": "1.15.41",
|
|
77
77
|
"@universal-deploy/store": "^0.2.1",
|
|
@@ -82,7 +82,6 @@
|
|
|
82
82
|
"acorn": "8.16.0",
|
|
83
83
|
"acorn-loose": "8.5.2",
|
|
84
84
|
"ansis": "4.2.0",
|
|
85
|
-
"buffer": "6.0.3",
|
|
86
85
|
"busboy": "^1.6.0",
|
|
87
86
|
"cookie": "1.1.1",
|
|
88
87
|
"dotenv-defaults": "5.0.2",
|
|
@@ -93,21 +92,21 @@
|
|
|
93
92
|
"find-my-way": "8.2.2",
|
|
94
93
|
"http-proxy-middleware": "3.0.7",
|
|
95
94
|
"isbot": "5.1.43",
|
|
96
|
-
"
|
|
95
|
+
"oxc-parser": "0.137.0",
|
|
96
|
+
"react": "19.2.3",
|
|
97
97
|
"react-server-dom-webpack": "19.2.4",
|
|
98
98
|
"rimraf": "6.1.3",
|
|
99
99
|
"rou3": "^0.8.1",
|
|
100
100
|
"vite": "7.3.5",
|
|
101
101
|
"vite-plugin-cjs-interop": "2.4.4",
|
|
102
|
-
"vite-plugin-node-polyfills": "0.26.0",
|
|
103
102
|
"ws": "8.20.0",
|
|
104
103
|
"yargs-parser": "21.1.1"
|
|
105
104
|
},
|
|
106
105
|
"devDependencies": {
|
|
107
106
|
"@arethetypeswrong/cli": "0.18.4",
|
|
108
|
-
"@cedarjs/auth": "
|
|
109
|
-
"@cedarjs/router": "
|
|
110
|
-
"@cedarjs/web": "
|
|
107
|
+
"@cedarjs/auth": "6.0.0-canary.2619",
|
|
108
|
+
"@cedarjs/router": "6.0.0-canary.2619",
|
|
109
|
+
"@cedarjs/web": "6.0.0-canary.2619",
|
|
111
110
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
|
112
111
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
113
112
|
"@types/aws-lambda": "8.10.162",
|
|
@@ -118,7 +117,7 @@
|
|
|
118
117
|
"@types/yargs-parser": "21.0.3",
|
|
119
118
|
"concurrently": "9.2.1",
|
|
120
119
|
"glob": "11.1.0",
|
|
121
|
-
"memfs": "4.
|
|
120
|
+
"memfs": "4.57.7",
|
|
122
121
|
"publint": "0.3.21",
|
|
123
122
|
"rollup": "4.60.4",
|
|
124
123
|
"ts-dedent": "2.3.0",
|
|
@@ -126,9 +125,9 @@
|
|
|
126
125
|
"vitest": "3.2.6"
|
|
127
126
|
},
|
|
128
127
|
"peerDependencies": {
|
|
129
|
-
"@cedarjs/auth": "
|
|
130
|
-
"@cedarjs/router": "
|
|
131
|
-
"@cedarjs/web": "
|
|
128
|
+
"@cedarjs/auth": "workspace:*",
|
|
129
|
+
"@cedarjs/router": "workspace:*",
|
|
130
|
+
"@cedarjs/web": "workspace:*"
|
|
132
131
|
},
|
|
133
132
|
"engines": {
|
|
134
133
|
"node": ">=24"
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var vite_plugin_cedar_node_polyfills_exports = {};
|
|
20
|
-
__export(vite_plugin_cedar_node_polyfills_exports, {
|
|
21
|
-
cedarNodePolyfills: () => cedarNodePolyfills
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(vite_plugin_cedar_node_polyfills_exports);
|
|
24
|
-
var import_vite_plugin_node_polyfills = require("vite-plugin-node-polyfills");
|
|
25
|
-
var import_project_config = require("@cedarjs/project-config");
|
|
26
|
-
function cedarNodePolyfills() {
|
|
27
|
-
if ((0, import_project_config.getConfig)().experimental?.rsc?.enabled) {
|
|
28
|
-
return void 0;
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
...(0, import_vite_plugin_node_polyfills.nodePolyfills)({
|
|
32
|
-
include: ["buffer"],
|
|
33
|
-
globals: {
|
|
34
|
-
Buffer: true
|
|
35
|
-
}
|
|
36
|
-
}),
|
|
37
|
-
apply: "serve"
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
41
|
-
0 && (module.exports = {
|
|
42
|
-
cedarNodePolyfills
|
|
43
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-cedar-context-wrapping.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-plugin-cedar-context-wrapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAKlC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,YAAoB,GACrB,GAAE;IACD,YAAY,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,MAAM,CAuBd;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,YAAoB,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACxD,MAAM,GAAG,IAAI,CAsDf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-cedar-node-polyfills.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-plugin-cedar-node-polyfills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAKlC,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAiBvD"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { nodePolyfills } from "vite-plugin-node-polyfills";
|
|
2
|
-
import { getConfig } from "@cedarjs/project-config";
|
|
3
|
-
function cedarNodePolyfills() {
|
|
4
|
-
if (getConfig().experimental?.rsc?.enabled) {
|
|
5
|
-
return void 0;
|
|
6
|
-
}
|
|
7
|
-
return {
|
|
8
|
-
...nodePolyfills({
|
|
9
|
-
include: ["buffer"],
|
|
10
|
-
globals: {
|
|
11
|
-
Buffer: true
|
|
12
|
-
}
|
|
13
|
-
}),
|
|
14
|
-
apply: "serve"
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export {
|
|
18
|
-
cedarNodePolyfills
|
|
19
|
-
};
|