zova-module-a-ssr 5.1.39 → 5.1.41
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/.metadata/index.d.ts +6 -6
- package/dist/.metadata/index.d.ts.map +1 -1
- package/dist/.metadata/this.d.ts +1 -1
- package/dist/bean/sys.ssrState.d.ts +1 -1
- package/dist/config/config.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +85 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/index.d.ts +5 -5
- package/dist/lib/ssr.d.ts +4 -2
- package/dist/lib/ssr.d.ts.map +1 -1
- package/dist/lib/ssrMetaStore.d.ts +1 -1
- package/dist/lib/ssrProfile.d.ts +1 -1
- package/dist/monkey.d.ts +2 -1
- package/dist/monkey.d.ts.map +1 -1
- package/dist/monkeySys.d.ts +1 -1
- package/dist/types/config.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/ssr.d.ts +13 -1
- package/dist/types/ssr.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/.metadata/index.ts +6 -6
- package/src/.metadata/this.ts +1 -1
- package/src/bean/sys.ssrState.ts +1 -1
- package/src/config/config.ts +1 -1
- package/src/index.ts +3 -3
- package/src/lib/index.ts +5 -5
- package/src/lib/ssr.ts +89 -5
- package/src/lib/ssrMetaStore.ts +2 -2
- package/src/lib/ssrProfile.ts +1 -1
- package/src/lib/useMeta.ts +1 -1
- package/src/monkey.ts +28 -4
- package/src/monkeySys.ts +2 -2
- package/src/types/config.ts +1 -1
- package/src/types/index.ts +2 -2
- package/src/types/ssr.ts +16 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** sys: begin */
|
|
2
|
-
export * from '../bean/sys.ssrState.
|
|
2
|
+
export * from '../bean/sys.ssrState.ts';
|
|
3
3
|
import 'zova';
|
|
4
4
|
declare module 'zova' {
|
|
5
5
|
}
|
|
@@ -13,7 +13,7 @@ declare module 'zova-module-a-ssr' {
|
|
|
13
13
|
}
|
|
14
14
|
/** sys: end */
|
|
15
15
|
/** sys: begin */
|
|
16
|
-
import { SysSsrState } from '../bean/sys.ssrState.
|
|
16
|
+
import type { SysSsrState } from '../bean/sys.ssrState.ts';
|
|
17
17
|
import 'zova';
|
|
18
18
|
declare module 'zova' {
|
|
19
19
|
interface IBeanRecordGeneral {
|
|
@@ -22,14 +22,14 @@ declare module 'zova' {
|
|
|
22
22
|
}
|
|
23
23
|
/** sys: end */
|
|
24
24
|
/** config: begin */
|
|
25
|
-
export * from '../config/config.
|
|
26
|
-
import { config } from '../config/config.
|
|
25
|
+
export * from '../config/config.ts';
|
|
26
|
+
import { config } from '../config/config.ts';
|
|
27
27
|
/** config: end */
|
|
28
28
|
/** monkey: begin */
|
|
29
|
-
export * from '../monkey.
|
|
29
|
+
export * from '../monkey.ts';
|
|
30
30
|
/** monkey: end */
|
|
31
31
|
/** monkeySys: begin */
|
|
32
|
-
export * from '../monkeySys.
|
|
32
|
+
export * from '../monkeySys.ts';
|
|
33
33
|
/** monkeySys: end */
|
|
34
34
|
/** scope: begin */
|
|
35
35
|
import { BeanScopeBase, type BeanScopeUtil, TypeModuleConfig } from 'zova';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,iBAAiB;AACjB,cAAc,yBAAyB,CAAC;AAExC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,mBAAmB,CAAC;IAE3B,UAAiB,WAAW;KAG3B;IAED,UAAiB,WAAW;QAC1B,IAAI,aAAa,IAAI,oBAAoB,CAAC;QAC1C,IAAI,UAAU,IAAI,gBAAgB,CAAC;KAEpC;CACR;AACD,eAAe;AACf,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,iBAAiB;AACjB,cAAc,yBAAyB,CAAC;AAExC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,mBAAmB,CAAC;IAE3B,UAAiB,WAAW;KAG3B;IAED,UAAiB,WAAW;QAC1B,IAAI,aAAa,IAAI,oBAAoB,CAAC;QAC1C,IAAI,UAAU,IAAI,gBAAgB,CAAC;KAEpC;CACR;AACD,eAAe;AACf,iBAAiB;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,oBAAoB,EAAE,WAAW,CAAC;KACnC;CACF;AACD,eAAe;AACf,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,kBAAkB;AAClB,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAC7B,kBAAkB;AAClB,uBAAuB;AACvB,cAAc,iBAAiB,CAAC;AAChC,qBAAqB;AACrB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAG3E,qBACa,eAAgB,SAAQ,aAAa;CAAG;AAErD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,MAAM,CAAC,CAAC;CACvC;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,OAAO,EAAE,eAAe,CAAC;KAC1B;IAED,UAAiB,gBAAgB;QAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;KACpC;CAKF;AAED,iBAAiB"}
|
package/dist/.metadata/this.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BeanBase } from 'zova';
|
|
2
|
-
import { SSRContextState, SSRContextStateDefer } from '../types/ssr.
|
|
2
|
+
import { SSRContextState, SSRContextStateDefer } from '../types/ssr.ts';
|
|
3
3
|
declare const SymbolSSRState: unique symbol;
|
|
4
4
|
declare const SymbolSSRStateDefer: unique symbol;
|
|
5
5
|
export declare class SysSsrState extends BeanBase {
|
package/dist/config/config.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './.metadata/index.
|
|
2
|
-
export * from './lib/index.
|
|
3
|
-
export * from './types/index.
|
|
1
|
+
export * from './.metadata/index.ts';
|
|
2
|
+
export * from './lib/index.ts';
|
|
3
|
+
export * from './types/index.ts';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -104,8 +104,14 @@ function useMeta(ctx, metaOptions) {
|
|
|
104
104
|
var Monkey = class extends BeanSimple {
|
|
105
105
|
appContextInitialize(ctx) {
|
|
106
106
|
ctx.meta.$ssr = ctx.app.ctx.meta.$ssr;
|
|
107
|
+
if (process.env.CLIENT) ctx.meta.$ssr.handleDirectOrOnHydrated(() => {
|
|
108
|
+
if (!ctx.disposed) ctx.meta.hooks.invokeHook("hydrated");
|
|
109
|
+
});
|
|
107
110
|
if (process.env.SERVER) ctx.meta.$ssr._registerServerContext(ctx);
|
|
108
111
|
}
|
|
112
|
+
controllerLoad(event) {
|
|
113
|
+
event.ctx.meta.$ssr.controllerLoad(event);
|
|
114
|
+
}
|
|
109
115
|
async appInitialize() {
|
|
110
116
|
this.app.meta.event.on("a-router:routerGuards", async (router, next) => {
|
|
111
117
|
if (process.env.CLIENT) {
|
|
@@ -166,8 +172,16 @@ var Monkey = class extends BeanSimple {
|
|
|
166
172
|
}
|
|
167
173
|
_ssrErrorHandler() {
|
|
168
174
|
if (!process.env.SERVER) return;
|
|
169
|
-
const _eventErrorHandler = this.app.meta.event.on("app:errorHandler", (
|
|
175
|
+
const _eventErrorHandler = this.app.meta.event.on("app:errorHandler", (data, next) => {
|
|
170
176
|
const err = next();
|
|
177
|
+
if (data.load?.kind === "controller-load") {
|
|
178
|
+
if (_isLoadErrorHandledServer(data.err)) {
|
|
179
|
+
data.load.disposition = "handled";
|
|
180
|
+
if (!err || !(err instanceof Error)) return err;
|
|
181
|
+
return this._errorHandlerDefaultServer(err);
|
|
182
|
+
}
|
|
183
|
+
return err;
|
|
184
|
+
}
|
|
171
185
|
if (!err || !(err instanceof Error)) return err;
|
|
172
186
|
return this._errorHandlerDefaultServer(err);
|
|
173
187
|
});
|
|
@@ -188,6 +202,13 @@ var Monkey = class extends BeanSimple {
|
|
|
188
202
|
else this.ctx.meta.$ssr.renderSSRError = err;
|
|
189
203
|
}
|
|
190
204
|
};
|
|
205
|
+
function _isLoadErrorHandledServer(err) {
|
|
206
|
+
return isNavigationFailure(err) || [
|
|
207
|
+
301,
|
|
208
|
+
302,
|
|
209
|
+
401
|
|
210
|
+
].includes(Number(err.code));
|
|
211
|
+
}
|
|
191
212
|
//#endregion
|
|
192
213
|
//#region src/lib/utils.ts
|
|
193
214
|
function unevalPatch(value) {
|
|
@@ -496,6 +517,7 @@ var CtxSSR = class extends BeanSimple {
|
|
|
496
517
|
this[SymbolInstanceUpdates] = [];
|
|
497
518
|
this[SymbolHydratingCounter] = 0;
|
|
498
519
|
this[SymbolServerContexts] = /* @__PURE__ */ new Set();
|
|
520
|
+
this._controllerLoadSequence = {};
|
|
499
521
|
this.metaStore = void 0;
|
|
500
522
|
}
|
|
501
523
|
/** @internal */
|
|
@@ -553,6 +575,44 @@ var CtxSSR = class extends BeanSimple {
|
|
|
553
575
|
if (process.env.SERVER) return this.context.stateDefer;
|
|
554
576
|
else return this[SymbolSSRState].stateDefer;
|
|
555
577
|
}
|
|
578
|
+
/** @internal */
|
|
579
|
+
controllerLoad(event) {
|
|
580
|
+
if (event.phase === "prepare") {
|
|
581
|
+
if (process.env.SERVER) {
|
|
582
|
+
event.ctx.meta.state.controllerLoadKey = this._allocateControllerLoadKey(event);
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
if (!process.env.CLIENT || !this.isRuntimeSsrPreHydration) return;
|
|
586
|
+
const key = this._allocateControllerLoadKey(event);
|
|
587
|
+
const snapshot = this.stateDefer.controllerLoad?.[key];
|
|
588
|
+
if (!snapshot || snapshot.version !== 1 || snapshot.controllerBeanName !== event.controllerBeanName) return;
|
|
589
|
+
delete this.stateDefer.controllerLoad[key];
|
|
590
|
+
event.replayError = _createControllerLoadError(snapshot);
|
|
591
|
+
event.replayControllerRecorded = snapshot.controllerRecorded;
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
if (event.phase !== "fallback" || !process.env.SERVER || !event.error) return;
|
|
595
|
+
const key = event.ctx.meta.state.controllerLoadKey;
|
|
596
|
+
if (!key) return;
|
|
597
|
+
const controllerLoad = this.stateDefer.controllerLoad ??= {};
|
|
598
|
+
controllerLoad[key] = _createControllerLoadErrorSnapshot(event);
|
|
599
|
+
}
|
|
600
|
+
_allocateControllerLoadKey(event) {
|
|
601
|
+
const instance = event.ctx.instance;
|
|
602
|
+
const parts = [];
|
|
603
|
+
let current = instance;
|
|
604
|
+
while (current) {
|
|
605
|
+
const componentType = current.type;
|
|
606
|
+
const name = componentType.__file ?? componentType.name ?? componentType.__name ?? "anonymous";
|
|
607
|
+
const key = current.vnode.key ?? "";
|
|
608
|
+
parts.unshift(`${name}:${String(key)}`);
|
|
609
|
+
current = current.parent;
|
|
610
|
+
}
|
|
611
|
+
const structuralKey = parts.join("/");
|
|
612
|
+
const occurrence = this._controllerLoadSequence[structuralKey] ?? 0;
|
|
613
|
+
this._controllerLoadSequence[structuralKey] = occurrence + 1;
|
|
614
|
+
return `${structuralKey}#${occurrence}:${event.controllerBeanName ?? ""}`;
|
|
615
|
+
}
|
|
556
616
|
get profile() {
|
|
557
617
|
return resolveSsrProfile(this.state.ssrProfile, this.sys.env.SSR_PROFILE);
|
|
558
618
|
}
|
|
@@ -725,6 +785,30 @@ var CtxSSR = class extends BeanSimple {
|
|
|
725
785
|
this._serverContextsDispose();
|
|
726
786
|
}
|
|
727
787
|
};
|
|
788
|
+
function _createControllerLoadErrorSnapshot(event) {
|
|
789
|
+
const error = event.error;
|
|
790
|
+
const snapshot = {
|
|
791
|
+
version: 1,
|
|
792
|
+
controllerBeanName: event.controllerBeanName,
|
|
793
|
+
name: error.name || "Error",
|
|
794
|
+
message: error.message || String(error),
|
|
795
|
+
controllerRecorded: event.controllerRecorded === true
|
|
796
|
+
};
|
|
797
|
+
for (const key of ["code", "status"]) if (typeof error[key] === "number" || typeof error[key] === "string") snapshot[key] = error[key];
|
|
798
|
+
for (const key of ["pagePath", "url"]) if (typeof error[key] === "string") snapshot[key] = error[key];
|
|
799
|
+
return snapshot;
|
|
800
|
+
}
|
|
801
|
+
function _createControllerLoadError(snapshot) {
|
|
802
|
+
const error = new Error(snapshot.message);
|
|
803
|
+
error.name = snapshot.name;
|
|
804
|
+
for (const key of [
|
|
805
|
+
"code",
|
|
806
|
+
"status",
|
|
807
|
+
"pagePath",
|
|
808
|
+
"url"
|
|
809
|
+
]) if (snapshot[key] !== void 0) error[key] = snapshot[key];
|
|
810
|
+
return error;
|
|
811
|
+
}
|
|
728
812
|
//#endregion
|
|
729
813
|
//#region src/monkeySys.ts
|
|
730
814
|
var MonkeySys = class extends BeanSimple {
|
|
@@ -751,8 +835,6 @@ var MonkeySys = class extends BeanSimple {
|
|
|
751
835
|
};
|
|
752
836
|
//#endregion
|
|
753
837
|
//#region src/.metadata/index.ts
|
|
754
|
-
/** monkeySys: end */
|
|
755
|
-
/** scope: begin */
|
|
756
838
|
var _dec;
|
|
757
839
|
var _dec2;
|
|
758
840
|
var _class;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/bean/sys.ssrState.ts","../src/config/config.ts","../src/lib/ssrNavigation.ts","../src/lib/useMeta.ts","../src/monkey.ts","../src/lib/utils.ts","../src/lib/ssrMetaStore.ts","../src/lib/ssrProfile.ts","../src/lib/ssr.ts","../src/monkeySys.ts","../src/.metadata/index.ts","../src/lib/bodyReadyObserver.ts"],"sourcesContent":["var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { BeanBase, cast } from 'zova';\nimport { Sys } from 'zova-module-a-bean';\nconst SymbolSSRState = Symbol('SymbolSSRState');\nconst SymbolSSRStateDefer = Symbol('SymbolSSRStateDefer');\nexport let SysSsrState = (_dec = Sys(), _dec2 = __z_BeanInfo({\n module: \"a-ssr\"\n}), _dec(_class = _dec2(_class = class SysSsrState extends BeanBase {\n constructor(...args) {\n super(...args);\n this[SymbolSSRState] = void 0;\n this[SymbolSSRStateDefer] = void 0;\n }\n async __init__() {\n if (process.env.CLIENT) {\n if (cast(window).__INITIAL_STATE__) {\n this[SymbolSSRState] = cast(window).__INITIAL_STATE__;\n delete cast(window).__INITIAL_STATE__;\n document.getElementById('ssr-state-init')?.remove();\n } else {\n this[SymbolSSRState] = {};\n }\n if (cast(window).__INITIAL_STATE_DEFER__) {\n this[SymbolSSRStateDefer] = cast(window).__INITIAL_STATE_DEFER__;\n delete cast(window).__INITIAL_STATE_DEFER__;\n document.getElementById('ssr-state-defer-init')?.remove();\n } else {\n this[SymbolSSRStateDefer] = {};\n }\n }\n }\n get state() {\n return this[SymbolSSRState];\n }\n get stateDefer() {\n return this[SymbolSSRStateDefer];\n }\n}) || _class) || _class);","export const config = sys => {\n const ssrConfig = {\n cookieThemeDarkDefault: sys.env.SSR_COOKIE_THEMEDARK_DEFAULT === 'true'\n };\n return ssrConfig;\n};","export function createSsrNavigationSync(options) {\n const navigationLocales = new WeakMap();\n return {\n beforeEach(to) {\n navigationLocales.set(to, options.getLocale());\n options.setProfile(to);\n options.setRouteLocale(to);\n },\n afterEach(to, from, failure) {\n const locale = navigationLocales.get(to);\n navigationLocales.delete(to);\n if (!failure) return;\n options.setProfile(from);\n if (locale !== undefined) {\n options.setLocale(locale);\n }\n }\n };\n}","// from: quasar/ui/src/composables/use-meta.js\nimport { computed, onActivated, onDeactivated, onUnmounted, watch } from 'vue';\nexport function useMeta(ctx, metaOptions) {\n if (process.env.SERVER) {\n ctx.meta.$ssr.context.__qMetaList.push(typeof metaOptions === 'function' ? metaOptions() : metaOptions);\n } else {\n const meta = {\n active: true\n };\n if (typeof metaOptions === 'function') {\n const content = computed(metaOptions);\n meta.val = content.value;\n watch(content, val => {\n meta.val = val;\n meta.active === true && ctx.meta.$ssr.metaStore.planClientUpdate();\n });\n } else {\n meta.val = metaOptions;\n }\n ctx.meta.$ssr.metaStore.addMetaOptions(meta);\n ctx.meta.$ssr.metaStore.planClientUpdate();\n onActivated(() => {\n try {\n meta.active = true;\n ctx.meta.$ssr.metaStore.planClientUpdate();\n } catch (_err) {}\n });\n onDeactivated(() => {\n try {\n meta.active = false;\n ctx.meta.$ssr.metaStore.planClientUpdate();\n } catch (_err) {}\n });\n onUnmounted(() => {\n try {\n ctx.meta.$ssr.metaStore.removeMetaOptions(meta);\n ctx.meta.$ssr.metaStore.planClientUpdate();\n } catch (_err) {}\n });\n }\n}","import { isNavigationFailure } from '@cabloy/vue-router';\nimport { BeanSimple, cast } from 'zova';\nimport { createSsrNavigationSync } from './lib/ssrNavigation.js';\nimport { useMeta } from './lib/useMeta.js';\nexport class Monkey extends BeanSimple {\n appContextInitialize(ctx) {\n ctx.meta.$ssr = ctx.app.ctx.meta.$ssr;\n if (process.env.SERVER) {\n ctx.meta.$ssr._registerServerContext(ctx);\n }\n }\n async appInitialize() {\n this.app.meta.event.on('a-router:routerGuards', async (router, next) => {\n if (process.env.CLIENT) {\n const navigationSync = createSsrNavigationSync({\n getLocale: () => this.app.meta.locale.current,\n setLocale: locale => {\n this.app.meta.locale.current = locale;\n },\n setProfile: route => {\n this.ctx.meta.$ssr._setProfile(route.meta.ssrProfile, route.meta.ssrProfileOptions, route.meta.locale);\n },\n setRouteLocale: route => {\n this.ctx.meta.$ssr._setLocale(route);\n }\n });\n router.beforeEach(to => {\n navigationSync.beforeEach(to);\n });\n router.afterEach((to, from, failure) => {\n navigationSync.afterEach(to, from, failure);\n });\n }\n return await next();\n });\n if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {\n this.ctx.meta.$ssr.onHydrated(() => {\n document.documentElement.setAttribute('data-zova-hydrated', this.sys.env.SITE_ID);\n });\n }\n // ssr errorHandler\n if (process.env.SERVER) {\n this._ssrErrorHandler();\n }\n }\n async moduleLoading(_module) {}\n async moduleLoaded(module) {\n // ssrContext.modules\n if (process.env.SERVER && process.env.PROD) {\n if (!this.ctx.meta.$ssr.context.modules) this.ctx.meta.$ssr.context.modules = new Set();\n this.ctx.meta.$ssr.context.modules.add(`@@${module.info.relativeName}`);\n }\n }\n async beanInit(bean, beanInstance) {\n // eslint-disable-next-line\n const self = this;\n // $ssr\n bean.defineProperty(beanInstance, '$ssr', {\n enumerable: false,\n configurable: true,\n get() {\n return self.app.ctx.meta.$ssr;\n }\n });\n // $useMeta\n bean.defineProperty(beanInstance, '$useMeta', {\n enumerable: false,\n configurable: true,\n get() {\n return function (options) {\n const ctx = cast(this).ctx;\n ctx.util.instanceScope(() => {\n useMeta(ctx, options);\n });\n };\n }\n });\n }\n _ssrErrorHandler() {\n if (!process.env.SERVER) return;\n const _eventErrorHandler = this.app.meta.event.on('app:errorHandler', (_data, next) => {\n const err = next();\n if (!err || !(err instanceof Error)) return err;\n return this._errorHandlerDefaultServer(err);\n });\n this.ctx.meta.$ssr.context.onRendered(_err => {\n _eventErrorHandler();\n });\n }\n _errorHandlerDefaultServer(err) {\n if (!process.env.SERVER) return err;\n if (isNavigationFailure(err)) {\n if (!this.ctx.meta.$ssr.renderSSRError) {\n this.ctx.meta.$ssr.renderSSRError = err;\n }\n return undefined;\n } else if (err.code === 401) {\n try {\n this.app.$gotoLogin();\n } catch (err) {\n this.ctx.meta.$ssr.renderSSRError = err;\n }\n } else {\n this.ctx.meta.$ssr.renderSSRError = err;\n }\n return undefined;\n }\n}","import * as devalue from 'devalue';\nexport function unevalPatch(value) {\n return devalue.uneval(value);\n // return devalue.uneval(value, value => {\n // if (value && typeof value === 'object' && value.toJSON) {\n // return value.toJSON();\n // }\n // });\n}","// from: quasar/ui/src/plugins/Meta.js\nimport { extend } from '@cabloy/extend';\nimport { BeanSimple, cast } from 'zova';\nimport { unevalPatch } from './utils.js';\nexport class CtxSSRMetaStore extends BeanSimple {\n constructor(...args) {\n super(...args);\n this._updateId = 0;\n this._currentClientMeta = void 0;\n this._clientList = [];\n }\n __init__() {\n if (process.env.SERVER) {\n const ssrContext = this.ctx.meta.$ssr.context;\n ssrContext.__qMetaList = [];\n ssrContext.rendered = () => {\n this._onRenderedLast();\n ssrContext.rendered = () => {};\n };\n }\n if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {\n this._currentClientMeta = cast(window).__Q_META__;\n document.getElementById('ssr-meta-init')?.remove();\n }\n }\n _onRenderedLast(err) {\n const app = this.app;\n try {\n if (err) return;\n const ssrContext = this.ctx.meta.$ssr.context;\n this._injectContextState(ssrContext);\n this._injectContextStateDefer(ssrContext);\n this._injectServerMeta(ssrContext);\n } finally {\n this.ctx.meta.$ssr._disposeServerContexts();\n app?.close();\n }\n }\n addMetaOptions(metaOptionsWrapper) {\n this._clientList.push(metaOptionsWrapper);\n }\n removeMetaOptions(metaOptionsWrapper) {\n this._clientList.splice(this._clientList.indexOf(metaOptionsWrapper), 1);\n }\n planClientUpdate() {\n if (this._updateId !== 0) {\n clearTimeout(this._updateId);\n }\n this._updateId = window.setTimeout(() => {\n this._updateId = 0;\n this._updateClientMeta();\n }, 50);\n }\n _updateClientMeta() {\n const data = {\n title: '',\n titleTemplate: undefined,\n meta: {},\n link: {},\n script: {},\n htmlAttr: {},\n bodyAttr: {}\n };\n for (let i = 0; i < this._clientList.length; i++) {\n const {\n active,\n val\n } = this._clientList[i];\n if (active === true) {\n extend(true, data, val);\n }\n }\n normalize(data);\n apply(diff(this._currentClientMeta, data));\n this._currentClientMeta = data;\n }\n _injectServerMeta(ssrContext) {\n const data = {\n title: '',\n titleTemplate: undefined,\n meta: {},\n link: {},\n htmlAttr: {},\n bodyAttr: {},\n bodyStyle: {},\n bodyClass: {},\n noscript: {}\n };\n const list = ssrContext.__qMetaList;\n for (let i = 0; i < list.length; i++) {\n extend(true, data, list[i]);\n }\n normalize(data);\n const nonce = ssrContext.nonce !== void 0 ? ` nonce=\"${ssrContext.nonce}\"` : '';\n const ctx = ssrContext._meta;\n const htmlAttr = Object.keys(data.htmlAttr).filter(htmlFilter);\n if (htmlAttr.length !== 0) {\n ctx.htmlAttrs += (ctx.htmlAttrs.length !== 0 ? ' ' : '') + htmlAttr.map(getAttr(data.htmlAttr)).join(' ');\n }\n ctx.headTags += getHead(data);\n const bodyAttr = Object.keys(data.bodyAttr).filter(bodyFilter);\n if (bodyAttr.length !== 0) {\n ctx.bodyAttrs += (ctx.bodyAttrs.length !== 0 ? ' ' : '') + bodyAttr.map(getAttr(data.bodyAttr)).join(' ');\n }\n const bodyStyle = Object.keys(data.bodyStyle).filter(name => !!data.bodyStyle[name]).map(name => `${name}:${data.bodyStyle[name]};`).join('');\n if (bodyStyle) {\n ctx.bodyAttrs += `${ctx.bodyAttrs.length !== 0 ? ' ' : ''}style=\"${bodyStyle}\"`;\n }\n const _bodyClass = ctx.bodyClasses.split(' ').filter(item => !!item);\n const bodyClass = {};\n _bodyClass.forEach(item => bodyClass[item] = true);\n extend(true, bodyClass, data.bodyClass);\n ctx.bodyClasses = Object.keys(bodyClass).filter(name => bodyClass[name]).map(name => name).join(' ');\n data.title = '\\'\"`';\n ctx.endingHeadTags += `${Object.keys(data.noscript).map(name => `<noscript data-qmeta=\"${name}\">${data.noscript[name]}</noscript>`).join('')}<script${nonce} id=\"ssr-meta-init\">window.__Q_META__=${delete data.bodyStyle && delete data.bodyClass && delete data.noscript && unevalPatch(data)}</script>`;\n const cookieTheme = this.ctx.meta.$ssr.profileOptions.useCookie;\n let ssr_local_themedark = cookieTheme ? `let ssr_cookie_themedark=document.cookie.split('; ')?.find(item=>item.indexOf('themedark=')>-1)?.split('=')[1];\n ssr_cookie_themedark=ssr_cookie_themedark==='true'?true:ssr_cookie_themedark==='false'?false:${this.sys.env.SSR_COOKIE_THEMEDARK_DEFAULT};\n window.ssr_themedark=window.ssr_cookie_themedark=ssr_cookie_themedark;` : `let ssr_local_themedark=window.ssr_load_local('themedark');\n if(ssr_local_themedark===undefined || ssr_local_themedark==='auto'){\n ssr_local_themedark=window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n window.ssr_themedark=window.ssr_local_themedark=ssr_local_themedark;`;\n // Resolve the final browser theme from the SSR dual markers emitted before page render.\n ssr_local_themedark += `Object.defineProperty(window, 'ssr_themedark_data', {\n get: () => {\n let _data=document.body.getAttribute('data-ssr-theme-dark-'+window.ssr_themedark);\n if(_data===undefined || _data===null){\n _data=window.__INITIAL_STATE__ && window.__INITIAL_STATE__['data-ssr-theme-dark-'+window.ssr_themedark];\n }\n return _data;\n },\n });`;\n const ssr_local_themename = cookieTheme ? '' : `window.ssr_local_themename=window.ssr_load_local('themename','${this.sys.env.STYLE_DEFAULT_THEME}');`;\n ctx.endingHeadTags += `<script id=\"ssr-prefers-color-schema-dark\">\n window.ssr_load_local=function(key,defaultValue){\n const __ssr_local=localStorage.getItem(key);\n const value=__ssr_local?JSON.parse(__ssr_local):undefined;\n return value??defaultValue;\n };\n ${ssr_local_themedark}\n ${ssr_local_themename}\n document.querySelector('#ssr-prefers-color-schema-dark').remove();\n </script>`.replaceAll('\\n', '');\n }\n _injectContextState(ssrContext) {\n const ctx = ssrContext._meta;\n const nonce = ssrContext.nonce !== void 0 ? ` nonce=\"${ssrContext.nonce}\"` : '';\n ctx.endingHeadTags += `<script${nonce} id=\"ssr-state-init\">window.__INITIAL_STATE__=${unevalPatch(ssrContext.state)}</script>`;\n }\n _injectContextStateDefer(ssrContext) {\n const ctx = ssrContext._meta;\n const nonce = ssrContext.nonce !== void 0 ? ` nonce=\"${ssrContext.nonce}\"` : '';\n ctx.endingBodyTags += `<script${nonce} id=\"ssr-state-defer-init\">window.__INITIAL_STATE_DEFER__=${unevalPatch(ssrContext.stateDefer)}</script>`;\n }\n}\nfunction normalize(meta) {\n if (meta.title) {\n meta.title = meta.titleTemplate ? meta.titleTemplate(meta.title) : meta.title;\n delete meta.titleTemplate;\n }\n [['meta', 'content'], ['link', 'href']].forEach(type => {\n const metaType = meta[type[0]];\n const metaProp = type[1];\n for (const name in metaType) {\n const metaLink = metaType[name];\n if (metaLink.template) {\n if (Object.keys(metaLink).length === 1) {\n delete metaType[name];\n } else {\n metaLink[metaProp] = metaLink.template(metaLink[metaProp] || '');\n delete metaLink.template;\n }\n }\n }\n });\n}\nfunction changed(old, def) {\n if (Object.keys(old).length !== Object.keys(def).length) {\n return true;\n }\n for (const key in old) {\n if (old[key] !== def[key]) {\n return true;\n }\n }\n}\nfunction bodyFilter(name) {\n return ['class', 'style'].includes(name) === false;\n}\nfunction htmlFilter(_name) {\n return true;\n // return ['lang', 'dir'].includes(name) === false;\n}\nfunction diff(meta, other) {\n const add = {};\n const remove = {};\n if (meta === void 0) {\n return {\n add: other,\n remove\n };\n }\n if (meta.title !== other.title) {\n add.title = other.title;\n }\n ['meta', 'link', 'script', 'htmlAttr', 'bodyAttr'].forEach(type => {\n const old = meta[type];\n const cur = other[type];\n remove[type] = [];\n if (old === void 0 || old === null) {\n add[type] = cur;\n return;\n }\n add[type] = {};\n for (const key in old) {\n if (Object.prototype.hasOwnProperty.call(cur, key) === false) {\n remove[type].push(key);\n }\n }\n for (const key in cur) {\n if (Object.prototype.hasOwnProperty.call(old, key) === false) {\n add[type][key] = cur[key];\n } else if (changed(old[key], cur[key]) === true) {\n remove[type].push(key);\n add[type][key] = cur[key];\n }\n }\n });\n return {\n add,\n remove\n };\n}\nfunction apply({\n add,\n remove\n}) {\n if (add.title) {\n document.title = add.title;\n }\n if (Object.keys(remove).length !== 0) {\n ['meta', 'link', 'script'].forEach(type => {\n remove[type].forEach(name => {\n document.head.querySelector(`${type}[data-qmeta=\"${name}\"]`)?.remove();\n });\n });\n remove.htmlAttr.filter(htmlFilter).forEach(name => {\n document.documentElement.removeAttribute(name);\n });\n remove.bodyAttr.filter(bodyFilter).forEach(name => {\n document.body.removeAttribute(name);\n });\n }\n ['meta', 'link', 'script'].forEach(type => {\n const metaType = add[type];\n for (const name in metaType) {\n const tag = document.createElement(type);\n for (const att in metaType[name]) {\n if (att !== 'innerHTML') {\n tag.setAttribute(att, metaType[name][att]);\n }\n }\n tag.setAttribute('data-qmeta', name);\n if (type === 'script') {\n tag.innerHTML = metaType[name].innerHTML || '';\n }\n document.head.appendChild(tag);\n }\n });\n Object.keys(add.htmlAttr).filter(htmlFilter).forEach(name => {\n document.documentElement.setAttribute(name, add.htmlAttr[name] || '');\n });\n Object.keys(add.bodyAttr).filter(bodyFilter).forEach(name => {\n document.body.setAttribute(name, add.bodyAttr[name] || '');\n });\n}\nfunction getAttr(seed) {\n return att => {\n const val = seed[att];\n return att + (val !== true && val !== void 0 ? `=\"${val}\"` : '');\n };\n}\nfunction getHead(meta) {\n let output = '';\n if (meta.title) {\n output += `<title>${meta.title}</title>`;\n }\n ['meta', 'link', 'script'].forEach(type => {\n const metaType = meta[type];\n for (const att in metaType) {\n const attrs = Object.keys(metaType[att]).filter(att => att !== 'innerHTML').map(getAttr(metaType[att]));\n output += `<${type} ${attrs.join(' ')} data-qmeta=\"${att}\">`;\n if (type === 'script') {\n output += `${metaType[att].innerHTML || ''}</script>`;\n }\n }\n });\n return output;\n}","export function resolveSsrProfile(routeProfile, defaultProfile) {\n const ssrProfile = routeProfile ?? defaultProfile ?? 'public';\n if (ssrProfile !== 'public' && ssrProfile !== 'session') {\n throw new Error(`invalid SSR profile: ${ssrProfile}`);\n }\n return ssrProfile;\n}\nexport function resolveSsrProfileOptions(ssrProfile, profiles, routeProfileOptions, metaLocale) {\n const profileOptions = profiles[ssrProfile];\n if (!profileOptions) {\n throw new Error(`invalid SSR profile: ${ssrProfile}`);\n }\n const responseCache = routeProfileOptions?.responseCache ?? (ssrProfile === 'public' && metaLocale !== true ? {\n expires: 0\n } : profileOptions.responseCache);\n return Object.freeze({\n useCookie: ssrProfile === 'session' && profileOptions.useCookie,\n responseCache: responseCache === false ? false : Object.freeze({\n ...responseCache\n })\n });\n}","import { includeBooleanAttr, isBooleanAttr, isString, stringifyStyle } from '@vue/shared';\nimport { defu } from 'defu';\nimport { normalizeClass, normalizeStyle, ref, useSSRContext } from 'vue';\nimport { BeanSimple } from 'zova';\nimport { CtxSSRMetaStore } from './ssrMetaStore.js';\nimport { resolveSsrProfile, resolveSsrProfileOptions } from './ssrProfile.js';\nconst SymbolIsRuntimeSsrPreHydration = Symbol('SymbolIsRuntimeSsrPreHydration');\nconst SymbolSSRContext = Symbol('SymbolSSRContext');\nconst SymbolSSRState = Symbol('SymbolSSRState');\nconst SymbolOnHydrateds = Symbol('SymbolOnHydrateds');\nconst SymbolOnHydratePropHasMismatches = Symbol('SymbolOnHydratePropHasMismatches');\nconst SymbolInstanceUpdates = Symbol('SymbolInstanceUpdates');\nconst SymbolHydratingCounter = Symbol('SymbolHydratingCounter');\nconst SymbolServerContexts = Symbol('SymbolServerContexts');\nexport class CtxSSR extends BeanSimple {\n constructor(...args) {\n super(...args);\n this[SymbolIsRuntimeSsrPreHydration] = ref(false);\n this[SymbolSSRContext] = void 0;\n this[SymbolSSRState] = void 0;\n this[SymbolOnHydrateds] = [];\n this[SymbolOnHydratePropHasMismatches] = [];\n this[SymbolInstanceUpdates] = [];\n this[SymbolHydratingCounter] = 0;\n this[SymbolServerContexts] = new Set();\n this.metaStore = void 0;\n }\n /** @internal */\n initialize() {\n if (process.env.SERVER) {\n this._serverContextRegister();\n }\n // ssr state\n this[SymbolSSRState] = this.sys.bean._getBeanSyncOnly('a-ssr.sys.ssrState');\n // SymbolIsRuntimeSsrPreHydration\n if (process.env.SERVER) {\n this[SymbolIsRuntimeSsrPreHydration].value = true;\n } else if (process.env.CLIENT && document.body.getAttribute('data-server-rendered') !== null) {\n this[SymbolIsRuntimeSsrPreHydration].value = true;\n }\n // onHydratePropHasMismatch\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this.onHydratePropHasMismatch((el, key, clientValue, vnode, instance) => {\n return this._onHydratePropHasMismatchDefault(el, key, clientValue, vnode, instance);\n });\n }\n // metaStore\n this.metaStore = this.bean._newBeanSimple(CtxSSRMetaStore, false);\n // fix: flash on page load\n // need not check process.env.DEV, because maybe need remove vite-css-module-id on prod\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this.onHydrated(() => {\n document.querySelectorAll('style[vite-css-module-id]').forEach(node => node.remove());\n });\n }\n }\n _serverContextRegister(currentContext = this.ctx) {\n const serverContexts = this[SymbolServerContexts];\n serverContexts.add(currentContext);\n this.context.onRendered(() => {\n serverContexts.delete(currentContext);\n });\n }\n _serverContextsDispose() {\n const serverContexts = this[SymbolServerContexts];\n for (const serverContext of serverContexts) {\n if (serverContext.disposed) continue;\n if (serverContext.bean && serverContext.bean !== serverContext.app?.bean) {\n serverContext.bean.dispose();\n }\n serverContext.dispose();\n }\n serverContexts.clear();\n }\n get isRuntimeSsrPreHydration() {\n return this[SymbolIsRuntimeSsrPreHydration].value;\n }\n get isRuntimeSsrHydrated() {\n return process.env.CLIENT && !this.isRuntimeSsrPreHydration;\n }\n set isRuntimeSsrPreHydration(value) {\n this[SymbolIsRuntimeSsrPreHydration].value = value;\n }\n get context() {\n if (process.env.CLIENT) throw new Error('cannot called in client');\n if (!this[SymbolSSRContext]) {\n this.ctx.util.instanceScope(() => {\n this[SymbolSSRContext] = useSSRContext();\n this._initContext();\n });\n }\n return this[SymbolSSRContext];\n }\n get state() {\n if (process.env.SERVER) {\n return this.context.state;\n } else {\n return this[SymbolSSRState].state;\n }\n }\n get stateDefer() {\n if (process.env.SERVER) {\n return this.context.stateDefer;\n } else {\n return this[SymbolSSRState].stateDefer;\n }\n }\n get profile() {\n return resolveSsrProfile(this.state.ssrProfile, this.sys.env.SSR_PROFILE);\n }\n get profileOptions() {\n const profileOptions = this.state.ssrProfileOptions;\n if (profileOptions) return profileOptions;\n return resolveSsrProfileOptions(this.profile, this.sys.config.ssr.profiles);\n }\n\n /** @internal */\n _setProfile(routeProfile, routeProfileOptions, metaLocale) {\n const ssrProfile = resolveSsrProfile(routeProfile, this.sys.env.SSR_PROFILE);\n const ssrProfileOptions = resolveSsrProfileOptions(ssrProfile, this.sys.config.ssr.profiles, routeProfileOptions, metaLocale);\n this.state.ssrProfile = ssrProfile;\n this.state.ssrProfileOptions = ssrProfileOptions;\n }\n\n /** @internal */\n _setLocale(route) {\n if (route.meta.locale) {\n this.app.meta.locale.current = route.params?.locale;\n }\n }\n get cookieDisabledOnServer() {\n return process.env.SERVER && !this.profileOptions.useCookie;\n }\n get renderSSRError() {\n return this.context._meta.renderError;\n }\n set renderSSRError(err) {\n this.context._meta.renderError = err;\n }\n getPerformAction(baseURL) {\n if (process.env.SERVER && baseURL === this.sys.env.SSR_API_BASE_URL) return this.context.performAction;\n return undefined;\n }\n _initContext() {\n const ssrContext = this[SymbolSSRContext];\n ssrContext._meta = defu(ssrContext._meta, {\n htmlAttrs: '',\n headTags: '',\n endingHeadTags: '',\n bodyClasses: '',\n bodyAttrs: 'data-server-rendered',\n bodyTags: '',\n endingBodyTags: '',\n baseUrl: this.sys.util.getAbsoluteUrlFromPagePath(undefined, false, true) // not include publicPath\n });\n ssrContext.state = ssrContext.state || {};\n ssrContext.stateDefer = ssrContext.stateDefer || {};\n }\n\n /**\n * Registers a callback that runs after initial client SSR hydration completes.\n * It does not run for SPA startup or later client navigation.\n */\n onHydrated(fn) {\n this[SymbolOnHydrateds].push(fn);\n }\n onHydratePropHasMismatch(fn) {\n this[SymbolOnHydratePropHasMismatches].push(fn);\n }\n handleDirectOrOnHydrated(fn) {\n if (!process.env.CLIENT) return;\n if (this.isRuntimeSsrPreHydration) {\n this.onHydrated(fn);\n } else {\n return fn();\n }\n }\n _onHydratePropHasMismatchDefault(el, key, clientValue, _vnode, _instance) {\n // expected\n let ignore = false;\n let expected;\n if (key === 'class') {\n ignore = true;\n if (clientValue !== undefined) {\n expected = normalizeClass(clientValue);\n el.setAttribute(key, expected);\n }\n } else if (key === 'style') {\n ignore = true;\n if (clientValue !== undefined) {\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n el.setAttribute(key, expected);\n }\n } else if (['id', 'name', 'for', 'd', 'aria-labelledby', 'aria-controls'].includes(key)) {\n ignore = true;\n if (clientValue !== undefined) {\n expected = String(clientValue);\n el.setAttribute(key, expected);\n }\n } else if (key === 'value') {\n ignore = true;\n if (clientValue !== undefined) {\n expected = String(clientValue);\n if (el.tagName === 'TEXTAREA') {\n el.value = expected;\n } else {\n el.setAttribute(key, expected);\n }\n }\n } else if (isBooleanAttr(key)) {\n ignore = true;\n if (clientValue !== undefined) {\n const expected = includeBooleanAttr(clientValue);\n if (expected) {\n el.setAttribute(key, '');\n } else {\n el.removeAttribute(key);\n }\n }\n } else if (el.getAttribute(`data-hydrate-ignore-${key}`) !== null) {\n ignore = true;\n if (clientValue !== undefined) {\n expected = String(clientValue);\n el.setAttribute(key, expected);\n }\n }\n if (!ignore) return {\n clientValue\n };\n return {\n ignore: true\n };\n }\n _hydrated() {\n if (!this.isRuntimeSsrPreHydration) return;\n // should be first\n this.isRuntimeSsrPreHydration = false;\n //\n this[SymbolInstanceUpdates].forEach(instance => {\n if (!instance.isUnmounted && instance.zova) {\n try {\n instance.update();\n } catch (err) {\n if (!err.message.includes(\"'insertBefore'\")) {\n throw err;\n }\n }\n }\n });\n this[SymbolInstanceUpdates] = [];\n //\n this[SymbolOnHydrateds].forEach(fn => fn());\n this[SymbolOnHydrateds] = [];\n //\n this[SymbolOnHydratePropHasMismatches] = [];\n }\n\n /** @internal */\n _hydratePropHasMismatch(el, key, clientValue, vnode, instance) {\n for (const fn of this[SymbolOnHydratePropHasMismatches]) {\n const res = fn(el, key, clientValue, vnode, instance);\n if (res.ignore) return res;\n clientValue = res.clientValue;\n }\n return {\n ignore: false,\n clientValue\n };\n }\n\n /** @internal */\n _hydratingRootInc() {\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this._hydratingInc();\n }\n }\n\n /** @internal */\n _hydratingRootDec() {\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this._hydratingDec();\n }\n }\n\n /** @internal */\n _hydratingInc() {\n ++this[SymbolHydratingCounter];\n }\n\n /** @internal */\n _hydratingDec() {\n if (--this[SymbolHydratingCounter] === 0) {\n this._hydrated();\n }\n }\n\n /** @internal */\n _hydratingInstanceRecord(instance) {\n if (!this[SymbolInstanceUpdates].includes(instance)) {\n this[SymbolInstanceUpdates].push(instance);\n return true;\n }\n return false;\n }\n\n /** @internal */\n _registerServerContext(currentContext) {\n this._serverContextRegister(currentContext);\n }\n\n /** @internal */\n _disposeServerContexts() {\n this._serverContextsDispose();\n }\n}","import { BeanSimple } from 'zova';\nimport { CtxSSR } from './lib/ssr.js';\nexport class MonkeySys extends BeanSimple {\n constructor(moduleSelf) {\n super();\n this._moduleSelf = void 0;\n this._sysSsrState = void 0;\n this._moduleSelf = moduleSelf;\n }\n async getSysSsrState() {\n if (!this._sysSsrState) {\n this._sysSsrState = await this.bean._getBean('a-ssr.sys.ssrState', false);\n }\n return this._sysSsrState;\n }\n async moduleLoading(module) {\n if (this._moduleSelf === module) return;\n await this.getSysSsrState();\n }\n async moduleLoaded(_module) {}\n async configLoaded(_module, _config) {}\n sysContextInitialize(ctx) {\n ctx.meta.$ssr = ctx.bean._newBeanSimple(CtxSSR, false);\n ctx.meta.$ssr.initialize();\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** sys: begin */\nexport * from '../bean/sys.ssrState.js';\nimport 'zova';\n/** sys: end */\n/** sys: begin */\nimport { SysSsrState } from '../bean/sys.ssrState.js';\nimport 'zova';\n/** sys: end */\n/** config: begin */\nexport * from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** monkeySys: begin */\nexport * from '../monkeySys.js';\n/** monkeySys: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleASsr = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-ssr\"\n}), _dec(_class = _dec2(_class = class ScopeModuleASsr extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","export function getBodyReadyObserverScript() {\n return `<script id=\"ssr-body-ready-observer\">\n window.ssr_bodyReadyObserverClear=()=>{\n window.ssr_body_ready_condition=undefined;\n window.ssr_body_ready_callback=undefined;\n window.ssr_bodyReadyObserver?.disconnect();\n window.ssr_bodyReadyObserver=undefined;\n document.body.style.display='block';\n document.querySelector('#ssr-body-ready-observer')?.remove();\n };\n window.ssr_bodyReadyObserver = new MutationObserver(() => {\n const __targets=window.ssr_body_ready_condition?.();\n if(__targets){\n try{\n window.ssr_body_ready_callback?.(__targets);\n }finally{\n window.ssr_bodyReadyObserverClear();\n }\n }\n });\n window.ssr_bodyReadyObserver.observe(document.body, {\n subtree: true,\n childList: true,\n });\n document.addEventListener(\"DOMContentLoaded\", () => {\n window.ssr_bodyReadyObserverClear();\n });\n </script>`.replaceAll('\\\\n', '');\n}"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dec","_dec2","_class","SymbolSSRState","__z_BeanInfo","__z_BeanInfo"],"sources":["../src/bean/sys.ssrState.ts","../src/config/config.ts","../src/lib/ssrNavigation.ts","../src/lib/useMeta.ts","../src/monkey.ts","../src/lib/utils.ts","../src/lib/ssrMetaStore.ts","../src/lib/ssrProfile.ts","../src/lib/ssr.ts","../src/monkeySys.ts","../src/.metadata/index.ts","../src/lib/bodyReadyObserver.ts"],"sourcesContent":["var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { BeanBase, cast } from 'zova';\nimport { Sys } from 'zova-module-a-bean';\nconst SymbolSSRState = Symbol('SymbolSSRState');\nconst SymbolSSRStateDefer = Symbol('SymbolSSRStateDefer');\nexport let SysSsrState = (_dec = Sys(), _dec2 = __z_BeanInfo({\n module: \"a-ssr\"\n}), _dec(_class = _dec2(_class = class SysSsrState extends BeanBase {\n constructor(...args) {\n super(...args);\n this[SymbolSSRState] = void 0;\n this[SymbolSSRStateDefer] = void 0;\n }\n async __init__() {\n if (process.env.CLIENT) {\n if (cast(window).__INITIAL_STATE__) {\n this[SymbolSSRState] = cast(window).__INITIAL_STATE__;\n delete cast(window).__INITIAL_STATE__;\n document.getElementById('ssr-state-init')?.remove();\n } else {\n this[SymbolSSRState] = {};\n }\n if (cast(window).__INITIAL_STATE_DEFER__) {\n this[SymbolSSRStateDefer] = cast(window).__INITIAL_STATE_DEFER__;\n delete cast(window).__INITIAL_STATE_DEFER__;\n document.getElementById('ssr-state-defer-init')?.remove();\n } else {\n this[SymbolSSRStateDefer] = {};\n }\n }\n }\n get state() {\n return this[SymbolSSRState];\n }\n get stateDefer() {\n return this[SymbolSSRStateDefer];\n }\n}) || _class) || _class);","export const config = sys => {\n const ssrConfig = {\n cookieThemeDarkDefault: sys.env.SSR_COOKIE_THEMEDARK_DEFAULT === 'true'\n };\n return ssrConfig;\n};","export function createSsrNavigationSync(options) {\n const navigationLocales = new WeakMap();\n return {\n beforeEach(to) {\n navigationLocales.set(to, options.getLocale());\n options.setProfile(to);\n options.setRouteLocale(to);\n },\n afterEach(to, from, failure) {\n const locale = navigationLocales.get(to);\n navigationLocales.delete(to);\n if (!failure) return;\n options.setProfile(from);\n if (locale !== undefined) {\n options.setLocale(locale);\n }\n }\n };\n}","// from: quasar/ui/src/composables/use-meta.js\nimport { computed, onActivated, onDeactivated, onUnmounted, watch } from 'vue';\nexport function useMeta(ctx, metaOptions) {\n if (process.env.SERVER) {\n ctx.meta.$ssr.context.__qMetaList.push(typeof metaOptions === 'function' ? metaOptions() : metaOptions);\n } else {\n const meta = {\n active: true\n };\n if (typeof metaOptions === 'function') {\n const content = computed(metaOptions);\n meta.val = content.value;\n watch(content, val => {\n meta.val = val;\n meta.active === true && ctx.meta.$ssr.metaStore.planClientUpdate();\n });\n } else {\n meta.val = metaOptions;\n }\n ctx.meta.$ssr.metaStore.addMetaOptions(meta);\n ctx.meta.$ssr.metaStore.planClientUpdate();\n onActivated(() => {\n try {\n meta.active = true;\n ctx.meta.$ssr.metaStore.planClientUpdate();\n } catch (_err) {}\n });\n onDeactivated(() => {\n try {\n meta.active = false;\n ctx.meta.$ssr.metaStore.planClientUpdate();\n } catch (_err) {}\n });\n onUnmounted(() => {\n try {\n ctx.meta.$ssr.metaStore.removeMetaOptions(meta);\n ctx.meta.$ssr.metaStore.planClientUpdate();\n } catch (_err) {}\n });\n }\n}","import { isNavigationFailure } from '@cabloy/vue-router';\nimport { BeanSimple, cast } from 'zova';\nimport { createSsrNavigationSync } from './lib/ssrNavigation.ts';\nimport { useMeta } from './lib/useMeta.ts';\nexport class Monkey extends BeanSimple {\n appContextInitialize(ctx) {\n ctx.meta.$ssr = ctx.app.ctx.meta.$ssr;\n if (process.env.CLIENT) {\n ctx.meta.$ssr.handleDirectOrOnHydrated(() => {\n if (!ctx.disposed) {\n ctx.meta.hooks.invokeHook('hydrated');\n }\n });\n }\n if (process.env.SERVER) {\n ctx.meta.$ssr._registerServerContext(ctx);\n }\n }\n controllerLoad(event) {\n event.ctx.meta.$ssr.controllerLoad(event);\n }\n async appInitialize() {\n this.app.meta.event.on('a-router:routerGuards', async (router, next) => {\n if (process.env.CLIENT) {\n const navigationSync = createSsrNavigationSync({\n getLocale: () => this.app.meta.locale.current,\n setLocale: locale => {\n this.app.meta.locale.current = locale;\n },\n setProfile: route => {\n this.ctx.meta.$ssr._setProfile(route.meta.ssrProfile, route.meta.ssrProfileOptions, route.meta.locale);\n },\n setRouteLocale: route => {\n this.ctx.meta.$ssr._setLocale(route);\n }\n });\n router.beforeEach(to => {\n navigationSync.beforeEach(to);\n });\n router.afterEach((to, from, failure) => {\n navigationSync.afterEach(to, from, failure);\n });\n }\n return await next();\n });\n if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {\n this.ctx.meta.$ssr.onHydrated(() => {\n document.documentElement.setAttribute('data-zova-hydrated', this.sys.env.SITE_ID);\n });\n }\n // ssr errorHandler\n if (process.env.SERVER) {\n this._ssrErrorHandler();\n }\n }\n async moduleLoading(_module) {}\n async moduleLoaded(module) {\n // ssrContext.modules\n if (process.env.SERVER && process.env.PROD) {\n if (!this.ctx.meta.$ssr.context.modules) this.ctx.meta.$ssr.context.modules = new Set();\n this.ctx.meta.$ssr.context.modules.add(`@@${module.info.relativeName}`);\n }\n }\n async beanInit(bean, beanInstance) {\n // eslint-disable-next-line\n const self = this;\n // $ssr\n bean.defineProperty(beanInstance, '$ssr', {\n enumerable: false,\n configurable: true,\n get() {\n return self.app.ctx.meta.$ssr;\n }\n });\n // $useMeta\n bean.defineProperty(beanInstance, '$useMeta', {\n enumerable: false,\n configurable: true,\n get() {\n return function (options) {\n const ctx = cast(this).ctx;\n ctx.util.instanceScope(() => {\n useMeta(ctx, options);\n });\n };\n }\n });\n }\n _ssrErrorHandler() {\n if (!process.env.SERVER) return;\n const _eventErrorHandler = this.app.meta.event.on('app:errorHandler', (data, next) => {\n const err = next();\n if (data.load?.kind === 'controller-load') {\n if (_isLoadErrorHandledServer(data.err)) {\n data.load.disposition = 'handled';\n if (!err || !(err instanceof Error)) return err;\n return this._errorHandlerDefaultServer(err);\n }\n return err;\n }\n if (!err || !(err instanceof Error)) return err;\n return this._errorHandlerDefaultServer(err);\n });\n this.ctx.meta.$ssr.context.onRendered(_err => {\n _eventErrorHandler();\n });\n }\n _errorHandlerDefaultServer(err) {\n if (!process.env.SERVER) return err;\n if (isNavigationFailure(err)) {\n if (!this.ctx.meta.$ssr.renderSSRError) {\n this.ctx.meta.$ssr.renderSSRError = err;\n }\n return undefined;\n } else if (err.code === 401) {\n try {\n this.app.$gotoLogin();\n } catch (err) {\n this.ctx.meta.$ssr.renderSSRError = err;\n }\n } else {\n this.ctx.meta.$ssr.renderSSRError = err;\n }\n return undefined;\n }\n}\nfunction _isLoadErrorHandledServer(err) {\n return isNavigationFailure(err) || [301, 302, 401].includes(Number(err.code));\n}","import * as devalue from 'devalue';\nexport function unevalPatch(value) {\n return devalue.uneval(value);\n // return devalue.uneval(value, value => {\n // if (value && typeof value === 'object' && value.toJSON) {\n // return value.toJSON();\n // }\n // });\n}","// from: quasar/ui/src/plugins/Meta.js\nimport { extend } from '@cabloy/extend';\nimport { BeanSimple, cast } from 'zova';\nimport { unevalPatch } from './utils.ts';\nexport class CtxSSRMetaStore extends BeanSimple {\n constructor(...args) {\n super(...args);\n this._updateId = 0;\n this._currentClientMeta = void 0;\n this._clientList = [];\n }\n __init__() {\n if (process.env.SERVER) {\n const ssrContext = this.ctx.meta.$ssr.context;\n ssrContext.__qMetaList = [];\n ssrContext.rendered = () => {\n this._onRenderedLast();\n ssrContext.rendered = () => {};\n };\n }\n if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {\n this._currentClientMeta = cast(window).__Q_META__;\n document.getElementById('ssr-meta-init')?.remove();\n }\n }\n _onRenderedLast(err) {\n const app = this.app;\n try {\n if (err) return;\n const ssrContext = this.ctx.meta.$ssr.context;\n this._injectContextState(ssrContext);\n this._injectContextStateDefer(ssrContext);\n this._injectServerMeta(ssrContext);\n } finally {\n this.ctx.meta.$ssr._disposeServerContexts();\n app?.close();\n }\n }\n addMetaOptions(metaOptionsWrapper) {\n this._clientList.push(metaOptionsWrapper);\n }\n removeMetaOptions(metaOptionsWrapper) {\n this._clientList.splice(this._clientList.indexOf(metaOptionsWrapper), 1);\n }\n planClientUpdate() {\n if (this._updateId !== 0) {\n clearTimeout(this._updateId);\n }\n this._updateId = window.setTimeout(() => {\n this._updateId = 0;\n this._updateClientMeta();\n }, 50);\n }\n _updateClientMeta() {\n const data = {\n title: '',\n titleTemplate: undefined,\n meta: {},\n link: {},\n script: {},\n htmlAttr: {},\n bodyAttr: {}\n };\n for (let i = 0; i < this._clientList.length; i++) {\n const {\n active,\n val\n } = this._clientList[i];\n if (active === true) {\n extend(true, data, val);\n }\n }\n normalize(data);\n apply(diff(this._currentClientMeta, data));\n this._currentClientMeta = data;\n }\n _injectServerMeta(ssrContext) {\n const data = {\n title: '',\n titleTemplate: undefined,\n meta: {},\n link: {},\n htmlAttr: {},\n bodyAttr: {},\n bodyStyle: {},\n bodyClass: {},\n noscript: {}\n };\n const list = ssrContext.__qMetaList;\n for (let i = 0; i < list.length; i++) {\n extend(true, data, list[i]);\n }\n normalize(data);\n const nonce = ssrContext.nonce !== void 0 ? ` nonce=\"${ssrContext.nonce}\"` : '';\n const ctx = ssrContext._meta;\n const htmlAttr = Object.keys(data.htmlAttr).filter(htmlFilter);\n if (htmlAttr.length !== 0) {\n ctx.htmlAttrs += (ctx.htmlAttrs.length !== 0 ? ' ' : '') + htmlAttr.map(getAttr(data.htmlAttr)).join(' ');\n }\n ctx.headTags += getHead(data);\n const bodyAttr = Object.keys(data.bodyAttr).filter(bodyFilter);\n if (bodyAttr.length !== 0) {\n ctx.bodyAttrs += (ctx.bodyAttrs.length !== 0 ? ' ' : '') + bodyAttr.map(getAttr(data.bodyAttr)).join(' ');\n }\n const bodyStyle = Object.keys(data.bodyStyle).filter(name => !!data.bodyStyle[name]).map(name => `${name}:${data.bodyStyle[name]};`).join('');\n if (bodyStyle) {\n ctx.bodyAttrs += `${ctx.bodyAttrs.length !== 0 ? ' ' : ''}style=\"${bodyStyle}\"`;\n }\n const _bodyClass = ctx.bodyClasses.split(' ').filter(item => !!item);\n const bodyClass = {};\n _bodyClass.forEach(item => bodyClass[item] = true);\n extend(true, bodyClass, data.bodyClass);\n ctx.bodyClasses = Object.keys(bodyClass).filter(name => bodyClass[name]).map(name => name).join(' ');\n data.title = '\\'\"`';\n ctx.endingHeadTags += `${Object.keys(data.noscript).map(name => `<noscript data-qmeta=\"${name}\">${data.noscript[name]}</noscript>`).join('')}<script${nonce} id=\"ssr-meta-init\">window.__Q_META__=${delete data.bodyStyle && delete data.bodyClass && delete data.noscript && unevalPatch(data)}</script>`;\n const cookieTheme = this.ctx.meta.$ssr.profileOptions.useCookie;\n let ssr_local_themedark = cookieTheme ? `let ssr_cookie_themedark=document.cookie.split('; ')?.find(item=>item.indexOf('themedark=')>-1)?.split('=')[1];\n ssr_cookie_themedark=ssr_cookie_themedark==='true'?true:ssr_cookie_themedark==='false'?false:${this.sys.env.SSR_COOKIE_THEMEDARK_DEFAULT};\n window.ssr_themedark=window.ssr_cookie_themedark=ssr_cookie_themedark;` : `let ssr_local_themedark=window.ssr_load_local('themedark');\n if(ssr_local_themedark===undefined || ssr_local_themedark==='auto'){\n ssr_local_themedark=window.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n window.ssr_themedark=window.ssr_local_themedark=ssr_local_themedark;`;\n // Resolve the final browser theme from the SSR dual markers emitted before page render.\n ssr_local_themedark += `Object.defineProperty(window, 'ssr_themedark_data', {\n get: () => {\n let _data=document.body.getAttribute('data-ssr-theme-dark-'+window.ssr_themedark);\n if(_data===undefined || _data===null){\n _data=window.__INITIAL_STATE__ && window.__INITIAL_STATE__['data-ssr-theme-dark-'+window.ssr_themedark];\n }\n return _data;\n },\n });`;\n const ssr_local_themename = cookieTheme ? '' : `window.ssr_local_themename=window.ssr_load_local('themename','${this.sys.env.STYLE_DEFAULT_THEME}');`;\n ctx.endingHeadTags += `<script id=\"ssr-prefers-color-schema-dark\">\n window.ssr_load_local=function(key,defaultValue){\n const __ssr_local=localStorage.getItem(key);\n const value=__ssr_local?JSON.parse(__ssr_local):undefined;\n return value??defaultValue;\n };\n ${ssr_local_themedark}\n ${ssr_local_themename}\n document.querySelector('#ssr-prefers-color-schema-dark').remove();\n </script>`.replaceAll('\\n', '');\n }\n _injectContextState(ssrContext) {\n const ctx = ssrContext._meta;\n const nonce = ssrContext.nonce !== void 0 ? ` nonce=\"${ssrContext.nonce}\"` : '';\n ctx.endingHeadTags += `<script${nonce} id=\"ssr-state-init\">window.__INITIAL_STATE__=${unevalPatch(ssrContext.state)}</script>`;\n }\n _injectContextStateDefer(ssrContext) {\n const ctx = ssrContext._meta;\n const nonce = ssrContext.nonce !== void 0 ? ` nonce=\"${ssrContext.nonce}\"` : '';\n ctx.endingBodyTags += `<script${nonce} id=\"ssr-state-defer-init\">window.__INITIAL_STATE_DEFER__=${unevalPatch(ssrContext.stateDefer)}</script>`;\n }\n}\nfunction normalize(meta) {\n if (meta.title) {\n meta.title = meta.titleTemplate ? meta.titleTemplate(meta.title) : meta.title;\n delete meta.titleTemplate;\n }\n [['meta', 'content'], ['link', 'href']].forEach(type => {\n const metaType = meta[type[0]];\n const metaProp = type[1];\n for (const name in metaType) {\n const metaLink = metaType[name];\n if (metaLink.template) {\n if (Object.keys(metaLink).length === 1) {\n delete metaType[name];\n } else {\n metaLink[metaProp] = metaLink.template(metaLink[metaProp] || '');\n delete metaLink.template;\n }\n }\n }\n });\n}\nfunction changed(old, def) {\n if (Object.keys(old).length !== Object.keys(def).length) {\n return true;\n }\n for (const key in old) {\n if (old[key] !== def[key]) {\n return true;\n }\n }\n}\nfunction bodyFilter(name) {\n return ['class', 'style'].includes(name) === false;\n}\nfunction htmlFilter(_name) {\n return true;\n // return ['lang', 'dir'].includes(name) === false;\n}\nfunction diff(meta, other) {\n const add = {};\n const remove = {};\n if (meta === void 0) {\n return {\n add: other,\n remove\n };\n }\n if (meta.title !== other.title) {\n add.title = other.title;\n }\n ['meta', 'link', 'script', 'htmlAttr', 'bodyAttr'].forEach(type => {\n const old = meta[type];\n const cur = other[type];\n remove[type] = [];\n if (old === void 0 || old === null) {\n add[type] = cur;\n return;\n }\n add[type] = {};\n for (const key in old) {\n if (Object.prototype.hasOwnProperty.call(cur, key) === false) {\n remove[type].push(key);\n }\n }\n for (const key in cur) {\n if (Object.prototype.hasOwnProperty.call(old, key) === false) {\n add[type][key] = cur[key];\n } else if (changed(old[key], cur[key]) === true) {\n remove[type].push(key);\n add[type][key] = cur[key];\n }\n }\n });\n return {\n add,\n remove\n };\n}\nfunction apply({\n add,\n remove\n}) {\n if (add.title) {\n document.title = add.title;\n }\n if (Object.keys(remove).length !== 0) {\n ['meta', 'link', 'script'].forEach(type => {\n remove[type].forEach(name => {\n document.head.querySelector(`${type}[data-qmeta=\"${name}\"]`)?.remove();\n });\n });\n remove.htmlAttr.filter(htmlFilter).forEach(name => {\n document.documentElement.removeAttribute(name);\n });\n remove.bodyAttr.filter(bodyFilter).forEach(name => {\n document.body.removeAttribute(name);\n });\n }\n ['meta', 'link', 'script'].forEach(type => {\n const metaType = add[type];\n for (const name in metaType) {\n const tag = document.createElement(type);\n for (const att in metaType[name]) {\n if (att !== 'innerHTML') {\n tag.setAttribute(att, metaType[name][att]);\n }\n }\n tag.setAttribute('data-qmeta', name);\n if (type === 'script') {\n tag.innerHTML = metaType[name].innerHTML || '';\n }\n document.head.appendChild(tag);\n }\n });\n Object.keys(add.htmlAttr).filter(htmlFilter).forEach(name => {\n document.documentElement.setAttribute(name, add.htmlAttr[name] || '');\n });\n Object.keys(add.bodyAttr).filter(bodyFilter).forEach(name => {\n document.body.setAttribute(name, add.bodyAttr[name] || '');\n });\n}\nfunction getAttr(seed) {\n return att => {\n const val = seed[att];\n return att + (val !== true && val !== void 0 ? `=\"${val}\"` : '');\n };\n}\nfunction getHead(meta) {\n let output = '';\n if (meta.title) {\n output += `<title>${meta.title}</title>`;\n }\n ['meta', 'link', 'script'].forEach(type => {\n const metaType = meta[type];\n for (const att in metaType) {\n const attrs = Object.keys(metaType[att]).filter(att => att !== 'innerHTML').map(getAttr(metaType[att]));\n output += `<${type} ${attrs.join(' ')} data-qmeta=\"${att}\">`;\n if (type === 'script') {\n output += `${metaType[att].innerHTML || ''}</script>`;\n }\n }\n });\n return output;\n}","export function resolveSsrProfile(routeProfile, defaultProfile) {\n const ssrProfile = routeProfile ?? defaultProfile ?? 'public';\n if (ssrProfile !== 'public' && ssrProfile !== 'session') {\n throw new Error(`invalid SSR profile: ${ssrProfile}`);\n }\n return ssrProfile;\n}\nexport function resolveSsrProfileOptions(ssrProfile, profiles, routeProfileOptions, metaLocale) {\n const profileOptions = profiles[ssrProfile];\n if (!profileOptions) {\n throw new Error(`invalid SSR profile: ${ssrProfile}`);\n }\n const responseCache = routeProfileOptions?.responseCache ?? (ssrProfile === 'public' && metaLocale !== true ? {\n expires: 0\n } : profileOptions.responseCache);\n return Object.freeze({\n useCookie: ssrProfile === 'session' && profileOptions.useCookie,\n responseCache: responseCache === false ? false : Object.freeze({\n ...responseCache\n })\n });\n}","import { includeBooleanAttr, isBooleanAttr, isString, stringifyStyle } from '@vue/shared';\nimport { defu } from 'defu';\nimport { normalizeClass, normalizeStyle, ref, useSSRContext } from 'vue';\nimport { BeanSimple } from 'zova';\nimport { CtxSSRMetaStore } from './ssrMetaStore.ts';\nimport { resolveSsrProfile, resolveSsrProfileOptions } from './ssrProfile.ts';\nconst SymbolIsRuntimeSsrPreHydration = Symbol('SymbolIsRuntimeSsrPreHydration');\nconst SymbolSSRContext = Symbol('SymbolSSRContext');\nconst SymbolSSRState = Symbol('SymbolSSRState');\nconst SymbolOnHydrateds = Symbol('SymbolOnHydrateds');\nconst SymbolOnHydratePropHasMismatches = Symbol('SymbolOnHydratePropHasMismatches');\nconst SymbolInstanceUpdates = Symbol('SymbolInstanceUpdates');\nconst SymbolHydratingCounter = Symbol('SymbolHydratingCounter');\nconst SymbolServerContexts = Symbol('SymbolServerContexts');\nexport class CtxSSR extends BeanSimple {\n constructor(...args) {\n super(...args);\n this[SymbolIsRuntimeSsrPreHydration] = ref(false);\n this[SymbolSSRContext] = void 0;\n this[SymbolSSRState] = void 0;\n this[SymbolOnHydrateds] = [];\n this[SymbolOnHydratePropHasMismatches] = [];\n this[SymbolInstanceUpdates] = [];\n this[SymbolHydratingCounter] = 0;\n this[SymbolServerContexts] = new Set();\n this._controllerLoadSequence = {};\n this.metaStore = void 0;\n }\n /** @internal */\n initialize() {\n if (process.env.SERVER) {\n this._serverContextRegister();\n }\n // ssr state\n this[SymbolSSRState] = this.sys.bean._getBeanSyncOnly('a-ssr.sys.ssrState');\n // SymbolIsRuntimeSsrPreHydration\n if (process.env.SERVER) {\n this[SymbolIsRuntimeSsrPreHydration].value = true;\n } else if (process.env.CLIENT && document.body.getAttribute('data-server-rendered') !== null) {\n this[SymbolIsRuntimeSsrPreHydration].value = true;\n }\n // onHydratePropHasMismatch\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this.onHydratePropHasMismatch((el, key, clientValue, vnode, instance) => {\n return this._onHydratePropHasMismatchDefault(el, key, clientValue, vnode, instance);\n });\n }\n // metaStore\n this.metaStore = this.bean._newBeanSimple(CtxSSRMetaStore, false);\n // fix: flash on page load\n // need not check process.env.DEV, because maybe need remove vite-css-module-id on prod\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this.onHydrated(() => {\n document.querySelectorAll('style[vite-css-module-id]').forEach(node => node.remove());\n });\n }\n }\n _serverContextRegister(currentContext = this.ctx) {\n const serverContexts = this[SymbolServerContexts];\n serverContexts.add(currentContext);\n this.context.onRendered(() => {\n serverContexts.delete(currentContext);\n });\n }\n _serverContextsDispose() {\n const serverContexts = this[SymbolServerContexts];\n for (const serverContext of serverContexts) {\n if (serverContext.disposed) continue;\n if (serverContext.bean && serverContext.bean !== serverContext.app?.bean) {\n serverContext.bean.dispose();\n }\n serverContext.dispose();\n }\n serverContexts.clear();\n }\n get isRuntimeSsrPreHydration() {\n return this[SymbolIsRuntimeSsrPreHydration].value;\n }\n get isRuntimeSsrHydrated() {\n return process.env.CLIENT && !this.isRuntimeSsrPreHydration;\n }\n set isRuntimeSsrPreHydration(value) {\n this[SymbolIsRuntimeSsrPreHydration].value = value;\n }\n get context() {\n if (process.env.CLIENT) throw new Error('cannot called in client');\n if (!this[SymbolSSRContext]) {\n this.ctx.util.instanceScope(() => {\n this[SymbolSSRContext] = useSSRContext();\n this._initContext();\n });\n }\n return this[SymbolSSRContext];\n }\n get state() {\n if (process.env.SERVER) {\n return this.context.state;\n } else {\n return this[SymbolSSRState].state;\n }\n }\n get stateDefer() {\n if (process.env.SERVER) {\n return this.context.stateDefer;\n } else {\n return this[SymbolSSRState].stateDefer;\n }\n }\n\n /** @internal */\n controllerLoad(event) {\n if (event.phase === 'prepare') {\n if (process.env.SERVER) {\n event.ctx.meta.state.controllerLoadKey = this._allocateControllerLoadKey(event);\n return;\n }\n if (!process.env.CLIENT || !this.isRuntimeSsrPreHydration) return;\n const key = this._allocateControllerLoadKey(event);\n const snapshot = this.stateDefer.controllerLoad?.[key];\n if (!snapshot || snapshot.version !== 1 || snapshot.controllerBeanName !== event.controllerBeanName) {\n return;\n }\n delete this.stateDefer.controllerLoad[key];\n event.replayError = _createControllerLoadError(snapshot);\n event.replayControllerRecorded = snapshot.controllerRecorded;\n return;\n }\n if (event.phase !== 'fallback' || !process.env.SERVER || !event.error) return;\n const key = event.ctx.meta.state.controllerLoadKey;\n if (!key) return;\n const controllerLoad = this.stateDefer.controllerLoad ??= {};\n controllerLoad[key] = _createControllerLoadErrorSnapshot(event);\n }\n _allocateControllerLoadKey(event) {\n const instance = event.ctx.instance;\n const parts = [];\n let current = instance;\n while (current) {\n const componentType = current.type;\n const name = componentType.__file ?? componentType.name ?? componentType.__name ?? 'anonymous';\n const key = current.vnode.key ?? '';\n parts.unshift(`${name}:${String(key)}`);\n current = current.parent;\n }\n const structuralKey = parts.join('/');\n const occurrence = this._controllerLoadSequence[structuralKey] ?? 0;\n this._controllerLoadSequence[structuralKey] = occurrence + 1;\n return `${structuralKey}#${occurrence}:${event.controllerBeanName ?? ''}`;\n }\n get profile() {\n return resolveSsrProfile(this.state.ssrProfile, this.sys.env.SSR_PROFILE);\n }\n get profileOptions() {\n const profileOptions = this.state.ssrProfileOptions;\n if (profileOptions) return profileOptions;\n return resolveSsrProfileOptions(this.profile, this.sys.config.ssr.profiles);\n }\n\n /** @internal */\n _setProfile(routeProfile, routeProfileOptions, metaLocale) {\n const ssrProfile = resolveSsrProfile(routeProfile, this.sys.env.SSR_PROFILE);\n const ssrProfileOptions = resolveSsrProfileOptions(ssrProfile, this.sys.config.ssr.profiles, routeProfileOptions, metaLocale);\n this.state.ssrProfile = ssrProfile;\n this.state.ssrProfileOptions = ssrProfileOptions;\n }\n\n /** @internal */\n _setLocale(route) {\n if (route.meta.locale) {\n this.app.meta.locale.current = route.params?.locale;\n }\n }\n get cookieDisabledOnServer() {\n return process.env.SERVER && !this.profileOptions.useCookie;\n }\n get renderSSRError() {\n return this.context._meta.renderError;\n }\n set renderSSRError(err) {\n this.context._meta.renderError = err;\n }\n getPerformAction(baseURL) {\n if (process.env.SERVER && baseURL === this.sys.env.SSR_API_BASE_URL) return this.context.performAction;\n return undefined;\n }\n _initContext() {\n const ssrContext = this[SymbolSSRContext];\n ssrContext._meta = defu(ssrContext._meta, {\n htmlAttrs: '',\n headTags: '',\n endingHeadTags: '',\n bodyClasses: '',\n bodyAttrs: 'data-server-rendered',\n bodyTags: '',\n endingBodyTags: '',\n baseUrl: this.sys.util.getAbsoluteUrlFromPagePath(undefined, false, true) // not include publicPath\n });\n ssrContext.state = ssrContext.state || {};\n ssrContext.stateDefer = ssrContext.stateDefer || {};\n }\n\n /**\n * Registers a callback that runs after initial client SSR hydration completes.\n * It does not run for SPA startup or later client navigation.\n */\n onHydrated(fn) {\n this[SymbolOnHydrateds].push(fn);\n }\n onHydratePropHasMismatch(fn) {\n this[SymbolOnHydratePropHasMismatches].push(fn);\n }\n handleDirectOrOnHydrated(fn) {\n if (!process.env.CLIENT) return;\n if (this.isRuntimeSsrPreHydration) {\n this.onHydrated(fn);\n } else {\n return fn();\n }\n }\n _onHydratePropHasMismatchDefault(el, key, clientValue, _vnode, _instance) {\n // expected\n let ignore = false;\n let expected;\n if (key === 'class') {\n ignore = true;\n if (clientValue !== undefined) {\n expected = normalizeClass(clientValue);\n el.setAttribute(key, expected);\n }\n } else if (key === 'style') {\n ignore = true;\n if (clientValue !== undefined) {\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n el.setAttribute(key, expected);\n }\n } else if (['id', 'name', 'for', 'd', 'aria-labelledby', 'aria-controls'].includes(key)) {\n ignore = true;\n if (clientValue !== undefined) {\n expected = String(clientValue);\n el.setAttribute(key, expected);\n }\n } else if (key === 'value') {\n ignore = true;\n if (clientValue !== undefined) {\n expected = String(clientValue);\n if (el.tagName === 'TEXTAREA') {\n el.value = expected;\n } else {\n el.setAttribute(key, expected);\n }\n }\n } else if (isBooleanAttr(key)) {\n ignore = true;\n if (clientValue !== undefined) {\n const expected = includeBooleanAttr(clientValue);\n if (expected) {\n el.setAttribute(key, '');\n } else {\n el.removeAttribute(key);\n }\n }\n } else if (el.getAttribute(`data-hydrate-ignore-${key}`) !== null) {\n ignore = true;\n if (clientValue !== undefined) {\n expected = String(clientValue);\n el.setAttribute(key, expected);\n }\n }\n if (!ignore) return {\n clientValue\n };\n return {\n ignore: true\n };\n }\n _hydrated() {\n if (!this.isRuntimeSsrPreHydration) return;\n // should be first\n this.isRuntimeSsrPreHydration = false;\n //\n this[SymbolInstanceUpdates].forEach(instance => {\n if (!instance.isUnmounted && instance.zova) {\n try {\n instance.update();\n } catch (err) {\n if (!err.message.includes(\"'insertBefore'\")) {\n throw err;\n }\n }\n }\n });\n this[SymbolInstanceUpdates] = [];\n //\n this[SymbolOnHydrateds].forEach(fn => fn());\n this[SymbolOnHydrateds] = [];\n //\n this[SymbolOnHydratePropHasMismatches] = [];\n }\n\n /** @internal */\n _hydratePropHasMismatch(el, key, clientValue, vnode, instance) {\n for (const fn of this[SymbolOnHydratePropHasMismatches]) {\n const res = fn(el, key, clientValue, vnode, instance);\n if (res.ignore) return res;\n clientValue = res.clientValue;\n }\n return {\n ignore: false,\n clientValue\n };\n }\n\n /** @internal */\n _hydratingRootInc() {\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this._hydratingInc();\n }\n }\n\n /** @internal */\n _hydratingRootDec() {\n if (process.env.CLIENT && this.isRuntimeSsrPreHydration) {\n this._hydratingDec();\n }\n }\n\n /** @internal */\n _hydratingInc() {\n ++this[SymbolHydratingCounter];\n }\n\n /** @internal */\n _hydratingDec() {\n if (--this[SymbolHydratingCounter] === 0) {\n this._hydrated();\n }\n }\n\n /** @internal */\n _hydratingInstanceRecord(instance) {\n if (!this[SymbolInstanceUpdates].includes(instance)) {\n this[SymbolInstanceUpdates].push(instance);\n return true;\n }\n return false;\n }\n\n /** @internal */\n _registerServerContext(currentContext) {\n this._serverContextRegister(currentContext);\n }\n\n /** @internal */\n _disposeServerContexts() {\n this._serverContextsDispose();\n }\n}\nfunction _createControllerLoadErrorSnapshot(event) {\n const error = event.error;\n const snapshot = {\n version: 1,\n controllerBeanName: event.controllerBeanName,\n name: error.name || 'Error',\n message: error.message || String(error),\n controllerRecorded: event.controllerRecorded === true\n };\n for (const key of ['code', 'status']) {\n if (typeof error[key] === 'number' || typeof error[key] === 'string') {\n snapshot[key] = error[key];\n }\n }\n for (const key of ['pagePath', 'url']) {\n if (typeof error[key] === 'string') {\n snapshot[key] = error[key];\n }\n }\n return snapshot;\n}\nfunction _createControllerLoadError(snapshot) {\n const error = new Error(snapshot.message);\n error.name = snapshot.name;\n for (const key of ['code', 'status', 'pagePath', 'url']) {\n if (snapshot[key] !== undefined) {\n error[key] = snapshot[key];\n }\n }\n return error;\n}","import { BeanSimple } from 'zova';\nimport { CtxSSR } from './lib/ssr.ts';\nexport class MonkeySys extends BeanSimple {\n constructor(moduleSelf) {\n super();\n this._moduleSelf = void 0;\n this._sysSsrState = void 0;\n this._moduleSelf = moduleSelf;\n }\n async getSysSsrState() {\n if (!this._sysSsrState) {\n this._sysSsrState = await this.bean._getBean('a-ssr.sys.ssrState', false);\n }\n return this._sysSsrState;\n }\n async moduleLoading(module) {\n if (this._moduleSelf === module) return;\n await this.getSysSsrState();\n }\n async moduleLoaded(_module) {}\n async configLoaded(_module, _config) {}\n sysContextInitialize(ctx) {\n ctx.meta.$ssr = ctx.bean._newBeanSimple(CtxSSR, false);\n ctx.meta.$ssr.initialize();\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** sys: begin */\nexport * from '../bean/sys.ssrState.ts';\nimport 'zova';\n/** sys: end */\n/** sys: begin */\n\nimport 'zova';\n/** sys: end */\n/** config: begin */\nexport * from '../config/config.ts';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.ts';\n/** monkey: end */\n/** monkeySys: begin */\nexport * from '../monkeySys.ts';\n/** monkeySys: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleASsr = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-ssr\"\n}), _dec(_class = _dec2(_class = class ScopeModuleASsr extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","export function getBodyReadyObserverScript() {\n return `<script id=\"ssr-body-ready-observer\">\n window.ssr_bodyReadyObserverClear=()=>{\n window.ssr_body_ready_condition=undefined;\n window.ssr_body_ready_callback=undefined;\n window.ssr_bodyReadyObserver?.disconnect();\n window.ssr_bodyReadyObserver=undefined;\n document.body.style.display='block';\n document.querySelector('#ssr-body-ready-observer')?.remove();\n };\n window.ssr_bodyReadyObserver = new MutationObserver(() => {\n const __targets=window.ssr_body_ready_condition?.();\n if(__targets){\n try{\n window.ssr_body_ready_callback?.(__targets);\n }finally{\n window.ssr_bodyReadyObserverClear();\n }\n }\n });\n window.ssr_bodyReadyObserver.observe(document.body, {\n subtree: true,\n childList: true,\n });\n document.addEventListener(\"DOMContentLoaded\", () => {\n window.ssr_bodyReadyObserverClear();\n });\n </script>`.replaceAll('\\\\n', '');\n}"],"mappings":"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"}
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './ssr.
|
|
2
|
-
export * from './ssrMetaStore.
|
|
3
|
-
export * from './bodyReadyObserver.
|
|
4
|
-
export * from './ssrProfile.
|
|
5
|
-
export * from './utils.
|
|
1
|
+
export * from './ssr.ts';
|
|
2
|
+
export * from './ssrMetaStore.ts';
|
|
3
|
+
export * from './bodyReadyObserver.ts';
|
|
4
|
+
export * from './ssrProfile.ts';
|
|
5
|
+
export * from './utils.ts';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/lib/ssr.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Functionable } from 'zova';
|
|
2
2
|
import { BeanSimple } from 'zova';
|
|
3
|
-
import type { ISsrProfileOptions, OnHydratePropHasMismatch, SSRContext, TypeSsrProfile, TypeSsrSitePerformAction } from '../types/ssr.
|
|
4
|
-
import { CtxSSRMetaStore } from './ssrMetaStore.
|
|
3
|
+
import type { ISsrProfileOptions, OnHydratePropHasMismatch, SSRContext, TypeSsrProfile, TypeSsrSitePerformAction } from '../types/ssr.ts';
|
|
4
|
+
import { CtxSSRMetaStore } from './ssrMetaStore.ts';
|
|
5
5
|
declare const SymbolIsRuntimeSsrPreHydration: unique symbol;
|
|
6
6
|
declare const SymbolSSRContext: unique symbol;
|
|
7
7
|
declare const SymbolSSRState: unique symbol;
|
|
@@ -19,6 +19,7 @@ export declare class CtxSSR extends BeanSimple {
|
|
|
19
19
|
private [SymbolInstanceUpdates];
|
|
20
20
|
private [SymbolHydratingCounter];
|
|
21
21
|
private [SymbolServerContexts];
|
|
22
|
+
private _controllerLoadSequence;
|
|
22
23
|
metaStore: CtxSSRMetaStore;
|
|
23
24
|
private _serverContextRegister;
|
|
24
25
|
private _serverContextsDispose;
|
|
@@ -28,6 +29,7 @@ export declare class CtxSSR extends BeanSimple {
|
|
|
28
29
|
get context(): SSRContext;
|
|
29
30
|
get state(): import("zova-module-a-ssr").SSRContextState;
|
|
30
31
|
get stateDefer(): import("zova-module-a-ssr").SSRContextStateDefer;
|
|
32
|
+
private _allocateControllerLoadKey;
|
|
31
33
|
get profile(): TypeSsrProfile;
|
|
32
34
|
get profileOptions(): Readonly<ISsrProfileOptions>;
|
|
33
35
|
get cookieDisabledOnServer(): boolean;
|
package/dist/lib/ssr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/lib/ssr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/lib/ssr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAoD,MAAM,MAAM,CAAC;AAM3F,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,KAAK,EACV,kBAAkB,EAElB,wBAAwB,EAExB,UAAU,EAEV,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,QAAA,MAAM,8BAA8B,eAA2C,CAAC;AAChF,QAAA,MAAM,gBAAgB,eAA6B,CAAC;AACpD,QAAA,MAAM,cAAc,eAA2B,CAAC;AAChD,QAAA,MAAM,iBAAiB,eAA8B,CAAC;AACtD,QAAA,MAAM,gCAAgC,eAA6C,CAAC;AACpF,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,sBAAsB,eAAmC,CAAC;AAChE,QAAA,MAAM,oBAAoB,eAAiC,CAAC;AAE5D,qBAAa,MAAO,SAAQ,UAAU;IACpC,OAAO,CAAC,CAAC,8BAA8B,CAAC,CAA4B;IACpE,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAa;IACvC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAc;IACtC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAsB;IACjD,OAAO,CAAC,CAAC,gCAAgC,CAAC,CAAkC;IAC5E,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAmC;IAElE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAa;IAC7C,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAA+B;IAC7D,OAAO,CAAC,uBAAuB,CAA8B;IAEtD,SAAS,EAAE,eAAe,CAAC;IAgClC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;IAY9B,IAAI,wBAAwB,YAE3B;IAED,IAAI,oBAAoB,YAEvB;IAED,IAAI,wBAAwB,CAAC,KAAK,SAAA,EAEjC;IAED,IAAI,OAAO,eASV;IAED,IAAI,KAAK,gDAMR;IAED,IAAI,UAAU,qDAMb;IA+BD,OAAO,CAAC,0BAA0B;IAkBlC,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,IAAI,cAAc,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAIjD;IA0BD,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,IAAI,cAAc,IAIM,GAAG,CAF1B;IAED,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,EAE1B;IAED,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAMxE,OAAO,CAAC,YAAY;IAgBpB;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,YAAY;IAI3B,wBAAwB,CAAC,EAAE,EAAE,wBAAwB;IAIrD,wBAAwB,CAAC,EAAE,EAAE,YAAY;IASzC,OAAO,CAAC,gCAAgC;IA6DxC,OAAO,CAAC,SAAS;CAoFlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BeanSimple } from 'zova';
|
|
2
|
-
import type { SSRMetaOptionsWrapper } from '../types/ssr.
|
|
2
|
+
import type { SSRMetaOptionsWrapper } from '../types/ssr.ts';
|
|
3
3
|
export declare class CtxSSRMetaStore extends BeanSimple {
|
|
4
4
|
private _updateId;
|
|
5
5
|
private _currentClientMeta?;
|
package/dist/lib/ssrProfile.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ZovaConfigSsrProfile } from 'zova';
|
|
2
|
-
import type { ISsrProfileOptions, ISsrRouteProfileOptions, TypeSsrProfile } from '../types/ssr.
|
|
2
|
+
import type { ISsrProfileOptions, ISsrRouteProfileOptions, TypeSsrProfile } from '../types/ssr.ts';
|
|
3
3
|
export declare function resolveSsrProfile(routeProfile: TypeSsrProfile | undefined, defaultProfile: string | undefined): TypeSsrProfile;
|
|
4
4
|
export declare function resolveSsrProfileOptions(ssrProfile: TypeSsrProfile, profiles: Readonly<Record<TypeSsrProfile, ZovaConfigSsrProfile>>, routeProfileOptions?: Readonly<ISsrRouteProfileOptions>, metaLocale?: boolean): Readonly<ISsrProfileOptions>;
|
|
5
5
|
//# sourceMappingURL=ssrProfile.d.ts.map
|
package/dist/monkey.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { IModule } from '@cabloy/module-info';
|
|
2
|
-
import type { BeanBase, BeanContainer, IMonkeyAppContextInitialize, IMonkeyAppInitialize, IMonkeyBeanInit, IMonkeyModule, ZovaContext } from 'zova';
|
|
2
|
+
import type { BeanBase, BeanContainer, IControllerLoadEvent, IMonkeyAppContextInitialize, IMonkeyAppInitialize, IMonkeyBeanInit, IMonkeyModule, ZovaContext } from 'zova';
|
|
3
3
|
import { BeanSimple } from 'zova';
|
|
4
4
|
export declare class Monkey extends BeanSimple implements IMonkeyAppContextInitialize, IMonkeyAppInitialize, IMonkeyBeanInit, IMonkeyModule {
|
|
5
5
|
appContextInitialize(ctx: ZovaContext): void;
|
|
6
|
+
controllerLoad(event: IControllerLoadEvent): void;
|
|
6
7
|
appInitialize(): Promise<void>;
|
|
7
8
|
moduleLoading(_module: IModule): Promise<void>;
|
|
8
9
|
moduleLoaded(module: IModule): Promise<void>;
|
package/dist/monkey.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monkey.d.ts","sourceRoot":"","sources":["../src/monkey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,UAAU,EAAQ,MAAM,MAAM,CAAC;AAOxC,qBAAa,MACX,SAAQ,UACR,YAAW,2BAA2B,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa;IAE5F,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"monkey.d.ts","sourceRoot":"","sources":["../src/monkey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,UAAU,EAAQ,MAAM,MAAM,CAAC;AAOxC,qBAAa,MACX,SAAQ,UACR,YAAW,2BAA2B,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa;IAE5F,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAc5C,cAAc,CAAC,KAAK,EAAE,oBAAoB;IAIpC,aAAa;IAuCb,aAAa,CAAC,OAAO,EAAE,OAAO;IAC9B,YAAY,CAAC,MAAM,EAAE,OAAO;IAQ5B,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ;IA0B1D,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,0BAA0B;CAkBnC"}
|
package/dist/monkeySys.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IModule } from '@cabloy/module-info';
|
|
2
2
|
import type { IMonkeyModuleSys, IMonkeySysContextInitialize, ZovaContext } from 'zova';
|
|
3
3
|
import { BeanSimple } from 'zova';
|
|
4
|
-
import type { SysSsrState } from './bean/sys.ssrState.
|
|
4
|
+
import type { SysSsrState } from './bean/sys.ssrState.ts';
|
|
5
5
|
export declare class MonkeySys extends BeanSimple implements IMonkeyModuleSys, IMonkeySysContextInitialize {
|
|
6
6
|
private _moduleSelf;
|
|
7
7
|
private _sysSsrState;
|
package/dist/types/config.d.ts
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './config.
|
|
2
|
-
export * from './ssr.
|
|
1
|
+
export * from './config.ts';
|
|
2
|
+
export * from './ssr.ts';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/types/ssr.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentInternalInstance, VNode } from 'vue';
|
|
2
2
|
import type { ZovaConfigEnv, ZovaConfigSsrProfile, ZovaConfigSsrResponseCachePolicy } from 'zova';
|
|
3
|
-
import type { CtxSSR } from '../lib/ssr.
|
|
3
|
+
import type { CtxSSR } from '../lib/ssr.ts';
|
|
4
4
|
import 'zova';
|
|
5
5
|
export interface ErrorSSR extends Error {
|
|
6
6
|
pagePath?: string;
|
|
@@ -55,7 +55,19 @@ export interface SSRContextState {
|
|
|
55
55
|
ssrProfile?: TypeSsrProfile;
|
|
56
56
|
ssrProfileOptions?: Readonly<ISsrProfileOptions>;
|
|
57
57
|
}
|
|
58
|
+
export interface SSRControllerLoadErrorSnapshot {
|
|
59
|
+
version: 1;
|
|
60
|
+
controllerBeanName?: string;
|
|
61
|
+
name: string;
|
|
62
|
+
message: string;
|
|
63
|
+
code?: number | string;
|
|
64
|
+
status?: number | string;
|
|
65
|
+
pagePath?: string;
|
|
66
|
+
url?: string;
|
|
67
|
+
controllerRecorded: boolean;
|
|
68
|
+
}
|
|
58
69
|
export interface SSRContextStateDefer {
|
|
70
|
+
controllerLoad?: Record<string, SSRControllerLoadErrorSnapshot>;
|
|
59
71
|
}
|
|
60
72
|
type SSRMetaTagOptions = Record<string, any> & {
|
|
61
73
|
template?: (attributeValue: string) => string;
|
package/dist/types/ssr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/types/ssr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,MAAM,CAAC;AAElG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,MAAM,CAAC;AAEd,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,oBAAoB,CAAC;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AAEvE,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CACvC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,GAAG;IAC5C,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;CAC1D,CACF,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,iBAAiB,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CAClD;AACD,MAAM,WAAW,oBAAoB;
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/types/ssr.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/.metadata/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// eslint-disable
|
|
2
2
|
/** sys: begin */
|
|
3
|
-
export * from '../bean/sys.ssrState.
|
|
3
|
+
export * from '../bean/sys.ssrState.ts';
|
|
4
4
|
|
|
5
5
|
import 'zova';
|
|
6
6
|
declare module 'zova' {
|
|
@@ -22,7 +22,7 @@ declare module 'zova-module-a-ssr' {
|
|
|
22
22
|
}
|
|
23
23
|
/** sys: end */
|
|
24
24
|
/** sys: begin */
|
|
25
|
-
import { SysSsrState } from '../bean/sys.ssrState.
|
|
25
|
+
import type { SysSsrState } from '../bean/sys.ssrState.ts';
|
|
26
26
|
import 'zova';
|
|
27
27
|
declare module 'zova' {
|
|
28
28
|
export interface IBeanRecordGeneral {
|
|
@@ -31,14 +31,14 @@ declare module 'zova' {
|
|
|
31
31
|
}
|
|
32
32
|
/** sys: end */
|
|
33
33
|
/** config: begin */
|
|
34
|
-
export * from '../config/config.
|
|
35
|
-
import { config } from '../config/config.
|
|
34
|
+
export * from '../config/config.ts';
|
|
35
|
+
import { config } from '../config/config.ts';
|
|
36
36
|
/** config: end */
|
|
37
37
|
/** monkey: begin */
|
|
38
|
-
export * from '../monkey.
|
|
38
|
+
export * from '../monkey.ts';
|
|
39
39
|
/** monkey: end */
|
|
40
40
|
/** monkeySys: begin */
|
|
41
|
-
export * from '../monkeySys.
|
|
41
|
+
export * from '../monkeySys.ts';
|
|
42
42
|
/** monkeySys: end */
|
|
43
43
|
/** scope: begin */
|
|
44
44
|
import { BeanScopeBase, type BeanScopeUtil, TypeModuleConfig } from 'zova';
|
package/src/.metadata/this.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const __ThisModule__ = 'a-ssr';
|
|
2
|
-
export { ScopeModuleASsr as ScopeModule } from './index.
|
|
2
|
+
export { ScopeModuleASsr as ScopeModule } from './index.ts';
|
package/src/bean/sys.ssrState.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BeanBase, cast } from 'zova';
|
|
2
2
|
import { Sys } from 'zova-module-a-bean';
|
|
3
3
|
|
|
4
|
-
import { SSRContextState, SSRContextStateDefer } from '../types/ssr.
|
|
4
|
+
import { SSRContextState, SSRContextStateDefer } from '../types/ssr.ts';
|
|
5
5
|
|
|
6
6
|
const SymbolSSRState = Symbol('SymbolSSRState');
|
|
7
7
|
const SymbolSSRStateDefer = Symbol('SymbolSSRStateDefer');
|
package/src/config/config.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './.metadata/index.
|
|
2
|
-
export * from './lib/index.
|
|
3
|
-
export * from './types/index.
|
|
1
|
+
export * from './.metadata/index.ts';
|
|
2
|
+
export * from './lib/index.ts';
|
|
3
|
+
export * from './types/index.ts';
|
package/src/lib/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './ssr.
|
|
2
|
-
export * from './ssrMetaStore.
|
|
3
|
-
export * from './bodyReadyObserver.
|
|
4
|
-
export * from './ssrProfile.
|
|
5
|
-
export * from './utils.
|
|
1
|
+
export * from './ssr.ts';
|
|
2
|
+
export * from './ssrMetaStore.ts';
|
|
3
|
+
export * from './bodyReadyObserver.ts';
|
|
4
|
+
export * from './ssrProfile.ts';
|
|
5
|
+
export * from './utils.ts';
|
package/src/lib/ssr.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentInternalInstance, Ref, VNode } from 'vue';
|
|
2
|
-
import type { Functionable, ILocaleRecord, ZovaContext } from 'zova';
|
|
2
|
+
import type { Functionable, IControllerLoadEvent, ILocaleRecord, ZovaContext } from 'zova';
|
|
3
3
|
|
|
4
4
|
import { RouteLocationNormalizedGeneric, RouteLocationResolvedGeneric } from '@cabloy/vue-router';
|
|
5
5
|
import { includeBooleanAttr, isBooleanAttr, isString, stringifyStyle } from '@vue/shared';
|
|
@@ -7,19 +7,20 @@ import { defu } from 'defu';
|
|
|
7
7
|
import { normalizeClass, normalizeStyle, ref, useSSRContext } from 'vue';
|
|
8
8
|
import { BeanSimple } from 'zova';
|
|
9
9
|
|
|
10
|
-
import type { SysSsrState } from '../bean/sys.ssrState.
|
|
10
|
+
import type { SysSsrState } from '../bean/sys.ssrState.ts';
|
|
11
11
|
import type {
|
|
12
12
|
ISsrProfileOptions,
|
|
13
13
|
ISsrRouteProfileOptions,
|
|
14
14
|
OnHydratePropHasMismatch,
|
|
15
15
|
OnHydratePropHasMismatchResult,
|
|
16
16
|
SSRContext,
|
|
17
|
+
SSRControllerLoadErrorSnapshot,
|
|
17
18
|
TypeSsrProfile,
|
|
18
19
|
TypeSsrSitePerformAction,
|
|
19
|
-
} from '../types/ssr.
|
|
20
|
+
} from '../types/ssr.ts';
|
|
20
21
|
|
|
21
|
-
import { CtxSSRMetaStore } from './ssrMetaStore.
|
|
22
|
-
import { resolveSsrProfile, resolveSsrProfileOptions } from './ssrProfile.
|
|
22
|
+
import { CtxSSRMetaStore } from './ssrMetaStore.ts';
|
|
23
|
+
import { resolveSsrProfile, resolveSsrProfileOptions } from './ssrProfile.ts';
|
|
23
24
|
|
|
24
25
|
const SymbolIsRuntimeSsrPreHydration = Symbol('SymbolIsRuntimeSsrPreHydration');
|
|
25
26
|
const SymbolSSRContext = Symbol('SymbolSSRContext');
|
|
@@ -40,6 +41,7 @@ export class CtxSSR extends BeanSimple {
|
|
|
40
41
|
|
|
41
42
|
private [SymbolHydratingCounter]: number = 0;
|
|
42
43
|
private [SymbolServerContexts]: Set<ZovaContext> = new Set();
|
|
44
|
+
private _controllerLoadSequence: Record<string, number> = {};
|
|
43
45
|
|
|
44
46
|
public metaStore: CtxSSRMetaStore;
|
|
45
47
|
|
|
@@ -132,6 +134,53 @@ export class CtxSSR extends BeanSimple {
|
|
|
132
134
|
}
|
|
133
135
|
}
|
|
134
136
|
|
|
137
|
+
/** @internal */
|
|
138
|
+
public controllerLoad(event: IControllerLoadEvent) {
|
|
139
|
+
if (event.phase === 'prepare') {
|
|
140
|
+
if (process.env.SERVER) {
|
|
141
|
+
event.ctx.meta.state.controllerLoadKey = this._allocateControllerLoadKey(event);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (!process.env.CLIENT || !this.isRuntimeSsrPreHydration) return;
|
|
145
|
+
const key = this._allocateControllerLoadKey(event);
|
|
146
|
+
const snapshot = this.stateDefer.controllerLoad?.[key];
|
|
147
|
+
if (
|
|
148
|
+
!snapshot ||
|
|
149
|
+
snapshot.version !== 1 ||
|
|
150
|
+
snapshot.controllerBeanName !== event.controllerBeanName
|
|
151
|
+
) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
delete this.stateDefer.controllerLoad![key];
|
|
155
|
+
event.replayError = _createControllerLoadError(snapshot);
|
|
156
|
+
event.replayControllerRecorded = snapshot.controllerRecorded;
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (event.phase !== 'fallback' || !process.env.SERVER || !event.error) return;
|
|
160
|
+
const key = event.ctx.meta.state.controllerLoadKey;
|
|
161
|
+
if (!key) return;
|
|
162
|
+
const controllerLoad = (this.stateDefer.controllerLoad ??= {});
|
|
163
|
+
controllerLoad[key] = _createControllerLoadErrorSnapshot(event);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
private _allocateControllerLoadKey(event: IControllerLoadEvent) {
|
|
167
|
+
const instance = event.ctx.instance;
|
|
168
|
+
const parts: string[] = [];
|
|
169
|
+
let current: ComponentInternalInstance | null = instance;
|
|
170
|
+
while (current) {
|
|
171
|
+
const componentType = current.type as any;
|
|
172
|
+
const name =
|
|
173
|
+
componentType.__file ?? componentType.name ?? componentType.__name ?? 'anonymous';
|
|
174
|
+
const key = current.vnode.key ?? '';
|
|
175
|
+
parts.unshift(`${name}:${String(key)}`);
|
|
176
|
+
current = current.parent;
|
|
177
|
+
}
|
|
178
|
+
const structuralKey = parts.join('/');
|
|
179
|
+
const occurrence = this._controllerLoadSequence[structuralKey] ?? 0;
|
|
180
|
+
this._controllerLoadSequence[structuralKey] = occurrence + 1;
|
|
181
|
+
return `${structuralKey}#${occurrence}:${event.controllerBeanName ?? ''}`;
|
|
182
|
+
}
|
|
183
|
+
|
|
135
184
|
get profile(): TypeSsrProfile {
|
|
136
185
|
return resolveSsrProfile(this.state.ssrProfile, this.sys.env.SSR_PROFILE);
|
|
137
186
|
}
|
|
@@ -367,3 +416,38 @@ export class CtxSSR extends BeanSimple {
|
|
|
367
416
|
this._serverContextsDispose();
|
|
368
417
|
}
|
|
369
418
|
}
|
|
419
|
+
|
|
420
|
+
function _createControllerLoadErrorSnapshot(
|
|
421
|
+
event: IControllerLoadEvent,
|
|
422
|
+
): SSRControllerLoadErrorSnapshot {
|
|
423
|
+
const error = event.error! as any;
|
|
424
|
+
const snapshot: SSRControllerLoadErrorSnapshot = {
|
|
425
|
+
version: 1,
|
|
426
|
+
controllerBeanName: event.controllerBeanName,
|
|
427
|
+
name: error.name || 'Error',
|
|
428
|
+
message: error.message || String(error),
|
|
429
|
+
controllerRecorded: event.controllerRecorded === true,
|
|
430
|
+
};
|
|
431
|
+
for (const key of ['code', 'status']) {
|
|
432
|
+
if (typeof error[key] === 'number' || typeof error[key] === 'string') {
|
|
433
|
+
snapshot[key] = error[key];
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
for (const key of ['pagePath', 'url']) {
|
|
437
|
+
if (typeof error[key] === 'string') {
|
|
438
|
+
snapshot[key] = error[key];
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return snapshot;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
function _createControllerLoadError(snapshot: SSRControllerLoadErrorSnapshot) {
|
|
445
|
+
const error = new Error(snapshot.message);
|
|
446
|
+
error.name = snapshot.name;
|
|
447
|
+
for (const key of ['code', 'status', 'pagePath', 'url']) {
|
|
448
|
+
if (snapshot[key] !== undefined) {
|
|
449
|
+
(error as any)[key] = snapshot[key];
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
return error;
|
|
453
|
+
}
|
package/src/lib/ssrMetaStore.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { extend } from '@cabloy/extend';
|
|
3
3
|
import { BeanSimple, cast } from 'zova';
|
|
4
4
|
|
|
5
|
-
import type { SSRContext, SSRMetaOptions, SSRMetaOptionsWrapper } from '../types/ssr.
|
|
5
|
+
import type { SSRContext, SSRMetaOptions, SSRMetaOptionsWrapper } from '../types/ssr.ts';
|
|
6
6
|
|
|
7
|
-
import { unevalPatch } from './utils.
|
|
7
|
+
import { unevalPatch } from './utils.ts';
|
|
8
8
|
|
|
9
9
|
export class CtxSSRMetaStore extends BeanSimple {
|
|
10
10
|
private _updateId: number = 0;
|
package/src/lib/ssrProfile.ts
CHANGED
package/src/lib/useMeta.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ZovaContext } from 'zova';
|
|
|
3
3
|
// from: quasar/ui/src/composables/use-meta.js
|
|
4
4
|
import { computed, onActivated, onDeactivated, onUnmounted, watch } from 'vue';
|
|
5
5
|
|
|
6
|
-
import type { SSRMetaOptions, SSRMetaOptionsWrapper } from '../types/ssr.
|
|
6
|
+
import type { SSRMetaOptions, SSRMetaOptionsWrapper } from '../types/ssr.ts';
|
|
7
7
|
|
|
8
8
|
export function useMeta(ctx: ZovaContext, metaOptions) {
|
|
9
9
|
if (process.env.SERVER) {
|
package/src/monkey.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { IModule } from '@cabloy/module-info';
|
|
|
2
2
|
import type {
|
|
3
3
|
BeanBase,
|
|
4
4
|
BeanContainer,
|
|
5
|
+
IControllerLoadEvent,
|
|
5
6
|
IMonkeyAppContextInitialize,
|
|
6
7
|
IMonkeyAppInitialize,
|
|
7
8
|
IMonkeyBeanInit,
|
|
@@ -12,10 +13,10 @@ import type {
|
|
|
12
13
|
import { isNavigationFailure } from '@cabloy/vue-router';
|
|
13
14
|
import { BeanSimple, cast } from 'zova';
|
|
14
15
|
|
|
15
|
-
import type { SSRMetaOptions } from './types/ssr.
|
|
16
|
+
import type { SSRMetaOptions } from './types/ssr.ts';
|
|
16
17
|
|
|
17
|
-
import { createSsrNavigationSync } from './lib/ssrNavigation.
|
|
18
|
-
import { useMeta } from './lib/useMeta.
|
|
18
|
+
import { createSsrNavigationSync } from './lib/ssrNavigation.ts';
|
|
19
|
+
import { useMeta } from './lib/useMeta.ts';
|
|
19
20
|
|
|
20
21
|
export class Monkey
|
|
21
22
|
extends BeanSimple
|
|
@@ -23,11 +24,22 @@ export class Monkey
|
|
|
23
24
|
{
|
|
24
25
|
appContextInitialize(ctx: ZovaContext): void {
|
|
25
26
|
ctx.meta.$ssr = ctx.app.ctx.meta.$ssr;
|
|
27
|
+
if (process.env.CLIENT) {
|
|
28
|
+
ctx.meta.$ssr.handleDirectOrOnHydrated(() => {
|
|
29
|
+
if (!ctx.disposed) {
|
|
30
|
+
ctx.meta.hooks.invokeHook('hydrated');
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
26
34
|
if (process.env.SERVER) {
|
|
27
35
|
ctx.meta.$ssr._registerServerContext(ctx);
|
|
28
36
|
}
|
|
29
37
|
}
|
|
30
38
|
|
|
39
|
+
controllerLoad(event: IControllerLoadEvent) {
|
|
40
|
+
event.ctx.meta.$ssr.controllerLoad(event);
|
|
41
|
+
}
|
|
42
|
+
|
|
31
43
|
async appInitialize() {
|
|
32
44
|
this.app.meta.event.on('a-router:routerGuards', async (router, next) => {
|
|
33
45
|
if (process.env.CLIENT) {
|
|
@@ -104,8 +116,16 @@ export class Monkey
|
|
|
104
116
|
|
|
105
117
|
private _ssrErrorHandler() {
|
|
106
118
|
if (!process.env.SERVER) return;
|
|
107
|
-
const _eventErrorHandler = this.app.meta.event.on('app:errorHandler', (
|
|
119
|
+
const _eventErrorHandler = this.app.meta.event.on('app:errorHandler', (data, next) => {
|
|
108
120
|
const err = next();
|
|
121
|
+
if (data.load?.kind === 'controller-load') {
|
|
122
|
+
if (_isLoadErrorHandledServer(data.err)) {
|
|
123
|
+
data.load.disposition = 'handled';
|
|
124
|
+
if (!err || !(err instanceof Error)) return err;
|
|
125
|
+
return this._errorHandlerDefaultServer(err);
|
|
126
|
+
}
|
|
127
|
+
return err;
|
|
128
|
+
}
|
|
109
129
|
if (!err || !(err instanceof Error)) return err;
|
|
110
130
|
return this._errorHandlerDefaultServer(err);
|
|
111
131
|
});
|
|
@@ -133,3 +153,7 @@ export class Monkey
|
|
|
133
153
|
return undefined;
|
|
134
154
|
}
|
|
135
155
|
}
|
|
156
|
+
|
|
157
|
+
function _isLoadErrorHandledServer(err: Error) {
|
|
158
|
+
return isNavigationFailure(err) || [301, 302, 401].includes(Number((err as any).code));
|
|
159
|
+
}
|
package/src/monkeySys.ts
CHANGED
|
@@ -3,9 +3,9 @@ import type { IMonkeyModuleSys, IMonkeySysContextInitialize, ZovaContext } from
|
|
|
3
3
|
|
|
4
4
|
import { BeanSimple } from 'zova';
|
|
5
5
|
|
|
6
|
-
import type { SysSsrState } from './bean/sys.ssrState.
|
|
6
|
+
import type { SysSsrState } from './bean/sys.ssrState.ts';
|
|
7
7
|
|
|
8
|
-
import { CtxSSR } from './lib/ssr.
|
|
8
|
+
import { CtxSSR } from './lib/ssr.ts';
|
|
9
9
|
|
|
10
10
|
export class MonkeySys extends BeanSimple implements IMonkeyModuleSys, IMonkeySysContextInitialize {
|
|
11
11
|
private _moduleSelf: IModule;
|
package/src/types/config.ts
CHANGED
package/src/types/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './config.
|
|
2
|
-
export * from './ssr.
|
|
1
|
+
export * from './config.ts';
|
|
2
|
+
export * from './ssr.ts';
|
package/src/types/ssr.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ComponentInternalInstance, VNode } from 'vue';
|
|
2
2
|
import type { ZovaConfigEnv, ZovaConfigSsrProfile, ZovaConfigSsrResponseCachePolicy } from 'zova';
|
|
3
3
|
|
|
4
|
-
import type { CtxSSR } from '../lib/ssr.
|
|
4
|
+
import type { CtxSSR } from '../lib/ssr.ts';
|
|
5
5
|
import 'zova';
|
|
6
6
|
|
|
7
7
|
export interface ErrorSSR extends Error {
|
|
@@ -66,7 +66,21 @@ export interface SSRContextState {
|
|
|
66
66
|
ssrProfile?: TypeSsrProfile;
|
|
67
67
|
ssrProfileOptions?: Readonly<ISsrProfileOptions>;
|
|
68
68
|
}
|
|
69
|
-
export interface
|
|
69
|
+
export interface SSRControllerLoadErrorSnapshot {
|
|
70
|
+
version: 1;
|
|
71
|
+
controllerBeanName?: string;
|
|
72
|
+
name: string;
|
|
73
|
+
message: string;
|
|
74
|
+
code?: number | string;
|
|
75
|
+
status?: number | string;
|
|
76
|
+
pagePath?: string;
|
|
77
|
+
url?: string;
|
|
78
|
+
controllerRecorded: boolean;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface SSRContextStateDefer {
|
|
82
|
+
controllerLoad?: Record<string, SSRControllerLoadErrorSnapshot>;
|
|
83
|
+
}
|
|
70
84
|
|
|
71
85
|
// from: quasar/dist/types/meta.d.ts
|
|
72
86
|
// Cannot use `Record<string, string>` as TS would error out about `template` signature
|