providence-analytics
Version:
Providence is the 'All Seeing Eye' that measures effectivity and popularity of software. Release management will become highly efficient due to an accurate impact analysis of (breaking) changes
32 lines (25 loc) • 1.08 kB
TypeScript
import { ImportOrExportId, PathRelativeFromProjectRoot, ProjectName } from '../core/core.js';
import {
AnalyzerQueryResult,
MatchedExportSpecifier,
MatchAnalyzerConfig,
} from '../core/Analyzer.js';
export interface MatchImportsAnalyzerResult extends AnalyzerQueryResult {
queryOutput: MatchImportsAnalyzerOutputEntry[];
}
export interface MatchImportsAnalyzerOutputEntry {
exportSpecifier: MatchedExportSpecifier;
matchesPerProject: MatchImportsAnalyzerOutputEntryMatch[];
}
export interface MatchImportsAnalyzerOutputEntryMatch {
/** The target project that extends the class exported by reference project */
project: ProjectName;
/** Array of meta objects for matching files */
files: PathRelativeFromProjectRoot[];
}
export type ConciseMatchImportsAnalyzerResult = ConciseMatchImportsAnalyzerResultEntry[];
export interface ConciseMatchImportsAnalyzerResultEntry {
exportSpecifier: { id: ImportOrExportId; meta?: object };
importProjectFiles: PathRelativeFromProjectRoot[];
}
export interface MatchImportsConfig extends MatchAnalyzerConfig {}