vike 0.4.267-commit-feffb0f → 0.4.267-commit-83049a4
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/client/runtime-client-routing/createPageContextClient.d.ts +1 -0
- package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +1 -0
- package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +4 -0
- package/dist/client/runtime-client-routing/renderPageClient.d.ts +8 -0
- package/dist/client/runtime-client-routing/renderPageClient.js +0 -7
- package/dist/client/runtime-server-routing/createPageContextClient.d.ts +1 -0
- package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +1 -0
- package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +1 -0
- package/dist/client/shared/getGlobalContextClientInternalShared.js +2 -0
- package/dist/client/shared/removeFoucBuster.js +14 -3
- package/dist/node/api/dev.js +15 -1
- package/dist/node/api/serverEntryDev.d.ts +10 -0
- package/dist/node/api/serverEntryDev.js +113 -0
- package/dist/node/createDevMiddleware.js +12 -0
- package/dist/node/prerender/resolvePrerenderConfig.d.ts +1 -1
- package/dist/node/prerender/resolvePrerenderConfig.js +4 -1
- package/dist/node/prerender/runPrerender.d.ts +6 -14
- package/dist/node/prerender/runPrerender.js +1 -1
- package/dist/node/vite/plugins/build/pluginBuildConfig.js +1 -1
- package/dist/node/vite/plugins/pluginCommon.js +1 -1
- package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +1 -1
- package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +3 -1
- package/dist/node/vite/plugins/pluginUniversalDeploy/getServerConfig.d.ts +3 -0
- package/dist/node/vite/plugins/pluginUniversalDeploy/getServerConfig.js +26 -0
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryAlias.d.ts +1 -1
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryAlias.js +22 -11
- package/dist/node/vite/plugins/pluginUniversalDeploy.js +27 -3
- package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +4 -2
- package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +1 -1
- package/dist/node/vite/shared/addSsrMiddleware.js +11 -39
- package/dist/node/vite/shared/findPageFiles.d.ts +1 -1
- package/dist/node/vite/shared/findPageFiles.js +1 -11
- package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.d.ts +5 -3
- package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.js +9 -0
- package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +9 -2
- package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +1 -0
- package/dist/node/vite/shared/resolveVikeConfigInternal.js +4 -2
- package/dist/server/__internal/index.d.ts +1 -0
- package/dist/server/__internal/index.js +2 -0
- package/dist/server/createPageRenderer.d.ts +2 -2
- package/dist/server/createPageRenderer.js +2 -2
- package/dist/server/runtime/createDevMiddleware.js +3 -1
- package/dist/server/runtime/fetch.d.ts +4 -5
- package/dist/server/runtime/fetch.js +2 -2
- package/dist/server/runtime/globalContext.d.ts +49 -10
- package/dist/server/runtime/globalContext.js +35 -2
- package/dist/server/runtime/index.d.ts +1 -1
- package/dist/server/runtime/index.js +1 -1
- package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +0 -2
- package/dist/server/runtime/renderPageServer/createHttpResponse.js +0 -6
- package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +9 -23
- package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +2 -10
- package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +2 -2
- package/dist/server/runtime/renderPageServer/html/stream.d.ts +1 -1
- package/dist/server/runtime/renderPageServer/html/stream.js +16 -3
- package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +6 -14
- package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +36 -84
- package/dist/server/runtime/renderPageServer.d.ts +61 -18
- package/dist/server/runtime/renderPageServer.js +12 -53
- package/dist/server/runtime/universal-middleware/core.d.ts +25 -0
- package/dist/server/runtime/universal-middleware/core.js +167 -0
- package/dist/server/runtime/universal-middleware/deprecated-export.d.ts +3 -0
- package/dist/server/runtime/universal-middleware/deprecated-export.js +10 -0
- package/dist/server/runtime/universal-middleware/getMiddlewaresPipe.d.ts +15 -0
- package/dist/server/runtime/universal-middleware/getMiddlewaresPipe.js +51 -0
- package/dist/server/runtime/universal-middleware/vikeUniversalMiddleware.d.ts +9 -0
- package/dist/server/runtime/universal-middleware/vikeUniversalMiddleware.js +22 -0
- package/dist/shared-server-client/page-configs/serialize/serializeConfigValues.js +2 -0
- package/dist/types/Config.d.ts +9 -1
- package/dist/types/GlobalContext.d.ts +3 -3
- package/dist/types/PageContext.d.ts +0 -9
- package/dist/types/PageContext.js +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/utils/PROJECT_VERSION.js +1 -1
- package/package.json +16 -15
- package/universal-middleware.js +2 -2
- package/vike-server.d.ts +14 -0
- package/dist/server/runtime/universal-middleware.d.ts +0 -10
- package/dist/server/runtime/universal-middleware.js +0 -27
|
@@ -56,6 +56,7 @@ import { logRuntimeError, logRuntimeInfo } from './loggerRuntime.js';
|
|
|
56
56
|
import { debugFileChange, getVikeConfigErrorBuild, setVikeConfigError, } from '../../shared-server-node/getVikeConfigError.js';
|
|
57
57
|
import { getVikeApiOperation } from '../../shared-server-node/api-context.js';
|
|
58
58
|
import { hasAlreadyLogged } from './logErrorServer.js';
|
|
59
|
+
import { getMiddlewares_globalContext } from './universal-middleware/core.js';
|
|
59
60
|
import '../assertEnvServer.js';
|
|
60
61
|
const debug = createDebug('vike:globalContext');
|
|
61
62
|
const globalObject = getGlobalObject('runtime/globalContext.ts', getInitialGlobalObject());
|
|
@@ -490,14 +491,18 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
490
491
|
if (!isProduction) {
|
|
491
492
|
assert(globalContext); // main common requirement
|
|
492
493
|
assert(!isPrerendering);
|
|
493
|
-
|
|
494
|
+
const globalContextDev = {
|
|
494
495
|
...globalContextBase,
|
|
495
496
|
_isProduction: false,
|
|
496
497
|
_isPrerendering: false,
|
|
497
498
|
assetsManifest: null,
|
|
498
499
|
_viteDevServer: viteDevServer,
|
|
500
|
+
// https://vike.dev/globalContext#devMiddleware
|
|
501
|
+
devMiddleware: viteDevServer?.middlewares ?? null,
|
|
499
502
|
viteConfig,
|
|
500
503
|
};
|
|
504
|
+
addDevMiddlewareWarning(globalContextDev, viteDevServer);
|
|
505
|
+
return globalContextDev;
|
|
501
506
|
}
|
|
502
507
|
else {
|
|
503
508
|
assert(globalObject.prodBuildEntry);
|
|
@@ -510,6 +515,7 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
510
515
|
_isProduction: true,
|
|
511
516
|
assetsManifest,
|
|
512
517
|
_viteDevServer: null,
|
|
518
|
+
devMiddleware: null,
|
|
513
519
|
_usesClientRouter: buildInfo.usesClientRouter,
|
|
514
520
|
};
|
|
515
521
|
if (isPrerendering) {
|
|
@@ -529,6 +535,25 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
529
535
|
}
|
|
530
536
|
}
|
|
531
537
|
}
|
|
538
|
+
function addDevMiddlewareWarning(globalContext, viteDevServer) {
|
|
539
|
+
if (!viteDevServer)
|
|
540
|
+
return;
|
|
541
|
+
const getMiddlewareMode = () => viteDevServer.config.server.middlewareMode;
|
|
542
|
+
Object.defineProperty(globalContext, 'devMiddleware', {
|
|
543
|
+
get() {
|
|
544
|
+
const middlewareMode = getMiddlewareMode();
|
|
545
|
+
if (!middlewareMode) {
|
|
546
|
+
assertWarning(false, `You don't need ${pc.cyan('globalContext.devMiddleware')} because the development middleware is already installed (Vite's ${pc.cyan('config.server.middlewareMode')} is ${pc.cyan(JSON.stringify(middlewareMode))}) — installing the development middleware twice might hang the server`, { onlyOnce: true });
|
|
547
|
+
}
|
|
548
|
+
return viteDevServer.middlewares;
|
|
549
|
+
},
|
|
550
|
+
enumerable: getMiddlewareMode()
|
|
551
|
+
? true
|
|
552
|
+
: // So that spreading or serializing globalContext doesn't get the warning
|
|
553
|
+
false,
|
|
554
|
+
configurable: true,
|
|
555
|
+
});
|
|
556
|
+
}
|
|
532
557
|
async function addGlobalContextAsync(globalContext) {
|
|
533
558
|
debug('addGlobalContextAsync()');
|
|
534
559
|
let { viteConfigRuntime, buildInfo } = globalObject;
|
|
@@ -545,9 +570,17 @@ async function addGlobalContextAsync(globalContext) {
|
|
|
545
570
|
}
|
|
546
571
|
}
|
|
547
572
|
assert(viteConfigRuntime);
|
|
573
|
+
const { baseServer, baseAssets } = resolveBaseRuntime(viteConfigRuntime, globalContext.config);
|
|
548
574
|
return {
|
|
549
575
|
viteConfigRuntime,
|
|
550
|
-
|
|
576
|
+
baseServer,
|
|
577
|
+
baseAssets,
|
|
578
|
+
/**
|
|
579
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
580
|
+
*
|
|
581
|
+
* https://vike.dev/globalContext#middlewares
|
|
582
|
+
*/
|
|
583
|
+
middlewares: getMiddlewares_globalContext(globalContext, baseServer),
|
|
551
584
|
};
|
|
552
585
|
}
|
|
553
586
|
function clearGlobalContext() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { renderPageServer_userLand as renderPage } from './renderPageServer.js';
|
|
2
2
|
export { escapeInject, dangerouslySkipEscape } from './renderPageServer/html/renderHtml.js';
|
|
3
3
|
export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './renderPageServer/html/stream.js';
|
|
4
4
|
export { PROJECT_VERSION as version } from '../../utils/PROJECT_VERSION.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { renderPageServer_userLand as renderPage } from './renderPageServer.js';
|
|
2
2
|
export { escapeInject, dangerouslySkipEscape } from './renderPageServer/html/renderHtml.js';
|
|
3
3
|
export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './renderPageServer/html/stream.js';
|
|
4
4
|
export { PROJECT_VERSION as version } from '../../utils/PROJECT_VERSION.js';
|
|
@@ -7,7 +7,6 @@ export { createHttpResponseErrorFallbackJson };
|
|
|
7
7
|
export { createHttpResponseRedirect };
|
|
8
8
|
export { createHttpResponse404 };
|
|
9
9
|
export { createHttpResponseBaseIsMissing };
|
|
10
|
-
export { createHttpResponseFromUniversalMiddleware };
|
|
11
10
|
export type { HttpResponse };
|
|
12
11
|
import type { GetPageAssets } from './getPageAssets.js';
|
|
13
12
|
import type { HtmlRender } from './html/renderHtml.js';
|
|
@@ -55,4 +54,3 @@ declare function createHttpResponsePageJson(pageContextJson: string | StreamRead
|
|
|
55
54
|
pageContextsAborted: PageContextAborted[];
|
|
56
55
|
}): Promise<HttpResponse>;
|
|
57
56
|
declare function createHttpResponseRedirect({ url, statusCode }: UrlRedirect, pageContextInit: PageContextBegin): HttpResponse;
|
|
58
|
-
declare function createHttpResponseFromUniversalMiddleware(response: Response, earlyHints?: EarlyHint[]): HttpResponse;
|
|
@@ -7,7 +7,6 @@ export { createHttpResponseErrorFallbackJson };
|
|
|
7
7
|
export { createHttpResponseRedirect };
|
|
8
8
|
export { createHttpResponse404 };
|
|
9
9
|
export { createHttpResponseBaseIsMissing };
|
|
10
|
-
export { createHttpResponseFromUniversalMiddleware };
|
|
11
10
|
import { escapeHtml } from '../../../utils/escapeHtml.js';
|
|
12
11
|
import { assert, assertWarning } from '../../../utils/assert.js';
|
|
13
12
|
import { getErrorPageId, isErrorPage } from '../../../shared-server-client/error-page.js';
|
|
@@ -123,11 +122,6 @@ function createHttpResponseRedirect({ url, statusCode }, pageContextInit) {
|
|
|
123
122
|
// For users: showing a blank page is probably better than a flickering text.
|
|
124
123
|
getHtmlFallback(`<p style="display: none">Redirecting to ${escapeHtml(url)}</p>`));
|
|
125
124
|
}
|
|
126
|
-
function createHttpResponseFromUniversalMiddleware(response, earlyHints) {
|
|
127
|
-
const body = response.body ?? getHtmlFallback('<p style="display: none">No HTTP response body.</p>');
|
|
128
|
-
const httpResponse = createHttpResponseCommon(response.status, Array.from(response.headers.entries()), body, earlyHints);
|
|
129
|
-
return httpResponse;
|
|
130
|
-
}
|
|
131
125
|
function getHtmlFallback(bodyHtml, logText = htmlFallbackLog) {
|
|
132
126
|
return `${bodyHtml}<script>console.log(${JSON.stringify(logText)})</script>`;
|
|
133
127
|
}
|
|
@@ -3,10 +3,10 @@ export { createPageContextServerWithoutGlobalContext };
|
|
|
3
3
|
export type { PageContextCreatedServer };
|
|
4
4
|
export type { PageContextCreatedServerWithoutGlobalContext };
|
|
5
5
|
import type { GlobalContextServerInternal } from '../globalContext.js';
|
|
6
|
-
import type { PageContextInit
|
|
6
|
+
import type { PageContextInit } from '../renderPageServer.js';
|
|
7
7
|
import '../../assertEnvServer.js';
|
|
8
8
|
type PageContextCreatedServer = Awaited<ReturnType<typeof createPageContextServer>>;
|
|
9
|
-
declare function createPageContextServer(pageContextInit:
|
|
9
|
+
declare function createPageContextServer(pageContextInit: PageContextInit & {
|
|
10
10
|
headers?: Record<string, unknown>;
|
|
11
11
|
}, globalContext: GlobalContextServerInternal, args: {
|
|
12
12
|
requestId: number;
|
|
@@ -24,12 +24,6 @@ declare function createPageContextServer(pageContextInit: PageContextInitInterna
|
|
|
24
24
|
isPrerendering: boolean;
|
|
25
25
|
_requestId: number;
|
|
26
26
|
} & PageContextInit & {
|
|
27
|
-
_nodeDev?: {
|
|
28
|
-
req: import("http").IncomingMessage;
|
|
29
|
-
res: import("http").ServerResponse;
|
|
30
|
-
};
|
|
31
|
-
_reqWeb?: Request;
|
|
32
|
-
} & {
|
|
33
27
|
_globalContext: ({
|
|
34
28
|
config: import("../../../types/index.js").ConfigResolved;
|
|
35
29
|
_source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
|
|
@@ -66,6 +60,7 @@ declare function createPageContextServer(pageContextInit: PageContextInitInterna
|
|
|
66
60
|
_isPrerendering: false;
|
|
67
61
|
assetsManifest: null;
|
|
68
62
|
_viteDevServer: import("vite").ViteDevServer | undefined;
|
|
63
|
+
devMiddleware: import("vite").Connect.Server | null;
|
|
69
64
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
70
65
|
} | {
|
|
71
66
|
isClientSide: false;
|
|
@@ -74,6 +69,7 @@ declare function createPageContextServer(pageContextInit: PageContextInitInterna
|
|
|
74
69
|
_isProduction: true;
|
|
75
70
|
assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
|
|
76
71
|
_viteDevServer: null;
|
|
72
|
+
devMiddleware: null;
|
|
77
73
|
_usesClientRouter: boolean;
|
|
78
74
|
_isPrerendering: true;
|
|
79
75
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -84,12 +80,11 @@ declare function createPageContextServer(pageContextInit: PageContextInitInterna
|
|
|
84
80
|
_isProduction: true;
|
|
85
81
|
assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
|
|
86
82
|
_viteDevServer: null;
|
|
83
|
+
devMiddleware: null;
|
|
87
84
|
_usesClientRouter: boolean;
|
|
88
85
|
_isPrerendering: false;
|
|
89
86
|
viteConfig: null;
|
|
90
87
|
}) & {
|
|
91
|
-
baseServer: string;
|
|
92
|
-
baseAssets: string;
|
|
93
88
|
viteConfigRuntime: {
|
|
94
89
|
root: string;
|
|
95
90
|
build: {
|
|
@@ -100,6 +95,9 @@ declare function createPageContextServer(pageContextInit: PageContextInitInterna
|
|
|
100
95
|
inject: boolean | undefined;
|
|
101
96
|
};
|
|
102
97
|
};
|
|
98
|
+
baseServer: string;
|
|
99
|
+
baseAssets: string;
|
|
100
|
+
middlewares: import("../universal-middleware/core.js").Middleware[];
|
|
103
101
|
})) & {
|
|
104
102
|
prerenderContext: import("../../../types/index.js").PrerenderContext | undefined;
|
|
105
103
|
};
|
|
@@ -107,12 +105,6 @@ declare function createPageContextServer(pageContextInit: PageContextInitInterna
|
|
|
107
105
|
_baseServer: string;
|
|
108
106
|
_baseAssets: string;
|
|
109
107
|
_pageContextInit: PageContextInit & {
|
|
110
|
-
_nodeDev?: {
|
|
111
|
-
req: import("http").IncomingMessage;
|
|
112
|
-
res: import("http").ServerResponse;
|
|
113
|
-
};
|
|
114
|
-
_reqWeb?: Request;
|
|
115
|
-
} & {
|
|
116
108
|
headers?: Record<string, unknown>;
|
|
117
109
|
};
|
|
118
110
|
_urlHandler: ((url: string) => string) | null;
|
|
@@ -141,10 +133,4 @@ declare function createPageContextServerWithoutGlobalContext(pageContextInit: Pa
|
|
|
141
133
|
isClientSide: false;
|
|
142
134
|
isPrerendering: boolean;
|
|
143
135
|
_requestId: number;
|
|
144
|
-
} & PageContextInit
|
|
145
|
-
_nodeDev?: {
|
|
146
|
-
req: import("http").IncomingMessage;
|
|
147
|
-
res: import("http").ServerResponse;
|
|
148
|
-
};
|
|
149
|
-
_reqWeb?: Request;
|
|
150
|
-
};
|
|
136
|
+
} & PageContextInit;
|
|
@@ -40,11 +40,7 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
40
40
|
assertUsage(false, `The argument ${pc.cyan('writable')} passed to ${pc.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${getStreamName('writable', 'web')} nor ${getStreamName('writable', 'node')}.`);
|
|
41
41
|
},
|
|
42
42
|
getReadableWebStream() {
|
|
43
|
-
|
|
44
|
-
if (webStream === null) {
|
|
45
|
-
assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
|
|
46
|
-
}
|
|
47
|
-
return webStream;
|
|
43
|
+
return getStreamReadableWeb(htmlRender);
|
|
48
44
|
},
|
|
49
45
|
async getReadableNodeStream() {
|
|
50
46
|
const nodeStream = await getStreamReadableNode(htmlRender);
|
|
@@ -80,11 +76,7 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
80
76
|
getWebStream() {
|
|
81
77
|
assertWarning(false, '`pageContext.httpResponse.getWebStream(res)` is outdated, use `pageContext.httpResponse.getReadableWebStream(res)` instead. ' +
|
|
82
78
|
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
83
|
-
|
|
84
|
-
if (webStream === null) {
|
|
85
|
-
assertUsage(false, getErrMsg(htmlRender, renderHook, 'getWebStream()', getFixMsg('readable', 'web')));
|
|
86
|
-
}
|
|
87
|
-
return webStream;
|
|
79
|
+
return getStreamReadableWeb(htmlRender);
|
|
88
80
|
},
|
|
89
81
|
// TO-DO/next-major-release: remove
|
|
90
82
|
pipeToWebWritable(writable) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { handlePageContextRequestUrl };
|
|
2
2
|
import { pageContextJsonFileExtension, doNotCreateExtraDirectory, } from '../../../shared-server-client/getPageContextRequestUrl.js';
|
|
3
|
-
import {
|
|
3
|
+
import { modifyUrlSameOrigin } from '../../../shared-server-client/modifyUrlSameOrigin.js';
|
|
4
4
|
import { slice } from '../../../utils/slice.js';
|
|
5
5
|
import { baseServer } from '../../../utils/urlToFile.js';
|
|
6
6
|
import { assert } from '../../../utils/assert.js';
|
|
@@ -46,7 +46,7 @@ function processUrl(urlParsed, url) {
|
|
|
46
46
|
if (pathnameModified === '')
|
|
47
47
|
pathnameModified = '/';
|
|
48
48
|
const searchVikeArgs = search?._vike;
|
|
49
|
-
const urlWithoutPageContextRequestSuffix =
|
|
49
|
+
const urlWithoutPageContextRequestSuffix = modifyUrlSameOrigin(url, {
|
|
50
50
|
pathname: pathnameModified,
|
|
51
51
|
search: {
|
|
52
52
|
_vike: searchVikeArgs ? null : undefined,
|
|
@@ -52,7 +52,7 @@ declare function streamReadableWebToBytes(readableWeb: ReadableStream): Promise<
|
|
|
52
52
|
declare function awaitFirstChunk(stream: StreamReadableWeb, onErrorWhileStreaming: (err: unknown) => void): Promise<StreamReadableWeb>;
|
|
53
53
|
declare function streamPipeNodeToString(streamPipeNode: StreamPipeNode): Promise<string>;
|
|
54
54
|
declare function getStreamReadableNode(htmlRender: HtmlRender | Uint8Array): Promise<null | StreamReadableNode>;
|
|
55
|
-
declare function getStreamReadableWeb(htmlRender: HtmlRender | Uint8Array):
|
|
55
|
+
declare function getStreamReadableWeb(htmlRender: HtmlRender | Uint8Array): StreamReadableWeb;
|
|
56
56
|
declare function pipeToStreamWritableWeb(htmlRender: HtmlRender | Uint8Array, writable: StreamWritableWeb): boolean;
|
|
57
57
|
declare function pipeToStreamWritableNode(htmlRender: HtmlRender | Uint8Array, writable: StreamWritableNode): boolean;
|
|
58
58
|
declare function processStream(streamOriginal: StreamProviderAny, { injectStringAtBegin, injectStringAfterFirstChunk, injectStringAtEnd, onErrorWhileStreaming, enableEagerStreaming, onCancel, }: {
|
|
@@ -234,7 +234,20 @@ function getStreamReadableWeb(htmlRender) {
|
|
|
234
234
|
streamPipeWeb(writable);
|
|
235
235
|
return readable;
|
|
236
236
|
}
|
|
237
|
-
|
|
237
|
+
if (isStreamReadableNode(htmlRender) || isStreamPipeNode(htmlRender)) {
|
|
238
|
+
// A Node.js stream implies that Node.js's `stream` module is available
|
|
239
|
+
const { readable, writable } = new TransformStream();
|
|
240
|
+
loadStreamNodeModule().then(({ Readable, PassThrough }) => {
|
|
241
|
+
const passThrough = new PassThrough();
|
|
242
|
+
pipeToStreamWritableNode(htmlRender, passThrough);
|
|
243
|
+
Readable.toWeb(passThrough)
|
|
244
|
+
.pipeTo(writable)
|
|
245
|
+
.catch(() => { });
|
|
246
|
+
});
|
|
247
|
+
return readable;
|
|
248
|
+
}
|
|
249
|
+
checkType(htmlRender);
|
|
250
|
+
assert(false);
|
|
238
251
|
}
|
|
239
252
|
function pipeToStreamWritableWeb(htmlRender, writable) {
|
|
240
253
|
if (typeof htmlRender === 'string' || htmlRender instanceof Uint8Array) {
|
|
@@ -866,8 +879,8 @@ function encodeForWebStream(thing) {
|
|
|
866
879
|
// Because of Cloudflare Workers, we cannot statically import the `stream` module, instead we dynamically import it.
|
|
867
880
|
async function loadStreamNodeModule() {
|
|
868
881
|
const streamModule = (await import_('stream')).default;
|
|
869
|
-
const { Readable, Writable, pipeline } = streamModule;
|
|
870
|
-
return { Readable, Writable, pipeline };
|
|
882
|
+
const { Readable, Writable, PassThrough, pipeline } = streamModule;
|
|
883
|
+
return { Readable, Writable, PassThrough, pipeline };
|
|
871
884
|
}
|
|
872
885
|
function getStreamName(kind, type) {
|
|
873
886
|
let typeName = capitalizeFirstLetter(type);
|
|
@@ -23,12 +23,6 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
23
23
|
isPrerendering: boolean;
|
|
24
24
|
_requestId: number;
|
|
25
25
|
} & import("../renderPageServer.js").PageContextInit & {
|
|
26
|
-
_nodeDev?: {
|
|
27
|
-
req: import("http").IncomingMessage;
|
|
28
|
-
res: import("http").ServerResponse;
|
|
29
|
-
};
|
|
30
|
-
_reqWeb?: Request;
|
|
31
|
-
} & {
|
|
32
26
|
_globalContext: ({
|
|
33
27
|
config: import("../../../types/index.js").ConfigResolved;
|
|
34
28
|
_source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
|
|
@@ -65,6 +59,7 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
65
59
|
_isPrerendering: false;
|
|
66
60
|
assetsManifest: null;
|
|
67
61
|
_viteDevServer: import("vite").ViteDevServer | undefined;
|
|
62
|
+
devMiddleware: import("vite").Connect.Server | null;
|
|
68
63
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
69
64
|
} | {
|
|
70
65
|
isClientSide: false;
|
|
@@ -73,6 +68,7 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
73
68
|
_isProduction: true;
|
|
74
69
|
assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
|
|
75
70
|
_viteDevServer: null;
|
|
71
|
+
devMiddleware: null;
|
|
76
72
|
_usesClientRouter: boolean;
|
|
77
73
|
_isPrerendering: true;
|
|
78
74
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -83,12 +79,11 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
83
79
|
_isProduction: true;
|
|
84
80
|
assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
|
|
85
81
|
_viteDevServer: null;
|
|
82
|
+
devMiddleware: null;
|
|
86
83
|
_usesClientRouter: boolean;
|
|
87
84
|
_isPrerendering: false;
|
|
88
85
|
viteConfig: null;
|
|
89
86
|
}) & {
|
|
90
|
-
baseServer: string;
|
|
91
|
-
baseAssets: string;
|
|
92
87
|
viteConfigRuntime: {
|
|
93
88
|
root: string;
|
|
94
89
|
build: {
|
|
@@ -99,6 +94,9 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
99
94
|
inject: boolean | undefined;
|
|
100
95
|
};
|
|
101
96
|
};
|
|
97
|
+
baseServer: string;
|
|
98
|
+
baseAssets: string;
|
|
99
|
+
middlewares: import("../universal-middleware/core.js").Middleware[];
|
|
102
100
|
})) & {
|
|
103
101
|
prerenderContext: import("../../../types/index.js").PrerenderContext | undefined;
|
|
104
102
|
};
|
|
@@ -106,12 +104,6 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
106
104
|
_baseServer: string;
|
|
107
105
|
_baseAssets: string;
|
|
108
106
|
_pageContextInit: import("../renderPageServer.js").PageContextInit & {
|
|
109
|
-
_nodeDev?: {
|
|
110
|
-
req: import("http").IncomingMessage;
|
|
111
|
-
res: import("http").ServerResponse;
|
|
112
|
-
};
|
|
113
|
-
_reqWeb?: Request;
|
|
114
|
-
} & {
|
|
115
107
|
headers?: Record<string, unknown>;
|
|
116
108
|
};
|
|
117
109
|
_urlHandler: ((url: string) => string) | null;
|