buddy-bot
Version:
Automated & optimized dependency updates for JavaScript & TypeScript projects. Like Renovate & Dependabot.
31 lines • 1.85 kB
TypeScript
import { Glob } from 'bun';
import { parseGitHubActionsFile } from '../utils/github-actions-parser';
import type { Dependency, Logger, PackageFile, } from '../types';
export declare class PackageScanner {
private ignoreGlobs: Glob[];
private readonly projectPath: string;
private readonly logger: Logger;
constructor(projectPath: string, logger: Logger, ignorePaths?: string[]);
scanProject(): Promise<PackageFile[]>;
parsePackageJsonFile(filePath: string): Promise<PackageFile | null>;
parseLockFile(filePath: string): Promise<PackageFile | null>;
parseDependencyFile(filePath: string): Promise<PackageFile | null>;
private findDependencyFiles(): Promise<string[]>;
private findGitHubActionsFiles(): Promise<string[]>;
private findDockerfiles(): Promise<string[]>;
parseGitHubActionsFile(filePath: string): Promise<PackageFile | null>;
parseDockerfile(filePath: string): Promise<PackageFile | null>;
private findComposerFiles(): Promise<string[]>;
parseComposerFile(filePath: string): Promise<PackageFile | null>;
private extractDependencies(deps: Record<string, string> | undefined, type: Dependency['type'], filePath: string, dependencies: Dependency[]): void;
private extractLockFileDependencies(content: string, type: PackageFile['type'], filePath: string): Promise<Dependency[]>;
private findFiles(fileName: string, dir?: any): Promise<string[]>;
private findLockFiles(): Promise<string[]>;
private findFilesByPattern(pattern: string): Promise<string[]>;
private findFilesByPatternInDir(pattern: string, dir: string): Promise<string[]>;
private shouldIgnorePath(filePath: string): boolean;
private shouldSkipDirectory(dirName: string): boolean;
private getRelativePath(absolutePath: string): string;
getDependencyCount(): Promise<number>;
getUniqueDependencies(): Promise<Dependency[]>;
}