@c9up/inker 0.1.6 → 0.1.7

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.
Files changed (50) hide show
  1. package/README.md +1 -1
  2. package/dist/InkerProvider.d.ts +5 -1
  3. package/dist/InkerProvider.d.ts.map +1 -1
  4. package/dist/InkerProvider.js +33 -17
  5. package/dist/InkerProvider.js.map +1 -1
  6. package/dist/InkerRenderError.d.ts +1 -1
  7. package/dist/InkerRenderError.d.ts.map +1 -1
  8. package/dist/InkerRenderError.js.map +1 -1
  9. package/dist/InkerRenderer.d.ts +9 -0
  10. package/dist/InkerRenderer.d.ts.map +1 -1
  11. package/dist/InkerRenderer.js +13 -0
  12. package/dist/InkerRenderer.js.map +1 -1
  13. package/dist/Templates.d.ts +44 -0
  14. package/dist/Templates.d.ts.map +1 -1
  15. package/dist/Templates.js +271 -147
  16. package/dist/Templates.js.map +1 -1
  17. package/dist/globals.d.ts +10 -0
  18. package/dist/globals.d.ts.map +1 -0
  19. package/dist/globals.js +235 -0
  20. package/dist/globals.js.map +1 -0
  21. package/dist/identifierGuards.d.ts +2 -2
  22. package/dist/identifierGuards.js +2 -2
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/loadNapi.d.ts +6 -4
  27. package/dist/loadNapi.d.ts.map +1 -1
  28. package/dist/loadNapi.js +2 -2
  29. package/dist/loadNapi.js.map +1 -1
  30. package/dist/renderNode.d.ts +184 -0
  31. package/dist/renderNode.d.ts.map +1 -0
  32. package/dist/renderNode.js +479 -0
  33. package/dist/renderNode.js.map +1 -0
  34. package/index.darwin-arm64.node +0 -0
  35. package/index.darwin-x64.node +0 -0
  36. package/index.linux-arm64-gnu.node +0 -0
  37. package/index.linux-x64-gnu.node +0 -0
  38. package/index.win32-x64-msvc.node +0 -0
  39. package/package.json +3 -4
  40. package/scripts/copy-napi.mjs +0 -62
  41. package/src/InkerProvider.ts +0 -588
  42. package/src/InkerRenderError.ts +0 -49
  43. package/src/InkerRenderer.ts +0 -55
  44. package/src/SafeString.ts +0 -27
  45. package/src/Templates.ts +0 -1332
  46. package/src/helpers.ts +0 -76
  47. package/src/identifierGuards.ts +0 -49
  48. package/src/index.ts +0 -16
  49. package/src/loadNapi.ts +0 -270
  50. package/src/services/main.ts +0 -56
package/README.md CHANGED
@@ -38,7 +38,7 @@ The lex / parse / render hot path runs in Rust via napi-rs (Story 55.1). The Typ
38
38
 
39
39
  - **Build locally:** `pnpm --filter @c9up/inker build:napi` compiles the `inker-engine-napi` crate (release) and copies `index.<platform>.node` into the package root. The 5-platform NAPI CI matrix (`linux-x64-gnu`, `linux-arm64-gnu`, `darwin-x64`, `darwin-arm64`, `win32-x64-msvc`) builds these on native runners.
40
40
  - **No JS fallback.** If the binary is missing or fails to load, every render throws `E_INKER_NAPI_REQUIRED` with an actionable hint pointing at `pnpm --filter @c9up/inker build:napi`. Run that after a fresh checkout or a platform change.
