agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
47 lines (41 loc) • 1.61 kB
JavaScript
/**
* @file Shared JSON output formatter for CLI tools
* @description Provides consistent JSON output formatting across all analysis tools
*/
/**
* Output results as JSON with consistent structure
* @param {Object} results - Analysis results
* @param {Object} options - Command options including mode, filters, etc.
* @param {string} analysisType - Type of analysis (security, performance, etc.)
*/
function outputJson(results, options, analysisType) {
const output = {
timestamp: new Date().toISOString(),
analysisType: analysisType || options.mode || 'unknown',
filters: extractFilters(options),
results
};
console.log(JSON.stringify(output, null, 2));
}
/**
* Extract relevant filters from options
* @param {Object} options - Command options
* @returns {Object} Filters object
*/
function extractFilters(options) {
const filters = {};
// Common filters across tools
if (options.severity !== undefined) filters.minimumSeverity = options.severity;
if (options.confidence !== undefined) filters.minimumConfidence = options.confidence;
if (options.language !== undefined) filters.language = options.language;
if (options.threshold !== undefined) filters.threshold = options.threshold;
if (options.minScore !== undefined) filters.minimumScore = options.minScore;
if (options.category !== undefined) filters.category = options.category;
if (options.type !== undefined) filters.type = options.type;
if (options.extensions !== undefined) filters.extensions = options.extensions;
return filters;
}
module.exports = {
outputJson,
extractFilters
};