/** * Utils for microapp packages */ import type { IProjectConfig, ProjectConfig } from '@byted/miniprogram-utils/dist/data/project'; import { ProjectSize } from '@byted/miniprogram-utils/typings/project'; import archiver from 'archiver'; import fg from 'fast-glob'; /** * 计算给定文件夹下面的文件体积总值 * * @param {Object} params - 参数对象 * @param {string} params.folderPath - 要计算大小的文件夹路径 * @param {boolean} params.useTypeScript - 是否使用TypeScript * @param {fg.Options} [params.options={}] - pass to fast-glob * @param {boolean} params.isGame - 是否为小玩法或小游戏 * @param {string[]} [params.gameFiles] - 小游戏文件列表 * @param {string} params.rootPath - 项目根路径 * @param {IProjectConfig['packOptions']} params.packOptions - 打包配置选项 * @returns {Promise} - 返回包含文件夹大小的Promise */ export declare function getFolderSize({ folderPath, useTypeScript, options, isGame, isLivePlugin, gameFiles, rootPath, packOptions, projectConfig, }: { folderPath: string; useTypeScript: boolean; options?: fg.Options; isGame: boolean; isLivePlugin?: boolean; gameFiles?: string[]; rootPath: string; packOptions: IProjectConfig['packOptions']; projectConfig: ProjectConfig; }): Promise; /** * 以文件夹为单位的包体积统计,不适用于依赖分析 * * @param projectPath * @param isGame */ export declare function getProjectSize(projectPath: string, isGame?: boolean): Promise; /** * 校验当前项目的分包体积是否符合要求 * 若有错误,会抛出 promise 异常 * * @param projectConfig */ export declare function verifySubPackageSize(projectConfig: ProjectConfig, type: 'preview' | 'upload'): Promise; declare type FolderToZipStreamOption = { whiteList: string[]; useTypeScript: boolean; }; /** * Convert a folder to zipStream. A new stream is created at each invocation. * * @param dir path to folder */ export declare function folderToZipStream(dir: string, { whiteList, useTypeScript }: FolderToZipStreamOption, isGame: boolean, highWaterMark?: number, options?: { isLivePlugin?: boolean; }): Promise; /** * For cli only * @param input */ export declare function prettyProjectSize(input: ProjectSize): string; export {};