buddy-bot
Version:
Automated & optimized dependency updates for JavaScript & TypeScript projects. Like Renovate & Dependabot.
76 lines • 2.39 kB
TypeScript
export declare interface ReleaseNote {
version: string
date: string
title: string
body: string
htmlUrl: string
compareUrl?: string
author?: string
isPrerelease: boolean
assets?: ReleaseAsset[]
}
export declare interface ReleaseAsset {
name: string
downloadUrl: string
size: number
contentType: string
}
export declare interface ChangelogEntry {
version: string
date: string
changes: {
added?: string[]
changed?: string[]
deprecated?: string[]
removed?: string[]
fixed?: string[]
security?: string[]
}
notes?: string
}
export declare interface PackageInfo {
name: string
description?: string
homepage?: string
repository?: {
type: string
url: string
directory?: string
}
license?: string
author?: string | { name: string, email?: string, url?: string }
keywords?: string[]
weeklyDownloads?: number
lastPublish?: string
maintainers?: Array<{ name: string, email?: string }>
}
export declare class ReleaseNotesFetcher {
readonly private userAgent: any;
fetchPackageInfo(packageName: string, currentVersion: string, newVersion: string): Promise<{
packageInfo: PackageInfo
releaseNotes: ReleaseNote[]
changelog: ChangelogEntry[]
compareUrl?: string
}>;
private fetchNpmPackageInfo(packageName: string): Promise<PackageInfo>;
private parseGitHubUrl(repositoryUrl: string): { owner: string, repo: string } | null;
private fetchGitHubReleases(owner: string, repo: string, currentVersion: string, newVersion: string): Promise<ReleaseNote[]>;
private fetchChangelog(owner: string, repo: string): Promise<ChangelogEntry[]>;
private parseChangelog(content: string): ChangelogEntry[];
private generateCompareUrl(owner: string, repo: string, fromVersion: string, toVersion: string): string;
private isVersionBetween(version: string, current: string, target: string): boolean;
generatePackageBadges(packageInfo: PackageInfo, currentVersion: string, newVersion: string): {
age: string
adoption: string
passing: string
confidence: string
};
fetchComposerPackageInfo(packageName: string): Promise<PackageInfo>;
generateComposerBadges(packageInfo: PackageInfo, currentVersion: string, newVersion: string): {
age: string
adoption: string
passing: string
confidence: string
};
private normalizeVersionForBadges(version: string): string;
}