unbag
Version:
一个专门用来开发npm工具的包
39 lines (38 loc) • 1.66 kB
TypeScript
import { ParallelConfig } from "../commands/parallel";
import { TransformConfig } from "../commands/transform";
import { AbsolutePath } from "../utils/path";
import { ReleaseConfig } from "../commands/release";
import { Locale } from "./common";
import { DeepPartial } from "./types";
import { LogConfig } from "./log";
import { DeepReadonly } from "ts-essentials";
import { CommitConfig } from "./../commands/commit/config";
export type UserConfig = {
root: string;
locale: Locale;
configFileResolvedPath?: string;
tempDir: string;
log: LogConfig;
catch: (error: any) => void;
transform: TransformConfig;
parallel: ParallelConfig;
release: ReleaseConfig;
commit: CommitConfig;
};
export type FinalUserConfig = DeepReadonly<UserConfig>;
export type UserConfigOptional = DeepPartial<Omit<UserConfig, "configFileResolvedPath">>;
export declare const useDefaultConfig: () => UserConfig;
export declare const defineUserConfig: (config: UserConfigOptional) => UserConfigOptional;
export declare const resolveUserConfig: (options: {
root: AbsolutePath;
filePath?: string;
locale: Locale;
}) => Promise<(UserConfigOptional & {
configFileResolvedPath: string;
}) | undefined>;
export declare function loadUserConfigFromFile(absoluteFilePath: AbsolutePath): Promise<(UserConfigOptional & {
configFileResolvedPath: string;
}) | undefined>;
export declare const mergeDefaultConfig: (userConfig?: UserConfigOptional) => UserConfig;
export declare const mergeConfig: <T, D extends DeepPartial<T>>(defaults: T, overrides: D) => T;
export declare const deepFreezeConfig: (userConfig: UserConfig) => FinalUserConfig;