@notjustcoders/ioc-arise 1.1.10 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +37 -115
  2. package/dist/analyser/ast-parser.d.ts.map +1 -1
  3. package/dist/analyser/ast-parser.js +42 -44
  4. package/dist/analyser/ast-parser.js.map +1 -1
  5. package/dist/analyser/class-analyzer.d.ts.map +1 -1
  6. package/dist/analyser/class-analyzer.js +35 -40
  7. package/dist/analyser/class-analyzer.js.map +1 -1
  8. package/dist/analyser/file-discovery.d.ts.map +1 -1
  9. package/dist/analyser/file-discovery.js +0 -3
  10. package/dist/analyser/file-discovery.js.map +1 -1
  11. package/dist/analyser/project-analyzer.d.ts.map +1 -1
  12. package/dist/analyser/project-analyzer.js +12 -9
  13. package/dist/analyser/project-analyzer.js.map +1 -1
  14. package/dist/commands/analyze.d.ts.map +1 -1
  15. package/dist/commands/analyze.js +33 -26
  16. package/dist/commands/analyze.js.map +1 -1
  17. package/dist/commands/generate.d.ts.map +1 -1
  18. package/dist/commands/generate.js +65 -48
  19. package/dist/commands/generate.js.map +1 -1
  20. package/dist/commands/visualize.d.ts.map +1 -1
  21. package/dist/commands/visualize.js +20 -13
  22. package/dist/commands/visualize.js.map +1 -1
  23. package/dist/errors/IoCError.d.ts +7 -0
  24. package/dist/errors/IoCError.d.ts.map +1 -1
  25. package/dist/errors/IoCError.js +16 -1
  26. package/dist/errors/IoCError.js.map +1 -1
  27. package/dist/errors/errorFactory.d.ts +1 -1
  28. package/dist/errors/errorFactory.d.ts.map +1 -1
  29. package/dist/errors/errorFactory.js +23 -23
  30. package/dist/errors/errorFactory.js.map +1 -1
  31. package/dist/generator/index.d.ts +2 -19
  32. package/dist/generator/index.d.ts.map +1 -1
  33. package/dist/generator/index.js +16 -34
  34. package/dist/generator/index.js.map +1 -1
  35. package/dist/generator/ioc-container-generator.d.ts +27 -0
  36. package/dist/generator/ioc-container-generator.d.ts.map +1 -0
  37. package/dist/generator/ioc-container-generator.js +353 -0
  38. package/dist/generator/ioc-container-generator.js.map +1 -0
  39. package/dist/generator/type-declaration-generator.d.ts +10 -0
  40. package/dist/generator/type-declaration-generator.d.ts.map +1 -0
  41. package/dist/generator/type-declaration-generator.js +141 -0
  42. package/dist/generator/type-declaration-generator.js.map +1 -0
  43. package/dist/index.js +14 -4
  44. package/dist/index.js.map +1 -1
  45. package/dist/utils/circular-dependency-detector.d.ts +16 -0
  46. package/dist/utils/circular-dependency-detector.d.ts.map +1 -0
  47. package/dist/utils/circular-dependency-detector.js +70 -0
  48. package/dist/utils/circular-dependency-detector.js.map +1 -0
  49. package/dist/utils/configManager.d.ts.map +1 -1
  50. package/dist/utils/configManager.js +8 -6
  51. package/dist/utils/configManager.js.map +1 -1
  52. package/dist/utils/configValidator.d.ts +1 -1
  53. package/dist/utils/configValidator.d.ts.map +1 -1
  54. package/dist/utils/configValidator.js +18 -15
  55. package/dist/utils/configValidator.js.map +1 -1
  56. package/dist/utils/logger.d.ts +93 -0
  57. package/dist/utils/logger.d.ts.map +1 -0
  58. package/dist/utils/logger.js +162 -0
  59. package/dist/utils/logger.js.map +1 -0
  60. package/dist/utils/moduleResolver.d.ts +1 -1
  61. package/dist/utils/moduleResolver.d.ts.map +1 -1
  62. package/dist/utils/moduleResolver.js +5 -5
  63. package/dist/utils/moduleResolver.js.map +1 -1
  64. package/package.json +3 -2
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClassAnalyzer = void 0;
4
4
  const path_1 = require("path");
