UNPKG

@joker.front/cli

Version:

The Next-Generation Front-End Toolchain: Swift, Efficient, and Adaptive.

106 lines (105 loc) 3.04 kB
import type { TransformOptions } from "esbuild"; import type { InternalModuleFormat, LoggingFunction, ModuleFormat, RollupLog, RollupOptions, RollupOutput } from "rollup"; import { ResolvedConfig } from "./config"; import { Plugin as RollupPlugin } from "rollup"; export interface BuildOptions { /** * 是否输出 * @default true */ write?: boolean; /** * 输出目标模式 * @default '["es2020", "edge88", "firefox78", "chrome87", "safari13"]' */ target?: TransformOptions["target"]; /** * roolup配置 */ rollupOptions?: RollupOptions; /** * 产物输出路径 * @default 'dist' */ outDir?: string; /** * 是否输出sourcemap */ sourcemap?: boolean; /** * 路径为outDir的相对路径,存放js/css/image构建资产 * @default 'assets' */ assetsDir?: string; /** * 资源大小限制,小于限制时,则使用dataUrl方式集成 * @default 4096 */ assetsInlineLimit?: number; /** * 是否开启压缩 * @default 'esbuild' */ minify?: boolean | "esbuild" | "terser"; /** * 以libaray模式构建,并可配置模块的引用类型esm、cjs、umd */ lib?: LibraryOptions | false; /** * 分包大小限制(警告处理) * @default 500 */ chunkSizeWarningLimit?: number; cssTraget?: TransformOptions["target"]; /** * 是否copy public * @default true */ copyPublicDir?: boolean; /** * 静态资源服务地址 */ publicBaseDir?: string; /** * worker 编译扩展信息 */ worker?: { rollupOptions?: RollupOptions; plugins?: (input: string) => Promise<RollupPlugin>; }; } export declare function resolveBuildOpt(config: Partial<ResolvedConfig>): void; export interface LibraryOptions { /** * 入口文件 */ entry: string; /** * 别名 */ name?: string; /** * 输出类型 * @default [es,umd] */ formats?: LibraryFormatType[]; /** * 输出文件名称,不配置则按原文件输出 */ fileName?: string | ((format: ModuleFormat) => string); } export type LibraryFormatType = "es" | "cjs" | "umd" | "iife"; /** * 构建主入口,控制主流程,支持并行多任务构建 * @param config */ export declare function build(config: ResolvedConfig): Promise<RollupOutput | RollupOutput[]>; export declare function onRollupWarning(config: ResolvedConfig, warnings: RollupLog, warn: LoggingFunction): void; /** * 获取output文件路径 * @returns 返回实际地址<string> 或者 返回runtime运行时执行语法 */ export declare function toOutputFilePath<T>(filename: string, hostId: string, config: ResolvedConfig, toRelative: (fileName: string, hostId: string) => T): T | string; export declare function createToImportMetaURLBasedRelativeRuntime(format: InternalModuleFormat): (filename: string, importer: string) => { runtime: string; };