@atomist/sdm-pack-sloc
Version:
Extension Pack for an Atomist SDM to integrate code metrics
31 lines (30 loc) • 974 B
TypeScript
import { Project } from "@atomist/automation-client";
import { FingerprinterRegistration, PushTest } from "@atomist/sdm";
import { CodeStats, LanguageReportRequest } from "../slocReport";
/**
* Structure tructure that can persisted: For example, written as a fingerprint after each commit
*/
export interface CodeMetrics {
project: {
url: string;
owner: string;
repo: string;
branch: string;
};
timestamp: string;
languages: CodeStats[];
totalFiles: number;
/**
* Lines recognized
*/
lines: number;
files: number;
}
/**
* Return a serializable language summary structure structure
* @param {Project} p
* @param {LanguageReportRequest[]} requests
* @return {Promise<CodeMetrics>}
*/
export declare function calculateCodeMetrics(p: Project, requests?: LanguageReportRequest[]): Promise<CodeMetrics>;
export declare function lineCountFingerprinter(pushTest: PushTest): FingerprinterRegistration;