@atomist/sdm-pack-aspect
Version:
an Atomist SDM Extension Pack for visualizing drift across an organization
43 lines • 1.48 kB
TypeScript
import { GitProject } from "@atomist/automation-client";
import { AnalysisTracking } from "../../../tracking/analysisTracker";
import { ScmSearchCriteria } from "../ScmSearchCriteria";
import { Analyzer, PersistenceResult, Spider, SpiderFailure, SpiderOptions, SpiderResult } from "../Spider";
/**
* Implementating this allows control over cloning
*/
export interface Cloner {
clone(sourceData: GitHubSearchResult): Promise<GitProject>;
}
/**
* Spider GitHub. Ensure that GITHUB_TOKEN environment variable is set.
*/
export declare class GitHubSpider implements Spider {
private readonly cloner;
private readonly queryFunction;
spider(criteria: ScmSearchCriteria, analyzer: Analyzer, analysisTracking: AnalysisTracking, opts: SpiderOptions): Promise<SpiderResult>;
constructor(cloner: Cloner, queryFunction?: (token: string, criteria: ScmSearchCriteria) => AsyncIterable<GitHubSearchResult>);
}
export interface AnalyzeResult {
failedToCloneOrAnalyze: SpiderFailure[];
repoCount: number;
projectCount: number;
millisTaken: number;
}
export interface AnalyzeAndPersistResult extends AnalyzeResult {
failedToPersist: SpiderFailure[];
persisted: PersistenceResult[];
}
/**
* Result row in a GitHub search
*/
export interface GitHubSearchResult {
owner: {
login: string;
};
name: string;
url: string;
html_url: string;
timestamp: Date;
query: string;
}
//# sourceMappingURL=GitHubSpider.d.ts.map