@valancex/valance 0.7.0 → 0.8.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/errors.d.ts CHANGED
@@ -11,7 +11,11 @@ export type ValanceErrorCode =
11
11
  /** A render names a view the definition doesn't have. A mistake in the definition. */
12
12
  | "unknown-view"
13
13
  /** A target reported an interaction before anything was drawn. A mistake in the target. */
14
- | "target-not-drawn";
14
+ | "target-not-drawn"
15
+ /** Two parties declared the same thing that can be declared only once (a tag, the URL policy). A mistake in the composition. */
16
+ | "plugin-conflict"
17
+ /** A head tag carries a value the head refuses (a script-bearing URL). A mistake in the data. */
18
+ | "invalid-head";
15
19
  /**
16
20
  * The defect VALANCE dies with for misuse and for work refused because the application is closing. It is a defect, never a typed
17
21
  * failure; typed failures carry `_tag`, and a thrown or dying error carries `code` (as NEXUS's `Runtime.Refusal` does). Messages are for people.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB;AAC1B,+IAA+I;AAC7I,kBAAkB;AACpB,uIAAuI;GACrI,mBAAmB;AACrB,yDAAyD;GACvD,oBAAoB;AACtB,4FAA4F;GAC1F,sBAAsB;AACxB,sFAAsF;GACpF,cAAc;AAChB,2FAA2F;GACzF,kBAAkB,CAAC;AAEvB;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAEpB,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAKpD;AAID,mIAAmI;AACnI,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAC+H,CAAC;AAEzL;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,OACoI,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB;AAC1B,+IAA+I;AAC7I,kBAAkB;AACpB,uIAAuI;GACrI,mBAAmB;AACrB,yDAAyD;GACvD,oBAAoB;AACtB,4FAA4F;GAC1F,sBAAsB;AACxB,sFAAsF;GACpF,cAAc;AAChB,2FAA2F;GACzF,kBAAkB;AACpB,gIAAgI;GAC9H,iBAAiB;AACnB,iGAAiG;GAC/F,cAAc,CAAC;AAEnB;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAEpB,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAKpD;AAID,mIAAmI;AACnI,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAC+H,CAAC;AAEzL;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,OACoI,CAAC"}
package/dist/errors.js CHANGED
@@ -11,7 +11,7 @@ export class ValanceError extends Error {
11
11
  this.name = "ValanceError";
12
12
  }
13
13
  }
14
- const CODES = new Set(["admission-closed", "application-ended", "not-an-application", "bare-command-binding", "unknown-view", "target-not-drawn"]);
14
+ const CODES = new Set(["admission-closed", "application-ended", "not-an-application", "bare-command-binding", "unknown-view", "target-not-drawn", "plugin-conflict", "invalid-head"]);
15
15
  /** Whether `value` is a `ValanceError`, by its shape and not its class, so it works across two installed copies of the package. */
16
16
  export const isValanceError = (value) => value instanceof Error && value.name === "ValanceError" && typeof value.code === "string" && CODES.has(value.code);
17
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAiBzC;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IAEhC,YAAY,IAAsB,EAAE,OAAe;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAmB,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE1L,mIAAmI;AACnI,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAyB,EAAE,CACtE,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAQ,KAAuC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAE,KAAqC,CAAC,IAAI,CAAC,CAAC;AAEzL;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE,CACnD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAqBzC;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IAEhC,YAAY,IAAsB,EAAE,OAAe;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAmB,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;AAE7N,mIAAmI;AACnI,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAyB,EAAE,CACtE,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAQ,KAAuC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAE,KAAqC,CAAC,IAAI,CAAC,CAAC;AAEzL;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE,CACnD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -79,7 +79,8 @@ export interface ApplicationDefinition<S, E, R extends Ambient, V extends string
79
79
  /**
80
80
  * The key of a command-table entry (an exact `"component/name"` key, or a bare command name, which means `"app/name"`) that `start` runs, once, with no arguments, as the application's own command: admitted before `start` returns, owned
81
81
  * by the application's registry like any admitted command (closing the Scope interrupts and awaits it before NEXUS terminates), with no caller. Its exit is
82
- * not reported anywhere: work that can fail catches the failure into state, as an event command does. A key the table lacks fails `start` with `UnmappedCommand`.
82
+ * returned nowhere (no caller, no mount ledger), and a failure it does not catch is logged with `Effect.logError("start-time work failed", cause)`, the whole cause and unredacted, so keep secrets out of
83
+ * the errors it lets escape: work that can fail catches the failure into state, as an event command does. A key the table lacks fails `start` with `UnmappedCommand`.
83
84
  */
84
85
  readonly start?: string;
85
86
  }
@@ -105,11 +106,15 @@ export type Outcome<A> = {
105
106
  readonly error: unknown;
106
107
  };
107
108
  /** What a command that waits says. Every function is a plain function of the state; none may throw (a throw is a defect, as in any command). */
