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
TypeScript
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>;
}