import type { BuildOptions, Plugin, UserConfig } from 'vite'; import type { OutputOptions } from 'rollup'; export declare function isVueTempFile(filePath: string): boolean; /** * 默认指定文件为 commonjs 和 es 两种 js规范语法 * @param fileRelativePath 文件的相对根目录的路径格式为 src/test.js 或者 test.js * @param options 参考 BuildFileOptions interface */ export declare function transformFile(fileRelativePath: string, options?: BuildFilesOptions): Promise; export type Format = 'cjs' | 'es' | { format: 'cjs' | 'es'; outDir: string; }; export interface BuildFilesOptions { /** * 输入文件夹,相对于项目根目录下,格式为 `src` 或者 `src/test` * @defaults src */ inputFolder?: string; /** * 转换的格式,只支持 es 和 cjs * @defaults [{ format: 'cjs', outDir: commonJsOutputDir }, { format: 'es', outDir: esOutputDir }] */ formats?: Format[]; /** * 设置监听构建,同 vite build.watch */ watch?: BuildOptions['watch']; /** * 支持转换的文件后缀名 * @defaults ['ts', 'tsx', 'js', 'jsx', 'vue', 'svelte'] */ extensions?: string[]; /** * es 文件输出路径,设置为 false 相当于关闭 es 模块的构建 * v0.6 版本以上,请使用 formats 来设置输出目录,formats 优先级更高 * @defaults es */ esOutputDir?: string | false; /** * commonjs 文件输出路径,设置为 false 相当于关闭 commonjs 模块的构建 * v0.6 版本以上,请使用 formats 来设置输出目录,formats 优先级更高 * @defaults lib */ commonJsOutputDir?: string | false; /** * 忽略的转换文件,只支持 glob 语法 * @defaults ['\*\*\/\*.spec.\*', '\*\*\/\*.test.\*', '\*\*\/\*.d.ts'] */ ignoreInputs?: string[]; /** * 此配置会覆盖所有当前构建中 vite config 中 build 配置, * 建议优先使用 rollupOptionsOutput、rollupOptionsExternal等其他字段配置 * 支持函数,第一个参数是入口文件路径 */ buildOptions?: BuildOptions | ((inputFilePath: string) => BuildOptions); /** * 和 rollup output 配置一致,会同时作用在 commonjs 和 es output 配置 * 支持函数,第一个参数是转换的文件路径 */ rollupOptionsOutput?: OutputOptions | ((outputFilePath: string) => OutputOptions); /** * 和 rollup external 配置一致, * 由于 external 不能把自身归属于外部依赖,所以函数模式的参数增加了第四个参数:入口文件相对路径 * 重新定义 external 需要这样判断:if(id.includes(path.resolve(fileRelativePath))) { return false } */ rollupOptionsExternal?: (string | RegExp)[] | string | RegExp | ((source: string, importer: string | undefined, isResolved: boolean, inputFilePath: string) => boolean | null | void); /** * vite 配置,内置字段,请不要使用此字段 */ viteConfig?: UserConfig; /** * 单个文件构建成功后的回调 * @param incrementCount 当前构建成功的递增统计数 * @param fileRelativePath 当前构建的文件相对根目录的路径 */ singleFileBuildSuccessCallback?: (incrementCount: number, fileRelativePath: string) => void; /** * 构建开始钩子函数,第一个参数 totalFilesCount 是转换文件的总数 * @param totalFilesCount 所有转换的文件数量 */ startBuild?: (totalFilesCount: number) => void; /** * 所有构建结束钩子函数 * @param totalFilesCount 所有转换的文件数量 */ endBuild?: (totalFilesCount: number) => void; /** * 插件钩子函数,请不要使用此字段 */ pluginHooks?: Plugin; } /** * 默认转换根目录 src 文件夹下所有 js、ts、jsx、tsx、vue、sevele 文件为 commonjs 和 es 两种 js规范语法 * @param options 参考 BuildFileOptions interface */ export declare function buildFiles(options?: BuildFilesOptions): Promise;