UNPKG

@atomist/sdm-pack-aspect

Version:

an Atomist SDM Extension Pack for visualizing drift across an organization

106 lines 3.31 kB
import { Language } from "@atomist/sdm-pack-sloc/lib/slocReport"; import { RepositoryScorer } from "../aspect/AspectRegistry"; import { FiveStar } from "./Score"; export declare const CommunityCategory: string; export declare const CodeCategory: string; /** * Use to anchor scores to penalize repositories about which we know little. * Typically weighted > default x1 */ export declare function anchorScoreAt(score: FiveStar): RepositoryScorer; /** * Penalize repositories for not having a recent commit. * days is the number of days since the latest commit to the default branch * that will cost 1 star. */ export declare function requireRecentCommit(opts: { days: number; }): RepositoryScorer; /** * Limit languages used in a project */ export declare function limitLanguages(opts: { limit: number; baseOnly?: boolean; }): RepositoryScorer; /** * Penalize repositories for having too many lines of code. * The limit is the number of lines of code required to drop one star. * The chosen limit will depend on team preferences: For example, * are we trying to do microservices? */ export declare function limitLinesOfCode(opts: { limit: number; baseOnly?: boolean; }): RepositoryScorer; /** * Penalize repositories for having too many lines of code in the given language */ export declare function limitLinesOfCodeIn(opts: { limit: number; language: Language; freeAmount?: number; }): RepositoryScorer; /** * Penalize repositories for having an excessive number of git branches */ export declare function penalizeForExcessiveBranches(opts: { branchLimit: number; }): RepositoryScorer; /** * Penalize repositories for having more than 1 virtual project, * as identified by a VirtualProjectFinder */ export declare const PenalizeMonorepos: RepositoryScorer; /** * Penalize repositories without a license file */ export declare const PenalizeNoLicense: RepositoryScorer; /** * Penalize repositories without a code of conduct file */ export declare const PenalizeNoCodeOfConduct: RepositoryScorer; /** * Penalize repositories that don't have this type of aspect. * If data is provided, check that the sha matches the default sha-ing of this * data payload */ export declare function requireAspectOfType(opts: { type: string; reason: string; data?: any; category?: string; baseOnly?: boolean; }): RepositoryScorer; /** * Penalize repositories without matches for the glob pattern. * Depends on globAspect */ export declare function requireGlobAspect(opts: { glob: string; category?: string; baseOnly?: boolean; }): RepositoryScorer; /** * Penalize for each point lost in these reviewers */ export declare function penalizeForReviewViolations(opts: { reviewerName: string; violationsPerPointLost: number; }): RepositoryScorer; /** * Convenient function to emit scorers for all reviewers */ export declare function penalizeForAllReviewViolations(opts: { reviewerNames: string[]; violationsPerPointLost: number; }): RepositoryScorer[]; /** * Use for a file pattern or something within files we don't want */ export declare function penalizeGlobMatches(opts: { name?: string; type: string; pointsLostPerMatch: number; }): RepositoryScorer; //# sourceMappingURL=commonScorers.d.ts.map