41
- - **Helpers stay in TypeScript.** Custom helpers registered via `TemplatesOptions.helpers` (or `InkerProvider`) are plain TS functions. The renderer resolves them TS-side before the native render pass (collect invoke render no V8 callback), so no Rust knowledge is required to write one. Helpers must appear as a whole interpolation (`{{ helper(args) }}`) or a component-arg value; they are not supported inside `{% if %}` conditions, `{% each %}` iterables, operator expressions, or as nested-call arguments. Helper **arguments** are evaluated in the Rust engine and cross the NAPI boundary as JSON, so they are JSON-coerced before the helper runs: a `Date` arrives as a string, a `bigint` as a (possibly lossy) number, and `NaN`/`±Infinity` as `null`. Pass pre-stringified values for any type that does not survive JSON.
41
+ - **Helpers are plain TS functions in V8 scope.** Custom helpers registered via `TemplatesOptions.helpers` (or `InkerProvider`) and the core globals are in lexical scope when the Node renderer evaluates each expression in V8 (the Edge model; no Rust knowledge required to write one). They can be called **anywhere** an expression can: whole interpolations (`{{ helper(args) }}`), `@if()` conditions, `@each()` iterables, operator expressions, and nested-call / loop-scoped arguments (`{{ users.filter(u => can(u)) }}`). Arguments are the real JS values a `Date` stays a `Date`, a `Map` a `Map`, `bigint`/`NaN`/`±Infinity` untouched there is no NAPI/JSON coercion. A helper returning a `SafeString` is emitted raw.
42
42
 
43
43
  ## Standalone use
44
44
 
@@ -27,7 +27,7 @@ import type { InkerHttpContext } from "./InkerRenderer.js";
27
27
  import { type CacheMode } from "./Templates.js";
28
28
  interface InkerContainer {
29
29
  singleton<T>(token: unknown, factory: () => T): void;
30
- resolve<T = unknown>(token: unknown): T;
30
+ resolve<T = unknown>(token: unknown): Promise<T>;
31
31
  has(token: unknown): boolean;
32
32
  }
