Spaces:
Running
Running
| import type { ProjectMetadata } from '../../types/dashboard.js'; | |
| /** | |
| * Represents a discovered source file with metadata. | |
| */ | |
| export interface FileEntry { | |
| /** Absolute path to the file */ | |
| path: string; | |
| /** Path relative to the project root */ | |
| relativePath: string; | |
| /** Category of the file based on its location and extension */ | |
| category: 'code' | 'config' | 'docs' | 'infra' | 'data' | 'script' | 'markup'; | |
| /** Detected programming language */ | |
| language: string; | |
| /** Number of lines in the file */ | |
| lineCount: number; | |
| } | |
| /** | |
| * Result of scanning a project directory. | |
| */ | |
| export interface ScanResult { | |
| /** All discovered source files */ | |
| files: FileEntry[]; | |
| /** Project metadata detected from manifest files (package.json, etc.) */ | |
| metadata: ProjectMetadata; | |
| } | |
| /** | |
| * Default directories to exclude from scanning. | |
| */ | |
| export declare const DEFAULT_IGNORE_DIRS: string[]; | |
| /** | |
| * Default file patterns to exclude from scanning (binary, generated, lock files). | |
| */ | |
| export declare const DEFAULT_IGNORE_FILE_PATTERNS: string[]; | |
| /** | |
| * Detects project metadata from manifest files and scanned file entries. | |
| */ | |
| export declare function detectMetadata(projectRoot: string, files: FileEntry[]): ProjectMetadata; | |
| /** | |
| * Scans a project directory for source files, excluding common non-source | |
| * directories and respecting ignore patterns. | |
| * | |
| * @param projectRoot - Absolute path to the project root directory | |
| * @param ignorePatterns - Additional glob patterns to exclude | |
| * @returns ScanResult with discovered files and detected project metadata | |
| */ | |
| export declare function scanProject(projectRoot: string, ignorePatterns?: string[]): ScanResult; | |