UNPKG

buddy-bot

Version:
37 lines 2.45 kB
import { DashboardGenerator } from './dashboard/dashboard-generator'; import { GitHubProvider } from './git/github-provider'; import { Logger } from './utils/logger'; import { PackageScanner } from './scanner/package-scanner'; import { RegistryClient } from './registry/registry-client'; import type { BuddyBotConfig, DashboardData, Issue, PackageFile, PackageUpdate, PullRequest, UpdateGroup, UpdateScanResult, } from './types'; export declare class Buddy { readonly private logger: Logger; readonly private scanner: PackageScanner; readonly private registryClient: RegistryClient; readonly private dashboardGenerator: DashboardGenerator; private readonly config: BuddyBotConfig; private readonly projectPath?: string; constructor(config: BuddyBotConfig, projectPath?: string); scanForUpdates(): Promise<UpdateScanResult>; createPullRequests(scanResult: UpdateScanResult): Promise<void>; private checkDependencyFilesForUpdates(packageFiles: PackageFile[]): Promise<PackageUpdate[]>; private checkGitHubActionsForUpdates(packageFiles: PackageFile[]): Promise<PackageUpdate[]>; private getUpdateType(current: string, latest: string): 'major' | 'minor' | 'patch'; generateAllFileUpdates(updates: PackageUpdate[]): Promise<Array<{ path: string, content: string, type: 'update' }>>; run(): Promise<UpdateScanResult>; checkPackages(packageNames: string[]): Promise<PackageUpdate[]>; checkPackagesWithPattern(pattern: string): Promise<PackageUpdate[]>; private filterUpdatesByStrategy(updates: PackageUpdate[], strategy: 'major' | 'minor' | 'patch' | 'all'): PackageUpdate[]; private groupUpdatesByConfig(updates: PackageUpdate[]): UpdateGroup[]; private getHighestUpdateType(updates: PackageUpdate[]): 'major' | 'minor' | 'patch'; private isSimilarPRTitle(existingTitle: string, newTitle: string): boolean; private checkIfUpdatesMatch(existingPRBody: string, newUpdates: PackageUpdate[]): boolean; private generatePRLabels(group: UpdateGroup): string[]; private shouldAutoClosePR(existingPR: PullRequest, newUpdates: PackageUpdate[]): boolean; private extractPackagesFromPRBody(prBody: string): string[]; getConfig(): BuddyBotConfig; getProjectPath(): string; createOrUpdateDashboard(): Promise<Issue>; private collectDashboardData(gitProvider: GitHubProvider): Promise<DashboardData>; private findExistingDashboard(gitProvider: GitHubProvider, issueNumber?: number): Promise<Issue | null>; }