@c9up/inker 0.1.4 → 0.1.6

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.
@@ -6,17 +6,20 @@
6
6
  * surfaces immediately instead of silently rendering with an unconfigured
7
7
  * Templates instance).
8
8
  *
9
- * `start()` lazily imports `@c9up/ream/services/router` + `@c9up/rosetta`
10
- * (both declared as `peerDependenciesMeta.optional`), builds the four
11
- * canonical helper bodies (`t` / `csrfField` / `url` / `asset`) closing
12
- * over a single `AsyncLocalStorage<InkerHttpContext>`, constructs the
13
- * `Templates` instance + `InkerRenderer`, and primes `services/main`'s
14
- * Proxy via `setInker`.
9
+ * `start()` resolves the host router from the container (Ream registers it as
10
+ * `'router'`) + the `@c9up/rosetta` translator (declared as
11
+ * `peerDependenciesMeta.optional`), builds the four canonical helper bodies
12
+ * (`t` / `csrfField` / `url` / `asset`) closing over a single
13
+ * `AsyncLocalStorage<InkerHttpContext>`, constructs the `Templates` instance +
14
+ * `InkerRenderer`, and primes `services/main`'s Proxy via `setInker`.
15
+ *
16
+ * Reading the router from the container — not importing
17
+ * `@c9up/ream/services/router` — keeps inker runtime-agnostic: a non-Ream host
18
+ * never registers `'router'`, so Phase 1 silently degrades (warn-once).
15
19
  *
16
20
  * Mirrors the StationProvider / AuroraProvider shape — duck-typed
17
21
  * container / config / app-context interfaces, `loadBearingCast<T>` as the
18
- * single sanctioned cross-package narrowing site, `isModuleNotFound`
19
- * silent-degradation in Phase 1, `#started` idempotency.
22
+ * single sanctioned cross-package narrowing site, `#started` idempotency.
20
23
  */
21
24
  import { AsyncLocalStorage } from "node:async_hooks";
22
25
  import type { HelperFn } from "./helpers.js";
@@ -25,6 +28,7 @@ import { type CacheMode } from "./Templates.js";
25
28
  interface InkerContainer {
26
29
  singleton<T>(token: unknown, factory: () => T): void;
27
30
  resolve<T = unknown>(token: unknown): T;
31
+ has(token: unknown): boolean;
28
32
  }
29
33
  interface InkerConfigStore {
30
34
  get<T = unknown>(key: string): T | undefined;
@@ -52,7 +56,12 @@ interface RosettaTranslator {
52
56
  defaultValue?: string;
53
57
  }): string;
54
58
  }
55
- /** @internal Reset module-level flags between tests. */
59
+ /**
60
+ * @internal Reset module-level flags between tests. The peer-missing and
61
+ * cwd-fallback warns are now per-instance (audit 2026-06-13), so they reset
62
+ * automatically with each new provider — this only clears the remaining
63
+ * module-scoped override-warn set.
64
+ */
56
65
  export declare function resetInkerProviderFlags(): void;
57
66
  export default class InkerProvider {
58
67
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"InkerProvider.d.ts","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InkerProvider.d.ts","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,gBAAgB,CAAC;AAI3D,UAAU,cAAc;IACvB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,UAAU,gBAAgB;IACzB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;CACzB;AAID,MAAM,WAAW,mBAAmB;IACnC,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mGAAmG;IACnG,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACvD;AAID,UAAU,UAAU;IACnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;CAC/D;AAED,UAAU,iBAAiB;IAC1B,CAAC,CACA,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CACd,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CACnD,EACD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,MAAM,CAAC;CACV;AAMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAID,MAAM,CAAC,OAAO,OAAO,aAAa;;IAerB,SAAS,CAAC,GAAG,EAAE,eAAe;gBAApB,GAAG,EAAE,eAAe;IAE1C,QAAQ,IAAI,IAAI;IASV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAqE/B;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACb,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GACtC,OAAO,GAAG,OAAO,CAQnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EACtD,OAAO,EAAE,MAAM,GACb,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAmC9C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC3B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,EAM1D,WAAW,GAAE,GAAG,CAAC,MAAM,CAA4B,GACjD,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAkBvB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE,OAAO,GACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAwCpC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAahD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACzD,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAuFvB"}
@@ -6,17 +6,20 @@
6
6
  * surfaces immediately instead of silently rendering with an unconfigured
7
7
  * Templates instance).
8
8
  *
9
- * `start()` lazily imports `@c9up/ream/services/router` + `@c9up/rosetta`
10
- * (both declared as `peerDependenciesMeta.optional`), builds the four
11
- * canonical helper bodies (`t` / `csrfField` / `url` / `asset`) closing
12
- * over a single `AsyncLocalStorage<InkerHttpContext>`, constructs the
13
- * `Templates` instance + `InkerRenderer`, and primes `services/main`'s
14
- * Proxy via `setInker`.
9
+ * `start()` resolves the host router from the container (Ream registers it as
10
+ * `'router'`) + the `@c9up/rosetta` translator (declared as
11
+ * `peerDependenciesMeta.optional`), builds the four canonical helper bodies
12
+ * (`t` / `csrfField` / `url` / `asset`) closing over a single
13
+ * `AsyncLocalStorage<InkerHttpContext>`, constructs the `Templates` instance +
14
+ * `InkerRenderer`, and primes `services/main`'s Proxy via `setInker`.
15
+ *
16
+ * Reading the router from the container — not importing
17
+ * `@c9up/ream/services/router` — keeps inker runtime-agnostic: a non-Ream host
18
+ * never registers `'router'`, so Phase 1 silently degrades (warn-once).
15
19
  *
