agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
31 lines (24 loc) • 991 B
JavaScript
/**
* @file Determine best location for extracted code
* @description Single responsibility: Find optimal location for shared code
*/
const path = require('path');
const findCommonDirectory = require('./findCommonDirectory');
function determineBestLocation(blocks, projectContext, type = 'utility') {
// Extract directories from all blocks
const directories = blocks.map(b => path.dirname(b.file));
const uniqueDirs = [...new Set(directories)];
// Find common parent directory
const commonDir = findCommonDirectory(uniqueDirs);
// Suggest location based on type
let suggestedPath = commonDir;
if (type === 'utility') {
suggestedPath = path.join(commonDir, 'utils', 'shared.js');
} else if (type === 'class') {
suggestedPath = path.join(commonDir, 'base', 'BaseClass.js');
} else if (type === 'config') {
suggestedPath = path.join(commonDir, 'config', 'shared-config.js');
}
return suggestedPath;
}
module.exports = determineBestLocation;