UNPKG

makit

Version:

Make in JavaScript done right!

36 lines (35 loc) 1.16 kB
import { TimeStamp } from './fs/time-stamp'; import { Rule } from './makefile/rule'; import { DirectedGraph } from './utils/graph'; import { Reporter } from './reporters/reporter'; export interface MakeOptions { root?: string; reporter: Reporter; disableCheckCircular?: boolean; matchRule: (target: string) => [Rule, RegExpExecArray] | null; } /** * 一个 Make 对象表示一次 make * 每次 make 的入口 target 是唯一的,其依赖图是一个有序图,用 checkCircular 来确保这一点 */ export declare class Make { dependencyGraph: DirectedGraph<string>; private targets; private tasks; private root; private matchRule; private reporter; private disableCheckCircular; private isMaking; private targetQueue; constructor({ root, matchRule, disableCheckCircular, reporter }: MakeOptions); make(targetName: string, parent?: string): Promise<TimeStamp>; private startMake; invalidate(targetName: string): void; private buildDependencyGraph; private isResolved; private doMake; private notifyDependants; private scheduleTask; private createTarget; }