@eljs/utils
Version:
Collection of nodejs utility.
74 lines • 2.41 kB
TypeScript
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