@servant/servant
Version:
Servant builder for node modules.
60 lines (59 loc) • 2.8 kB
TypeScript
import { PackageJson } from "@servant/servant-data";
import { answersUnify, convertUnify } from "./unify";
import { AnalyzeSummaryResult } from "./analyze";
import * as Module from "../module";
import { InitData, ModulesData } from "../types";
export type Commands = "clean" | "install" | "update" | "build" | "unify" | "publish" | "tests" | "analyze" | "validate" | "shared";
export interface CommandResult<T> {
time: string;
data: T;
}
export type { AnalyzeSummaryResult };
export type CommandResults = {
["build"]: CommandResult<Module.CommandResult<Module.BuildResult>[]>;
["clean"]: CommandResult<Module.CommandResult<Module.CleanResult>[]>;
["install"]: CommandResult<Module.CommandResult<Module.InstallResult>[]>;
["update"]: CommandResult<Module.CommandResult<Module.UpdateResult>[]>;
["publish"]: CommandResult<Module.CommandResult<Module.PublishResult>[]>;
["tests"]: CommandResult<Module.CommandResult<Module.TestingResults>[]>;
["validate"]: CommandResult<Module.CommandResult<Module.ValidateResult>[]>;
["unify"]: CommandResult<Module.UnifiedVersionsInfo>;
["analyze"]: CommandResult<AnalyzeSummaryResult>;
["shared"]: CommandResult<Module.CommandResult<Module.SharedResult>[]>;
};
export type CommandProgress = {
["build"]: Module.CommandResult<Module.BuildResult>;
["clean"]: Module.CommandResult<Module.CleanResult>;
["install"]: Module.CommandResult<Module.InstallResult>;
["update"]: Module.CommandResult<Module.UpdateResult>;
["unify"]: Module.CommandResult<Module.UnifyResult>;
["publish"]: Module.CommandResult<Module.PublishResult>;
["tests"]: Module.CommandResult<Module.TestingResults>;
["validate"]: Module.CommandResult<Module.ValidateResult>;
["analyze"]: Module.CommandResult<Module.AnalyzeResult>;
["shared"]: Module.CommandResult<Module.SharedResult>;
};
export interface CommandParams {
transpile?: boolean;
production?: boolean;
freeze?: boolean;
prune?: boolean;
noaudit?: boolean;
tag?: string;
progress?: <C extends Commands>(result: CommandProgress[C]) => void;
gui?: boolean;
commit?: boolean;
fix?: boolean;
latest?: boolean;
link?: boolean;
unlink?: boolean;
increment?: string;
browsers?: Array<string>;
devices?: Array<string>;
modules?: {
[key: string]: string;
};
}
export declare function command<C extends Commands>(initData: InitData, modulesData: ModulesData, command: C, params: CommandParams): Promise<CommandResults[C]>;
export declare function initialize(packageJson: PackageJson.PackageJsonInfo, entry: string, params: Module.InitParams): Promise<CommandResult<Module.InitResults>>;
export { convertUnify, answersUnify };