knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
36 lines (35 loc) • 1.06 kB
TypeScript
import type { RE_EXPORT_KIND } from '../graph-explorer/constants.ts';
import type { Import, Position } from '../types/module-graph.ts';
export interface SourceLocation extends Position {
filePath: string;
identifier: string;
}
export interface InternalImport extends SourceLocation {
importLine: number;
importCol: number;
}
export interface Export extends SourceLocation {
importLocations: SourceLocation[];
entryPaths: Set<string>;
exports: Export[] | undefined;
}
export interface ContentionDetails {
branching: string[];
conflict: string[];
}
export interface FileMetrics {
imports: number;
exports: number;
cycles: number;
contention: number;
}
export interface File {
exports: Export[];
internalImports: InternalImport[];
cycles: Cycle[];
contention: Record<string, ContentionDetails>;
metrics: FileMetrics;
}
export type ImportLookup = Map<string, Map<string, Import[]>>;
export type Cycle = string[];
export type ReExportKind = (typeof RE_EXPORT_KIND)[keyof typeof RE_EXPORT_KIND];