@notjustcoders/ioc-arise 1.1.28 → 1.1.30
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/dist/analyser/ast-parser.d.ts.map +1 -1
- package/dist/analyser/ast-parser.js +19 -7
- package/dist/analyser/ast-parser.js.map +1 -1
- package/dist/analyser/class-analyzer.d.ts +12 -1
- package/dist/analyser/class-analyzer.d.ts.map +1 -1
- package/dist/analyser/class-analyzer.js +72 -24
- package/dist/analyser/class-analyzer.js.map +1 -1
- package/dist/analyser/factory-analyzer.d.ts +9 -1
- package/dist/analyser/factory-analyzer.d.ts.map +1 -1
- package/dist/analyser/factory-analyzer.js +97 -28
- package/dist/analyser/factory-analyzer.js.map +1 -1
- package/dist/analyser/project-analyzer.d.ts.map +1 -1
- package/dist/analyser/project-analyzer.js +21 -4
- package/dist/analyser/project-analyzer.js.map +1 -1
- package/dist/analyser/value-analyzer.d.ts +7 -1
- package/dist/analyser/value-analyzer.d.ts.map +1 -1
- package/dist/analyser/value-analyzer.js +58 -10
- package/dist/analyser/value-analyzer.js.map +1 -1
- package/dist/commands/generate.d.ts +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +72 -51
- package/dist/commands/generate.js.map +1 -1
- package/dist/generator/ioc-container-generator.d.ts.map +1 -1
- package/dist/generator/ioc-container-generator.js +84 -44
- package/dist/generator/ioc-container-generator.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,22 +14,22 @@ const IoCError_1 = require("../errors/IoCError");
|
|
|
14
14
|
const moduleResolver_1 = require("../utils/moduleResolver");
|
|
15
15
|
const tsConfigPathsResolver_1 = require("../utils/tsConfigPathsResolver");
|
|
16
16
|
const logger_1 = require("../utils/logger");
|
|
17
|
-
exports.generateCommand = new commander_1.Command(
|
|
18
|
-
.description(
|
|
19
|
-
.option(
|
|
20
|
-
.option(
|
|
21
|
-
.option(
|
|
22
|
-
.option(
|
|
23
|
-
.option(
|
|
24
|
-
.option(
|
|
25
|
-
.option(
|
|
26
|
-
.option(
|
|
17
|
+
exports.generateCommand = new commander_1.Command("generate")
|
|
18
|
+
.description("Generate IoC container from TypeScript classes")
|
|
19
|
+
.option("-s, --source <dir>", "Source directory to scan")
|
|
20
|
+
.option("-o, --output <file>", "Output file path")
|
|
21
|
+
.option("-i, --interface <pattern>", "Interface name pattern to match (regex)")
|
|
22
|
+
.option("-e, --exclude <patterns...>", "Exclude patterns for files")
|
|
23
|
+
.option("--factory-pattern <pattern>", "Factory function name pattern to match (regex). Default: functions with @factory JSDoc comment")
|
|
24
|
+
.option("--value-pattern <pattern>", "Value name pattern to match (regex). Default: values with @value JSDoc comment")
|
|
25
|
+
.option("--check-cycles", "Only check for circular dependencies without generating")
|
|
26
|
+
.option("--verbose", "Enable verbose logging")
|
|
27
27
|
.action(async (options) => {
|
|
28
28
|
try {
|
|
29
29
|
// Initialize logger
|
|
30
30
|
logger_1.Logger.initialize({ verbose: options.verbose ?? false });
|
|
31
31
|
// Initialize config manager with the source directory
|
|
32
|
-
const initialSourceDir = (0, path_1.resolve)(options.source ||
|
|
32
|
+
const initialSourceDir = (0, path_1.resolve)(options.source || ".");
|
|
33
33
|
const configManager = new configManager_1.ConfigManager(initialSourceDir);
|
|
34
34
|
// Validate config if present
|
|
35
35
|
if (configManager.hasConfigFile()) {
|
|
@@ -47,7 +47,8 @@ exports.generateCommand = new commander_1.Command('generate')
|
|
|
47
47
|
}
|
|
48
48
|
// Initialize module resolver if modules are configured
|
|
49
49
|
let moduleResolver = null;
|
|
50
|
-
if (mergedOptions.modules &&
|
|
50
|
+
if (mergedOptions.modules &&
|
|
51
|
+
Object.keys(mergedOptions.modules).length > 0) {
|
|
51
52
|
moduleResolver = new moduleResolver_1.ModuleResolver(mergedOptions.modules, sourceDir);
|
|
52
53
|
if (mergedOptions.verbose) {
|
|
53
54
|
logger_1.Logger.info(`Module support enabled with ${Object.keys(mergedOptions.modules).length} modules`);
|
|
@@ -65,20 +66,22 @@ exports.generateCommand = new commander_1.Command('generate')
|
|
|
65
66
|
logger_1.Logger.info(`Interface pattern: ${mergedOptions.interface}`);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
logger_1.Logger.custom(
|
|
69
|
+
logger_1.Logger.custom("🚀", "Starting analysis...", logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
|
|
69
70
|
// Analyze the project (including factories)
|
|
70
71
|
const { classes, factories, values } = await (0, analyser_1.analyzeProjectWithFactories)(sourceDir, {
|
|
71
72
|
sourceDir,
|
|
72
73
|
interfacePattern: mergedOptions.interface,
|
|
73
74
|
excludePatterns: mergedOptions.exclude,
|
|
74
75
|
factoryPattern: mergedOptions.factoryPattern,
|
|
75
|
-
valuePattern: mergedOptions.valuePattern
|
|
76
|
+
valuePattern: mergedOptions.valuePattern,
|
|
76
77
|
});
|
|
77
78
|
// Check if we have anything to generate
|
|
78
|
-
if (classes.length === 0 &&
|
|
79
|
+
if (classes.length === 0 &&
|
|
80
|
+
(!factories || factories.length === 0) &&
|
|
81
|
+
(!values || values.length === 0)) {
|
|
79
82
|
const error = errorFactory_1.ErrorFactory.noClassesFound(mergedOptions.interface || 'interfaces with "implements" keyword');
|
|
80
83
|
logger_1.Logger.error(IoCError_1.ErrorUtils.formatForConsole(error));
|
|
81
|
-
logger_1.Logger.error(
|
|
84
|
+
logger_1.Logger.error("No classes, factories, or values found to generate a container.");
|
|
82
85
|
process.exit(1);
|
|
83
86
|
return;
|
|
84
87
|
}
|
|
@@ -91,7 +94,8 @@ exports.generateCommand = new commander_1.Command('generate')
|
|
|
91
94
|
moduleGroupedClasses = moduleResolver.groupClassesByModule(classes);
|
|
92
95
|
}
|
|
93
96
|
if (factories && factories.length > 0) {
|
|
94
|
-
moduleGroupedFactories =
|
|
97
|
+
moduleGroupedFactories =
|
|
98
|
+
moduleResolver.groupFactoriesByModule(factories);
|
|
95
99
|
}
|
|
96
100
|
if (values && values.length > 0) {
|
|
97
101
|
moduleGroupedValues = moduleResolver.groupValuesByModule(values);
|
|
@@ -99,7 +103,7 @@ exports.generateCommand = new commander_1.Command('generate')
|
|
|
99
103
|
}
|
|
100
104
|
else {
|
|
101
105
|
if (classes.length > 0) {
|
|
102
|
-
moduleGroupedClasses = new Map([[
|
|
106
|
+
moduleGroupedClasses = new Map([["CoreModule", classes]]);
|
|
103
107
|
}
|
|
104
108
|
}
|
|
105
109
|
// Print structured analysis summary
|
|
@@ -111,65 +115,67 @@ exports.generateCommand = new commander_1.Command('generate')
|
|
|
111
115
|
if (cycles.length > 0) {
|
|
112
116
|
const firstCycle = cycles[0];
|
|
113
117
|
if (firstCycle && firstCycle.length > 0) {
|
|
114
|
-
const className = firstCycle[0] ||
|
|
118
|
+
const className = firstCycle[0] || "unknown";
|
|
115
119
|
const error = errorFactory_1.ErrorFactory.circularDependency(className, firstCycle);
|
|
116
120
|
logger_1.Logger.error(IoCError_1.ErrorUtils.formatForConsole(error));
|
|
117
121
|
if (cycles.length > 1) {
|
|
118
|
-
logger_1.Logger.log(
|
|
122
|
+
logger_1.Logger.log("\n Additional cycles:");
|
|
119
123
|
cycles.slice(1).forEach((cycle, index) => {
|
|
120
|
-
logger_1.Logger.log(` ${index + 2}. ${cycle.join(
|
|
124
|
+
logger_1.Logger.log(` ${index + 2}. ${cycle.join(" → ")}`);
|
|
121
125
|
});
|
|
122
126
|
}
|
|
123
127
|
}
|
|
124
128
|
else {
|
|
125
|
-
logger_1.Logger.error(
|
|
129
|
+
logger_1.Logger.error("Circular dependencies detected but cycle information is incomplete");
|
|
126
130
|
}
|
|
127
131
|
process.exit(1);
|
|
128
132
|
}
|
|
129
133
|
// Check for circular dependencies between modules
|
|
130
|
-
if (moduleGroupedClasses &&
|
|
134
|
+
if (moduleGroupedClasses &&
|
|
135
|
+
moduleGroupedClasses.size > 1 &&
|
|
136
|
+
classes.length > 0) {
|
|
131
137
|
const moduleCycles = circular_dependency_detector_1.CircularDependencyDetector.detectModuleCycles(moduleGroupedClasses);
|
|
132
138
|
if (moduleCycles.length > 0) {
|
|
133
|
-
logger_1.Logger.error(
|
|
139
|
+
logger_1.Logger.error("Circular dependencies detected between modules:");
|
|
134
140
|
moduleCycles.forEach((cycle, index) => {
|
|
135
141
|
if (cycle.length > 0) {
|
|
136
142
|
// The cycle already includes the starting node at the end from TopologicalSorter
|
|
137
|
-
const cycleDisplay = cycle.join(
|
|
143
|
+
const cycleDisplay = cycle.join(" → ");
|
|
138
144
|
logger_1.Logger.log(` ${index + 1}. ${cycleDisplay}`);
|
|
139
145
|
}
|
|
140
146
|
});
|
|
141
|
-
logger_1.Logger.log(
|
|
142
|
-
logger_1.Logger.log(
|
|
147
|
+
logger_1.Logger.log("\n Module dependencies must form a directed acyclic graph (DAG).");
|
|
148
|
+
logger_1.Logger.log(" Consider refactoring to break the circular dependency or merging the modules.");
|
|
143
149
|
process.exit(1);
|
|
144
150
|
}
|
|
145
151
|
}
|
|
146
152
|
if (mergedOptions.checkCycles) {
|
|
147
|
-
logger_1.Logger.success(
|
|
153
|
+
logger_1.Logger.success("No circular dependencies found (classes or modules).");
|
|
148
154
|
process.exit(0);
|
|
149
155
|
return;
|
|
150
156
|
}
|
|
151
157
|
// Generate container file
|
|
152
|
-
logger_1.Logger.custom(
|
|
158
|
+
logger_1.Logger.custom("🚀", "Generating container...", logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
|
|
153
159
|
const pathsResolver = new tsConfigPathsResolver_1.TsConfigPathsResolver(sourceDir);
|
|
154
160
|
generator_1.IoCContainerGenerator.generate(classes, outputPath, moduleGroupedClasses, factories, values, moduleGroupedFactories, moduleGroupedValues, pathsResolver, moduleResolver !== null);
|
|
155
161
|
const statParts = [];
|
|
156
162
|
if (classes.length > 0)
|
|
157
|
-
statParts.push(`${classes.length} class${classes.length !== 1 ?
|
|
163
|
+
statParts.push(`${classes.length} class${classes.length !== 1 ? "es" : ""}`);
|
|
158
164
|
if (factories && factories.length > 0)
|
|
159
|
-
statParts.push(`${factories.length} factor${factories.length !== 1 ?
|
|
165
|
+
statParts.push(`${factories.length} factor${factories.length !== 1 ? "ies" : "y"}`);
|
|
160
166
|
if (values && values.length > 0)
|
|
161
|
-
statParts.push(`${values.length} value${values.length !== 1 ?
|
|
167
|
+
statParts.push(`${values.length} value${values.length !== 1 ? "s" : ""}`);
|
|
162
168
|
if (moduleResolver) {
|
|
163
169
|
const moduleCount = new Set([
|
|
164
170
|
...(moduleGroupedClasses?.keys() ?? []),
|
|
165
171
|
...(moduleGroupedFactories?.keys() ?? []),
|
|
166
172
|
...(moduleGroupedValues?.keys() ?? []),
|
|
167
173
|
]).size;
|
|
168
|
-
statParts.unshift(`${moduleCount} module${moduleCount !== 1 ?
|
|
174
|
+
statParts.unshift(`${moduleCount} module${moduleCount !== 1 ? "s" : ""}`);
|
|
169
175
|
}
|
|
170
|
-
logger_1.Logger.success(
|
|
176
|
+
logger_1.Logger.success("Container generated successfully!");
|
|
171
177
|
logger_1.Logger.log(logger_1.Logger.colorizeText(` 📁 ${outputPath}`, logger_1.Logger.getColors().gray));
|
|
172
|
-
logger_1.Logger.log(logger_1.Logger.colorizeText(` ${statParts.join(
|
|
178
|
+
logger_1.Logger.log(logger_1.Logger.colorizeText(` ${statParts.join(" · ")}`, logger_1.Logger.getColors().gray));
|
|
173
179
|
process.exit(0);
|
|
174
180
|
}
|
|
175
181
|
catch (error) {
|
|
@@ -188,33 +194,48 @@ function printAnalysisSummary(isModular, moduleGroupedClasses, moduleGroupedFact
|
|
|
188
194
|
const printClass = (cls, indent) => {
|
|
189
195
|
const name = logger_1.Logger.colorizeText(`${indent}🏗️ ${cls.name}`, c.white);
|
|
190
196
|
if (cls.interfaceName) {
|
|
191
|
-
logger_1.Logger.log(name +
|
|
197
|
+
logger_1.Logger.log(name +
|
|
198
|
+
logger_1.Logger.colorizeText(" ──implements──▶ ", c.gray) +
|
|
199
|
+
logger_1.Logger.colorizeText(cls.interfaceName, c.green));
|
|
192
200
|
}
|
|
193
201
|
else if (cls.abstractClassName) {
|
|
194
|
-
logger_1.Logger.log(name +
|
|
202
|
+
logger_1.Logger.log(name +
|
|
203
|
+
logger_1.Logger.colorizeText(" ──extends──▶ ", c.gray) +
|
|
204
|
+
logger_1.Logger.colorizeText(cls.abstractClassName, c.green));
|
|
195
205
|
}
|
|
196
206
|
else {
|
|
197
207
|
logger_1.Logger.log(name);
|
|
198
208
|
}
|
|
209
|
+
if (cls.dependencies.length > 0) {
|
|
210
|
+
const deps = cls.dependencies.map((d) => d.name).join(", ");
|
|
211
|
+
logger_1.Logger.log(logger_1.Logger.colorizeText(`${indent} deps: `, c.gray) +
|
|
212
|
+
logger_1.Logger.colorizeText(deps, c.yellow));
|
|
213
|
+
}
|
|
199
214
|
};
|
|
200
215
|
const printFactory = (factory, indent) => {
|
|
201
216
|
if (factory.instanceFactoryFor) {
|
|
202
217
|
logger_1.Logger.log(logger_1.Logger.colorizeText(`${indent}🔌 ${factory.name}()`, c.white) +
|
|
203
|
-
logger_1.Logger.colorizeText(
|
|
218
|
+
logger_1.Logger.colorizeText(" ──returns──▶ ", c.gray) +
|
|
204
219
|
logger_1.Logger.colorizeText(factory.instanceFactoryFor, c.green));
|
|
205
220
|
}
|
|
206
221
|
else {
|
|
207
222
|
const token = factory.token || factory.name;
|
|
208
223
|
logger_1.Logger.log(logger_1.Logger.colorizeText(`${indent}🏭 ${factory.name}()`, c.white) +
|
|
209
|
-
logger_1.Logger.colorizeText(
|
|
224
|
+
logger_1.Logger.colorizeText(" ──factory──▶ ", c.gray) +
|
|
210
225
|
logger_1.Logger.colorizeText(`'${token}'`, c.magenta));
|
|
211
226
|
}
|
|
227
|
+
if (factory.dependencies.length > 0) {
|
|
228
|
+
const deps = factory.dependencies.map((d) => d.name).join(", ");
|
|
229
|
+
logger_1.Logger.log(logger_1.Logger.colorizeText(`${indent} deps: `, c.gray) +
|
|
230
|
+
logger_1.Logger.colorizeText(deps, c.yellow));
|
|
231
|
+
}
|
|
212
232
|
};
|
|
213
233
|
const printValue = (value, indent) => {
|
|
214
234
|
const label = value.interfaceName || value.token || value.name;
|
|
215
235
|
logger_1.Logger.log(logger_1.Logger.colorizeText(`${indent}💎 ${value.name}`, c.white) +
|
|
216
|
-
logger_1.Logger.colorizeText(
|
|
236
|
+
logger_1.Logger.colorizeText(" ──value──▶ ", c.gray) +
|
|
217
237
|
logger_1.Logger.colorizeText(label, c.green));
|
|
238
|
+
// ValueInfo has no dependencies field, so nothing to print
|
|
218
239
|
};
|
|
219
240
|
if (isModular) {
|
|
220
241
|
const allModuleNames = new Set([
|
|
@@ -224,26 +245,26 @@ function printAnalysisSummary(isModular, moduleGroupedClasses, moduleGroupedFact
|
|
|
224
245
|
]);
|
|
225
246
|
for (const moduleName of allModuleNames) {
|
|
226
247
|
logger_1.Logger.log(logger_1.Logger.colorizeText(`📦 ${moduleName}`, c.cyan + c.bright));
|
|
227
|
-
for (const cls of
|
|
228
|
-
printClass(cls,
|
|
248
|
+
for (const cls of moduleGroupedClasses?.get(moduleName) ?? []) {
|
|
249
|
+
printClass(cls, " ");
|
|
229
250
|
}
|
|
230
|
-
for (const factory of
|
|
231
|
-
printFactory(factory,
|
|
251
|
+
for (const factory of moduleGroupedFactories?.get(moduleName) ?? []) {
|
|
252
|
+
printFactory(factory, " ");
|
|
232
253
|
}
|
|
233
|
-
for (const value of
|
|
234
|
-
printValue(value,
|
|
254
|
+
for (const value of moduleGroupedValues?.get(moduleName) ?? []) {
|
|
255
|
+
printValue(value, " ");
|
|
235
256
|
}
|
|
236
257
|
}
|
|
237
258
|
}
|
|
238
259
|
else {
|
|
239
260
|
for (const cls of classes) {
|
|
240
|
-
printClass(cls,
|
|
261
|
+
printClass(cls, " ");
|
|
241
262
|
}
|
|
242
|
-
for (const factory of
|
|
243
|
-
printFactory(factory,
|
|
263
|
+
for (const factory of factories ?? []) {
|
|
264
|
+
printFactory(factory, " ");
|
|
244
265
|
}
|
|
245
|
-
for (const value of
|
|
246
|
-
printValue(value,
|
|
266
|
+
for (const value of values ?? []) {
|
|
267
|
+
printValue(value, " ");
|
|
247
268
|
}
|
|
248
269
|
}
|
|
249
270
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,qBAAqB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,EACzB,MAAM,CAAC,EAAE,SAAS,EAAE,EACpB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EACnD,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,CAAC,EAAE,qBAAqB,EACrC,SAAS,CAAC,EAAE,OAAO,GACpB,IAAI;IA4BP,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAwE/B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA8EnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmDjC,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAiCjD,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAW/C,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuElC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAiBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAY3C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAwC1C,OAAO,CAAC,MAAM,CAAC,eAAe;IA4F9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA+CpC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA2D3C,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsB5C"}
|
|
@@ -47,12 +47,15 @@ class IoCContainerGenerator {
|
|
|
47
47
|
interfaceNames.add(cls.interfaceName);
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
|
-
// Also add interface names from instance factories
|
|
50
|
+
// Also add interface names from instance factories and factory tokens
|
|
51
51
|
if (factories) {
|
|
52
52
|
factories.forEach(factory => {
|
|
53
53
|
if (factory.instanceFactoryFor) {
|
|
54
54
|
interfaceNames.add(factory.instanceFactoryFor);
|
|
55
55
|
}
|
|
56
|
+
const token = factory.token || factory.name;
|
|
57
|
+
if (token)
|
|
58
|
+
interfaceNames.add(token);
|
|
56
59
|
});
|
|
57
60
|
}
|
|
58
61
|
// Add value tokens — values are always registered as string tokens, so any dependency
|
|
@@ -75,7 +78,7 @@ class IoCContainerGenerator {
|
|
|
75
78
|
}
|
|
76
79
|
});
|
|
77
80
|
});
|
|
78
|
-
const imports = this.generateImports(classes, outputPath, factories, values);
|
|
81
|
+
const imports = this.generateImports(classes, outputPath, factories, values, classes, interfaceNames, abstractClassNames);
|
|
79
82
|
const classRegistrations = this.generateRegistrations(classes, interfaceNames, '', abstractClassNames);
|
|
80
83
|
const factoryRegistrations = factories && factories.length > 0
|
|
81
84
|
? this.generateFactoryRegistrations(factories, interfaceNames, '', abstractClassNames)
|
|
@@ -117,13 +120,16 @@ ${allRegistrations}
|
|
|
117
120
|
interfaceNames.add(cls.interfaceName);
|
|
118
121
|
}
|
|
119
122
|
});
|
|
120
|
-
// Also add interface names from instance factories
|
|
123
|
+
// Also add interface names from instance factories and factory tokens
|
|
121
124
|
if (moduleGroupedFactories) {
|
|
122
125
|
moduleGroupedFactories.forEach(moduleFactories => {
|
|
123
126
|
moduleFactories.forEach(factory => {
|
|
124
127
|
if (factory.instanceFactoryFor) {
|
|
125
128
|
interfaceNames.add(factory.instanceFactoryFor);
|
|
126
129
|
}
|
|
130
|
+
const token = factory.token || factory.name;
|
|
131
|
+
if (token)
|
|
132
|
+
interfaceNames.add(token);
|
|
127
133
|
});
|
|
128
134
|
});
|
|
129
135
|
}
|
|
@@ -152,7 +158,7 @@ ${allRegistrations}
|
|
|
152
158
|
const moduleValues = moduleGroupedValues?.get(moduleName);
|
|
153
159
|
const moduleFilename = `${moduleName.charAt(0).toLowerCase() + moduleName.slice(1)}.module.ts`;
|
|
154
160
|
const moduleFilePath = (0, path_1.join)(modulesDir, moduleFilename);
|
|
155
|
-
const moduleCode = this.generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, moduleFactories, moduleValues);
|
|
161
|
+
const moduleCode = this.generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, moduleFactories, moduleValues, allClasses);
|
|
156
162
|
(0, fs_1.writeFileSync)(moduleFilePath, moduleCode);
|
|
157
163
|
// Add import for main container file
|
|
158
164
|
const moduleVarName = moduleName.charAt(0).toLowerCase() + moduleName.slice(1);
|
|
@@ -164,8 +170,7 @@ ${allRegistrations}
|
|
|
164
170
|
const mainContainerCode = this.generateMainContainerFile(allModuleNames, moduleImports, dtsFilename);
|
|
165
171
|
(0, fs_1.writeFileSync)(outputPath, mainContainerCode);
|
|
166
172
|
}
|
|
167
|
-
static generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, factories, values) {
|
|
168
|
-
const imports = this.generateImports(classes, moduleFilePath, factories, values);
|
|
173
|
+
static generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, factories, values, allClasses = []) {
|
|
169
174
|
// Collect abstract class names that are dependencies
|
|
170
175
|
const abstractClassNames = new Set();
|
|
171
176
|
classes.forEach(cls => {
|
|
@@ -177,6 +182,7 @@ ${allRegistrations}
|
|
|
177
182
|
}
|
|
178
183
|
});
|
|
179
184
|
});
|
|
185
|
+
const imports = this.generateImports(classes, moduleFilePath, factories, values, allClasses, interfaceNames, abstractClassNames);
|
|
180
186
|
const classRegistrations = this.generateModuleRegistrations(classes, interfaceNames, abstractClassNames);
|
|
181
187
|
const factoryRegistrations = factories && factories.length > 0
|
|
182
188
|
? this.generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames)
|
|
@@ -258,7 +264,7 @@ export const container = new Container<ContainerRegistry>();
|
|
|
258
264
|
${moduleInstantiations}
|
|
259
265
|
`;
|
|
260
266
|
}
|
|
261
|
-
static generateModularCode(moduleGroupedClasses, outputPath) {
|
|
267
|
+
static generateModularCode(moduleGroupedClasses, outputPath, factories, values) {
|
|
262
268
|
const allClasses = Array.from(moduleGroupedClasses.values()).flat();
|
|
263
269
|
// Collect all interface names
|
|
264
270
|
const interfaceNames = new Set();
|
|
@@ -267,8 +273,38 @@ ${moduleInstantiations}
|
|
|
267
273
|
interfaceNames.add(cls.interfaceName);
|
|
268
274
|
}
|
|
269
275
|
});
|
|
270
|
-
|
|
271
|
-
|
|
276
|
+
// Also add factory tokens
|
|
277
|
+
if (factories) {
|
|
278
|
+
factories.forEach(factory => {
|
|
279
|
+
if (factory.instanceFactoryFor) {
|
|
280
|
+
interfaceNames.add(factory.instanceFactoryFor);
|
|
281
|
+
}
|
|
282
|
+
const token = factory.token || factory.name;
|
|
283
|
+
if (token)
|
|
284
|
+
interfaceNames.add(token);
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
// Add value tokens
|
|
288
|
+
if (values) {
|
|
289
|
+
values.forEach(value => {
|
|
290
|
+
const token = value.token || value.interfaceName || value.name;
|
|
291
|
+
if (token)
|
|
292
|
+
interfaceNames.add(token);
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
// Collect abstract class names from dependencies
|
|
296
|
+
const abstractClassNames = new Set();
|
|
297
|
+
allClasses.forEach(cls => {
|
|
298
|
+
cls.dependencies.forEach(dep => {
|
|
299
|
+
const isInCurrentClasses = allClasses.some(c => c.name === dep.name);
|
|
300
|
+
const looksLikeAbstractClass = dep.name.startsWith('Abstract') || dep.name.includes('Abstract');
|
|
301
|
+
if (!isInCurrentClasses && looksLikeAbstractClass) {
|
|
302
|
+
abstractClassNames.add(dep.name);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
const imports = this.generateImports(allClasses, outputPath, undefined, undefined, allClasses, interfaceNames, abstractClassNames);
|
|
307
|
+
const moduleDefinitions = this.generateModuleDefinitions(moduleGroupedClasses, interfaceNames, abstractClassNames);
|
|
272
308
|
const moduleInstantiations = this.generateModuleInstantiations(moduleGroupedClasses);
|
|
273
309
|
const filename = outputPath.split('/').pop()?.replace(/\.ts$/, '') || 'container.gen';
|
|
274
310
|
const dtsFilename = outputPath.split('/').pop()?.replace(/\.ts$/, '.d') || 'container.gen.d';
|
|
@@ -287,10 +323,10 @@ export const container = new Container<ContainerRegistry>();
|
|
|
287
323
|
${moduleInstantiations}
|
|
288
324
|
`;
|
|
289
325
|
}
|
|
290
|
-
static generateModuleDefinitions(moduleGroupedClasses, interfaceNames) {
|
|
326
|
+
static generateModuleDefinitions(moduleGroupedClasses, interfaceNames, abstractClassNames = new Set()) {
|
|
291
327
|
const modules = [];
|
|
292
328
|
for (const [moduleName, classes] of moduleGroupedClasses.entries()) {
|
|
293
|
-
const registrations = this.generateModuleRegistrations(classes, interfaceNames);
|
|
329
|
+
const registrations = this.generateModuleRegistrations(classes, interfaceNames, abstractClassNames);
|
|
294
330
|
modules.push(`const ${moduleName.charAt(0).toLowerCase() + moduleName.slice(1)} = new ContainerModule()
|
|
295
331
|
${registrations};`);
|
|
296
332
|
}
|
|
@@ -334,14 +370,14 @@ ${registrations};`);
|
|
|
334
370
|
return ` .register(${token}, { useClass: ${cls.name}${dependencies}, lifecycle: ${lifecycle} })`;
|
|
335
371
|
}).join('\n');
|
|
336
372
|
}
|
|
337
|
-
static generateImports(classes, outputPath, factories, values) {
|
|
373
|
+
static generateImports(classes, outputPath, factories, values, allProjectClasses = [], interfaceNames = new Set(), abstractClassNames = new Set()) {
|
|
338
374
|
const outputDir = (0, path_1.dirname)(outputPath);
|
|
339
375
|
const importStatements = [];
|
|
340
376
|
const importMap = new Map();
|
|
341
|
-
//
|
|
342
|
-
|
|
343
|
-
// Calculate relative path from output file to
|
|
344
|
-
let relativePath = (0, path_1.relative)(outputDir,
|
|
377
|
+
// Helper to add an import to the map
|
|
378
|
+
const addImportToMap = (filePath, name) => {
|
|
379
|
+
// Calculate relative path from output file to file
|
|
380
|
+
let relativePath = (0, path_1.relative)(outputDir, filePath);
|
|
345
381
|
// Remove extension (.ts)
|
|
346
382
|
relativePath = relativePath.replace(/\.ts$/, '');
|
|
347
383
|
// Add ./ if it doesn't start with . or /
|
|
@@ -353,46 +389,50 @@ ${registrations};`);
|
|
|
353
389
|
if (!importMap.has(relativePath)) {
|
|
354
390
|
importMap.set(relativePath, new Set());
|
|
355
391
|
}
|
|
356
|
-
importMap.get(relativePath).add(
|
|
392
|
+
importMap.get(relativePath).add(name);
|
|
393
|
+
};
|
|
394
|
+
// Collect class imports
|
|
395
|
+
classes.forEach(cls => {
|
|
396
|
+
addImportToMap(cls.filePath, cls.name);
|
|
357
397
|
});
|
|
358
398
|
// Collect factory imports
|
|
359
399
|
if (factories) {
|
|
360
400
|
factories.forEach(factory => {
|
|
361
|
-
|
|
362
|
-
let relativePath = (0, path_1.relative)(outputDir, factory.filePath);
|
|
363
|
-
// Remove extension (.ts)
|
|
364
|
-
relativePath = relativePath.replace(/\.ts$/, '');
|
|
365
|
-
// Add ./ if it doesn't start with . or /
|
|
366
|
-
if (!relativePath.startsWith('.')) {
|
|
367
|
-
relativePath = `./${relativePath}`;
|
|
368
|
-
}
|
|
369
|
-
// Use forward slashes for imports
|
|
370
|
-
relativePath = relativePath.replace(/\\/g, '/');
|
|
371
|
-
if (!importMap.has(relativePath)) {
|
|
372
|
-
importMap.set(relativePath, new Set());
|
|
373
|
-
}
|
|
374
|
-
importMap.get(relativePath).add(factory.name);
|
|
401
|
+
addImportToMap(factory.filePath, factory.name);
|
|
375
402
|
});
|
|
376
403
|
}
|
|
377
404
|
// Collect value imports
|
|
378
405
|
if (values) {
|
|
379
406
|
values.forEach(value => {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
407
|
+
addImportToMap(value.filePath, value.name);
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
// Collect dependencies that need class token imports
|
|
411
|
+
// (those not registered as string tokens via interfaces or abstract classes)
|
|
412
|
+
const allEntities = [...classes, ...(factories || [])];
|
|
413
|
+
const registeredNamesInModule = new Set([
|
|
414
|
+
...classes.map(c => c.name),
|
|
415
|
+
...(factories?.map(f => f.name) ?? []),
|
|
416
|
+
...(values?.map(v => v.name) ?? [])
|
|
417
|
+
]);
|
|
418
|
+
allEntities.forEach(entity => {
|
|
419
|
+
entity.dependencies.forEach(dep => {
|
|
420
|
+
// Skip if it's already registered in this module, or if it's a string token
|
|
421
|
+
// (registered via interfaces, abstract classes, factories or values)
|
|
422
|
+
if (registeredNamesInModule.has(dep.name) ||
|
|
423
|
+
interfaceNames.has(dep.name) ||
|
|
424
|
+
abstractClassNames.has(dep.name)) {
|
|
425
|
+
return;
|
|
387
426
|
}
|
|
388
|
-
//
|
|
389
|
-
|
|
390
|
-
if (
|
|
391
|
-
|
|
427
|
+
// If it's a project class, import it using its actual file path
|
|
428
|
+
const depClass = allProjectClasses.find(c => c.name === dep.name);
|
|
429
|
+
if (depClass) {
|
|
430
|
+
addImportToMap(depClass.filePath, depClass.name);
|
|
392
431
|
}
|
|
393
|
-
|
|
432
|
+
// Note: If not found in project classes, it might be an external dependency.
|
|
433
|
+
// For now we don't handle external class token imports as we don't have their absolute paths.
|
|
394
434
|
});
|
|
395
|
-
}
|
|
435
|
+
});
|
|
396
436
|
// Generate import statements
|
|
397
437
|
for (const [importPath, names] of importMap.entries()) {
|
|
398
438
|
const namesArray = Array.from(names).sort();
|