108
- export interface Waiting<S, I, A> {
109
+ export interface Waiting<S, I, A, R extends Ambient = never> {
109
110
  /** The state when the run starts, before the work: typically "loading". Optional: the state may already say so (start-time work). */
110
111
  readonly begin?: (input: I, current: S) => S;
111
- /** The work: the only asynchronous thing. `signal` aborts when the run is interrupted (the application closes). Its result, or rejection, reaches `settle`. */
112
- readonly work: (input: I, signal: AbortSignal) => Promise<A>;
112
+ /**
113
+ * The work: the only asynchronous thing. Either a Promise (`signal` aborts when the run is interrupted: the application closes), or, when the work needs a capability, an Effect
114
+ * that requires the application's environment (`Nexus.Capability.require`), which Effect interrupts itself. Its result, or its rejection or failure, reaches `settle`; an
115
+ * Effect's typed failure arrives exactly as it failed.
116
+ */
117
+ readonly work: (input: I, signal: AbortSignal) => Promise<A> | Effect.Effect<A, unknown, R>;
113
118
  /**
114
119
  * Is the result still relevant to the state as it is NOW? Asked when the work ends, in the same step as the commit; false and nothing is committed. **Required**, because a
115
120
  * result that no longer fits the application must not land silently. This is relevance to the application's state; it is separate from, and in addition to, a newer run of this
@@ -128,7 +133,7 @@ export interface CommandMaker<S> {
128
133
  * **A newer run of the same command supersedes an older one**: the older run is NOT cancelled (its work continues, and its caller sees it complete) but its result is discarded,
129
134
  * success or failure. Whether a result is still wanted by the state is `wanted`'s question, answered per run.
130
135
  */
131
- waiting<I, A>(input: Schema.Schema<I>, spec: Waiting<S, I, A>): Nexus.Command.Command<I, void, never, never>;
136
+ waiting<I, A, R extends Ambient = never>(input: Schema.Schema<I>, spec: Waiting<S, I, A, R>): Nexus.Command.Command<I, void, never, R>;
132
137
  }
133
138
  /**
134
139
  * Binds the application's state, and returns the function that makes commands whose whole behavior is a pure transition of it:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -53,7 +53,20 @@ export const command = (state) => {
53
53
  }
54
54
  // A Promise's rejection is `unknown` and is passed to `settle` exactly as received. Interruption (the application closing, or the caller's) is not a failure: it ends the
55
55
  // run here, aborts `signal`, and `settle` never runs.
56
- const outcome = yield* Effect.tryPromise({ try: (signal) => spec.work(decoded, signal), catch: (error) => error }).pipe(Effect.map((value) => ({ ok: true, value })), Effect.catchAll((error) => Effect.succeed({ ok: false, error })));
56
+ // The work is a Promise or an Effect. A Promise is awaited here, with the signal; an Effect is only taken here and run after, so it is interrupted as any Effect is and may use the
57
+ // application's capabilities. Whichever it is, a throw from `work` itself is a failure outcome.
58
+ const started = yield* Effect.tryPromise({
59
+ try: async (signal) => {
60
+ const produced = spec.work(decoded, signal);
61
+ return Effect.isEffect(produced) ? { effect: produced } : { value: await produced };
62
+ },
63
+ catch: (error) => error,
64
+ }).pipe(Effect.catchAll((error) => Effect.succeed({ failed: error })));
65
+ const outcome = "failed" in started
66
+ ? { ok: false, error: started.failed }
67
+ : "value" in started
68
+ ? { ok: true, value: started.value }
69
+ : yield* started.effect.pipe(Effect.map((value) => ({ ok: true, value })), Effect.catchAll((error) => Effect.succeed({ ok: false, error })));
57
70
  // Both questions are asked in the same atomic step as the commit: is this still the newest run of this command, and is the result still wanted by the state as it is now.
58
71
  yield* state.update((current) => Effect.sync(() => mine === latest && spec.wanted(decoded, current) ? spec.settle(outcome, decoded, current) : current));
59
72
  }).pipe(Effect.asVoid));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  import type { WebPrimitives } from "@valancex/port-web";
21
21
  import type * as Nexus from "@valancex/nexus";
22
22
  import { Schema } from "effect";
23
+ import type { Plugin } from "./web-plugin.js";
23
24
  export declare class ManifestError extends Error {
24
25
  readonly path: string;
25
26
  readonly _tag = "ManifestError";
@@ -68,7 +69,9 @@ export interface ManifestOptions {
68
69
  readonly scopes: Readonly<Record<string, Schema.Schema<any, any, never>>>;
69
70
  /** The application's `commands`: the very function `define` takes. It is called once, with a state that fails if the table reads it while being built. */
70
71
  readonly commands: (state: Nexus.State.StateHandle<any>) => Readonly<Record<string, unknown>>;
72
+ /** Plugins whose tags are part of the application's vocabulary: their `primitives` join `primitives`, composed as `compose` in `./web/plugin` says (a tag is declared once). */
73
+ readonly plugins?: ReadonlyArray<Plugin<any>>;
71
74
  }
72
75
  /** The manifest of an application, derived from its Web primitives table, its views' scope Schemas and its command table. Pass it to `compileProgram` as JSON. */
73
- export declare const manifest: (options: ManifestOptions) => Manifest;
76
+ export declare const manifest: (given: ManifestOptions) => Manifest;
74
77
  //# sourceMappingURL=web-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-manifest.d.ts","sourceRoot":"","sources":["../src/web-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAoB,MAAM,QAAQ,CAAC;AAIlD,qBAAa,aAAc,SAAQ,KAAK;IAG1B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,QAAQ,CAAC,IAAI,mBAAmB;gBAEX,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIlD;AAED,uCAAuC;AACvC,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAA;CAAE,GAC/H;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC,CAAC;QAClG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;gBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAC,CAAC;QACxI,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KACpD,CAAC,CAAC,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,6HAA6H;IAC7H,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,0JAA0J;IAC1J,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC/F;AA4ID,kKAAkK;AAClK,eAAO,MAAM,QAAQ,GAAI,SAAS,eAAe,KAAG,QAmCnD,CAAC"}
