f2e-middle-esbuild
Version:
f2e-server middleware for esbuild
38 lines (37 loc) • 1.51 kB
TypeScript
import { MiddlewareCreater } from 'f2e-server';
import * as esbuild from 'esbuild';
declare namespace creater {
interface BuildOptions extends esbuild.BuildOptions {
/** 默认生成externals,不需要时候,可以设置为false */
ignore_external?: boolean;
/**
* 拆分编译模块
* 需要依赖 ignore_external 为false 且 external 配置不为空
* 1. 防止重复编译模块过多,
* 2. 依赖external提供的全局模块名称和require函数
* 3. 主要为了加快开发环境编译速度,非dev环境可不开启
*/
external_splits?: {
moduleName: string;
entry: string;
}[];
}
interface MiddlewareOption {
/** 默认配置文件地址 */
esbuildrc?: string;
/** 针对哪些文件监听修改 */
watches?: RegExp[];
/** 临时文件地址,需要添加到 .gitignore */
cacheRoot?: string;
/** external文件名称生成方式 */
externalName?: (index: number, split_index?: number) => string;
/** external导出变量名 */
moduleName?: (index: number, split_index?: number) => string;
/** 运行时修改的通用esbuild编译参数不含 external 包 */
options?: esbuild.BuildOptions;
/** 运行时修改的external编译参数 */
externalOptions?: esbuild.BuildOptions;
}
}
declare const creater: MiddlewareCreater;
export = creater;