@yuki-no/plugin-sdk
Version:
A GitHub Action that tracks changes between repositories. It creates GitHub issues based on commits from a head repository, making it ideal for documentation translation projects.
33 lines (32 loc) • 999 B
TypeScript
import type { Config } from './config';
import type { Commit } from './git';
import type { Issue, IssueMeta } from './github';
export type YukiNoContext = Readonly<{
config: Config;
}>;
export interface YukiNoPlugin extends YukiNoPluginHooks {
name: string;
}
interface YukiNoPluginHooks {
onInit?(ctx: YukiNoContext): Promise<void> | void;
onBeforeCompare?(ctx: YukiNoContext): Promise<void> | void;
onAfterCompare?(ctx: YukiNoContext & {
commits: Commit[];
}): Promise<void> | void;
onBeforeCreateIssue?(ctx: YukiNoContext & {
commit: Commit;
issueMeta: IssueMeta;
}): Promise<void> | void;
onAfterCreateIssue?(ctx: YukiNoContext & {
commit: Commit;
issue: Issue;
}): Promise<void> | void;
onFinally?(ctx: YukiNoContext & {
success: boolean;
createdIssues: Issue[];
}): Promise<void> | void;
onError?(ctx: YukiNoContext & {
error: Error;
}): Promise<void> | void;
}
export {};