sicua
Version:
A tool for analyzing project structure and dependencies
59 lines (58 loc) • 1.54 kB
TypeScript
import ts from "typescript";
import { DependencyContext } from "../types";
export declare class ImportExtractor {
private srcDir;
constructor(srcDir: string);
/**
* Extracts all dependency context from a source file
*/
extractDependencies(sourceFile: ts.SourceFile, filePath: string): DependencyContext;
/**
* Processes a single import declaration
*/
private processImportDeclaration;
/**
* Processes internal (relative/absolute) imports
*/
private processInternalImport;
/**
* Processes external (npm package) imports
*/
private processExternalImport;
/**
* Processes React-specific imports
*/
private processReactImport;
/**
* Extracts dynamic imports (lazy loading, etc.)
*/
private extractDynamicImports;
/**
* Extracts imported names from import declaration
*/
private extractImportedNames;
/**
* Resolves internal import path to absolute path
*/
private resolveInternalPath;
/**
* Determines relationship type between files
*/
private determineRelationship;
/**
* Determines usage type based on import and file patterns
*/
private determineUsageType;
/**
* Extracts package name from import path
*/
private extractPackageName;
/**
* Determines if import is external (npm package)
*/
private isExternalImport;
/**
* Determines criticality of a dependency
*/
private determineCriticality;
}