16
20
  * Mirrors the StationProvider / AuroraProvider shape — duck-typed
17
21
  * container / config / app-context interfaces, `loadBearingCast<T>` as the
18
- * single sanctioned cross-package narrowing site, `isModuleNotFound`
19
- * silent-degradation in Phase 1, `#started` idempotency.
22
+ * single sanctioned cross-package narrowing site, `#started` idempotency.
20
23
  */
21
24
  import { AsyncLocalStorage } from "node:async_hooks";
22
25
  import * as fs from "node:fs";
@@ -27,13 +30,14 @@ import { SafeString } from "./SafeString.js";
27
30
  import { setInker } from "./services/main.js";
28
31
  import { Templates } from "./Templates.js";
29
32
  // ─── Module-scoped flags (process-level, not instance-level) ─────────
30
- let peerWarnEmitted = false;
31
- let appRootFallbackWarned = false;
32
33
  const overrideWarnEmittedNames = new Set();
33
- /** @internal Reset module-level flags between tests. */
34
+ /**
35
+ * @internal Reset module-level flags between tests. The peer-missing and
36
+ * cwd-fallback warns are now per-instance (audit 2026-06-13), so they reset
37
+ * automatically with each new provider — this only clears the remaining
38
+ * module-scoped override-warn set.
39
+ */
34
40
  export function resetInkerProviderFlags() {
35
- peerWarnEmitted = false;
36
- appRootFallbackWarned = false;
37
41
  overrideWarnEmittedNames.clear();
38
42
  }
39
43
  // ─── Provider class ──────────────────────────────────────────────
