@hozu/runtime-server 0.12.0 → 0.14.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.map CHANGED
@@ -1 +1 @@
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;AAC5F,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,YAAY,CAAA;AAC5D,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;IAChB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;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"}
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;AACzG,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,YAAY,CAAA;AAC5D,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;IAChB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;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,CAQ5E"}
package/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { buildProject } from '@hozu/core/ir';
1
+ import { appModuleOf, buildProject } from '@hozu/core/ir';
2
2
  import { resolverSetOf } from '@hozu/data';
3
3
  const APP = Symbol.for('hozu.app');
4
4
  export const app = (options) => Object.freeze({ [APP]: options });
@@ -10,6 +10,7 @@ export function appHandlerOptions(a, host = {}) {
10
10
  sources: host.dev !== undefined,
11
11
  ...(host.manifest ? { manifest: host.manifest } : {}),
12
12
  });
13
- return { ...options, ...host, build };
13
+ const dev = host.dev ? { dev: { ...host.dev, app: host.dev.app ?? appModuleOf(projectOfApp(a)) } } : {};
14
+ return { ...options, ...host, ...dev, build };
14
15
  }
15
16
  //# sourceMappingURL=app.js.map
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,YAAY,EAAgC,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAA;AAM5D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AA2BlC,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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,YAAY,EAAgC,MAAM,eAAe,CAAA;AACzG,OAAO,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAA;AAM5D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AA2BlC,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,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACvG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAA;AAC/C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { DevEffect, DevOptions, ProjectIR } from '@hozu/core/ir';
2
+ /** Fills in where each effect is implemented: its `implement(...)` in the app module, or its `fetch.ts` export. */
3
+ export declare function implementedAt(effects: DevEffect[] | null, dev: DevOptions, fetches: Record<string, string>, readFile: ((file: string) => Promise<Uint8Array>) | undefined): Promise<DevEffect[] | null>;
4
+ /** An endpoint for the DevTools API drawer: its declared method, path and input. */
5
+ export interface DevEndpoint {
6
+ ref: string;
7
+ method: 'GET' | 'POST';
8
+ path: string;
9
+ input: unknown;
10
+ raw: boolean;
11
+ mode: string;
12
+ }
13
+ export declare function projectEndpoints(ir: ProjectIR): DevEndpoint[];
14
+ //# sourceMappingURL=dev-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-effects.d.ts","sourceRoot":"","sources":["../src/dev-effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIrE,mHAAmH;AACnH,wBAAsB,aAAa,CACjC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,GAC5D,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CA6B7B;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,EAAE,CAW7D"}
@@ -0,0 +1,41 @@
1
+ const literal = (s) => s.replace(/[$]/g, '\\$&');
2
+ /** Fills in where each effect is implemented: its `implement(...)` in the app module, or its `fetch.ts` export. */
3
+ export async function implementedAt(effects, dev, fetches, readFile) {
4
+ if (!effects || !readFile)
5
+ return effects;
6
+ const texts = new Map();
7
+ const lines = (file) => {
8
+ let text = texts.get(file);
9
+ if (!text) {
10
+ text = readFile(file)
11
+ .then((bytes) => new TextDecoder().decode(bytes).split('\n'))
12
+ .catch(() => null);
13
+ texts.set(file, text);
14
+ }
15
+ return text;
16
+ };
17
+ const relative = (file) => file.startsWith(`${dev.root}/`) ? file.slice(dev.root.length + 1) : file;
18
+ return Promise.all(effects.map(async (e) => {
19
+ const dot = e.ref.indexOf('.');
20
+ const sym = literal(e.ref.slice(dot + 1));
21
+ const file = e.runs === 'server' ? dev.app : fetches[e.ref.slice(0, dot)];
22
+ if (!file)
23
+ return e;
24
+ const pattern = e.runs === 'server'
25
+ ? new RegExp(`implement\\(\\s*(?:[\\w$]+\\.)?${sym}\\b`)
26
+ : new RegExp(`export const ${sym}\\b`);
27
+ const at = (await lines(file))?.findIndex((l) => pattern.test(l)) ?? -1;
28
+ return at < 0 ? e : { ...e, implemented: { file: relative(file), line: at + 1, column: 1 } };
29
+ }));
30
+ }
31
+ export function projectEndpoints(ir) {
32
+ return Object.values(ir.features).flatMap((f) => Object.entries(f.endpoints).map(([sym, e]) => ({
33
+ ref: `${f.id}.${sym}`,
34
+ method: e.method,
35
+ path: ir.http.basePath + e.path,
36
+ input: e.raw ? null : (f.schemas[e.input] ?? null),
37
+ raw: e.raw === true,
38
+ mode: e.mode,
39
+ })));
40
+ }
41
+ //# sourceMappingURL=dev-effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-effects.js","sourceRoot":"","sources":["../src/dev-effects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /** An outgoing request made while developing (ADR 0050 G): what an effect really sent and got back. */
2
+ export interface TraceEntry {
3
+ id: number;
4
+ method: string;
5
+ url: string;
6
+ requestHeaders: [string, string][];
7
+ requestBody: string | null;
8
+ status: number | null;
9
+ responseHeaders: [string, string][];
10
+ responseBody: string | null;
11
+ ms: number;
12
+ error: string | null;
13
+ }
14
+ /** Wraps `fetch` once, in development only, keeping the last 200 outgoing requests. */
15
+ export declare function traceFetch(): void;
16
+ /** The requests after `after` (an id), and the last id so far. */
17
+ export declare const traced: (after: number) => {
18
+ last: number;
19
+ entries: TraceEntry[];
20
+ };
21
+ //# sourceMappingURL=dev-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-trace.d.ts","sourceRoot":"","sources":["../src/dev-trace.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAaD,uFAAuF;AACvF,wBAAgB,UAAU,SA+CzB;AA0BD,kEAAkE;AAClE,eAAO,MAAM,MAAM,UAAW,MAAM;IAAQ,IAAI;IAAY,OAAO;CAAwC,CAAA"}
@@ -0,0 +1,86 @@
1
+ const LIMIT = 200;
2
+ const BODY = 8_000;
3
+ const entries = [];
4
+ let next = 1;
5
+ let installed = false;
6
+ const cut = (text) => text === null ? null : text.length > BODY ? `${text.slice(0, BODY)}… (${text.length} characters)` : text;
7
+ const textual = (type) => !type || /json|text|xml|urlencoded|javascript/.test(type);
8
+ /** Wraps `fetch` once, in development only, keeping the last 200 outgoing requests. */
9
+ export function traceFetch() {
10
+ if (installed)
11
+ return;
12
+ installed = true;
13
+ const original = globalThis.fetch;
14
+ globalThis.fetch = async (input, init) => {
15
+ const request = new Request(input, init);
16
+ const entry = {
17
+ id: next++,
18
+ method: request.method,
19
+ url: request.url,
20
+ requestHeaders: [...request.headers],
21
+ requestBody: request.body
22
+ ? cut(await request
23
+ .clone()
24
+ .text()
25
+ .catch(() => null))
26
+ : null,
27
+ status: null,
28
+ responseHeaders: [],
29
+ responseBody: null,
30
+ ms: 0,
31
+ error: null,
32
+ };
33
+ const started = performance.now();
34
+ const done = () => {
35
+ entry.ms = Math.round(performance.now() - started);
36
+ entries.push(entry);
37
+ if (entries.length > LIMIT)
38
+ entries.shift();
39
+ };
40
+ let response;
41
+ try {
42
+ response = await original(request);
43
+ }
44
+ catch (error) {
45
+ entry.error = error instanceof Error ? error.message : String(error);
46
+ done();
47
+ throw error;
48
+ }
49
+ entry.status = response.status;
50
+ entry.responseHeaders = [...response.headers];
51
+ done();
52
+ void capture(response.clone()).then((body) => {
53
+ entry.responseBody = body;
54
+ });
55
+ return response;
56
+ };
57
+ }
58
+ /** At most BODY characters of a textual body, read beside the caller; a stream is never waited for. */
59
+ async function capture(response) {
60
+ const type = response.headers.get('content-type');
61
+ if (!textual(type) || /event-stream/.test(type ?? '')) {
62
+ void response.body?.cancel().catch(() => { });
63
+ return `(${type ?? 'body'})`;
64
+ }
65
+ const reader = response.body?.getReader();
66
+ if (!reader)
67
+ return null;
68
+ const decoder = new TextDecoder();
69
+ let text = '';
70
+ try {
71
+ while (text.length <= BODY) {
72
+ const { done, value } = await reader.read();
73
+ if (done)
74
+ break;
75
+ text += decoder.decode(value, { stream: true });
76
+ }
77
+ }
78
+ catch {
79
+ return cut(text) || null;
80
+ }
81
+ void reader.cancel().catch(() => { });
82
+ return cut(text);
83
+ }
84
+ /** The requests after `after` (an id), and the last id so far. */
85
+ export const traced = (after) => ({ last: next - 1, entries: entries.filter((e) => e.id > after) });
86
+ //# sourceMappingURL=dev-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-trace.js","sourceRoot":"","sources":["../src/dev-trace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
package/dist/handler.js CHANGED
@@ -8,7 +8,9 @@ import { localBus } from './bus.js';
8
8
  import { memoryCache } from './cache.js';
