@notjustcoders/ioc-arise 1.0.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/LICENSE +21 -0
- package/README.md +266 -0
- package/dist/__tests__/analyser/ast-parser.test.d.ts +2 -0
- package/dist/__tests__/analyser/ast-parser.test.d.ts.map +1 -0
- package/dist/__tests__/analyser/ast-parser.test.js +268 -0
- package/dist/__tests__/analyser/ast-parser.test.js.map +1 -0
- package/dist/__tests__/analyser/class-analyzer.test.d.ts +2 -0
- package/dist/__tests__/analyser/class-analyzer.test.d.ts.map +1 -0
- package/dist/__tests__/analyser/class-analyzer.test.js +259 -0
- package/dist/__tests__/analyser/class-analyzer.test.js.map +1 -0
- package/dist/__tests__/analyser/dependency-resolver.test.d.ts +2 -0
- package/dist/__tests__/analyser/dependency-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/analyser/dependency-resolver.test.js +128 -0
- package/dist/__tests__/analyser/dependency-resolver.test.js.map +1 -0
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.d.ts +26 -0
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.d.ts.map +1 -0
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.js +178 -0
- package/dist/__tests__/analyser/fixtures/ast-parser-fixtures.js.map +1 -0
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.d.ts +54 -0
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.d.ts.map +1 -0
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.js +285 -0
- package/dist/__tests__/analyser/fixtures/class-analyzer-fixtures.js.map +1 -0
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.d.ts +13 -0
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.d.ts.map +1 -0
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.js +266 -0
- package/dist/__tests__/analyser/fixtures/dependency-resolver-fixtures.js.map +1 -0
- package/dist/__tests__/generator/container-generator.test.d.ts +2 -0
- package/dist/__tests__/generator/container-generator.test.d.ts.map +1 -0
- package/dist/__tests__/generator/container-generator.test.js +185 -0
- package/dist/__tests__/generator/container-generator.test.js.map +1 -0
- package/dist/__tests__/generator/dependency-resolver.test.d.ts +2 -0
- package/dist/__tests__/generator/dependency-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/generator/dependency-resolver.test.js +330 -0
- package/dist/__tests__/generator/dependency-resolver.test.js.map +1 -0
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.d.ts +23 -0
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.d.ts.map +1 -0
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.js +254 -0
- package/dist/__tests__/generator/fixtures/dependency-resolver.fixtures.js.map +1 -0
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.d.ts +10 -0
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.d.ts.map +1 -0
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.js +194 -0
- package/dist/__tests__/generator/fixtures/import-generator.fixtures.js.map +1 -0
- package/dist/__tests__/generator/import-generator.test.d.ts +2 -0
- package/dist/__tests__/generator/import-generator.test.d.ts.map +1 -0
- package/dist/__tests__/generator/import-generator.test.js +121 -0
- package/dist/__tests__/generator/import-generator.test.js.map +1 -0
- package/dist/__tests__/generator/instantiation-generator.test.d.ts +2 -0
- package/dist/__tests__/generator/instantiation-generator.test.d.ts.map +1 -0
- package/dist/__tests__/generator/instantiation-generator.test.js +251 -0
- package/dist/__tests__/generator/instantiation-generator.test.js.map +1 -0
- package/dist/analyser/ast-parser.d.ts +12 -0
- package/dist/analyser/ast-parser.d.ts.map +1 -0
- package/dist/analyser/ast-parser.js +192 -0
- package/dist/analyser/ast-parser.js.map +1 -0
- package/dist/analyser/class-analyzer.d.ts +11 -0
- package/dist/analyser/class-analyzer.d.ts.map +1 -0
- package/dist/analyser/class-analyzer.js +78 -0
- package/dist/analyser/class-analyzer.js.map +1 -0
- package/dist/analyser/dependency-resolver.d.ts +10 -0
- package/dist/analyser/dependency-resolver.d.ts.map +1 -0
- package/dist/analyser/dependency-resolver.js +46 -0
- package/dist/analyser/dependency-resolver.js.map +1 -0
- package/dist/analyser/file-discovery.d.ts +7 -0
- package/dist/analyser/file-discovery.d.ts.map +1 -0
- package/dist/analyser/file-discovery.js +30 -0
- package/dist/analyser/file-discovery.js.map +1 -0
- package/dist/analyser/index.d.ts +3 -0
- package/dist/analyser/index.d.ts.map +1 -0
- package/dist/analyser/index.js +14 -0
- package/dist/analyser/index.js.map +1 -0
- package/dist/analyser/module-dependency-resolver.d.ts +17 -0
- package/dist/analyser/module-dependency-resolver.d.ts.map +1 -0
- package/dist/analyser/module-dependency-resolver.js +66 -0
- package/dist/analyser/module-dependency-resolver.js.map +1 -0
- package/dist/analyser/project-analyzer.d.ts +8 -0
- package/dist/analyser/project-analyzer.d.ts.map +1 -0
- package/dist/analyser/project-analyzer.js +20 -0
- package/dist/analyser/project-analyzer.js.map +1 -0
- package/dist/commands/analyze.d.ts +3 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +66 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +150 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/container.d.ts +5 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +8 -0
- package/dist/container.js.map +1 -0
- package/dist/generator/container-file-generator.d.ts +20 -0
- package/dist/generator/container-file-generator.d.ts.map +1 -0
- package/dist/generator/container-file-generator.js +255 -0
- package/dist/generator/container-file-generator.js.map +1 -0
- package/dist/generator/container-generator.d.ts +8 -0
- package/dist/generator/container-generator.d.ts.map +1 -0
- package/dist/generator/container-generator.js +35 -0
- package/dist/generator/container-generator.js.map +1 -0
- package/dist/generator/dependency-resolver.d.ts +11 -0
- package/dist/generator/dependency-resolver.d.ts.map +1 -0
- package/dist/generator/dependency-resolver.js +83 -0
- package/dist/generator/dependency-resolver.js.map +1 -0
- package/dist/generator/file-writer.d.ts +6 -0
- package/dist/generator/file-writer.d.ts.map +1 -0
- package/dist/generator/file-writer.js +19 -0
- package/dist/generator/file-writer.js.map +1 -0
- package/dist/generator/import-generator.d.ts +7 -0
- package/dist/generator/import-generator.d.ts.map +1 -0
- package/dist/generator/import-generator.js +31 -0
- package/dist/generator/import-generator.js.map +1 -0
- package/dist/generator/index.d.ts +4 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +25 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/instantiation-generator.d.ts +8 -0
- package/dist/generator/instantiation-generator.d.ts.map +1 -0
- package/dist/generator/instantiation-generator.js +153 -0
- package/dist/generator/instantiation-generator.js.map +1 -0
- package/dist/generator/module-container-generator.d.ts +10 -0
- package/dist/generator/module-container-generator.d.ts.map +1 -0
- package/dist/generator/module-container-generator.js +51 -0
- package/dist/generator/module-container-generator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/configManager.d.ts +21 -0
- package/dist/utils/configManager.d.ts.map +1 -0
- package/dist/utils/configManager.js +50 -0
- package/dist/utils/configManager.js.map +1 -0
- package/dist/utils/moduleResolver.d.ts +38 -0
- package/dist/utils/moduleResolver.d.ts.map +1 -0
- package/dist/utils/moduleResolver.js +108 -0
- package/dist/utils/moduleResolver.js.map +1 -0
- package/dist/utils/naming.d.ts +7 -0
- package/dist/utils/naming.d.ts.map +1 -0
- package/dist/utils/naming.js +12 -0
- package/dist/utils/naming.js.map +1 -0
- package/dist/utils/topological-sorter.d.ts +17 -0
- package/dist/utils/topological-sorter.d.ts.map +1 -0
- package/dist/utils/topological-sorter.js +69 -0
- package/dist/utils/topological-sorter.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expectedResults = exports.testClassForResolution = exports.circularDependencyClasses = exports.classesWithoutInterfaces = exports.unmanagedClassesWithParams = exports.mixedDependencyClasses = exports.transientClasses = exports.basicManagedClasses = void 0;
|
|
4
|
+
// Basic managed classes for testing
|
|
5
|
+
exports.basicManagedClasses = [
|
|
6
|
+
{
|
|
7
|
+
name: 'UserService',
|
|
8
|
+
filePath: '/src/services/user.service.ts',
|
|
9
|
+
dependencies: ['IUserRepository'],
|
|
10
|
+
constructorParams: [
|
|
11
|
+
{
|
|
12
|
+
name: 'userRepository',
|
|
13
|
+
type: 'IUserRepository',
|
|
14
|
+
isOptional: false,
|
|
15
|
+
accessModifier: 'private'
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
interfaceName: 'IUserService',
|
|
19
|
+
importPath: './services/user.service',
|
|
20
|
+
scope: 'singleton'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'UserRepository',
|
|
24
|
+
filePath: '/src/repositories/user.repository.ts',
|
|
25
|
+
dependencies: [],
|
|
26
|
+
constructorParams: [],
|
|
27
|
+
interfaceName: 'IUserRepository',
|
|
28
|
+
importPath: './repositories/user.repository',
|
|
29
|
+
scope: 'singleton'
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
// Classes with transient scope
|
|
33
|
+
exports.transientClasses = [
|
|
34
|
+
{
|
|
35
|
+
name: 'EmailService',
|
|
36
|
+
filePath: '/src/services/email.service.ts',
|
|
37
|
+
dependencies: ['IEmailProvider'],
|
|
38
|
+
constructorParams: [
|
|
39
|
+
{
|
|
40
|
+
name: 'emailProvider',
|
|
41
|
+
type: 'IEmailProvider',
|
|
42
|
+
isOptional: false,
|
|
43
|
+
accessModifier: 'private'
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
interfaceName: 'IEmailService',
|
|
47
|
+
importPath: './services/email.service',
|
|
48
|
+
scope: 'transient'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'EmailProvider',
|
|
52
|
+
filePath: '/src/providers/email.provider.ts',
|
|
53
|
+
dependencies: [],
|
|
54
|
+
constructorParams: [],
|
|
55
|
+
interfaceName: 'IEmailProvider',
|
|
56
|
+
importPath: './providers/email.provider',
|
|
57
|
+
scope: 'transient'
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
// Classes with mixed dependencies (managed and unmanaged)
|
|
61
|
+
exports.mixedDependencyClasses = [
|
|
62
|
+
{
|
|
63
|
+
name: 'OrderService',
|
|
64
|
+
filePath: '/src/services/order.service.ts',
|
|
65
|
+
dependencies: ['IUserService', 'PaymentGateway', 'Logger'],
|
|
66
|
+
constructorParams: [
|
|
67
|
+
{
|
|
68
|
+
name: 'userService',
|
|
69
|
+
type: 'IUserService',
|
|
70
|
+
isOptional: false,
|
|
71
|
+
accessModifier: 'private'
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'paymentGateway',
|
|
75
|
+
type: 'PaymentGateway',
|
|
76
|
+
isOptional: false,
|
|
77
|
+
accessModifier: 'private'
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'logger',
|
|
81
|
+
type: 'Logger',
|
|
82
|
+
isOptional: false,
|
|
83
|
+
accessModifier: 'private'
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
interfaceName: 'IOrderService',
|
|
87
|
+
importPath: './services/order.service',
|
|
88
|
+
scope: 'singleton'
|
|
89
|
+
},
|
|
90
|
+
...exports.basicManagedClasses
|
|
91
|
+
];
|
|
92
|
+
// Unmanaged classes with constructor parameters
|
|
93
|
+
exports.unmanagedClassesWithParams = [
|
|
94
|
+
{
|
|
95
|
+
name: 'DatabaseConnection',
|
|
96
|
+
filePath: '/src/database/connection.ts',
|
|
97
|
+
dependencies: [],
|
|
98
|
+
constructorParams: [
|
|
99
|
+
{
|
|
100
|
+
name: 'host',
|
|
101
|
+
type: 'string',
|
|
102
|
+
isOptional: false,
|
|
103
|
+
accessModifier: 'private'
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: 'port',
|
|
107
|
+
type: 'number',
|
|
108
|
+
isOptional: false,
|
|
109
|
+
accessModifier: 'private'
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: 'ssl',
|
|
113
|
+
type: 'boolean',
|
|
114
|
+
isOptional: true,
|
|
115
|
+
accessModifier: 'private'
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
importPath: './database/connection',
|
|
119
|
+
scope: 'singleton'
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'ConfigService',
|
|
123
|
+
filePath: '/src/config/config.service.ts',
|
|
124
|
+
dependencies: [],
|
|
125
|
+
constructorParams: [
|
|
126
|
+
{
|
|
127
|
+
name: 'config',
|
|
128
|
+
type: 'Config',
|
|
129
|
+
isOptional: false,
|
|
130
|
+
accessModifier: 'private'
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'env',
|
|
134
|
+
type: 'Environment',
|
|
135
|
+
isOptional: true,
|
|
136
|
+
accessModifier: 'private'
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
importPath: './config/config.service',
|
|
140
|
+
scope: 'singleton'
|
|
141
|
+
}
|
|
142
|
+
];
|
|
143
|
+
// Classes without interface names
|
|
144
|
+
exports.classesWithoutInterfaces = [
|
|
145
|
+
{
|
|
146
|
+
name: 'UtilityService',
|
|
147
|
+
filePath: '/src/utils/utility.service.ts',
|
|
148
|
+
dependencies: [],
|
|
149
|
+
constructorParams: [],
|
|
150
|
+
importPath: './utils/utility.service',
|
|
151
|
+
scope: 'singleton'
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: 'HelperService',
|
|
155
|
+
filePath: '/src/helpers/helper.service.ts',
|
|
156
|
+
dependencies: ['UtilityService'],
|
|
157
|
+
constructorParams: [
|
|
158
|
+
{
|
|
159
|
+
name: 'utilityService',
|
|
160
|
+
type: 'UtilityService',
|
|
161
|
+
isOptional: false,
|
|
162
|
+
accessModifier: 'private'
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
importPath: './helpers/helper.service',
|
|
166
|
+
scope: 'singleton'
|
|
167
|
+
}
|
|
168
|
+
];
|
|
169
|
+
// Complex scenario with circular dependencies
|
|
170
|
+
exports.circularDependencyClasses = [
|
|
171
|
+
{
|
|
172
|
+
name: 'ServiceA',
|
|
173
|
+
filePath: '/src/services/service-a.ts',
|
|
174
|
+
dependencies: ['IServiceB'],
|
|
175
|
+
constructorParams: [
|
|
176
|
+
{
|
|
177
|
+
name: 'serviceB',
|
|
178
|
+
type: 'IServiceB',
|
|
179
|
+
isOptional: false,
|
|
180
|
+
accessModifier: 'private'
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
interfaceName: 'IServiceA',
|
|
184
|
+
importPath: './services/service-a',
|
|
185
|
+
scope: 'singleton'
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'ServiceB',
|
|
189
|
+
filePath: '/src/services/service-b.ts',
|
|
190
|
+
dependencies: ['IServiceA'],
|
|
191
|
+
constructorParams: [
|
|
192
|
+
{
|
|
193
|
+
name: 'serviceA',
|
|
194
|
+
type: 'IServiceA',
|
|
195
|
+
isOptional: false,
|
|
196
|
+
accessModifier: 'private'
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
interfaceName: 'IServiceB',
|
|
200
|
+
importPath: './services/service-b',
|
|
201
|
+
scope: 'singleton'
|
|
202
|
+
}
|
|
203
|
+
];
|
|
204
|
+
// Test class for dependency resolution
|
|
205
|
+
exports.testClassForResolution = {
|
|
206
|
+
name: 'TestService',
|
|
207
|
+
filePath: '/src/services/test.service.ts',
|
|
208
|
+
dependencies: ['IUserService', 'IEmailService', 'UnmanagedClass'],
|
|
209
|
+
constructorParams: [
|
|
210
|
+
{
|
|
211
|
+
name: 'userService',
|
|
212
|
+
type: 'IUserService',
|
|
213
|
+
isOptional: false,
|
|
214
|
+
accessModifier: 'private'
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: 'emailService',
|
|
218
|
+
type: 'IEmailService',
|
|
219
|
+
isOptional: false,
|
|
220
|
+
accessModifier: 'private'
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: 'unmanagedClass',
|
|
224
|
+
type: 'UnmanagedClass',
|
|
225
|
+
isOptional: false,
|
|
226
|
+
accessModifier: 'private'
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
interfaceName: 'ITestService',
|
|
230
|
+
importPath: './services/test.service',
|
|
231
|
+
scope: 'singleton'
|
|
232
|
+
};
|
|
233
|
+
// Expected results for various test scenarios
|
|
234
|
+
exports.expectedResults = {
|
|
235
|
+
basicInterfaceToClassMap: new Map([
|
|
236
|
+
['IUserService', 'UserService'],
|
|
237
|
+
['IUserRepository', 'UserRepository']
|
|
238
|
+
]),
|
|
239
|
+
transientInterfaceToClassMap: new Map([
|
|
240
|
+
['IEmailService', 'EmailService'],
|
|
241
|
+
['IEmailProvider', 'EmailProvider']
|
|
242
|
+
]),
|
|
243
|
+
mixedDependenciesResolution: 'userService, new PaymentGateway(), new Logger()',
|
|
244
|
+
transientDependenciesResolution: 'emailProviderFactory()',
|
|
245
|
+
singletonDependenciesResolution: 'userRepository',
|
|
246
|
+
unmanagedWithParamsResolution: 'new DatabaseConnection("default", 0, undefined)',
|
|
247
|
+
primitiveTypesDefaults: {
|
|
248
|
+
string: '"default"',
|
|
249
|
+
number: '0',
|
|
250
|
+
boolean: 'false',
|
|
251
|
+
date: 'new Date()'
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
//# sourceMappingURL=dependency-resolver.fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-resolver.fixtures.js","sourceRoot":"","sources":["../../../../src/__tests__/generator/fixtures/dependency-resolver.fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ClassInfo } from '../../../types';
|
|
2
|
+
export declare const mockClassInfos: ClassInfo[];
|
|
3
|
+
export declare const mockClassInfoWithNoDependencies: ClassInfo;
|
|
4
|
+
export declare const mockClassInfoWithUnmanagedDependencies: ClassInfo;
|
|
5
|
+
export declare const expectedImportsForMockClasses: string;
|
|
6
|
+
export declare const expectedImportsWithUnmanagedDependencies: string;
|
|
7
|
+
export declare const duplicateClassesFixture: ClassInfo[];
|
|
8
|
+
export declare const circularClassesFixture: ClassInfo[];
|
|
9
|
+
export declare const mixedClassesFixture: ClassInfo[];
|
|
10
|
+
//# sourceMappingURL=import-generator.fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-generator.fixtures.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/generator/fixtures/import-generator.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,cAAc,EAAE,SAAS,EA6DrC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,SAQ7C,CAAC;AAEF,eAAO,MAAM,sCAAsC,EAAE,SAqBpD,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAI9B,CAAC;AAEb,eAAO,MAAM,wCAAwC,QAMzC,CAAC;AAEb,eAAO,MAAM,uBAAuB,EAAE,SAAS,EA2B9C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,EA2B7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,SAAS,EA4B1C,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mixedClassesFixture = exports.circularClassesFixture = exports.duplicateClassesFixture = exports.expectedImportsWithUnmanagedDependencies = exports.expectedImportsForMockClasses = exports.mockClassInfoWithUnmanagedDependencies = exports.mockClassInfoWithNoDependencies = exports.mockClassInfos = void 0;
|
|
4
|
+
exports.mockClassInfos = [
|
|
5
|
+
{
|
|
6
|
+
name: 'UserService',
|
|
7
|
+
filePath: '/src/services/user.service.ts',
|
|
8
|
+
dependencies: ['IUserRepository', 'EmailService'],
|
|
9
|
+
constructorParams: [
|
|
10
|
+
{
|
|
11
|
+
name: 'userRepository',
|
|
12
|
+
type: 'IUserRepository',
|
|
13
|
+
isOptional: false,
|
|
14
|
+
accessModifier: 'private'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'emailService',
|
|
18
|
+
type: 'EmailService',
|
|
19
|
+
isOptional: false,
|
|
20
|
+
accessModifier: 'private'
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
interfaceName: 'IUserService',
|
|
24
|
+
importPath: './services/user.service',
|
|
25
|
+
scope: 'singleton'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'EmailService',
|
|
29
|
+
filePath: '/src/services/email.service.ts',
|
|
30
|
+
dependencies: ['IEmailProvider'],
|
|
31
|
+
constructorParams: [
|
|
32
|
+
{
|
|
33
|
+
name: 'emailProvider',
|
|
34
|
+
type: 'IEmailProvider',
|
|
35
|
+
isOptional: false,
|
|
36
|
+
accessModifier: 'private'
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
interfaceName: 'IEmailService',
|
|
40
|
+
importPath: './services/email.service',
|
|
41
|
+
scope: 'transient'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'ProductService',
|
|
45
|
+
filePath: '/src/services/product.service.ts',
|
|
46
|
+
dependencies: ['IProductRepository', 'UserService'],
|
|
47
|
+
constructorParams: [
|
|
48
|
+
{
|
|
49
|
+
name: 'productRepository',
|
|
50
|
+
type: 'IProductRepository',
|
|
51
|
+
isOptional: false,
|
|
52
|
+
accessModifier: 'private'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'userService',
|
|
56
|
+
type: 'UserService',
|
|
57
|
+
isOptional: false,
|
|
58
|
+
accessModifier: 'private'
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
interfaceName: 'IProductService',
|
|
62
|
+
importPath: './services/product.service',
|
|
63
|
+
scope: 'singleton'
|
|
64
|
+
}
|
|
65
|
+
];
|
|
66
|
+
exports.mockClassInfoWithNoDependencies = {
|
|
67
|
+
name: 'LoggerService',
|
|
68
|
+
filePath: '/src/services/logger.service.ts',
|
|
69
|
+
dependencies: [],
|
|
70
|
+
constructorParams: [],
|
|
71
|
+
interfaceName: 'ILoggerService',
|
|
72
|
+
importPath: './services/logger.service',
|
|
73
|
+
scope: 'singleton'
|
|
74
|
+
};
|
|
75
|
+
exports.mockClassInfoWithUnmanagedDependencies = {
|
|
76
|
+
name: 'DatabaseService',
|
|
77
|
+
filePath: '/src/services/database.service.ts',
|
|
78
|
+
dependencies: ['Connection', 'IConfig'],
|
|
79
|
+
constructorParams: [
|
|
80
|
+
{
|
|
81
|
+
name: 'connection',
|
|
82
|
+
type: 'Connection',
|
|
83
|
+
isOptional: false,
|
|
84
|
+
accessModifier: 'private'
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'config',
|
|
88
|
+
type: 'IConfig',
|
|
89
|
+
isOptional: false,
|
|
90
|
+
accessModifier: 'private'
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
interfaceName: 'IDatabaseService',
|
|
94
|
+
importPath: './services/database.service',
|
|
95
|
+
scope: 'singleton'
|
|
96
|
+
};
|
|
97
|
+
exports.expectedImportsForMockClasses = [
|
|
98
|
+
"import { UserService } from './services/user.service';",
|
|
99
|
+
"import { EmailService } from './services/email.service';",
|
|
100
|
+
"import { ProductService } from './services/product.service';"
|
|
101
|
+
].join('\n');
|
|
102
|
+
exports.expectedImportsWithUnmanagedDependencies = [
|
|
103
|
+
"import { UserService } from './services/user.service';",
|
|
104
|
+
"import { EmailService } from './services/email.service';",
|
|
105
|
+
"import { ProductService } from './services/product.service';",
|
|
106
|
+
"import { DatabaseService } from './services/database.service';",
|
|
107
|
+
"import { Connection } from './services/database.service';"
|
|
108
|
+
].join('\n');
|
|
109
|
+
exports.duplicateClassesFixture = [
|
|
110
|
+
{
|
|
111
|
+
name: 'ServiceA',
|
|
112
|
+
filePath: '/src/services/shared.service.ts',
|
|
113
|
+
dependencies: ['SharedDependency'],
|
|
114
|
+
constructorParams: [{
|
|
115
|
+
name: 'sharedDep',
|
|
116
|
+
type: 'SharedDependency',
|
|
117
|
+
isOptional: false,
|
|
118
|
+
accessModifier: 'private'
|
|
119
|
+
}],
|
|
120
|
+
importPath: './services/shared.service',
|
|
121
|
+
scope: 'singleton'
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'ServiceB',
|
|
125
|
+
filePath: '/src/services/shared.service.ts',
|
|
126
|
+
dependencies: ['SharedDependency'],
|
|
127
|
+
constructorParams: [{
|
|
128
|
+
name: 'sharedDep',
|
|
129
|
+
type: 'SharedDependency',
|
|
130
|
+
isOptional: false,
|
|
131
|
+
accessModifier: 'private'
|
|
132
|
+
}],
|
|
133
|
+
importPath: './services/shared.service',
|
|
134
|
+
scope: 'singleton'
|
|
135
|
+
}
|
|
136
|
+
];
|
|
137
|
+
exports.circularClassesFixture = [
|
|
138
|
+
{
|
|
139
|
+
name: 'ServiceA',
|
|
140
|
+
filePath: '/src/services/service-a.ts',
|
|
141
|
+
dependencies: ['ServiceB'],
|
|
142
|
+
constructorParams: [{
|
|
143
|
+
name: 'serviceB',
|
|
144
|
+
type: 'ServiceB',
|
|
145
|
+
isOptional: false,
|
|
146
|
+
accessModifier: 'private'
|
|
147
|
+
}],
|
|
148
|
+
importPath: './services/service-a',
|
|
149
|
+
scope: 'singleton'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: 'ServiceB',
|
|
153
|
+
filePath: '/src/services/service-b.ts',
|
|
154
|
+
dependencies: ['ServiceA'],
|
|
155
|
+
constructorParams: [{
|
|
156
|
+
name: 'serviceA',
|
|
157
|
+
type: 'ServiceA',
|
|
158
|
+
isOptional: false,
|
|
159
|
+
accessModifier: 'private'
|
|
160
|
+
}],
|
|
161
|
+
importPath: './services/service-b',
|
|
162
|
+
scope: 'singleton'
|
|
163
|
+
}
|
|
164
|
+
];
|
|
165
|
+
exports.mixedClassesFixture = [
|
|
166
|
+
{
|
|
167
|
+
name: 'MixedService',
|
|
168
|
+
filePath: '/src/services/mixed.service.ts',
|
|
169
|
+
dependencies: ['UserService', 'ExternalLibrary', 'IConfig'],
|
|
170
|
+
constructorParams: [
|
|
171
|
+
{
|
|
172
|
+
name: 'userService',
|
|
173
|
+
type: 'UserService',
|
|
174
|
+
isOptional: false,
|
|
175
|
+
accessModifier: 'private'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: 'externalLibrary',
|
|
179
|
+
type: 'ExternalLibrary',
|
|
180
|
+
isOptional: false,
|
|
181
|
+
accessModifier: 'private'
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'config',
|
|
185
|
+
type: 'IConfig',
|
|
186
|
+
isOptional: false,
|
|
187
|
+
accessModifier: 'private'
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
importPath: './services/mixed.service',
|
|
191
|
+
scope: 'singleton'
|
|
192
|
+
}
|
|
193
|
+
];
|
|
194
|
+
//# sourceMappingURL=import-generator.fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-generator.fixtures.js","sourceRoot":"","sources":["../../../../src/__tests__/generator/fixtures/import-generator.fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-generator.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/generator/import-generator.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const import_generator_1 = require("../../generator/import-generator");
|
|
5
|
+
const import_generator_fixtures_1 = require("./fixtures/import-generator.fixtures");
|
|
6
|
+
(0, vitest_1.describe)('ImportGenerator', () => {
|
|
7
|
+
let importGenerator;
|
|
8
|
+
(0, vitest_1.describe)('constructor', () => {
|
|
9
|
+
(0, vitest_1.it)('should create an instance with provided classes', () => {
|
|
10
|
+
importGenerator = new import_generator_1.ImportGenerator(import_generator_fixtures_1.mockClassInfos);
|
|
11
|
+
(0, vitest_1.expect)(importGenerator).toBeInstanceOf(import_generator_1.ImportGenerator);
|
|
12
|
+
});
|
|
13
|
+
(0, vitest_1.it)('should handle empty classes array', () => {
|
|
14
|
+
importGenerator = new import_generator_1.ImportGenerator([]);
|
|
15
|
+
(0, vitest_1.expect)(importGenerator).toBeInstanceOf(import_generator_1.ImportGenerator);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.describe)('generateImports', () => {
|
|
19
|
+
(0, vitest_1.describe)('with managed classes only', () => {
|
|
20
|
+
(0, vitest_1.beforeEach)(() => {
|
|
21
|
+
importGenerator = new import_generator_1.ImportGenerator(import_generator_fixtures_1.mockClassInfos);
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.it)('should generate imports for all managed classes', () => {
|
|
24
|
+
const result = importGenerator.generateImports();
|
|
25
|
+
(0, vitest_1.expect)(result).toContain("import { UserService } from './services/user.service';");
|
|
26
|
+
(0, vitest_1.expect)(result).toContain("import { EmailService } from './services/email.service';");
|
|
27
|
+
(0, vitest_1.expect)(result).toContain("import { ProductService } from './services/product.service';");
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)('should not duplicate imports for the same class', () => {
|
|
30
|
+
const result = importGenerator.generateImports();
|
|
31
|
+
const userServiceImports = result.split('\n').filter(line => line.includes('UserService'));
|
|
32
|
+
(0, vitest_1.expect)(userServiceImports).toHaveLength(1);
|
|
33
|
+
});
|
|
34
|
+
(0, vitest_1.it)('should not generate imports for interfaces (starting with I)', () => {
|
|
35
|
+
const result = importGenerator.generateImports();
|
|
36
|
+
(0, vitest_1.expect)(result).not.toContain('IUserRepository');
|
|
37
|
+
(0, vitest_1.expect)(result).not.toContain('IEmailProvider');
|
|
38
|
+
(0, vitest_1.expect)(result).not.toContain('IProductRepository');
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.it)('should generate imports for managed dependencies', () => {
|
|
41
|
+
const result = importGenerator.generateImports();
|
|
42
|
+
// UserService depends on EmailService, and EmailService is a managed class
|
|
43
|
+
// So EmailService should be imported
|
|
44
|
+
(0, vitest_1.expect)(result).toContain("import { EmailService } from './services/email.service';");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
(0, vitest_1.describe)('with no dependencies', () => {
|
|
48
|
+
(0, vitest_1.beforeEach)(() => {
|
|
49
|
+
importGenerator = new import_generator_1.ImportGenerator([import_generator_fixtures_1.mockClassInfoWithNoDependencies]);
|
|
50
|
+
});
|
|
51
|
+
(0, vitest_1.it)('should generate import only for the class itself', () => {
|
|
52
|
+
const result = importGenerator.generateImports();
|
|
53
|
+
(0, vitest_1.expect)(result).toBe("import { LoggerService } from './services/logger.service';");
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
(0, vitest_1.describe)('with unmanaged dependencies', () => {
|
|
57
|
+
(0, vitest_1.beforeEach)(() => {
|
|
58
|
+
const classesWithUnmanaged = [...import_generator_fixtures_1.mockClassInfos, import_generator_fixtures_1.mockClassInfoWithUnmanagedDependencies];
|
|
59
|
+
importGenerator = new import_generator_1.ImportGenerator(classesWithUnmanaged);
|
|
60
|
+
});
|
|
61
|
+
(0, vitest_1.it)('should generate imports for unmanaged dependencies that are not interfaces', () => {
|
|
62
|
+
const result = importGenerator.generateImports();
|
|
63
|
+
// Connection is an unmanaged dependency and doesn't start with 'I'
|
|
64
|
+
(0, vitest_1.expect)(result).toContain("import { Connection } from './services/database.service';");
|
|
65
|
+
// IConfig is an interface (starts with 'I') so should not be imported
|
|
66
|
+
(0, vitest_1.expect)(result).not.toContain('IConfig');
|
|
67
|
+
});
|
|
68
|
+
(0, vitest_1.it)('should include imports for all managed classes', () => {
|
|
69
|
+
const result = importGenerator.generateImports();
|
|
70
|
+
(0, vitest_1.expect)(result).toContain("import { UserService } from './services/user.service';");
|
|
71
|
+
(0, vitest_1.expect)(result).toContain("import { EmailService } from './services/email.service';");
|
|
72
|
+
(0, vitest_1.expect)(result).toContain("import { ProductService } from './services/product.service';");
|
|
73
|
+
(0, vitest_1.expect)(result).toContain("import { DatabaseService } from './services/database.service';");
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
(0, vitest_1.describe)('with empty classes array', () => {
|
|
77
|
+
(0, vitest_1.beforeEach)(() => {
|
|
78
|
+
importGenerator = new import_generator_1.ImportGenerator([]);
|
|
79
|
+
});
|
|
80
|
+
(0, vitest_1.it)('should return empty string', () => {
|
|
81
|
+
const result = importGenerator.generateImports();
|
|
82
|
+
(0, vitest_1.expect)(result).toBe('');
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
(0, vitest_1.describe)('with complex dependency scenarios', () => {
|
|
86
|
+
(0, vitest_1.it)('should handle circular dependencies correctly', () => {
|
|
87
|
+
importGenerator = new import_generator_1.ImportGenerator(import_generator_fixtures_1.circularClassesFixture);
|
|
88
|
+
const result = importGenerator.generateImports();
|
|
89
|
+
(0, vitest_1.expect)(result).toContain("import { ServiceA } from './services/service-a';");
|
|
90
|
+
(0, vitest_1.expect)(result).toContain("import { ServiceB } from './services/service-b';");
|
|
91
|
+
});
|
|
92
|
+
(0, vitest_1.it)('should handle mixed managed and unmanaged dependencies', () => {
|
|
93
|
+
const mixedClasses = [...import_generator_fixtures_1.mixedClassesFixture, import_generator_fixtures_1.mockClassInfos[0]]; // UserService - non-null assertion since we know the array has items
|
|
94
|
+
importGenerator = new import_generator_1.ImportGenerator(mixedClasses);
|
|
95
|
+
const result = importGenerator.generateImports();
|
|
96
|
+
// Should import the managed class
|
|
97
|
+
(0, vitest_1.expect)(result).toContain("import { UserService } from './services/user.service';");
|
|
98
|
+
// Should import the unmanaged non-interface dependency
|
|
99
|
+
(0, vitest_1.expect)(result).toContain("import { ExternalLibrary } from './services/mixed.service';");
|
|
100
|
+
// Should NOT import the interface
|
|
101
|
+
(0, vitest_1.expect)(result).not.toContain('IConfig');
|
|
102
|
+
// Should import the MixedService itself
|
|
103
|
+
(0, vitest_1.expect)(result).toContain("import { MixedService } from './services/mixed.service';");
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
(0, vitest_1.describe)('import deduplication', () => {
|
|
107
|
+
(0, vitest_1.it)('should deduplicate imports from the same path', () => {
|
|
108
|
+
importGenerator = new import_generator_1.ImportGenerator(import_generator_fixtures_1.duplicateClassesFixture);
|
|
109
|
+
const result = importGenerator.generateImports();
|
|
110
|
+
const lines = result.split('\n');
|
|
111
|
+
// Should have imports for both services
|
|
112
|
+
(0, vitest_1.expect)(result).toContain("import { ServiceA } from './services/shared.service';");
|
|
113
|
+
(0, vitest_1.expect)(result).toContain("import { ServiceB } from './services/shared.service';");
|
|
114
|
+
// Should only have one import for SharedDependency
|
|
115
|
+
const sharedDepImports = lines.filter(line => line.includes('SharedDependency'));
|
|
116
|
+
(0, vitest_1.expect)(sharedDepImports).toHaveLength(1);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=import-generator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-generator.test.js","sourceRoot":"","sources":["../../../src/__tests__/generator/import-generator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiation-generator.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/generator/instantiation-generator.test.ts"],"names":[],"mappings":""}
|