eslint-remote-tester
Version:
Tool for running ESLint on multiple repositories
25 lines • 1.01 kB
TypeScript
import type { ForegroundColor } from 'chalk';
import { type LogLevel } from '../config/types.js';
export interface Task {
step?: 'START' | 'CLONE' | 'PULL' | 'READ' | 'LINT';
color?: typeof ForegroundColor;
repository: string;
fileCount?: number;
currentFileIndex?: number;
warnings?: string[];
}
export interface LogMessage {
content: string;
color?: typeof ForegroundColor;
level: LogLevel;
}
export type Listener<Key = ListenerType> = Key extends 'message' ? (message: LogMessage) => void : Key extends 'task' ? (task: Task, done?: boolean) => void : Key extends 'exit' ? () => void : Key extends 'ciKeepAlive' ? (message: string) => void : Key extends 'timeout' ? () => void : never;
export interface Listeners {
exit: Listener<'exit'>[];
message: Listener<'message'>[];
task: Listener<'task'>[];
ciKeepAlive: Listener<'ciKeepAlive'>[];
timeout: Listener<'timeout'>[];
}
export type ListenerType = keyof Listeners;
//# sourceMappingURL=types.d.ts.map