UNPKG

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

39 lines (34 loc) 1.22 kB
import { SpecifierName, ProjectName, PathRelativeFromProjectRoot, AnalyzerQueryResult, MatchedExportSpecifier, } from '../core/index.js'; export interface MatchSubclassesAnalyzerResult extends AnalyzerQueryResult { queryOutput: MatchSubclassesAnalyzerOutputEntry[]; } export interface MatchSubclassesAnalyzerOutputEntry { exportSpecifier: MatchedExportSpecifier; matchesPerProject: MatchSubclassesAnalyzerOutputEntryMatch[]; } export interface MatchSubclassesAnalyzerOutputEntryMatch { /** The target project that extends the class exported by reference project */ project: ProjectName; /** Array of meta objects for matching files */ files: MatchSubclassesAnalyzerOutputEntryMatchFile[]; } export interface MatchSubclassesAnalyzerOutputEntryMatchFile { /** * The local filepath that contains the matched class inside the target project * like `./src/ExtendedClass.js` */ file: PathRelativeFromProjectRoot; /** * The local Identifier inside matched file that is exported * @example * - `ExtendedClass` for `export ExtendedClass extends RefClass {};` * - `[default]` for `export default ExtendedClass extends RefClass {};` */ identifier: SpecifierName; }