gather-ts
Version:
A powerful code analysis and packaging tool designed for creating AI-friendly code representations for javascript and typescript projects.
155 lines (154 loc) • 3.16 kB
TypeScript
/// <reference types="node" />
import { IMetadata } from "./common";
export interface ICompileOptions {
/**
* Array of entry file paths to analyze
*/
entryFiles: string[];
/**
* Output file path
*/
outputFile: string;
/**
* Project root directory
*/
rootDir?: string;
/**
* Maximum depth for dependency analysis
*/
maxDepth?: number;
/**
* Custom configuration overrides
*/
config?: Record<string, unknown>;
/**
* Whether to collect and include metrics
*/
includeMetrics?: boolean;
/**
* Batch size for processing files
*/
batchSize?: number;
/**
* File encoding
*/
encoding?: BufferEncoding;
/**
* Patterns to ignore
*/
ignorePatterns?: string[];
/**
* Required files to include
*/
requiredFiles?: string[];
/**
* Initialize configuration
*/
init?: boolean;
/**
* Enable debug mode
*/
debug?: boolean;
}
export interface ICompileResult {
/**
* Number of files processed
*/
filesProcessed: number;
/**
* Path to the output file
*/
outputPath: string;
/**
* Total number of tokens in processed files
*/
totalTokens: number;
/**
* Timestamp when the result was generated
*/
generationTime: string;
/**
* Number of required files processed (if any)
*/
requiredFilesProcessed?: number;
/**
* Number of files skipped during processing
*/
skippedFiles?: number;
/**
* Compilation metrics (if enabled)
*/
metrics?: ICompileMetrics;
/**
* Metadata about the compilation
*/
metadata: IMetadata;
}
export interface ICompilationStats {
/**
* Timestamp when compilation started
*/
startTime: string;
/**
* Timestamp when compilation ended
*/
endTime: string;
/**
* Total duration in milliseconds
*/
duration: number;
/**
* Total number of files processed
*/
totalFiles: number;
/**
* Number of files successfully processed
*/
processedFiles: number;
/**
* Number of files skipped
*/
skippedFiles: number;
/**
* Total number of tokens processed
*/
totalTokens: number;
}
export interface ICompileMetrics {
/**
* Number of files processed
*/
filesProcessed: number;
/**
* Total number of tokens processed
*/
totalTokens: number;
/**
* Total processing time in milliseconds
*/
processingTime: number;
/**
* Peak memory usage in bytes
*/
memoryUsage: number;
/**
* Time spent on dependency analysis in milliseconds
*/
dependencyAnalysisTime: number;
/**
* Time spent on tokenization in milliseconds
*/
tokenizationTime: number;
/**
* Time spent on output generation in milliseconds
*/
outputGenerationTime: number;
/**
* Number of errors encountered
*/
errors: number;
/**
* Number of warnings encountered
*/
warnings: number;
}