UNPKG

eslint-remote-tester

Version:
142 lines 4.4 kB
import { type LogMessage, type Task, type Listener, type ListenerType } from './types.js'; declare const DEFAULT_COLOR: (text: string) => string; /** * Resolve color for message or task */ export declare function resolveColor(taskOrMessage: Task | LogMessage): typeof DEFAULT_COLOR; /** * Logger for holding state of current progress * - Exposes different logs via `on` subscribe method */ declare class ProgressLogger { /** Messages printed as a list under tasks */ private messages; /** Messages of the task runners */ private tasks; /** Count of finished repositories */ scannedRepositories: number; /** Total count of errors */ private errorCount; /** Event listeners */ private listeners; /** Indicates whether scan has reached time limit set by `config.timeLimit` */ private hasTimedout; /** Handle of scan timeout. Used to interrupt scan once time limit has been reached. */ private scanTimeoutHandle; /** Interval of CI status messages. Used to avoid CIs timing out due to silent stdout. */ private ciKeepAliveIntervalHandle; constructor(); /** * Subscribe on logger's events */ on<T extends ListenerType = ListenerType>(event: T & ListenerType, listener: Listener<T>): this; /** * Unsubscribe from logger's events */ off<T = ListenerType>(event: T & ListenerType, listener: Listener<T>): this; /** * Add new message to logger */ addNewMessage(message: LogMessage): void; /** * Get current log messages */ getMessages(): LogMessage[]; /** * Check whether scan has timed out */ isTimeout(): boolean; /** * Add final message and fire exit event */ onAllRepositoriesScanned(): void; /** * Apply updates to given task */ updateTask(repository: string, updates: Omit<Task, 'repository'>): void; /** * Apply warning to given task. Duplicate warnings are ignored. * Returns boolean indicating whether warning did not exist on task already */ addWarningToTask(repository: string, warning: string): boolean; /** * Log start of task runner */ onTaskStart(repository: string): void; /** * Log start of linting of given repository */ onLintStart(repository: string, fileCount: number): void; /** * Log end of linting of given repository */ onLintEnd(repository: string, resultCount: number): void; /** * Log end of a single file lint */ onFileLintEnd(repository: string, currentFileIndex: number): void; /** * Log warning about slow linting */ onFileLintSlow(repository: string, lintTime: number, file: string): void; /** * Log error about linter crashing */ onLinterCrash(repository: string, erroneousRule: string): void; /** * Log error about worker crashing */ onWorkerCrash(repository: string, errorCode?: string): void; /** * Log error about clone failure */ onCloneFailure(repository: string): void; /** * Log error about pull failure */ onPullFailure(repository: string): void; /** * Log error about filesystem read failure */ onReadFailure(repository: string): void; /** * Log error about result writing failure */ onWriteFailure(repository: string, error: Error): void; /** * Log start of cloning of given repository */ onRepositoryClone(repository: string): void; /** * Log start of pulling of given repository */ onRepositoryPull(repository: string): void; /** * Log start of cloning of given repository */ onRepositoryRead(repository: string): void; /** * Log status of scanning to CI * - These are used to avoid CI timeouts */ onCiStatus(): void; /** * Log status of cache. Includes count of cached repositories and location of cache. * Only used in CLI */ onCacheStatus(status: { countOfRepositories: number; location: string; }): void; /** * Log notification about reaching scan time limit and notify listeners */ private onScanTimeout; /** * Log debug message */ onDebug(...messages: any[]): void; } declare const _default: ProgressLogger; export default _default; //# sourceMappingURL=progress-logger.d.ts.map