UNPKG

@joker.front/cli

Version:

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

114 lines (113 loc) 3.29 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 { /** * Write bundles to disk * @default true */ write?: boolean; /** * Browser compatibility target * @default '["es2020", "edge88", "firefox78", "chrome87", "safari13"]' */ target?: TransformOptions["target"]; /** * Customize underlying Rollup configuration */ rollupOptions?: RollupOptions; /** * Output directory for build artifacts * @default 'dist' */ outDir?: string; /** * Generate source maps for bundles */ sourcemap?: boolean; /** * Directory (relative to outDir) to place generated assets * @default 'assets' */ assetsDir?: string; /** * Inline assets below this size (in bytes) as base64 URLs * @default 4096 */ assetsInlineLimit?: number; /** * Minify output * @default 'esbuild' */ minify?: boolean | "esbuild" | "terser"; /** * Library mode options for building packages */ lib?: LibraryOptions | false; /** * Warn when a chunk exceeds this size (in kilobytes) * @default 500 */ chunkSizeWarningLimit?: number; /** * CSS transformation target */ cssTarget?: TransformOptions["target"]; /** * Copy files from publicDir to outDir * @default true */ copyPublicDir?: boolean; /** * Base URL for static asset serving */ publicBaseDir?: string; /** * Options for terser * https://terser.org/docs/api-reference#minify-options */ terserOptions?: any; /** * Options for worker bundles */ 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; };