UNPKG

@eljs/utils

Version:
74 lines 2.41 kB
import { type CopyFileOptions, type RenderTemplateOptions } from "../file"; import { type Answers, type PromptObject } from 'prompts'; /** * 基础生成器类 */ export declare class BaseGenerator { /** * 目标文件基准路径 */ basedir: string | ((prompts: Record<string, any>) => string); /** * 问询结果 */ prompts: Answers<string>; /** * 模版渲染选项 */ renderTemplateOptions: RenderTemplateOptions | undefined; private _basedir; constructor(basedir: BaseGenerator['basedir'], renderTemplateOptions?: BaseGenerator['renderTemplateOptions']); run(): Promise<void>; prompting(): PromptObject<string> | Array<PromptObject<string>>; writing(): Promise<void>; /** * 拷贝文件 * @param from 源文件路径 * @param to 目标文件路径 * @param options 选项 */ copyFileSync(from: string, to: string, options?: CopyFileOptions): void; /** * 拷贝文件 * @param from 源文件路径 * @param to 目标文件路径 * @param options 选项 */ copyFile(from: string, to: string, options?: CopyFileOptions): Promise<void>; /** * 拷贝模版 * @param from 源文件路径 * @param to 目标文件路径 * @param data 模版数据 * @param options 选项 */ copyTplSync(from: string, to: string, data: Record<string, any>, options?: CopyFileOptions): void; /** * 拷贝模版 * @param from 源文件路径 * @param to 目标文件路径 * @param data 模版数据 * @param options 选项 */ copyTpl(from: string, to: string, data: Record<string, any>, options?: CopyFileOptions): Promise<void>; /** * 拷贝文件夹 * @param from 源文件路径 * @param to 目标文件路径 * @param options 选项 */ copyDirectorySync(from: string, to: string, data: Record<string, any>, options?: CopyFileOptions): void; /** * 拷贝文件夹 * @param from 源文件路径 * @param to 目标文件路径 * @param options 选项 */ copyDirectory(from: string, to: string, data: Record<string, any>, options?: CopyFileOptions): Promise<void>; /** * 检查文件夹 * @param targetDir 目标路径 */ checkDir(targetDir: string): true | Promise<boolean>; } //# sourceMappingURL=base-generator.d.ts.map