agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
37 lines (32 loc) • 1.1 kB
JavaScript
/**
* @file SRP single file analyzer
* @description Analyzes a single file for SRP violations
*/
const fs = require('fs');
const { promises: fsPromises } = require('fs');
/**
* Analyze a single file for SRP violations
* @param {string} filePath - Path to the file to analyze
* @param {Object} options - Analysis options
* @returns {Object|null} Analysis results or null if file cannot be read
*/
async function analyzeSingleFile(filePath, options = {}) {
try {
const content = await fsPromises.readFile(filePath, 'utf8');
const { scoreFileForSRP } = require('./srpFileScorer');
const { generateSRPRecommendations } = require('./srpRecommendationGenerator');
// Pass filePath for context-aware analysis
const analysis = scoreFileForSRP(content, filePath, options.keywordClusters);
return {
file: filePath,
...analysis,
recommendations: generateSRPRecommendations(analysis)
};
} catch (error) {
console.warn(`Warning: Cannot read file ${filePath}: ${error.message}`);
return null;
}
}
module.exports = {
analyzeSingleFile
};