@cedarjs/vite 1.0.0-canary.12749 → 1.0.0
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/api/vite-plugin-cedar-vitest-api-preset.d.ts +1 -1
- package/dist/api/vite-plugin-cedar-vitest-api-preset.d.ts.map +1 -1
- package/dist/bundled/react-server-dom-webpack.server.js +28517 -1379
- package/dist/cjs/devFeServer.js +15 -265
- package/dist/cjs/lib/registerFwGlobalsAndShims.js +0 -9
- package/dist/cjs/plugins/vite-plugin-rsc-ssr-router-import.js +2 -2
- package/dist/cjs/plugins/vite-plugin-rsc-transform-server.js +0 -4
- package/dist/cjs/rsc/rscRenderer.js +9 -23
- package/dist/cjs/rsc/rscRequestHandler.js +6 -6
- package/dist/cjs/runFeServer.js +22 -3
- package/dist/cjs/streaming/createReactStreamingHandler.js +10 -13
- package/dist/cjs/streaming/streamHelpers.js +30 -49
- package/dist/cjs/streaming/triggerRouteHooks.js +3 -3
- package/dist/devFeServer.js +16 -265
- package/dist/lib/registerFwGlobalsAndShims.js +0 -9
- 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 +0 -4
- package/dist/rsc/rscRenderer.d.ts.map +1 -1
- package/dist/rsc/rscRenderer.js +5 -19
- 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/runFeServer.js +21 -2
- package/dist/streaming/createReactStreamingHandler.d.ts +1 -1
- package/dist/streaming/createReactStreamingHandler.d.ts.map +1 -1
- package/dist/streaming/createReactStreamingHandler.js +10 -13
- package/dist/streaming/streamHelpers.d.ts +2 -2
- package/dist/streaming/streamHelpers.d.ts.map +1 -1
- package/dist/streaming/streamHelpers.js +29 -49
- 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 +12 -12
- package/dist/cjs/rsc/rscWebSocketServer.js +0 -56
- package/dist/cjs/rsc/utils.js +0 -56
- package/dist/rsc/rscWebSocketServer.d.ts +0 -2
- package/dist/rsc/rscWebSocketServer.d.ts.map +0 -1
- package/dist/rsc/rscWebSocketServer.js +0 -22
- package/dist/rsc/utils.d.ts +0 -10
- package/dist/rsc/utils.d.ts.map +0 -1
- package/dist/rsc/utils.js +0 -21
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
} from "../bundled/react-server-dom-webpack.server.js";
|
|
9
9
|
import { hasStatusCode } from "../lib/StatusError.js";
|
|
10
10
|
import { invoke } from "../middleware/invokeMiddleware.js";
|
|
11
|
+
import { renderRscToStream } from "./rscRenderer.js";
|
|
12
|
+
import { sendRscFlightToStudio } from "./rscStudioHandlers.js";
|
|
11
13
|
const BASE_PATH = "/rw-rsc/";
|
|
12
|
-
|
|
13
|
-
const { renderRscToStream } = await import("./rscRenderer.js");
|
|
14
|
-
const { sendRscFlightToStudio } = await import("./rscStudioHandlers.js");
|
|
14
|
+
function createRscRequestHandler(options) {
|
|
15
15
|
return async (req, res, next) => {
|
|
16
16
|
console.log("BASE_PATH", BASE_PATH);
|
|
17
17
|
console.log("req.originalUrl", req.originalUrl, "req.url", req.url);
|
|
@@ -26,7 +26,7 @@ async function createRscRequestHandler(options) {
|
|
|
26
26
|
matchedMw?.handler,
|
|
27
27
|
{
|
|
28
28
|
params: matchedMw?.params,
|
|
29
|
-
|
|
29
|
+
viteDevServer: options.viteDevServer
|
|
30
30
|
}
|
|
31
31
|
);
|
|
32
32
|
const webRes = mwResponse.toResponse();
|
package/dist/runFeServer.js
CHANGED
|
@@ -4,13 +4,13 @@ import { createServerAdapter } from "@whatwg-node/server";
|
|
|
4
4
|
import { config as loadDotEnv } from "dotenv-defaults";
|
|
5
5
|
import express from "express";
|
|
6
6
|
import { createProxyMiddleware } from "http-proxy-middleware";
|
|
7
|
+
import WebSocket, { WebSocketServer } from "ws";
|
|
7
8
|
import { getConfig, getPaths } from "@cedarjs/project-config";
|
|
8
9
|
import { getRscStylesheetLinkGenerator } from "@cedarjs/router/rscCss";
|
|
9
10
|
import { createPerRequestMap, createServerStorage } from "@cedarjs/server-store";
|
|
10
11
|
import { registerFwGlobalsAndShims } from "./lib/registerFwGlobalsAndShims.js";
|
|
11
12
|
import { invoke } from "./middleware/invokeMiddleware.js";
|
|
12
13
|
import { createMiddlewareRouter } from "./middleware/register.js";
|
|
13
|
-
import { createWebSocketServer } from "./rsc/rscWebSocketServer.js";
|
|
14
14
|
import { createReactStreamingHandler } from "./streaming/createReactStreamingHandler.js";
|
|
15
15
|
import { convertExpressHeaders, getFullUrl } from "./utils.js";
|
|
16
16
|
loadDotEnv({
|
|
@@ -87,7 +87,7 @@ async function runFeServer() {
|
|
|
87
87
|
const { createRscRequestHandler } = await import("./rsc/rscRequestHandler.js");
|
|
88
88
|
app.use(
|
|
89
89
|
"/rw-rsc",
|
|
90
|
-
|
|
90
|
+
createRscRequestHandler({
|
|
91
91
|
getMiddlewareRouter: async () => middlewareRouter
|
|
92
92
|
})
|
|
93
93
|
);
|
|
@@ -107,6 +107,25 @@ async function runFeServer() {
|
|
|
107
107
|
`Started production FE server on http://localhost:${rwConfig.web.port}`
|
|
108
108
|
);
|
|
109
109
|
}
|
|
110
|
+
function createWebSocketServer() {
|
|
111
|
+
const wsServer = new WebSocketServer({ port: 18998 });
|
|
112
|
+
wsServer.on("connection", (ws) => {
|
|
113
|
+
console.log("A new client connected.");
|
|
114
|
+
ws.on("message", (data) => {
|
|
115
|
+
const message = data.toString();
|
|
116
|
+
console.log("runFeServer.ts: Received message:");
|
|
117
|
+
console.log(message.slice(0, 120) + "...");
|
|
118
|
+
wsServer.clients.forEach((client) => {
|
|
119
|
+
if (client.readyState === WebSocket.OPEN) {
|
|
120
|
+
client.send(message);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
ws.on("close", () => {
|
|
125
|
+
console.log("A client disconnected.");
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
110
129
|
runFeServer();
|
|
111
130
|
export {
|
|
112
131
|
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, viteDevServer?: 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,gBAAgB,aAAa,mBAuBV,OAAO,uBA8I3B,CAAA"}
|
|
@@ -23,10 +23,10 @@ const createReactStreamingHandler = async ({
|
|
|
23
23
|
clientEntryPath,
|
|
24
24
|
getStylesheetLinks,
|
|
25
25
|
getMiddlewareRouter
|
|
26
|
-
},
|
|
26
|
+
}, viteDevServer) => {
|
|
27
27
|
const rwPaths = getPaths();
|
|
28
28
|
const rwConfig = getConfig();
|
|
29
|
-
const isProd = !
|
|
29
|
+
const isProd = !viteDevServer;
|
|
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
|
+
viteDevServer
|
|
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(viteDevServer);
|
|
93
|
+
fallbackDocumentImport = await viteDevServer.ssrLoadModule(
|
|
94
94
|
rwPaths.web.document
|
|
95
95
|
);
|
|
96
96
|
}
|
|
@@ -107,12 +107,10 @@ const createReactStreamingHandler = async ({
|
|
|
107
107
|
req,
|
|
108
108
|
parsedParams
|
|
109
109
|
},
|
|
110
|
-
|
|
110
|
+
viteDevServer
|
|
111
111
|
});
|
|
112
112
|
metaTags = routeHookOutput.meta;
|
|
113
|
-
const jsBundles = [
|
|
114
|
-
viteSsrDevServer ? clientEntryPath : "/" + clientEntryPath
|
|
115
|
-
];
|
|
113
|
+
const jsBundles = [viteDevServer ? clientEntryPath : "/" + clientEntryPath];
|
|
116
114
|
if (currentRoute.bundle) {
|
|
117
115
|
jsBundles.push("/" + currentRoute.bundle);
|
|
118
116
|
}
|
|
@@ -132,13 +130,12 @@ const createReactStreamingHandler = async ({
|
|
|
132
130
|
{
|
|
133
131
|
waitForAllReady: isSeoCrawler,
|
|
134
132
|
onError: (err) => {
|
|
135
|
-
if (!isProd &&
|
|
136
|
-
|
|
133
|
+
if (!isProd && viteDevServer) {
|
|
134
|
+
viteDevServer.ssrFixStacktrace(err);
|
|
137
135
|
}
|
|
138
136
|
console.error(err);
|
|
139
137
|
}
|
|
140
|
-
}
|
|
141
|
-
viteSsrDevServer
|
|
138
|
+
}
|
|
142
139
|
);
|
|
143
140
|
return reactResponse;
|
|
144
141
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { ViteDevServer } from 'vite';
|
|
3
2
|
import type { ServerAuthState } from '@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js';
|
|
4
3
|
import type { TagDescriptor } from '@cedarjs/web';
|
|
5
4
|
import type { MiddlewareResponse } from '@cedarjs/web/middleware';
|
|
@@ -18,6 +17,7 @@ interface StreamOptions {
|
|
|
18
17
|
waitForAllReady?: boolean;
|
|
19
18
|
onError?: (err: Error) => void;
|
|
20
19
|
}
|
|
21
|
-
export declare function reactRenderToStreamResponse(mwRes: MiddlewareResponse, renderOptions: RenderToStreamArgs, streamOptions: StreamOptions
|
|
20
|
+
export declare function reactRenderToStreamResponse(mwRes: MiddlewareResponse, renderOptions: RenderToStreamArgs, streamOptions: StreamOptions): Promise<Response>;
|
|
21
|
+
export declare function importModule(mod: 'rd-server' | '__rwjs__react' | '__rwjs__location' | '__rwjs__server_auth_provider' | '__rwjs__server_inject'): Promise<any>;
|
|
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;AAQ9B,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,qBAgM7B;AA2BD,wBAAsB,YAAY,CAChC,GAAG,EACC,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,8BAA8B,GAC9B,uBAAuB,gBA2B5B"}
|
|
@@ -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) {
|
|
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("__rwjs__react"
|
|
52
|
+
const { createElement } = rscEnabled ? await importModule("__rwjs__react") : await import("react");
|
|
53
53
|
const {
|
|
54
54
|
createInjector,
|
|
55
55
|
ServerHtmlProvider,
|
|
56
56
|
ServerInjectedHtml
|
|
57
|
-
} = rscEnabled ? await importModule("__rwjs__server_inject"
|
|
58
|
-
const { renderToString } = rscEnabled ? await importModule("rd-server"
|
|
57
|
+
} = rscEnabled ? await importModule("__rwjs__server_inject") : await import("@cedarjs/web/serverInject");
|
|
58
|
+
const { renderToString } = rscEnabled ? await importModule("rd-server") : 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("__rwjs__server_auth_provider"
|
|
74
|
-
const { LocationProvider } = rscEnabled ? await importModule("__rwjs__location"
|
|
73
|
+
const { ServerAuthProvider } = rscEnabled ? await importModule("__rwjs__server_auth_provider") : await import("@cedarjs/auth/dist/AuthProvider/ServerAuthProvider.js");
|
|
74
|
+
const { LocationProvider } = rscEnabled ? await importModule("__rwjs__location") : 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"
|
|
106
|
+
const { renderToReadableStream } = rscEnabled ? await importModule("rd-server") : await import("react-dom/server.edge");
|
|
107
107
|
try {
|
|
108
108
|
let didErrorOutsideShell = false;
|
|
109
109
|
const renderToStreamOptions = {
|
|
@@ -162,51 +162,31 @@ 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
|
-
const reactPath = makeFilePath(path.join(distSsr, "__rwjs__react.mjs"));
|
|
187
|
-
const locationPath = makeFilePath(
|
|
188
|
-
path.join(distSsr, "__rwjs__location.mjs")
|
|
189
|
-
);
|
|
190
|
-
const serverAuthProviderPath = makeFilePath(
|
|
191
|
-
path.join(distSsr, "__rwjs__server_auth_provider.mjs")
|
|
192
|
-
);
|
|
193
|
-
const serverInjectPath = makeFilePath(
|
|
194
|
-
path.join(distSsr, "__rwjs__server_inject.mjs")
|
|
195
|
-
);
|
|
196
|
-
if (mod === "rd-server") {
|
|
197
|
-
return (await import(rdServerPath)).default;
|
|
198
|
-
} else if (mod === "__rwjs__react") {
|
|
199
|
-
return (await import(reactPath)).default;
|
|
200
|
-
} else if (mod === "__rwjs__location") {
|
|
201
|
-
return await import(locationPath);
|
|
202
|
-
} else if (mod === "__rwjs__server_auth_provider") {
|
|
203
|
-
return await import(serverAuthProviderPath);
|
|
204
|
-
} else if (mod === "__rwjs__server_inject") {
|
|
205
|
-
return await import(serverInjectPath);
|
|
206
|
-
}
|
|
165
|
+
async function importModule(mod) {
|
|
166
|
+
const distSsr = getPaths().web.distSsr;
|
|
167
|
+
const rdServerPath = makeFilePath(path.join(distSsr, "rd-server.mjs"));
|
|
168
|
+
const reactPath = makeFilePath(path.join(distSsr, "__rwjs__react.mjs"));
|
|
169
|
+
const locationPath = makeFilePath(path.join(distSsr, "__rwjs__location.mjs"));
|
|
170
|
+
const ServerAuthProviderPath = makeFilePath(
|
|
171
|
+
path.join(distSsr, "__rwjs__server_auth_provider.mjs")
|
|
172
|
+
);
|
|
173
|
+
const ServerInjectPath = makeFilePath(
|
|
174
|
+
path.join(distSsr, "__rwjs__server_inject.mjs")
|
|
175
|
+
);
|
|
176
|
+
if (mod === "rd-server") {
|
|
177
|
+
return (await import(rdServerPath)).default;
|
|
178
|
+
} else if (mod === "__rwjs__react") {
|
|
179
|
+
return (await import(reactPath)).default;
|
|
180
|
+
} else if (mod === "__rwjs__location") {
|
|
181
|
+
return await import(locationPath);
|
|
182
|
+
} else if (mod === "__rwjs__server_auth_provider") {
|
|
183
|
+
return await import(ServerAuthProviderPath);
|
|
184
|
+
} else if (mod === "__rwjs__server_inject") {
|
|
185
|
+
return await import(ServerInjectPath);
|
|
207
186
|
}
|
|
208
187
|
throw new Error("Unknown module " + mod);
|
|
209
188
|
}
|
|
210
189
|
export {
|
|
190
|
+
importModule,
|
|
211
191
|
reactRenderToStreamResponse
|
|
212
192
|
};
|
|
@@ -18,9 +18,9 @@ interface LoadAndRunRouteHooks {
|
|
|
18
18
|
req: Request;
|
|
19
19
|
parsedParams?: Record<string, any>;
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
viteDevServer?: ViteDevServer;
|
|
22
22
|
previousOutput?: RouteHookOutput;
|
|
23
23
|
}
|
|
24
|
-
export declare const loadAndRunRouteHooks: ({ paths, reqMeta,
|
|
24
|
+
export declare const loadAndRunRouteHooks: ({ paths, reqMeta, viteDevServer, 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,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,cAAc,CAAC,EAAE,eAAe,CAAA;CACjC;AAMD,eAAO,MAAM,oBAAoB,GAAU,oDAKxC,oBAAoB,KAAG,OAAO,CAAC,eAAe,CAyChD,CAAA"}
|
|
@@ -31,11 +31,11 @@ const defaultRouteHookOutput = {
|
|
|
31
31
|
const loadAndRunRouteHooks = async ({
|
|
32
32
|
paths = [],
|
|
33
33
|
reqMeta,
|
|
34
|
-
|
|
34
|
+
viteDevServer,
|
|
35
35
|
previousOutput = defaultRouteHookOutput
|
|
36
36
|
}) => {
|
|
37
37
|
const loadModule = async (path) => {
|
|
38
|
-
return
|
|
38
|
+
return viteDevServer ? viteDevServer.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
|
+
viteDevServer
|
|
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": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Vite configuration package for CedarJS",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -64,14 +64,14 @@
|
|
|
64
64
|
"@babel/generator": "7.27.5",
|
|
65
65
|
"@babel/parser": "7.27.5",
|
|
66
66
|
"@babel/traverse": "7.27.4",
|
|
67
|
-
"@cedarjs/auth": "1.0.0
|
|
68
|
-
"@cedarjs/babel-config": "1.0.0
|
|
69
|
-
"@cedarjs/cookie-jar": "1.0.0
|
|
70
|
-
"@cedarjs/internal": "1.0.0
|
|
71
|
-
"@cedarjs/project-config": "1.0.0
|
|
72
|
-
"@cedarjs/server-store": "1.0.0
|
|
73
|
-
"@cedarjs/testing": "1.0.0
|
|
74
|
-
"@cedarjs/web": "1.0.0
|
|
67
|
+
"@cedarjs/auth": "1.0.0",
|
|
68
|
+
"@cedarjs/babel-config": "1.0.0",
|
|
69
|
+
"@cedarjs/cookie-jar": "1.0.0",
|
|
70
|
+
"@cedarjs/internal": "1.0.0",
|
|
71
|
+
"@cedarjs/project-config": "1.0.0",
|
|
72
|
+
"@cedarjs/server-store": "1.0.0",
|
|
73
|
+
"@cedarjs/testing": "1.0.0",
|
|
74
|
+
"@cedarjs/web": "1.0.0",
|
|
75
75
|
"@swc/core": "1.13.5",
|
|
76
76
|
"@vitejs/plugin-react": "4.3.4",
|
|
77
77
|
"@whatwg-node/fetch": "0.9.21",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"acorn-loose": "8.4.0",
|
|
80
80
|
"buffer": "6.0.3",
|
|
81
81
|
"busboy": "^1.6.0",
|
|
82
|
-
"cookie": "
|
|
82
|
+
"cookie": "0.7.2",
|
|
83
83
|
"core-js": "3.42.0",
|
|
84
84
|
"dotenv-defaults": "5.0.2",
|
|
85
85
|
"execa": "5.1.1",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"fs-extra": "11.2.0",
|
|
89
89
|
"http-proxy-middleware": "3.0.5",
|
|
90
90
|
"isbot": "5.1.30",
|
|
91
|
-
"react": "
|
|
91
|
+
"react": "18.3.1",
|
|
92
92
|
"react-server-dom-webpack": "19.0.0-rc-f2df5694-20240916",
|
|
93
93
|
"rimraf": "6.0.1",
|
|
94
94
|
"vite": "5.4.19",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
"publishConfig": {
|
|
119
119
|
"access": "public"
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "218be19197bf0f883896bc229b973afe9448a3ce"
|
|
122
122
|
}
|
|
@@ -1,56 +0,0 @@
|
|
|
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
|
-
});
|
package/dist/cjs/rsc/utils.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
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.__rwjs__vite_rsc_runtime) {
|
|
37
|
-
const reactMod = await globalThis.__rwjs__vite_rsc_runtime.executeUrl("react");
|
|
38
|
-
return reactMod.default;
|
|
39
|
-
}
|
|
40
|
-
return import("react");
|
|
41
|
-
}
|
|
42
|
-
async function importRsdwServer() {
|
|
43
|
-
if (globalThis.__rwjs__vite_rsc_runtime) {
|
|
44
|
-
const rsdwServerMod = await globalThis.__rwjs__vite_rsc_runtime.executeUrl(
|
|
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
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rscWebSocketServer.d.ts","sourceRoot":"","sources":["../../src/rsc/rscWebSocketServer.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,SAwBpC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
};
|
package/dist/rsc/utils.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
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
|
package/dist/rsc/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/rsc/utils.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
async function importRscReact() {
|
|
2
|
-
if (globalThis.__rwjs__vite_rsc_runtime) {
|
|
3
|
-
const reactMod = await globalThis.__rwjs__vite_rsc_runtime.executeUrl("react");
|
|
4
|
-
return reactMod.default;
|
|
5
|
-
}
|
|
6
|
-
return import("react");
|
|
7
|
-
}
|
|
8
|
-
async function importRsdwServer() {
|
|
9
|
-
if (globalThis.__rwjs__vite_rsc_runtime) {
|
|
10
|
-
const rsdwServerMod = await globalThis.__rwjs__vite_rsc_runtime.executeUrl(
|
|
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
|
-
};
|