react-github-timeline
Version:
3D visualization of GitHub repository evolution over time using React Three Fiber
68 lines (59 loc) • 2.14 kB
TypeScript
import { JSX as JSX_2 } from 'react/jsx-runtime';
export declare interface CommitData {
hash: string;
message: string;
author: string;
date: Date;
files: FileNode[];
edges: FileEdge[];
}
export declare interface FileEdge {
source: string;
target: string;
type: "parent" | "dependency";
}
export declare interface FileNode {
id: string;
path: string;
name: string;
size: number;
type: "file" | "directory";
x?: number;
y?: number;
z?: number;
vx?: number;
vy?: number;
vz?: number;
previousSize?: number;
sizeChange?: "increase" | "decrease" | "unchanged";
fileStatus?: "added" | "deleted" | "moved" | "unchanged";
previousPath?: string;
}
declare type PlaybackDirection_2 = "forward" | "reverse";
export { PlaybackDirection_2 as PlaybackDirection }
/**
* Public API types for the react-github-timeline package
*/
export declare type PlaybackSpeed = 1 | 60 | 300 | 1800;
export declare function RepoTimeline({ repoPath, githubToken, workerUrl, onBack, showControls, autoPlay, playbackSpeed: initialPlaybackSpeed, playbackDirection: initialPlaybackDirection, onError, }: RepoTimelineProps): JSX_2.Element;
export declare interface RepoTimelineProps {
/** GitHub repository path in "owner/repo" format */
repoPath: string;
/** Optional GitHub personal access token for higher rate limits (5,000 req/hour vs 60 req/hour) */
githubToken?: string;
/** Optional Cloudflare Worker URL for cached data */
workerUrl?: string;
/** Optional callback for error handling */
onError?: (error: Error) => void;
/** Show timeline controls (default: true) */
showControls?: boolean;
/** Start playing automatically (default: false) */
autoPlay?: boolean;
/** Initial playback speed (default: 60) */
playbackSpeed?: PlaybackSpeed;
/** Initial playback direction (default: "forward") */
playbackDirection?: PlaybackDirection_2;
/** Optional callback when user clicks back button */
onBack?: () => void;
}
export { }