@c9up/inker 0.1.5 → 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;
@@ -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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"}
@@ -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";
@@ -68,31 +71,21 @@ export default class InkerProvider {
68
71
  async start() {
69
72
  if (this.#started)
70
73
  return;
71
- // Phase 1 — lazy peer imports. Both `@c9up/ream/services/router` and
72
- // `@c9up/rosetta` are optional peers. Module-not-found is the
73
- // degraded-host signal: silently return + warn-once. Anything else
74
- // re-throws.
75
- let router;
76
- let rosetta;
77
- try {
78
- // Variable specifier so tsc does not statically resolve the optional
79
- // `@c9up/ream` peer at build time (keeps inker standalone-buildable).
80
- const routerSpecifier = "@c9up/ream/services/router";
81
- const routerMod = await import(routerSpecifier);
82
- router = routerMod.default;
83
- const rosettaContainer = this.#resolveRosetta();
84
- if (rosettaContainer === undefined) {
85
- 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.");
86
- return;
87
- }
88
- 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;
89
83
  }
90
- catch (err) {
91
- if (isModuleNotFound(err)) {
92
- this.#warnPeerMissingOnce("`@c9up/ream/services/router` or `@c9up/rosetta` is not installed. Inker rendering is disabled until both peers are present.");
93
- return;
94
- }
95
- 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;
96
89
  }
97
90
  // Phase 2 — resolve config.
98
91
  const config = this.app.config.get("inker") ?? {};
@@ -421,13 +414,6 @@ function isRosettaShape(value) {
421
414
  typeof value === "object" &&
422
415
  typeof Reflect.get(value, "t") === "function");
423
416
  }
424
- /** Node's ERR_MODULE_NOT_FOUND surfaces on an Error subclass with `code`. */
425
- function isModuleNotFound(err) {
426
- if (err === null || typeof err !== "object" || !("code" in err))
427
- return false;
428
- const { code } = err;
429
- return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
430
- }
431
417
  /**
432
418
  * Ream's container throws a `ReamError` with `code === "CONTAINER_NOT_FOUND"`
433
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":"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"}
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.5",
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 {
@@ -127,34 +131,25 @@ export default class InkerProvider {
127
131
  async start(): Promise<void> {
128
132
  if (this.#started) return;
129
133
 
130
- // Phase 1 — lazy peer imports. Both `@c9up/ream/services/router` and
131
- // `@c9up/rosetta` are optional peers. Module-not-found is the
132
- // degraded-host signal: silently return + warn-once. Anything else
133
- // re-throws.
134
- let router: ReamRouter;
135
- let rosetta: RosettaTranslator;
136
- try {
137
- // Variable specifier so tsc does not statically resolve the optional
138
- // `@c9up/ream` peer at build time (keeps inker standalone-buildable).
139
- const routerSpecifier = "@c9up/ream/services/router";
140
- const routerMod: { default: ReamRouter } = await import(routerSpecifier);
141
- router = routerMod.default;
142
- const rosettaContainer = this.#resolveRosetta();
143
- if (rosettaContainer === undefined) {
144
- this.#warnPeerMissingOnce(
145
- "`@c9up/rosetta` is available as a module but no Rosetta instance is registered in the container. The `t()` helper will throw at first render.",
146
- );
147
- return;
148
- }
149
- rosetta = rosettaContainer;
150
- } catch (err) {
151
- if (isModuleNotFound(err)) {
152
- this.#warnPeerMissingOnce(
153
- "`@c9up/ream/services/router` or `@c9up/rosetta` is not installed. Inker rendering is disabled until both peers are present.",
154
- );
155
- return;
156
- }
157
- 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;
158
153
  }
159
154
 
160
155
  // Phase 2 — resolve config.
@@ -568,13 +563,6 @@ function isRosettaShape(value: unknown): value is RosettaTranslator {
568
563
  );
569
564
  }
570
565
 
571
- /** Node's ERR_MODULE_NOT_FOUND surfaces on an Error subclass with `code`. */
572
- function isModuleNotFound(err: unknown): boolean {
573
- if (err === null || typeof err !== "object" || !("code" in err)) return false;
574
- const { code } = err;
575
- return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
576
- }
577
-
578
566
  /**
579
567
  * Ream's container throws a `ReamError` with `code === "CONTAINER_NOT_FOUND"`
580
568
  * when a token is unbound. Duck-typed here so `@c9up/ream` stays an optional