ioc-manifest 1.2.1 → 1.4.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.
Files changed (48) hide show
  1. package/README.md +41 -0
  2. package/dist/config/iocConfig.d.ts +7 -0
  3. package/dist/config/iocConfig.d.ts.map +1 -1
  4. package/dist/config/iocConfig.js.map +1 -1
  5. package/dist/config/loadIocConfig.d.ts.map +1 -1
  6. package/dist/config/loadIocConfig.js +20 -0
  7. package/dist/config/loadIocConfig.js.map +1 -1
  8. package/dist/generator/analyzeDemandSupply/index.d.ts +1 -0
  9. package/dist/generator/analyzeDemandSupply/index.d.ts.map +1 -1
  10. package/dist/generator/analyzeDemandSupply/index.js +10 -3
  11. package/dist/generator/analyzeDemandSupply/index.js.map +1 -1
  12. package/dist/generator/analyzeDemandSupply/types.d.ts +8 -2
  13. package/dist/generator/analyzeDemandSupply/types.d.ts.map +1 -1
  14. package/dist/generator/generateManifest.d.ts.map +1 -1
  15. package/dist/generator/generateManifest.js +9 -2
  16. package/dist/generator/generateManifest.js.map +1 -1
  17. package/dist/generator/loadComposedPackageExternalKeys.d.ts +3 -0
  18. package/dist/generator/loadComposedPackageExternalKeys.d.ts.map +1 -0
  19. package/dist/generator/loadComposedPackageExternalKeys.js +28 -0
  20. package/dist/generator/loadComposedPackageExternalKeys.js.map +1 -0
  21. package/dist/generator/validateScopeProvidedAtCodegen.d.ts +6 -0
  22. package/dist/generator/validateScopeProvidedAtCodegen.d.ts.map +1 -0
  23. package/dist/generator/validateScopeProvidedAtCodegen.js +19 -0
  24. package/dist/generator/validateScopeProvidedAtCodegen.js.map +1 -0
  25. package/dist/generator/writeComposedManifest.d.ts +2 -0
  26. package/dist/generator/writeComposedManifest.d.ts.map +1 -1
  27. package/dist/generator/writeComposedManifest.js +21 -2
  28. package/dist/generator/writeComposedManifest.js.map +1 -1
  29. package/dist/generator/writeManifest.d.ts.map +1 -1
  30. package/dist/generator/writeManifest.js +23 -4
  31. package/dist/generator/writeManifest.js.map +1 -1
  32. package/dist/test-support/manifestFixtures.d.ts.map +1 -1
  33. package/dist/test-support/manifestFixtures.js +1 -0
  34. package/dist/test-support/manifestFixtures.js.map +1 -1
  35. package/dist/validate/checks/externals.d.ts +3 -1
  36. package/dist/validate/checks/externals.d.ts.map +1 -1
  37. package/dist/validate/checks/externals.js +118 -11
  38. package/dist/validate/checks/externals.js.map +1 -1
  39. package/dist/validate/externalsTypeChecker.d.ts +20 -0
  40. package/dist/validate/externalsTypeChecker.d.ts.map +1 -0
  41. package/dist/validate/externalsTypeChecker.js +115 -0
  42. package/dist/validate/externalsTypeChecker.js.map +1 -0
  43. package/dist/validate/loadParsedManifests.d.ts.map +1 -1
  44. package/dist/validate/loadParsedManifests.js +5 -0
  45. package/dist/validate/loadParsedManifests.js.map +1 -1
  46. package/dist/validate/types.d.ts +3 -0
  47. package/dist/validate/types.d.ts.map +1 -1
  48. package/package.json +1 -1