33
33
  interface InkerConfigStore {
@@ -48,7 +48,11 @@ export interface InkerProviderConfig {
48
48
  additionalHelpers?: Readonly<Record<string, HelperFn>>;
49
49
  }
50
50
  interface ReamRouter {
51
+ /** AdonisJS v7 name (`makeUrl` is the deprecated alias). */
52
+ urlFor(name: string, params?: Record<string, string>): string;
51
53
  makeUrl(name: string, params?: Record<string, string>): string;
54
+ /** Signed URL (HMAC via APP_KEY). AdonisJS v7 exposes it as `signedUrlFor`. */
55
+ makeSignedUrl(name: string, params?: Record<string, string>, options?: Record<string, unknown>): string;
52
56
  }
53
57
  interface RosettaTranslator {
54
58
  t(key: string, params?: Record<string, string | number | boolean | Date | null | undefined>, options?: {
@@ -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":"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"}
@@ -81,15 +81,15 @@ export default class InkerProvider {
81
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
82
  return;
83
83
  }
84
- const router = this.app.container.resolve("router");
85
- const rosetta = this.#resolveRosetta();
84
+ const router = await this.app.container.resolve("router");
85
+ const rosetta = await this.#resolveRosetta();
86
86
  if (rosetta === undefined) {
87
87
  this.#warnPeerMissingOnce("`@c9up/rosetta` is not registered in the container. Inker rendering is disabled until a Rosetta instance is present.");
88
88
  return;
89
89
  }
90
90
  // Phase 2 — resolve config.
91
91
  const config = this.app.config.get("inker") ?? {};
92
- const appRoot = this.#readAppRoot();
92
+ const appRoot = await this.#readAppRoot();
93
93
  const templatesRoot = resolveTemplatesRoot(config.templatesRoot, appRoot);
94
94
  const cacheMode = resolveCacheMode(config.cacheMode);
95
95
  const assetManifest = loadAssetManifest(config.assetManifest, appRoot);
@@ -132,9 +132,9 @@ export default class InkerProvider {
132
132
  this.#peerWarnEmitted = true;
133
133
  console.warn(`[inker] ${detail} See https://ream.dev/modules/inker.`);
134
134
  }
135
- #readAppRoot() {
135
+ async #readAppRoot() {
136
136
  try {
137
- const raw = this.app.container.resolve("appRoot");
137
+ const raw = await this.app.container.resolve("appRoot");
138
138
  if (raw instanceof URL)
139
139
  return fileURLToPath(raw);
140
140
  if (typeof raw === "string")
@@ -153,7 +153,7 @@ export default class InkerProvider {
153
153
  }
154
154
  return process.cwd();
155
155
  }
156
- #resolveRosetta() {
156
+ async #resolveRosetta() {
157
157
  // Try container resolution under both the canonical "rosetta" alias
158
158
  // and the class binding. RosettaProvider binds both (per
159
159
  // `packages/rosetta/src/RosettaProvider.ts`).
@@ -166,7 +166,7 @@ export default class InkerProvider {
166
166
  const tokens = ["rosetta", "Rosetta"];
167
167
  for (const token of tokens) {
168
168
  try {
169
- const candidate = this.app.container.resolve(token);
169
+ const candidate = await this.app.container.resolve(token);
170
170
  if (isRosettaShape(candidate)) {
171
171
  return candidate;
172
172
  }
@@ -368,19 +368,21 @@ export function buildCanonicalHelpers(als, rosetta, router, assetManifest) {
368
368
  : loadBearingCast(params);
369
369
  return rosetta.t(key, rosettaParams, { locale: ctx.locale });
370
370
  });
371
+ // D6 (Shield parity): csrfField/csrfMeta DEGRADE — when there is no token
372
+ // (no request context, or CSRF not enabled), return an empty SafeString
373
+ // instead of throwing, so templates can write `{{ csrfField() }}`
374
+ // unconditionally (no `@if(csrfEnabled)` guard).
371
375
  helpers.set("csrfField", (..._args) => {
372
- const ctx = requireCtx("csrfField");
373
- const token = ctx.store.get("csrfToken");
376
+ const token = als.getStore()?.store.get("csrfToken");
374
377
  if (typeof token !== "string" || token.length === 0) {
375
- throw new Error("[inker] csrfField() requires the @c9up/blackhole middleware with csrf enabled (csrfToken not found in ctx.store).");
378
+ return new SafeString("");
376
379
  }
377
380
  return new SafeString(`<input type="hidden" name="_csrf" value="${escapeAttr(token)}">`);
378
381
  });
379
382
  helpers.set("csrfMeta", (..._args) => {
380
- const ctx = requireCtx("csrfMeta");
381
- const token = ctx.store.get("csrfToken");
383
+ const token = als.getStore()?.store.get("csrfToken");
382
384
  if (typeof token !== "string" || token.length === 0) {
383
- throw new Error("[inker] csrfMeta() requires the @c9up/blackhole middleware with csrf enabled (csrfToken not found in ctx.store).");
385
+ return new SafeString("");
384
386
  }
385
387
  return new SafeString(`<meta name="csrf-token" content="${escapeAttr(token)}">`);
386
388
  });
@@ -391,13 +393,24 @@ export function buildCanonicalHelpers(als, rosetta, router, assetManifest) {
391
393
  // `@nonce`), so an absent nonce yields an empty attribute, not an error.
392
394
  return typeof nonce === "string" ? nonce : "";
393
395
  });
394
- helpers.set("url", (...args) => {
396
+ // AdonisJS v7 URL builder parity: `urlFor` (v7; `makeUrl` is deprecated) and
397
+ // `signedUrlFor` (HMAC-signed). `url` is kept as a legacy alias of `urlFor`.
398
+ const buildUrl = (label, args) => {
395
399
  const [name, params] = args;
396
400
  if (typeof name !== "string") {
397
- throw new Error(`[inker] url() requires a string route name; got ${typeof name}.`);
401
+ throw new Error(`[inker] ${label}() requires a string route name; got ${typeof name}.`);
398
402
  }
399
- const coerced = coerceUrlParams(params);
400
- return router.makeUrl(name, coerced);
403
+ return router.urlFor(name, coerceUrlParams(params));
404
+ };
405
+ helpers.set("url", (...args) => buildUrl("url", args));
406
+ helpers.set("urlFor", (...args) => buildUrl("urlFor", args));
407
+ helpers.set("signedUrlFor", (...args) => {
408
+ const [name, params, options] = args;
409
+ if (typeof name !== "string") {
410
+ throw new Error(`[inker] signedUrlFor() requires a string route name; got ${typeof name}.`);
411
+ }
412
+ const opts = isPlainRecord(options) ? options : undefined;
413
+ return router.makeSignedUrl(name, coerceUrlParams(params), opts);
401
414
  });
402
415
  helpers.set("asset", (...args) => {
403
416
  const [name] = args;
@@ -409,6 +422,9 @@ export function buildCanonicalHelpers(als, rosetta, router, assetManifest) {
409
422
  return helpers;
410
423
  }
411
424
  // ─── Internal predicates / casts ──────────────────────────────────
425
+ function isPlainRecord(value) {
426
+ return value !== null && typeof value === "object" && !Array.isArray(value);
427
+ }
412
428
  function isRosettaShape(value) {
413
429
  return (value !== null &&
414
430
  typeof value === "object" &&
@@ -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":"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"}
@@ -1,4 +1,4 @@
1
- export type InkerErrorCode = "E_INKER_TEMPLATE_NOT_FOUND" | "E_INKER_PARSE_ERROR" | "E_INKER_UNKNOWN_IDENTIFIER" | "E_INKER_INVALID_PATH" | "E_INKER_UNCLOSED_INTERPOLATION" | "E_INKER_UNCLOSED_BLOCK_TAG" | "E_INKER_UNKNOWN_DIRECTIVE" | "E_INKER_INVALID_LAYOUT_POSITION" | "E_INKER_DUPLICATE_LAYOUT" | "E_INKER_NESTED_LAYOUT_UNSUPPORTED" | "E_INKER_LAYOUT_IN_PARTIAL" | "E_INKER_CIRCULAR_INCLUDE" | "E_INKER_MISSING_SLOT" | "E_INKER_UNKNOWN_SLOT" | "E_INKER_DISK_REQUIRED" | "E_INKER_UNCLOSED_BLOCK" | "E_INKER_UNMATCHED_BLOCK_END" | "E_INKER_MISMATCHED_BLOCK_END" | "E_INKER_INVALID_EXPRESSION" | "E_INKER_INVALID_ITERABLE" | "E_INKER_UNKNOWN_HELPER" | "E_INKER_HELPER_THROW" | "E_INKER_NAPI_REQUIRED";
1
+ export type InkerErrorCode = "E_INKER_TEMPLATE_NOT_FOUND" | "E_INKER_PARSE_ERROR" | "E_INKER_UNKNOWN_IDENTIFIER" | "E_INKER_INVALID_PATH" | "E_INKER_UNCLOSED_INTERPOLATION" | "E_INKER_UNCLOSED_BLOCK_TAG" | "E_INKER_UNKNOWN_DIRECTIVE" | "E_INKER_INVALID_LAYOUT_POSITION" | "E_INKER_DUPLICATE_LAYOUT" | "E_INKER_NESTED_LAYOUT_UNSUPPORTED" | "E_INKER_LAYOUT_IN_PARTIAL" | "E_INKER_CIRCULAR_INCLUDE" | "E_INKER_MISSING_SLOT" | "E_INKER_UNKNOWN_SLOT" | "E_INKER_DISK_REQUIRED" | "E_INKER_DISK_COLLISION" | "E_INKER_UNCLOSED_BLOCK" | "E_INKER_UNMATCHED_BLOCK_END" | "E_INKER_MISMATCHED_BLOCK_END" | "E_INKER_INVALID_EXPRESSION" | "E_INKER_INVALID_ITERABLE" | "E_INKER_UNKNOWN_HELPER" | "E_INKER_HELPER_THROW" | "E_INKER_UNKNOWN_TAG" | "E_INKER_NAPI_REQUIRED";
2
2
  export interface InkerErrorContext {
3
3
  readonly templatePath?: string;
4
4
  readonly templateName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderError.d.ts","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,4BAA4B,GAC5B,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,iCAAiC,GACjC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,GAC3B,0BAA0B,GAC1B,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,6BAA6B,GAC7B,8BAA8B,GAC9B,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,uBAAuB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAG7C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO9B"}
1
+ {"version":3,"file":"InkerRenderError.d.ts","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,4BAA4B,GAC5B,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,iCAAiC,GACjC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,GAC3B,0BAA0B,GAC1B,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,wBAAwB,GACxB,6BAA6B,GAC7B,8BAA8B,GAC9B,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAG7C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderError.js","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAiCA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACjC,IAAI,CAAiB;IACrB,OAAO,CAA8B;IAE9C,YACC,IAAoB,EACpB,OAAe,EACf,OAA2B,EAC3B,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;CACD"}
1
+ {"version":3,"file":"InkerRenderError.js","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAmCA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACjC,IAAI,CAAiB;IACrB,OAAO,CAA8B;IAE9C,YACC,IAAoB,EACpB,OAAe,EACf,OAA2B,EAC3B,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;CACD"}
@@ -22,6 +22,15 @@ export declare class InkerRenderer {
22
22
  constructor(templates: Templates, als: AsyncLocalStorage<InkerHttpContext>);
23
23
  render(ctx: InkerHttpContext, name: string, data: Readonly<Record<string, unknown>>): Promise<void>;
24
24
  renderToString(ctx: InkerHttpContext, name: string, data: Readonly<Record<string, unknown>>): Promise<string>;
25
+ /**
26
+ * Mount a named templates disk on the shared engine (AdonisJS/Edge
27
+ * `edge.mount(name, dir)` parity). A package that ships its own templates
28
+ * mounts its directory under a namespace, then renders `name::template`.
29
+ * Delegates to the underlying `Templates` engine.
30
+ */
31
+ mount(diskName: string, dir: string): void;
32
+ /** Unmount a named disk (`edge.unmount(name)` parity). Delegates to Templates. */
33
+ unmount(diskName: string): void;
25
34
  /** @internal Test seam — access the underlying Templates for cache control. */
26
35
  get _templates(): Templates;
27
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderer.d.ts","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAClB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAa;;gBAIb,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,CAAC;IAKpE,MAAM,CACX,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAQV,cAAc,CACnB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB,+EAA+E;IAC/E,IAAI,UAAU,IAAI,SAAS,CAE1B;CACD"}
1
+ {"version":3,"file":"InkerRenderer.d.ts","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAClB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAa;;gBAIb,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,CAAC;IAKpE,MAAM,CACX,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAQV,cAAc,CACnB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1C,kFAAkF;IAClF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,+EAA+E;IAC/E,IAAI,UAAU,IAAI,SAAS,CAE1B;CACD"}
@@ -13,6 +13,19 @@ export class InkerRenderer {
13
13
  async renderToString(ctx, name, data) {
14
14
  return this.#als.run(ctx, () => this.#templates.render(name, data));
15
15
  }
16
+ /**
17
+ * Mount a named templates disk on the shared engine (AdonisJS/Edge
18
+ * `edge.mount(name, dir)` parity). A package that ships its own templates
19
+ * mounts its directory under a namespace, then renders `name::template`.
20
+ * Delegates to the underlying `Templates` engine.
21
+ */
22
+ mount(diskName, dir) {
23
+ this.#templates.mount(diskName, dir);
24
+ }
25
+ /** Unmount a named disk (`edge.unmount(name)` parity). Delegates to Templates. */
26
+ unmount(diskName) {
27
+ this.#templates.unmount(diskName);
28
+ }
16
29
  /** @internal Test seam — access the underlying Templates for cache control. */
17
30
  get _templates() {
18
31
  return this.#templates;
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderer.js","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,aAAa;IAChB,UAAU,CAAY;IACtB,IAAI,CAAsC;IAEnD,YAAY,SAAoB,EAAE,GAAwC;QACzE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CACX,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAClC,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,+EAA+E;IAC/E,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD"}
1
+ {"version":3,"file":"InkerRenderer.js","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,aAAa;IAChB,UAAU,CAAY;IACtB,IAAI,CAAsC;IAEnD,YAAY,SAAoB,EAAE,GAAwC;QACzE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CACX,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAClC,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAgB,EAAE,GAAW;QAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,kFAAkF;IAClF,OAAO,CAAC,QAAgB;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,+EAA+E;IAC/E,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD"}
@@ -1,4 +1,5 @@
1
1
  import type { HelperFn } from "./helpers.js";
2
+ import { type InkerTag } from "./renderNode.js";
2
3
  export type CacheMode = "auto" | "mtime" | "never";
3
4
  export interface TemplatesOptions {
4
5
  root: string;
@@ -8,6 +9,49 @@ export interface TemplatesOptions {
8
9
  export declare class Templates {
9
10
  #private;
10
11
  constructor(options: TemplatesOptions);
12
+ /**
13
+ * Mount a named templates "disk" (AdonisJS/Edge `edge.mount(name, dir)`
14
+ * parity). Templates in a mounted disk are addressed as `name::template`
15
+ * (including from `@layout()` / `@include()` / `@component()`
16
+ * references); a BARE `template` name always resolves against the default
17
+ * root, exactly like Edge. `dir` is canonicalised (absolute + realpath) the
18
+ * same way the constructor root is, so each disk carries its own containment
19
+ * boundary.
20
+ *
21
+ * Re-mounting a name to the SAME canonicalised root is an idempotent no-op;
22
+ * re-mounting to a DIFFERENT root throws `E_INKER_DISK_COLLISION` (call
23
+ * `unmount` first for an intentional replacement). This is a NAMED deviation
24
+ * from Edge's silent overwrite: this engine is shared process-wide and
25
+ * consumed by multiple integration packages, so an accidental disk-name
26
+ * clash must fail loud rather than silently clobber another package's
27
+ * containment boundary.
28
+ */
29
+ mount(diskName: string, dir: string): void;
30
+ /**
31
+ * Unmount a named disk (AdonisJS/Edge `edge.unmount(name)` parity). No-op if
32
+ * the disk was never mounted. Does NOT clear the AST cache — cache keys are
33
+ * `(root, absPath)` pairs, so a later re-mount of a different directory
34
+ * resolves under a different root and cannot serve a stale entry, even when
35
+ * two directories canonicalise to overlapping absolute paths.
36
+ */
37
+ unmount(diskName: string): void;
38
+ /**
39
+ * Register a custom tag (AdonisJS/Edge `edge.registerTag` parity). The `tag`
40
+ * definition — `{ tagName, block, seekable, compile(parser, buffer, token) }` —
41
+ * makes the parser recognise `@<tagName>(jsArg)` in every template and emit a
42
+ * `CustomTag` node. At render time inker calls `compile`, whose `buffer`
43
+ * writes the output (`writeRaw` for verbatim markup, `outputExpression` to
44
+ * evaluate a template expression) and whose `token.properties.jsArg` is the
45
+ * verbatim argument source, e.g. an `@svg('icon')` or `@time()` tag.
46
+ *
47
+ * INKER DEVIATION (named): Edge runs `compile` once at compilation (it emits
48
+ * JS); inker parses in Rust and renders by walking the JSON AST, so `compile`
49
+ * runs at RENDER time. Only inline tags (`block: false`) are supported for now.
50
+ *
51
+ * Because tag names change how a template PARSES, registering (or overwriting)
52
+ * a tag clears the AST cache — call `registerTag` during boot, before rendering.
53
+ */
54
+ registerTag(tag: InkerTag): void;
11
55
  render(name: string, data: Readonly<Record<string, unknown>>): Promise<string>;
12
56
  renderString(source: string, data: Readonly<Record<string, unknown>>): string;
13
57
  clearCache(): void;
@@ -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;CAggBlB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Templates.d.ts","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAY7C,OAAO,EAGN,KAAK,QAAQ,EAEb,MAAM,iBAAiB,CAAC;AAEzB,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;AAomBD,qBAAa,SAAS;;gBAyBT,OAAO,EAAE,gBAAgB;IA2BrC;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAa1C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAqE1B,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IA6ElB,YAAY,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,MAAM;IAgET,UAAU,IAAI,IAAI;CAmhBlB;AAED,eAAe,SAAS,CAAC"}