agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
50 lines (46 loc) • 1.81 kB
JavaScript
/**
* @file Common formatting utilities for CLI tools
* @description Re-exports formatting functions from single-function modules for strict SRP compliance
*/
// Import single-function modules
/**
* Format analysis results with provided formatter functions
* @param {Object} results - Analysis results
* @param {string} format - Output format (json, summary, detailed)
* @param {Object} options - Formatting options
* @param {Function} formatSummaryFn - Summary formatter function
* @param {Function} formatDetailedFn - Detailed formatter function
* @returns {string} Formatted output
*/
function formatResults(results, format, options = {}, formatSummaryFn, formatDetailedFn) {
switch (format) {
case 'json':
return JSON.stringify(results, null, 2);
case 'detailed':
return formatDetailedFn ? formatDetailedFn(results, options) : formatSummaryFn(results, options);
case 'summary':
default:
return formatSummaryFn(results, options);
}
}
const shouldSkipDirectory = require('./formatters/shouldSkipDirectory');
const formatFilePath = require('./formatters/formatFilePath');
const formatNumber = require('./formatters/formatNumber');
const formatPercentage = require('./formatters/formatPercentage');
const getGradeEmoji = require('./formatters/getGradeEmoji');
const formatSeverity = require('./formatters/formatSeverity');
const truncateText = require('./formatters/truncateText');
const formatTime = require('./formatters/formatTime');
// Re-export for backward compatibility
module.exports = {
formatResults,
SKIP_DIRECTORIES: ['node_modules', '.git', 'dist', 'build', 'coverage', '.cache', 'logs'],
shouldSkipDirectory,
formatFilePath,
formatNumber,
formatPercentage,
getGradeEmoji,
formatSeverity,
truncateText,
formatTime
};