@codechecks/client
Version:
Open source platform for code review automation
39 lines (38 loc) • 1.35 kB
TypeScript
import { CiProvider } from "./ci-providers/types";
import { Api, PrInfo } from "./api";
import { DeepReadonly } from "ts-essentials";
import { Path } from "./utils";
import { CodeChecksSettings, CodeChecksClientArgs } from "./types";
/**
* Better part of execution context stays the same for all codechecks files being executed so we just get it once.
*/
export declare function getConstExecutionContext(api: Api, ciProvider: CiProvider, settings: CodeChecksSettings, gitRepoRootPath: string, args: CodeChecksClientArgs): Promise<SharedExecutionContext>;
export declare function getExecutionContext(sharedExecutionCtx: SharedExecutionContext, codeChecksFilePath: Path): ExecutionContext;
export declare type RefInfo = {
sha: string;
};
export declare type ExecutionContext = DeepReadonly<{
codeChecksFileAbsPath: string;
workspaceRoot: string;
} & SharedExecutionContext>;
/**
* This stays the same across different codechecks files
*/
export interface SharedExecutionContext {
projectSlug: string;
artifactsProxy: {
url: string;
supportsPages: boolean;
};
isPrivate: boolean;
currentSha: string;
isPr: boolean;
pr?: PrInfo;
isLocalMode?: {
projectSlug: string;
isOffline: boolean;
isFailFast: boolean;
};
isFork: boolean;
isSpeculativePr: boolean;
}