@@ -47,6 +51,11 @@ export default class InkerProvider {
47
51
  // and multi-tenant scenarios where each tenant has its own provider with
48
52
  // its own additionalHelpers map.
49
53
  #overrideWarnedNames = new Set();
54
+ // Per-instance warn-once flags (audit 2026-06-13, same class as P17): module
55
+ // -level flags meant a second provider in the same process silently skipped
56
+ // its missing-peer / cwd-fallback diagnostic.
57
+ #peerWarnEmitted = false;
58
+ #appRootFallbackWarned = false;
50
59
  constructor(app) {
51
60
  this.app = app;
52
61
  }
@@ -62,31 +71,21 @@ export default class InkerProvider {
62
71
  async start() {
63
72
  if (this.#started)
64
73
  return;
65
- // Phase 1 — lazy peer imports. Both `@c9up/ream/services/router` and
66
- // `@c9up/rosetta` are optional peers. Module-not-found is the
67
- // degraded-host signal: silently return + warn-once. Anything else
68
- // re-throws.
69
- let router;
70
- let rosetta;
71
- try {
72
- // Variable specifier so tsc does not statically resolve the optional
73
- // `@c9up/ream` peer at build time (keeps inker standalone-buildable).
74
- const routerSpecifier = "@c9up/ream/services/router";
75
- const routerMod = await import(routerSpecifier);
76
- router = routerMod.default;
77
- const rosettaContainer = this.#resolveRosetta();
78
- if (rosettaContainer === undefined) {
79
- this.#warnPeerMissingOnce("`@c9up/rosetta` is available as a module but no Rosetta instance is registered in the container. The `t()` helper will throw at first render.");
80
- return;
81
- }
82
- rosetta = rosettaContainer;
74
+ // Phase 1 — resolve the host router + the Rosetta translator from the
75
+ // container. Reading both from the container — not importing
76
+ // `@c9up/ream/services/router` keeps inker runtime-agnostic: a non-Ream
77
+ // host never registers `'router'`. Either peer missing → warn-once + skip
78
+ // (rendering stays disabled until both are present). The container yields
79
+ // the real Router instance; factory-thrown errors propagate.
80
+ if (!this.app.container.has("router")) {
81
+ this.#warnPeerMissingOnce("No `'router'` registered in the container (host is not Ream, or the router is not wired). Inker rendering is disabled until a Ream router is present.");
82
+ return;
83
83
  }
84
- catch (err) {
85
- if (isModuleNotFound(err)) {
86
- this.#warnPeerMissingOnce("`@c9up/ream/services/router` or `@c9up/rosetta` is not installed. Inker rendering is disabled until both peers are present.");
87
- return;
88
- }
89
- throw err;
84
+ const router = this.app.container.resolve("router");
85
+ const rosetta = this.#resolveRosetta();
86
+ if (rosetta === undefined) {
87
+ this.#warnPeerMissingOnce("`@c9up/rosetta` is not registered in the container. Inker rendering is disabled until a Rosetta instance is present.");
88
+ return;
90
89
  }
91
90
  // Phase 2 — resolve config.
92
91
  const config = this.app.config.get("inker") ?? {};
@@ -128,9 +127,9 @@ export default class InkerProvider {
128
127
  return this.#renderer;
129
128
  }
130
129
  #warnPeerMissingOnce(detail) {
131
- if (peerWarnEmitted)
130
+ if (this.#peerWarnEmitted)
132
131
  return;
133
- peerWarnEmitted = true;
132
+ this.#peerWarnEmitted = true;
134
133
  console.warn(`[inker] ${detail} See https://ream.dev/modules/inker.`);
135
134
  }
136
135
  #readAppRoot() {
@@ -148,8 +147,8 @@ export default class InkerProvider {
148
147
  if (!isContainerNotFound(err))
149
148
  throw err;
150
149
  }
151
- if (!appRootFallbackWarned) {
152
- appRootFallbackWarned = true;
150
+ if (!this.#appRootFallbackWarned) {
151
+ this.#appRootFallbackWarned = true;
153
152
  console.warn("[inker] No `appRoot` binding (URL or string) resolved from the container; falling back to process.cwd(). Templates and the asset manifest will be read relative to the process working directory — bind `appRoot` in the host container if that is not what you want.");
154
153
  }
155
154
  return process.cwd();
@@ -415,13 +414,6 @@ function isRosettaShape(value) {
415
414
  typeof value === "object" &&
416
415
  typeof Reflect.get(value, "t") === "function");
417
416
  }
418
- /** Node's ERR_MODULE_NOT_FOUND surfaces on an Error subclass with `code`. */
419
- function isModuleNotFound(err) {
420
- if (err === null || typeof err !== "object" || !("code" in err))
421
- return false;
422
- const { code } = err;
423
- return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
424
- }
425
417
  /**
426
418
  * Ream's container throws a `ReamError` with `code === "CONTAINER_NOT_FOUND"`
427
419
  * when a token is unbound. Duck-typed here so `@c9up/ream` stays an optional
@@ -1 +1 @@
1
- {"version":3,"file":"InkerProvider.js","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InkerProvider.js","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAkB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAiD3D,wEAAwE;AAExE,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB;IACtC,wBAAwB,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,oEAAoE;AAEpE,MAAM,CAAC,OAAO,OAAO,aAAa;IAeX;IAdtB,IAAI,CAAkD;IACtD,SAAS,CAA4B;IACrC,QAAQ,GAAG,KAAK,CAAC;IACjB,uEAAuE;IACvE,uEAAuE;IACvE,yEAAyE;IACzE,iCAAiC;IACxB,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,6EAA6E;IAC7E,4EAA4E;IAC5E,8CAA8C;IAC9C,gBAAgB,GAAG,KAAK,CAAC;IACzB,sBAAsB,GAAG,KAAK,CAAC;IAE/B,YAAsB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAE9C,QAAQ;QACP,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,CAChD,IAAI,CAAC,mBAAmB,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAgB,aAAa,CAAC,CACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACT,mEAAmE;QACnE,iEAAiE;QACjE,gDAAgD;IACjD,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,sEAAsE;QACtE,6DAA6D;QAC7D,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,oBAAoB,CACxB,uJAAuJ,CACvJ,CAAC;YACF,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAa,QAAQ,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CACxB,sHAAsH,CACtH,CAAC;YACF,OAAO;QACR,CAAC;QAED,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEvE,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAAoB,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,MAAM,SAAS,GAAG,qBAAqB,CACtC,GAAG,EACH,OAAO,EACP,MAAM,EACN,aAAa,CACb,CAAC;QAEF,wEAAwE;QACxE,MAAM,MAAM,GAAG,YAAY,CAC1B,SAAS,EACT,MAAM,CAAC,iBAAiB,EACxB,IAAI,CAAC,oBAAoB,CACzB,CAAC;QAEF,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC/B,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,OAAO,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,KAAK,CAAC,QAAQ;QACb,sEAAsE;QACtE,mEAAmE;QACnE,0EAA0E;QAC1E,sEAAsE;QACtE,oEAAoE;QACpE,oEAAoE;IACrE,CAAC;IAED,mBAAmB;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACd,mEAAmE;gBAClE,sEAAsE,CACvE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,oBAAoB,CAAC,MAAc;QAClC,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAED,YAAY;QACX,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAU,SAAS,CAAC,CAAC;YAC3D,IAAI,GAAG,YAAY,GAAG;gBAAE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,kEAAkE;YAClE,8DAA8D;YAC9D,gBAAgB;YAChB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,IAAI,CACX,uQAAuQ,CACvQ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,eAAe;QACd,oEAAoE;QACpE,yDAAyD;QACzD,8CAA8C;QAC9C,EAAE;QACF,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,+DAA+D;QAC/D,gEAAgE;QAChE,MAAM,MAAM,GAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAU,KAAK,CAAC,CAAC;gBAC7D,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,mBAAmB,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACvC,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AAED,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CACnC,QAA4B,EAC5B,OAAe;IAEf,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC/B,QAAwC;IAExC,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,sFAAsF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CACjH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAChC,QAAsD,EACtD,OAAe;IAEf,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAClE,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACJ,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,kEAAkE;QAClE,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,IAAI,GACT,GAAG,YAAY,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CACX,4CAA4C,YAAY,KAAK,IAAI,+EAA+E,CAChJ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC3B,SAAwC,EACxC,UAA0D;AAC1D,0EAA0E;AAC1E,wEAAwE;AACxE,gEAAgE;AAChE,uEAAuE;AACvE,6DAA6D;AAC7D,cAA2B,wBAAwB;IAEnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,6BAA6B,IAAI,4BAA4B,OAAO,EAAE,GAAG,CACzE,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CACX,6BAA6B,IAAI,8EAA8E,CAC/G,CAAC;QACH,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC9B,GAAY;IAEZ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,oDAAoD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAChG,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,0EAA0E;IAC1E,wEAAwE;IACxE,mBAAmB;IACnB,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,4GAA4G,CAC5G,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACd,wBAAwB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,qCAAqC,CACvG,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACd,wBAAwB,CAAC,8DAA8D,CACvF,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,yDAAyD;QACzD,oEAAoE;QACpE,iEAAiE;QACjE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACd,wBAAwB,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,uCAAuC,CAClI,CAAC;QACH,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACvC,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,UAAU;IACV,OAAO,KAAK;SACV,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACpC,GAAwC,EACxC,OAA0B,EAC1B,MAAkB,EAClB,aAA2D;IAE3D,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAoB,EAAE;QAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACd,WAAW,UAAU,yEAAyE,CAC9F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAwB,EAAU,EAAE;QACxD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,GAAG,GAAG,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,0DAA0D;QAC1D,kEAAkE;QAClE,kEAAkE;QAClE,MAAM,aAAa,GAClB,MAAM,KAAK,SAAS;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAEd,MAAM,CAAC,CAAC;QACb,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAyB,EAAc,EAAE;QACrE,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACd,mHAAmH,CACnH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,UAAU,CACpB,4CAA4C,UAAU,CAAC,KAAK,CAAC,IAAI,CACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,KAAyB,EAAc,EAAE;QACpE,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACd,kHAAkH,CAClH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,UAAU,CACpB,oCAAoC,UAAU,CAAC,KAAK,CAAC,IAAI,CACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,KAAyB,EAAU,EAAE;QAChE,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,sEAAsE;QACtE,yEAAyE;QACzE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAwB,EAAU,EAAE;QAC1D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,mDAAmD,OAAO,IAAI,GAAG,CACjE,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAwB,EAAU,EAAE;QAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,qDAAqD,OAAO,IAAI,GAAG,CACnE,CAAC;QACH,CAAC;QACD,OAAO,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,qEAAqE;AAErE,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,CACN,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,UAAU,CAC7C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACxC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,OAAO,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAI,KAAc;IACzC,OAAO,KAAU,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Templates.d.ts","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAiB7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACxC;AAsiBD,qBAAa,SAAS;;gBAaT,OAAO,EAAE,gBAAgB;IA2B/B,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAsElB,YAAY,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,MAAM;IA6HT,UAAU,IAAI,IAAI;CAwflB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Templates.d.ts","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAiB7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACxC;AAsiBD,qBAAa,SAAS;;gBAaT,OAAO,EAAE,gBAAgB;IA2B/B,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAsElB,YAAY,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,MAAM;IA6HT,UAAU,IAAI,IAAI;CAggBlB;AAED,eAAe,SAAS,CAAC"}
package/dist/Templates.js CHANGED
@@ -693,16 +693,12 @@ export class Templates {
693
693
  column: bodySlot.column,
694
694
  });
695
695
  }
696
- // Resolve all partials reachable from the body AST (slot-in-partial
697
- // rejection happens inside #resolvePartialsIn as each partial loads).
698
- await this.#resolvePartialsIn(entryInfo.partials, partialAsts, includeStack, entryAbsPath);
699
- // Resolve all components reachable from the body AST.
700
- await this.#resolveComponentsIn(entryInfo.components, componentAsts, includeStack, entryAbsPath);
696
+ // Resolve partials + components reachable from the body AST. Both
697
+ // resolvers recurse mutually, so the full transitive closure (partials
698
+ // inside components and vice versa) is pre-loaded here.
699
+ await this.#resolvePartialsIn(entryInfo.partials, partialAsts, componentAsts, includeStack, entryAbsPath);
700
+ await this.#resolveComponentsIn(entryInfo.components, partialAsts, componentAsts, includeStack, entryAbsPath);
701
701
  if (!hasLayout) {
702
- // Resolve components transitively reachable from partials.
703
- for (const partialAst of partialAsts.values()) {
704
- await this.#resolveComponentsIn(partialAst.composeInfo.components, componentAsts, includeStack, entryAbsPath);
705
- }
706
702
  return { bodyAst, partialAsts, componentAsts };
707
703
  }
708
704
  // Resolve the layout file.
@@ -762,12 +758,10 @@ export class Templates {
762
758
  templateName: layoutValidated,
763
759
  });
764
760
  }
765
- // Resolve partials + components reachable from the layout AST.
766
- await this.#resolvePartialsIn(layoutInfo.partials, partialAsts, includeStack, layoutAbsPath);
767
- await this.#resolveComponentsIn(layoutInfo.components, componentAsts, includeStack, layoutAbsPath);
768
- for (const partialAst of partialAsts.values()) {
769
- await this.#resolveComponentsIn(partialAst.composeInfo.components, componentAsts, includeStack, layoutAbsPath);
770
- }
761
+ // Resolve partials + components reachable from the layout AST (mutual
762
+ // recursion covers the full transitive closure).
763
+ await this.#resolvePartialsIn(layoutInfo.partials, partialAsts, componentAsts, includeStack, layoutAbsPath);
764
+ await this.#resolveComponentsIn(layoutInfo.components, partialAsts, componentAsts, includeStack, layoutAbsPath);
771
765
  }
772
766
  finally {
773
767
  includeStack.delete(layoutAbsPath);
@@ -781,7 +775,7 @@ export class Templates {
781
775
  componentAsts,
782
776
  };
783
777
  }
784
- async #resolvePartialsIn(refs, partialAsts, includeStack, hostAbsPath) {
778
+ async #resolvePartialsIn(refs, partialAsts, componentAsts, includeStack, hostAbsPath) {
785
779
  for (const node of refs) {
786
780
  const partialValidated = validateName(node.name);
787
781
  const partialAbsPath = path.join(this.#root, `${partialValidated}.inker`);
@@ -829,15 +823,17 @@ export class Templates {
829
823
  });
830
824
  }
831
825
  partialAsts.set(partialKey, partialAst);
832
- // Recurse into nested partials.
833
- await this.#resolvePartialsIn(info.partials, partialAsts, includeStack, partialAbsPath);
826
+ // Recurse into nested partials AND components reachable from this
827
+ // partial (mutual recursion full transitive closure).
828
+ await this.#resolvePartialsIn(info.partials, partialAsts, componentAsts, includeStack, partialAbsPath);
829
+ await this.#resolveComponentsIn(info.components, partialAsts, componentAsts, includeStack, partialAbsPath);
834
830
  }
835
831
  finally {
836
832
  includeStack.delete(partialAbsPath);
837
833
  }
838
834
  }
839
835
  }
840
- async #resolveComponentsIn(refs, componentAsts, includeStack, hostAbsPath) {
836
+ async #resolveComponentsIn(refs, partialAsts, componentAsts, includeStack, hostAbsPath) {
841
837
  for (const node of refs) {
842
838
  const componentName = `components/${node.name}`;
843
839
  const componentValidated = validateName(componentName);
@@ -887,8 +883,11 @@ export class Templates {
887
883
  });
888
884
  }
889
885
  componentAsts.set(componentKey, componentAst);
890
- // Recurse into nested components.
891
- await this.#resolveComponentsIn(info.components, componentAsts, includeStack, componentAbsPath);
886
+ // Recurse into nested components AND partials included inside this
887
+ // component (mutual recursion a {% include %} in a component is
888
+ // pre-loaded, fixing E_INKER_DISK_REQUIRED at render time).
889
+ await this.#resolveComponentsIn(info.components, partialAsts, componentAsts, includeStack, componentAbsPath);
890
+ await this.#resolvePartialsIn(info.partials, partialAsts, componentAsts, includeStack, componentAbsPath);
892
891
  }
893
892
  finally {
894
893
  includeStack.delete(componentAbsPath);
@@ -1 +1 @@
1
- {"version":3,"file":"Templates.js","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Templates.js","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -32,6 +32,23 @@ export type THelper = (key: string, params?: Record<string, unknown>) => string;
32
32
  * wiring the session's CSRF token.
33
33
  */
34
34
  export type CsrfFieldHelper = () => SafeString;
35
+ /**
36
+ * Signature for the canonical `csrfMeta()` helper.
37
+ *
38
+ * Returns a `SafeString` containing the `<meta name="csrf-token" …>` element
39
+ * (for JS clients to read the token). Like `csrfField`, returning a `SafeString`
40
+ * is mandatory so the renderer doesn't escape the markup. Provided by the Ream
41
+ * provider wiring the session's CSRF token.
42
+ */
43
+ export type CsrfMetaHelper = () => SafeString;
44
+ /**
45
+ * Signature for the canonical `cspNonce()` helper.
46
+ *
47
+ * Returns the per-request Content-Security-Policy nonce (a plain string) so
48
+ * inline `<script nonce="…">` tags match the response CSP header, or `""` when
49
+ * no nonce is set. Provided by the Ream provider.
50
+ */
51
+ export type CspNonceHelper = () => string;
35
52
  /**
36
53
  * Signature for the canonical `url(name, params?)` helper.
37
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,MAAM,GAAG,UAAU,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAEhF;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,MAAM,CAAC;AAEZ;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,MAAM,GAAG,UAAU,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAEhF;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,MAAM,CAAC;AAEZ;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { AssetHelper, CsrfFieldHelper, HelperFn, THelper, UrlHelper, } from "./helpers.js";
1
+ export type { AssetHelper, CspNonceHelper, CsrfFieldHelper, CsrfMetaHelper, HelperFn, THelper, UrlHelper, } from "./helpers.js";
2
2
  export { type InkerErrorCode, type InkerErrorContext, InkerRenderError, } from "./InkerRenderError.js";
3
3
  export { SafeString } from "./SafeString.js";
4
4
  export { Templates, type TemplatesOptions } from "./Templates.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,WAAW,EACX,eAAe,EACf,QAAQ,EACR,OAAO,EACP,SAAS,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,QAAQ,EACR,OAAO,EACP,SAAS,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAGN,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAGN,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC"}
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/inker",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Inker — server-side templating for the Ream framework. Hand-rolled lexer/parser/renderer with HTML-escape-by-default interpolation and .inker file convention.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -6,17 +6,20 @@
6
6
  * surfaces immediately instead of silently rendering with an unconfigured
7
7
  * Templates instance).
8
8
  *
9
- * `start()` lazily imports `@c9up/ream/services/router` + `@c9up/rosetta`
10
- * (both declared as `peerDependenciesMeta.optional`), builds the four
11
- * canonical helper bodies (`t` / `csrfField` / `url` / `asset`) closing
12
- * over a single `AsyncLocalStorage<InkerHttpContext>`, constructs the
13
- * `Templates` instance + `InkerRenderer`, and primes `services/main`'s
14
- * Proxy via `setInker`.
9
+ * `start()` resolves the host router from the container (Ream registers it as
10
+ * `'router'`) + the `@c9up/rosetta` translator (declared as
11
+ * `peerDependenciesMeta.optional`), builds the four canonical helper bodies
12
+ * (`t` / `csrfField` / `url` / `asset`) closing over a single
13
+ * `AsyncLocalStorage<InkerHttpContext>`, constructs the `Templates` instance +
14
+ * `InkerRenderer`, and primes `services/main`'s Proxy via `setInker`.
15
+ *
16
+ * Reading the router from the container — not importing
17
+ * `@c9up/ream/services/router` — keeps inker runtime-agnostic: a non-Ream host
18
+ * never registers `'router'`, so Phase 1 silently degrades (warn-once).
15
19
  *
16
20
  * Mirrors the StationProvider / AuroraProvider shape — duck-typed
17
21
  * container / config / app-context interfaces, `loadBearingCast<T>` as the
18
- * single sanctioned cross-package narrowing site, `isModuleNotFound`
19
- * silent-degradation in Phase 1, `#started` idempotency.
22
+ * single sanctioned cross-package narrowing site, `#started` idempotency.
20
23
  */
21
24
 
22
25
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -35,6 +38,7 @@ import { type CacheMode, Templates } from "./Templates.js";
35
38
  interface InkerContainer {
36
39
  singleton<T>(token: unknown, factory: () => T): void;
37
40
  resolve<T = unknown>(token: unknown): T;
41
+ has(token: unknown): boolean;
38
42
  }
39
43
 
40
44
  interface InkerConfigStore {
@@ -78,14 +82,15 @@ interface RosettaTranslator {
78
82
 
79
83
  // ─── Module-scoped flags (process-level, not instance-level) ─────────
80
84
 
81
- let peerWarnEmitted = false;
82
- let appRootFallbackWarned = false;
83
85
  const overrideWarnEmittedNames = new Set<string>();
84
86
 
85
- /** @internal Reset module-level flags between tests. */
87
+ /**
88
+ * @internal Reset module-level flags between tests. The peer-missing and
89
+ * cwd-fallback warns are now per-instance (audit 2026-06-13), so they reset
90
+ * automatically with each new provider — this only clears the remaining
91
+ * module-scoped override-warn set.
92
+ */
86
93
  export function resetInkerProviderFlags(): void {
87
- peerWarnEmitted = false;
88
- appRootFallbackWarned = false;
89
94
  overrideWarnEmittedNames.clear();
90
95
  }
91
96
 
@@ -100,6 +105,11 @@ export default class InkerProvider {
100
105
  // and multi-tenant scenarios where each tenant has its own provider with
101
106
  // its own additionalHelpers map.
102
107
  readonly #overrideWarnedNames = new Set<string>();
108
+ // Per-instance warn-once flags (audit 2026-06-13, same class as P17): module
109
+ // -level flags meant a second provider in the same process silently skipped
110
+ // its missing-peer / cwd-fallback diagnostic.
111
+ #peerWarnEmitted = false;
112
+ #appRootFallbackWarned = false;
103
113
 
104
114
  constructor(protected app: InkerAppContext) {}
105
115
 
@@ -121,34 +131,25 @@ export default class InkerProvider {
121
131
  async start(): Promise<void> {
122
132
  if (this.#started) return;
123
133
 
124
- // Phase 1 — lazy peer imports. Both `@c9up/ream/services/router` and
125
- // `@c9up/rosetta` are optional peers. Module-not-found is the
126
- // degraded-host signal: silently return + warn-once. Anything else
127
- // re-throws.
128
- let router: ReamRouter;
129
- let rosetta: RosettaTranslator;
130
- try {
131
- // Variable specifier so tsc does not statically resolve the optional
132
- // `@c9up/ream` peer at build time (keeps inker standalone-buildable).
133
- const routerSpecifier = "@c9up/ream/services/router";
134
- const routerMod: { default: ReamRouter } = await import(routerSpecifier);
135
- router = routerMod.default;
136
- const rosettaContainer = this.#resolveRosetta();
137
- if (rosettaContainer === undefined) {
138
- this.#warnPeerMissingOnce(
139
- "`@c9up/rosetta` is available as a module but no Rosetta instance is registered in the container. The `t()` helper will throw at first render.",
140
- );
141
- return;
142
- }
143
- rosetta = rosettaContainer;
144
- } catch (err) {
145
- if (isModuleNotFound(err)) {
146
- this.#warnPeerMissingOnce(
147
- "`@c9up/ream/services/router` or `@c9up/rosetta` is not installed. Inker rendering is disabled until both peers are present.",
148
- );
149
- return;
150
- }
151
- throw err;
134
+ // Phase 1 — resolve the host router + the Rosetta translator from the
135
+ // container. Reading both from the container — not importing
136
+ // `@c9up/ream/services/router` keeps inker runtime-agnostic: a non-Ream
137
+ // host never registers `'router'`. Either peer missing → warn-once + skip
138
+ // (rendering stays disabled until both are present). The container yields
139
+ // the real Router instance; factory-thrown errors propagate.
140
+ if (!this.app.container.has("router")) {
141
+ this.#warnPeerMissingOnce(
142
+ "No `'router'` registered in the container (host is not Ream, or the router is not wired). Inker rendering is disabled until a Ream router is present.",
143
+ );
144
+ return;
145
+ }
146
+ const router = this.app.container.resolve<ReamRouter>("router");
147
+ const rosetta = this.#resolveRosetta();
148
+ if (rosetta === undefined) {
149
+ this.#warnPeerMissingOnce(
150
+ "`@c9up/rosetta` is not registered in the container. Inker rendering is disabled until a Rosetta instance is present.",
151
+ );
152
+ return;
152
153
  }
153
154
 
154
155
  // Phase 2 — resolve config.
@@ -210,8 +211,8 @@ export default class InkerProvider {
210
211
  }
211
212
 
212
213
  #warnPeerMissingOnce(detail: string): void {
213
- if (peerWarnEmitted) return;
214
- peerWarnEmitted = true;
214
+ if (this.#peerWarnEmitted) return;
215
+ this.#peerWarnEmitted = true;
215
216
  console.warn(`[inker] ${detail} See https://ream.dev/modules/inker.`);
216
217
  }
217
218
 
@@ -226,8 +227,8 @@ export default class InkerProvider {
226
227
  // cwd-fallback.
227
228
  if (!isContainerNotFound(err)) throw err;
228
229
  }
229
- if (!appRootFallbackWarned) {
230
- appRootFallbackWarned = true;
230
+ if (!this.#appRootFallbackWarned) {
231
+ this.#appRootFallbackWarned = true;
231
232
  console.warn(
232
233
  "[inker] No `appRoot` binding (URL or string) resolved from the container; falling back to process.cwd(). Templates and the asset manifest will be read relative to the process working directory — bind `appRoot` in the host container if that is not what you want.",
233
234
  );
@@ -562,13 +563,6 @@ function isRosettaShape(value: unknown): value is RosettaTranslator {
562
563
  );
563
564
  }
564
565
 
565
- /** Node's ERR_MODULE_NOT_FOUND surfaces on an Error subclass with `code`. */
566
- function isModuleNotFound(err: unknown): boolean {
567
- if (err === null || typeof err !== "object" || !("code" in err)) return false;
568
- const { code } = err;
569
- return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
570
- }
571
-
572
566
  /**
573
567
  * Ream's container throws a `ReamError` with `code === "CONTAINER_NOT_FOUND"`
574
568
  * when a token is unbound. Duck-typed here so `@c9up/ream` stays an optional
package/src/Templates.ts CHANGED
@@ -986,33 +986,25 @@ export class Templates {
986
986
  );
987
987
  }
988
988
 
989
- // Resolve all partials reachable from the body AST (slot-in-partial
990
- // rejection happens inside #resolvePartialsIn as each partial loads).
989
+ // Resolve partials + components reachable from the body AST. Both
990
+ // resolvers recurse mutually, so the full transitive closure (partials
991
+ // inside components and vice versa) is pre-loaded here.
991
992
  await this.#resolvePartialsIn(
992
993
  entryInfo.partials,
993
994
  partialAsts,
995
+ componentAsts,
994
996
  includeStack,
995
997
  entryAbsPath,
996
998
  );
997
-
998
- // Resolve all components reachable from the body AST.
999
999
  await this.#resolveComponentsIn(
1000
1000
  entryInfo.components,
1001
+ partialAsts,
1001
1002
  componentAsts,
1002
1003
  includeStack,
1003
1004
  entryAbsPath,
1004
1005
  );
1005
1006
 
1006
1007
  if (!hasLayout) {
1007
- // Resolve components transitively reachable from partials.
1008
- for (const partialAst of partialAsts.values()) {
1009
- await this.#resolveComponentsIn(
1010
- partialAst.composeInfo.components,
1011
- componentAsts,
1012
- includeStack,
1013
- entryAbsPath,
1014
- );
1015
- }
1016
1008
  return { bodyAst, partialAsts, componentAsts };
1017
1009
  }
1018
1010
 
@@ -1099,27 +1091,22 @@ export class Templates {
1099
1091
  );
1100
1092
  }
1101
1093
 
1102
- // Resolve partials + components reachable from the layout AST.
1094
+ // Resolve partials + components reachable from the layout AST (mutual
1095
+ // recursion covers the full transitive closure).
1103
1096
  await this.#resolvePartialsIn(
1104
1097
  layoutInfo.partials,
1105
1098
  partialAsts,
1099
+ componentAsts,
1106
1100
  includeStack,
1107
1101
  layoutAbsPath,
1108
1102
  );
1109
1103
  await this.#resolveComponentsIn(
1110
1104
  layoutInfo.components,
1105
+ partialAsts,
1111
1106
  componentAsts,
1112
1107
  includeStack,
1113
1108
  layoutAbsPath,
1114
1109
  );
1115
- for (const partialAst of partialAsts.values()) {
1116
- await this.#resolveComponentsIn(
1117
- partialAst.composeInfo.components,
1118
- componentAsts,
1119
- includeStack,
1120
- layoutAbsPath,
1121
- );
1122
- }
1123
1110
  } finally {
1124
1111
  includeStack.delete(layoutAbsPath);
1125
1112
  }
@@ -1137,6 +1124,7 @@ export class Templates {
1137
1124
  async #resolvePartialsIn(
1138
1125
  refs: readonly NapiNodeRef[],
1139
1126
  partialAsts: Map<string, NapiInkerAst>,
1127
+ componentAsts: Map<string, NapiInkerAst>,
1140
1128
  includeStack: Set<string>,
1141
1129
  hostAbsPath: string,
1142
1130
  ): Promise<void> {
@@ -1205,10 +1193,19 @@ export class Templates {
1205
1193
 
1206
1194
  partialAsts.set(partialKey, partialAst);
1207
1195
 
1208
- // Recurse into nested partials.
1196
+ // Recurse into nested partials AND components reachable from this
1197
+ // partial (mutual recursion → full transitive closure).
1209
1198
  await this.#resolvePartialsIn(
1210
1199
  info.partials,
1211
1200
  partialAsts,
1201
+ componentAsts,
1202
+ includeStack,
1203
+ partialAbsPath,
1204
+ );
1205
+ await this.#resolveComponentsIn(
1206
+ info.components,
1207
+ partialAsts,
1208
+ componentAsts,
1212
1209
  includeStack,
1213
1210
  partialAbsPath,
1214
1211
  );
@@ -1220,6 +1217,7 @@ export class Templates {
1220
1217
 
1221
1218
  async #resolveComponentsIn(
1222
1219
  refs: readonly NapiNodeRef[],
1220
+ partialAsts: Map<string, NapiInkerAst>,
1223
1221
  componentAsts: Map<string, NapiInkerAst>,
1224
1222
  includeStack: Set<string>,
1225
1223
  hostAbsPath: string,
@@ -1297,9 +1295,19 @@ export class Templates {
1297
1295
 
1298
1296
  componentAsts.set(componentKey, componentAst);
1299
1297
 
1300
- // Recurse into nested components.
1298
+ // Recurse into nested components AND partials included inside this
1299
+ // component (mutual recursion → a {% include %} in a component is
1300
+ // pre-loaded, fixing E_INKER_DISK_REQUIRED at render time).
1301
1301
  await this.#resolveComponentsIn(
1302
1302
  info.components,
1303
+ partialAsts,
1304
+ componentAsts,
1305
+ includeStack,
1306
+ componentAbsPath,
1307
+ );
1308
+ await this.#resolvePartialsIn(
1309
+ info.partials,
1310
+ partialAsts,
1303
1311
  componentAsts,
1304
1312
  includeStack,
1305
1313
  componentAbsPath,
package/src/helpers.ts CHANGED
@@ -36,6 +36,25 @@ export type THelper = (key: string, params?: Record<string, unknown>) => string;
36
36
  */
37
37
  export type CsrfFieldHelper = () => SafeString;
38
38
 
39
+ /**
40
+ * Signature for the canonical `csrfMeta()` helper.
41
+ *
42
+ * Returns a `SafeString` containing the `<meta name="csrf-token" …>` element
43
+ * (for JS clients to read the token). Like `csrfField`, returning a `SafeString`
44
+ * is mandatory so the renderer doesn't escape the markup. Provided by the Ream
45
+ * provider wiring the session's CSRF token.
46
+ */
47
+ export type CsrfMetaHelper = () => SafeString;
48
+
49
+ /**
50
+ * Signature for the canonical `cspNonce()` helper.
51
+ *
52
+ * Returns the per-request Content-Security-Policy nonce (a plain string) so
53
+ * inline `<script nonce="…">` tags match the response CSP header, or `""` when
54
+ * no nonce is set. Provided by the Ream provider.
55
+ */
56
+ export type CspNonceHelper = () => string;
57
+
39
58
  /**
40
59
  * Signature for the canonical `url(name, params?)` helper.
41
60
  *
package/src/index.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type {
2
2
  AssetHelper,
3
+ CspNonceHelper,
3
4
  CsrfFieldHelper,
5
+ CsrfMetaHelper,
4
6
  HelperFn,
5
7
  THelper,
6
8
  UrlHelper,