1
+ {"version":3,"file":"web-manifest.d.ts","sourceRoot":"","sources":["../src/web-manifest.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { SchemaAST as AST } from "effect";
2
2
  import { payloadKindOf } from "./web-payload.js";
3
+ import { compose } from "./web-plugin.js";
3
4
  export class ManifestError extends Error {
4
5
  path;
5
6
  _tag = "ManifestError";
@@ -116,7 +117,8 @@ const commandsOf = (table, views) => {
116
117
  };
117
118
  const noState = new Proxy({}, { get: (_target, property) => { throw new ManifestError("commands", `the table read state.${String(property)} while it was being built; a table is built without reading state (commands read it when they RUN)`); } });
118
119
  /** The manifest of an application, derived from its Web primitives table, its views' scope Schemas and its command table. Pass it to `compileProgram` as JSON. */
119
- export const manifest = (options) => {
120
+ export const manifest = (given) => {
121
+ const options = { ...given, primitives: compose({ primitives: given.primitives }, given.plugins ?? []).primitives };
120
122
  const views = new Set(Object.keys(options.scopes));
121
123
  const commands = commandsOf(options.commands(noState), views);
122
124
  for (const name of [...Object.keys(options.primitives), ...views]) {
@@ -1 +1 @@
1
- {"version":3,"file":"web-manifest.js","sourceRoot":"","sources":["../src/web-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-manifest.js","sourceRoot":"","sources":["../src/web-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * The plugin contract for the Web target, and the three small operations that make it real: composing plugins, writing a head as HTML, and keeping a document's head in step.
3
+ *
4
+ * A plugin is a plain value, never a registration: nothing here runs on import, no module keeps a list, and a plugin does nothing until it is handed to `run`,
5
+ * `renderToHtml` or `manifest`. Each contribution is independent and optional, and each one lands on a seam that already existed (the primitives table, the platform, the URL policy,
6
+ * the document's head), so a plugin adds no concept the application did not already have.
7
+ *
8
+ * What a plugin cannot do is stated by what is missing: it has no view, state, command or lifecycle. A plugin that ships templates is read by the build step that compiles
9
+ * MPRX (outside VALANCE, which compiles nothing); this contract carries what VALANCE itself composes.
10
+ */
11
+ import type { BoundaryValue } from "@valancex/mesh-runtime";
12
+ import type { WebPrimitives } from "@valancex/port-web";
13
+ import * as Nexus from "@valancex/nexus";
14
+ type Platform = Nexus.Application.Platform;
15
+ /** How a route is delivered: rendered once at build time (`static`, the default) or per request (`server`, opt-in). */
16
+ export type Delivery = "static" | "server";
17
+ /** A `<meta>`: a `name` (or a `property`, as Open Graph uses) and its `content`. */
18
+ export type MetaTag = {
19
+ readonly name: string;
20
+ readonly content: string;
21
+ } | {
22
+ readonly property: string;
23
+ readonly content: string;
24
+ };
25
+ /** A `<link>` in the head: a stylesheet, a canonical URL, an icon, a preload. `href` may not carry script (`javascript:`, `vbscript:`, `data:`). */
26
+ export interface LinkTag {
27
+ readonly rel: string;
28
+ readonly href: string;
29
+ readonly as?: string;
30
+ readonly type?: string;
31
+ /** The language of the document it points to: an `alternate` in another language (`hreflang`). */
32
+ readonly hreflang?: string;
33
+ /** What a reader or a feed reader calls it (`title`): a feed's name. */
34
+ readonly title?: string;
35
+ }
36
+ /** What the document's head says for a state: the one title, and the metas and links that go with it. Plain data, the same on the server and in the browser. */
37
+ export interface HeadTags {
38
+ readonly title?: string;
39
+ readonly meta?: ReadonlyArray<MetaTag>;
40
+ readonly links?: ReadonlyArray<LinkTag>;
41
+ }
42
+ /**
43
+ * An application's URL policy as one value. `urlOf` and `stateOf` are what `HistoryOptions` takes; `known` and `paths` are what a build and a server need and a browser does not.
44
+ *
45
+ * `paths()` lists every concrete pathname the application can show. A static export renders those whose `delivery` is `static`; those marked `server` are left for a server.
46
+ */
47
+ export interface RouteTable<S> {
48
+ /** The URL (path and query) shown for `state`. */
49
+ readonly urlOf: (state: S) => string;
50
+ /** The one argument of the navigate command, for a URL. */
51
+ readonly stateOf: (url: URL) => BoundaryValue;
52
+ /** The application's navigate command: a bare name or an exact binding key (see `HistoryOptions.navigate`). */
53
+ readonly navigate: string;
54
+ /** Whether `pathname` is a page of the application (a server answers 404 for one that is not). */
55
+ readonly known: (pathname: string) => boolean;
56
+ /** Every pathname the application can show, in a stable order. */
57
+ readonly paths: () => ReadonlyArray<string>;
58
+ /** How `pathname` is delivered. Absent: `static`. */
59
+ readonly delivery?: (pathname: string) => Delivery;
60
+ /** Called after each navigation (see `HistoryOptions.onNavigated`): where scroll and focus policy lives. */
61
+ readonly onNavigated?: (navigation: Navigation) => void;
62
+ }
63
+ /** A navigation that has been written to the URL (a link click) or taken from it (Back and Forward). */
64
+ export interface Navigation {
65
+ /** `link`: the user followed a link the application handled. `popstate`: the browser moved through its history. */
66
+ readonly kind: "link" | "popstate";
67
+ /** The destination exactly as the browser has it, `#fragment` included (a fragment is never part of the application's state). */
68
+ readonly url: URL;
69
+ }
70
+ /** One plugin. Every contribution is optional; `name` is the identity a conflict is reported with. */
71
+ export interface Plugin<S> {
72
+ readonly name: string;
73
+ /** Tags it adds to the Web realization table. */
74
+ readonly primitives?: WebPrimitives;
75
+ /** Capabilities it provides. */
76
+ readonly platform?: Platform;
77
+ /** The application's URL policy, for an application that has none of its own. */
78
+ readonly routes?: RouteTable<S>;
79
+ /** What the document's head says for a state. Merged with the application's own and every other plugin's. */
80
+ readonly head?: (state: S) => HeadTags;
81
+ }
82
+ /** What `deliveryOf` answers for a route table that doesn't say. */
83
+ export declare const DEFAULT_DELIVERY: Delivery;
84
+ /** How `pathname` is delivered under `routes`. */
85
+ export declare const deliveryOf: <S>(routes: RouteTable<S>, pathname: string) => Delivery;
86
+ /** The pathnames a static export renders: every known path that is delivered `static`. */
87
+ export declare const staticPaths: <S>(routes: RouteTable<S>) => ReadonlyArray<string>;
88
+ /** What the application itself declares on the seams a plugin can also declare on. */
89
+ export interface Own<S> {
90
+ readonly primitives?: WebPrimitives | undefined;
91
+ readonly platform?: Platform | undefined;
92
+ /** The application declares a URL policy of its own (`history`). */
93
+ readonly routes?: boolean | undefined;
94
+ readonly head?: ((state: S) => HeadTags) | undefined;
95
+ }
96
+ export interface Composed<S> {
97
+ readonly primitives: WebPrimitives;
98
+ readonly platform: Platform | undefined;
99
+ readonly routes: RouteTable<S> | undefined;
100
+ readonly head: ((state: S) => HeadTags) | undefined;
101
+ }
102
+ /**
103
+ * Merges the application's own declarations with its plugins'. The rules, which are the whole of the precedence:
104
+ *
105
+ * primitives a tag is declared once. Two declarations of one tag are a `plugin-conflict`, naming both owners; nothing is overridden silently.
106
+ * routes one URL policy. The application's own `history` and a plugin's `routes`, or two plugins' `routes`, are a `plugin-conflict`.
107
+ * platform merged in order (`mergePlatforms`): plugins as listed, the application's own last, so a capability provided twice is the later one's.
108
+ * head merged in order, the application's own first. The title is the first one defined; a meta is identified by its name or property and a link by its rel, href and language, and the first one wins; the rest are appended in order.
109
+ *
110
+ * Pure, and the same inputs give the same output.
111
+ */
112
+ export declare const compose: <S>(own: Own<S>, plugins: ReadonlyArray<Plugin<S>>) => Composed<S>;
113
+ /**
114
+ * Platforms merged into one, in order. A platform is a Layer that provides the one Environment, so two cannot be combined as Layers (the second Environment would replace the
115
+ * first, and the first's capabilities would vanish): each is built in the merged platform's own scope and their resolutions are combined, a capability resolved by two being
116
+ * the later one's. What a platform acquires is released with the merged platform, last built first, as one platform's resources are.
117
+ */
118
+ export declare const mergePlatforms: (platforms: ReadonlyArray<Platform>) => Platform;
119
+ /** Heads merged in order; see `compose` for what wins. */
120
+ export declare const mergeHeads: (heads: ReadonlyArray<HeadTags>) => HeadTags;
121
+ /** Marks the elements VALANCE wrote into the head, so the browser replaces exactly those and never an element someone else put there. */
122
+ export declare const HEAD_MARK = "data-valance-head";
123
+ /** The `<title>` is not marked: the browser keeps one, so the document's own is replaced in place. */
124
+ export declare const renderHead: (head: HeadTags) => string;
125
+ /**
126
+ * Makes `document`'s head say `head`: the title is set when there is one, and the metas and links this function wrote before are replaced by these. Elements it did not write
127
+ * (no `data-valance-head`) are never touched, so a stylesheet the server linked stays. Mutates the document it is given and nothing else.
128
+ */
129
+ export declare const applyHead: (document: Document, head: HeadTags) => void;
130
+ export {};
131
+ //# sourceMappingURL=web-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-plugin.d.ts","sourceRoot":"","sources":["../src/web-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import * as Nexus from "@valancex/nexus";
2
+ import { Context, Effect, Layer } from "effect";
3
+ import { ValanceError } from "./errors.js";
4
+ /** What `deliveryOf` answers for a route table that doesn't say. */
5
+ export const DEFAULT_DELIVERY = "static";
6
+ /** How `pathname` is delivered under `routes`. */
7
+ export const deliveryOf = (routes, pathname) => routes.delivery?.(pathname) ?? DEFAULT_DELIVERY;
8
+ /** The pathnames a static export renders: every known path that is delivered `static`. */
9
+ export const staticPaths = (routes) => routes.paths().filter((pathname) => deliveryOf(routes, pathname) === "static");
10
+ const APPLICATION = "the application";
11
+ /**
12
+ * Merges the application's own declarations with its plugins'. The rules, which are the whole of the precedence:
13
+ *
14
+ * primitives a tag is declared once. Two declarations of one tag are a `plugin-conflict`, naming both owners; nothing is overridden silently.
15
+ * routes one URL policy. The application's own `history` and a plugin's `routes`, or two plugins' `routes`, are a `plugin-conflict`.
16
+ * platform merged in order (`mergePlatforms`): plugins as listed, the application's own last, so a capability provided twice is the later one's.
17
+ * head merged in order, the application's own first. The title is the first one defined; a meta is identified by its name or property and a link by its rel, href and language, and the first one wins; the rest are appended in order.
18
+ *
19
+ * Pure, and the same inputs give the same output.
20
+ */
21
+ export const compose = (own, plugins) => {
22
+ const owners = new Map();
23
+ const primitives = {};
24
+ const claim = (from, table) => {
25
+ for (const [tag, primitive] of Object.entries(table ?? {})) {
26
+ const holder = owners.get(tag);
27
+ if (holder !== undefined) {
28
+ throw new ValanceError("plugin-conflict", `the tag "${tag}" is declared by ${holder} and by ${from}; a tag is declared once (remove one, or rename it)`);
29
+ }
30
+ owners.set(tag, from);
31
+ primitives[tag] = primitive;
32
+ }
33
+ };
34
+ const names = new Set();
35
+ claim(APPLICATION, own.primitives);
36
+ let routes;
37
+ for (const plugin of plugins) {
38
+ if (names.has(plugin.name)) {
39
+ throw new ValanceError("plugin-conflict", `two plugins are named "${plugin.name}"; a plugin's name identifies it`);
40
+ }
41
+ names.add(plugin.name);
42
+ claim(`the plugin "${plugin.name}"`, plugin.primitives);
43
+ if (plugin.routes !== undefined) {
44
+ const holder = own.routes === true ? APPLICATION : routes?.from;
45
+ if (holder !== undefined) {
46
+ throw new ValanceError("plugin-conflict", `the URL policy is declared by ${holder} and by the plugin "${plugin.name}"; an application has one`);
47
+ }
48
+ routes = { from: `the plugin "${plugin.name}"`, table: plugin.routes };
49
+ }
50
+ }
51
+ const layers = [...plugins.flatMap((plugin) => plugin.platform === undefined ? [] : [plugin.platform]), ...(own.platform === undefined ? [] : [own.platform])];
52
+ const heads = [...(own.head === undefined ? [] : [own.head]), ...plugins.flatMap((plugin) => plugin.head === undefined ? [] : [plugin.head])];
53
+ return {
54
+ primitives,
55
+ platform: layers.length === 0 ? undefined : layers.length === 1 ? layers[0] : mergePlatforms(layers),
56
+ routes: routes?.table,
57
+ head: heads.length === 0 ? undefined : heads.length === 1 ? heads[0] : (state) => mergeHeads(heads.map((head) => head(state))),
58
+ };
59
+ };
60
+ /**
61
+ * Platforms merged into one, in order. A platform is a Layer that provides the one Environment, so two cannot be combined as Layers (the second Environment would replace the
62
+ * first, and the first's capabilities would vanish): each is built in the merged platform's own scope and their resolutions are combined, a capability resolved by two being
63
+ * the later one's. What a platform acquires is released with the merged platform, last built first, as one platform's resources are.
64
+ */
65
+ export const mergePlatforms = (platforms) => Layer.scoped(Nexus.Capability.Environment, Effect.gen(function* () {
66
+ const resolutions = new Map();
67
+ for (const platform of platforms) {
68
+ const environment = Context.get(yield* Layer.build(platform), Nexus.Capability.Environment);
69
+ for (const [id, resolution] of environment.resolutions) {
70
+ resolutions.set(id, resolution);
71
+ }
72
+ }
73
+ return { resolutions };
74
+ }));
75
+ /** Heads merged in order; see `compose` for what wins. */
76
+ export const mergeHeads = (heads) => {
77
+ const meta = new Map();
78
+ const links = new Map();
79
+ for (const head of heads) {
80
+ for (const tag of head.meta ?? []) {
81
+ const key = "name" in tag ? `name:${tag.name}` : `property:${tag.property}`;
82
+ if (!meta.has(key)) {
83
+ meta.set(key, tag);
84
+ }
85
+ }
86
+ for (const tag of head.links ?? []) {
87
+ const key = `${tag.rel}\n${tag.href}\n${tag.hreflang ?? ""}`;
88
+ if (!links.has(key)) {
89
+ links.set(key, tag);
90
+ }
91
+ }
92
+ }
93
+ const title = heads.find((head) => head.title !== undefined)?.title;
94
+ return { ...(title === undefined ? {} : { title }), meta: [...meta.values()], links: [...links.values()] };
95
+ };
96
+ // ---- the head as HTML, and as DOM ---------------------------------------------------------------------------------------------------------------------------------
97
+ /** Marks the elements VALANCE wrote into the head, so the browser replaces exactly those and never an element someone else put there. */
98
+ export const HEAD_MARK = "data-valance-head";
99
+ const escapeText = (text) => text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
100
+ const escapeAttribute = (text) => escapeText(text).replaceAll('"', "&quot;");
101
+ /** A URL a head link may carry: anything but a scheme that runs script or embeds a document. Relative URLs, http, https and the rest are allowed. */
102
+ const refused = (href) => /^[\u0000- ]*(javascript|vbscript|data):/i.test(href.replace(/[\t\n\r]/g, ""));
103
+ const checked = (head) => {
104
+ for (const link of head.links ?? []) {
105
+ if (refused(link.href)) {
106
+ throw new ValanceError("invalid-head", `the head link rel="${link.rel}" has an href that carries script (${link.href.slice(0, 24)}…); a head link points at a document or a file`);
107
+ }
108
+ }
109
+ return head;
110
+ };
111
+ /** The `<title>` is not marked: the browser keeps one, so the document's own is replaced in place. */
112
+ export const renderHead = (head) => {
113
+ const { title, meta = [], links = [] } = checked(head);
114
+ return [
115
+ title === undefined ? "" : `<title>${escapeText(title)}</title>`,
116
+ ...meta.map((tag) => `<meta ${"name" in tag ? `name="${escapeAttribute(tag.name)}"` : `property="${escapeAttribute(tag.property)}"`} content="${escapeAttribute(tag.content)}" ${HEAD_MARK}>`),
117
+ ...links.map((tag) => `<link rel="${escapeAttribute(tag.rel)}" href="${escapeAttribute(tag.href)}"${tag.as === undefined ? "" : ` as="${escapeAttribute(tag.as)}"`}${tag.type === undefined ? "" : ` type="${escapeAttribute(tag.type)}"`}${tag.hreflang === undefined ? "" : ` hreflang="${escapeAttribute(tag.hreflang)}"`}${tag.title === undefined ? "" : ` title="${escapeAttribute(tag.title)}"`} ${HEAD_MARK}>`)
118
+ ].join("");
119
+ };
120
+ /**
121
+ * Makes `document`'s head say `head`: the title is set when there is one, and the metas and links this function wrote before are replaced by these. Elements it did not write
122
+ * (no `data-valance-head`) are never touched, so a stylesheet the server linked stays. Mutates the document it is given and nothing else.
123
+ */
124
+ export const applyHead = (document, head) => {
125
+ const { title, meta = [], links = [] } = checked(head);
126
+ if (title !== undefined) {
127
+ document.title = title;
128
+ }
129
+ for (const stale of Array.from(document.head.querySelectorAll(`[${HEAD_MARK}]`))) {
130
+ stale.remove();
131
+ }
132
+ const add = (tag, attributes) => {
133
+ const element = document.createElement(tag);
134
+ for (const [name, value] of Object.entries(attributes)) {
135
+ if (value !== undefined) {
136
+ element.setAttribute(name, value);
137
+ }
138
+ }
139
+ element.setAttribute(HEAD_MARK, "");
140
+ document.head.append(element);
141
+ };
142
+ for (const tag of meta) {
143
+ add("meta", "name" in tag ? { name: tag.name, content: tag.content } : { property: tag.property, content: tag.content });
144
+ }
145
+ for (const tag of links) {
146
+ add("link", { rel: tag.rel, href: tag.href, as: tag.as, type: tag.type, hreflang: tag.hreflang, title: tag.title });
147
+ }
148
+ };
149
+ //# sourceMappingURL=web-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-plugin.js","sourceRoot":"","sources":["../src/web-plugin.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,22 @@
6
6
  import type { Mesh } from "@valancex/nexus";
7
7
  import type { WebPrimitives } from "@valancex/port-web/server";
8
8
  import type { Ambient, ApplicationDefinition, StartError, StartOptions } from "./index.js";
9
+ import type { HeadTags, Plugin } from "./web-plugin.js";
9
10
  import { Effect } from "effect";
10
11
  export interface Served<S> {
11
12
  readonly html: string;
12
13
  readonly state: S;
14
+ /** What the document's head says for the state rendered (empty when neither the application nor a plugin has a head). Write it with `renderHead` from `./web/plugin`. */
15
+ readonly head: HeadTags;
16
+ }
17
+ export interface RenderOptions<S> extends StartOptions<S> {
18
+ /** The application's Web realization table. Absent: only the tags its plugins add. */
19
+ readonly primitives?: WebPrimitives;
20
+ /** What the head says for a state: the very function `Web.history`'s `head` takes, so the server and the browser say the same. */
21
+ readonly head?: (state: S) => HeadTags;
22
+ /** Plugins, composed with the application's own declarations (see `compose` in `./web/plugin`). A plugin's `routes` is not used here: a server renders the URL it is given. */
23
+ readonly plugins?: ReadonlyArray<Plugin<S>>;
13
24
  }
14
25
  /** Starts the application, renders it once, and ends it. No target object, no DOM. */
15
- export declare const renderToHtml: <S, E, R extends Ambient, V extends string>(app: ApplicationDefinition<S, E, R, V>, options: StartOptions<S> & {
16
- readonly primitives: WebPrimitives;
17
- }) => Effect.Effect<Served<S>, StartError | Mesh.MeshDiagnostics>;
26
+ export declare const renderToHtml: <S, E, R extends Ambient, V extends string>(app: ApplicationDefinition<S, E, R, V>, options: RenderOptions<S>) => Effect.Effect<Served<S>, StartError | Mesh.MeshDiagnostics>;
18
27
  //# sourceMappingURL=web-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-server.d.ts","sourceRoot":"","sources":["../src/web-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG3F,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED,sFAAsF;AACtF,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,EACpE,KAAK,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;CAAE,KAChE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,eAAe,CAMxD,CAAC"}
1
+ {"version":3,"file":"web-server.d.ts","sourceRoot":"","sources":["../src/web-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,yKAAyK;IACzK,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACvD,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,kIAAkI;IAClI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC;IACvC,+KAA+K;IAC/K,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C;AAED,sFAAsF;AACtF,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,EACpE,KAAK,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,aAAa,CAAC,CAAC,CAAC,KACxB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,eAAe,CAYzD,CAAC"}
@@ -2,10 +2,16 @@ import { realizeHtml } from "@valancex/port-web/server";
2
2
  import { Effect } from "effect";
3
3
  import { runningOf } from "./internal.js";
4
4
  import { start } from "./index.js";
5
+ import { compose } from "./web-plugin.js";
5
6
  /** Starts the application, renders it once, and ends it. No target object, no DOM. */
6
- export const renderToHtml = (app, options) => Effect.scoped(Effect.gen(function* () {
7
- const running = runningOf(yield* start(app, options));
8
- const viewed = yield* running.render;
9
- return { html: realizeHtml(viewed.render.tree, options.primitives), state: yield* running.state };
10
- }));
7
+ export const renderToHtml = (app, options) => Effect.suspend(() => {
8
+ // Composed before anything is acquired: a conflict fails the call with nothing started.
9
+ const composed = compose({ primitives: options.primitives, platform: options.platform, head: options.head }, options.plugins ?? []);
10
+ return Effect.scoped(Effect.gen(function* () {
11
+ const running = runningOf(yield* start(app, { ...options, ...(composed.platform === undefined ? {} : { platform: composed.platform }) }));
12
+ const viewed = yield* running.render;
13
+ const state = yield* running.state;
14
+ return { html: realizeHtml(viewed.render.tree, composed.primitives), state, head: composed.head?.(state) ?? {} };
15
+ }));
16
+ });
11
17
  //# sourceMappingURL=web-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-server.js","sourceRoot":"","sources":["../src/web-server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOnC,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAsC,EACtC,OAAiE,EACJ,EAAE,CAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAErC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACpG,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"web-server.js","sourceRoot":"","sources":["../src/web-server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAkB1C,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAsC,EACtC,OAAyB,EACoC,EAAE,CAC/D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;IAClB,wFAAwF;IACxF,MAAM,QAAQ,GAAG,OAAO,CAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEvI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1I,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAEnC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACnH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC"}
package/dist/web.d.ts CHANGED
@@ -6,11 +6,13 @@
6
6
  import type { HydrationResult, WebPort, WebPortOptions, WebPrimitive, WebPrimitives } from "@valancex/port-web";
7
7
  import type { BoundaryValue } from "@valancex/mesh-runtime";
8
8
  import type { Ambient, ApplicationDefinition, ApplicationHandle, Mounted, StartOptions, TargetFactory } from "./index.js";
9
+ import type { HeadTags, Navigation, Plugin } from "./web-plugin.js";
9
10
  import { Effect, Scope } from "effect";
10
11
  export type { HydrationResult, WebPrimitive, WebPrimitives } from "@valancex/port-web";
11
12
  export { attribute, booleanAttribute, controlled, property, textProperty } from "@valancex/port-web";
12
13
  export { event } from "./web-payload.js";
13
14
  export type { PayloadKind } from "./web-payload.js";
15
+ export type { Delivery, HeadTags, LinkTag, MetaTag, Navigation, Plugin, RouteTable } from "./web-plugin.js";
14
16
  /**
15
17
  * A link: an `<a>` whose one prop, `href`, is the destination. It declares no event: with `history` and a `container` (which `run` supplies), a click on it is the
16
18
  * application's own navigation (see `HistoryOptions.container`), and without them it is an ordinary anchor. Put it in the primitives table under the name the view uses.
@@ -49,6 +51,20 @@ export interface HistoryOptions<S> {
49
51
  * already on (a `#fragment`), and a click something else already handled (`defaultPrevented`). Absent: links are ordinary anchors. `run` passes its own container.
50
52
  */
51
53
  readonly container?: Element;
54
+ /**
55
+ * What the document's head says for a state: the title, the metas and the links (a stylesheet, a canonical URL). It is kept in step like `titleOf`, set for the first state and for
56
+ * every later one, and the server writes the result of this same function for the state it rendered (`renderToHtml`'s `head`, then `renderHead`). It replaces only the elements
57
+ * it wrote before (marked `data-valance-head`); an element it did not write is never touched. A title here wins over `titleOf`. A head the head refuses (a link whose href
58
+ * carries script) is logged and leaves the document as it was. Absent: the head is left alone.
59
+ */
60
+ readonly head?: (state: S) => HeadTags;
61
+ /**
62
+ * Called after a navigation is accounted for, with how it happened and the destination as the browser has it, `#fragment` included. This is where scroll and focus policy
63
+ * belongs (scroll to the fragment, move focus to the main region): VALANCE decides neither, except that a link click to a place without a fragment starts at the top, as it
64
+ * always did. It runs after the URL is written (a link click) or after the navigate command finished (Back and Forward), and not at all for a link click that leads to the
65
+ * state already shown. A defect in it is logged and ends nothing. Absent: nothing is called.
66
+ */
67
+ readonly onNavigated?: (navigation: Navigation) => void;
52
68
  }
53
69
  /**
54
70
  * Keeps `location` and the application in step, in both directions, until the caller's Scope closes.
@@ -75,8 +91,8 @@ export declare const history: <S, E>(application: ApplicationHandle<S, E>, optio
75
91
  export interface RunOptions<S> extends StartOptions<S> {
76
92
  /** The element the application is presented in. */
77
93
  readonly container: Element;
78
- /** The application's Web realization table (the same one the server rendered with, when it did). */
79
- readonly primitives: WebPrimitives;
94
+ /** The application's Web realization table (the same one the server rendered with, when it did). Absent: only the tags its plugins add. */
95
+ readonly primitives?: WebPrimitives;
80
96
  /**
81
97
  * Explicit, and never inferred from what the container holds. `"mount"` creates the presentation: whatever the container held is replaced.
82
98
  * `"hydrate"` adopts server-rendered markup in the container with the client's own render, and reports whether it did in `Host.mounted.hydration`.
@@ -84,6 +100,12 @@ export interface RunOptions<S> extends StartOptions<S> {
84
100
  readonly present: "mount" | "hydrate";
85
101
  /** The application's own URL policy, handed to `history` unread. Absent: the URL is not kept in step. */
86
102
  readonly history?: HistoryOptions<S>;
103
+ /**
104
+ * Plugins, composed with the application's own declarations by `compose` (see `./web/plugin` for the rules: a tag and the URL policy are declared once, platforms merge in order,
105
+ * heads merge with the application's first). Absent: none, and the run is exactly what it was. A plugin that declares `routes` is the URL policy; `history` and `routes` together
106
+ * are a `plugin-conflict`.
107
+ */
108
+ readonly plugins?: ReadonlyArray<Plugin<S>>;
87
109
  }
88
110
  /** One application running on one page: the core's handle, the presentation, and the one operation the host adds. */
89
111
  export interface Host<S, E> {
package/dist/web.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
package/dist/web.js CHANGED
@@ -2,6 +2,7 @@ import { attribute, controlled, createWebPort } from "@valancex/port-web";
2
2
  import { hydrate, mount, start } from "./index.js";
3
3
  import { INPUT_KEY, runningOf } from "./internal.js";
4
4
  import { event } from "./web-payload.js";
5
+ import { applyHead, compose } from "./web-plugin.js";
5
6
  import { Cause, Effect, Exit, Fiber, Option, Queue, Scope, Stream } from "effect";
6
7
  export { attribute, booleanAttribute, controlled, property, textProperty } from "@valancex/port-web";
7
8
  export { event } from "./web-payload.js";
@@ -77,25 +78,46 @@ export const history = (application, options) => Effect.gen(function* () {
77
78
  // A link click whose destination starts at the top is waiting for its URL to be written: the browser records the position of the entry being left WHEN the URL is pushed, so the
78
79
  // reset must come after the push, never before it, or Back would restore the top.
79
80
  let top = false;
81
+ // The destination of the link click that is waiting for its URL to be written, so `onNavigated` can be told once the write has happened.
82
+ let arrived;
83
+ // `onNavigated` is the plugin's or the application's: a defect in it is logged and ends nothing, like every other function it supplies.
84
+ const announce = (navigation) => options.onNavigated === undefined
85
+ ? Effect.void
86
+ : Effect.try(() => { options.onNavigated?.(navigation); }).pipe(Effect.catchAllCause((cause) => Effect.logError("navigation hook failed", cause)));
80
87
  const follower = yield* Stream.runForEach(Stream.merge(Stream.map(running.states, (state) => ({ _tag: "state", state })), Stream.map(Stream.fromQueue(popped), (href) => ({ _tag: "popstate", href }))), (event) => (event._tag === "state"
81
- ? Effect.sync(() => {
82
- const url = options.urlOf(event.state);
83
- if (last === undefined) {
84
- last = url;
85
- }
86
- else if (url !== last) {
87
- last = url;
88
- win.history.pushState(null, "", url);
89
- if (top) {
90
- top = false;
91
- if (win.scrollY !== 0 || win.scrollX !== 0) {
92
- win.scrollTo(0, 0);
88
+ ? Effect.gen(function* () {
89
+ // The URL first. The link click this write answers (if any) is taken here, once, so it is announced once.
90
+ const landed = yield* Effect.sync(() => {
91
+ const url = options.urlOf(event.state);
92
+ if (last === undefined) {
93
+ last = url;
94
+ }
95
+ else if (url !== last) {
96
+ last = url;
97
+ win.history.pushState(null, "", url);
98
+ if (top) {
99
+ top = false;
100
+ if (win.scrollY !== 0 || win.scrollX !== 0) {
101
+ win.scrollTo(0, 0);
102
+ }
93
103
  }
104
+ const destination = arrived;
105
+ arrived = undefined;
106
+ return destination;
94
107
  }
95
- }
96
- // After the URL, so a title function that throws cannot keep the URL from following the state.
97
- if (options.titleOf !== undefined) {
98
- win.document.title = options.titleOf(event.state);
108
+ return undefined;
109
+ });
110
+ // After the URL, so a title or head function that throws cannot keep the URL from following the state. The head wins over the title.
111
+ yield* Effect.sync(() => {
112
+ if (options.titleOf !== undefined) {
113
+ win.document.title = options.titleOf(event.state);
114
+ }
115
+ if (options.head !== undefined) {
116
+ applyHead(win.document, options.head(event.state));
117
+ }
118
+ }).pipe(Effect.catchAllCause((cause) => Effect.logError("history synchronization failed", cause)));
119
+ if (landed !== undefined) {
120
+ yield* announce({ kind: "link", url: landed });
99
121
  }
100
122
  })
101
123
  : Effect.gen(function* () {
@@ -103,6 +125,7 @@ export const history = (application, options) => Effect.gen(function* () {
103
125
  yield* running.invoke(navigateKey, [{ value: options.stateOf(new URL(event.href)) }]).pipe(Effect.catchAllCause((cause) => Effect.logError("popstate navigation failed", cause)));
104
126
  // The state the popstate produced is the new baseline, whatever URL history happens to hold for it.
105
127
  last = options.urlOf(yield* running.state);
128
+ yield* announce({ kind: "popstate", url: new URL(event.href) });
106
129
  })).pipe(
107
130
  // `urlOf` and `stateOf` are the application's: a defect in either is a failed synchronization, logged like a failed popstate navigation.
108
131
  // It never ends the follower, which would silently stop every later URL write; the baseline stays where it was.
@@ -120,11 +143,13 @@ export const history = (application, options) => Effect.gen(function* () {
120
143
  // A link click is a page change, and a page change starts at the top, as a native link does (taking the click took that with it). The follower does it, after it writes the URL.
121
144
  // Back and Forward are not this: the browser restores their position itself. A destination with a #fragment is the application's own to scroll to.
122
145
  top = destination.hash === "";
146
+ arrived = destination;
123
147
  Effect.runFork(running.invoke(navigateKey, [{ value: options.stateOf(destination) }]).pipe(Effect.flatMap(() => running.state),
124
148
  // The command is done. If the state's URL is the one already written, no push is coming (or it already happened): nothing is waiting for the top any more.
125
149
  Effect.flatMap((state) => Effect.sync(() => { if (options.urlOf(state) === last) {
126
150
  top = false;
127
- } })), Effect.catchAllCause((cause) => Effect.sync(() => { top = false; }).pipe(Effect.zipRight(Effect.logError("link navigation failed", cause)))), Effect.forkIn(scope)));
151
+ arrived = undefined;
152
+ } })), Effect.catchAllCause((cause) => Effect.sync(() => { top = false; arrived = undefined; }).pipe(Effect.zipRight(Effect.logError("link navigation failed", cause)))), Effect.forkIn(scope)));
128
153
  };
129
154
  container?.addEventListener("click", onClick);
130
155
  // Reverse order of the scope: before the application ends.
@@ -147,12 +172,27 @@ export const history = (application, options) => Effect.gen(function* () {
147
172
  */
148
173
  export const run = async (app, options) => {
149
174
  const scope = await Effect.runPromise(Scope.make());
175
+ // Composed before anything is acquired: a conflict is a mistake in the composition and fails the call, with nothing started.
176
+ const composed = compose({ primitives: options.primitives, platform: options.platform, routes: options.history !== undefined, head: options.history?.head }, options.plugins ?? []);
177
+ const view = options.container.ownerDocument.defaultView;
178
+ const policy = options.history !== undefined
179
+ ? (composed.head === undefined ? options.history : { ...options.history, head: composed.head })
180
+ : composed.routes === undefined || view === null
181
+ ? undefined
182
+ : {
183
+ window: view,
184
+ urlOf: composed.routes.urlOf,
185
+ stateOf: composed.routes.stateOf,
186
+ navigate: composed.routes.navigate,
187
+ ...(composed.routes.onNavigated === undefined ? {} : { onNavigated: composed.routes.onNavigated }),
188
+ ...(composed.head === undefined ? {} : { head: composed.head })
189
+ };
150
190
  const startup = Effect.gen(function* () {
151
- const handle = yield* start(app, options);
152
- const web = target({ container: options.container, primitives: options.primitives });
191
+ const handle = yield* start(app, { ...options, ...(composed.platform === undefined ? {} : { platform: composed.platform }) });
192
+ const web = target({ container: options.container, primitives: composed.primitives });
153
193
  const mounted = options.present === "hydrate" ? yield* hydrate(handle, web) : yield* mount(handle, web);
154
- if (options.history !== undefined) {
155
- yield* history(handle, { container: options.container, ...options.history });
194
+ if (policy !== undefined) {
195
+ yield* history(handle, { container: options.container, ...policy });
156
196
  }
157
197
  return { handle, mounted };
158
198
  });
package/dist/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGlF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAEvF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAiB;IACrC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;IACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAE,OAA4B,CAAC,KAAK,EAAE,CAAC,EAAE;CACpH,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAuC,EAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AA4C7I;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAE,GAAW,EAAE,SAAkB,EAAmB,EAAE;IAC9F,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACrH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqH,CAAC;IAC3I,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,MAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI,CAAC;IACzH,MAAM,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,SAAS,CAAyC,CAAC;IAEhF,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QACrK,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAExC,4HAA4H;IAC5H,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpJ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAO,WAAoC,EAAE,OAA0B,EAA2C,EAAE,CACzI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAU,CAAC;IAChD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,6IAA6I;IAC7I,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpG,qHAAqH;IACrH,IAAI,IAAwB,CAAC;IAC7B,iLAAiL;IACjL,kFAAkF;IAClF,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,yIAAyI;IACzI,IAAI,OAAwB,CAAC;IAC7B,wIAAwI;IACxI,MAAM,QAAQ,GAAG,CAAC,UAAsB,EAAuB,EAAE,CAC/D,OAAO,CAAC,WAAW,KAAK,SAAS;QAC/B,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvJ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACvC,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1E,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CACtF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;QAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACpB,0GAA0G;YAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,GAAG,GAAG,CAAC;gBACb,CAAC;qBAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACxB,IAAI,GAAG,GAAG,CAAC;oBACX,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;oBAErC,IAAI,GAAG,EAAE,CAAC;wBACR,GAAG,GAAG,KAAK,CAAC;wBAEZ,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;4BAC3C,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;oBAED,MAAM,WAAW,GAAG,OAAO,CAAC;oBAE5B,OAAO,GAAG,SAAS,CAAC;oBAEpB,OAAO,WAAW,CAAC;gBACrB,CAAC;gBAED,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,qIAAqI;YACrI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC;gBAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAEnG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACpB,4HAA4H;YAC5H,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC,CACtF,CAAC;YACF,oGAAoG;YACpG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CACH,CAAC,IAAI;IACJ,yIAAyI;IACzI,gHAAgH;IAChH,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAC1F,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,GAAS,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE7C,8KAA8K;IAC9K,+JAA+J;IAC/J,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE;QAC1C,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjG,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,iLAAiL;QACjL,mJAAmJ;QACnJ,GAAG,GAAG,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC;QAC9B,OAAO,GAAG,WAAW,CAAC;QAEtB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,2JAA2J;QAC3J,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,GAAG,GAAG,KAAK,CAAC;YAAC,OAAO,GAAG,SAAS,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1H,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EACjK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CACrB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAwB,CAAC,CAAC;IAE/D,2DAA2D;IAC3D,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClJ,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAmCL;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAA6C,GAAsC,EAAE,OAAsB,EAAuB,EAAE;IAC1J,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,6HAA6H;IAC7H,MAAM,QAAQ,GAAG,OAAO,CAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACvL,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;IACzD,MAAM,MAAM,GAAkC,OAAO,CAAC,OAAO,KAAK,SAAS;QACzE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/F,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAC9C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACA,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;gBAClC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAClG,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAChE,CAAC;IACN,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9H,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,MAAM,OAAO,GAA0B,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE/H,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,iJAAiJ;QACjJ,gEAAgE;QAChE,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAEtD,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,QAAmC,CAAC;IAExC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AACtG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valancex/valance",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "VALANCE application composition: starts a NEXUS application, renders it with MESH, and realizes it on a PORT target.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -27,6 +27,10 @@
27
27
  "types": "./dist/web-server.d.ts",
28
28
  "default": "./dist/web-server.js"
29
29
  },
30
+ "./web/plugin": {
31
+ "types": "./dist/web-plugin.d.ts",
32
+ "default": "./dist/web-plugin.js"
33
+ },
30
34
  "./web/build": {
31
35
  "types": "./dist/web-manifest.d.ts",
32
36
  "default": "./dist/web-manifest.js"
@@ -60,6 +64,7 @@
60
64
  "@valancex/mesh-runtime": "^0.10.0",
61
65
  "@valancex/port-web": "^0.4.0",
62
66
  "effect": "^3.10.0",
67
+ "esbuild": "0.28.2",
63
68
  "typescript": "^5.6.0",
64
69
  "vitest": "^3.2.0"
65
70
  },