UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

37 lines (31 loc) 1.33 kB
/** * @file Utility file checking * @description Checks if a file is in a utility directory */ const path = require('path'); const { DEFAULT_TARGET_DIRS } = 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 = 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 };