buddy-bot
Version:
Automated & optimized dependency updates for JavaScript & TypeScript projects. Like Renovate & Dependabot.
58 lines • 3.48 kB
TypeScript
import type { BuddyBotConfig, PackageMetadata, PackageUpdate } from '../types';
import type { Logger } from '../utils/logger';
export declare interface BunOutdatedResult {
name: string
current: string
update: string
latest: string
workspace?: string
file?: string
}
export declare class RegistryClient {
private readonly projectPath: string;
private readonly logger: Logger;
private readonly config?: BuddyBotConfig | undefined;
constructor(projectPath: string, logger: Logger, config?: BuddyBotConfig | undefined);
shouldRespectVersion(version: string): boolean;
getOutdatedPackages(filter?: string): Promise<PackageUpdate[]>;
getUpdatesForPackages(packageNames: string[]): Promise<PackageUpdate[]>;
getUpdatesWithPattern(pattern: string): Promise<PackageUpdate[]>;
getPackageMetadata(packageName: string): Promise<PackageMetadata | undefined>;
packageExists(packageName: string): Promise<boolean>;
getLatestVersion(packageName: string): Promise<string | null>;
private getLatestVersionFromNpm(packageName: string): Promise<string | null>;
private isPrerelease(version: string): boolean;
private runBunOutdated(filter?: string): Promise<BunOutdatedResult[]>;
private parseBunOutdatedOutput(output: string): BunOutdatedResult[];
private getPackageJsonOutdated(filter?: string): Promise<BunOutdatedResult[]>;
private cleanVersionRange(version: string): string | null;
private runCommand(command: string, args: string[]): Promise<string>;
private getReleaseNotesUrl(packageName: string, metadata?: PackageMetadata): string | undefined;
private getChangelogUrl(packageName: string, metadata?: PackageMetadata): string | undefined;
getUpdatesForWorkspace(workspaceName: string): Promise<PackageUpdate[]>;
searchPackages(query: string, limit?: any): Promise<Array<{
name: string
version: string
description?: string
keywords?: string[]
}>>;
private getMajorVersion(version: string): string;
private getMinorVersion(version: string): string;
getComposerOutdatedPackages(): Promise<PackageUpdate[]>;
private findBestUpdates(currentVersion: string, availableVersions: string[], _constraint: string): Promise<{ version: string, type: 'patch' | 'minor' | 'major' }[]>;
private parseVersion(version: string): { major: number, minor: number, patch: number } | null;
private compareVersions(a: string, b: string): number;
getComposerPackageMetadata(packageName: string): Promise<PackageMetadata | undefined>;
composerPackageExists(packageName: string): Promise<boolean>;
getComposerLatestVersion(packageName: string): Promise<string | null>;
private getComposerReleaseNotesUrl(packageName: string, metadata?: PackageMetadata): string | undefined;
private getComposerChangelogUrl(packageName: string, metadata?: PackageMetadata): string | undefined;
private extractConstraintBaseVersion(constraint: string): string | null;
private findBestConstraintUpdates(constraint: string, availableVersions: string[], currentVersion: string): Promise<{ version: string, type: 'patch' | 'minor' | 'major' }[]>;
private getWorkspaceOutdatedPackages(): Promise<BunOutdatedResult[]>;
private getWorkspaceNames(): Promise<string[]>;
private findPackageJsonFiles(): Promise<string[]>;
private shouldSkipDirectory(dirName: string): boolean;
private findPackageLocation(packageName: string): Promise<string | null>;
private runBunOutdatedForWorkspace(workspaceName: string): Promise<BunOutdatedResult[]>;
}