UNPKG

basic-electron-updater

Version:

A secure, cross-platform auto-update library for Electron Forge apps using GitHub Releases.

71 lines (70 loc) 2.16 kB
/** * Updater configuration options. */ export interface UpdaterConfig { /** GitHub repo in the form 'owner/repo' */ repo: string; /** Automatically download updates when available (default: true) */ autoDownload?: boolean; /** Allow prerelease versions (default: false) */ allowPrerelease?: boolean; /** Release channel/tag to use (default: 'latest') */ channel?: string; /** Custom logger (defaults to console) */ logger?: Logger; /** Enable verbose debug output (default: false) */ debug?: boolean; } /** * Information about an available update from GitHub Releases. */ export interface UpdateInfo { /** Version string (from tag_name) */ version: string; /** Release name */ releaseName: string; /** Release notes (body) */ releaseNotes: string; /** Assets for this release */ assets: Array<{ /** Asset file name */ name: string; /** Download URL */ url: string; /** Optional SHA256 hash for validation */ sha256?: string; /** Optional GPG signature URL */ gpgSignatureUrl?: string; }>; } /** * Event callbacks for Updater. */ export interface UpdateEvents { /** Emitted when checking for updates starts */ "checking-for-update": () => void; /** Emitted when an update is available */ "update-available": (info: UpdateInfo) => void; /** Emitted when no update is available */ "update-not-available": () => void; /** Emitted during download progress */ "download-progress": (progress: { percent: number; transferred: number; total: number; }) => void; /** Emitted when download is complete */ downloaded: (filePath: string) => void; /** Emitted on any error */ error: (err: Error) => void; [event: string]: (...args: any[]) => void; } /** * Logger interface for custom logging. */ export interface Logger { info(message: string, ...args: unknown[]): void; warn(message: string, ...args: unknown[]): void; error(message: string, ...args: unknown[]): void; debug?(message: string, ...args: unknown[]): void; }