gh-changelogen
Version:
Changelog generator for GitHub Releases
58 lines (56 loc) • 1.14 kB
TypeScript
/**
* GitHub Releases schema
*
* @see https://docs.github.com/en/rest/releases/releases
*/
interface GitHubRelease {
assets: GitHubAsset[];
author: GitHubUser;
body: string;
created_at: string;
id: number;
draft: boolean;
prelease: boolean;
name: string;
published_at: string;
tag_name: string;
tarball_url: string;
target_commitish: string;
html_url: string;
upload_url: string;
url: string;
zipball_url: string;
}
interface GitHubAsset {
id: number;
}
interface GitHubUser {
id: number;
login: string;
}
/**
* Changelog generator
*/
declare type Generator = (release: GitHubRelease) => Promise<string>;
/**
* Github releases fetcher
*/
declare type Fetcher = (tag: string) => Promise<GitHubRelease>;
/**
* Fetcher options
*/
interface FetcherOptions {
/**
* GitHub info, format: `owner/repo`
*/
github?: string;
/**
* GitHub Token
*/
token?: string;
}
interface Plugin {
fetcher?: Fetcher;
generator?: Generator;
}
export { Fetcher, FetcherOptions, Generator, GitHubAsset, GitHubRelease, GitHubUser, Plugin };