@notjustcoders/ioc-arise 1.0.12 → 1.1.1

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 (52) hide show
  1. package/dist/analyser/ast-parser.d.ts.map +1 -1
  2. package/dist/analyser/ast-parser.js +9 -3
  3. package/dist/analyser/ast-parser.js.map +1 -1
  4. package/dist/analyser/class-analyzer.d.ts.map +1 -1
  5. package/dist/analyser/class-analyzer.js +2 -1
  6. package/dist/analyser/class-analyzer.js.map +1 -1
  7. package/dist/analyser/project-analyzer.d.ts.map +1 -1
  8. package/dist/analyser/project-analyzer.js +11 -4
  9. package/dist/analyser/project-analyzer.js.map +1 -1
  10. package/dist/commands/analyze.d.ts.map +1 -1
  11. package/dist/commands/analyze.js +33 -10
  12. package/dist/commands/analyze.js.map +1 -1
  13. package/dist/commands/generate.d.ts.map +1 -1
  14. package/dist/commands/generate.js +37 -23
  15. package/dist/commands/generate.js.map +1 -1
  16. package/dist/commands/visualize.d.ts.map +1 -1
  17. package/dist/commands/visualize.js +30 -5
  18. package/dist/commands/visualize.js.map +1 -1
  19. package/dist/errors/IoCError.d.ts +107 -0
  20. package/dist/errors/IoCError.d.ts.map +1 -0
  21. package/dist/errors/IoCError.js +177 -0
  22. package/dist/errors/IoCError.js.map +1 -0
  23. package/dist/errors/errorFactory.d.ts +33 -0
  24. package/dist/errors/errorFactory.d.ts.map +1 -0
  25. package/dist/errors/errorFactory.js +165 -0
  26. package/dist/errors/errorFactory.js.map +1 -0
  27. package/dist/errors/index.d.ts +44 -0
  28. package/dist/errors/index.d.ts.map +1 -0
  29. package/dist/errors/index.js +80 -0
  30. package/dist/errors/index.js.map +1 -0
  31. package/dist/generator/file-writer.d.ts.map +1 -1
  32. package/dist/generator/file-writer.js +11 -5
  33. package/dist/generator/file-writer.js.map +1 -1
  34. package/dist/generator/modular/modular-container-generator.d.ts.map +1 -1
  35. package/dist/generator/modular/modular-container-generator.js +11 -2
  36. package/dist/generator/modular/modular-container-generator.js.map +1 -1
  37. package/dist/generator/modular/split-file-writer.d.ts +4 -4
  38. package/dist/generator/modular/split-file-writer.d.ts.map +1 -1
  39. package/dist/generator/modular/split-file-writer.js +15 -4
  40. package/dist/generator/modular/split-file-writer.js.map +1 -1
  41. package/dist/utils/configManager.d.ts.map +1 -1
  42. package/dist/utils/configManager.js +10 -2
  43. package/dist/utils/configManager.js.map +1 -1
  44. package/dist/utils/configValidator.d.ts +30 -0
  45. package/dist/utils/configValidator.d.ts.map +1 -0
  46. package/dist/utils/configValidator.js +125 -0
  47. package/dist/utils/configValidator.js.map +1 -0
  48. package/dist/utils/moduleResolver.d.ts +2 -1
  49. package/dist/utils/moduleResolver.d.ts.map +1 -1
  50. package/dist/utils/moduleResolver.js +5 -4
  51. package/dist/utils/moduleResolver.js.map +1 -1
  52. package/package.json +4 -4
