ioc-manifest 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -3
- package/dist/config/iocConfig.d.ts +5 -0
- package/dist/config/iocConfig.d.ts.map +1 -1
- package/dist/config/iocConfig.js.map +1 -1
- package/dist/config/loadIocConfig.d.ts.map +1 -1
- package/dist/config/loadIocConfig.js +35 -0
- package/dist/config/loadIocConfig.js.map +1 -1
- package/dist/generator/generateManifest.d.ts.map +1 -1
- package/dist/generator/generateManifest.js +80 -72
- package/dist/generator/generateManifest.js.map +1 -1
- package/dist/generator/iocProgramContext.d.ts +14 -1
- package/dist/generator/iocProgramContext.d.ts.map +1 -1
- package/dist/generator/iocProgramContext.js +41 -16
- package/dist/generator/iocProgramContext.js.map +1 -1
- package/dist/generator/resolveLifetimeMarkers.d.ts +35 -0
- package/dist/generator/resolveLifetimeMarkers.d.ts.map +1 -0
- package/dist/generator/resolveLifetimeMarkers.js +138 -0
- package/dist/generator/resolveLifetimeMarkers.js.map +1 -0
- package/dist/generator/resolveRegistrationPlan.d.ts +3 -1
- package/dist/generator/resolveRegistrationPlan.d.ts.map +1 -1
- package/dist/generator/resolveRegistrationPlan.js +14 -2
- package/dist/generator/resolveRegistrationPlan.js.map +1 -1
- package/dist/groups/baseTypeAssignability.d.ts +10 -0
- package/dist/groups/baseTypeAssignability.d.ts.map +1 -1
- package/dist/groups/baseTypeAssignability.js +14 -0
- package/dist/groups/baseTypeAssignability.js.map +1 -1
- package/dist/inspection/runDiscoveryAnalysis.d.ts.map +1 -1
- package/dist/inspection/runDiscoveryAnalysis.js +21 -10
- package/dist/inspection/runDiscoveryAnalysis.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -97,7 +97,17 @@ export const buildUserService = ({
|
|
|
97
97
|
});
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
The named
|
|
100
|
+
The named-deps-type pattern is required. Factories cannot destructure directly from `IocGeneratedCradle`, and inline object literals (`({ foo, bar }: { foo: Foo; bar: Bar })`) aren't allowed either — codegen will reject both. The rule is: the first parameter must be a named `interface` or `type` alias.
|
|
101
|
+
|
|
102
|
+
Three reasons:
|
|
103
|
+
|
|
104
|
+
1. **The cradle is generated from your factories' declarations.** A factory declaring its inputs by referencing the cradle would be a chicken-and-egg loop — the cradle doesn't exist yet at the moment codegen reads the factory.
|
|
105
|
+
|
|
106
|
+
2. **The deps type is the factory's testable contract.** Exporting `type UserServiceDeps = { ... }` means tests can `import type { UserServiceDeps }`, build a literal satisfying it, and call the factory directly with no container at all (see [Testing](#testing) below). Inline literals aren't importable — tests would have to reconstruct the same shape by hand in every file, and that drifts.
|
|
107
|
+
|
|
108
|
+
3. **The deps type is documentation.** When someone opens the file, the named declaration sits at the top and says exactly what the factory consumes. Inline literals bury the contract inside the function signature, where it competes for attention with parameter names and the return type.
|
|
109
|
+
|
|
110
|
+
The cost is one extra line per factory. That's the deal.
|
|
101
111
|
|
|
102
112
|
### 2. Configure
|
|
103
113
|
|
|
@@ -332,6 +342,28 @@ Under each contract name, keys are implementation names from discovery (`buildFo
|
|
|
332
342
|
| ----------------- | ----------------------------------------------------------------------------------------------- |
|
|
333
343
|
| `accessKey` | Overrides the cradle property name for the default slot (e.g. `"database"` instead of `"knex"`) |
|
|
334
344
|
|
|
345
|
+
### `lifetimeMarkers`
|
|
346
|
+
|
|
347
|
+
Declare marker interfaces that map to Awilix lifetimes. Any factory whose return type is assignable to a marker inherits that lifetime automatically.
|
|
348
|
+
|
|
349
|
+
```ts
|
|
350
|
+
lifetimeMarkers: {
|
|
351
|
+
IScoped: "scoped",
|
|
352
|
+
ITransient: "transient",
|
|
353
|
+
},
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Keys are interface or type-alias names visible in the package's TypeScript program at codegen. Values are `singleton`, `scoped`, or `transient`. An empty object `{}` skips marker analysis.
|
|
357
|
+
|
|
358
|
+
> ⚠️ Markers must be **branded interfaces** with at least one distinguishing property. An empty marker (`interface IScoped {}`) is structurally assignable from every object type and will tag every factory in the package. See [Lifetime markers](#lifetime-markers) for the branded pattern.
|
|
359
|
+
|
|
360
|
+
**Lifetime precedence** (highest first):
|
|
361
|
+
|
|
362
|
+
1. `registrations[Contract][implementation].lifetime`
|
|
363
|
+
2. Lifetime marker on return type (`lifetimeMarkers`)
|
|
364
|
+
3. `discovery.scanDirs[].scope` (folder-scoped default)
|
|
365
|
+
4. Default: `singleton`
|
|
366
|
+
|
|
335
367
|
### App-mode fields
|
|
336
368
|
|
|
337
369
|
These only apply in app mode (a package that composes manifests from other packages):
|
|
@@ -665,9 +697,95 @@ Missing dependencies, cyclic references, lifetime violations, and factory except
|
|
|
665
697
|
|
|
666
698
|
The basics — factory discovery, typed cradle, automatic collections — cover most applications. The features below are things you can reach for when your app grows or your architecture demands more structure.
|
|
667
699
|
|
|
700
|
+
### Lifetime markers
|
|
701
|
+
|
|
702
|
+
When services are organized by domain (`src/users/`, `src/orders/`) rather than by lifetime category, folder-scoped lifetimes fit poorly. **Lifetime markers** express cross-cutting lifetime policy via marker interfaces — the same assignability machinery groups use.
|
|
703
|
+
|
|
704
|
+
#### Defining a marker
|
|
705
|
+
|
|
706
|
+
A marker is an interface with at least one distinguishing property. **An empty interface (`interface IScoped {}`) will not work** — it's structurally assignable from any object type, so it would tag every factory in the package with the marker's lifetime. Brand the marker explicitly:
|
|
707
|
+
|
|
708
|
+
```ts
|
|
709
|
+
// shared types
|
|
710
|
+
export interface IScoped {
|
|
711
|
+
readonly __iocLifetimeScoped: true;
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
export interface ITransient {
|
|
715
|
+
readonly __iocLifetimeTransient: true;
|
|
716
|
+
}
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
The branding property is a compile-time tag. It never appears at runtime — your implementations satisfy it via the type system without setting the field on the actual object.
|
|
720
|
+
|
|
721
|
+
#### Declaring markers
|
|
722
|
+
|
|
723
|
+
Map marker types to lifetimes in `ioc.config`:
|
|
724
|
+
|
|
725
|
+
```ts
|
|
726
|
+
lifetimeMarkers: {
|
|
727
|
+
IScoped: "scoped",
|
|
728
|
+
ITransient: "transient",
|
|
729
|
+
},
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
Keys are interface or type-alias names visible in the package's TypeScript program at codegen. Values are `singleton`, `scoped`, or `transient`. An empty object `{}` skips marker analysis.
|
|
733
|
+
|
|
734
|
+
#### Attaching markers to factories
|
|
735
|
+
|
|
736
|
+
Three attachment points, in order of locality. The pattern that fits your code best is usually the right one.
|
|
737
|
+
|
|
738
|
+
**Directly on the implementation type:**
|
|
739
|
+
|
|
740
|
+
```ts
|
|
741
|
+
export interface RequestTracingLogger extends LoggingService, IScoped {
|
|
742
|
+
readonly __iocLifetimeScoped: true;
|
|
743
|
+
}
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
**On a shared contract** (every implementation of `LoggingService` becomes scoped):
|
|
747
|
+
|
|
748
|
+
```ts
|
|
749
|
+
export interface LoggingService extends IScoped {
|
|
750
|
+
readonly __iocLifetimeScoped: true;
|
|
751
|
+
log: (msg: string) => void;
|
|
752
|
+
}
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
**On a group base type** — the cleanest pattern when implementations are already collected as a group. Every implementation in the group inherits the lifetime automatically:
|
|
756
|
+
|
|
757
|
+
```ts
|
|
758
|
+
export interface DiscountStrategy extends IScoped {
|
|
759
|
+
readonly __iocLifetimeScoped: true;
|
|
760
|
+
applies: (order: Order) => boolean;
|
|
761
|
+
calculate: (order: Order) => number;
|
|
762
|
+
}
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
Transitive inheritance does the rest. You attach the marker once on the right level of abstraction; codegen finds it on every implementation downstream.
|
|
766
|
+
|
|
767
|
+
#### Precedence
|
|
768
|
+
|
|
769
|
+
For any factory, the lifetime resolves in this order (highest first):
|
|
770
|
+
|
|
771
|
+
1. `registrations[Contract][impl].lifetime` — explicit per-impl override
|
|
772
|
+
2. Lifetime marker on the return type
|
|
773
|
+
3. `discovery.scanDirs[].scope` — folder-scoped default
|
|
774
|
+
4. Default: `singleton`
|
|
775
|
+
|
|
776
|
+
#### Multiple markers is a hard error
|
|
777
|
+
|
|
778
|
+
If a return type matches two markers, codegen errors and names both. Silent first-wins would create the worst kind of bug — a service's lifetime quietly differs from what the developer intended. Resolve by removing one marker from the inheritance chain or setting the lifetime explicitly via `registrations`.
|
|
779
|
+
|
|
780
|
+
#### Cross-package behavior
|
|
781
|
+
|
|
782
|
+
Marker types must be declared in source files visible to the package's TypeScript program at codegen — typically the same package's `src/`. Library packages bake their resolved lifetimes into their manifest at _their_ codegen time; composing apps do not re-run marker resolution on library factories. A library's choice of marker is invisible to consumers; what they see is the resolved lifetime in the registration.
|
|
783
|
+
|
|
668
784
|
### Folder-scoped lifetimes
|
|
669
785
|
|
|
670
|
-
|
|
786
|
+
Folder-scoped lifetimes are a **legacy pattern** for codebases where directory layout mirrors lifetime boundaries. For domain-organized code, prefer [lifetime markers](#lifetime-markers) instead.
|
|
787
|
+
|
|
788
|
+
If implementations are co-located by lifetime category, you can default lifetimes by scan root:
|
|
671
789
|
|
|
672
790
|
```ts
|
|
673
791
|
discovery: {
|
|
@@ -682,7 +800,7 @@ discovery: {
|
|
|
682
800
|
|
|
683
801
|
This came out of a real pattern: in a GraphQL API, services and repositories are scoped to the request, infrastructure clients (database pools, caches) are singletons, and HTTP handlers are transient. Instead of repeating that in `registrations` for every single factory, you express it structurally — the directory _is_ the policy.
|
|
684
802
|
|
|
685
|
-
Per-implementation overrides in `registrations`
|
|
803
|
+
Per-implementation overrides in `registrations` and lifetime markers take precedence over folder scope.
|
|
686
804
|
|
|
687
805
|
### Groups
|
|
688
806
|
|
|
@@ -818,6 +936,8 @@ Either way, factory source code doesn't change.
|
|
|
818
936
|
|
|
819
937
|
**Library-mode invocation of `ioc validate`** — prints an informational message and exits 0. Validate is a cross-manifest tool; a library has no cross-manifest concerns to validate.
|
|
820
938
|
|
|
939
|
+
**Every factory in the package got the same lifetime** — your marker interface is empty (`interface IScoped {}`), so it matches every object type. Add a distinguishing property like `readonly __iocLifetimeScoped: true` to the marker. See [Lifetime markers](#lifetime-markers).
|
|
940
|
+
|
|
821
941
|
---
|
|
822
942
|
|
|
823
943
|
## Design philosophy
|
|
@@ -84,6 +84,11 @@ export type IocConfig = {
|
|
|
84
84
|
* when diamond-dependency hoisting produces mismatched ids (§14.4.1).
|
|
85
85
|
*/
|
|
86
86
|
groupBaseTypeAliases?: Record<string, string[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Maps interface or type-alias names to lifetimes. A factory whose return type is assignable to
|
|
89
|
+
* a marker name inherits that marker's lifetime (see lifetime precedence in docs).
|
|
90
|
+
*/
|
|
91
|
+
lifetimeMarkers?: Record<string, IocLifetime>;
|
|
87
92
|
};
|
|
88
93
|
export declare const defineIocConfig: (config: IocConfig) => IocConfig;
|
|
89
94
|
//# 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;
|
|
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 +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":"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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -20,6 +20,7 @@ const TOP_LEVEL_KEYS = new Set([
|
|
|
20
20
|
"registrations",
|
|
21
21
|
"groups",
|
|
22
22
|
"groupBaseTypeAliases",
|
|
23
|
+
"lifetimeMarkers",
|
|
23
24
|
]);
|
|
24
25
|
const DISCOVERY_KEYS = new Set([
|
|
25
26
|
"scanDirs",
|
|
@@ -65,6 +66,37 @@ const validateGroupBaseTypeAliasesShape = (value, pathLabel) => {
|
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
};
|
|
69
|
+
const BUILTIN_TYPE_NAMES = new Set([
|
|
70
|
+
"string",
|
|
71
|
+
"number",
|
|
72
|
+
"boolean",
|
|
73
|
+
"symbol",
|
|
74
|
+
"bigint",
|
|
75
|
+
"undefined",
|
|
76
|
+
"null",
|
|
77
|
+
"object",
|
|
78
|
+
"never",
|
|
79
|
+
"unknown",
|
|
80
|
+
"any",
|
|
81
|
+
"void",
|
|
82
|
+
]);
|
|
83
|
+
const validateLifetimeMarkersShape = (value, pathLabel) => {
|
|
84
|
+
if (!isRecord(value)) {
|
|
85
|
+
throw new Error(`[ioc-config] ${pathLabel} must be an object when set`);
|
|
86
|
+
}
|
|
87
|
+
for (const [markerName, lifetime] of Object.entries(value)) {
|
|
88
|
+
const entryPath = `${pathLabel}.${JSON.stringify(markerName)}`;
|
|
89
|
+
if (typeof markerName !== "string" || markerName.length === 0) {
|
|
90
|
+
throw new Error(`[ioc-config] ${pathLabel} keys must be non-empty strings`);
|
|
91
|
+
}
|
|
92
|
+
if (BUILTIN_TYPE_NAMES.has(markerName)) {
|
|
93
|
+
console.warn(`[ioc-config] warning: ${entryPath} uses a built-in type name ${JSON.stringify(markerName)}; prefer a dedicated marker interface`);
|
|
94
|
+
}
|
|
95
|
+
if (!isIocLifetime(lifetime)) {
|
|
96
|
+
throw new Error(`[ioc-config] ${entryPath} must be singleton | scoped | transient`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
68
100
|
const validateGroupsShape = (value, pathLabel) => {
|
|
69
101
|
if (!isRecord(value)) {
|
|
70
102
|
throw new Error(`[ioc-config] ${pathLabel} must be an object`);
|
|
@@ -276,6 +308,9 @@ const validateIocConfig = async (raw, sourceLabel) => {
|
|
|
276
308
|
}
|
|
277
309
|
validateGroupBaseTypeAliasesShape(raw.groupBaseTypeAliases, `${sourceLabel} groupBaseTypeAliases`);
|
|
278
310
|
}
|
|
311
|
+
if (raw.lifetimeMarkers !== undefined) {
|
|
312
|
+
validateLifetimeMarkersShape(raw.lifetimeMarkers, `${sourceLabel} lifetimeMarkers`);
|
|
313
|
+
}
|
|
279
314
|
const config = raw;
|
|
280
315
|
if (composedManifests !== undefined && composedManifests.length > 0) {
|
|
281
316
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAoBA,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,CAsLd,CAAC"}
|
|
@@ -9,17 +9,18 @@ import { createRequire } from "node:module";
|
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { tryLoadIocConfig, resolveIocConfigPath, resolveProjectRootFromIocConfigPath, } from "../config/loadIocConfig.js";
|
|
11
11
|
import { discoverFactories } from "./discoverFactories/discoverFactories.js";
|
|
12
|
-
import { createIocProgramForDiscovery, getDiscoveryTargetFiles,
|
|
12
|
+
import { createIocProgramForDiscovery, getDiscoveryTargetFiles, logDiscoveryProgramErrorDiagnosticsForFailure, } from "./iocProgramContext.js";
|
|
13
13
|
import { mergeManifestOptionsWithIocConfig, resolveManifestOptions, } from "./manifestOptions.js";
|
|
14
14
|
import { analyzeDemandSupply } from "./analyzeDemandSupply/index.js";
|
|
15
15
|
import { buildRegistrationPlan } from "./resolveRegistrationPlan.js";
|
|
16
16
|
import { buildManifestArtifactSources, writeGeneratedFilesAtomically, } from "./writeManifest.js";
|
|
17
17
|
import { buildGroupPlan } from "../groups/resolveGroupPlan.js";
|
|
18
|
-
import { isAppMode, isLibraryMode, resolveManifestExportPath } from "../config/iocMode.js";
|
|
18
|
+
import { isAppMode, isLibraryMode, resolveManifestExportPath, } from "../config/iocMode.js";
|
|
19
19
|
import { loadComposedManifestContractNames } from "./loadComposedManifestContracts.js";
|
|
20
20
|
import { validateGroupBaseTypeAliasKeysAtCodegen } from "./loadComposedManifestGroups.js";
|
|
21
21
|
import { buildComposedRegistrationOverridesFromConfig } from "./buildComposedRegistrationOverrides.js";
|
|
22
22
|
import { buildComposedManifestSource, removeComposedManifestIfPresent, resolveComposedPackageSpecs, } from "./writeComposedManifest.js";
|
|
23
|
+
import { resolveLifetimeMarkersForFactories } from "./resolveLifetimeMarkers.js";
|
|
23
24
|
const require = createRequire(import.meta.url);
|
|
24
25
|
const packageJson = require("../../package.json");
|
|
25
26
|
const packageName = typeof packageJson.name === "string" && packageJson.name.length > 0
|
|
@@ -80,85 +81,92 @@ export const generateManifest = async (overrides) => {
|
|
|
80
81
|
await fs.mkdir(generatedDir, { recursive: true });
|
|
81
82
|
const files = await getDiscoveryTargetFiles(scanDirs, includePatterns, excludePatterns, generatedDir);
|
|
82
83
|
const program = createIocProgramForDiscovery(projectRoot, files);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
scanDirs,
|
|
97
|
-
});
|
|
98
|
-
const demandSupply = analyzeDemandSupply(acceptedFactories, {
|
|
99
|
-
program,
|
|
100
|
-
projectRoot,
|
|
101
|
-
scanDirs,
|
|
102
|
-
generatedDir,
|
|
103
|
-
groupsManifest: groupResult?.manifest,
|
|
104
|
-
});
|
|
105
|
-
const writeOptions = {
|
|
106
|
-
demandSupply,
|
|
107
|
-
registryTypesBuildContext: {
|
|
84
|
+
try {
|
|
85
|
+
const { contractMap, acceptedFactories } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config);
|
|
86
|
+
const composedContractNames = config !== undefined && isAppMode(config)
|
|
87
|
+
? await loadComposedManifestContractNames(projectRoot, config.composedManifests)
|
|
88
|
+
: undefined;
|
|
89
|
+
const markerLifetimesByFactoryKey = resolveLifetimeMarkersForFactories(acceptedFactories, config?.lifetimeMarkers, { program, projectRoot, scanDirs });
|
|
90
|
+
const plans = buildRegistrationPlan(contractMap, config, {
|
|
91
|
+
projectRoot,
|
|
92
|
+
scanDirs,
|
|
93
|
+
composedContractNames,
|
|
94
|
+
markerLifetimesByFactoryKey,
|
|
95
|
+
});
|
|
96
|
+
const groupResult = buildGroupPlan(config?.groups, plans, {
|
|
108
97
|
program,
|
|
109
98
|
generatedDir,
|
|
110
99
|
scanDirs,
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
{ path: artifactSources.typesPath, contents: artifactSources.typesSource },
|
|
117
|
-
];
|
|
118
|
-
let composedOutPath;
|
|
119
|
-
if (config !== undefined && isAppMode(config)) {
|
|
120
|
-
const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
|
|
121
|
-
await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath);
|
|
122
|
-
const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
|
|
123
|
-
const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
|
|
124
|
-
composedOutPath = path.join(generatedDir, "ioc-composed.ts");
|
|
125
|
-
const composedSource = buildComposedManifestSource({
|
|
100
|
+
});
|
|
101
|
+
const demandSupply = analyzeDemandSupply(acceptedFactories, {
|
|
102
|
+
program,
|
|
103
|
+
projectRoot,
|
|
104
|
+
scanDirs,
|
|
126
105
|
generatedDir,
|
|
127
|
-
|
|
128
|
-
overrides: composedOverrides,
|
|
106
|
+
groupsManifest: groupResult?.manifest,
|
|
129
107
|
});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
108
|
+
const writeOptions = {
|
|
109
|
+
demandSupply,
|
|
110
|
+
registryTypesBuildContext: {
|
|
111
|
+
program,
|
|
112
|
+
generatedDir,
|
|
113
|
+
scanDirs,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
const artifactSources = buildManifestArtifactSources(acceptedFactories, plans, groupResult?.manifest, manifestOutPath, packageName, writeOptions);
|
|
117
|
+
const filesToWrite = [
|
|
118
|
+
{ path: manifestOutPath, contents: artifactSources.mainSource },
|
|
119
|
+
{ path: artifactSources.typesPath, contents: artifactSources.typesSource },
|
|
120
|
+
];
|
|
121
|
+
let composedOutPath;
|
|
122
|
+
if (config !== undefined && isAppMode(config)) {
|
|
123
|
+
const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
|
|
124
|
+
await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath);
|
|
125
|
+
const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
|
|
126
|
+
const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
|
|
127
|
+
composedOutPath = path.join(generatedDir, "ioc-composed.ts");
|
|
128
|
+
const composedSource = buildComposedManifestSource({
|
|
129
|
+
generatedDir,
|
|
130
|
+
composedPackages,
|
|
131
|
+
overrides: composedOverrides,
|
|
132
|
+
});
|
|
133
|
+
filesToWrite.push({ path: composedOutPath, contents: composedSource });
|
|
138
134
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
formatGeneratedFileWithPrettier(composedOutPath, projectRoot);
|
|
148
|
-
}
|
|
149
|
-
const relManifest = path.relative(projectRoot, manifestOutPath);
|
|
150
|
-
console.log(`Generated ${relManifest} — ${acceptedFactories.length} module factory(ies), ${contractMap.size} contract(s).`);
|
|
151
|
-
if (config !== undefined && isLibraryMode(config)) {
|
|
152
|
-
console.log(`Manifest export path (configure package.json exports): ${resolveManifestExportPath(config)}`);
|
|
153
|
-
}
|
|
154
|
-
if (config !== undefined && isAppMode(config)) {
|
|
155
|
-
console.log(`App mode: composed ${config.composedManifests.length} package manifest(s)`);
|
|
156
|
-
for (const pkg of config.composedManifests) {
|
|
157
|
-
console.log(` - ${pkg} → import from '${pkg}/iocManifest'`);
|
|
135
|
+
try {
|
|
136
|
+
await writeGeneratedFilesAtomically(filesToWrite);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
if (composedOutPath !== undefined) {
|
|
140
|
+
await removeComposedManifestIfPresent(generatedDir);
|
|
141
|
+
}
|
|
142
|
+
throw error;
|
|
158
143
|
}
|
|
144
|
+
if (config === undefined || isLibraryMode(config)) {
|
|
145
|
+
await removeComposedManifestIfPresent(generatedDir);
|
|
146
|
+
}
|
|
147
|
+
formatGeneratedFileWithPrettier(manifestOutPath, projectRoot);
|
|
148
|
+
formatGeneratedFileWithPrettier(artifactSources.typesPath, projectRoot);
|
|
159
149
|
if (composedOutPath !== undefined) {
|
|
160
|
-
|
|
150
|
+
formatGeneratedFileWithPrettier(composedOutPath, projectRoot);
|
|
151
|
+
}
|
|
152
|
+
const relManifest = path.relative(projectRoot, manifestOutPath);
|
|
153
|
+
console.log(`Generated ${relManifest} — ${acceptedFactories.length} module factory(ies), ${contractMap.size} contract(s).`);
|
|
154
|
+
if (config !== undefined && isLibraryMode(config)) {
|
|
155
|
+
console.log(`Manifest export path (configure package.json exports): ${resolveManifestExportPath(config)}`);
|
|
156
|
+
}
|
|
157
|
+
if (config !== undefined && isAppMode(config)) {
|
|
158
|
+
console.log(`App mode: composed ${config.composedManifests.length} package manifest(s)`);
|
|
159
|
+
for (const pkg of config.composedManifests) {
|
|
160
|
+
console.log(` - ${pkg} → import from '${pkg}/iocManifest'`);
|
|
161
|
+
}
|
|
162
|
+
if (composedOutPath !== undefined) {
|
|
163
|
+
console.log(`Generated ${path.relative(projectRoot, composedOutPath)}`);
|
|
164
|
+
}
|
|
161
165
|
}
|
|
162
166
|
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
logDiscoveryProgramErrorDiagnosticsForFailure(program, projectRoot, files, error);
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
163
171
|
};
|
|
164
172
|
//# sourceMappingURL=generateManifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mCAAmC,GACpC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,18 @@ export declare const getDiscoveryTargetFiles: (scanDirs: ResolvedScanDir[], incl
|
|
|
7
7
|
* discovery targets). Compiler options (paths, module resolution) match your project build.
|
|
8
8
|
*/
|
|
9
9
|
export declare const createIocProgramForDiscovery: (projectRoot: string, rootNames: string[]) => ts.Program;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Formatted TypeScript errors for discovery target files only (not warnings).
|
|
12
|
+
* Returns an empty string when there are no relevant errors.
|
|
13
|
+
*/
|
|
14
|
+
export declare const formatDiscoveryProgramErrorDiagnostics: (program: ts.Program, projectRoot: string, rootNames: readonly string[]) => string;
|
|
15
|
+
/**
|
|
16
|
+
* True when codegen failed in a step where TypeScript program diagnostics are likely
|
|
17
|
+
* the root cause (as opposed to config, duplicate keys, etc.).
|
|
18
|
+
*/
|
|
19
|
+
export declare const isCodegenFailureCausedByTypeScript: (error: unknown) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Logs discovery-scoped TS errors when `error` is type-check related and diagnostics exist.
|
|
22
|
+
*/
|
|
23
|
+
export declare const logDiscoveryProgramErrorDiagnosticsForFailure: (program: ts.Program, projectRoot: string, rootNames: readonly string[], error: unknown) => void;
|
|
11
24
|
//# sourceMappingURL=iocProgramContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iocProgramContext.d.ts","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,GAClC,UAAU,eAAe,EAAE,EAC3B,iBAAiB,MAAM,EAAE,EACzB,iBAAiB,MAAM,EAAE,EACzB,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,KAClB,EAAE,CAAC,OAoCL,CAAC;
|
|
1
|
+
{"version":3,"file":"iocProgramContext.d.ts","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,GAClC,UAAU,eAAe,EAAE,EAC3B,iBAAiB,MAAM,EAAE,EACzB,iBAAiB,MAAM,EAAE,EACzB,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,KAClB,EAAE,CAAC,OAoCL,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,KAC3B,MAgBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAC7C,OAAO,OAAO,KACb,OAYF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,EAC5B,OAAO,OAAO,KACb,IAiBF,CAAC"}
|
|
@@ -48,7 +48,24 @@ export const createIocProgramForDiscovery = (projectRoot, rootNames) => {
|
|
|
48
48
|
}
|
|
49
49
|
return ts.createProgram({ rootNames, options: parsed.options });
|
|
50
50
|
};
|
|
51
|
-
const
|
|
51
|
+
const collectDiscoveryProgramErrorDiagnostics = (program, rootNames) => {
|
|
52
|
+
const relevantRootFiles = new Set(rootNames.map((fileName) => normalizePath(fileName)));
|
|
53
|
+
return ts.getPreEmitDiagnostics(program).filter((diagnostic) => {
|
|
54
|
+
if (diagnostic.category !== ts.DiagnosticCategory.Error) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
if (diagnostic.file === undefined) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return relevantRootFiles.has(normalizePath(diagnostic.file.fileName));
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Formatted TypeScript errors for discovery target files only (not warnings).
|
|
65
|
+
* Returns an empty string when there are no relevant errors.
|
|
66
|
+
*/
|
|
67
|
+
export const formatDiscoveryProgramErrorDiagnostics = (program, projectRoot, rootNames) => {
|
|
68
|
+
const diagnostics = collectDiscoveryProgramErrorDiagnostics(program, rootNames);
|
|
52
69
|
if (diagnostics.length === 0) {
|
|
53
70
|
return "";
|
|
54
71
|
}
|
|
@@ -59,23 +76,31 @@ const formatDiagnostics = (diagnostics, projectRoot) => {
|
|
|
59
76
|
};
|
|
60
77
|
return ts.formatDiagnosticsWithColorAndContext(diagnostics, formatHost);
|
|
61
78
|
};
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return
|
|
69
|
-
}
|
|
70
|
-
|
|
79
|
+
/**
|
|
80
|
+
* True when codegen failed in a step where TypeScript program diagnostics are likely
|
|
81
|
+
* the root cause (as opposed to config, duplicate keys, etc.).
|
|
82
|
+
*/
|
|
83
|
+
export const isCodegenFailureCausedByTypeScript = (error) => {
|
|
84
|
+
if (!(error instanceof Error)) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
const message = error.message;
|
|
88
|
+
return (message.includes("not in the TypeScript program") ||
|
|
89
|
+
message.includes("cannot type-check") ||
|
|
90
|
+
message.includes("Conflicting types for demanded key") ||
|
|
91
|
+
message.includes("references an unresolvable type in deps"));
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Logs discovery-scoped TS errors when `error` is type-check related and diagnostics exist.
|
|
95
|
+
*/
|
|
96
|
+
export const logDiscoveryProgramErrorDiagnosticsForFailure = (program, projectRoot, rootNames, error) => {
|
|
97
|
+
if (!isCodegenFailureCausedByTypeScript(error)) {
|
|
71
98
|
return;
|
|
72
99
|
}
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const rendered = formatDiagnostics(diagnostics, projectRoot);
|
|
77
|
-
if (rendered.length > 0) {
|
|
78
|
-
console.warn(rendered);
|
|
100
|
+
const rendered = formatDiscoveryProgramErrorDiagnostics(program, projectRoot, rootNames);
|
|
101
|
+
if (rendered.length === 0) {
|
|
102
|
+
return;
|
|
79
103
|
}
|
|
104
|
+
console.error(`[ioc] TypeScript errors in discovery target file(s):\n${rendered}`);
|
|
80
105
|
};
|
|
81
106
|
//# sourceMappingURL=iocProgramContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iocProgramContext.js","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"iocProgramContext.js","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import type { IocLifetime } from "../config/iocConfig.js";
|
|
3
|
+
import { type ResolvedScanDir } from "./manifestPaths.js";
|
|
4
|
+
import type { DiscoveredFactory } from "./types.js";
|
|
5
|
+
export type ResolvedLifetimeMarker = {
|
|
6
|
+
name: string;
|
|
7
|
+
lifetime: IocLifetime;
|
|
8
|
+
type: ts.Type;
|
|
9
|
+
};
|
|
10
|
+
export type LifetimeMarkerMatch = {
|
|
11
|
+
name: string;
|
|
12
|
+
lifetime: IocLifetime;
|
|
13
|
+
};
|
|
14
|
+
export type LifetimeMarkerResolutionDeps = {
|
|
15
|
+
resolveMarkerType: (markerName: string) => ResolvedLifetimeMarker;
|
|
16
|
+
isAssignableToMarker: (candidateType: ts.Type, marker: ResolvedLifetimeMarker) => boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare const factoryLifetimeMarkerKey: (factory: DiscoveredFactory) => string;
|
|
19
|
+
export declare const resolveLifetimeMarkerTypes: (program: ts.Program, lifetimeMarkers: Record<string, IocLifetime>) => readonly ResolvedLifetimeMarker[];
|
|
20
|
+
export type ResolveLifetimeMarkersForFactoriesOptions = {
|
|
21
|
+
program: ts.Program;
|
|
22
|
+
projectRoot: string;
|
|
23
|
+
scanDirs: readonly ResolvedScanDir[];
|
|
24
|
+
/** Injectable for tests (assignability call counting). */
|
|
25
|
+
deps?: LifetimeMarkerResolutionDeps;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Maps each factory to a marker-resolved lifetime. When `lifetimeMarkers` is empty, returns an
|
|
29
|
+
* empty map immediately — zero assignability checks (perf contract for library-mode packages
|
|
30
|
+
* that omit lifetimeMarkers).
|
|
31
|
+
*/
|
|
32
|
+
export declare const resolveLifetimeMarkersForFactories: (factories: readonly DiscoveredFactory[], lifetimeMarkers: Record<string, IocLifetime> | undefined, options: ResolveLifetimeMarkersForFactoriesOptions) => ReadonlyMap<string, IocLifetime>;
|
|
33
|
+
/** Validates marker names resolve in the program (used when markers are non-empty). */
|
|
34
|
+
export declare const assertLifetimeMarkerTypesResolvable: (program: ts.Program, lifetimeMarkers: Record<string, IocLifetime> | undefined) => void;
|
|
35
|
+
//# sourceMappingURL=resolveLifetimeMarkers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveLifetimeMarkers.d.ts","sourceRoot":"","sources":["../../src/generator/resolveLifetimeMarkers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,sBAAsB,CAAC;IAClE,oBAAoB,EAAE,CACpB,aAAa,EAAE,EAAE,CAAC,IAAI,EACtB,MAAM,EAAE,sBAAsB,KAC3B,OAAO,CAAC;CACd,CAAC;AAIF,eAAO,MAAM,wBAAwB,GACnC,SAAS,iBAAiB,KACzB,MAAuD,CAAC;AAgC3D,eAAO,MAAM,0BAA0B,GACrC,SAAS,EAAE,CAAC,OAAO,EACnB,iBAAiB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAC3C,SAAS,sBAAsB,EAiBjC,CAAC;AAyEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,0DAA0D;IAC1D,IAAI,CAAC,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAC7C,WAAW,SAAS,iBAAiB,EAAE,EACvC,iBAAiB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,EACxD,SAAS,yCAAyC,KACjD,WAAW,CAAC,MAAM,EAAE,WAAW,CAqEjC,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,mCAAmC,GAC9C,SAAS,EAAE,CAAC,OAAO,EACnB,iBAAiB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,KACvD,IAQF,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Resolves factory lifetimes from `lifetimeMarkers` config via return-type
|
|
3
|
+
* assignability. Reuses {@link resolveDeclaredBaseType} from groups; TypeScript's checker
|
|
4
|
+
* handles inheritance walking with its own caching — user-facing cost is dominated by factory
|
|
5
|
+
* discovery, not marker checks.
|
|
6
|
+
*/
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { resolveDeclaredBaseType } from "../groups/baseTypeAssignability.js";
|
|
9
|
+
import { collectFileAnalysisForFactoryDiscovery } from "./discoverFactories/scanFactoryFile.js";
|
|
10
|
+
import { resolveFactorySourceAbsPath, } from "./manifestPaths.js";
|
|
11
|
+
const normalizePath = (p) => path.normalize(p);
|
|
12
|
+
export const factoryLifetimeMarkerKey = (factory) => `${factory.modulePath}:${factory.exportName}`;
|
|
13
|
+
const formatFactoryLocation = (factory, factoryDecl, sourceFile, projectRoot) => {
|
|
14
|
+
const pos = factoryDecl.parameters[0]?.getStart() ?? factoryDecl.getStart();
|
|
15
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(pos);
|
|
16
|
+
const abs = path.join(projectRoot, factory.modulePath);
|
|
17
|
+
const rel = path.relative(projectRoot, abs).replace(/\\/g, "/");
|
|
18
|
+
return `${rel}:${line + 1}`;
|
|
19
|
+
};
|
|
20
|
+
const formatMultipleLifetimeMarkersError = (factory, location, matches) => {
|
|
21
|
+
const markerLines = matches
|
|
22
|
+
.map((match) => ` - "${match.name}" → ${match.lifetime}`)
|
|
23
|
+
.join("\n");
|
|
24
|
+
return `[ioc] Factory "${factory.exportName}" at ${location} has multiple lifetime markers in its return type:
|
|
25
|
+
${markerLines}
|
|
26
|
+
Lifetime is ambiguous. Either remove one marker from the type's inheritance chain, or set lifetime explicitly via registrations.<Contract>.<impl>.lifetime in your ioc.config.ts.`;
|
|
27
|
+
};
|
|
28
|
+
export const resolveLifetimeMarkerTypes = (program, lifetimeMarkers) => {
|
|
29
|
+
const checker = program.getTypeChecker();
|
|
30
|
+
const out = [];
|
|
31
|
+
for (const [name, lifetime] of Object.entries(lifetimeMarkers).sort(([a], [b]) => a.localeCompare(b))) {
|
|
32
|
+
const resolved = resolveDeclaredBaseType(program, checker, name);
|
|
33
|
+
if (!resolved.ok) {
|
|
34
|
+
throw new Error(`[ioc-config] lifetimeMarkers.${JSON.stringify(name)}: ${resolved.message}`);
|
|
35
|
+
}
|
|
36
|
+
out.push({ name, lifetime, type: resolved.type });
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
};
|
|
40
|
+
const defaultMarkerResolutionDeps = (program, markers) => {
|
|
41
|
+
const checker = program.getTypeChecker();
|
|
42
|
+
const markerByName = new Map(markers.map((marker) => [marker.name, marker]));
|
|
43
|
+
return {
|
|
44
|
+
resolveMarkerType: (markerName) => {
|
|
45
|
+
const marker = markerByName.get(markerName);
|
|
46
|
+
if (marker === undefined) {
|
|
47
|
+
throw new Error(`[ioc] internal error: unknown lifetime marker ${JSON.stringify(markerName)}`);
|
|
48
|
+
}
|
|
49
|
+
return marker;
|
|
50
|
+
},
|
|
51
|
+
isAssignableToMarker: (candidateType, marker) => checker.isTypeAssignableTo(candidateType, marker.type),
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const collectMatchingMarkers = (returnType, markers, deps) => {
|
|
55
|
+
const matches = [];
|
|
56
|
+
for (const marker of markers) {
|
|
57
|
+
if (deps.isAssignableToMarker(returnType, marker)) {
|
|
58
|
+
matches.push({ name: marker.name, lifetime: marker.lifetime });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return matches;
|
|
62
|
+
};
|
|
63
|
+
const getFactoryReturnType = (program, factory, discoveryPaths, sourceFileByPath) => {
|
|
64
|
+
const absPath = normalizePath(resolveFactorySourceAbsPath(factory.modulePath, discoveryPaths.projectRoot, discoveryPaths.scanDirs));
|
|
65
|
+
const sourceFile = sourceFileByPath.get(absPath);
|
|
66
|
+
if (sourceFile === undefined) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
const analysis = collectFileAnalysisForFactoryDiscovery(sourceFile);
|
|
70
|
+
const factoryDecl = analysis.factoryDeclByExport.get(factory.exportName);
|
|
71
|
+
if (factoryDecl === undefined) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
const checker = program.getTypeChecker();
|
|
75
|
+
const signature = checker.getSignatureFromDeclaration(factoryDecl);
|
|
76
|
+
if (signature === undefined) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
return checker.getReturnTypeOfSignature(signature);
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Maps each factory to a marker-resolved lifetime. When `lifetimeMarkers` is empty, returns an
|
|
83
|
+
* empty map immediately — zero assignability checks (perf contract for library-mode packages
|
|
84
|
+
* that omit lifetimeMarkers).
|
|
85
|
+
*/
|
|
86
|
+
export const resolveLifetimeMarkersForFactories = (factories, lifetimeMarkers, options) => {
|
|
87
|
+
if (lifetimeMarkers === undefined ||
|
|
88
|
+
Object.keys(lifetimeMarkers).length === 0) {
|
|
89
|
+
// Perf contract: skip marker analysis entirely when no markers are declared.
|
|
90
|
+
return new Map();
|
|
91
|
+
}
|
|
92
|
+
const { program, projectRoot, scanDirs, deps: depsOverride } = options;
|
|
93
|
+
const markers = resolveLifetimeMarkerTypes(program, lifetimeMarkers);
|
|
94
|
+
const deps = depsOverride ?? defaultMarkerResolutionDeps(program, markers);
|
|
95
|
+
const sourceFileByPath = new Map();
|
|
96
|
+
for (const sf of program.getSourceFiles()) {
|
|
97
|
+
sourceFileByPath.set(normalizePath(sf.fileName), sf);
|
|
98
|
+
}
|
|
99
|
+
const discoveryPaths = {
|
|
100
|
+
projectRoot,
|
|
101
|
+
scanDirs: [...scanDirs],
|
|
102
|
+
generatedDir: "",
|
|
103
|
+
};
|
|
104
|
+
const out = new Map();
|
|
105
|
+
for (const factory of factories) {
|
|
106
|
+
const returnType = getFactoryReturnType(program, factory, discoveryPaths, sourceFileByPath);
|
|
107
|
+
if (returnType === undefined) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const matches = collectMatchingMarkers(returnType, markers, deps);
|
|
111
|
+
if (matches.length === 0) {
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (matches.length > 1) {
|
|
115
|
+
const absPath = normalizePath(resolveFactorySourceAbsPath(factory.modulePath, projectRoot, scanDirs));
|
|
116
|
+
const sourceFile = sourceFileByPath.get(absPath);
|
|
117
|
+
const analysis = sourceFile !== undefined
|
|
118
|
+
? collectFileAnalysisForFactoryDiscovery(sourceFile)
|
|
119
|
+
: undefined;
|
|
120
|
+
const factoryDecl = analysis?.factoryDeclByExport.get(factory.exportName);
|
|
121
|
+
const location = sourceFile !== undefined && factoryDecl !== undefined
|
|
122
|
+
? formatFactoryLocation(factory, factoryDecl, sourceFile, projectRoot)
|
|
123
|
+
: factory.modulePath;
|
|
124
|
+
throw new Error(formatMultipleLifetimeMarkersError(factory, location, matches));
|
|
125
|
+
}
|
|
126
|
+
out.set(factoryLifetimeMarkerKey(factory), matches[0].lifetime);
|
|
127
|
+
}
|
|
128
|
+
return out;
|
|
129
|
+
};
|
|
130
|
+
/** Validates marker names resolve in the program (used when markers are non-empty). */
|
|
131
|
+
export const assertLifetimeMarkerTypesResolvable = (program, lifetimeMarkers) => {
|
|
132
|
+
if (lifetimeMarkers === undefined ||
|
|
133
|
+
Object.keys(lifetimeMarkers).length === 0) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
resolveLifetimeMarkerTypes(program, lifetimeMarkers);
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=resolveLifetimeMarkers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveLifetimeMarkers.js","sourceRoot":"","sources":["../../src/generator/resolveLifetimeMarkers.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,14 @@ import type { ComposedManifestContractNames } from "./loadComposedManifestContra
|
|
|
9
9
|
import { type ResolvedScanDir } from "./manifestPaths.js";
|
|
10
10
|
import type { DiscoveredFactory } from "./types.js";
|
|
11
11
|
/** Where resolved registration lifetime came from (inspect/debug only). `discovery-root` = `discovery.scanDirs[].scope`. */
|
|
12
|
-
export type IocRegistrationLifetimeSource = "factory-config" | "discovery-root" | "default";
|
|
12
|
+
export type IocRegistrationLifetimeSource = "factory-config" | "lifetime-marker" | "discovery-root" | "default";
|
|
13
13
|
export type RegistrationPlanLifetimeContext = {
|
|
14
14
|
projectRoot: string;
|
|
15
15
|
scanDirs: readonly ResolvedScanDir[];
|
|
16
16
|
/** Contract names from composed package manifests (app mode). */
|
|
17
17
|
composedContractNames?: ComposedManifestContractNames;
|
|
18
|
+
/** Marker-resolved lifetimes keyed by `${modulePath}:${exportName}`. */
|
|
19
|
+
markerLifetimesByFactoryKey?: ReadonlyMap<string, IocLifetime>;
|
|
18
20
|
};
|
|
19
21
|
export type ResolvedImplementationEntry = {
|
|
20
22
|
/** Stable implementation id from discovery (factory export / resolver map key). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRegistrationPlan.d.ts","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,4HAA4H;AAC5H,MAAM,MAAM,6BAA6B,GACrC,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveRegistrationPlan.d.ts","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,4HAA4H;AAC5H,MAAM,MAAM,6BAA6B,GACrC,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,wEAAwE;IACxE,2BAA2B,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC;IACtB,mHAAmH;IACnH,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAC/C,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,iGAAiG;IACjG,sBAAsB,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3D,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2FAA2F;IAC3F,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,2BAA2B,EAAE,CAAC;CAChD,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,WAAW,KACpB,OAAO,CAAC,iBAAiB,CAuB3B,CAAC;AAoQF,eAAO,MAAM,4BAA4B,GACvC,QAAQ,SAAS,GAAG,SAAS,EAC7B,oBAAoB,GAAG,CAAC,MAAM,CAAC,EAC/B,wBAAwB,6BAA6B,KACpD,IAqCF,CAAC;AAsPF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,EACxD,SAAS,SAAS,EAClB,kBAAkB,+BAA+B,KAChD,4BAA4B,EA6G9B,CAAC"}
|
|
@@ -85,8 +85,9 @@ const resolveLifetime = (factory) => {
|
|
|
85
85
|
* Resolve Awilix lifetime for one implementation. Single precedence chain (no duplicate fallbacks):
|
|
86
86
|
*
|
|
87
87
|
* 1. `registrations[Contract][implementation].lifetime` → source `factory-config` in inspect output (means **ioc.config**, not factory source)
|
|
88
|
-
* 2. Else
|
|
89
|
-
* 3. Else
|
|
88
|
+
* 2. Else lifetime marker on return type → source `lifetime-marker`
|
|
89
|
+
* 3. Else discovery-root `discovery.scanDirs[].scope` for the factory file → source `discovery-root`
|
|
90
|
+
* 4. Else {@link resolveLifetime} (existing behavior: merged factory lifetime or `singleton`) → source `default`
|
|
90
91
|
*/
|
|
91
92
|
const resolvePlanLifetime = (factory, implOverride, lifetimeContext) => {
|
|
92
93
|
if (implOverride?.lifetime !== undefined) {
|
|
@@ -97,6 +98,17 @@ const resolvePlanLifetime = (factory, implOverride, lifetimeContext) => {
|
|
|
97
98
|
: {}),
|
|
98
99
|
};
|
|
99
100
|
}
|
|
101
|
+
if (lifetimeContext?.markerLifetimesByFactoryKey !== undefined) {
|
|
102
|
+
const markerLifetime = lifetimeContext.markerLifetimesByFactoryKey.get(`${factory.modulePath}:${factory.exportName}`);
|
|
103
|
+
if (markerLifetime !== undefined) {
|
|
104
|
+
return {
|
|
105
|
+
lifetime: markerLifetime,
|
|
106
|
+
...(lifetimeContext !== undefined
|
|
107
|
+
? { lifetimeSource: "lifetime-marker" }
|
|
108
|
+
: {}),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
100
112
|
if (lifetimeContext !== undefined) {
|
|
101
113
|
const absPath = resolveFactorySourceAbsPath(factory.modulePath, lifetimeContext.projectRoot, lifetimeContext.scanDirs);
|
|
102
114
|
const fromRootScope = resolveDiscoveryRootDefaultLifetime(absPath, lifetimeContext.scanDirs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRegistrationPlan.js","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveRegistrationPlan.js","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,16 @@ export declare const getContractDeclaredType: (checker: ts.TypeChecker, program:
|
|
|
24
24
|
* Multiple declarations in different files are rejected as ambiguous.
|
|
25
25
|
*/
|
|
26
26
|
export declare const resolveDeclaredBaseType: (program: ts.Program, checker: ts.TypeChecker, typeName: string) => BaseTypeResolution;
|
|
27
|
+
/**
|
|
28
|
+
* Whether `candidateType` is structurally assignable to a top-level type named `baseTypeName`
|
|
29
|
+
* in the program (excluding node_modules). Used by lifetime marker resolution and groups.
|
|
30
|
+
*/
|
|
31
|
+
export declare const isTypeAssignableToNamedBase: (checker: ts.TypeChecker, program: ts.Program, candidateType: ts.Type, baseTypeName: string) => {
|
|
32
|
+
ok: true;
|
|
33
|
+
} | {
|
|
34
|
+
ok: false;
|
|
35
|
+
message: string;
|
|
36
|
+
};
|
|
27
37
|
/**
|
|
28
38
|
* Whether an implementation should appear in a **collection** group.
|
|
29
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTypeAssignability.d.ts","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAqBF,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,MAAM,4BAA4B,KACjC,EAAE,CAAC,IAAI,GAAG,SAwBZ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,OAAO,EACnB,SAAS,EAAE,CAAC,WAAW,EACvB,UAAU,MAAM,KACf,kBAsCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,GAC7C,MAAM,4BAA4B,EAClC,MAAM,2BAA2B,KAChC,OAEyD,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C,GACvD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,EACjB,aAAa,CACX,IAAI,EAAE,4BAA4B,EAClC,IAAI,EAAE,2BAA2B,KAC9B,OAAO,KACX,8BAA8B,EA4BhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,KAChB,0BAA0B,EAgC5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"baseTypeAssignability.d.ts","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAqBF,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,MAAM,4BAA4B,KACjC,EAAE,CAAC,IAAI,GAAG,SAwBZ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,OAAO,EACnB,SAAS,EAAE,CAAC,WAAW,EACvB,UAAU,MAAM,KACf,kBAsCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,eAAe,EAAE,CAAC,IAAI,EACtB,cAAc,MAAM,KACnB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAS7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,GAC7C,MAAM,4BAA4B,EAClC,MAAM,2BAA2B,KAChC,OAEyD,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C,GACvD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,EACjB,aAAa,CACX,IAAI,EAAE,4BAA4B,EAClC,IAAI,EAAE,2BAA2B,KAC9B,OAAO,KACX,8BAA8B,EA4BhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,KAChB,0BAA0B,EAgC5B,CAAC"}
|
|
@@ -76,6 +76,20 @@ export const resolveDeclaredBaseType = (program, checker, typeName) => {
|
|
|
76
76
|
}
|
|
77
77
|
return { ok: true, type: loneType };
|
|
78
78
|
};
|
|
79
|
+
/**
|
|
80
|
+
* Whether `candidateType` is structurally assignable to a top-level type named `baseTypeName`
|
|
81
|
+
* in the program (excluding node_modules). Used by lifetime marker resolution and groups.
|
|
82
|
+
*/
|
|
83
|
+
export const isTypeAssignableToNamedBase = (checker, program, candidateType, baseTypeName) => {
|
|
84
|
+
const resolved = resolveDeclaredBaseType(program, checker, baseTypeName);
|
|
85
|
+
if (!resolved.ok) {
|
|
86
|
+
return resolved;
|
|
87
|
+
}
|
|
88
|
+
if (!checker.isTypeAssignableTo(candidateType, resolved.type)) {
|
|
89
|
+
return { ok: false, message: "not assignable" };
|
|
90
|
+
}
|
|
91
|
+
return { ok: true };
|
|
92
|
+
};
|
|
79
93
|
/**
|
|
80
94
|
* Whether an implementation should appear in a **collection** group.
|
|
81
95
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTypeAssignability.js","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseTypeAssignability.js","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runDiscoveryAnalysis.d.ts","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;
|
|
1
|
+
{"version":3,"file":"runDiscoveryAnalysis.d.ts","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAGzG,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAU,OAAO;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACvC,KAAG,OAAO,CAAC,2BAA2B,CAmBtC,CAAC;AA8DF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,2BAA2B,CAAC;CAC/C,KAAG,OAAO,CAAC,uBAAuB,CAIlC,CAAC"}
|
|
@@ -2,8 +2,9 @@ import path from "node:path";
|
|
|
2
2
|
import { buildRegistrationPlan } from "../generator/resolveRegistrationPlan.js";
|
|
3
3
|
import { resolveIocConfigPath, resolveProjectRootFromIocConfigPath, tryLoadIocConfig, } from "../config/loadIocConfig.js";
|
|
4
4
|
import { discoverFactories } from "../generator/discoverFactories/discoverFactories.js";
|
|
5
|
-
import { createIocProgramForDiscovery, getDiscoveryTargetFiles,
|
|
5
|
+
import { createIocProgramForDiscovery, getDiscoveryTargetFiles, logDiscoveryProgramErrorDiagnosticsForFailure, } from "../generator/iocProgramContext.js";
|
|
6
6
|
import { mergeManifestOptionsWithIocConfig, resolveManifestOptions, } from "../generator/manifestOptions.js";
|
|
7
|
+
import { resolveLifetimeMarkersForFactories } from "../generator/resolveLifetimeMarkers.js";
|
|
7
8
|
export const resolveDiscoveryManifestContext = async (opts) => {
|
|
8
9
|
const searchStart = path.resolve(opts?.searchStartDir ?? opts?.paths?.projectRoot ?? process.cwd());
|
|
9
10
|
const cfgPath = resolveIocConfigPath(searchStart, opts?.iocConfigPath);
|
|
@@ -27,15 +28,25 @@ const runDiscoveryFromResolution = async (resolved) => {
|
|
|
27
28
|
const { paths: { projectRoot, scanDirs, generatedDir }, includePatterns, excludePatterns, factoryExportPrefix, } = options;
|
|
28
29
|
const files = await getDiscoveryTargetFiles(scanDirs, includePatterns, excludePatterns, generatedDir);
|
|
29
30
|
const program = createIocProgramForDiscovery(projectRoot, files);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
try {
|
|
32
|
+
const { contractMap, acceptedFactories, discoveryFiles } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config ?? undefined, { collectFileRecords: true });
|
|
33
|
+
const markerLifetimesByFactoryKey = resolveLifetimeMarkersForFactories(acceptedFactories, config?.lifetimeMarkers, { program, projectRoot, scanDirs });
|
|
34
|
+
const registrationPlan = buildRegistrationPlan(contractMap, config, {
|
|
35
|
+
projectRoot,
|
|
36
|
+
scanDirs,
|
|
37
|
+
markerLifetimesByFactoryKey,
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
discoveryFiles,
|
|
41
|
+
contractMap,
|
|
42
|
+
acceptedFactories,
|
|
43
|
+
registrationPlan,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
logDiscoveryProgramErrorDiagnosticsForFailure(program, projectRoot, files, error);
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
39
50
|
};
|
|
40
51
|
/**
|
|
41
52
|
* Re-runs factory discovery from source (and TypeScript) for inspection / CLI.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runDiscoveryAnalysis.js","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EACL,oBAAoB,EACpB,mCAAmC,EACnC,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"runDiscoveryAnalysis.js","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ioc-manifest",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Build-time factory discovery and codegen: generates a typed Awilix (PROXY) registration manifest from TypeScript sources with ioc.config as the single policy surface.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|