diff --git a/src/utils/parsers/maven-dependency-parser.ts b/src/utils/parsers/maven-dependency-parser.ts index 617fc92..c270c76 100644 --- a/src/utils/parsers/maven-dependency-parser.ts +++ b/src/utils/parsers/maven-dependency-parser.ts @@ -43,6 +43,7 @@ const execAsync = promisify(exec); // Maven-specific constants const COMMAND_TIMEOUT = 300000; // 300 seconds (5 minutes) +const MAX_BUFFER = 50 * 1024 * 1024; // 50MB for Maven verbose output const MAVEN_THIRD_PARTY_PATH = path.join('target', 'licenses', 'THIRD-PARTY.txt'); const MAVEN_DEPENDENCIES_PATH = path.join('target', 'dependencies.txt'); @@ -264,6 +265,15 @@ function isTimeoutError(error: any): boolean { (error.message && error.message.toLowerCase().includes('timeout')); } +/** + * Check if an error is caused by maxBuffer overflow + * @param error - Error object to check + * @returns True if error was caused by buffer overflow + */ +function isMaxBufferError(error: any): boolean { + return error.message && error.message.toLowerCase().includes('maxbuffer'); +} + /** * Parse Maven dependency:list output * @param output - Output from mvn dependency:list command @@ -338,7 +348,8 @@ export async function getMavenDependencies(repoPath: string): Promise