9
9
  import { assertComponentBundle, assertFetchBundle } from './components.js';
10
10
  import { pageEntries, robotsTxt, sitemapXml } from './crawl.js';
11
+ import { implementedAt, projectEndpoints } from './dev-effects.js';
11
12
  import { devNode } from './dev-node.js';
13
+ import { traced, traceFetch } from './dev-trace.js';
12
14
  import { fnModules } from './fn-modules.js';
13
15
  import { endpointForm, formFields, formNode, runForm } from './forms.js';
14
16
  import { serviceWorker, serviceWorkerRegistration, webManifest } from './pwa.js';
@@ -16,7 +18,7 @@ import { inlineScriptHashes, pathOf, renderPage, renderToString, } from './rende
16
18
  import { instantiate } from './rendered.js';
17
19
  import { matcher } from './routing.js';
18
20
  import { parseSearch, queryInput } from './search.js';
19
- import { contentSecurityPolicy, crossSite, ERROR_HTML, NOT_FOUND_HTML } from './security.js';
21
+ import { connectOrigins, contentSecurityPolicy, crossSite, ERROR_HTML, NOT_FOUND_HTML, needsJavaScriptHtml, } from './security.js';
20
22
  import { memorySessions, signedCookie } from './session.js';
21
23
  import { publicAssets } from './static.js';
