@samiyev/guardian
Version:
Research-backed code quality guardian for AI-assisted development. Detects hardcodes, secrets, circular deps, framework leaks, entity exposure, and 9 architecture violations. Enforces Clean Architecture/DDD principles. Works with GitHub Copilot, Cursor, W
45 lines • 1.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AggregateResults = void 0;
/**
* Pipeline step responsible for building final response DTO
*/
class AggregateResults {
execute(request) {
const metrics = this.calculateMetrics(request.sourceFiles, request.totalFunctions, request.dependencyGraph);
return {
files: request.sourceFiles,
dependencyGraph: request.dependencyGraph,
violations: request.violations,
hardcodeViolations: request.hardcodeViolations,
circularDependencyViolations: request.circularDependencyViolations,
namingViolations: request.namingViolations,
frameworkLeakViolations: request.frameworkLeakViolations,
entityExposureViolations: request.entityExposureViolations,
dependencyDirectionViolations: request.dependencyDirectionViolations,
repositoryPatternViolations: request.repositoryPatternViolations,
aggregateBoundaryViolations: request.aggregateBoundaryViolations,
secretViolations: request.secretViolations,
anemicModelViolations: request.anemicModelViolations,
metrics,
};
}
calculateMetrics(sourceFiles, totalFunctions, _dependencyGraph) {
const layerDistribution = {};
let totalImports = 0;
for (const file of sourceFiles) {
if (file.layer) {
layerDistribution[file.layer] = (layerDistribution[file.layer] || 0) + 1;
}
totalImports += file.imports.length;
}
return {
totalFiles: sourceFiles.length,
totalFunctions,
totalImports,
layerDistribution,
};
}
}
exports.AggregateResults = AggregateResults;
//# sourceMappingURL=AggregateResults.js.map