@hozu/runtime-server 0.8.0 → 0.10.0
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/app.d.ts +6 -4
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -2
- package/dist/app.js.map +1 -1
- package/dist/components.d.ts +3 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/components.js +10 -0
- package/dist/components.js.map +1 -0
- package/dist/dev-node.d.ts +3 -0
- package/dist/dev-node.d.ts.map +1 -0
- package/dist/dev-node.js +18 -0
- package/dist/dev-node.js.map +1 -0
- package/dist/forms.js +1 -1
- package/dist/forms.js.map +1 -1
- package/dist/generate.d.ts +1 -1
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +15 -17
- package/dist/generate.js.map +1 -1
- package/dist/handler.d.ts +4 -3
- package/dist/handler.d.ts.map +1 -1
- package/dist/handler.js +61 -8
- package/dist/handler.js.map +1 -1
- package/dist/images.js +1 -1
- package/dist/images.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lower.js +1 -1
- package/dist/lower.js.map +1 -1
- package/dist/render.d.ts +6 -3
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +54 -36
- package/dist/render.js.map +1 -1
- package/dist/rendered.d.ts +2 -2
- package/dist/rendered.d.ts.map +1 -1
- package/dist/rendered.js +7 -5
- package/dist/rendered.js.map +1 -1
- package/dist/shape.js +1 -1
- package/dist/shape.js.map +1 -1
- package/dist/static.d.ts +4 -4
- package/dist/static.d.ts.map +1 -1
- package/dist/static.js +4 -4
- package/dist/static.js.map +1 -1
- package/package.json +6 -6
package/dist/app.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import type { DevOptions } from '@hozu/core/ir';
|
|
1
2
|
import { type BuildResult, type ImageSet, type Manifest } from '@hozu/core/ir';
|
|
2
3
|
import type { HandlerOptions } from './handler.ts';
|
|
3
|
-
import type {
|
|
4
|
+
import type { ComponentBundle, Stylesheet } from './render.ts';
|
|
4
5
|
import type { RenderModule } from './rendered.ts';
|
|
5
6
|
import type { SessionStore } from './session.ts';
|
|
6
7
|
declare const APP: unique symbol;
|
|
7
|
-
export interface AppOptions extends Omit<HandlerOptions, 'build' | 'styles' | '
|
|
8
|
-
|
|
8
|
+
export interface AppOptions extends Omit<HandlerOptions, 'build' | 'styles' | 'components' | 'env' | 'readFile' | 'manifest' | 'render' | 'images'> {
|
|
9
|
+
components?: (build: BuildResult) => Promise<ComponentBundle>;
|
|
9
10
|
}
|
|
10
11
|
export interface App {
|
|
11
12
|
readonly [APP]: AppOptions;
|
|
@@ -15,10 +16,11 @@ export interface AppHost {
|
|
|
15
16
|
manifest?: Manifest;
|
|
16
17
|
render?: RenderModule;
|
|
17
18
|
styles?: Stylesheet | null;
|
|
18
|
-
|
|
19
|
+
components?: ComponentBundle | null;
|
|
19
20
|
images?: ImageSet | null;
|
|
20
21
|
readFile?: (file: string) => Promise<Uint8Array>;
|
|
21
22
|
session?: SessionStore;
|
|
23
|
+
dev?: DevOptions;
|
|
22
24
|
}
|
|
23
25
|
export declare const app: (options: AppOptions) => App;
|
|
24
26
|
export declare const appOptionsOf: (value: unknown) => AppOptions | null;
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAgB,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAgB,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,QAAA,MAAM,GAAG,eAAyB,CAAA;AAElC,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,cAAc,EACd,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAC1F;IACD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1B,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACnC,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAChD,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB;AAED,eAAO,MAAM,GAAG,YAAa,UAAU,KAAG,GAAwC,CAAA;AAElF,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,UAAU,GAAG,IACkC,CAAA;AAE7F,eAAO,MAAM,YAAY,MAAO,GAAG,KAAG,OAAkD,CAAA;AAExF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,GAAE,OAAY,GAAG,cAAc,CAO5E"}
|
package/dist/app.js
CHANGED
|
@@ -5,9 +5,9 @@ export const app = (options) => Object.freeze({ [APP]: options });
|
|
|
5
5
|
export const appOptionsOf = (value) => typeof value === 'object' && value !== null ? (value[APP] ?? null) : null;
|
|
6
6
|
export const projectOfApp = (a) => resolverSetOf(a[APP].resolvers).project;
|
|
7
7
|
export function appHandlerOptions(a, host = {}) {
|
|
8
|
-
const {
|
|
8
|
+
const { components: _, ...options } = a[APP];
|
|
9
9
|
const build = buildProject(projectOfApp(a), {
|
|
10
|
-
sources:
|
|
10
|
+
sources: host.dev !== undefined,
|
|
11
11
|
...(host.manifest ? { manifest: host.manifest } : {}),
|
|
12
12
|
});
|
|
13
13
|
return { ...options, ...host, build };
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,YAAY,EAAgC,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM1C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AA0BlC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,OAAmB,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAqB,EAAE,CAChE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,KAAsB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAE7F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAA;AAExF,MAAM,UAAU,iBAAiB,CAAC,CAAM,EAAE,IAAI,GAAY,EAAE;IAC1D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QAC1C,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS;QAC/B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC,CAAA;IACF,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAA;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAwB,MAAM,eAAe,CAAA;AAEpE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,QAQhG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { usedClientComponents } from '@hozu/core/ir';
|
|
2
|
+
export function assertComponentBundle(ir, urls, given) {
|
|
3
|
+
const missing = usedClientComponents(ir).filter((ref) => !urls[ref]);
|
|
4
|
+
if (!missing.length)
|
|
5
|
+
return;
|
|
6
|
+
throw new Error(given
|
|
7
|
+
? `The component bundle has no client code for ${missing.join(', ')}; check the diagnostics of bundleComponents (HZ029).`
|
|
8
|
+
: `Client components ${missing.join(', ')} are used in views, but no component bundle was given, so their client code would never load. Pass \`components: await bundleComponents(build)\` from @hozu/bundle (npm install @hozu/bundle), or serve the output of \`hozu build\`.`);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,UAAU,qBAAqB,CAAC,EAAa,EAAE,IAA4B,EAAE,KAAc;IAC/F,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACpE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAM;IAC3B,MAAM,IAAI,KAAK,CACb,KAAK;QACH,CAAC,CAAC,+CAA+C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD;QACzH,CAAC,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uOAAuO,CACnR,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type BuildResult, type DevNode, type DevOptions } from '@hozu/core/ir';
|
|
2
|
+
export declare function devNode(build: BuildResult, id: string, dev: DevOptions, readFile?: (file: string) => Promise<Uint8Array>): Promise<DevNode | null>;
|
|
3
|
+
//# sourceMappingURL=dev-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-node.d.ts","sourceRoot":"","sources":["../src/dev-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,eAAe,CAAA;AAE3F,wBAAsB,OAAO,CAC3B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,UAAU,EACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,GAC/C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAazB"}
|
package/dist/dev-node.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { locateNode } from '@hozu/core/ir';
|
|
2
|
+
export async function devNode(build, id, dev, readFile) {
|
|
3
|
+
const found = locateNode(build, id, dev);
|
|
4
|
+
if (!found?.location || !readFile)
|
|
5
|
+
return found;
|
|
6
|
+
try {
|
|
7
|
+
const path = found.location.file.startsWith('/')
|
|
8
|
+
? found.location.file
|
|
9
|
+
: `${dev.root.replace(/\/$/, '')}/${found.location.file}`;
|
|
10
|
+
const all = new TextDecoder().decode(await readFile(path)).split('\n');
|
|
11
|
+
const start = Math.max(1, found.location.line - 3);
|
|
12
|
+
return { ...found, excerpt: { start, lines: all.slice(start - 1, start + 6) } };
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return found;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=dev-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-node.js","sourceRoot":"","sources":["../src/dev-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,UAAU,EAAE,MAAM,eAAe,CAAA;AAE3F,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAkB,EAClB,EAAU,EACV,GAAe,EACf,QAAgD;IAEhD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI;YACrB,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC3D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAClD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAA;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
|
package/dist/forms.js
CHANGED
package/dist/forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,EACX,YAAY,GAIb,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,KAAK,EACL,KAAK,EACL,IAAI,EAGJ,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAc,EAAE;IAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"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"}
|
package/dist/generate.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export declare const OPEN = "<!--[-->";
|
|
|
5
5
|
export declare const CLOSE = "<!--]-->";
|
|
6
6
|
export declare const renderKey: (route: string, node: string, island: boolean, sep: boolean) => string;
|
|
7
7
|
export declare const separated: (list: ViewNode[], i: number) => boolean;
|
|
8
|
-
export declare function generateRender(build: BuildResult, images?: Variants | null): string;
|
|
8
|
+
export declare function generateRender(build: BuildResult, images?: Variants | null, dev?: boolean): string;
|
|
9
9
|
//# sourceMappingURL=generate.d.ts.map
|
package/dist/generate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,EAQhB,KAAK,QAAQ,EAEd,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGvD,eAAO,MAAM,GAAG,YAAY,CAAA;AAC5B,eAAO,MAAM,IAAI,aAAa,CAAA;AAC9B,eAAO,MAAM,KAAK,aAAa,CAAA;AAK/B,eAAO,MAAM,SAAS,UAAW,MAAM,QAAQ,MAAM,UAAU,OAAO,OAAO,OAAO,WAChC,CAAA;AAOpD,eAAO,MAAM,SAAS,SAAU,QAAQ,EAAE,KAAK,MAAM,YAAiC,CAAA;AA2VtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,GAAE,QAAQ,GAAG,IAAW,EAAE,GAAG,UAAQ,GAAG,MAAM,CA+CtG"}
|
package/dist/generate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { planRoute } from '@hozu/compiler';
|
|
2
|
-
import { FORM_FIELD, formRunnable, voidTags, } from '@hozu/core/ir';
|
|
2
|
+
import { componentOf, FORM_FIELD, formRunnable, voidTags, } from '@hozu/core/ir';
|
|
3
3
|
import { attrText, text } from '@hozu/runtime-client';
|
|
4
4
|
import { escapeHtml } from './escape.js';
|
|
5
5
|
import { responsive } from './images.js';
|
|
@@ -15,13 +15,6 @@ const staticAttr = (name, x) => {
|
|
|
15
15
|
return s === null ? '' : s === '' ? ` ${name}` : ` ${name}="${escapeHtml(s)}"`;
|
|
16
16
|
};
|
|
17
17
|
export const separated = (list, i) => list[i + 1]?.kind === 'text';
|
|
18
|
-
function widgetsOf(ir) {
|
|
19
|
-
const out = {};
|
|
20
|
-
for (const f of Object.values(ir.features))
|
|
21
|
-
for (const [sym, w] of Object.entries(f.widgets ?? {}))
|
|
22
|
-
out[`${f.id}.${sym}`] = w;
|
|
23
|
-
return out;
|
|
24
|
-
}
|
|
25
18
|
function embeddedRoot(site, view) {
|
|
26
19
|
const dot = view.indexOf('.');
|
|
27
20
|
const root = site.ir.features[view.slice(0, dot)]?.views[view.slice(dot + 1)]?.root;
|
|
@@ -36,7 +29,7 @@ function suspends(site, n, seen = new Set()) {
|
|
|
36
29
|
return true;
|
|
37
30
|
case 'el':
|
|
38
31
|
case 'when':
|
|
39
|
-
case '
|
|
32
|
+
case 'component':
|
|
40
33
|
return n.children.some((c) => suspends(site, c, seen));
|
|
41
34
|
case 'if':
|
|
42
35
|
return [...n.ifTrue, ...n.ifFalse].some((c) => suspends(site, c, seen));
|
|
@@ -201,6 +194,8 @@ class Emitter {
|
|
|
201
194
|
}
|
|
202
195
|
case 'el': {
|
|
203
196
|
this.lit(`<${n.tag}`);
|
|
197
|
+
if (this.site.dev)
|
|
198
|
+
this.lit(staticAttr('data-hz', n.id));
|
|
204
199
|
this.classAndStyle(n);
|
|
205
200
|
let content = null;
|
|
206
201
|
for (const [name, v] of Object.entries(n.attrs)) {
|
|
@@ -274,10 +269,12 @@ class Emitter {
|
|
|
274
269
|
case 'global':
|
|
275
270
|
this.lit('<!--g-->');
|
|
276
271
|
return;
|
|
277
|
-
case '
|
|
278
|
-
const tag = site.
|
|
279
|
-
this.code(`r.
|
|
272
|
+
case 'component': {
|
|
273
|
+
const tag = componentOf(site.ir, n.use.component)?.tag ?? 'div';
|
|
274
|
+
this.code(`r.component(${q(n.use.component)})`);
|
|
280
275
|
this.lit(`<${tag}`);
|
|
276
|
+
if (this.site.dev)
|
|
277
|
+
this.lit(staticAttr('data-hz', n.id));
|
|
281
278
|
this.classAndStyle(n);
|
|
282
279
|
this.lit('>');
|
|
283
280
|
const own = island && site.islands.has(n.id);
|
|
@@ -309,8 +306,8 @@ function reachable(site, add) {
|
|
|
309
306
|
}
|
|
310
307
|
switch (n.kind) {
|
|
311
308
|
case 'el':
|
|
312
|
-
case '
|
|
313
|
-
const inner = n.kind === '
|
|
309
|
+
case 'component': {
|
|
310
|
+
const inner = n.kind === 'component' && site.islands.has(n.id) ? false : island;
|
|
314
311
|
n.children.forEach((c, i) => {
|
|
315
312
|
walk(c, inner, separated(n.children, i), depth);
|
|
316
313
|
});
|
|
@@ -340,6 +337,8 @@ function reachable(site, add) {
|
|
|
340
337
|
walk(n.ready, island, false, depth + 1);
|
|
341
338
|
for (const k in n.failed)
|
|
342
339
|
walk(n.failed[k], island, false, depth + 1);
|
|
340
|
+
if (site.dev && n.pending)
|
|
341
|
+
walk(n.pending, island, false, depth);
|
|
343
342
|
return;
|
|
344
343
|
default:
|
|
345
344
|
add(n, island, sep, depth);
|
|
@@ -347,10 +346,9 @@ function reachable(site, add) {
|
|
|
347
346
|
};
|
|
348
347
|
return walk;
|
|
349
348
|
}
|
|
350
|
-
export function generateRender(build, images = null) {
|
|
349
|
+
export function generateRender(build, images = null, dev = false) {
|
|
351
350
|
const { ir } = build;
|
|
352
351
|
const prepare = (root) => (images ? responsive(root, images) : root);
|
|
353
|
-
const widgets = widgetsOf(ir);
|
|
354
352
|
const consts = [];
|
|
355
353
|
const fns = [];
|
|
356
354
|
for (const route of Object.keys(ir.pages)) {
|
|
@@ -359,10 +357,10 @@ export function generateRender(build, images = null) {
|
|
|
359
357
|
ir,
|
|
360
358
|
route,
|
|
361
359
|
islands: new Set(plan.islands),
|
|
362
|
-
widgets,
|
|
363
360
|
prepare,
|
|
364
361
|
consts,
|
|
365
362
|
pending: [],
|
|
363
|
+
dev,
|
|
366
364
|
};
|
|
367
365
|
const done = new Set();
|
|
368
366
|
const add = (n, island, sep, depth) => {
|
package/dist/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAEL,WAAW,EACX,UAAU,EACV,YAAY,EAMZ,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,WAAW,EAAc,OAAO,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAA;AAC9B,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAA;AAE/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAA;AACvC,MAAM,CAAC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAA;AAE1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,MAAe,EAAE,GAAY,EAAE,EAAE,CACtF,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEpD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,CAAO,EAAE,EAAE;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3B,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAA;AAChF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAA;AAYtF,SAAS,YAAY,CAAC,IAAU,EAAE,IAAY;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;IACnF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,EAAE,CAAW,EAAE,IAAI,GAAG,IAAI,GAAG,EAAY;IACnE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACX,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,IAAI,CAAA;QACb,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QACxD,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QACzE,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAClD,CAAC;QACD;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,MAAM,OAAO;IACH,KAAK,GAAa,EAAE,CAAA;IACpB,IAAI,GAAG,EAAE,CAAA;IACT,KAAK,GAAG,CAAC,CAAA;IAET,IAAI,CAAM;IACV,KAAK,CAAQ;IAErB,YAAY,IAAU,EAAE,KAAa;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,CAAS;QACX,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,EAAU;QACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,EAAU;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAA;IAC1C,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,CAAY;QAChB,IAAI,SAAS,IAAI,CAAC;YAChB,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACtG,IAAI,QAAQ,IAAI,CAAC;YACf,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QACnB,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;QACnE,IAAI,MAAM,IAAI,CAAC;YACb,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;QACrG,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,UAAU,IAAI,CAAC;YACjB,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAA;QACxG,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACpE,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;YAAE,OAAO,MAAM,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAA;IACxF,CAAC;IAED,KAAK,CAAC,CAAY;QAChB,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;YACtF,KAAK,IAAI;gBACP,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;YACvF,KAAK,KAAK;gBACR,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;YAChC,KAAK,IAAI;gBACP,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAA;YACjE,SAAS,CAAC;gBACR,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC7B,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;oBACb,KAAK,IAAI;wBACP,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAA;oBAC9B,KAAK,KAAK;wBACR,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAA;oBAC/B,KAAK,IAAI;wBACP,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,CAAA;oBACtC,KAAK,KAAK;wBACR,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAA;oBACvC,KAAK,IAAI;wBACP,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,CAAA;oBACtC;wBACE,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAIb;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/F,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,MAAM,+BAA+B,CAAC,CAAA;QAC7F,CAAC;aAAM,IAAI,CAAC,CAAC,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,IAAI,CAAC,MAAM;YACb,IAAI,CAAC,IAAI,CACP,4BAA4B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAChG,CAAA;IACL,CAAC;IAED,IAAI,CAAC,MAAe,EAAE,KAAiB;QACrC,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1B,KAAK,EAAE,CAAA;QACP,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,IAAgB,EAAE,MAAe,EAAE,KAAa;QACvD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,CAAW,EAAE,KAAa;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClB,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACzB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;QAClG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,CAAC,CAAW,EAAE,MAAe,EAAE,GAAY,EAAE,KAAa;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAC9B,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrC,IAAI,SAAS,IAAI,CAAC,CAAC,KAAK;oBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;qBACvE,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAChB,CAAC;gBACD,OAAM;YACR,CAAC;YACD,KAAK,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;gBACrB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;gBACrB,IAAI,OAAO,GAAqB,IAAI,CAAA;gBACpC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC7C,OAAO,GAAG,CAAC,CAAA;wBACX,SAAQ;oBACV,CAAC;oBACD,IAAI,SAAS,IAAI,CAAC;wBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;;wBACpD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACxD,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;gBACzD,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrE,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;oBACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;oBAC1B,IAAI,CAAC,IAAI,CACP,gEAAgE,CAAC,CAAC,GAAG,UAAU,IAAI,EAAE,EAAE,CAAC,GAAG,CAC5F,CAAA;gBACH,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAAE,OAAM;gBAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,IAAI,SAAS,IAAI,OAAO;wBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;;wBAChE,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAChE,CAAC;;oBAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAA;oBACpF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;oBACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBACrB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAA;oBAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACpD,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,kBAAkB,KAAK,OAAO,IAAI,KAAK,CAAC,CAAA;oBAC3E,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBACrB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;oBACvC,IAAI,CAAC,IAAI;wBAAE,OAAM;oBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;oBAC3C,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9C,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAA;gBACpG,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;oBACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;oBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBACpE,OAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACpB,OAAM;YACR,KAAK,WAAW,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,KAAK,CAAA;gBAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC/D,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;gBACrB,OAAM;YACR,CAAC;YACD;gBACE,OAAM;QACV,CAAC;IACH,CAAC;CACF;AAED,SAAS,OAAO,CAAC,KAAY;IAC3B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IACjC,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AACjF,CAAC;AAED,SAAS,SAAS,CAAC,IAAU,EAAE,GAAwE;IACrG,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,MAAe,EAAE,GAAY,EAAE,KAAa,EAAQ,EAAE;QAC/E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,IAAI,CAAC;YACV,KAAK,WAAW,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC/E,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1B,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACjD,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,KAAK,IAAI;gBACP,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;oBACxC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACtB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;oBAC9C,CAAC,CAAC,CAAA;gBACJ,OAAM;YACR,KAAK,MAAM;gBACT,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1B,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAClD,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACrC,OAAM;YACR,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;gBACvC,IAAI,IAAI;oBAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACvC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;oBAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACtE,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO;oBAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;gBAChE,OAAM;YACR;gBACE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,MAAM,GAAoB,IAAI,EAAE,GAAG,GAAG,KAAK;IAC5F,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAA;IACpB,MAAM,OAAO,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACrC,MAAM,IAAI,GAAS;YACjB,EAAE;YACF,KAAK;YACL,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,OAAO;YACP,MAAM;YACN,OAAO,EAAE,EAAE;YACX,GAAG;SACJ,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,MAAM,GAAG,GAAG,CAAC,CAAW,EAAE,MAAe,EAAE,GAAY,EAAE,KAAa,EAAE,EAAE;YACxE,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAM;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAClC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAC7B,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAChG,CAAA;QACH,CAAC,CAAA;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;YAC5E,IAAI,IAAI;gBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAG,CAAA;YACnD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO;QACL,+BAA+B;QAC/B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,cAAc;QACd,GAAG,GAAG;QACN,UAAU;QACV,GAAG;QACH,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
|
package/dist/handler.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { TagUse } from '@hozu/core';
|
|
2
|
-
import { type BuildResult, type ImageSet, type Manifest } from '@hozu/core/ir';
|
|
2
|
+
import { type BuildResult, type DevOptions, type ImageSet, type Manifest } from '@hozu/core/ir';
|
|
3
3
|
import { type OnError, type ResolverSet } from '@hozu/data';
|
|
4
4
|
import { type App, type AppHost } from './app.ts';
|
|
5
5
|
import { type PageCache } from './cache.ts';
|
|
6
|
-
import { type
|
|
6
|
+
import { type ComponentBundle, type Stylesheet } from './render.ts';
|
|
7
7
|
import { type RenderModule } from './rendered.ts';
|
|
8
8
|
import { type CspSources } from './security.ts';
|
|
9
9
|
import { type SessionStore } from './session.ts';
|
|
@@ -13,7 +13,7 @@ export interface HandlerOptions {
|
|
|
13
13
|
session?: ((request: Request) => unknown) | SessionStore;
|
|
14
14
|
now?: () => number;
|
|
15
15
|
styles?: Stylesheet | null;
|
|
16
|
-
|
|
16
|
+
components?: ComponentBundle | null;
|
|
17
17
|
onError?: OnError;
|
|
18
18
|
csp?: CspSources | false;
|
|
19
19
|
cache?: PageCache;
|
|
@@ -27,6 +27,7 @@ export interface HandlerOptions {
|
|
|
27
27
|
};
|
|
28
28
|
og?: ((card: OgCard) => Promise<Uint8Array>) | null;
|
|
29
29
|
render?: RenderModule;
|
|
30
|
+
dev?: DevOptions;
|
|
30
31
|
}
|
|
31
32
|
export interface OgCard {
|
|
32
33
|
title: string;
|
package/dist/handler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,UAAU,EAOf,KAAK,QAAQ,EAGb,KAAK,QAAQ,EAOd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAqB,KAAK,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAGhG,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,OAAO,EAAmC,MAAM,UAAU,CAAA;AAElF,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAMzE,OAAO,EACL,KAAK,eAAe,EAMpB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,EAAE,KAAK,UAAU,EAAgE,MAAM,eAAe,CAAA;AAC7G,OAAO,EAAkB,KAAK,YAAY,EAAgB,MAAM,cAAc,CAAA;AAG9E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAA;IAClB,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,YAAY,CAAA;IACxD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1B,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;IACxB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC9C,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAA;IACnD,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAwBD,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MACiE,CAAA;AAgC5G,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAA;AAC/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA"}
|
package/dist/handler.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { planRoute } from '@hozu/compiler';
|
|
2
|
-
import { canonicalStringify, codes, FORM_FIELD, hashJson, join, publicPath, resolveSource, routeParams, routePattern, routeTable, } from '@hozu/core/ir';
|
|
2
|
+
import { canonicalStringify, codes, FORM_FIELD, hashJson, join, pageTree, publicPath, resolveSource, routeParams, routePattern, routeTable, } from '@hozu/core/ir';
|
|
3
3
|
import { createDataRuntime } from '@hozu/data';
|
|
4
4
|
import { compileValue } from '@hozu/machine';
|
|
5
5
|
import { appHandlerOptions, appOptionsOf } from './app.js';
|
|
6
6
|
import { clientBundle } from './assets.js';
|
|
7
7
|
import { memoryCache } from './cache.js';
|
|
8
|
+
import { assertComponentBundle } from './components.js';
|
|
8
9
|
import { pageEntries, robotsTxt, sitemapXml } from './crawl.js';
|
|
10
|
+
import { devNode } from './dev-node.js';
|
|
9
11
|
import { endpointForm, formFields, formNode, runForm } from './forms.js';
|
|
10
12
|
import { serviceWorker, serviceWorkerRegistration, webManifest } from './pwa.js';
|
|
11
13
|
import { fnsModule, inlineScriptHashes, pathOf, renderPage, renderToString, } from './render.js';
|
|
@@ -15,7 +17,6 @@ import { parseSearch, queryInput } from './search.js';
|
|
|
15
17
|
import { contentSecurityPolicy, crossSite, ERROR_HTML, NOT_FOUND_HTML } from './security.js';
|
|
16
18
|
import { memorySessions, signedCookie } from './session.js';
|
|
17
19
|
import { publicAssets } from './static.js';
|
|
18
|
-
import { assertWidgetBundle } from './widgets.js';
|
|
19
20
|
const mime = {
|
|
20
21
|
'.png': 'image/png',
|
|
21
22
|
'.jpg': 'image/jpeg',
|
|
@@ -73,7 +74,7 @@ const readEffect = async (request) => {
|
|
|
73
74
|
export function createHandler(first, host) {
|
|
74
75
|
return handlerFor(appOptionsOf(first) ? appHandlerOptions(first, host) : first);
|
|
75
76
|
}
|
|
76
|
-
function handlerFor({ build, resolvers, session: sessionOption, now = Date.now, styles = null,
|
|
77
|
+
function handlerFor({ build, resolvers, session: sessionOption, now = Date.now, styles = null, components = null, onError = (error, info) => console.error('[hozu]', info, error), csp = {}, cache = memoryCache(), readFile, manifest, images = null, env: rawEnv = {}, preview, og = null, render, dev, }) {
|
|
77
78
|
const generated = render ? instantiate(render) : undefined;
|
|
78
79
|
const cards = new Map();
|
|
79
80
|
const ogImage = (url) => {
|
|
@@ -136,9 +137,9 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
136
137
|
: async (request) => sessionOption?.(request) ?? null;
|
|
137
138
|
const { basePath, redirects, headers: headerRules } = ir.http;
|
|
138
139
|
const assets = manifest
|
|
139
|
-
? publicAssets(basePath, manifest.styles, Object.fromEntries(Object.entries(manifest.
|
|
140
|
-
: publicAssets(basePath, styles,
|
|
141
|
-
|
|
140
|
+
? publicAssets(basePath, manifest.styles, Object.fromEntries(Object.entries(manifest.components).map(([k, c]) => [k, c.url])))
|
|
141
|
+
: publicAssets(basePath, styles, components?.urls ?? {});
|
|
142
|
+
assertComponentBundle(ir, assets.components, Boolean(manifest || components));
|
|
142
143
|
const data = createDataRuntime({ build, resolvers, now, onError, env: rawEnv });
|
|
143
144
|
const scopes = new WeakMap();
|
|
144
145
|
const dataFor = (request) => {
|
|
@@ -251,6 +252,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
251
252
|
try {
|
|
252
253
|
const { html, tags, status, redirect } = await renderToString({
|
|
253
254
|
build,
|
|
255
|
+
dev: dev !== undefined,
|
|
254
256
|
data,
|
|
255
257
|
route,
|
|
256
258
|
params,
|
|
@@ -355,6 +357,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
355
357
|
const head = request.method === 'HEAD';
|
|
356
358
|
const statusOf = (s) => (missing ? 404 : s);
|
|
357
359
|
const inPreview = previewing.get(request) === true;
|
|
360
|
+
const devState = dev ? devStateOf(request) : null;
|
|
358
361
|
const plan = planRoute(ir, route).plan;
|
|
359
362
|
if (inPreview)
|
|
360
363
|
Object.assign(headers, { 'cache-control': 'private, no-store', 'x-robots-tag': 'noindex' });
|
|
@@ -364,7 +367,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
364
367
|
Object.assign(headers, privately(true));
|
|
365
368
|
else
|
|
366
369
|
Object.assign(headers, { 'cache-control': 'no-cache' });
|
|
367
|
-
if (!inPreview && plan.cacheable) {
|
|
370
|
+
if (!inPreview && !devState && plan.cacheable) {
|
|
368
371
|
let cached = await cache.get(path);
|
|
369
372
|
let state = 'hit';
|
|
370
373
|
if (!cached) {
|
|
@@ -387,6 +390,8 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
387
390
|
}
|
|
388
391
|
const rendered = await renderPage({
|
|
389
392
|
build,
|
|
393
|
+
dev: dev !== undefined,
|
|
394
|
+
devState,
|
|
390
395
|
data,
|
|
391
396
|
scope: await dataFor(request),
|
|
392
397
|
route,
|
|
@@ -440,6 +445,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
440
445
|
}
|
|
441
446
|
const rendered = await renderPage({
|
|
442
447
|
build,
|
|
448
|
+
dev: dev !== undefined,
|
|
443
449
|
data,
|
|
444
450
|
scope,
|
|
445
451
|
route: found.route,
|
|
@@ -614,6 +620,36 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
614
620
|
const result = await scope.run(query, input);
|
|
615
621
|
return json(result, privately(scope.readSession));
|
|
616
622
|
}
|
|
623
|
+
if (dev &&
|
|
624
|
+
(path === '/_hozu/dev/node' ||
|
|
625
|
+
path === '/_hozu/dev/page' ||
|
|
626
|
+
path === '/_hozu/dev/styles' ||
|
|
627
|
+
path === '/_hozu/dev/tree')) {
|
|
628
|
+
if (!/^(127\.0\.0\.1|localhost|\[::1\])$/.test(url.hostname))
|
|
629
|
+
return new Response('Hozu DevTools answers only this machine', { status: 403 });
|
|
630
|
+
if (path === '/_hozu/dev/tree') {
|
|
631
|
+
const found = match(split(url.searchParams.get('path') ?? '/').rest);
|
|
632
|
+
const tree = found ? pageTree(build, found.route) : null;
|
|
633
|
+
return new Response(JSON.stringify(tree), {
|
|
634
|
+
status: tree ? 200 : 404,
|
|
635
|
+
headers: { 'content-type': 'application/json', 'cache-control': 'no-store' },
|
|
636
|
+
});
|
|
637
|
+
}
|
|
638
|
+
if (path === '/_hozu/dev/styles') {
|
|
639
|
+
const entry = build.bindings.styles.entry;
|
|
640
|
+
const css = entry && readFile
|
|
641
|
+
? new TextDecoder().decode(await readFile(entry).catch(() => new Uint8Array()))
|
|
642
|
+
: '';
|
|
643
|
+
return new Response(css, { headers: { 'content-type': 'text/css', 'cache-control': 'no-store' } });
|
|
644
|
+
}
|
|
645
|
+
const page = path === '/_hozu/dev/page' ? match(split(url.searchParams.get('path') ?? '/').rest)?.route : null;
|
|
646
|
+
const id = path === '/_hozu/dev/page' ? (page ? `page:${page}` : '') : (url.searchParams.get('id') ?? '');
|
|
647
|
+
const found = await devNode(build, id, dev, readFile);
|
|
648
|
+
return new Response(JSON.stringify(found), {
|
|
649
|
+
status: found ? 200 : 404,
|
|
650
|
+
headers: { 'content-type': 'application/json', 'cache-control': 'no-store' },
|
|
651
|
+
});
|
|
652
|
+
}
|
|
617
653
|
if (path === '/_hozu/live')
|
|
618
654
|
return live(url);
|
|
619
655
|
if (path === '/manifest.webmanifest' && manifestText)
|
|
@@ -655,7 +691,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
655
691
|
'cache-control': IMMUTABLE,
|
|
656
692
|
},
|
|
657
693
|
});
|
|
658
|
-
const script =
|
|
694
|
+
const script = components?.files[path];
|
|
659
695
|
if (script !== undefined)
|
|
660
696
|
return text('text/javascript', script, head, IMMUTABLE);
|
|
661
697
|
if (styles && path === styles.href)
|
|
@@ -704,6 +740,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
704
740
|
try {
|
|
705
741
|
html = (await renderToString({
|
|
706
742
|
build,
|
|
743
|
+
dev: dev !== undefined,
|
|
707
744
|
data,
|
|
708
745
|
route: ir.error,
|
|
709
746
|
assets,
|
|
@@ -723,4 +760,20 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
|
|
|
723
760
|
},
|
|
724
761
|
};
|
|
725
762
|
}
|
|
763
|
+
function devStateOf(request) {
|
|
764
|
+
const raw = /(?:^|;\s*)hozu-dev-state=([^;]+)/.exec(request.headers.get('cookie') ?? '')?.[1];
|
|
765
|
+
if (!raw)
|
|
766
|
+
return null;
|
|
767
|
+
try {
|
|
768
|
+
const v = JSON.parse(decodeURIComponent(raw));
|
|
769
|
+
if (typeof v.query === 'string' && typeof v.branch === 'string')
|
|
770
|
+
return { query: v.query, branch: v.branch };
|
|
771
|
+
if (typeof v.feature === 'string' && typeof v.state === 'string')
|
|
772
|
+
return v.context && typeof v.context === 'object' && !Array.isArray(v.context)
|
|
773
|
+
? { feature: v.feature, state: v.state, context: v.context }
|
|
774
|
+
: { feature: v.feature, state: v.state };
|
|
775
|
+
}
|
|
776
|
+
catch { }
|
|
777
|
+
return null;
|
|
778
|
+
}
|
|
726
779
|
//# sourceMappingURL=handler.js.map
|