UNPKG

ds-sfcoe-ailabs

Version:

AI-powered code review tool with static analysis integration for comprehensive code quality assessment.

35 lines (34 loc) 1.32 kB
import { Log } from 'sarif'; import SCATProvider from './scatProvider.js'; /** * PMD Code Analyzer implementation extending SCATProvider * Provides PMD-based static code analysis for non-Salesforce files */ export default class PMDCodeAnalyzer extends SCATProvider { private readonly fileList; /** * Creates a new PMD Code Analyzer instance * * @param scanDirectory - The directory to scan for non-Salesforce code * @param configFile - Configuration file path for PMD * @param fileList - Array of specific files to analyze * @throws Error if required parameters are missing or invalid * @example * ```typescript * const analyzer = new PMDCodeAnalyzer('/path/to/scan', 'pmd-config.xml', ['file1.js', 'file2.ts']); * ``` */ constructor(scanDirectory: string, configFile: string, fileList: string[]); /** * Runs the PMD analyzer on the specified files * * @param scanDirectory - Optional override for the scan directory * @returns Promise that resolves to the SARIF analysis results * @throws Error if PMD execution fails or SARIF file cannot be read * @example * ```typescript * const results = await analyzer.run('/custom/scan/path'); * ``` */ run(scanDirectory?: string): Promise<Log>; }