22
24
  const mime = {
@@ -114,6 +116,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
114
116
  if (parsedPublic && !parsedPublic.ok)
115
117
  throw new Error(`Invalid public environment: ${parsedPublic.issues.join('; ')}`);
116
118
  const publicEnv = (parsedPublic?.ok ? parsedPublic.value : {});
119
+ const connect = connectOrigins(build.ir, publicEnv);
117
120
  const variants = manifest?.images ?? images?.variants ?? null;
118
121
  if (manifest && manifest.irHash !== hashJson(build.ir))
119
122
  throw new Error('The build manifest does not match this project; run `hozu build` again');
@@ -137,6 +140,8 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
137
140
  const session = store
138
141
  ? (request) => store.read(request)
139
142
  : async (request) => sessionOption?.(request) ?? null;
143
+ if (dev)
144
+ traceFetch();
140
145
  const { basePath, redirects, headers: headerRules } = ir.http;
141
146
  const fnFiles = fnModules(build);
142
147
  const fnUrls = Object.fromEntries(Object.entries(fnFiles).map(([name, m]) => [name, m.path]));
@@ -199,7 +204,7 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
199
204
  ? Promise.resolve(base)
200
205
  : inlineScriptHashes(ir).then((hashes) => ({
201
206
  ...base,
202
- 'content-security-policy': contentSecurityPolicy(csp, hashes),
207
+ 'content-security-policy': contentSecurityPolicy({ ...csp, connect: [...new Set([...(csp.connect ?? []), ...connect])] }, hashes),
203
208
  })));
204
209
  const match = matcher(build);
205
210
  const table = routeTable(ir);
@@ -475,11 +480,14 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
475
480
  });
476
481
  if (!outcome)
477
482
  return notAllowed();