@@ -3,16 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FileWriter = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
+ const index_js_1 = require("../errors/index.js");
6
7
  class FileWriter {
7
8
  constructor(outputPath) {
8
9
  this.outputPath = outputPath;
9
10
  }
10
11
  writeContainer(content) {
11
- // Ensure output directory exists
12
- const outputDir = (0, path_1.dirname)(this.outputPath);
13
- (0, fs_1.mkdirSync)(outputDir, { recursive: true });
14
- // Write the container file
15
- (0, fs_1.writeFileSync)(this.outputPath, content, 'utf-8');
12
+ try {
13
+ // Ensure output directory exists
14
+ const outputDir = (0, path_1.dirname)(this.outputPath);
15
+ (0, fs_1.mkdirSync)(outputDir, { recursive: true });
16
+ // Write the container file
17
+ (0, fs_1.writeFileSync)(this.outputPath, content, 'utf-8');
18
+ }
19
+ catch (error) {
20
+ throw index_js_1.ErrorFactory.fileWriteError(this.outputPath, error instanceof Error ? error.message : String(error));
21
+ }
16
22
  }
17
23
  getOutputPath() {
18
24
  return this.outputPath;
@@ -1 +1 @@
1
- {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/generator/file-writer.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA+B;AAE/B,MAAa,UAAU;IAGrB,YAAY,UAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAA,cAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,2BAA2B;QAC3B,IAAA,kBAAa,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAnBD,gCAmBC"}
1
+ {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/generator/file-writer.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA+B;AAC/B,iDAAkD;AAElD,MAAa,UAAU;IAGrB,YAAY,UAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAA,cAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE1C,2BAA2B;YAC3B,IAAA,kBAAa,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,uBAAY,CAAC,cAAc,CAC/B,IAAI,CAAC,UAAU,EACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AA1BD,gCA0BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modular-container-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/modular-container-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IACnE,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,gCAAgC,CAAmC;IAC3E,OAAO,CAAC,4BAA4B,CAA+B;IACnE,OAAO,CAAC,mBAAmB,CAAsB;gBAG/C,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,wBAAwB,EAAE,wBAAwB,EAClD,eAAe,EAAE,eAAe,EAChC,gCAAgC,EAAE,gCAAgC,EAClE,4BAA4B,EAAE,4BAA4B,EAC1D,mBAAmB,EAAE,mBAAmB;IAU1C,QAAQ,IAAI,IAAI;IA0BhB,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM;IAehH,OAAO,CAAC,wBAAwB;IAOhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAY3B"}
1
+ {"version":3,"file":"modular-container-generator.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/modular-container-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IACnE,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,gCAAgC,CAAmC;IAC3E,OAAO,CAAC,4BAA4B,CAA+B;IACnE,OAAO,CAAC,mBAAmB,CAAsB;gBAG/C,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,wBAAwB,EAAE,wBAAwB,EAClD,eAAe,EAAE,eAAe,EAChC,gCAAgC,EAAE,gCAAgC,EAClE,4BAA4B,EAAE,4BAA4B,EAC1D,mBAAmB,EAAE,mBAAmB;IAU1C,QAAQ,IAAI,IAAI;IAyChB,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM;IAehH,OAAO,CAAC,wBAAwB;IAOhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAY3B"}
@@ -4,6 +4,7 @@ exports.ModularContainerGenerator = void 0;
4
4
  const dependency_resolver_1 = require("../../analyser/dependency-resolver");
5
5
  const base_container_generator_1 = require("../base-container-generator");
6
6
  const split_file_writer_1 = require("./split-file-writer");
7
+ const index_js_1 = require("../../errors/index.js");
7
8
  /**
8
9
  * Generator for modular container structure.
9
10
  * Handles module-based dependency injection with inter-module dependencies.
@@ -21,14 +22,22 @@ class ModularContainerGenerator extends base_container_generator_1.BaseContainer
21
22
  // First, check for module-level cycles
22
23
  const moduleResult = this.moduleDependencyResolver.resolve();
23
24
  if (moduleResult.cycles.length > 0) {
24
- throw new Error(`Circular dependencies detected between modules: ${JSON.stringify(moduleResult.cycles)}`);
25
+ const cycleDescription = moduleResult.cycles.map(cycle => cycle.join(' -> ')).join('; ');
26
+ throw index_js_1.ErrorFactory.circularDependency('modules', moduleResult.cycles.flat());
25
27
  }
26
28
  // Then resolve class-level dependencies within each module
27
29
  const allClasses = Array.from(this.moduleGroupedClasses.values()).flat();
28
30
  const dependencyResolver = new dependency_resolver_1.DependencyResolver(allClasses);
29
31
  const sortResult = dependencyResolver.resolve();
30
32
  if (sortResult.cycles.length > 0) {
31
- throw new Error(`Circular dependencies detected within classes: ${JSON.stringify(sortResult.cycles)}`);
33
+ const firstCycle = sortResult.cycles[0];
34
+ if (firstCycle && firstCycle.length > 0) {
35
+ const className = firstCycle[0] || 'unknown';
36
+ throw index_js_1.ErrorFactory.circularDependency(className, firstCycle);
37
+ }
38
+ else {
39
+ throw index_js_1.ErrorFactory.generationFailed('Circular dependencies detected but cycle information is incomplete');
40
+ }
32
41
  }
33
42
  // Check if we need to split files (more than 2 modules)
34
43
  if (moduleResult.sortedModules.length >= 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"modular-container-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/modular-container-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modular-container-generator.js","sourceRoot":"","sources":["../../../src/generator/modular/modular-container-generator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ClassInfo } from '../../types';
2
- import { ImportGenerator } from '../import-generator';
3
- import { ModuleContainerFunctionGenerator } from './module-container-function-generator';
4
- import { ModuleInstantiationGenerator } from './module-instantiation-generator';
1
+ import { ClassInfo } from '../../types.js';
2
+ import { ImportGenerator } from '../import-generator.js';
3
+ import { ModuleContainerFunctionGenerator } from './module-container-function-generator.js';
4
+ import { ModuleInstantiationGenerator } from './module-instantiation-generator.js';
5
5
  /**
6
6
  * Handles writing split module files when there are more than 3 modules.
7
7
  * Each module gets its own <moduleName>.gen.ts file, plus a main container.gen.ts aggregator.
@@ -1 +1 @@
1
- {"version":3,"file":"split-file-writer.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,MAAM;IAK9B;;OAEG;IACH,iBAAiB,CACf,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC5C,gCAAgC,EAAE,gCAAgC,EAClE,4BAA4B,EAAE,4BAA4B,EAC1D,qBAAqB,EAAE,eAAe,GACrC,IAAI;IA2BP;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAgCrC;;OAEG;IACH,OAAO,CAAC,yCAAyC;IAyBjD;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAU3C;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"split-file-writer.d.ts","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,MAAM;IAK9B;;OAEG;IACH,iBAAiB,CACf,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC5C,gCAAgC,EAAE,gCAAgC,EAClE,4BAA4B,EAAE,4BAA4B,EAC1D,qBAAqB,EAAE,eAAe,GACrC,IAAI;IAyCP;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAgCrC;;OAEG;IACH,OAAO,CAAC,yCAAyC;IAyBjD;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAU3C;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB"}
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SplitFileWriter = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
- const import_generator_1 = require("../import-generator");
6
+ const index_js_1 = require("../../errors/index.js");
7
+ const import_generator_js_1 = require("../import-generator.js");
7
8
  /**
8
9
  * Handles writing split module files when there are more than 3 modules.
9
10
  * Each module gets its own <moduleName>.gen.ts file, plus a main container.gen.ts aggregator.
@@ -26,18 +27,28 @@ class SplitFileWriter {
26
27
  continue;
27
28
  const moduleFilePath = (0, path_1.join)(this.outputDir, `${moduleName}.gen.ts`);
28
29
  const moduleContent = this.generateModuleFileContent(moduleName, moduleClasses, moduleDependencies, moduleContainerFunctionGenerator, moduleInstantiationGenerator, globalImportGenerator);
29
- (0, fs_1.writeFileSync)(moduleFilePath, moduleContent, 'utf-8');
30
+ try {
31
+ (0, fs_1.writeFileSync)(moduleFilePath, moduleContent, 'utf-8');
32
+ }
33
+ catch (error) {
34
+ throw index_js_1.ErrorFactory.fileWriteError(moduleFilePath, error instanceof Error ? error.message : String(error));
35
+ }
30
36
  }
31
37
  // Write main aggregator file
32
38
  const aggregatorContent = this.generateAggregatorFileContent(sortedModules, moduleDependencies);
33
- (0, fs_1.writeFileSync)(this.outputPath, aggregatorContent, 'utf-8');
39
+ try {
40
+ (0, fs_1.writeFileSync)(this.outputPath, aggregatorContent, 'utf-8');
41
+ }
42
+ catch (error) {
43
+ throw index_js_1.ErrorFactory.fileWriteError(this.outputPath, error instanceof Error ? error.message : String(error));
44
+ }
34
45
  }
35
46
  /**
36
47
  * Generates content for an individual module file.
37
48
  */
38
49
  generateModuleFileContent(moduleName, moduleClasses, moduleDependencies, moduleContainerFunctionGenerator, moduleInstantiationGenerator, globalImportGenerator) {
39
50
  // Create a module-specific import generator
40
- const moduleImportGenerator = new import_generator_1.ImportGenerator(moduleClasses);
51
+ const moduleImportGenerator = new import_generator_js_1.ImportGenerator(moduleClasses);
41
52
  const moduleImports = moduleImportGenerator.generateImports();
42
53
  // Generate module container function
43
54
  const moduleContainerFunctions = moduleContainerFunctionGenerator.generateModuleContainerFunctions([moduleName], moduleDependencies);
@@ -1 +1 @@
1
- {"version":3,"file":"split-file-writer.js","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split-file-writer.js","sourceRoot":"","sources":["../../../src/generator/modular/split-file-writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../src/utils/configManager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACpC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAC7D,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,SAAS,EAAE,MAAM;IAM7B,OAAO,CAAC,UAAU;IAaX,SAAS,IAAI,SAAS;IAItB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS;IAa/C,aAAa,IAAI,OAAO;IAIxB,aAAa,IAAI,MAAM;CAG/B"}
1
+ {"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../src/utils/configManager.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACpC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAC7D,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,SAAS,EAAE,MAAM;IAM7B,OAAO,CAAC,UAAU;IAyBX,SAAS,IAAI,SAAS;IAItB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS;IAa/C,aAAa,IAAI,OAAO;IAIxB,aAAa,IAAI,MAAM;CAG/B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigManager = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
+ const index_js_1 = require("../errors/index.js");
6
7
  class ConfigManager {
7
8
  constructor(sourceDir) {
8
9
  this.config = {};
@@ -17,8 +18,15 @@ class ConfigManager {
17
18
  this.config = JSON.parse(configContent);
18
19
  }
19
20
  catch (error) {
20
- console.warn(`⚠️ Warning: Failed to parse config file at ${this.configPath}`);
21
- console.warn(` Using default configuration. Error: ${error instanceof Error ? error.message : error}`);
21
+ if (error instanceof SyntaxError) {
22
+ const parseError = index_js_1.ErrorFactory.configParseError(this.configPath, error.message);
23
+ console.warn(`⚠️ Warning: ${index_js_1.ErrorUtils.formatForConsole(parseError)}`);
24
+ }
25
+ else {
26
+ const readError = index_js_1.ErrorFactory.fileReadError(this.configPath, error instanceof Error ? error.message : String(error));
27
+ console.warn(`⚠️ Warning: ${index_js_1.ErrorUtils.formatForConsole(readError)}`);
28
+ }
29
+ console.warn(' Using default configuration.');
22
30
  this.config = {};
23
31
  }
24
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/utils/configManager.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAwC;AAYxC,MAAa,aAAa;IAKxB,YAAY,SAAiB;QAHrB,WAAM,GAAc,EAAE,CAAC;QAI7B,4DAA4D;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,+CAA+C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAEM,mBAAmB,CAAC,UAAe;QACxC,+CAA+C;QAC/C,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK;YACxD,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,kBAAkB;YACrE,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;YACxD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAClD,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK;YACvE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK;YAC3D,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;SACnD,CAAC;IACJ,CAAC;IAEM,aAAa;QAClB,OAAO,IAAA,eAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;;AA/CH,sCAgDC;AA/CyB,8BAAgB,GAAG,iBAAiB,AAApB,CAAqB"}
1
+ {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/utils/configManager.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAwC;AACxC,iDAA8D;AAY9D,MAAa,aAAa;IAKxB,YAAY,SAAiB;QAHrB,WAAM,GAAc,EAAE,CAAC;QAI7B,4DAA4D;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;oBACjC,MAAM,UAAU,GAAG,uBAAY,CAAC,gBAAgB,CAC9C,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,OAAO,CACd,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,gBAAgB,qBAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,uBAAY,CAAC,aAAa,CAC1C,IAAI,CAAC,UAAU,EACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,gBAAgB,qBAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAEM,mBAAmB,CAAC,UAAe;QACxC,+CAA+C;QAC/C,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK;YACxD,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,kBAAkB;YACrE,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;YACxD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAClD,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK;YACvE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK;YAC3D,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;SACnD,CAAC;IACJ,CAAC;IAEM,aAAa;QAClB,OAAO,IAAA,eAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;;AA3DH,sCA4DC;AA3DyB,8BAAgB,GAAG,iBAAiB,AAApB,CAAqB"}
@@ -0,0 +1,30 @@
1
+ import { IoCConfig } from './configManager';
2
+ import { IoCError } from '../errors/index.js';
3
+ export interface ValidationResult {
4
+ isValid: boolean;
5
+ errors: IoCError[];
6
+ warnings: string[];
7
+ }
8
+ export declare class ConfigValidator {
9
+ /**
10
+ * Validates the complete IoC configuration
11
+ * @param config The configuration to validate
12
+ * @returns Validation result with errors and warnings
13
+ */
14
+ static validateConfig(config: IoCConfig): ValidationResult;
15
+ /**
16
+ * Validates configuration and logs results
17
+ * @param config The configuration to validate
18
+ * @param configPath Optional path to config file for better error messages
19
+ * @returns true if valid, false otherwise
20
+ */
21
+ static validateAndLog(config: IoCConfig, configPath?: string): boolean;
22
+ /**
23
+ * Validates specific configuration properties
24
+ * @param config The configuration to validate
25
+ * @param properties Array of property names to validate
26
+ * @returns Validation result for specified properties only
27
+ */
28
+ static validateProperties(config: IoCConfig, properties: (keyof IoCConfig)[]): ValidationResult;
29
+ }
30
+ //# sourceMappingURL=configValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAA0D,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEtG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,eAAe;IAC1B;;;;OAIG;WACW,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB;IA8EjE;;;;;OAKG;WACW,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAuB7E;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,gBAAgB;CAqBvG"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigValidator = void 0;
4
+ const moduleResolver_1 = require("./moduleResolver");
5
+ const index_js_1 = require("../errors/index.js");
6
+ class ConfigValidator {
7
+ /**
8
+ * Validates the complete IoC configuration
9
+ * @param config The configuration to validate
10
+ * @returns Validation result with errors and warnings
11
+ */
12
+ static validateConfig(config) {
13
+ const errors = [];
14
+ const warnings = [];
15
+ // Validate source directory
16
+ if (config.source !== undefined) {
17
+ if (typeof config.source !== 'string' || config.source.trim() === '') {
18
+ errors.push(index_js_1.ErrorFactory.configValidationError('source', config.source, 'non-empty string'));
19
+ }
20
+ }
21
+ // Validate output file
22
+ if (config.output !== undefined) {
23
+ if (typeof config.output !== 'string' || config.output.trim() === '') {
24
+ errors.push(index_js_1.ErrorFactory.configValidationError('output', config.output, 'non-empty string'));
25
+ }
26
+ else if (!config.output.endsWith('.ts') && !config.output.endsWith('.js')) {
27
+ warnings.push('Output file should have .ts or .js extension');
28
+ }
29
+ }
30
+ // Validate interface pattern
31
+ if (config.interface !== undefined) {
32
+ if (typeof config.interface !== 'string') {
33
+ errors.push(index_js_1.ErrorFactory.configValidationError('interface', config.interface, 'string'));
34
+ }
35
+ else {
36
+ try {
37
+ new RegExp(config.interface);
38
+ }
39
+ catch (error) {
40
+ errors.push(index_js_1.ErrorFactory.validationError(`Invalid interface pattern regex: ${config.interface}`, { configProperty: 'interface' }));
41
+ }
42
+ }
43
+ }
44
+ // Validate exclude patterns
45
+ if (config.exclude !== undefined) {
46
+ if (!Array.isArray(config.exclude)) {
47
+ errors.push(index_js_1.ErrorFactory.configValidationError('exclude', config.exclude, 'array'));
48
+ }
49
+ else {
50
+ config.exclude.forEach((pattern, index) => {
51
+ if (typeof pattern !== 'string') {
52
+ errors.push(index_js_1.ErrorFactory.validationError(`Exclude pattern at index ${index} must be a string`, { configProperty: 'exclude' }));
53
+ }
54
+ });
55
+ }
56
+ }
57
+ // Validate boolean flags
58
+ if (config.checkCycles !== undefined && typeof config.checkCycles !== 'boolean') {
59
+ errors.push(index_js_1.ErrorFactory.configValidationError('checkCycles', config.checkCycles, 'boolean'));
60
+ }
61
+ if (config.verbose !== undefined && typeof config.verbose !== 'boolean') {
62
+ errors.push(index_js_1.ErrorFactory.configValidationError('verbose', config.verbose, 'boolean'));
63
+ }
64
+ // Validate modules configuration
65
+ if (config.modules !== undefined) {
66
+ if (typeof config.modules !== 'object' || config.modules === null || Array.isArray(config.modules)) {
67
+ errors.push(index_js_1.ErrorFactory.configValidationError('modules', config.modules, 'object'));
68
+ }
69
+ else {
70
+ const moduleErrors = moduleResolver_1.ModuleResolver.validateModuleConfig(config.modules);
71
+ errors.push(...moduleErrors);
72
+ }
73
+ }
74
+ return {
75
+ isValid: errors.length === 0,
76
+ errors,
77
+ warnings
78
+ };
79
+ }
80
+ /**
81
+ * Validates configuration and logs results
82
+ * @param config The configuration to validate
83
+ * @param configPath Optional path to config file for better error messages
84
+ * @returns true if valid, false otherwise
85
+ */
86
+ static validateAndLog(config, configPath) {
87
+ const result = this.validateConfig(config);
88
+ if (result.warnings.length > 0) {
89
+ console.warn('⚠️ Configuration warnings:');
90
+ result.warnings.forEach(warning => {
91
+ console.warn(` ${warning}`);
92
+ });
93
+ }
94
+ if (!result.isValid) {
95
+ const configSource = configPath ? ` in ${configPath}` : '';
96
+ console.error(`❌ Configuration validation failed${configSource}`);
97
+ console.error('\n Validation errors:');
98
+ result.errors.forEach(error => {
99
+ console.error(` • ${index_js_1.ErrorUtils.formatForConsole(error)}`);
100
+ });
101
+ return false;
102
+ }
103
+ return true;
104
+ }
105
+ /**
106
+ * Validates specific configuration properties
107
+ * @param config The configuration to validate
108
+ * @param properties Array of property names to validate
109
+ * @returns Validation result for specified properties only
110
+ */
111
+ static validateProperties(config, properties) {
112
+ const fullResult = this.validateConfig(config);
113
+ // Filter errors and warnings to only include those related to specified properties
114
+ const filteredErrors = fullResult.errors.filter(error => properties.some(prop => error.context?.configProperty === prop ||
115
+ error.message.toLowerCase().includes(prop.toLowerCase())));
116
+ const filteredWarnings = fullResult.warnings.filter(warning => properties.some(prop => warning.toLowerCase().includes(prop.toLowerCase())));
117
+ return {
118
+ isValid: filteredErrors.length === 0,
119
+ errors: filteredErrors,
120
+ warnings: filteredWarnings
121
+ };
122
+ }
123
+ }
124
+ exports.ConfigValidator = ConfigValidator;
125
+ //# sourceMappingURL=configValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ClassInfo } from '../types';
2
+ import { IoCError } from '../errors/index.js';
2
3
  export declare class ModuleResolver {
3
4
  private moduleConfig;
4
5
  private sourceDirectory;
@@ -33,6 +34,6 @@ export declare class ModuleResolver {
33
34
  * @param moduleConfig - Module configuration to validate
34
35
  * @returns Array of validation errors
35
36
  */
36
- static validateModuleConfig(moduleConfig: Record<string, string[]>): string[];
37
+ static validateModuleConfig(moduleConfig: Record<string, string[]>): IoCError[];
37
38
  }
38
39
  //# sourceMappingURL=moduleResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAAS;gBAEpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM;IAK3E;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAcxD;;;;OAIG;IACI,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAgB3E;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;OAIG;WACW,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE;CAkCrF"}
1
+ {"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAgB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAAS;gBAEpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM;IAK3E;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAcxD;;;;OAIG;IACI,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAgB3E;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;OAIG;WACW,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE;CAkCvF"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleResolver = void 0;
4
4
  const minimatch_1 = require("minimatch");
5
5
  const path_1 = require("path");
6
+ const index_js_1 = require("../errors/index.js");
6
7
  class ModuleResolver {
7
8
  constructor(moduleConfig, sourceDirectory) {
8
9
  this.moduleConfig = moduleConfig;
@@ -79,22 +80,22 @@ class ModuleResolver {
79
80
  for (const [moduleName, patterns] of Object.entries(moduleConfig)) {
80
81
  // Validate module name
81
82
  if (!moduleName || typeof moduleName !== 'string') {
82
- errors.push(`Invalid module name: ${moduleName}`);
83
+ errors.push(index_js_1.ErrorFactory.moduleConfigInvalid(moduleName, 'Invalid module name'));
83
84
  continue;
84
85
  }
85
86
  // Validate patterns
86
87
  if (!Array.isArray(patterns)) {
87
- errors.push(`Module "${moduleName}" patterns must be an array`);
88
+ errors.push(index_js_1.ErrorFactory.moduleConfigInvalid(moduleName, 'patterns must be an array'));
88
89
  continue;
89
90
  }
90
91
  for (const pattern of patterns) {
91
92
  if (typeof pattern !== 'string') {
92
- errors.push(`Module "${moduleName}" contains invalid pattern: ${pattern}`);
93
+ errors.push(index_js_1.ErrorFactory.moduleConfigInvalid(moduleName, `contains invalid pattern: ${pattern}`));
93
94
  continue;
94
95
  }
95
96
  // Check for duplicate patterns
96
97
  if (allPatterns.has(pattern)) {
97
- errors.push(`Duplicate pattern "${pattern}" found in module "${moduleName}"`);
98
+ errors.push(index_js_1.ErrorFactory.modulePatternInvalid(pattern, moduleName));
98
99
  }
99
100
  else {
100
101
  allPatterns.add(pattern);
@@ -1 +1 @@
1
- {"version":3,"file":"moduleResolver.js","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,+BAA2C;AAG3C,MAAa,cAAc;IAIzB,YAAY,YAAsC,EAAE,eAAuB;QACzE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAA,gBAAS,EAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,QAAgB;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEtD,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,iCAAiC;IAChD,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,OAAoB;QAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;YAE7E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,QAAgB,EAAE,OAAe;QACtD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,qBAAqB;YACrB,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;QACpE,CAAC;QAED,uBAAuB;QACvB,OAAO,IAAA,qBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,QAAgB;QACxC,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAA,gBAAS,EAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,oBAAoB,CAAC,YAAsC;QACvE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAClE,uBAAuB;YACvB,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,6BAA6B,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,+BAA+B,OAAO,EAAE,CAAC,CAAC;oBAC3E,SAAS;gBACX,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,sBAAsB,OAAO,sBAAsB,UAAU,GAAG,CAAC,CAAC;gBAChF,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxHD,wCAwHC"}
1
+ {"version":3,"file":"moduleResolver.js","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@notjustcoders/ioc-arise",
3
- "version": "1.0.12",
4
- "description": "A CLI tool to generate type-safe IoC containers for TypeScript projects with automatic dependency injection",
3
+ "version": "1.1.1",
4
+ "description": "Arise type-safe IoC containers from your code. Zero overhead, zero coupling.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "ioc-arise": "dist/index.js"
@@ -13,11 +13,11 @@
13
13
  ],
14
14
  "repository": {
15
15
  "type": "git",
16
- "url": "https://github.com/your-username/ioc-arise.git"
16
+ "url": "https://github.com/stormsidali2001/ioc-arise"
17
17
  },
18
18
  "homepage": "https://ioc-arise.notjustcoders.com",
19
19
  "bugs": {
20
- "url": "https://github.com/your-username/ioc-arise/issues"
20
+ "url": "https://github.com/stormsidali2001/ioc-arise/issues"
21
21
  },
22
22
  "keywords": [
23
23
  "ioc",