5
5
  const container_1 = require("../container");
6
- const one_logger_client_sdk_1 = require("@notjustcoders/one-logger-client-sdk");
7
- const index_js_1 = require("../errors/index.js");
6
+ const errorFactory_1 = require("../errors/errorFactory");
7
+ const IoCError_1 = require("../errors/IoCError");
8
+ const logger_1 = require("../utils/logger");
8
9
  class ClassAnalyzer {
9
10
  constructor(sourceDir, interfacePattern) {
10
11
  this.astParser = container_1.container.astParser;
@@ -27,14 +28,11 @@ class ClassAnalyzer {
27
28
  interfaces.forEach(interfaceName => allInterfaces.add(interfaceName));
28
29
  // Collect class names and abstract classes
29
30
  const classNodes = this.astParser.findAllClasses(root);
30
- console.log(`DEBUG: Found ${classNodes.length} class nodes in ${filePath}`);
31
31
  for (const classNode of classNodes) {
32
32
  const className = this.astParser.extractClassName(classNode);
33
33
  if (className) {
34
34
  allClassNames.add(className);
35
35
  const isAbstract = this.astParser.isAbstractClass(classNode);
36
- console.log(`DEBUG: Class ${className} - isAbstract: ${isAbstract}`);
37
- console.log(`DEBUG: Class node text:`, classNode.text().substring(0, 100));
38
36
  if (isAbstract) {
39
37
  allAbstractClasses.add(className);
40
38
  }
@@ -42,7 +40,7 @@ class ClassAnalyzer {
42
40
  }
43
41
  }
44
42
  catch (error) {
45
- one_logger_client_sdk_1.logger.warn(`Warning: Could not parse ${filePath}:`, { error });
43
+ logger_1.Logger.warn(`Warning: Could not parse ${filePath}:`, { error });
46
44
  }
47
45
  }
48
46
  // Second pass: Analyze each file using the cached ASTs and collected types
@@ -53,9 +51,11 @@ class ClassAnalyzer {
53
51
  allClasses.push(...classes);
54
52
  }
55
53
  }
56
- // Filter out classes that have zero dependencies and are not referenced by others
57
- const filteredClasses = this.filterUnusedClasses(allClasses);
58
- return filteredClasses;
54
+ // Don't filter out unused classes - we need ALL implementing classes for:
55
+ // 1. Duplicate interface detection
56
+ // 2. User might want to register services that aren't used yet
57
+ // 3. Entry points (controllers, etc.) might not be referenced
58
+ return allClasses;
59
59
  }
60
60
  async analyzeFile(filePath, allInterfaces, allClassNames, allAbstractClasses) {
61
61
  try {
@@ -63,7 +63,7 @@ class ClassAnalyzer {
63
63
  return await this.analyzeFileFromAST(filePath, root, allInterfaces, allClassNames, allAbstractClasses);
64
64
  }
65
65
  catch (error) {
66
- one_logger_client_sdk_1.logger.warn(`Warning: Could not parse ${filePath}:`, { error });
66
+ logger_1.Logger.warn(`Warning: Could not parse ${filePath}:`, { error });
67
67
  return [];
68
68
  }
69
69
  }
@@ -76,7 +76,7 @@ class ClassAnalyzer {
76
76
  const importMappings = this.astParser.extractImportMappings(root);
77
77
  // Extract JSDoc scope annotations at file level for this specific file
78
78
  const jsDocScopes = this.astParser.extractJSDocComments(root);
79
- one_logger_client_sdk_1.logger.log('JSDoc scopes for file', { filePath, jsDocScopes });
79
+ logger_1.Logger.debug('JSDoc scopes for file', { filePath, jsDocScopes });
80
80
  // Find all classes once and process them efficiently
81
81
  const allClassNodes = this.astParser.findAllClasses(root);
82
82
  const classNodesWithInterfaces = this.astParser.findClassesImplementingInterfaces(root);
@@ -100,16 +100,16 @@ class ClassAnalyzer {
100
100
  const scope = this.astParser.extractScopeFromJSDoc(className, jsDocScopes);
101
101
  const isAbstract = this.astParser.isAbstractClass(classNode);
102
102
  processedClassNames.add(className);
103
- one_logger_client_sdk_1.logger.log(`Processing class with interface: ${className}`);
104
- one_logger_client_sdk_1.logger.log(`Interface for ${className}:`, { interfaceName });
105
- one_logger_client_sdk_1.logger.log(`Constructor params for ${className}:`, { constructorParams });
106
- one_logger_client_sdk_1.logger.log(`Type aliases found:`, { count: Array.from(typeAliases.entries()) });
107
- one_logger_client_sdk_1.logger.log(`Dependencies for ${className}:`, { dependencies });
108
- one_logger_client_sdk_1.logger.log(`Scope for ${className}:`, { scope });
109
- one_logger_client_sdk_1.logger.log(`Is abstract: ${isAbstract}`);
103
+ logger_1.Logger.debug(`Processing class with interface: ${className}`);
104
+ logger_1.Logger.debug(`Interface for ${className}:`, { interfaceName });
105
+ logger_1.Logger.debug(`Constructor params for ${className}:`, { constructorParams });
106
+ logger_1.Logger.debug(`Type aliases found:`, { count: Array.from(typeAliases.entries()) });
107
+ logger_1.Logger.debug(`Dependencies for ${className}:`, { dependencies });
108
+ logger_1.Logger.debug(`Scope for ${className}:`, { scope });
109
+ logger_1.Logger.debug(`Is abstract: ${isAbstract}`);
110
110
  // Skip abstract classes - they cannot be instantiated
111
111
  if (isAbstract) {
112
- one_logger_client_sdk_1.logger.log(`Skipping abstract class: ${className} (abstract classes cannot be instantiated)`);
112
+ logger_1.Logger.debug(`Skipping abstract class: ${className} (abstract classes cannot be instantiated)`);
113
113
  continue;
114
114
  }
115
115
  classes.push({
@@ -131,8 +131,6 @@ class ClassAnalyzer {
131
131
  continue;
132
132
  // Check if the parent class is abstract using the global abstract classes set
133
133
  const isParentAbstract = allAbstractClasses.has(parentClassName);
134
- console.log(`DEBUG: Class ${className} extends ${parentClassName}. Is parent abstract? ${isParentAbstract}`);
135
- console.log(`DEBUG: All abstract classes:`, Array.from(allAbstractClasses));
136
134
  // Only process if parent is abstract
137
135
  if (isParentAbstract) {
138
136
  const constructorParams = this.astParser.extractConstructorParameters(classNode);
@@ -141,14 +139,14 @@ class ClassAnalyzer {
141
139
  const scope = this.astParser.extractScopeFromJSDoc(className, jsDocScopes);
142
140
  const isAbstract = this.astParser.isAbstractClass(classNode);
143
141
  processedClassNames.add(className);
144
- one_logger_client_sdk_1.logger.log(`Processing class extending ${isParentAbstract ? 'abstract ' : ''}class: ${className} extends ${parentClassName}`);
145
- one_logger_client_sdk_1.logger.log(`Constructor params for ${className}:`, { constructorParams });
146
- one_logger_client_sdk_1.logger.log(`Dependencies for ${className}:`, { dependencies });
147
- one_logger_client_sdk_1.logger.log(`Scope for ${className}:`, { scope });
148
- one_logger_client_sdk_1.logger.log(`Is abstract: ${isAbstract}`);
142
+ logger_1.Logger.debug(`Processing class extending ${isParentAbstract ? 'abstract ' : ''}class: ${className} extends ${parentClassName}`);
143
+ logger_1.Logger.debug(`Constructor params for ${className}:`, { constructorParams });
144
+ logger_1.Logger.debug(`Dependencies for ${className}:`, { dependencies });
145
+ logger_1.Logger.debug(`Scope for ${className}:`, { scope });
146
+ logger_1.Logger.debug(`Is abstract: ${isAbstract}`);
149
147
  // Skip abstract classes - they cannot be instantiated
150
148
  if (isAbstract) {
151
- one_logger_client_sdk_1.logger.log(`Skipping abstract class: ${className} (abstract classes cannot be instantiated)`);
149
+ logger_1.Logger.debug(`Skipping abstract class: ${className} (abstract classes cannot be instantiated)`);
152
150
  continue;
153
151
  }
154
152
  classes.push({
@@ -161,7 +159,7 @@ class ClassAnalyzer {
161
159
  importPath,
162
160
  scope
163
161
  });
164
- one_logger_client_sdk_1.logger.log(`Added class ${className} extending abstract class: ${parentClassName}`);
162
+ logger_1.Logger.debug(`Added class ${className} extending abstract class: ${parentClassName}`);
165
163
  }
166
164
  }
167
165
  // Process remaining classes without interfaces or inheritance
@@ -178,14 +176,14 @@ class ClassAnalyzer {
178
176
  const importPath = this.generateImportPath(filePath, className);
179
177
  const scope = this.astParser.extractScopeFromJSDoc(className, jsDocScopes);
180
178
  const isAbstract = this.astParser.isAbstractClass(classNode);
181
- one_logger_client_sdk_1.logger.log(`Processing class without interface: ${className}`);
182
- one_logger_client_sdk_1.logger.log(`Constructor params for ${className}:`, { constructorParams });
183
- one_logger_client_sdk_1.logger.log(`Dependencies for ${className}:`, { dependencies });
184
- one_logger_client_sdk_1.logger.log(`Scope for ${className}:`, { scope });
185
- one_logger_client_sdk_1.logger.log(`Is abstract: ${isAbstract}`);
179
+ logger_1.Logger.debug(`Processing class without interface: ${className}`);
180
+ logger_1.Logger.debug(`Constructor params for ${className}:`, { constructorParams });
181
+ logger_1.Logger.debug(`Dependencies for ${className}:`, { dependencies });
182
+ logger_1.Logger.debug(`Scope for ${className}:`, { scope });
183
+ logger_1.Logger.debug(`Is abstract: ${isAbstract}`);
186
184
  // Skip abstract classes - they cannot be instantiated
187
185
  if (isAbstract) {
188
- one_logger_client_sdk_1.logger.log(`Skipping abstract class: ${className} (abstract classes cannot be instantiated)`);
186
+ logger_1.Logger.debug(`Skipping abstract class: ${className} (abstract classes cannot be instantiated)`);
189
187
  continue;
190
188
  }
191
189
  classes.push({
@@ -201,7 +199,7 @@ class ClassAnalyzer {
201
199
  }
202
200
  }
203
201
  catch (error) {
204
- throw index_js_1.ErrorFactory.wrapError(error, index_js_1.IoCErrorCode.ANALYSIS_FAILED, { filePath });
202
+ throw errorFactory_1.ErrorFactory.wrapError(error, IoCError_1.IoCErrorCode.ANALYSIS_FAILED, { filePath });
205
203
  }
206
204
  return classes;
207
205
  }
@@ -216,9 +214,6 @@ class ClassAnalyzer {
216
214
  };
217
215
  })
218
216
  .filter(typeInfo => {
219
- console.log("all interfaces", allInterfaces);
220
- console.log("all classes", allClassNames);
221
- console.log("all abstract classes", allAbstractClasses);
222
217
  const isValidInterface = allInterfaces.has(typeInfo.resolvedType);
223
218
  const isValidClass = allClassNames.has(typeInfo.resolvedType);
224
219
  const isValidAbstractClass = allAbstractClasses?.has(typeInfo.resolvedType) || false;
@@ -259,11 +254,11 @@ class ClassAnalyzer {
259
254
  const shouldKeep = classInfo.dependencies.length > 0 || isClassReferenced || isInterfaceReferenced || isAbstractClassReferenced;
260
255
  // Debug logging removed for cleaner output
261
256
  if (!shouldKeep) {
262
- one_logger_client_sdk_1.logger.log(`Filtering out unused class: ${classInfo.name} (no dependencies and not referenced by others)`);
257
+ logger_1.Logger.debug(`Filtering out unused class: ${classInfo.name} (no dependencies and not referenced by others)`);
263
258
  }
264
259
  return shouldKeep;
265
260
  });
266
- one_logger_client_sdk_1.logger.log(`Filtered classes: ${classes.length} -> ${filteredClasses.length}`);
261
+ logger_1.Logger.debug(`Filtered classes: ${classes.length} -> ${filteredClasses.length}`);
267
262
  return filteredClasses;
268
263
  }
269
264
  generateImportPath(filePath, className) {
@@ -1 +1 @@
1
- {"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-discovery.d.ts","sourceRoot":"","sources":["../../src/analyser/file-discovery.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAW;gBAEtB,SAAS,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,EAAO;IAKvD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAiB/C"}
1
+ {"version":3,"file":"file-discovery.d.ts","sourceRoot":"","sources":["../../src/analyser/file-discovery.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAW;gBAEtB,SAAS,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,EAAO;IAKvD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAc/C"}
@@ -10,7 +10,6 @@ class FileDiscovery {
10
10
  }
11
11
  async findTypeScriptFiles() {
12
12
  const pattern = (0, path_1.join)(this.sourceDir, '**/*.ts');
13
- console.log(`Searching for TypeScript files with pattern: ${pattern}`);
14
13
  const files = await (0, glob_1.glob)(pattern, {
15
14
  ignore: [
16
15
  '**/node_modules/**',
@@ -21,8 +20,6 @@ class FileDiscovery {
21
20
  ...this.excludePatterns
22
21
  ]
23
22
  });
24
- console.log(`Found ${files.length} TypeScript files:`);
25
- files.forEach(file => console.log(` - ${file}`));
26
23
  return files;
27
24
  }
28
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-discovery.js","sourceRoot":"","sources":["../../src/analyser/file-discovery.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,MAAa,aAAa;IAIxB,YAAY,SAAiB,EAAE,kBAA4B,EAAE;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,gDAAgD,OAAO,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAC,OAAO,EAAE;YAChC,MAAM,EAAE;gBACN,oBAAoB;gBACpB,YAAY;gBACZ,WAAW;gBACX,cAAc;gBACd,cAAc;gBACd,GAAG,IAAI,CAAC,eAAe;aACxB;SACF,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACvD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA1BD,sCA0BC"}
1
+ {"version":3,"file":"file-discovery.js","sourceRoot":"","sources":["../../src/analyser/file-discovery.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,MAAa,aAAa;IAIxB,YAAY,SAAiB,EAAE,kBAA4B,EAAE;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAC,OAAO,EAAE;YAChC,MAAM,EAAE;gBACN,oBAAoB;gBACpB,YAAY;gBACZ,WAAW;gBACX,cAAc;gBACd,cAAc;gBACd,GAAG,IAAI,CAAC,eAAe;aACxB;SACF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAvBD,sCAuBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAMtD,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,eAAe;IAK9B,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAiB5C,OAAO,CAAC,sCAAsC;IA6C9C,OAAO,CAAC,qCAAqC;CA4C9C"}
1
+ {"version":3,"file":"project-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAOtD,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,eAAe;IAK9B,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAiB5C,OAAO,CAAC,sCAAsC;IA8C9C,OAAO,CAAC,qCAAqC;CA6C9C"}
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProjectAnalyzer = void 0;
4
4
  const class_analyzer_1 = require("./class-analyzer");
5
5
  const file_discovery_1 = require("./file-discovery");
6
- const index_js_1 = require("../errors/index.js");
6
+ const errorFactory_1 = require("../errors/errorFactory");
7
+ const IoCError_1 = require("../errors/IoCError");
7
8
  class ProjectAnalyzer {
8
9
  constructor(options) {
9
10
  this.fileDiscovery = new file_discovery_1.FileDiscovery(options.sourceDir, options.excludePatterns);
@@ -35,10 +36,11 @@ class ProjectAnalyzer {
35
36
  for (const [interfaceName, implementingClasses] of interfaceToClassMap) {
36
37
  if (implementingClasses.length > 1) {
37
38
  duplicateInterfaces.push(interfaceName);
38
- const error = index_js_1.ErrorFactory.duplicateInterfaceImplementation(interfaceName, implementingClasses.map(c => c.name));
39
- console.error(`āŒ ${index_js_1.ErrorUtils.formatForConsole(error)}`);
39
+ const error = errorFactory_1.ErrorFactory.duplicateInterfaceImplementation(interfaceName, implementingClasses.map(c => c.name));
40
+ const { Logger } = require('../utils/logger');
41
+ Logger.error(IoCError_1.ErrorUtils.formatForConsole(error));
40
42
  for (const classInfo of implementingClasses) {
41
- console.error(` • ${classInfo.name} (${classInfo.filePath})`);
43
+ Logger.log(` • ${classInfo.name} (${classInfo.filePath})`);
42
44
  }
43
45
  }
44
46
  }
@@ -49,7 +51,7 @@ class ProjectAnalyzer {
49
51
  allClassNames.push(...implementingClasses.map(c => c.name));
50
52
  }
51
53
  }
52
- throw index_js_1.ErrorFactory.duplicateInterfaceImplementation(duplicateInterfaces.join(', '), allClassNames);
54
+ throw errorFactory_1.ErrorFactory.duplicateInterfaceImplementation(duplicateInterfaces.join(', '), allClassNames);
53
55
  }
54
56
  }
55
57
  validateUniqueAbstractClassExtensions(classes) {
@@ -68,10 +70,11 @@ class ProjectAnalyzer {
68
70
  for (const [abstractClassName, extendingClasses] of abstractClassToClassMap) {
69
71
  if (extendingClasses.length > 1) {
70
72
  duplicateAbstractClasses.push(abstractClassName);
71
- const error = index_js_1.ErrorFactory.duplicateAbstractClassExtension(abstractClassName, extendingClasses.map(c => c.name));
72
- console.error(`āŒ Multiple classes extending abstract class: ${abstractClassName}`);
73
+ const error = errorFactory_1.ErrorFactory.duplicateAbstractClassExtension(abstractClassName, extendingClasses.map(c => c.name));
74
+ const { Logger } = require('../utils/logger');
75
+ Logger.error(`Multiple classes extending abstract class: ${abstractClassName}`);
73
76
  for (const classInfo of extendingClasses) {
74
- console.error(` • ${classInfo.name} (${classInfo.filePath})`);
77
+ Logger.log(` • ${classInfo.name} (${classInfo.filePath})`);
75
78
  }
76
79
  }
77
80
  }
@@ -82,7 +85,7 @@ class ProjectAnalyzer {
82
85
  allClassNames.push(...extendingClasses.map(c => c.name));
83
86
  }
84
87
  }
85
- throw index_js_1.ErrorFactory.duplicateAbstractClassExtension(duplicateAbstractClasses.join(', '), allClassNames);
88
+ throw errorFactory_1.ErrorFactory.duplicateAbstractClassExtension(duplicateAbstractClasses.join(', '), allClassNames);
86
89
  }
87
90
  }
88
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,qDAAiD;AACjD,iDAA8D;AAG9D,MAAa,eAAe;IAI1B,YAAY,OAAwB;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACnF,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;QAE/D,uEAAuE;QACvE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAGlE,gEAAgE;QAChE,IAAI,CAAC,sCAAsC,CAAC,UAAU,CAAC,CAAC;QAExD,kEAAkE;QAClE,IAAI,CAAC,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAEvD,OAAO,UAAU,CAAC;IACpB,CAAC;IAGO,sCAAsC,CAAC,OAAoB;QACjE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE3D,yCAAyC;QACzC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtD,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACvE,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,uBAAY,CAAC,gCAAgC,CACzD,aAAa,EACb,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,KAAK,qBAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzD,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;oBAC5C,OAAO,CAAC,KAAK,CAAC,QAAQ,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,KAAK,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBACvE,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,aAAa,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,MAAM,uBAAY,CAAC,gCAAgC,CACjD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9B,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,qCAAqC,CAAC,OAAoB;QAChE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE/D,8CAA8C;QAC9C,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBAChC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC9D,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,wBAAwB,GAAa,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,uBAAuB,EAAE,CAAC;YAC5E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,wBAAwB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,uBAAY,CAAC,+BAA+B,CACxD,iBAAiB,EACjB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAClC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,gDAAgD,iBAAiB,EAAE,CAAC,CAAC;gBACnF,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;oBACzC,OAAO,CAAC,KAAK,CAAC,QAAQ,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,KAAK,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,uBAAuB,EAAE,CAAC;gBAC5E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,aAAa,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAED,MAAM,uBAAY,CAAC,+BAA+B,CAChD,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAnHD,0CAmHC"}
1
+ {"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,cAAc,SA2FvB,CAAC"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,cAAc,SAkGvB,CAAC"}
@@ -5,17 +5,22 @@ const commander_1 = require("commander");
5
5
  const path_1 = require("path");
6
6
  const fs_1 = require("fs");
7
7
  const analyser_1 = require("../analyser");
8
- const generator_1 = require("../generator");
8
+ const circular_dependency_detector_1 = require("../utils/circular-dependency-detector");
9
9
  const configManager_1 = require("../utils/configManager");
10
10
  const configValidator_1 = require("../utils/configValidator");
11
- const index_js_1 = require("../errors/index.js");
11
+ const errorFactory_1 = require("../errors/errorFactory");
12
+ const IoCError_1 = require("../errors/IoCError");
13
+ const logger_1 = require("../utils/logger");
12
14
  exports.analyzeCommand = new commander_1.Command('analyze')
13
15
  .description('Analyze project and show detected classes without generating')
14
16
  .option('-s, --source <dir>', 'Source directory to scan', 'src')
15
17
  .option('-i, --interface <pattern>', 'Interface name pattern to match (regex)')
16
18
  .option('-e, --exclude <patterns...>', 'Exclude patterns for files')
19
+ .option('--verbose', 'Enable verbose logging')
17
20
  .action(async (options) => {
18
21
  try {
22
+ // Initialize logger
23
+ logger_1.Logger.initialize({ verbose: options.verbose ?? false });
19
24
  // Initialize config manager with the source directory
20
25
  const initialSourceDir = (0, path_1.resolve)(options.source);
21
26
  const configManager = new configManager_1.ConfigManager(initialSourceDir);
@@ -30,64 +35,66 @@ exports.analyzeCommand = new commander_1.Command('analyze')
30
35
  const mergedOptions = configManager.mergeWithCliOptions(options);
31
36
  const sourceDir = (0, path_1.resolve)(mergedOptions.source);
32
37
  if (!(0, fs_1.existsSync)(sourceDir)) {
33
- const error = index_js_1.ErrorFactory.sourceDirectoryNotFound(sourceDir);
34
- console.error(`āŒ ${index_js_1.ErrorUtils.formatForConsole(error)}`);
38
+ const error = errorFactory_1.ErrorFactory.sourceDirectoryNotFound(sourceDir);
39
+ logger_1.Logger.error(IoCError_1.ErrorUtils.formatForConsole(error));
35
40
  process.exit(1);
36
41
  }
37
42
  if (configManager.hasConfigFile()) {
38
- console.log(`šŸ“‹ Using config file: ${configManager.getConfigPath()}`);
43
+ logger_1.Logger.info(`Using config file: ${configManager.getConfigPath()}`);
39
44
  }
40
- console.log(`šŸ” Analyzing directory: ${sourceDir}`);
45
+ logger_1.Logger.custom('šŸ”', `Analyzing directory: ${sourceDir}`, logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
41
46
  const classes = await (0, analyser_1.analyzeProject)(sourceDir, {
42
47
  sourceDir,
43
48
  interfacePattern: mergedOptions.interface,
44
49
  excludePatterns: mergedOptions.exclude
45
50
  });
46
- console.log("---------------------------------------");
47
- console.dir(classes, { depth: 100 });
48
51
  if (classes.length === 0) {
49
- const error = index_js_1.ErrorFactory.noClassesFound(mergedOptions.interface || 'interfaces with "implements" keyword');
50
- console.error(`āŒ ${index_js_1.ErrorUtils.formatForConsole(error)}`);
52
+ const error = errorFactory_1.ErrorFactory.noClassesFound(mergedOptions.interface || 'interfaces with "implements" keyword');
53
+ logger_1.Logger.error(IoCError_1.ErrorUtils.formatForConsole(error));
51
54
  process.exit(1);
52
55
  return;
53
56
  }
54
- console.log(`\nšŸ“‹ Found ${classes.length} classes:\n`);
57
+ logger_1.Logger.newline();
58
+ logger_1.Logger.custom('šŸ“‹', `Found ${classes.length} classes:`, logger_1.Logger.getColors().blue + logger_1.Logger.getColors().bright);
59
+ logger_1.Logger.newline();
55
60
  classes.forEach(cls => {
56
- console.log(`šŸ“¦ ${cls.name}`);
57
- console.log(` File: ${cls.filePath}`);
61
+ logger_1.Logger.custom('šŸ“¦', cls.name, logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
62
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` File: ${cls.filePath}`, logger_1.Logger.getColors().gray));
58
63
  if (cls.interfaceName) {
59
- console.log(` Implements: ${cls.interfaceName}`);
64
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` Implements: ${cls.interfaceName}`, logger_1.Logger.getColors().yellow));
60
65
  }
61
66
  if (cls.abstractClassName) {
62
- console.log(` Extends: ${cls.abstractClassName} (abstract)`);
67
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` Extends: ${cls.abstractClassName} (abstract)`, logger_1.Logger.getColors().magenta));
63
68
  }
64
69
  if (cls.dependencies.length > 0) {
65
- console.log(` Dependencies: ${cls.dependencies.map(dep => dep.name).join(', ')}`);
70
+ const deps = cls.dependencies.map(dep => dep.name).join(', ');
71
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` Dependencies: ${deps}`, logger_1.Logger.getColors().blue));
66
72
  }
67
73
  else {
68
- console.log(` Dependencies: none`);
74
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` Dependencies: none`, logger_1.Logger.getColors().gray));
69
75
  }
70
- console.log('');
76
+ logger_1.Logger.newline();
71
77
  });
72
78
  // Check for circular dependencies
73
- const cycles = (0, generator_1.detectCircularDependencies)(classes);
79
+ const cycles = circular_dependency_detector_1.CircularDependencyDetector.detect(classes);
74
80
  if (cycles.length > 0) {
75
- console.log('āš ļø Circular dependencies detected:');
81
+ logger_1.Logger.warn('Circular dependencies detected:');
76
82
  cycles.forEach((cycle, index) => {
77
- console.log(` ${index + 1}. ${cycle.join(' → ')}`);
83
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` ${index + 1}. ${cycle.join(' → ')}`, logger_1.Logger.getColors().red));
78
84
  });
79
85
  }
80
86
  else {
81
- console.log('āœ… No circular dependencies found.');
87
+ logger_1.Logger.success('No circular dependencies found.');
82
88
  }
89
+ process.exit(0);
83
90
  }
84
91
  catch (error) {
85
- if (index_js_1.ErrorUtils.isIoCError(error)) {
86
- console.error(`āŒ ${index_js_1.ErrorUtils.formatForConsole(error)}`);
92
+ if (IoCError_1.ErrorUtils.isIoCError(error)) {
93
+ logger_1.Logger.error(IoCError_1.ErrorUtils.formatForConsole(error));
87
94
  }
88
95
  else {
89
- const wrappedError = index_js_1.ErrorFactory.unexpectedError(error);
90
- console.error(`āŒ ${index_js_1.ErrorUtils.formatForConsole(wrappedError)}`);
96
+ const wrappedError = errorFactory_1.ErrorFactory.unexpectedError(error);
97
+ logger_1.Logger.error(IoCError_1.ErrorUtils.formatForConsole(wrappedError));
91
98
  }
92
99
  process.exit(1);
93
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,eAAe,SAwKxB,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,eAAe,SAqLxB,CAAC"}