483
+ const back = pathOf(tableOf(locale)[found.route] ?? url.pathname, found.params, search);
478
484
  if (outcome.needsBrowser)
479
- return plain(400, `This form needs JavaScript: ${outcome.needsBrowser} runs in the browser`);
485
+ return new Response(needsJavaScriptHtml(outcome.needsBrowser, back), {
486
+ status: 400,
487
+ headers: { 'content-type': 'text/html; charset=utf-8', ...(await secureHeaders()) },
488
+ });
480
489
  await dropPages(outcome.invalidated);
481
490
  const cookie = store && outcome.session ? await store.write(outcome.session.value, request) : null;
482
- const back = pathOf(tableOf(locale)[found.route] ?? url.pathname, found.params, search);
483
491
  const target = outcome.invalid ? null : (outcome.navigate ?? (outcome.unchanged ? back : null));
484
492
  if (target) {
485
493
  after(outcome.invalidated);
@@ -671,15 +679,45 @@ function handlerFor({ build, resolvers, session: sessionOption, now = Date.now,
671
679
  path === '/_hozu/dev/page' ||
672
680
  path === '/_hozu/dev/styles' ||
673
681
  path === '/_hozu/dev/tree' ||
674
- path === '/_hozu/dev/effects')) {
682
+ path === '/_hozu/dev/effects' ||
683
+ path === '/_hozu/dev/trace' ||
684
+ path === '/_hozu/dev/endpoints' ||
685
+ path === '/_hozu/dev/session')) {
675
686
  if (!/^(127\.0\.0\.1|localhost|\[::1\])$/.test(url.hostname))
676
687
  return new Response('Hozu DevTools answers only this machine', { status: 403 });
688
+ const devJson = (body, init = {}) => new Response(JSON.stringify(body), {
689
+ status: init.status ?? 200,
690
+ headers: { 'content-type': 'application/json', 'cache-control': 'no-store', ...init.headers },
691
+ });
692
+ if (path === '/_hozu/dev/trace') {
693
+ const after = url.searchParams.get('after');
694
+ return devJson(traced(after === 'latest' ? Number.POSITIVE_INFINITY : Number(after ?? 0)));
695
+ }
696
+ if (path === '/_hozu/dev/endpoints')
697
+ return devJson(projectEndpoints(ir));
698
+ if (path === '/_hozu/dev/session') {
699
+ if (!store || !ir.session)
700
+ return devJson({ declared: false, schema: null, current: null });
701
+ if (request.method === 'POST') {
702
+ const { session: value } = (await request.json());
703
+ const issues = value === null ? null : (build.bindings.checks['#session']?.(value) ?? null);
704
+ if (issues)
705
+ return devJson({ error: issues.join('; ') }, { status: 400 });
706
+ const cookie = await store.write(value, request);
707
+ return devJson({ current: value }, { headers: { 'set-cookie': cookie } });
708
+ }
709
+ return devJson({
710
+ declared: true,
711
+ schema: ir.session,
712
+ current: await store.read(request),
713
+ });
714
+ }
677
715
  if (path === '/_hozu/dev/tree' || path === '/_hozu/dev/effects') {
678
716
  const found = match(split(url.searchParams.get('path') ?? '/').rest);
679
717
  const tree = found
680
718
  ? path === '/_hozu/dev/tree'
681
719
  ? pageTree(build, found.route)
682
- : pageEffects(build, found.route)
720
+ : await implementedAt(pageEffects(build, found.route), dev, build.bindings.fetches, readFile)
683
721
  : null;
684
722
  return new Response(JSON.stringify(tree), {
685
723
  status: tree ? 200 : 404,
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
+ import type { ProjectIR } from '@hozu/core/ir';
1
2
  export type CspSources = Partial<Record<'script' | 'style' | 'img' | 'connect' | 'font' | 'frame' | 'media', string[]>>;
2
3
  export declare const crossSite: (request: Request) => boolean;
4
+ /** The origins features declare in `connect` (ADR 0051), with `{ env }` entries read from the public env. */
5
+ export declare function connectOrigins(ir: ProjectIR, publicEnv: Record<string, unknown>): string[];
3
6
  export declare function contentSecurityPolicy(extra: CspSources, scriptHashes: string[]): string;
4
7
  export declare const ERROR_HTML: string;
5
8
  export declare const NOT_FOUND_HTML: string;
9
+ /** A form whose mutation runs in the browser, posted without JavaScript (ADR 0049): what happened and the way back. */
10
+ export declare const needsJavaScriptHtml: (effect: string, back: string) => string;
6
11
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,MAAM,CAAC,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CACtF,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,OAAO,KAAG,OAS5C,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAgBvF;AAKD,eAAO,MAAM,UAAU,QAA8D,CAAA;AAErF,eAAO,MAAM,cAAc,QAA6D,CAAA"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,MAAM,CAAC,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CACtF,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,OAAO,KAAG,OAS5C,CAAA;AAED,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAmB1F;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAgBvF;AAKD,eAAO,MAAM,UAAU,QAA8D,CAAA;AAErF,eAAO,MAAM,cAAc,QAA6D,CAAA;AAKxF,uHAAuH;AACvH,eAAO,MAAM,mBAAmB,WAAY,MAAM,QAAQ,MAAM,WAI7D,CAAA"}
package/dist/security.js CHANGED
@@ -11,6 +11,27 @@ export const crossSite = (request) => {
11
11
  return true;
12
12
  }
13
13
  };
14
+ /** The origins features declare in `connect` (ADR 0051), with `{ env }` entries read from the public env. */
15
+ export function connectOrigins(ir, publicEnv) {
16
+ const out = new Set();
17
+ for (const f of Object.values(ir.features))
18
+ for (const c of f.connect) {
19
+ if ('origin' in c) {
20
+ out.add(c.origin);
21
+ continue;
22
+ }
23
+ const value = publicEnv[c.env];
24
+ if (value === undefined || value === null || value === '')
25
+ continue;
26
+ try {
27
+ out.add(new URL(String(value)).origin);
28
+ }
29
+ catch {
30
+ throw new Error(`connect of ${f.id} reads the public env variable ${c.env}, which is not a URL: ${String(value)}`);
31
+ }
32
+ }
33
+ return [...out].sort();
34
+ }
14
35
  export function contentSecurityPolicy(extra, scriptHashes) {
15
36
  const list = (base, more = []) => [...base, ...more].join(' ');
16
37
  return [
@@ -31,4 +52,7 @@ export function contentSecurityPolicy(extra, scriptHashes) {
31
52
  const fallback = (title, text) => `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="robots" content="noindex"><style>@view-transition { navigation: auto; }</style><title>${title}</title></head><body><h1>${title}</h1><p>${text}</p></body></html>`;
32
53
  export const ERROR_HTML = fallback('Something went wrong', 'Please try again later.');
33
54
  export const NOT_FOUND_HTML = fallback('Not found', 'There is no page at this address.');
55
+ const escapeHtml = (s) => s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
56
+ /** A form whose mutation runs in the browser, posted without JavaScript (ADR 0049): what happened and the way back. */
57
+ export const needsJavaScriptHtml = (effect, back) => fallback('This form needs JavaScript', `${escapeHtml(effect)} runs in the browser, so the page must run JavaScript to send it.</p><p><a href="${escapeHtml(back)}">Back to the page</a>`);
34
58
  //# sourceMappingURL=security.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAW,EAAE;IACrD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,YAAY;QAAE,OAAO,IAAI,CAAA;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB,EAAE,YAAsB;IAC7E,MAAM,IAAI,GAAG,CAAC,IAAc,EAAE,IAAI,GAAa,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClF,OAAO;QACL,oBAAoB;QACpB,cAAc,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACpF,aAAa,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QAC/D,WAAW,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;QAC1D,eAAe,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;QAChD,YAAY,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;QACnD,aAAa,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QACrD,aAAa,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QAC5C,wBAAwB;QACxB,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;KACpB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CAC/C,oOAAoO,KAAK,4BAA4B,KAAK,WAAW,IAAI,oBAAoB,CAAA;AAE/S,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAA"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hozu/runtime-server",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Hozu server runtime: generated render functions, in-order streaming SSR and a web-standard handler",
5
5
  "keywords": [
6
6
  "hozu",
@@ -39,11 +39,11 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "@hozu/compiler": "0.12.0",
43
- "@hozu/core": "0.12.0",
44
- "@hozu/data": "0.12.0",
45
- "@hozu/runtime-client": "0.12.0",
46
- "@hozu/machine": "0.12.0"
42
+ "@hozu/compiler": "0.14.0",
43
+ "@hozu/core": "0.14.0",
44
+ "@hozu/data": "0.14.0",
45
+ "@hozu/machine": "0.14.0",
46
+ "@hozu/runtime-client": "0.14.0"
47
47
  },
48
48
  "sideEffects": false
49
49
  }
package/dist/compile.d.ts DELETED
@@ -1,43 +0,0 @@
1
- import { type FeatureIR, type Json, type ValueExpr, type ViewNode, type WidgetIR } from '@tenon/core/ir';
2
- import { type Fns, type Getter } from '@tenon/machine';
3
- import { text } from '@tenon/runtime-client';
4
- export interface Scope {
5
- feature: FeatureIR;
6
- context: Json;
7
- state: string | null;
8
- bindings: Json[];
9
- params: Json;
10
- search: Json;
11
- routes: Record<string, string>;
12
- url: string;
13
- locale: string;
14
- alternate: Record<string, string>;
15
- env: Json;
16
- }
17
- export interface Runtime {
18
- open(n: ViewNode, scope: Scope): string;
19
- embed(view: string): {
20
- root: ViewNode;
21
- scope: Scope;
22
- } | null;
23
- widget(ref: string): void;
24
- }
25
- export interface Compile {
26
- islands: Set<string>;
27
- fns: Fns;
28
- widgets: Record<string, WidgetIR>;
29
- }
30
- export type Frag = string | ((scope: Scope, r: Runtime) => string);
31
- export declare const SEP = "<!---->";
32
- export declare const OPEN = "<!--[-->";
33
- export declare const CLOSE = "<!--]-->";
34
- export { text };
35
- export declare const expr: (v: ValueExpr, fns: Fns) => Getter;
36
- type El = Pick<Extract<ViewNode, {
37
- kind: 'el';
38
- }>, 'class' | 'toggle' | 'vars'>;
39
- export declare function classAndStyle(n: El, value: (v: ValueExpr) => Json): string;
40
- export declare const run: (f: Frag, s: Scope, r: Runtime) => string;
41
- export declare const separated: (list: ViewNode[], i: number) => boolean;
42
- export declare function compileNode(n: ViewNode, island: boolean, c: Compile, sep?: boolean): Frag;
43
- //# sourceMappingURL=compile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAGd,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAA8B,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,EAAkC,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAG5E,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,MAAM,EAAE,IAAI,CAAA;IACZ,MAAM,EAAE,IAAI,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,GAAG,EAAE,IAAI,CAAA;CACV;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;IACvC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI,CAAA;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpB,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAClC;AAED,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;AAIlE,eAAO,MAAM,GAAG,YAAY,CAAA;AAC5B,eAAO,MAAM,IAAI,aAAa,CAAA;AAC9B,eAAO,MAAM,KAAK,aAAa,CAAA;AAE/B,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,MAAO,SAAS,OAAO,GAAG,KAAG,MAA8B,CAAA;AAO5E,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAA;AAK9E,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,CAO1E;AAkCD,eAAO,MAAM,GAAG,MAAO,IAAI,KAAK,KAAK,KAAK,OAAO,WAA0C,CAAA;AAE3F,eAAO,MAAM,SAAS,SAAU,QAAQ,EAAE,KAAK,MAAM,YAAiC,CAAA;AAEtF,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,UAAQ,GAAG,IAAI,CAqGvF"}
package/dist/compile.js DELETED
@@ -1,170 +0,0 @@
1
- import { FORM_FIELD, formRunnable, voidTags, } from '@tenon/core/ir';
2
- import { compileGuard, compileValue } from '@tenon/machine';
3
- import { attrText, classText, styleText, text } from '@tenon/runtime-client';
4
- import { escapeHtml } from './escape.js';
5
- const voids = new Set(voidTags);
6
- export const SEP = '<!---->';
7
- export const OPEN = '<!--[-->';
8
- export const CLOSE = '<!--]-->';
9
- export { text };
10
- export const expr = (v, fns) => compileValue(v, fns);
11
- const attr = (name, x) => {
12
- const s = attrText(name, x);
13
- return s === null ? '' : s === '' ? ` ${name}` : ` ${name}="${escapeHtml(s)}"`;
14
- };
15
- const classAttr = (c) => (c ? ` class="${escapeHtml(c)}"` : '');
16
- const styleAttr = (s) => (s ? ` style="${escapeHtml(s)}"` : '');
17
- export function classAndStyle(n, value) {
18
- const active = [];
19
- for (const c in n.toggle)
20
- if (value(n.toggle[c]) === true)
21
- active.push(c);
22
- return (classAttr(classText(n.class, active)) +
23
- styleAttr(styleText(Object.entries(n.vars).map(([k, v]) => [k, value(v)]))));
24
- }
25
- function classAndStyleFrag(n, fns) {
26
- const toggles = Object.entries(n.toggle).map(([c, v]) => [c, expr(v, fns)]);
27
- const vars = Object.entries(n.vars).map(([k, v]) => [k, expr(v, fns)]);
28
- const base = n.class;
29
- const cls = toggles.length
30
- ? (s) => {
31
- const active = [];
32
- for (const [c, get] of toggles)
33
- if (get(s) === true)
34
- active.push(c);
35
- return classAttr(classText(base, active));
36
- }
37
- : classAttr(base ?? '');
38
- const style = vars.length ? (s) => styleAttr(styleText(vars.map(([k, get]) => [k, get(s)]))) : '';
39
- return seq([cls, style]);
40
- }
41
- function seq(parts) {
42
- const merged = [];
43
- for (const p of parts) {
44
- const last = merged.at(-1);
45
- if (typeof p === 'string' && typeof last === 'string')
46
- merged[merged.length - 1] = last + p;
47
- else if (p !== '')
48
- merged.push(p);
49
- }
50
- if (merged.length === 0)
51
- return '';
52
- if (merged.length === 1)
53
- return merged[0];
54
- const list = merged;
55
- return (s, r) => {
56
- let out = '';
57
- for (const p of list)
58
- out += typeof p === 'string' ? p : p(s, r);
59
- return out;
60
- };
61
- }
62
- export const run = (f, s, r) => (typeof f === 'string' ? f : f(s, r));
63
- export const separated = (list, i) => list[i + 1]?.kind === 'text';
64
- export function compileNode(n, island, c, sep = false) {
65
- const { fns } = c;
66
- const children = (list) => list.map((x, i) => compileNode(x, island, c, separated(list, i)));
67
- if (!island && c.islands.has(n.id)) {
68
- const inner = compileNode(n, true, c, sep);
69
- return (s, r) => r.open(n, s) + run(inner, s, r);
70
- }
71
- const wrap = (body) => (island ? seq([OPEN, body, CLOSE]) : body);
72
- switch (n.kind) {
73
- case 'text': {
74
- const tail = island && sep ? SEP : '';
75
- if ('literal' in n.value)
76
- return escapeHtml(text(n.value.literal)) + tail;
77
- const get = expr(n.value, fns);
78
- return (s) => escapeHtml(text(get(s))) + tail;
79
- }
80
- case 'el': {
81
- const parts = [`<${n.tag}`, classAndStyleFrag(n, fns)];
82
- let content = null;
83
- for (const [name, v] of Object.entries(n.attrs)) {
84
- if (n.tag === 'textarea' && name === 'value') {
85
- const get = expr(v, fns);
86
- content = 'literal' in v ? escapeHtml(text(v.literal)) : (s) => escapeHtml(text(get(s)));
87
- continue;
88
- }
89
- if ('literal' in v) {
90
- parts.push(attr(name, v.literal));
91
- continue;
92
- }
93
- const get = expr(v, fns);
94
- parts.push((s) => attr(name, get(s)));
95
- }
96
- const submit = n.tag === 'form' ? n.on.submit : undefined;
97
- if (submit && !('method' in n.attrs) && formRunnable(submit.payload)) {
98
- const id = encodeURIComponent(n.id);
99
- parts.push(' method="post"', (s) => attr('action', `${s.url}${s.url.includes('?') ? '&' : '?'}${FORM_FIELD}=${id}`));
100
- }
101
- parts.push('>');
102
- if (voids.has(n.tag))
103
- return seq(parts);
104
- if (content !== null)
105
- parts.push(content);
106
- else
107
- parts.push(...children(n.children));
108
- parts.push(`</${n.tag}>`);
109
- return seq(parts);
110
- }
111
- case 'when': {
112
- const body = seq(children(n.children));
113
- const states = n.states;
114
- return wrap((s, r) => (s.state !== null && states.includes(s.state) ? run(body, s, r) : ''));
115
- }
116
- case 'each': {
117
- const item = compileNode(n.item, island, c, true);
118
- const source = expr(n.source, fns);
119
- return wrap((s, r) => {
120
- const items = source(s);
121
- let out = '';
122
- if (Array.isArray(items))
123
- for (const x of items)
124
- out += run(item, { ...s, bindings: [...s.bindings, x] }, r);
125
- return out;
126
- });
127
- }
128
- case 'embed': {
129
- const view = n.view;
130
- const cache = new WeakMap();
131
- return wrap((_, r) => {
132
- const e = r.embed(view);
133
- if (!e)
134
- return '';
135
- let f = cache.get(e.root);
136
- if (f === undefined) {
137
- f = compileNode(e.root, island, c);
138
- cache.set(e.root, f);
139
- }
140
- return run(f, e.scope, r);
141
- });
142
- }
143
- case 'if': {
144
- const test = compileGuard(n.test, fns);
145
- const yes = seq(children(n.ifTrue));
146
- const no = seq(children(n.ifFalse));
147
- return wrap((s, r) => run(test(s) ? yes : no, s, r));
148
- }
149
- case 'html': {
150
- const get = expr(n.value, fns);
151
- return wrap((s) => text(get(s)));
152
- }
153
- case 'global':
154
- return '<!--g-->';
155
- case 'widget': {
156
- const tag = c.widgets[n.widget]?.tag ?? 'div';
157
- const ref = n.widget;
158
- const use = (_, r) => {
159
- r.widget(ref);
160
- return '';
161
- };
162
- const own = island && c.islands.has(n.id);
163
- const kids = n.children.map((x, i) => compileNode(x, !own && island, c, separated(n.children, i)));
164
- return seq([use, `<${tag}`, classAndStyleFrag(n, fns), '>', ...kids, `</${tag}>`]);
165
- }
166
- default:
167
- return '';
168
- }
169
- }
170
- //# sourceMappingURL=compile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
package/dist/widgets.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { type ProjectIR } from '@hozu/core/ir';
2
- export declare function assertWidgetBundle(ir: ProjectIR, urls: Record<string, string>, given: boolean): void;
3
- //# sourceMappingURL=widgets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,eAAe,CAAA;AAE3D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,QAQ7F"}
package/dist/widgets.js DELETED
@@ -1,10 +0,0 @@
1
- import { usedWidgets } from '@hozu/core/ir';
2
- export function assertWidgetBundle(ir, urls, given) {
3
- const missing = usedWidgets(ir).filter((ref) => !urls[ref]);
4
- if (!missing.length)
5
- return;
6
- throw new Error(given
7
- ? `The widget bundle has no client code for ${missing.join(', ')}; check the diagnostics of bundleWidgets (HZ029).`
8
- : `Widgets ${missing.join(', ')} are used in views, but no widget bundle was given, so their client code would never load. Pass \`widgets: await bundleWidgets(build)\` from @hozu/bundle (npm install @hozu/bundle), or serve the output of \`hozu build\`.`);
9
- }
10
- //# sourceMappingURL=widgets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,UAAU,kBAAkB,CAAC,EAAa,EAAE,IAA4B,EAAE,KAAc;IAC5F,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3D,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAM;IAC3B,MAAM,IAAI,KAAK,CACb,KAAK;QACH,CAAC,CAAC,4CAA4C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD;QACnH,CAAC,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8NAA8N,CAChQ,CAAA;AACH,CAAC"}