@atomist/org-visualizer
Version:
Organization Visualizer using Atomist project scanning
36 lines • 1.31 kB
TypeScript
import { Project } from "@atomist/automation-client";
import { ProjectAnalyzer } from "@atomist/sdm-pack-analysis";
import { ScmSearchCriteria } from "../ScmSearchCriteria";
import { PersistenceResult, Spider, SpiderFailure, SpiderOptions, SpiderResult } from "../Spider";
declare type CloneFunction = (sourceData: GitHubSearchResult) => Promise<Project>;
/**
* Spider GitHub. Ensure that GITHUB_TOKEN environment variable is set.
*/
export declare class GitHubSpider implements Spider {
private readonly queryFunction;
private readonly cloneFunction;
spider(criteria: ScmSearchCriteria, analyzer: ProjectAnalyzer, opts: SpiderOptions): Promise<SpiderResult>;
constructor(queryFunction?: (token: string, criteria: ScmSearchCriteria) => AsyncIterable<GitHubSearchResult>, cloneFunction?: CloneFunction);
}
export interface AnalyzeAndPersistResult {
failedToCloneOrAnalyze: SpiderFailure[];
failedToPersist: SpiderFailure[];
repoCount: number;
projectCount: number;
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;
}
export {};
//# sourceMappingURL=GitHubSpider.d.ts.map