@vue/server-renderer 3.6.0-beta.7 → 3.6.0-beta.9
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.
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/server-renderer v3.6.0-beta.
|
|
2
|
+
* @vue/server-renderer v3.6.0-beta.9
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
6
|
-
Object.defineProperties(exports, {
|
|
6
|
+
Object.defineProperties(exports, {
|
|
7
|
+
__esModule: { value: true },
|
|
8
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
9
|
+
});
|
|
7
10
|
//#region \0rolldown/runtime.js
|
|
8
11
|
var __create = Object.create;
|
|
9
12
|
var __defProp = Object.defineProperty;
|
|
@@ -13,28 +16,20 @@ var __getProtoOf = Object.getPrototypeOf;
|
|
|
13
16
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
17
|
var __exportAll = (all, no_symbols) => {
|
|
15
18
|
let target = {};
|
|
16
|
-
for (var name in all) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
if (!no_symbols) {
|
|
23
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
24
|
-
}
|
|
19
|
+
for (var name in all) __defProp(target, name, {
|
|
20
|
+
get: all[name],
|
|
21
|
+
enumerable: true
|
|
22
|
+
});
|
|
23
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
25
24
|
return target;
|
|
26
25
|
};
|
|
27
26
|
var __copyProps = (to, from, except, desc) => {
|
|
28
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
27
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
28
|
+
key = keys[i];
|
|
29
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
30
|
+
get: ((k) => from[k]).bind(null, key),
|
|
31
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
32
|
+
});
|
|
38
33
|
}
|
|
39
34
|
return to;
|
|
40
35
|
};
|
|
@@ -42,13 +37,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
42
37
|
value: mod,
|
|
43
38
|
enumerable: true
|
|
44
39
|
}) : target, mod));
|
|
45
|
-
|
|
46
40
|
//#endregion
|
|
47
41
|
let vue = require("vue");
|
|
48
42
|
vue = __toESM(vue);
|
|
49
43
|
let _vue_shared = require("@vue/shared");
|
|
50
44
|
let _vue_compiler_ssr = require("@vue/compiler-ssr");
|
|
51
|
-
|
|
52
45
|
//#region packages/server-renderer/src/helpers/ssrRenderAttrs.ts
|
|
53
46
|
const shouldIgnoreProp = /* @__PURE__ */ (0, _vue_shared.makeMap)(`,key,ref,innerHTML,textContent,ref_key,ref_for`);
|
|
54
47
|
function ssrRenderAttrs(props, tag) {
|
|
@@ -96,13 +89,11 @@ function ssrResetCssVars(raw) {
|
|
|
96
89
|
}
|
|
97
90
|
return raw;
|
|
98
91
|
}
|
|
99
|
-
|
|
100
92
|
//#endregion
|
|
101
93
|
//#region packages/server-renderer/src/helpers/ssrRenderComponent.ts
|
|
102
94
|
function ssrRenderComponent(comp, props = null, children = null, parentComponent = null, slotScopeId) {
|
|
103
95
|
return renderComponentVNode((0, vue.createVNode)(comp, props, children), parentComponent, slotScopeId);
|
|
104
96
|
}
|
|
105
|
-
|
|
106
97
|
//#endregion
|
|
107
98
|
//#region packages/server-renderer/src/helpers/ssrRenderSlot.ts
|
|
108
99
|
const { ensureValidVNode } = vue.ssrUtils;
|
|
@@ -154,7 +145,6 @@ function isComment(item) {
|
|
|
154
145
|
if (item.length <= 8) return true;
|
|
155
146
|
return !item.replace(commentRE, "").trim();
|
|
156
147
|
}
|
|
157
|
-
|
|
158
148
|
//#endregion
|
|
159
149
|
//#region packages/server-renderer/src/helpers/ssrRenderTeleport.ts
|
|
160
150
|
function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) {
|
|
@@ -177,13 +167,11 @@ function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parent
|
|
|
177
167
|
targetBuffer.splice(bufferIndex, 0, teleportContent);
|
|
178
168
|
parentPush("<!--teleport end-->");
|
|
179
169
|
}
|
|
180
|
-
|
|
181
170
|
//#endregion
|
|
182
171
|
//#region packages/server-renderer/src/helpers/ssrInterpolate.ts
|
|
183
172
|
function ssrInterpolate(value) {
|
|
184
173
|
return (0, _vue_shared.escapeHtml)((0, _vue_shared.toDisplayString)(value));
|
|
185
174
|
}
|
|
186
|
-
|
|
187
175
|
//#endregion
|
|
188
176
|
//#region packages/reactivity/src/system.ts
|
|
189
177
|
let activeSub = void 0;
|
|
@@ -194,7 +182,6 @@ function setActiveSub(sub) {
|
|
|
194
182
|
activeSub = sub;
|
|
195
183
|
}
|
|
196
184
|
}
|
|
197
|
-
|
|
198
185
|
//#endregion
|
|
199
186
|
//#region packages/reactivity/src/reactive.ts
|
|
200
187
|
/**
|
|
@@ -225,14 +212,12 @@ function toRaw(observed) {
|
|
|
225
212
|
const raw = observed && observed["__v_raw"];
|
|
226
213
|
return raw ? /* @__PURE__ */ toRaw(raw) : observed;
|
|
227
214
|
}
|
|
228
|
-
|
|
229
215
|
//#endregion
|
|
230
216
|
//#region packages/reactivity/src/ref.ts
|
|
231
217
|
/* @__NO_SIDE_EFFECTS__ */
|
|
232
218
|
function isRef(r) {
|
|
233
219
|
return r ? r["__v_isRef"] === true : false;
|
|
234
220
|
}
|
|
235
|
-
|
|
236
221
|
//#endregion
|
|
237
222
|
//#region packages/runtime-core/src/warning.ts
|
|
238
223
|
const stack = [];
|
|
@@ -259,8 +244,8 @@ function warn$3(msg, ...args) {
|
|
|
259
244
|
const trace = getComponentTrace();
|
|
260
245
|
if (appWarnHandler) callWithErrorHandling(appWarnHandler, instance, 11, [
|
|
261
246
|
msg + args.map((a) => {
|
|
262
|
-
|
|
263
|
-
return
|
|
247
|
+
const toString = a.toString;
|
|
248
|
+
return toString == null ? JSON.stringify(a) : toString.call(a);
|
|
264
249
|
}).join(""),
|
|
265
250
|
instance && instance.proxy || instance,
|
|
266
251
|
trace.map(({ ctx }) => `at <${formatComponentName(instance, ctx.type)}>`).join("\n"),
|
|
@@ -342,7 +327,6 @@ function formatProp(key, value, raw) {
|
|
|
342
327
|
}
|
|
343
328
|
}
|
|
344
329
|
/* v8 ignore stop */
|
|
345
|
-
|
|
346
330
|
//#endregion
|
|
347
331
|
//#region packages/runtime-core/src/errorHandling.ts
|
|
348
332
|
const ErrorTypeStrings = {
|
|
@@ -421,18 +405,11 @@ function logError(err, type, instance, throwInDev = true, throwInProd = false) {
|
|
|
421
405
|
else console.error(err);
|
|
422
406
|
}
|
|
423
407
|
}
|
|
424
|
-
|
|
425
408
|
//#endregion
|
|
426
409
|
//#region packages/runtime-core/src/vnode.ts
|
|
427
|
-
const Fragment$1 = Symbol.for("v-fgt");
|
|
428
|
-
const Text$1 = Symbol.for("v-txt");
|
|
429
|
-
const Comment$1 = Symbol.for("v-cmt");
|
|
430
|
-
const Static$1 = Symbol.for("v-stc");
|
|
431
|
-
const VaporSlot = Symbol.for("v-vps");
|
|
432
410
|
function isVNode$2(value) {
|
|
433
411
|
return value ? value.__v_isVNode === true : false;
|
|
434
412
|
}
|
|
435
|
-
|
|
436
413
|
//#endregion
|
|
437
414
|
//#region packages/runtime-core/src/component.ts
|
|
438
415
|
const classifyRE = /(?:^|[-_])\w/g;
|
|
@@ -454,18 +431,16 @@ function formatComponentName(instance, Component, isRoot = false) {
|
|
|
454
431
|
}
|
|
455
432
|
return name ? classify(name) : isRoot ? `App` : `Anonymous`;
|
|
456
433
|
}
|
|
457
|
-
|
|
458
434
|
//#endregion
|
|
459
435
|
//#region packages/runtime-core/src/index.ts
|
|
460
436
|
const warn$2 = warn$3;
|
|
461
|
-
|
|
462
437
|
//#endregion
|
|
463
438
|
//#region packages/server-renderer/src/helpers/ssrRenderList.ts
|
|
464
439
|
function ssrRenderList(source, renderItem) {
|
|
465
440
|
if ((0, _vue_shared.isArray)(source) || (0, _vue_shared.isString)(source)) for (let i = 0, l = source.length; i < l; i++) renderItem(source[i], i);
|
|
466
441
|
else if (typeof source === "number") {
|
|
467
|
-
if (!Number.isInteger(source)) {
|
|
468
|
-
warn$2(`The v-for range
|
|
442
|
+
if (!Number.isInteger(source) || source < 0) {
|
|
443
|
+
warn$2(`The v-for range expects a positive integer value but got ${source}.`);
|
|
469
444
|
return;
|
|
470
445
|
}
|
|
471
446
|
for (let i = 0; i < source; i++) renderItem(i + 1, i);
|
|
@@ -480,14 +455,12 @@ function ssrRenderList(source, renderItem) {
|
|
|
480
455
|
}
|
|
481
456
|
}
|
|
482
457
|
}
|
|
483
|
-
|
|
484
458
|
//#endregion
|
|
485
459
|
//#region packages/server-renderer/src/helpers/ssrRenderSuspense.ts
|
|
486
460
|
async function ssrRenderSuspense(push, { default: renderContent }) {
|
|
487
461
|
if (renderContent) renderContent();
|
|
488
462
|
else push(`<!---->`);
|
|
489
463
|
}
|
|
490
|
-
|
|
491
464
|
//#endregion
|
|
492
465
|
//#region packages/server-renderer/src/helpers/ssrGetDirectiveProps.ts
|
|
493
466
|
function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
|
|
@@ -501,7 +474,6 @@ function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
|
|
|
501
474
|
}, null) || {};
|
|
502
475
|
return {};
|
|
503
476
|
}
|
|
504
|
-
|
|
505
477
|
//#endregion
|
|
506
478
|
//#region packages/server-renderer/src/helpers/ssrVModelHelpers.ts
|
|
507
479
|
const ssrLooseEqual = _vue_shared.looseEqual;
|
|
@@ -523,7 +495,6 @@ function ssrGetDynamicModelProps(existingProps = {}, model) {
|
|
|
523
495
|
default: return { value: model };
|
|
524
496
|
}
|
|
525
497
|
}
|
|
526
|
-
|
|
527
498
|
//#endregion
|
|
528
499
|
//#region packages/server-renderer/src/internal.ts
|
|
529
500
|
var internal_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -547,7 +518,6 @@ var internal_exports = /* @__PURE__ */ __exportAll({
|
|
|
547
518
|
ssrRenderTeleport: () => ssrRenderTeleport,
|
|
548
519
|
ssrRenderVNode: () => renderVNode
|
|
549
520
|
});
|
|
550
|
-
|
|
551
521
|
//#endregion
|
|
552
522
|
//#region packages/server-renderer/src/helpers/ssrCompile.ts
|
|
553
523
|
const compileCache = Object.create(null);
|
|
@@ -584,10 +554,29 @@ function ssrCompile(template, instance) {
|
|
|
584
554
|
const fakeRequire = (id) => requireMap[id];
|
|
585
555
|
return compileCache[cacheKey] = Function("require", code)(fakeRequire);
|
|
586
556
|
}
|
|
587
|
-
|
|
588
557
|
//#endregion
|
|
589
558
|
//#region packages/server-renderer/src/render.ts
|
|
590
559
|
const { createComponentInstance, setCurrentRenderingInstance, setupComponent, renderComponentRoot, normalizeVNode, pushWarningContext, popWarningContext } = vue.ssrUtils;
|
|
560
|
+
function cleanupContext(context) {
|
|
561
|
+
let firstError;
|
|
562
|
+
if (context.__watcherHandles) {
|
|
563
|
+
for (const unwatch of context.__watcherHandles) try {
|
|
564
|
+
unwatch();
|
|
565
|
+
} catch (err) {
|
|
566
|
+
if (firstError === void 0) firstError = err;
|
|
567
|
+
}
|
|
568
|
+
context.__watcherHandles.length = 0;
|
|
569
|
+
}
|
|
570
|
+
if (context.__instanceScopes) {
|
|
571
|
+
for (const scope of context.__instanceScopes) try {
|
|
572
|
+
scope.stop();
|
|
573
|
+
} catch (err) {
|
|
574
|
+
if (firstError === void 0) firstError = err;
|
|
575
|
+
}
|
|
576
|
+
context.__instanceScopes.length = 0;
|
|
577
|
+
}
|
|
578
|
+
if (firstError !== void 0) throw firstError;
|
|
579
|
+
}
|
|
591
580
|
function createBuffer() {
|
|
592
581
|
let appendable = false;
|
|
593
582
|
const buffer = [];
|
|
@@ -609,6 +598,8 @@ function createBuffer() {
|
|
|
609
598
|
}
|
|
610
599
|
function renderComponentVNode(vnode, parentComponent = null, slotScopeId) {
|
|
611
600
|
const instance = vnode.component = createComponentInstance(vnode, parentComponent, null);
|
|
601
|
+
const context = instance.appContext.provides[vue.ssrContextKey];
|
|
602
|
+
if (context) (context.__instanceScopes || (context.__instanceScopes = [])).push(instance.scope);
|
|
612
603
|
pushWarningContext(vnode);
|
|
613
604
|
const res = setupComponent(instance, true);
|
|
614
605
|
popWarningContext();
|
|
@@ -762,7 +753,6 @@ function renderTeleportVNode(push, vnode, parentComponent, slotScopeId) {
|
|
|
762
753
|
renderVNodeChildren(push, vnode.children, parentComponent, slotScopeId);
|
|
763
754
|
}, target, disabled || disabled === "", parentComponent);
|
|
764
755
|
}
|
|
765
|
-
|
|
766
756
|
//#endregion
|
|
767
757
|
//#region packages/server-renderer/src/renderToString.ts
|
|
768
758
|
const { isVNode: isVNode$1 } = vue.ssrUtils;
|
|
@@ -805,10 +795,13 @@ async function renderToString(input, context = {}) {
|
|
|
805
795
|
const vnode = (0, vue.createVNode)(input._component, input._props);
|
|
806
796
|
vnode.appContext = input._context;
|
|
807
797
|
input.provide(vue.ssrContextKey, context);
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
798
|
+
try {
|
|
799
|
+
const result = await unrollBuffer$1(await renderComponentVNode(vnode));
|
|
800
|
+
await resolveTeleports(context);
|
|
801
|
+
return result;
|
|
802
|
+
} finally {
|
|
803
|
+
cleanupContext(context);
|
|
804
|
+
}
|
|
812
805
|
}
|
|
813
806
|
async function resolveTeleports(context) {
|
|
814
807
|
if (context.__teleportBuffers) {
|
|
@@ -816,7 +809,6 @@ async function resolveTeleports(context) {
|
|
|
816
809
|
for (const key in context.__teleportBuffers) context.teleports[key] = await unrollBuffer$1(await Promise.all([context.__teleportBuffers[key]]));
|
|
817
810
|
}
|
|
818
811
|
}
|
|
819
|
-
|
|
820
812
|
//#endregion
|
|
821
813
|
//#region packages/server-renderer/src/renderToStream.ts
|
|
822
814
|
const { isVNode } = vue.ssrUtils;
|
|
@@ -831,7 +823,7 @@ async function unrollBuffer(buffer, stream) {
|
|
|
831
823
|
}
|
|
832
824
|
function unrollBufferSync(buffer, stream) {
|
|
833
825
|
for (let i = 0; i < buffer.length; i++) {
|
|
834
|
-
|
|
826
|
+
const item = buffer[i];
|
|
835
827
|
if ((0, _vue_shared.isString)(item)) stream.push(item);
|
|
836
828
|
else unrollBufferSync(item, stream);
|
|
837
829
|
}
|
|
@@ -841,9 +833,19 @@ function renderToSimpleStream(input, context, stream) {
|
|
|
841
833
|
const vnode = (0, vue.createVNode)(input._component, input._props);
|
|
842
834
|
vnode.appContext = input._context;
|
|
843
835
|
input.provide(vue.ssrContextKey, context);
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
836
|
+
let cleaned = false;
|
|
837
|
+
const finalize = () => {
|
|
838
|
+
if (cleaned) return;
|
|
839
|
+
cleaned = true;
|
|
840
|
+
cleanupContext(context);
|
|
841
|
+
};
|
|
842
|
+
Promise.resolve().then(() => renderComponentVNode(vnode)).then((buffer) => unrollBuffer(buffer, stream)).then(() => resolveTeleports(context)).then(() => {
|
|
843
|
+
finalize();
|
|
844
|
+
return stream.push(null);
|
|
845
|
+
}).catch((error) => {
|
|
846
|
+
try {
|
|
847
|
+
finalize();
|
|
848
|
+
} catch {}
|
|
847
849
|
stream.destroy(error);
|
|
848
850
|
});
|
|
849
851
|
return stream;
|
|
@@ -912,11 +914,9 @@ function pipeToWebWritable(input, context = {}, writable) {
|
|
|
912
914
|
}
|
|
913
915
|
});
|
|
914
916
|
}
|
|
915
|
-
|
|
916
917
|
//#endregion
|
|
917
918
|
//#region packages/server-renderer/src/index.ts
|
|
918
919
|
(0, vue.initDirectivesForSSR)();
|
|
919
|
-
|
|
920
920
|
//#endregion
|
|
921
921
|
exports.pipeToNodeWritable = pipeToNodeWritable;
|
|
922
922
|
exports.pipeToWebWritable = pipeToWebWritable;
|
|
@@ -943,4 +943,4 @@ exports.ssrRenderSlotInner = ssrRenderSlotInner;
|
|
|
943
943
|
exports.ssrRenderStyle = ssrRenderStyle;
|
|
944
944
|
exports.ssrRenderSuspense = ssrRenderSuspense;
|
|
945
945
|
exports.ssrRenderTeleport = ssrRenderTeleport;
|
|
946
|
-
exports.ssrRenderVNode = renderVNode;
|
|
946
|
+
exports.ssrRenderVNode = renderVNode;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/server-renderer v3.6.0-beta.
|
|
2
|
+
* @vue/server-renderer v3.6.0-beta.9
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
6
|
-
Object.defineProperties(exports, {
|
|
6
|
+
Object.defineProperties(exports, {
|
|
7
|
+
__esModule: { value: true },
|
|
8
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
9
|
+
});
|
|
7
10
|
//#region \0rolldown/runtime.js
|
|
8
11
|
var __create = Object.create;
|
|
9
12
|
var __defProp = Object.defineProperty;
|
|
@@ -13,28 +16,20 @@ var __getProtoOf = Object.getPrototypeOf;
|
|
|
13
16
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
17
|
var __exportAll = (all, no_symbols) => {
|
|
15
18
|
let target = {};
|
|
16
|
-
for (var name in all) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
if (!no_symbols) {
|
|
23
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
24
|
-
}
|
|
19
|
+
for (var name in all) __defProp(target, name, {
|
|
20
|
+
get: all[name],
|
|
21
|
+
enumerable: true
|
|
22
|
+
});
|
|
23
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
25
24
|
return target;
|
|
26
25
|
};
|
|
27
26
|
var __copyProps = (to, from, except, desc) => {
|
|
28
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
27
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
28
|
+
key = keys[i];
|
|
29
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
30
|
+
get: ((k) => from[k]).bind(null, key),
|
|
31
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
32
|
+
});
|
|
38
33
|
}
|
|
39
34
|
return to;
|
|
40
35
|
};
|
|
@@ -42,13 +37,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
42
37
|
value: mod,
|
|
43
38
|
enumerable: true
|
|
44
39
|
}) : target, mod));
|
|
45
|
-
|
|
46
40
|
//#endregion
|
|
47
41
|
let vue = require("vue");
|
|
48
42
|
vue = __toESM(vue);
|
|
49
43
|
let _vue_shared = require("@vue/shared");
|
|
50
44
|
let _vue_compiler_ssr = require("@vue/compiler-ssr");
|
|
51
|
-
|
|
52
45
|
//#region packages/server-renderer/src/helpers/ssrRenderAttrs.ts
|
|
53
46
|
const shouldIgnoreProp = /* @__PURE__ */ (0, _vue_shared.makeMap)(`,key,ref,innerHTML,textContent,ref_key,ref_for`);
|
|
54
47
|
function ssrRenderAttrs(props, tag) {
|
|
@@ -96,13 +89,11 @@ function ssrResetCssVars(raw) {
|
|
|
96
89
|
}
|
|
97
90
|
return raw;
|
|
98
91
|
}
|
|
99
|
-
|
|
100
92
|
//#endregion
|
|
101
93
|
//#region packages/server-renderer/src/helpers/ssrRenderComponent.ts
|
|
102
94
|
function ssrRenderComponent(comp, props = null, children = null, parentComponent = null, slotScopeId) {
|
|
103
95
|
return renderComponentVNode((0, vue.createVNode)(comp, props, children), parentComponent, slotScopeId);
|
|
104
96
|
}
|
|
105
|
-
|
|
106
97
|
//#endregion
|
|
107
98
|
//#region packages/server-renderer/src/helpers/ssrRenderSlot.ts
|
|
108
99
|
const { ensureValidVNode } = vue.ssrUtils;
|
|
@@ -154,7 +145,6 @@ function isComment(item) {
|
|
|
154
145
|
if (item.length <= 8) return true;
|
|
155
146
|
return !item.replace(commentRE, "").trim();
|
|
156
147
|
}
|
|
157
|
-
|
|
158
148
|
//#endregion
|
|
159
149
|
//#region packages/server-renderer/src/helpers/ssrRenderTeleport.ts
|
|
160
150
|
function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) {
|
|
@@ -177,13 +167,11 @@ function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parent
|
|
|
177
167
|
targetBuffer.splice(bufferIndex, 0, teleportContent);
|
|
178
168
|
parentPush("<!--teleport end-->");
|
|
179
169
|
}
|
|
180
|
-
|
|
181
170
|
//#endregion
|
|
182
171
|
//#region packages/server-renderer/src/helpers/ssrInterpolate.ts
|
|
183
172
|
function ssrInterpolate(value) {
|
|
184
173
|
return (0, _vue_shared.escapeHtml)((0, _vue_shared.toDisplayString)(value));
|
|
185
174
|
}
|
|
186
|
-
|
|
187
175
|
//#endregion
|
|
188
176
|
//#region packages/server-renderer/src/helpers/ssrRenderList.ts
|
|
189
177
|
function ssrRenderList(source, renderItem) {
|
|
@@ -200,14 +188,12 @@ function ssrRenderList(source, renderItem) {
|
|
|
200
188
|
}
|
|
201
189
|
}
|
|
202
190
|
}
|
|
203
|
-
|
|
204
191
|
//#endregion
|
|
205
192
|
//#region packages/server-renderer/src/helpers/ssrRenderSuspense.ts
|
|
206
193
|
async function ssrRenderSuspense(push, { default: renderContent }) {
|
|
207
194
|
if (renderContent) renderContent();
|
|
208
195
|
else push(`<!---->`);
|
|
209
196
|
}
|
|
210
|
-
|
|
211
197
|
//#endregion
|
|
212
198
|
//#region packages/server-renderer/src/helpers/ssrGetDirectiveProps.ts
|
|
213
199
|
function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
|
|
@@ -221,7 +207,6 @@ function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
|
|
|
221
207
|
}, null) || {};
|
|
222
208
|
return {};
|
|
223
209
|
}
|
|
224
|
-
|
|
225
210
|
//#endregion
|
|
226
211
|
//#region packages/server-renderer/src/helpers/ssrVModelHelpers.ts
|
|
227
212
|
const ssrLooseEqual = _vue_shared.looseEqual;
|
|
@@ -243,7 +228,6 @@ function ssrGetDynamicModelProps(existingProps = {}, model) {
|
|
|
243
228
|
default: return { value: model };
|
|
244
229
|
}
|
|
245
230
|
}
|
|
246
|
-
|
|
247
231
|
//#endregion
|
|
248
232
|
//#region packages/server-renderer/src/internal.ts
|
|
249
233
|
var internal_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -267,7 +251,6 @@ var internal_exports = /* @__PURE__ */ __exportAll({
|
|
|
267
251
|
ssrRenderTeleport: () => ssrRenderTeleport,
|
|
268
252
|
ssrRenderVNode: () => renderVNode
|
|
269
253
|
});
|
|
270
|
-
|
|
271
254
|
//#endregion
|
|
272
255
|
//#region packages/server-renderer/src/helpers/ssrCompile.ts
|
|
273
256
|
const compileCache = Object.create(null);
|
|
@@ -300,10 +283,29 @@ function ssrCompile(template, instance) {
|
|
|
300
283
|
const fakeRequire = (id) => requireMap[id];
|
|
301
284
|
return compileCache[cacheKey] = Function("require", code)(fakeRequire);
|
|
302
285
|
}
|
|
303
|
-
|
|
304
286
|
//#endregion
|
|
305
287
|
//#region packages/server-renderer/src/render.ts
|
|
306
288
|
const { createComponentInstance, setCurrentRenderingInstance, setupComponent, renderComponentRoot, normalizeVNode, pushWarningContext, popWarningContext } = vue.ssrUtils;
|
|
289
|
+
function cleanupContext(context) {
|
|
290
|
+
let firstError;
|
|
291
|
+
if (context.__watcherHandles) {
|
|
292
|
+
for (const unwatch of context.__watcherHandles) try {
|
|
293
|
+
unwatch();
|
|
294
|
+
} catch (err) {
|
|
295
|
+
if (firstError === void 0) firstError = err;
|
|
296
|
+
}
|
|
297
|
+
context.__watcherHandles.length = 0;
|
|
298
|
+
}
|
|
299
|
+
if (context.__instanceScopes) {
|
|
300
|
+
for (const scope of context.__instanceScopes) try {
|
|
301
|
+
scope.stop();
|
|
302
|
+
} catch (err) {
|
|
303
|
+
if (firstError === void 0) firstError = err;
|
|
304
|
+
}
|
|
305
|
+
context.__instanceScopes.length = 0;
|
|
306
|
+
}
|
|
307
|
+
if (firstError !== void 0) throw firstError;
|
|
308
|
+
}
|
|
307
309
|
function createBuffer() {
|
|
308
310
|
let appendable = false;
|
|
309
311
|
const buffer = [];
|
|
@@ -325,6 +327,8 @@ function createBuffer() {
|
|
|
325
327
|
}
|
|
326
328
|
function renderComponentVNode(vnode, parentComponent = null, slotScopeId) {
|
|
327
329
|
const instance = vnode.component = createComponentInstance(vnode, parentComponent, null);
|
|
330
|
+
const context = instance.appContext.provides[vue.ssrContextKey];
|
|
331
|
+
if (context) (context.__instanceScopes || (context.__instanceScopes = [])).push(instance.scope);
|
|
328
332
|
const res = setupComponent(instance, true);
|
|
329
333
|
const hasAsyncSetup = (0, _vue_shared.isPromise)(res);
|
|
330
334
|
let prefetches = instance.sp;
|
|
@@ -474,7 +478,6 @@ function renderTeleportVNode(push, vnode, parentComponent, slotScopeId) {
|
|
|
474
478
|
renderVNodeChildren(push, vnode.children, parentComponent, slotScopeId);
|
|
475
479
|
}, target, disabled || disabled === "", parentComponent);
|
|
476
480
|
}
|
|
477
|
-
|
|
478
481
|
//#endregion
|
|
479
482
|
//#region packages/server-renderer/src/renderToString.ts
|
|
480
483
|
const { isVNode: isVNode$1 } = vue.ssrUtils;
|
|
@@ -517,10 +520,13 @@ async function renderToString(input, context = {}) {
|
|
|
517
520
|
const vnode = (0, vue.createVNode)(input._component, input._props);
|
|
518
521
|
vnode.appContext = input._context;
|
|
519
522
|
input.provide(vue.ssrContextKey, context);
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
523
|
+
try {
|
|
524
|
+
const result = await unrollBuffer$1(await renderComponentVNode(vnode));
|
|
525
|
+
await resolveTeleports(context);
|
|
526
|
+
return result;
|
|
527
|
+
} finally {
|
|
528
|
+
cleanupContext(context);
|
|
529
|
+
}
|
|
524
530
|
}
|
|
525
531
|
async function resolveTeleports(context) {
|
|
526
532
|
if (context.__teleportBuffers) {
|
|
@@ -528,7 +534,6 @@ async function resolveTeleports(context) {
|
|
|
528
534
|
for (const key in context.__teleportBuffers) context.teleports[key] = await unrollBuffer$1(await Promise.all([context.__teleportBuffers[key]]));
|
|
529
535
|
}
|
|
530
536
|
}
|
|
531
|
-
|
|
532
537
|
//#endregion
|
|
533
538
|
//#region packages/server-renderer/src/renderToStream.ts
|
|
534
539
|
const { isVNode } = vue.ssrUtils;
|
|
@@ -543,7 +548,7 @@ async function unrollBuffer(buffer, stream) {
|
|
|
543
548
|
}
|
|
544
549
|
function unrollBufferSync(buffer, stream) {
|
|
545
550
|
for (let i = 0; i < buffer.length; i++) {
|
|
546
|
-
|
|
551
|
+
const item = buffer[i];
|
|
547
552
|
if ((0, _vue_shared.isString)(item)) stream.push(item);
|
|
548
553
|
else unrollBufferSync(item, stream);
|
|
549
554
|
}
|
|
@@ -553,9 +558,19 @@ function renderToSimpleStream(input, context, stream) {
|
|
|
553
558
|
const vnode = (0, vue.createVNode)(input._component, input._props);
|
|
554
559
|
vnode.appContext = input._context;
|
|
555
560
|
input.provide(vue.ssrContextKey, context);
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
561
|
+
let cleaned = false;
|
|
562
|
+
const finalize = () => {
|
|
563
|
+
if (cleaned) return;
|
|
564
|
+
cleaned = true;
|
|
565
|
+
cleanupContext(context);
|
|
566
|
+
};
|
|
567
|
+
Promise.resolve().then(() => renderComponentVNode(vnode)).then((buffer) => unrollBuffer(buffer, stream)).then(() => resolveTeleports(context)).then(() => {
|
|
568
|
+
finalize();
|
|
569
|
+
return stream.push(null);
|
|
570
|
+
}).catch((error) => {
|
|
571
|
+
try {
|
|
572
|
+
finalize();
|
|
573
|
+
} catch {}
|
|
559
574
|
stream.destroy(error);
|
|
560
575
|
});
|
|
561
576
|
return stream;
|
|
@@ -624,11 +639,9 @@ function pipeToWebWritable(input, context = {}, writable) {
|
|
|
624
639
|
}
|
|
625
640
|
});
|
|
626
641
|
}
|
|
627
|
-
|
|
628
642
|
//#endregion
|
|
629
643
|
//#region packages/server-renderer/src/index.ts
|
|
630
644
|
(0, vue.initDirectivesForSSR)();
|
|
631
|
-
|
|
632
645
|
//#endregion
|
|
633
646
|
exports.pipeToNodeWritable = pipeToNodeWritable;
|
|
634
647
|
exports.pipeToWebWritable = pipeToWebWritable;
|
|
@@ -655,4 +668,4 @@ exports.ssrRenderSlotInner = ssrRenderSlotInner;
|
|
|
655
668
|
exports.ssrRenderStyle = ssrRenderStyle;
|
|
656
669
|
exports.ssrRenderSuspense = ssrRenderSuspense;
|
|
657
670
|
exports.ssrRenderTeleport = ssrRenderTeleport;
|
|
658
|
-
exports.ssrRenderVNode = renderVNode;
|
|
671
|
+
exports.ssrRenderVNode = renderVNode;
|