UNPKG

@servant/servant

Version:

Servant builder for node modules.

60 lines (59 loc) 2.8 kB
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 };