agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
37 lines (31 loc) • 1.36 kB
JavaScript
/**
* @file Utility file checking
* @description Checks if a file is in a utility directory
*/
const path = require('path');
const localVars = require('../../config/localVars');
/**
* Check if a file is in a utility directory
* @param {string} filePath - File path to check
* @param {Object} config - Configuration options
* @returns {boolean} True if file is in utility directory
*/
function isUtilityFile(filePath, config = {}) {
const { targetDirs = localVars.DEFAULT_TARGET_DIRS } = config;
// Check if file is in ANY target directory - regardless of filename
const normalizedPath = path.normalize(filePath);
const isInTargetDir = targetDirs.some(dir => normalizedPath.includes(dir));
// Also check for common utility directory patterns anywhere in path
const utilityDirPatterns = ['lib', 'utils', 'util', 'helpers', 'helper', 'shared', 'common', 'tools', 'tool'];
const containsUtilityDir = utilityDirPatterns.some(pattern =>
normalizedPath.toLowerCase().includes(`/${pattern}/`) ||
normalizedPath.toLowerCase().includes(`\\${pattern}\\`) ||
normalizedPath.toLowerCase().startsWith(`${pattern}/`) ||
normalizedPath.toLowerCase().startsWith(`${pattern}\\`)
);
return isInTargetDir || containsUtilityDir;
}
module.exports = {
isUtilityFile,
DEFAULT_TARGET_DIRS: localVars.DEFAULT_TARGET_DIRS
};