agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
38 lines (33 loc) • 1.32 kB
JavaScript
/**
* @file Analyze file context
* @description Main orchestrator for context analysis - determines appropriate duplication rules
*/
const detectFileType = require('./detectors/detectFileType');
const isTestFile = require('./detectors/isTestFile');
const isConfigFile = require('./detectors/isConfigFile');
const isGeneratedFile = require('./detectors/isGeneratedFile');
const isMigrationFile = require('./detectors/isMigrationFile');
const detectFramework = require('./detectors/detectFramework');
const applyContextRules = require('./rules/applyContextRules');
/**
* Analyze file context to determine appropriate duplication rules
* @param {string} filePath - Path to the file
* @param {Object} content - File content and metadata
* @returns {Object} Context rules and settings
*/
function analyzeFileContext(filePath, content = '') {
const context = {
fileType: detectFileType(filePath, content),
isTestFile: isTestFile(filePath, content),
isConfigFile: isConfigFile(filePath),
isGeneratedFile: isGeneratedFile(filePath, content),
isMigrationFile: isMigrationFile(filePath),
framework: detectFramework(content),
acceptablePatterns: [],
rules: {}
};
// Apply context-specific rules
applyContextRules(context);
return context;
}
module.exports = analyzeFileContext;