@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.
- package/dist/analyser/ast-parser.d.ts.map +1 -1
- package/dist/analyser/ast-parser.js +9 -3
- package/dist/analyser/ast-parser.js.map +1 -1
- package/dist/analyser/class-analyzer.d.ts.map +1 -1
- package/dist/analyser/class-analyzer.js +2 -1
- package/dist/analyser/class-analyzer.js.map +1 -1
- package/dist/analyser/project-analyzer.d.ts.map +1 -1
- package/dist/analyser/project-analyzer.js +11 -4
- package/dist/analyser/project-analyzer.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +33 -10
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +37 -23
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/visualize.d.ts.map +1 -1
- package/dist/commands/visualize.js +30 -5
- package/dist/commands/visualize.js.map +1 -1
- package/dist/errors/IoCError.d.ts +107 -0
- package/dist/errors/IoCError.d.ts.map +1 -0
- package/dist/errors/IoCError.js +177 -0
- package/dist/errors/IoCError.js.map +1 -0
- package/dist/errors/errorFactory.d.ts +33 -0
- package/dist/errors/errorFactory.d.ts.map +1 -0
- package/dist/errors/errorFactory.js +165 -0
- package/dist/errors/errorFactory.js.map +1 -0
- package/dist/errors/index.d.ts +44 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +80 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generator/file-writer.d.ts.map +1 -1
- package/dist/generator/file-writer.js +11 -5
- package/dist/generator/file-writer.js.map +1 -1
- package/dist/generator/modular/modular-container-generator.d.ts.map +1 -1
- package/dist/generator/modular/modular-container-generator.js +11 -2
- package/dist/generator/modular/modular-container-generator.js.map +1 -1
- package/dist/generator/modular/split-file-writer.d.ts +4 -4
- package/dist/generator/modular/split-file-writer.d.ts.map +1 -1
- package/dist/generator/modular/split-file-writer.js +15 -4
- package/dist/generator/modular/split-file-writer.js.map +1 -1
- package/dist/utils/configManager.d.ts.map +1 -1
- package/dist/utils/configManager.js +10 -2
- package/dist/utils/configManager.js.map +1 -1
- package/dist/utils/configValidator.d.ts +30 -0
- package/dist/utils/configValidator.d.ts.map +1 -0
- package/dist/utils/configValidator.js +125 -0
- package/dist/utils/configValidator.js.map +1 -0
- package/dist/utils/moduleResolver.d.ts +2 -1
- package/dist/utils/moduleResolver.d.ts.map +1 -1
- package/dist/utils/moduleResolver.js +5 -4
- package/dist/utils/moduleResolver.js.map +1 -1
- 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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;AAAA,4EAAwE;AAIxE,0EAAqE;AAKrE,2DAAsD;
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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":";;;AAAA,2BAA8C;AAC9C,+BAAqC;AAErC,
|
|
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":"
|
|
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
|
-
|
|
21
|
-
|
|
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;
|
|
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[]>):
|
|
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;
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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;
|
|
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.
|
|
4
|
-
"description": "
|
|
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/
|
|
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/
|
|
20
|
+
"url": "https://github.com/stormsidali2001/ioc-arise/issues"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"ioc",
|