vike 0.4.179-commit-fd426a3 → 0.4.179-commit-9822036
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/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +0 -1
- package/dist/cjs/node/runtime/html/injectAssets.js +10 -2
- package/dist/cjs/node/runtime/html/renderHtml.js +11 -19
- package/dist/cjs/node/runtime/html/stream.js +2 -1
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.d.ts +1 -1
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +0 -1
- package/dist/esm/node/runtime/html/injectAssets.d.ts +1 -1
- package/dist/esm/node/runtime/html/injectAssets.js +10 -2
- package/dist/esm/node/runtime/html/renderHtml.js +11 -19
- package/dist/esm/node/runtime/html/stream.d.ts +1 -1
- package/dist/esm/node/runtime/html/stream.js +2 -1
- package/dist/esm/utils/projectInfo.d.ts +2 -2
- package/dist/esm/utils/projectInfo.js +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,6 @@ exports.injectHtmlTags = injectHtmlTags;
|
|
|
14
14
|
function injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage) {
|
|
15
15
|
const htmlFragment = joinHtmlTags(htmlTags.filter((h) => h.position === 'STREAM'));
|
|
16
16
|
if (htmlFragment) {
|
|
17
|
-
(0, utils_js_1.assert)(streamFromReactStreamingPackage);
|
|
18
17
|
(0, utils_js_1.assert)(!streamFromReactStreamingPackage.hasStreamEnded());
|
|
19
18
|
streamFromReactStreamingPackage.injectToStream(htmlFragment, { flush: true });
|
|
20
19
|
}
|
|
@@ -30,12 +30,20 @@ function injectHtmlTagsToStream(pageContext, streamFromReactStreamingPackage, in
|
|
|
30
30
|
htmlTags = (0, getHtmlTags_js_1.getHtmlTags)(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, true);
|
|
31
31
|
let htmlBegin = htmlPartsToString(htmlPartsBegin, pageAssets);
|
|
32
32
|
htmlBegin = injectToHtmlBegin(htmlBegin, htmlTags);
|
|
33
|
-
|
|
33
|
+
if (streamFromReactStreamingPackage) {
|
|
34
|
+
(0, injectHtmlTags_js_1.injectHtmlTagsUsingStream)(htmlTags, streamFromReactStreamingPackage);
|
|
35
|
+
}
|
|
34
36
|
return htmlBegin;
|
|
35
37
|
}
|
|
36
38
|
function injectAtStreamAfterFirstChunk() {
|
|
39
|
+
// React has its own stream injection mechanism, see injectHtmlTagsUsingStream()
|
|
40
|
+
if (streamFromReactStreamingPackage)
|
|
41
|
+
return null;
|
|
37
42
|
(0, utils_js_1.assert)(htmlTags);
|
|
38
|
-
const
|
|
43
|
+
const tags = htmlTags.filter((h) => h.position === 'STREAM');
|
|
44
|
+
if (tags.length === 0)
|
|
45
|
+
return null;
|
|
46
|
+
const htmlFragment = (0, injectHtmlTags_js_1.joinHtmlTags)(tags);
|
|
39
47
|
return htmlFragment;
|
|
40
48
|
}
|
|
41
49
|
async function injectAtStreamEnd(htmlPartsEnd) {
|
|
@@ -55,7 +55,7 @@ async function renderDocumentHtml(documentHtml, pageContext, onErrorWhileStreami
|
|
|
55
55
|
}
|
|
56
56
|
exports.renderDocumentHtml = renderDocumentHtml;
|
|
57
57
|
async function renderHtmlStream(streamOriginal, injectString, pageContext, onErrorWhileStreaming, injectFilter) {
|
|
58
|
-
const
|
|
58
|
+
const processStreamOptions = {
|
|
59
59
|
onErrorWhileStreaming,
|
|
60
60
|
enableEagerStreaming: pageContext.enableEagerStreaming
|
|
61
61
|
};
|
|
@@ -65,25 +65,17 @@ async function renderHtmlStream(streamOriginal, injectString, pageContext, onErr
|
|
|
65
65
|
streamFromReactStreamingPackage = streamOriginal;
|
|
66
66
|
}
|
|
67
67
|
const { injectAtStreamBegin, injectAtStreamAfterFirstChunk, injectAtStreamEnd } = (0, injectAssets_js_1.injectHtmlTagsToStream)(pageContext, streamFromReactStreamingPackage, injectFilter);
|
|
68
|
-
(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// React needs its own chunk stream injection mechanism
|
|
78
|
-
!react_streaming_js_1.isStreamFromReactStreamingPackage) {
|
|
79
|
-
(0, utils_js_1.objectAssign)(opts, {
|
|
80
|
-
injectStringAfterFirstChunk: () => {
|
|
81
|
-
return injectAtStreamAfterFirstChunk();
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
68
|
+
processStreamOptions.injectStringAtBegin = async () => {
|
|
69
|
+
return await injectAtStreamBegin(injectString.htmlPartsBegin);
|
|
70
|
+
};
|
|
71
|
+
processStreamOptions.injectStringAtEnd = async () => {
|
|
72
|
+
return await injectAtStreamEnd(injectString.htmlPartsEnd);
|
|
73
|
+
};
|
|
74
|
+
processStreamOptions.injectStringAfterFirstChunk = () => {
|
|
75
|
+
return injectAtStreamAfterFirstChunk();
|
|
76
|
+
};
|
|
85
77
|
}
|
|
86
|
-
const streamWrapper = await (0, stream_js_1.processStream)(streamOriginal,
|
|
78
|
+
const streamWrapper = await (0, stream_js_1.processStream)(streamOriginal, processStreamOptions);
|
|
87
79
|
return streamWrapper;
|
|
88
80
|
}
|
|
89
81
|
function isTemplateWrapped(something) {
|
|
@@ -257,7 +257,8 @@ async function processStream(streamOriginal, { injectStringAtBegin, injectString
|
|
|
257
257
|
writeStream(chunk);
|
|
258
258
|
if (injectStringAfterFirstChunk && !injectStringAfterFirstChunk_done) {
|
|
259
259
|
const injectedChunk = injectStringAfterFirstChunk();
|
|
260
|
-
|
|
260
|
+
if (injectedChunk !== null)
|
|
261
|
+
writeStream(injectedChunk);
|
|
261
262
|
injectStringAfterFirstChunk_done = true;
|
|
262
263
|
}
|
|
263
264
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PROJECT_VERSION = exports.projectInfo = void 0;
|
|
4
|
-
const PROJECT_VERSION = '0.4.179-commit-
|
|
4
|
+
const PROJECT_VERSION = '0.4.179-commit-9822036';
|
|
5
5
|
exports.PROJECT_VERSION = PROJECT_VERSION;
|
|
6
6
|
const projectInfo = {
|
|
7
7
|
projectName: 'Vike',
|
|
@@ -8,7 +8,7 @@ import type { StreamFromReactStreamingPackage } from '../stream/react-streaming.
|
|
|
8
8
|
import type { HtmlTag } from './getHtmlTags.js';
|
|
9
9
|
type Position = 'HTML_BEGIN' | 'HTML_END';
|
|
10
10
|
declare function injectHtmlTags(htmlString: string, htmlTags: HtmlTag[], position: Position): string;
|
|
11
|
-
declare function injectHtmlTagsUsingStream(htmlTags: HtmlTag[], streamFromReactStreamingPackage:
|
|
11
|
+
declare function injectHtmlTagsUsingStream(htmlTags: HtmlTag[], streamFromReactStreamingPackage: StreamFromReactStreamingPackage): void;
|
|
12
12
|
declare function joinHtmlTags(htmlTags: HtmlTag[]): string;
|
|
13
13
|
declare function injectAtOpeningTag(tag: 'head' | 'html' | '!doctype', htmlString: string, htmlFragment: string): string;
|
|
14
14
|
declare function injectAtClosingTag(tag: 'body' | 'html', htmlString: string, htmlFragment: string): string;
|
|
@@ -17,7 +17,6 @@ function injectHtmlTags(htmlString, htmlTags, position) {
|
|
|
17
17
|
function injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage) {
|
|
18
18
|
const htmlFragment = joinHtmlTags(htmlTags.filter((h) => h.position === 'STREAM'));
|
|
19
19
|
if (htmlFragment) {
|
|
20
|
-
assert(streamFromReactStreamingPackage);
|
|
21
20
|
assert(!streamFromReactStreamingPackage.hasStreamEnded());
|
|
22
21
|
streamFromReactStreamingPackage.injectToStream(htmlFragment, { flush: true });
|
|
23
22
|
}
|
|
@@ -29,7 +29,7 @@ declare function injectHtmlTagsToStream(pageContext: PageContextInjectAssets & {
|
|
|
29
29
|
_isStream: true;
|
|
30
30
|
}, streamFromReactStreamingPackage: null | StreamFromReactStreamingPackage, injectFilter: PreloadFilter): {
|
|
31
31
|
injectAtStreamBegin: (htmlPartsBegin: HtmlPart[]) => Promise<string>;
|
|
32
|
-
injectAtStreamAfterFirstChunk: () => string;
|
|
32
|
+
injectAtStreamAfterFirstChunk: () => null | string;
|
|
33
33
|
injectAtStreamEnd: (htmlPartsEnd: HtmlPart[]) => Promise<string>;
|
|
34
34
|
};
|
|
35
35
|
type PageContextPromise = null | Promise<unknown> | (() => void | Promise<unknown>);
|
|
@@ -28,12 +28,20 @@ function injectHtmlTagsToStream(pageContext, streamFromReactStreamingPackage, in
|
|
|
28
28
|
htmlTags = getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, true);
|
|
29
29
|
let htmlBegin = htmlPartsToString(htmlPartsBegin, pageAssets);
|
|
30
30
|
htmlBegin = injectToHtmlBegin(htmlBegin, htmlTags);
|
|
31
|
-
|
|
31
|
+
if (streamFromReactStreamingPackage) {
|
|
32
|
+
injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage);
|
|
33
|
+
}
|
|
32
34
|
return htmlBegin;
|
|
33
35
|
}
|
|
34
36
|
function injectAtStreamAfterFirstChunk() {
|
|
37
|
+
// React has its own stream injection mechanism, see injectHtmlTagsUsingStream()
|
|
38
|
+
if (streamFromReactStreamingPackage)
|
|
39
|
+
return null;
|
|
35
40
|
assert(htmlTags);
|
|
36
|
-
const
|
|
41
|
+
const tags = htmlTags.filter((h) => h.position === 'STREAM');
|
|
42
|
+
if (tags.length === 0)
|
|
43
|
+
return null;
|
|
44
|
+
const htmlFragment = joinHtmlTags(tags);
|
|
37
45
|
return htmlFragment;
|
|
38
46
|
}
|
|
39
47
|
async function injectAtStreamEnd(htmlPartsEnd) {
|
|
@@ -52,7 +52,7 @@ async function renderDocumentHtml(documentHtml, pageContext, onErrorWhileStreami
|
|
|
52
52
|
assert(false);
|
|
53
53
|
}
|
|
54
54
|
async function renderHtmlStream(streamOriginal, injectString, pageContext, onErrorWhileStreaming, injectFilter) {
|
|
55
|
-
const
|
|
55
|
+
const processStreamOptions = {
|
|
56
56
|
onErrorWhileStreaming,
|
|
57
57
|
enableEagerStreaming: pageContext.enableEagerStreaming
|
|
58
58
|
};
|
|
@@ -62,25 +62,17 @@ async function renderHtmlStream(streamOriginal, injectString, pageContext, onErr
|
|
|
62
62
|
streamFromReactStreamingPackage = streamOriginal;
|
|
63
63
|
}
|
|
64
64
|
const { injectAtStreamBegin, injectAtStreamAfterFirstChunk, injectAtStreamEnd } = injectHtmlTagsToStream(pageContext, streamFromReactStreamingPackage, injectFilter);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
// React needs its own chunk stream injection mechanism
|
|
75
|
-
!isStreamFromReactStreamingPackage) {
|
|
76
|
-
objectAssign(opts, {
|
|
77
|
-
injectStringAfterFirstChunk: () => {
|
|
78
|
-
return injectAtStreamAfterFirstChunk();
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
65
|
+
processStreamOptions.injectStringAtBegin = async () => {
|
|
66
|
+
return await injectAtStreamBegin(injectString.htmlPartsBegin);
|
|
67
|
+
};
|
|
68
|
+
processStreamOptions.injectStringAtEnd = async () => {
|
|
69
|
+
return await injectAtStreamEnd(injectString.htmlPartsEnd);
|
|
70
|
+
};
|
|
71
|
+
processStreamOptions.injectStringAfterFirstChunk = () => {
|
|
72
|
+
return injectAtStreamAfterFirstChunk();
|
|
73
|
+
};
|
|
82
74
|
}
|
|
83
|
-
const streamWrapper = await processStream(streamOriginal,
|
|
75
|
+
const streamWrapper = await processStream(streamOriginal, processStreamOptions);
|
|
84
76
|
return streamWrapper;
|
|
85
77
|
}
|
|
86
78
|
function isTemplateWrapped(something) {
|
|
@@ -53,7 +53,7 @@ declare function pipeToStreamWritableWeb(htmlRender: HtmlRender, writable: Strea
|
|
|
53
53
|
declare function pipeToStreamWritableNode(htmlRender: HtmlRender, writable: StreamWritableNode): boolean;
|
|
54
54
|
declare function processStream(streamOriginal: StreamProviderAny, { injectStringAtBegin, injectStringAfterFirstChunk, injectStringAtEnd, onErrorWhileStreaming, enableEagerStreaming }: {
|
|
55
55
|
injectStringAtBegin?: () => Promise<string>;
|
|
56
|
-
injectStringAfterFirstChunk?: () => string;
|
|
56
|
+
injectStringAfterFirstChunk?: () => string | null;
|
|
57
57
|
injectStringAtEnd?: () => Promise<string>;
|
|
58
58
|
onErrorWhileStreaming: (err: unknown) => void;
|
|
59
59
|
enableEagerStreaming?: boolean;
|
|
@@ -262,7 +262,8 @@ async function processStream(streamOriginal, { injectStringAtBegin, injectString
|
|
|
262
262
|
writeStream(chunk);
|
|
263
263
|
if (injectStringAfterFirstChunk && !injectStringAfterFirstChunk_done) {
|
|
264
264
|
const injectedChunk = injectStringAfterFirstChunk();
|
|
265
|
-
|
|
265
|
+
if (injectedChunk !== null)
|
|
266
|
+
writeStream(injectedChunk);
|
|
266
267
|
injectStringAfterFirstChunk_done = true;
|
|
267
268
|
}
|
|
268
269
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { projectInfo };
|
|
2
2
|
export { PROJECT_VERSION };
|
|
3
|
-
declare const PROJECT_VERSION: "0.4.179-commit-
|
|
3
|
+
declare const PROJECT_VERSION: "0.4.179-commit-9822036";
|
|
4
4
|
declare const projectInfo: {
|
|
5
5
|
projectName: "Vike";
|
|
6
|
-
projectVersion: "0.4.179-commit-
|
|
6
|
+
projectVersion: "0.4.179-commit-9822036";
|
|
7
7
|
};
|