import { Options as EjsOptions } from 'ejs'; import type fs from 'fs'; type FileSystem = typeof fs; /** * 将某个目录下的文件读取 */ export declare function loadFiles(fileSystem: FileSystem, source: string): Record; /** * 将某个目录下的文件渲染 */ export declare function renderFiles(fileSystem: FileSystem, source: string, pattern: string, additionalData?: Record, ejsOptions?: EjsOptions): Record; /** * 渲染单个文件 * @param sourcePath * @param additionalData * @param ejsOptions */ export declare function renderFile(fileSystem: FileSystem, sourcePath: string, additionalData?: Record, ejsOptions?: EjsOptions): string; /** * 创建文件夹 */ export declare function mkdirp(fileSystem: FileSystem, dirname: string): Promise; /** * 写入文件 */ export declare function writeFile(fileSystem: FileSystem, filename: string, content: string): Promise; /** * 写入文件 */ export declare function writeFiles(fileSystem: FileSystem, context: string, files: Record): Promise; /** * 删除文件 * @param context * @param files */ export declare function removeFiles(fileSystem: FileSystem, context: string, files: Iterable): Promise; /** * 将虚拟文件树同步到文件系统 * @param context * @param files */ export declare function syncFiles(fileSystem: FileSystem, context: string, files: Record): Promise; /** * 执行命令 */ export declare function exec(context: string, command: string, args?: string[]): Promise; /** * 合并 package.json 中的 dependencies * @param id * @param sourceDeps * @param depsToInject * @param depSources */ export declare const mergeDeps: (id: string, sourceDeps: Record, depsToInject: Record, depSources: Record) => Record; /** * 合并 package.json */ export declare function mergePackage(target: Record, toMerge: Record, id: string, sourceDeps: Record): void; /** * 生成 package.json */ export declare function stringifyPackage(pkg: Record): string; /** * 获取路径下的本地 service * @param context */ export declare function getLocalService(context: string): typeof import('@mpflow/service'); /** * 检测是否使用 yarn */ export declare function shouldUseYarn(): boolean; /** * 安装 node modules */ export declare function installNodeModules(context: string, modules?: string[], { saveDev }?: { saveDev?: boolean; }): Promise; export declare function getPaths(path: string): string[]; /** * 获取 npm 包信息 * @param moduleName * @param resolveNames */ export declare function getNpmModuleInfo(moduleName: string, resolveNames?: (moduleName: string) => string[]): Promise<{ name: string; downloadUrl: string; version: string; versions: string[]; }>; export {};