@emkodev/emroute 1.6.6-beta.1 → 1.6.6-beta.2
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/runtime/abstract.runtime.d.ts +6 -4
- package/dist/runtime/abstract.runtime.js +42 -121
- package/dist/runtime/abstract.runtime.js.map +1 -1
- package/dist/runtime/bun/fs/bun-fs.runtime.js +0 -1
- package/dist/runtime/bun/fs/bun-fs.runtime.js.map +1 -1
- package/dist/runtime/bun/sqlite/bun-sqlite.runtime.js +0 -1
- package/dist/runtime/bun/sqlite/bun-sqlite.runtime.js.map +1 -1
- package/dist/runtime/universal/fs/universal-fs.runtime.js +0 -1
- package/dist/runtime/universal/fs/universal-fs.runtime.js.map +1 -1
- package/dist/server/codegen.util.d.ts +1 -1
- package/dist/server/codegen.util.js +6 -4
- package/dist/server/codegen.util.js.map +1 -1
- package/dist/server/emroute.server.js +54 -47
- package/dist/server/emroute.server.js.map +1 -1
- package/dist/server/esbuild-manifest.plugin.d.ts +0 -2
- package/dist/server/esbuild-manifest.plugin.js +67 -87
- package/dist/server/esbuild-manifest.plugin.js.map +1 -1
- package/dist/server/server-api.type.d.ts +5 -5
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/renderer/spa/base.renderer.js +4 -4
- package/dist/src/renderer/spa/base.renderer.js.map +1 -1
- package/dist/src/renderer/spa/hash.renderer.d.ts +3 -2
- package/dist/src/renderer/spa/hash.renderer.js +36 -17
- package/dist/src/renderer/spa/hash.renderer.js.map +1 -1
- package/dist/src/renderer/spa/html.renderer.d.ts +11 -3
- package/dist/src/renderer/spa/html.renderer.js +24 -11
- package/dist/src/renderer/spa/html.renderer.js.map +1 -1
- package/dist/src/renderer/spa/mod.d.ts +4 -1
- package/dist/src/renderer/spa/mod.js +1 -0
- package/dist/src/renderer/spa/mod.js.map +1 -1
- package/dist/src/renderer/ssr/html.renderer.d.ts +4 -3
- package/dist/src/renderer/ssr/html.renderer.js +4 -4
- package/dist/src/renderer/ssr/html.renderer.js.map +1 -1
- package/dist/src/renderer/ssr/md.renderer.d.ts +4 -3
- package/dist/src/renderer/ssr/md.renderer.js +4 -4
- package/dist/src/renderer/ssr/md.renderer.js.map +1 -1
- package/dist/src/renderer/ssr/ssr.renderer.d.ts +3 -2
- package/dist/src/renderer/ssr/ssr.renderer.js +10 -15
- package/dist/src/renderer/ssr/ssr.renderer.js.map +1 -1
- package/dist/src/route/route-tree.util.d.ts +15 -0
- package/dist/src/route/route-tree.util.js +32 -0
- package/dist/src/route/route-tree.util.js.map +1 -0
- package/dist/src/route/route.core.d.ts +31 -25
- package/dist/src/route/route.core.js +82 -60
- package/dist/src/route/route.core.js.map +1 -1
- package/dist/src/route/route.resolver.d.ts +28 -0
- package/dist/src/route/route.resolver.js +11 -0
- package/dist/src/route/route.resolver.js.map +1 -0
- package/dist/src/route/route.trie.d.ts +38 -0
- package/dist/src/route/route.trie.js +206 -0
- package/dist/src/route/route.trie.js.map +1 -0
- package/dist/src/type/route-tree.type.d.ts +42 -0
- package/dist/src/type/route-tree.type.js +12 -0
- package/dist/src/type/route-tree.type.js.map +1 -0
- package/package.json +1 -1
- package/runtime/abstract.runtime.ts +46 -146
- package/runtime/bun/fs/bun-fs.runtime.ts +0 -1
- package/runtime/bun/sqlite/bun-sqlite.runtime.ts +0 -1
- package/runtime/universal/fs/universal-fs.runtime.ts +0 -1
- package/server/codegen.util.ts +8 -4
- package/server/emroute.server.ts +50 -48
- package/server/esbuild-manifest.plugin.ts +68 -104
- package/server/server-api.type.ts +5 -5
- package/src/index.ts +5 -2
- package/src/renderer/spa/base.renderer.ts +4 -4
- package/src/renderer/spa/hash.renderer.ts +43 -20
- package/src/renderer/spa/html.renderer.ts +29 -12
- package/src/renderer/spa/mod.ts +3 -1
- package/src/renderer/ssr/html.renderer.ts +6 -5
- package/src/renderer/ssr/md.renderer.ts +6 -5
- package/src/renderer/ssr/ssr.renderer.ts +11 -17
- package/src/route/route-tree.util.ts +35 -0
- package/src/route/route.core.ts +89 -64
- package/src/route/route.resolver.ts +33 -0
- package/src/route/route.trie.ts +265 -0
- package/src/type/route-tree.type.ts +49 -0
|
@@ -8,25 +8,42 @@
|
|
|
8
8
|
* Coexists with SpaHtmlRouter in root mode (SPA router skips hash changes).
|
|
9
9
|
*/
|
|
10
10
|
import { RouteCore } from "../../route/route.core.js";
|
|
11
|
+
import { RouteTrie } from "../../route/route.trie.js";
|
|
11
12
|
import { escapeHtml } from "../../util/html.util.js";
|
|
12
13
|
import { logger } from "../../util/logger.util.js";
|
|
13
14
|
import { BaseRenderer } from "./base.renderer.js";
|
|
14
15
|
/**
|
|
15
|
-
* Build
|
|
16
|
+
* Build a RouteNode tree and module loaders from inline hash route definitions.
|
|
16
17
|
* Each route's pattern is used as the moduleLoaders key so RouteCore.loadModule works.
|
|
17
18
|
*/
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
function buildRouteTree(routes) {
|
|
20
|
+
const root = {};
|
|
21
|
+
const moduleLoaders = {};
|
|
22
|
+
for (const r of routes) {
|
|
23
|
+
const segments = r.pattern.split('/').filter(Boolean);
|
|
24
|
+
let node = root;
|
|
25
|
+
for (const segment of segments) {
|
|
26
|
+
if (segment.startsWith(':')) {
|
|
27
|
+
const param = segment.endsWith('*') ? segment.slice(1, -1) : segment.slice(1);
|
|
28
|
+
if (segment.endsWith('*')) {
|
|
29
|
+
node.wildcard ??= { param, child: {} };
|
|
30
|
+
node = node.wildcard.child;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
node.dynamic ??= { param, child: {} };
|
|
34
|
+
node = node.dynamic.child;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
node.children ??= {};
|
|
39
|
+
node.children[segment] ??= {};
|
|
40
|
+
node = node.children[segment];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
node.files = { ts: r.pattern };
|
|
44
|
+
moduleLoaders[r.pattern] = r.loader;
|
|
45
|
+
}
|
|
46
|
+
return { resolver: new RouteTrie(root), moduleLoaders };
|
|
30
47
|
}
|
|
31
48
|
/**
|
|
32
49
|
* Hash-based mini-app router for leaf mode pages.
|
|
@@ -38,9 +55,10 @@ function buildManifest(routes) {
|
|
|
38
55
|
*/
|
|
39
56
|
export class HashRouter extends BaseRenderer {
|
|
40
57
|
boundHandler = null;
|
|
41
|
-
constructor(
|
|
42
|
-
const core = new RouteCore(
|
|
58
|
+
constructor(resolver, options) {
|
|
59
|
+
const core = new RouteCore(resolver, {
|
|
43
60
|
extendContext: options?.extendContext,
|
|
61
|
+
moduleLoaders: options?.moduleLoaders,
|
|
44
62
|
});
|
|
45
63
|
super(core);
|
|
46
64
|
}
|
|
@@ -151,9 +169,10 @@ export async function createHashRouter(options) {
|
|
|
151
169
|
console.warn('eMroute: Hash router already initialized.');
|
|
152
170
|
return g.__emroute_hash_router;
|
|
153
171
|
}
|
|
154
|
-
const
|
|
155
|
-
const router = new HashRouter(
|
|
172
|
+
const { resolver, moduleLoaders } = buildRouteTree(options.routes);
|
|
173
|
+
const router = new HashRouter(resolver, {
|
|
156
174
|
extendContext: options.extendContext,
|
|
175
|
+
moduleLoaders,
|
|
157
176
|
});
|
|
158
177
|
await router.initialize(options.slot ?? 'hash-slot');
|
|
159
178
|
g.__emroute_hash_router = router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/spa/hash.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"hash.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/spa/hash.renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* - Document title via component.getTitle()
|
|
9
9
|
* - View transitions
|
|
10
10
|
*/
|
|
11
|
-
import type { MatchedRoute, NavigateOptions, RouteParams
|
|
11
|
+
import type { MatchedRoute, NavigateOptions, RouteParams } from '../../type/route.type.ts';
|
|
12
12
|
import type { ContextProvider } from '../../component/abstract.component.ts';
|
|
13
|
+
import type { RouteResolver } from '../../route/route.resolver.ts';
|
|
13
14
|
import { type BasePath, RouteCore } from '../../route/route.core.ts';
|
|
14
15
|
import { BaseRenderer } from './base.renderer.ts';
|
|
15
16
|
/** Options for SPA HTML Router */
|
|
@@ -18,6 +19,8 @@ export interface SpaHtmlRouterOptions {
|
|
|
18
19
|
extendContext?: ContextProvider;
|
|
19
20
|
/** Base paths for SSR endpoints. SPA uses html basePath for routing, md for passthrough. */
|
|
20
21
|
basePath?: BasePath;
|
|
22
|
+
/** Pre-bundled module loaders keyed by file path. Bridges JSON route tree → bundled code in the browser. */
|
|
23
|
+
moduleLoaders?: Record<string, () => Promise<unknown>>;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
26
|
* SPA Router for browser-based HTML rendering.
|
|
@@ -27,7 +30,7 @@ export declare class SpaHtmlRouter extends BaseRenderer {
|
|
|
27
30
|
/** Base paths for SSR endpoints. */
|
|
28
31
|
private htmlBase;
|
|
29
32
|
private mdBase;
|
|
30
|
-
constructor(
|
|
33
|
+
constructor(resolver: RouteResolver, options?: SpaHtmlRouterOptions);
|
|
31
34
|
/**
|
|
32
35
|
* Initialize router with slot element.
|
|
33
36
|
* Sets up Navigation API listener and performs initial navigation.
|
|
@@ -53,6 +56,11 @@ export declare class SpaHtmlRouter extends BaseRenderer {
|
|
|
53
56
|
* Get current matched route.
|
|
54
57
|
*/
|
|
55
58
|
getCurrentRoute(): MatchedRoute | null;
|
|
59
|
+
/**
|
|
60
|
+
* Strip the HTML basePath prefix from a browser pathname.
|
|
61
|
+
* Browser URLs include the prefix (e.g. /html/about) but trie patterns don't.
|
|
62
|
+
*/
|
|
63
|
+
private stripBase;
|
|
56
64
|
/**
|
|
57
65
|
* Handle navigation to a URL.
|
|
58
66
|
*
|
|
@@ -78,4 +86,4 @@ export declare class SpaHtmlRouter extends BaseRenderer {
|
|
|
78
86
|
* programmatic access from consumer scripts (navigate, getParams, etc.).
|
|
79
87
|
* Calling this function twice returns the existing router with a warning.
|
|
80
88
|
*/
|
|
81
|
-
export declare function createSpaHtmlRouter(
|
|
89
|
+
export declare function createSpaHtmlRouter(resolver: RouteResolver, options?: SpaHtmlRouterOptions): Promise<SpaHtmlRouter>;
|
|
@@ -13,11 +13,12 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
13
13
|
/** Base paths for SSR endpoints. */
|
|
14
14
|
htmlBase;
|
|
15
15
|
mdBase;
|
|
16
|
-
constructor(
|
|
16
|
+
constructor(resolver, options) {
|
|
17
17
|
const bp = options?.basePath ?? DEFAULT_BASE_PATH;
|
|
18
|
-
const core = new RouteCore(
|
|
18
|
+
const core = new RouteCore(resolver, {
|
|
19
19
|
extendContext: options?.extendContext,
|
|
20
20
|
basePath: bp.html,
|
|
21
|
+
moduleLoaders: options?.moduleLoaders,
|
|
21
22
|
});
|
|
22
23
|
super(core);
|
|
23
24
|
this.htmlBase = bp.html;
|
|
@@ -72,8 +73,8 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
72
73
|
const currentPath = location.pathname;
|
|
73
74
|
logger.ssr('check-adoption', `SSR route=${ssrRoute}, current=${currentPath}`);
|
|
74
75
|
if (currentPath === ssrRoute || currentPath === ssrRoute + '/') {
|
|
75
|
-
// Adopt SSR content —
|
|
76
|
-
const matched = this.core.match(new URL(ssrRoute, location.origin));
|
|
76
|
+
// Adopt SSR content — strip basePath before matching unprefixed trie
|
|
77
|
+
const matched = this.core.match(new URL(this.stripBase(ssrRoute), location.origin));
|
|
77
78
|
if (matched) {
|
|
78
79
|
logger.ssr('adopt', ssrRoute);
|
|
79
80
|
this.core.currentRoute = matched;
|
|
@@ -138,6 +139,16 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
138
139
|
getCurrentRoute() {
|
|
139
140
|
return this.core.currentRoute;
|
|
140
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Strip the HTML basePath prefix from a browser pathname.
|
|
144
|
+
* Browser URLs include the prefix (e.g. /html/about) but trie patterns don't.
|
|
145
|
+
*/
|
|
146
|
+
stripBase(pathname) {
|
|
147
|
+
if (this.htmlBase && (pathname.startsWith(this.htmlBase + '/') || pathname === this.htmlBase)) {
|
|
148
|
+
return pathname === this.htmlBase ? '/' : pathname.slice(this.htmlBase.length);
|
|
149
|
+
}
|
|
150
|
+
return pathname;
|
|
151
|
+
}
|
|
141
152
|
/**
|
|
142
153
|
* Handle navigation to a URL.
|
|
143
154
|
*
|
|
@@ -154,8 +165,10 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
154
165
|
globalThis.location.href = url;
|
|
155
166
|
return;
|
|
156
167
|
}
|
|
168
|
+
// Strip basePath prefix — trie holds unprefixed patterns
|
|
169
|
+
const routePath = this.stripBase(pathname);
|
|
157
170
|
try {
|
|
158
|
-
const matched = this.core.match(
|
|
171
|
+
const matched = this.core.match(new URL(routePath, location.origin));
|
|
159
172
|
if (!matched) {
|
|
160
173
|
logger.nav('not-found', pathname, pathname);
|
|
161
174
|
await this.renderStatusPage(404, pathname);
|
|
@@ -200,7 +213,7 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
200
213
|
await this.renderStatusPage(error.status, pathname);
|
|
201
214
|
return;
|
|
202
215
|
}
|
|
203
|
-
await this.handleError(error,
|
|
216
|
+
await this.handleError(error, routePath);
|
|
204
217
|
}
|
|
205
218
|
}
|
|
206
219
|
/**
|
|
@@ -209,7 +222,7 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
209
222
|
async renderStatusPage(status, pathname) {
|
|
210
223
|
if (!this.slot)
|
|
211
224
|
return;
|
|
212
|
-
const statusPage = this.core.
|
|
225
|
+
const statusPage = this.core.getStatusPage(status);
|
|
213
226
|
if (statusPage) {
|
|
214
227
|
try {
|
|
215
228
|
const component = statusPage.files?.ts
|
|
@@ -267,10 +280,10 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
267
280
|
params: {},
|
|
268
281
|
error: error instanceof Error ? error : new Error(String(error)),
|
|
269
282
|
});
|
|
270
|
-
const boundary = this.core.
|
|
283
|
+
const boundary = this.core.findErrorBoundary(pathname);
|
|
271
284
|
if (boundary && await this.tryRenderErrorModule(boundary.modulePath))
|
|
272
285
|
return;
|
|
273
|
-
const errorHandler = this.core.
|
|
286
|
+
const errorHandler = this.core.getErrorHandler();
|
|
274
287
|
if (errorHandler && await this.tryRenderErrorModule(errorHandler.modulePath))
|
|
275
288
|
return;
|
|
276
289
|
if (this.slot) {
|
|
@@ -290,13 +303,13 @@ export class SpaHtmlRouter extends BaseRenderer {
|
|
|
290
303
|
* programmatic access from consumer scripts (navigate, getParams, etc.).
|
|
291
304
|
* Calling this function twice returns the existing router with a warning.
|
|
292
305
|
*/
|
|
293
|
-
export async function createSpaHtmlRouter(
|
|
306
|
+
export async function createSpaHtmlRouter(resolver, options) {
|
|
294
307
|
const g = globalThis;
|
|
295
308
|
if (g.__emroute_router) {
|
|
296
309
|
console.warn('eMroute: SPA router already initialized. Remove duplicate <script> tags.');
|
|
297
310
|
return g.__emroute_router;
|
|
298
311
|
}
|
|
299
|
-
const router = new SpaHtmlRouter(
|
|
312
|
+
const router = new SpaHtmlRouter(resolver, options);
|
|
300
313
|
await router.initialize();
|
|
301
314
|
g.__emroute_router = router;
|
|
302
315
|
return router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/spa/html.renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"html.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/spa/html.renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,10 @@ export type { SpaMode, WidgetsManifest } from '../../type/widget.type.ts';
|
|
|
17
17
|
export { PageComponent } from '../../component/page.component.ts';
|
|
18
18
|
export { WidgetComponent } from '../../component/widget.component.ts';
|
|
19
19
|
export { Component, type ComponentContext, type ComponentManifestEntry, type ContextProvider, type RenderContext, } from '../../component/abstract.component.ts';
|
|
20
|
-
export type { MatchedRoute, NavigateOptions, RouteParams, RouterEvent, RouterEventListener, RouterEventType,
|
|
20
|
+
export type { MatchedRoute, NavigateOptions, RouteParams, RouterEvent, RouterEventListener, RouterEventType, } from '../../type/route.type.ts';
|
|
21
|
+
export type { RouteNode } from '../../type/route-tree.type.ts';
|
|
22
|
+
export type { RouteResolver, ResolvedRoute } from '../../route/route.resolver.ts';
|
|
23
|
+
export { RouteTrie } from '../../route/route.trie.ts';
|
|
21
24
|
export type { MarkdownRenderer } from '../../type/markdown.type.ts';
|
|
22
25
|
export { type BasePath, DEFAULT_BASE_PATH } from '../../route/route.core.ts';
|
|
23
26
|
export { escapeHtml, scopeWidgetCss } from '../../util/html.util.ts';
|
|
@@ -17,6 +17,7 @@ export { ComponentElement, MarkdownElement, RouterSlot, WidgetRegistry };
|
|
|
17
17
|
export { PageComponent } from "../../component/page.component.js";
|
|
18
18
|
export { WidgetComponent } from "../../component/widget.component.js";
|
|
19
19
|
export { Component, } from "../../component/abstract.component.js";
|
|
20
|
+
export { RouteTrie } from "../../route/route.trie.js";
|
|
20
21
|
export { DEFAULT_BASE_PATH } from "../../route/route.core.js";
|
|
21
22
|
export { escapeHtml, scopeWidgetCss } from "../../util/html.util.js";
|
|
22
23
|
export { setLogger } from "../../type/logger.type.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/renderer/spa/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AACnG,OAAO,EACL,gBAAgB,EAEhB,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAGzE,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,SAAS,GAKV,MAAM,uCAAuC,CAAC;AAW/C,OAAO,EAAiB,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAWrE,OAAO,EAAe,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEnE,+CAA+C;AAC/C,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAC5F,CAAC;AAED,0DAA0D;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAQxE,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/renderer/spa/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AACnG,OAAO,EACL,gBAAgB,EAEhB,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAGzE,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,SAAS,GAKV,MAAM,uCAAuC,CAAC;AAW/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAWrE,OAAO,EAAe,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEnE,+CAA+C;AAC/C,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAC5F,CAAC;AAED,0DAA0D;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAQxE,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* Generates complete HTML strings without DOM manipulation.
|
|
6
6
|
* Expands <mark-down> tags server-side when a markdown renderer is provided.
|
|
7
7
|
*/
|
|
8
|
-
import type { RouteConfig, RouteInfo
|
|
8
|
+
import type { RouteConfig, RouteInfo } from '../../type/route.type.ts';
|
|
9
|
+
import type { RouteResolver } from '../../route/route.resolver.ts';
|
|
9
10
|
import type { MarkdownRenderer } from '../../type/markdown.type.ts';
|
|
10
11
|
import type { PageComponent } from '../../component/page.component.ts';
|
|
11
12
|
import { SsrRenderer, type SsrRendererOptions } from './ssr.renderer.ts';
|
|
@@ -21,7 +22,7 @@ export declare class SsrHtmlRouter extends SsrRenderer {
|
|
|
21
22
|
protected readonly label = "SSR HTML";
|
|
22
23
|
private markdownRenderer;
|
|
23
24
|
private markdownReady;
|
|
24
|
-
constructor(
|
|
25
|
+
constructor(resolver: RouteResolver, options?: SsrHtmlRouterOptions);
|
|
25
26
|
protected injectSlot(parent: string, child: string, parentPattern: string): string;
|
|
26
27
|
protected stripSlots(result: string): string;
|
|
27
28
|
/**
|
|
@@ -46,4 +47,4 @@ export declare class SsrHtmlRouter extends SsrRenderer {
|
|
|
46
47
|
/**
|
|
47
48
|
* Create SSR HTML router.
|
|
48
49
|
*/
|
|
49
|
-
export declare function createSsrHtmlRouter(
|
|
50
|
+
export declare function createSsrHtmlRouter(resolver: RouteResolver, options?: SsrHtmlRouterOptions): SsrHtmlRouter;
|
|
@@ -16,8 +16,8 @@ export class SsrHtmlRouter extends SsrRenderer {
|
|
|
16
16
|
label = 'SSR HTML';
|
|
17
17
|
markdownRenderer;
|
|
18
18
|
markdownReady = null;
|
|
19
|
-
constructor(
|
|
20
|
-
super(
|
|
19
|
+
constructor(resolver, options = {}) {
|
|
20
|
+
super(resolver, options);
|
|
21
21
|
this.markdownRenderer = options.markdownRenderer ?? null;
|
|
22
22
|
if (this.markdownRenderer?.init) {
|
|
23
23
|
this.markdownReady = this.markdownRenderer.init();
|
|
@@ -102,7 +102,7 @@ export class SsrHtmlRouter extends SsrRenderer {
|
|
|
102
102
|
/**
|
|
103
103
|
* Create SSR HTML router.
|
|
104
104
|
*/
|
|
105
|
-
export function createSsrHtmlRouter(
|
|
106
|
-
return new SsrHtmlRouter(
|
|
105
|
+
export function createSsrHtmlRouter(resolver, options) {
|
|
106
|
+
return new SsrHtmlRouter(resolver, options);
|
|
107
107
|
}
|
|
108
108
|
//# sourceMappingURL=html.renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/ssr/html.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"html.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/ssr/html.renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Server-side Markdown rendering.
|
|
5
5
|
* Generates Markdown strings for LLM consumption, text clients, curl.
|
|
6
6
|
*/
|
|
7
|
-
import type { RouteConfig, RouteInfo
|
|
7
|
+
import type { RouteConfig, RouteInfo } from '../../type/route.type.ts';
|
|
8
|
+
import type { RouteResolver } from '../../route/route.resolver.ts';
|
|
8
9
|
import type { PageComponent } from '../../component/page.component.ts';
|
|
9
10
|
import { SsrRenderer, type SsrRendererOptions } from './ssr.renderer.ts';
|
|
10
11
|
/** Options for SSR Markdown Router */
|
|
@@ -14,7 +15,7 @@ export type SsrMdRouterOptions = SsrRendererOptions;
|
|
|
14
15
|
*/
|
|
15
16
|
export declare class SsrMdRouter extends SsrRenderer {
|
|
16
17
|
protected readonly label = "SSR MD";
|
|
17
|
-
constructor(
|
|
18
|
+
constructor(resolver: RouteResolver, options?: SsrMdRouterOptions);
|
|
18
19
|
protected injectSlot(parent: string, child: string, parentPattern: string): string;
|
|
19
20
|
protected stripSlots(result: string): string;
|
|
20
21
|
/**
|
|
@@ -37,4 +38,4 @@ export declare class SsrMdRouter extends SsrRenderer {
|
|
|
37
38
|
/**
|
|
38
39
|
* Create SSR Markdown router.
|
|
39
40
|
*/
|
|
40
|
-
export declare function createSsrMdRouter(
|
|
41
|
+
export declare function createSsrMdRouter(resolver: RouteResolver, options?: SsrMdRouterOptions): SsrMdRouter;
|
|
@@ -18,8 +18,8 @@ function routerSlotBlock(pattern) {
|
|
|
18
18
|
*/
|
|
19
19
|
export class SsrMdRouter extends SsrRenderer {
|
|
20
20
|
label = 'SSR MD';
|
|
21
|
-
constructor(
|
|
22
|
-
super(
|
|
21
|
+
constructor(resolver, options = {}) {
|
|
22
|
+
super(resolver, options);
|
|
23
23
|
}
|
|
24
24
|
injectSlot(parent, child, parentPattern) {
|
|
25
25
|
return parent.replace(routerSlotBlock(parentPattern), child);
|
|
@@ -94,7 +94,7 @@ export class SsrMdRouter extends SsrRenderer {
|
|
|
94
94
|
/**
|
|
95
95
|
* Create SSR Markdown router.
|
|
96
96
|
*/
|
|
97
|
-
export function createSsrMdRouter(
|
|
98
|
-
return new SsrMdRouter(
|
|
97
|
+
export function createSsrMdRouter(resolver, options) {
|
|
98
|
+
return new SsrMdRouter(resolver, options);
|
|
99
99
|
}
|
|
100
100
|
//# sourceMappingURL=md.renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"md.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/ssr/md.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"md.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/ssr/md.renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
* Abstract base class for server-side renderers.
|
|
5
5
|
* Provides the shared render() pipeline; subclasses supply format-specific rendering.
|
|
6
6
|
*/
|
|
7
|
-
import type { MatchedRoute, RouteConfig, RouteInfo
|
|
7
|
+
import type { MatchedRoute, RouteConfig, RouteInfo } from '../../type/route.type.ts';
|
|
8
8
|
import type { ComponentContext } from '../../component/abstract.component.ts';
|
|
9
9
|
import { type PageComponent } from '../../component/page.component.ts';
|
|
10
10
|
import { RouteCore, type RouteCoreOptions } from '../../route/route.core.ts';
|
|
11
|
+
import type { RouteResolver } from '../../route/route.resolver.ts';
|
|
11
12
|
import type { WidgetRegistry } from '../../widget/widget.registry.ts';
|
|
12
13
|
/** Base options for SSR renderers */
|
|
13
14
|
export interface SsrRendererOptions extends RouteCoreOptions {
|
|
@@ -32,7 +33,7 @@ export declare abstract class SsrRenderer {
|
|
|
32
33
|
css?: string;
|
|
33
34
|
}>;
|
|
34
35
|
protected abstract readonly label: string;
|
|
35
|
-
constructor(
|
|
36
|
+
constructor(resolver: RouteResolver, options?: SsrRendererOptions);
|
|
36
37
|
/**
|
|
37
38
|
* Render a URL to a content string.
|
|
38
39
|
*/
|
|
@@ -15,8 +15,8 @@ export class SsrRenderer {
|
|
|
15
15
|
core;
|
|
16
16
|
widgets;
|
|
17
17
|
widgetFiles;
|
|
18
|
-
constructor(
|
|
19
|
-
this.core = new RouteCore(
|
|
18
|
+
constructor(resolver, options = {}) {
|
|
19
|
+
this.core = new RouteCore(resolver, options);
|
|
20
20
|
this.widgets = options.widgets ?? null;
|
|
21
21
|
this.widgetFiles = options.widgetFiles ?? {};
|
|
22
22
|
}
|
|
@@ -26,16 +26,10 @@ export class SsrRenderer {
|
|
|
26
26
|
async render(url) {
|
|
27
27
|
const urlObj = toUrl(url);
|
|
28
28
|
const pathname = urlObj.pathname;
|
|
29
|
-
// Redirect trailing-slash URLs to canonical form (301)
|
|
30
|
-
const normalized = this.core.normalizeUrl(pathname);
|
|
31
|
-
if (normalized !== pathname) {
|
|
32
|
-
const query = urlObj.search || '';
|
|
33
|
-
return { content: '', status: 301, redirect: normalized + query };
|
|
34
|
-
}
|
|
35
29
|
const matched = this.core.match(urlObj);
|
|
36
30
|
const searchParams = urlObj.searchParams ?? new URLSearchParams();
|
|
37
31
|
if (!matched) {
|
|
38
|
-
const statusPage = this.core.
|
|
32
|
+
const statusPage = this.core.getStatusPage(404);
|
|
39
33
|
if (statusPage) {
|
|
40
34
|
try {
|
|
41
35
|
const ri = { pathname, pattern: statusPage.pattern, params: {}, searchParams };
|
|
@@ -56,6 +50,7 @@ export class SsrRenderer {
|
|
|
56
50
|
return {
|
|
57
51
|
content: this.renderRedirect(redirectConfig.to),
|
|
58
52
|
status: redirectConfig.status ?? 301,
|
|
53
|
+
redirect: redirectConfig.to,
|
|
59
54
|
};
|
|
60
55
|
}
|
|
61
56
|
const routeInfo = this.core.toRouteInfo(matched, pathname);
|
|
@@ -65,7 +60,7 @@ export class SsrRenderer {
|
|
|
65
60
|
}
|
|
66
61
|
catch (error) {
|
|
67
62
|
if (error instanceof Response) {
|
|
68
|
-
const statusPage = this.core.
|
|
63
|
+
const statusPage = this.core.getStatusPage(error.status);
|
|
69
64
|
if (statusPage) {
|
|
70
65
|
try {
|
|
71
66
|
const ri = {
|
|
@@ -88,13 +83,13 @@ export class SsrRenderer {
|
|
|
88
83
|
return { content: this.renderStatusPage(error.status, pathname), status: error.status };
|
|
89
84
|
}
|
|
90
85
|
logger.error(`[${this.label}] Error rendering ${pathname}:`, error instanceof Error ? error : undefined);
|
|
91
|
-
const boundary = this.core.
|
|
86
|
+
const boundary = this.core.findErrorBoundary(pathname);
|
|
92
87
|
if (boundary) {
|
|
93
88
|
const result = await this.tryRenderErrorModule(boundary.modulePath, pathname, 'boundary');
|
|
94
89
|
if (result)
|
|
95
90
|
return result;
|
|
96
91
|
}
|
|
97
|
-
const errorHandler = this.core.
|
|
92
|
+
const errorHandler = this.core.getErrorHandler();
|
|
98
93
|
if (errorHandler) {
|
|
99
94
|
const result = await this.tryRenderErrorModule(errorHandler.modulePath, pathname, 'handler');
|
|
100
95
|
if (result)
|
|
@@ -113,9 +108,9 @@ export class SsrRenderer {
|
|
|
113
108
|
let lastRenderedPattern = '';
|
|
114
109
|
for (let i = 0; i < hierarchy.length; i++) {
|
|
115
110
|
const routePattern = hierarchy[i];
|
|
116
|
-
let route = this.core.
|
|
117
|
-
if (!route && routePattern ===
|
|
118
|
-
route =
|
|
111
|
+
let route = this.core.findRoute(routePattern);
|
|
112
|
+
if (!route && routePattern === '/') {
|
|
113
|
+
route = DEFAULT_ROOT_ROUTE;
|
|
119
114
|
}
|
|
120
115
|
if (!route)
|
|
121
116
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/ssr/ssr.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"ssr.renderer.js","sourceRoot":"","sources":["../../../../src/renderer/ssr/ssr.renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Route Tree Utilities
|
|
3
|
+
*
|
|
4
|
+
* Pure functions for building a RouteNode tree from filesystem paths.
|
|
5
|
+
*/
|
|
6
|
+
import type { RouteNode } from '../type/route-tree.type.ts';
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the target node for a page or redirect file based on its name.
|
|
9
|
+
*
|
|
10
|
+
* - "index" at root → the node itself (root route)
|
|
11
|
+
* - "index" in a subdirectory → wildcard catch-all on the node
|
|
12
|
+
* - "[param]" → dynamic child
|
|
13
|
+
* - anything else → static child
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveTargetNode(node: RouteNode, name: string, isRoot: boolean): RouteNode;
|