package/README.md CHANGED
@@ -193,6 +193,16 @@ export interface IocExternals {
193
193
 
194
194
  `IocExternals` lists every dependency the package consumes from outside — keys destructured by factory deps types where no local factory supplies them. `IocGeneratedCradle` contains only what the package itself supplies. The two interfaces together describe the package's full contract: what it provides and what it needs.
195
195
 
196
+ When a package declares `scopeProvided`, those keys are emitted into a separate `IocScopeProvided` interface rather than `IocExternals`, with a JSDoc banner reminding you to register them onto a child scope:
197
+
198
+ ```ts
199
+ export interface IocScopeProvided {
200
+ viewerId: string;
201
+ }
202
+ ```
203
+
204
+ The main manifest file also exports `IOC_SCOPE_PROVIDED_KEYS` (a `readonly` string tuple) so app code can reference the set — for example, to assert a request-scope helper covers the keys the current path resolves. See [`scopeProvided`](#scopeprovided).
205
+
196
206
  **`ioc-manifest.ts`** — the registration data:
197
207
 
198
208
  ```ts
@@ -364,6 +374,35 @@ Markers match by **declared inheritance**, not structural shape. Use `extends IS
364
374
  3. `discovery.scanDirs[].scope` (folder-scoped default)
365
375
  4. Default: `singleton`
366
376
 
377
+ ### `scopeProvided`
378
+
379
+ Some dependencies aren't built by any factory and never can be — they're **runtime values registered onto a child scope per unit of work**. The canonical case is a request: a `viewerId`, `tenantId`, or `requestId` known only when the request arrives, registered onto a per-request child scope and consumed by services resolved within it.
380
+
381
+ ```ts
382
+ scopeProvided: ["viewerId", "publicLinkId"],
383
+ ```
384
+
385
+ A factory destructures `viewerId` like any other dependency. No local factory supplies it, so without this declaration it'd be classified as an external and the composition's externals check would demand that _something build it_ — which nothing can. `scopeProvided` tells the generator the key is satisfied at runtime by scope registration, not by a factory.
386
+
387
+ Declared keys are emitted into a dedicated `IocScopeProvided` interface (instead of `IocExternals`) and excluded from the externals-satisfaction check. At runtime you register them yourself, onto the child scope, before resolving anything that depends on them:
388
+
389
+ ```ts
390
+ const scope = container.createScope();
391
+ scope.register({ viewerId: asValue(user.id) });
392
+ const reader = scope.resolve("viewerAlbumReadService"); // works
393
+ ```
394
+
395
+ **The contract is enforced at runtime, not compile time — by design.** Composition cannot verify that a runtime value will be registered; only the running container can. So if you resolve a scope-provided service from the root container, or from a scope that forgot to register the value, Awilix throws an `IocResolutionError` at resolution. It never returns a placeholder. That throw _is_ the safety guarantee — a scoped service can't silently resolve outside its scope.
396
+
397
+ **Composing without resolving needs no provision.** A package that composes a manifest containing scope-provided services but never resolves them — a background worker pulling jobs, say — provides nothing and inherits no obligation. The keys leave `IocExternals`, so the worker's composition is satisfied without it touching `viewerId` at all. You declare `scopeProvided` once, in the package that _demands_ the key; every consumer inherits the exemption.
398
+
399
+ **Generation-time guards:**
400
+
401
+ - Declaring a key that no factory demands → warning (`[ioc-config]`), usually a typo.
402
+ - Declaring a key that a local factory also builds → error. A key can't be both manifest-built and scope-provided.
403
+
404
+ This is distinct from the `scoped` **lifetime**: a scoped-lifetime service is _instantiated_ once per scope; a scope-provided _value_ is _injected_ into the scope at runtime. The two are independent — a service can be one without the other.
405
+
367
406
  ### App-mode fields
368
407
 
369
408
  These only apply in app mode (a package that composes manifests from other packages):
@@ -691,6 +730,8 @@ Resolution chain:
691
730
 
692
731
  Missing dependencies, cyclic references, lifetime violations, and factory exceptions are all caught and reported with the full resolution path.
693
732
 
733
+ A missing **scope-provided** value surfaces here too: resolving a service whose scope value wasn't registered produces a `no registered implementation` leaf for that key. If you see this for a key declared in `scopeProvided`, the fix is to register it onto the child scope before resolving — not to add a factory.
734
+
694
735
  ---
695
736
 
696
737
  ## Advanced usage
@@ -89,6 +89,13 @@ export type IocConfig = {
89
89
  * a marker name inherits that marker's lifetime (see lifetime precedence in docs).
90
90
  */
91
91
  lifetimeMarkers?: Record<string, IocLifetime>;
92
+ /**
93
+ * Dependency keys supplied at runtime by registration onto a request child scope
94
+ * (e.g. `scope.register({ viewerId: asValue(...) })`), not built by any factory.
95
+ * Such keys are demanded by factories but must NOT be required to be supplied by a
96
+ * composed manifest — they are excluded from the externals-satisfaction check.
97
+ */
98
+ scopeProvided?: string[];
92
99
  };
93
100
  export declare const defineIocConfig: (config: IocConfig) => IocConfig;
94
101
  //# sourceMappingURL=iocConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iocConfig.d.ts","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/D,4GAA4G;AAC5G,eAAO,MAAM,uBAAuB,EAAG,WAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,WAAW,GAAG,mBAAmB,CAClC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,OAAO,EACd,cAAc,MAAM,KACnB,mBA8BF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,aAAa,2BAA2B,GAAG,SAAS,EACpD,eAAe,MAAM,KACpB,mBAYF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACtC,OAAO,WAAW,GAAG,mBAAmB,KACvC,KAAK,IAAI,WAWX,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,aAAa,2BAA2B,GAAG,SAAS,EACpD,oBAAoB,MAAM,KACzB,WAAW,GAAG,SAYhB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE;QACT,QAAQ,EAAE,oBAAoB,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC5D;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,KAAG,SAAmB,CAAC"}
1
+ {"version":3,"file":"iocConfig.d.ts","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/D,4GAA4G;AAC5G,eAAO,MAAM,uBAAuB,EAAG,WAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,WAAW,GAAG,mBAAmB,CAClC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,OAAO,EACd,cAAc,MAAM,KACnB,mBA8BF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,aAAa,2BAA2B,GAAG,SAAS,EACpD,eAAe,MAAM,KACpB,mBAYF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACtC,OAAO,WAAW,GAAG,mBAAmB,KACvC,KAAK,IAAI,WAWX,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,aAAa,2BAA2B,GAAG,SAAS,EACpD,oBAAoB,MAAM,KACzB,WAAW,GAAG,SAYhB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE;QACT,QAAQ,EAAE,oBAAoB,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC5D;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,KAAG,SAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"iocConfig.js","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iocConfig.js","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"AAIA,4GAA4G;AAC5G,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAoB,CAAC;AAmC5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAc,EACd,YAAoB,EACC,EAAE;IACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,gBAAgB,YAAY,oBAAoB,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,gBAAgB,YAAY,yBAAyB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAChC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,gBAAgB,YAAY,gDAAgD,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,uBAAuB,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,gBAAgB,YAAY,wBAAwB,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,WAAoD,EACpD,aAAqB,EACA,EAAE;IACvB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;IACjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,wBAAwB,CAC7B,GAAG,EACH,iBAAiB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAC9F,CAAC;AACJ,CAAC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAwC,EAClB,EAAE;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,WAAoD,EACpD,kBAA0B,EACD,EAAE;IAC3B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,kBAAkB,KAAK,uBAAuB,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAoEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAa,EAAE,CAAC,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadIocConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAsiBxB,eAAO,MAAM,aAAa,GACxB,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,CAKnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAC9C,oBAAoB,MAAM,KACzB,MAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,MAAM,EACtB,eAAe,MAAM,KACpB,MAwDF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,GAAG,SAAS,CAQ/B,CAAC"}
1
+ {"version":3,"file":"loadIocConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAukBxB,eAAO,MAAM,aAAa,GACxB,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,CAKnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAC9C,oBAAoB,MAAM,KACzB,MAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,MAAM,EACtB,eAAe,MAAM,KACpB,MAwDF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,GAAG,SAAS,CAQ/B,CAAC"}
@@ -21,6 +21,7 @@ const TOP_LEVEL_KEYS = new Set([
21
21
  "groups",
22
22
  "groupBaseTypeAliases",
23
23
  "lifetimeMarkers",
24
+ "scopeProvided",
24
25
  ]);
25
26
  const DISCOVERY_KEYS = new Set([
26
27
  "scanDirs",
@@ -97,6 +98,22 @@ const validateLifetimeMarkersShape = (value, pathLabel) => {
97
98
  }
98
99
  }
99
100
  };
101
+ const validateScopeProvidedShape = (value, pathLabel) => {
102
+ if (!Array.isArray(value)) {
103
+ throw new Error(`[ioc-config] ${pathLabel} must be an array when set`);
104
+ }
105
+ const seen = new Set();
106
+ for (let i = 0; i < value.length; i++) {
107
+ const key = value[i];
108
+ if (typeof key !== "string" || key.length === 0) {
109
+ throw new Error(`[ioc-config] ${pathLabel}[${i}] must be a non-empty string`);
110
+ }
111
+ if (seen.has(key)) {
112
+ throw new Error(`[ioc-config] ${pathLabel} contains duplicate entry ${JSON.stringify(key)}`);
113
+ }
114
+ seen.add(key);
115
+ }
116
+ };
100
117
  const validateGroupsShape = (value, pathLabel) => {
101
118
  if (!isRecord(value)) {
102
119
  throw new Error(`[ioc-config] ${pathLabel} must be an object`);
@@ -311,6 +328,9 @@ const validateIocConfig = async (raw, sourceLabel) => {
311
328
  if (raw.lifetimeMarkers !== undefined) {
312
329
  validateLifetimeMarkersShape(raw.lifetimeMarkers, `${sourceLabel} lifetimeMarkers`);
313
330
  }
331
+ if (raw.scopeProvided !== undefined) {
332
+ validateScopeProvidedShape(raw.scopeProvided, `${sourceLabel} scopeProvided`);
333
+ }
314
334
  const config = raw;
315
335
  if (composedManifests !== undefined && composedManifests.length > 0) {
316
336
  const projectRoot = resolveProjectRootFromIocConfigPath(sourceLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"loadIocConfig.js","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadIocConfig.js","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export type AnalyzeDemandSupplyOptions = FactoryDiscoveryPaths & {
8
8
  program: ts.Program;
9
9
  projectRoot: string;
10
10
  groupsManifest?: IocGroupsManifest;
11
+ scopeProvided?: readonly string[];
11
12
  };
12
13
  /**
13
14
  * Walks factories to collect demand/supply pairs, validates named deps and type agreement,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,OAAO,KAAK,EACV,0BAA0B,EAI3B,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA8GtF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG;IAC/D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,iBAAiB,EAAE,EACvC,SAAS,0BAA0B,KAClC,0BAuJF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,OAAO,KAAK,EACV,0BAA0B,EAI3B,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA8GtF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG;IAC/D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,iBAAiB,EAAE,EACvC,SAAS,0BAA0B,KAClC,0BAkKF,CAAC"}
@@ -73,9 +73,10 @@ const mergeEntry = (map, key, typeRef, classification) => {
73
73
  * and produces cradle entries for {@link buildCradleTypeSource}.
74
74
  */
75
75
  export const analyzeDemandSupply = (factories, options) => {
76
- const { program, projectRoot, scanDirs, generatedDir, groupsManifest } = options;
76
+ const { program, projectRoot, scanDirs, generatedDir, groupsManifest, scopeProvided } = options;
77
77
  const checker = program.getTypeChecker();
78
78
  const localSupplierKeys = collectLocalSupplierKeys(factories, groupsManifest);
79
+ const scopeProvidedSet = new Set(scopeProvided ?? []);
79
80
  const sourceFileByPath = new Map();
80
81
  for (const sf of program.getSourceFiles()) {
81
82
  sourceFileByPath.set(normalizePath(sf.fileName), sf);
@@ -161,10 +162,16 @@ export const analyzeDemandSupply = (factories, options) => {
161
162
  mergeEntry(cradleMap, propName, typeRef, classification);
162
163
  }
163
164
  }
164
- const entries = Array.from(cradleMap.values()).sort((a, b) => a.key.localeCompare(b.key));
165
+ const rawEntries = Array.from(cradleMap.values()).sort((a, b) => a.key.localeCompare(b.key));
166
+ const entries = rawEntries.map((entry) => entry.classification === "external" && scopeProvidedSet.has(entry.key)
167
+ ? { ...entry, classification: "scope-provided" }
168
+ : entry);
165
169
  const externalKeys = entries
166
170
  .filter((e) => e.classification === "external")
167
171
  .map((e) => e.key);
168
- return { entries, externalKeys };
172
+ const scopeProvidedKeys = entries
173
+ .filter((e) => e.classification === "scope-provided")
174
+ .map((e) => e.key);
175
+ return { entries, externalKeys, scopeProvidedKeys };
169
176
  };
170
177
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,sCAAsC,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EACL,2BAA2B,GAE5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,EAC9B,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAUlE,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CACzB,OAAuB,EACvB,CAAU,EACV,CAAU,EACD,EAAE,CACX,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEvE,MAAM,wBAAwB,GAAG,CAC/B,SAAuC,EACvC,cAA6C,EAChC,EAAE;IACf,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,OAA0B,EAC1B,WAA4B,EAC5B,UAAyB,EACF,EAAE;IACzB,MAAM,GAAG,GACP,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,IAAI,GAAG,CAAC;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,OAAuB,EACvB,QAAiB,EACkB,EAAE;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,GAAG,GAAsC,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,GAAW,EACX,KAA8D,EAC9D,MAA+D,EAC/D,WAAmB,EACX,EAAE;IACV,MAAM,GAAG,GAAG,CAAC,GAA0B,EAAE,WAAmB,EAAU,EAAE;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChE,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,aAAa,GAAG,KAAK,WAAW,EAAE,CAAC;IAC/G,CAAC,CAAC;IAEF,OAAO,4CAA4C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;EACtE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;EACrC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,WAAmB,EACnB,GAA0B,EAC1B,QAAgB,EAChB,MAAc,EACN,EAAE;IACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,sDAAsD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;AAC1K,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,GAAyC,EACzC,GAAW,EACX,OAA6B,EAC7B,cAAoC,EAC9B,EAAE;IACR,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;YACX,GAAG;YACH,OAAO;YACP,cAAc,EACZ,QAAQ,CAAC,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,OAAO;gBAC/D,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU;SACjB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AASF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAuC,EACvC,OAAmC,EACP,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,GACnF,OAAO,CAAC;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1D,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC1C,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;IAEJ,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE7D,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,aAAa,CAC3B,2BAA2B,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CACvE,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,sCAAsC,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,OAAO,GAA6B;YACxC,OAAO;YACP,WAAW;YACX,QAAQ;YACR,YAAY;YACZ,iBAAiB,EAAE,UAAU;SAC9B,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,SAAS,GACb,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;gBAC9C;oBACC,QAAQ,EAAE,OAAO,CAAC,YAAY;oBAC9B,OAAO,EAAE;wBACP;4BACE,QAAQ,EAAE,OAAO,CAAC,YAAY;4BAC9B,SAAS,EAAE,OAAO,CAAC,qBAAqB;4BACxC,gBAAgB,EAAE,KAAK;yBACxB;qBACF;iBAC8B,CAAC;YAEpC,UAAU,CACR,SAAS,EACT,OAAO,CAAC,eAAe,EACvB,SAAS,EACT,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CACjC,OAAO,EACP,WAAW,EACX,WAAW,EACX,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YACvD,IAAI,8BAA8B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,2BAA2B,CACzB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CACrC,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC/D,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,2BAA2B,CACzB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,OAAO,CAAC,OAAO,CAChB,CACF,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAE9B,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpD,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAC;YAEf,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CACb,uBAAuB,CACrB,QAAQ,EACR;wBACE,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;qBACvD,EACD;wBACE,OAAO,EAAE,GAAG;wBACZ,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;qBAClD,EACD,WAAW,CACZ,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACxB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9D,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3B,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,KAAK,CAAC,cAAc,KAAK,UAAU,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACpE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,gBAAyB,EAAE;QACzD,CAAC,CAAC,KAAK,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,UAAU,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErB,MAAM,iBAAiB,GAAG,OAAO;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,gBAAgB,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AACtD,CAAC,CAAC"}
@@ -18,13 +18,19 @@ export type FactorySourceLocation = {
18
18
  export type DemandSupplyCradleEntry = {
19
19
  key: string;
20
20
  typeRef: EmittedTypeReference;
21
- /** `local` when satisfied by a factory supply or group root key; otherwise `external`. */
22
- classification: "local" | "external";
21
+ /**
22
+ * `local` when satisfied by a factory supply or group root key; `external` when demanded but
23
+ * unsatisfied locally; `scope-provided` when demanded but supplied at runtime via scope
24
+ * registration (excluded from the externals-supply check).
25
+ */
26
+ classification: "local" | "external" | "scope-provided";
23
27
  };
24
28
  export type DemandSupplyAnalysisResult = {
25
29
  /** Demand/supply-derived cradle properties (alphabetically sorted by key). */
26
30
  entries: readonly DemandSupplyCradleEntry[];
27
31
  /** Keys appearing in {@link entries} with `classification: "external"`. */
28
32
  externalKeys: readonly string[];
33
+ /** Keys appearing in {@link entries} with `classification: "scope-provided"`. */
34
+ scopeProvidedKeys: readonly string[];
29
35
  };
30
36
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,0FAA0F;IAC1F,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,8EAA8E;IAC9E,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,gBAAgB,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,8EAA8E;IAC9E,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,iFAAiF;IACjF,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA8D/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,OAAO,CAAC,IAAI,CA0Ld,CAAC"}
1
+ {"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA+D/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,OAAO,CAAC,IAAI,CAqMd,CAAC"}
@@ -19,8 +19,10 @@ import { isAppMode, isLibraryMode, resolveManifestExportPath, } from "../config/
19
19
  import { loadComposedManifestContractNames } from "./loadComposedManifestContracts.js";
20
20
  import { validateGroupBaseTypeAliasKeysAtCodegen } from "./loadComposedManifestGroups.js";
21
21
  import { buildComposedRegistrationOverridesFromConfig } from "./buildComposedRegistrationOverrides.js";
22
- import { buildComposedManifestSource, removeComposedManifestIfPresent, resolveComposedPackageSpecs, } from "./writeComposedManifest.js";
22
+ import { buildComposedManifestSource, removeComposedManifestIfPresent, } from "./writeComposedManifest.js";
23
+ import { loadComposedPackageSpecs } from "./loadComposedPackageExternalKeys.js";
23
24
  import { resolveLifetimeMarkersForFactories } from "./resolveLifetimeMarkers.js";
25
+ import { validateScopeProvidedAtCodegen } from "./validateScopeProvidedAtCodegen.js";
24
26
  const require = createRequire(import.meta.url);
25
27
  const packageJson = require("../../package.json");
26
28
  const packageName = typeof packageJson.name === "string" && packageJson.name.length > 0
@@ -105,7 +107,12 @@ export const generateManifest = async (overrides) => {
105
107
  scanDirs,
106
108
  generatedDir,
107
109
  groupsManifest: groupResult?.manifest,
110
+ scopeProvided: config?.scopeProvided,
108
111
  });
112
+ validateScopeProvidedAtCodegen(config?.scopeProvided ?? [], demandSupply);
113
+ if (demandSupply.scopeProvidedKeys.length > 0) {
114
+ console.log(`[ioc] scope-provided values: ${demandSupply.scopeProvidedKeys.join(", ")} — register these onto the request child scope at runtime before resolving dependent services.`);
115
+ }
109
116
  const writeOptions = {
110
117
  demandSupply,
111
118
  registryTypesBuildContext: {
@@ -124,7 +131,7 @@ export const generateManifest = async (overrides) => {
124
131
  if (config !== undefined && isAppMode(config)) {
125
132
  const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
126
133
  await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath, tsconfigContext.customConditions);
127
- const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
134
+ const composedPackages = loadComposedPackageSpecs(resolvedProjectRoot, config.composedManifests, tsconfigContext.customConditions);
128
135
  const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
129
136
  composedOutPath = path.join(generatedDir, "ioc-composed.ts");
130
137
  const composedSource = buildComposedManifestSource({
@@ -1 +1 @@
1
- {"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ComposedPackageSpec } from "./writeComposedManifest.js";
2
+ export declare const loadComposedPackageSpecs: (projectRoot: string, composedManifests: readonly string[], customConditions: readonly string[] | undefined) => ComposedPackageSpec[];
3
+ //# sourceMappingURL=loadComposedPackageExternalKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadComposedPackageExternalKeys.d.ts","sourceRoot":"","sources":["../../src/generator/loadComposedPackageExternalKeys.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,EACnB,mBAAmB,SAAS,MAAM,EAAE,EACpC,kBAAkB,SAAS,MAAM,EAAE,GAAG,SAAS,KAC9C,mBAAmB,EAiCrB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @fileoverview Reads `IocExternals` property keys from composed packages for app-mode codegen.
3
+ */
4
+ import fs from "node:fs";
5
+ import { packageNameToIdentifier, findPackageIdentifierCollisions, } from "../config/packageIdentifier.js";
6
+ import { parseInterfacePropertyNames } from "../validate/parseGeneratedSource.js";
7
+ import { resolvePackageExportPath } from "./resolveComposedPackageExport.js";
8
+ const readFileUtf8 = (filePath) => fs.readFileSync(filePath, "utf8");
9
+ export const loadComposedPackageSpecs = (projectRoot, composedManifests, customConditions) => {
10
+ const collisions = findPackageIdentifierCollisions(composedManifests);
11
+ if (collisions.length > 0) {
12
+ throw new Error(`[ioc] composedManifests produce duplicate package identifiers: ${collisions
13
+ .map((c) => c.identifier)
14
+ .join(", ")}`);
15
+ }
16
+ return composedManifests.map((packageName) => {
17
+ const typesPath = resolvePackageExportPath(projectRoot, packageName, "./iocTypes", { customConditions });
18
+ const typesContent = readFileUtf8(typesPath);
19
+ const externalProps = parseInterfacePropertyNames(typesContent, typesPath, "IocExternals");
20
+ const externalKeys = [...externalProps.keys()].sort((a, b) => a.localeCompare(b));
21
+ return {
22
+ packageName,
23
+ identifier: packageNameToIdentifier(packageName),
24
+ externalKeys,
25
+ };
26
+ });
27
+ };
28
+ //# sourceMappingURL=loadComposedPackageExternalKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadComposedPackageExternalKeys.js","sourceRoot":"","sources":["../../src/generator/loadComposedPackageExternalKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EACL,uBAAuB,EAEvB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE,CAChD,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,WAAmB,EACnB,iBAAoC,EACpC,gBAA+C,EACxB,EAAE;IACzB,MAAM,UAAU,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,kEAAkE,UAAU;aACzE,GAAG,CAAC,CAAC,CAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,WAAW,EACX,WAAW,EACX,YAAY,EACZ,EAAE,gBAAgB,EAAE,CACrB,CAAC;QACF,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,2BAA2B,CAC/C,YAAY,EACZ,SAAS,EACT,cAAc,CACf,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;QAEF,OAAO;YACL,WAAW;YACX,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC;YAChD,YAAY;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { DemandSupplyAnalysisResult } from "./analyzeDemandSupply/index.js";
2
+ /**
3
+ * Generation-time checks for `scopeProvided` against classified demand/supply entries.
4
+ */
5
+ export declare const validateScopeProvidedAtCodegen: (declaredScopeProvided: readonly string[], demandSupply: DemandSupplyAnalysisResult) => void;
6
+ //# sourceMappingURL=validateScopeProvidedAtCodegen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateScopeProvidedAtCodegen.d.ts","sourceRoot":"","sources":["../../src/generator/validateScopeProvidedAtCodegen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,uBAAuB,SAAS,MAAM,EAAE,EACxC,cAAc,0BAA0B,KACvC,IAkBF,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generation-time checks for `scopeProvided` against classified demand/supply entries.
3
+ */
4
+ export const validateScopeProvidedAtCodegen = (declaredScopeProvided, demandSupply) => {
5
+ if (declaredScopeProvided.length === 0) {
6
+ return;
7
+ }
8
+ const entryByKey = new Map(demandSupply.entries.map((e) => [e.key, e]));
9
+ for (const key of declaredScopeProvided) {
10
+ const entry = entryByKey.get(key);
11
+ if (entry === undefined) {
12
+ console.warn(`[ioc-config] scopeProvided declares "${key}" but no factory demands it — declaration has no effect (check for a typo).`);
13
+ }
14
+ else if (entry.classification === "local") {
15
+ throw new Error(`[ioc-config] scopeProvided declares "${key}", but it is built by a local supplier. A key cannot be both manifest-built and scope-provided; remove it from scopeProvided or stop building it.`);
16
+ }
17
+ }
18
+ };
19
+ //# sourceMappingURL=validateScopeProvidedAtCodegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateScopeProvidedAtCodegen.js","sourceRoot":"","sources":["../../src/generator/validateScopeProvidedAtCodegen.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,qBAAwC,EACxC,YAAwC,EAClC,EAAE;IACR,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CACV,wCAAwC,GAAG,6EAA6E,CACzH,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,wCAAwC,GAAG,mJAAmJ,CAC/L,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import type { ComposedRegistrationOverrides } from "../runtime/composedOverrides
2
2
  export type ComposedPackageSpec = {
3
3
  readonly packageName: string;
4
4
  readonly identifier: string;
5
+ readonly externalKeys: readonly string[];
5
6
  };
6
7
  export type WriteComposedManifestInput = {
7
8
  readonly generatedDir: string;
@@ -9,6 +10,7 @@ export type WriteComposedManifestInput = {
9
10
  readonly overrides: ComposedRegistrationOverrides | undefined;
10
11
  };
11
12
  export declare const buildComposedManifestSource: (input: WriteComposedManifestInput) => string;
13
+ /** Package identifiers only — use {@link loadComposedPackageSpecs} when external keys are needed. */
12
14
  export declare const resolveComposedPackageSpecs: (composedManifests: readonly string[]) => ComposedPackageSpec[];
13
15
  export declare const writeComposedManifest: (input: WriteComposedManifestInput) => Promise<string>;
14
16
  export declare const removeComposedManifestIfPresent: (generatedDir: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"writeComposedManifest.d.ts","sourceRoot":"","sources":["../../src/generator/writeComposedManifest.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,6BAA6B,GAAG,SAAS,CAAC;CAC/D,CAAC;AAoLF,eAAO,MAAM,2BAA2B,GACtC,OAAO,0BAA0B,KAChC,MA2BF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,mBAAmB,SAAS,MAAM,EAAE,KACnC,mBAAmB,EAIjB,CAAC;AAqBN,eAAO,MAAM,qBAAqB,GAChC,OAAO,0BAA0B,KAChC,OAAO,CAAC,MAAM,CAKhB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,cAAc,MAAM,KACnB,OAAO,CAAC,IAAI,CAOd,CAAC"}
1
+ {"version":3,"file":"writeComposedManifest.d.ts","sourceRoot":"","sources":["../../src/generator/writeComposedManifest.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,6BAA6B,GAAG,SAAS,CAAC;CAC/D,CAAC;AA8MF,eAAO,MAAM,2BAA2B,GACtC,OAAO,0BAA0B,KAChC,MA2BF,CAAC;AAEF,qGAAqG;AACrG,eAAO,MAAM,2BAA2B,GACtC,mBAAmB,SAAS,MAAM,EAAE,KACnC,mBAAmB,EAKjB,CAAC;AAqBN,eAAO,MAAM,qBAAqB,GAChC,OAAO,0BAA0B,KAChC,OAAO,CAAC,MAAM,CAKhB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,cAAc,MAAM,KACnB,OAAO,CAAC,IAAI,CAOd,CAAC"}
@@ -46,13 +46,30 @@ const buildAppCradleType = (specs) => {
46
46
  ];
47
47
  return parts.join(" & ");
48
48
  };
49
+ const tsPropertyAccessKey = (key) => /^[a-zA-Z_$][\w$]*$/.test(key) ? JSON.stringify(key) : JSON.stringify(key);
50
+ const externalKeyToAssertionSuffix = (key) => {
51
+ if (/^[a-zA-Z_$][\w$]*$/.test(key)) {
52
+ return key;
53
+ }
54
+ const sanitized = key.replace(/[^\w$]/g, "_");
55
+ return /^[0-9]/.test(sanitized) ? `_${sanitized}` : sanitized;
56
+ };
49
57
  const buildExternalsAssertionLines = (specs) => {
50
58
  const appCradle = "AppCradle";
51
59
  const lines = ["type _IocExpect<T extends true> = T;"];
52
60
  for (const spec of specs) {
61
+ if (spec.externalKeys.length === 0) {
62
+ continue;
63
+ }
53
64
  const cap = capitalizeIdentifier(spec.identifier);
54
- const satisfied = `_${cap}ExternalsSatisfied`;
55
- lines.push(`type ${satisfied} =`, ` ${cap}Externals extends Pick<${appCradle}, keyof ${cap}Externals> ? true : false;`, `type _${cap}ExternalsAssert = _IocExpect<${satisfied}>;`);
65
+ const pickAlias = `_${cap}ExternalsPick`;
66
+ lines.push(`// If any assertion below is \`false\`, run \`ioc validate\` for a detailed per-key explanation.`, `type ${pickAlias} = Pick<${appCradle}, keyof ${cap}Externals>;`);
67
+ for (const externalKey of spec.externalKeys) {
68
+ const suffix = externalKeyToAssertionSuffix(externalKey);
69
+ const keyAccess = tsPropertyAccessKey(externalKey);
70
+ const satisfied = `_${cap}_${suffix}`;
71
+ lines.push(`type ${satisfied} = ${cap}Externals[${keyAccess}] extends ${pickAlias}[${keyAccess}] ? true : false;`, `type ${satisfied}Assert = _IocExpect<${satisfied}>;`);
72
+ }
56
73
  }
57
74
  return lines;
58
75
  };
@@ -145,9 +162,11 @@ ${assertionLines.length > 0 ? `// Compile-time externals satisfaction assertions
145
162
  ${overridesBlock}
146
163
  `;
147
164
  };
165
+ /** Package identifiers only — use {@link loadComposedPackageSpecs} when external keys are needed. */
148
166
  export const resolveComposedPackageSpecs = (composedManifests) => composedManifests.map((packageName) => ({
149
167
  packageName,
150
168
  identifier: packageNameToIdentifier(packageName),
169
+ externalKeys: [],
151
170
  }));
152
171
  const replaceFileFromTemp = async (targetPath, contents) => {
153
172
  const tempPath = `${targetPath}.tmp-${process.pid}-${Date.now()}`;