import type { WebCompilerUserConfig } from '@morjs/plugin-compiler-web'; import { EntryBuilderHelpers, Runner, webpack, zod as z } from '@morjs/utils'; export declare const COMPILE_COMMAND_NAME = "compile"; /** * mor 子 runner 判断标识符,用于独立分包编译 */ export declare const CHILD_COMPILER_RUNNER = "MOR_CHILD_RUNNER_COMPILER_FLAG"; /** * 独立分包 context key 名称 */ export declare const INDEPENDENT_SUBPACAKGE_JSON = "independentSubpackageJson"; /** * 运行时源码类型标记 */ export declare const RUNTIME_SOURCE_TYPES: { readonly alipay: "a"; readonly wechat: "w"; }; /** * mor 核心运行时基础库 * 兼容旧的基础库 */ export declare const MOR_RUNTIME_NPMS: { api: string[]; core: string[]; }; /** * mor 运行时正则匹配 */ export declare const MOR_RUNTIME_PACKAGE_REGEXP: RegExp; export declare const NON_SCRIPT_ENTRIES_FILENAME = "mor_non_script_entries"; export declare const DEFAULT_CHUNK_LOADING_GLOBAL = "mor_modules"; export declare const NODE_MODULES = "node_modules"; export declare const ExtraStyleFileTypes: readonly [".less", ".scss", ".sass"]; export declare const ExtraScriptTypes: readonly [".mjs", ".ts", ".mts"]; export declare const ExtraConfigTypes: readonly [".jsonc", ".json5"]; export declare const AllTemplateFileTypes: (".axml" | ".swan" | ".ttml" | ".ksml" | ".qml" | ".wxml")[]; export declare const AllStyleFileTypes: (".acss" | ".css" | ".ttss" | ".qss" | ".wxss" | ".less" | ".scss" | ".sass")[]; export declare const AllConfigFileTypes: (".json" | ".jsonc" | ".json5")[]; export declare const AllScriptFileTypes: (".js" | ".mjs" | ".ts" | ".mts")[]; export declare const AllSjsFileTypes: (".sjs" | ".wxs" | ".qs")[]; export declare const AllFileTypes: (".axml" | ".swan" | ".ttml" | ".ksml" | ".qml" | ".wxml" | ".acss" | ".css" | ".ttss" | ".qss" | ".wxss" | ".json" | ".js" | ".sjs" | ".wxs" | ".qs" | ".mjs" | ".ts" | ".mts" | ".jsonc" | ".json5" | ".less" | ".scss" | ".sass")[]; export declare const AssetFileTypes: readonly [".jpg", ".jpeg", ".png", ".svg", ".bmp", ".ico", ".gif", ".webp", ".otf", ".ttf", ".woff", ".woff2", ".eot", ".cer", ".ogg", ".aac", ".mp4", ".wav", ".mp3", ".m4a", ".silk", ".wasm", ".br", ".cert"]; export declare const AssetFileExtPattern: string; export declare const LESS_REGEXP: RegExp; export declare const SASS_REGEXP: RegExp; export declare const TS_REGEXP: RegExp; export declare const SCRIPT_REGEXP: RegExp; export declare const TEMPLATE_REGEXP: RegExp; export declare const SJS_REGEXP: RegExp; export declare const STYLE_REGEXP: RegExp; export declare const JSON_REGEXP: RegExp; export declare const NODE_MODULE_REGEXP: RegExp; export interface CustomLoaderOptions { userConfig: CompilerUserConfig; entryBuilder: EntryBuilderHelpers; runner: Runner; processNodeModules?: boolean; } /** * 编译模式 * - bundle: 打包编译模式, 会处理 npm 包并将代码按照特定逻辑进行打包, 产物中无 node_modules * - transform: 转换编译模式, 仅转换和编译源码,不处理 npm 组件和依赖(由 default 和 transfer 合并而来) * - NOTE: transfer 和 default 模式已合并为 transform, 出于兼容性考虑这里依然替用配置支持 */ export declare const CompileModes: import("@morjs/utils").ConstObject<["bundle", "transform", "transfer", "default"]>; /** * 入口配置文件类型 * - app.json: 小程序入口配置文件 * - plugin.json: 小程序插件入口配置文件 * - subpackage.json: 小程序分包入口配置文件 */ export declare const RootEntryConfigFiles: import("@morjs/utils").ConstObject<["app.json", "plugin.json", "subpackage.json"]>; /** * 编译类型描述 */ export declare const CompileTypeDescriptions: { readonly miniprogram: "小程序"; readonly plugin: "插件"; readonly subpackage: "分包"; readonly component: "组件"; }; /** * 构建模式, 和 webpack 一致 */ export declare const Modes: import("@morjs/utils").ConstObject<["production", "development", "none"]>; /** * devtools 和 webpack 一致 * 参见: https://webpack.js.org/configuration/devtool/ */ export declare const DevTools: import("@morjs/utils").ConstObject<["eval", "eval-cheap-source-map", "eval-cheap-module-source-map", "eval-source-map", "cheap-source-map", "cheap-module-source-map", "source-map", "inline-cheap-source-map", "inline-cheap-module-source-map", "inline-source-map", "eval-nosources-cheap-source-map", "eval-nosources-cheap-module-source-map", "eval-nosources-source-map", "inline-nosources-cheap-source-map", "inline-nosources-cheap-module-source-map", "inline-nosources-source-map", "nosources-cheap-source-map", "nosources-cheap-module-source-map", "nosources-source-map", "hidden-nosources-cheap-source-map", "hidden-nosources-cheap-module-source-map", "hidden-nosources-source-map", "hidden-cheap-source-map", "hidden-cheap-module-source-map", "hidden-source-map"]>; /** * 全局对象替换方式 * - `enhanced` 增强方式: wx => mor 并追加 mor import, mor 中包含 api 的抹平 * - `lite` 轻量级的方式: wx => my, 替换所有 globalObject * - `minimal` 最小替换: wx.abc() => my.abc(), 仅替换函数调用 */ export declare const GlobalObjectTransformTypes: import("@morjs/utils").ConstObject<["enhanced", "lite", "minimal"]>; export declare const JSMinimizerTypes: import("@morjs/utils").ConstObject<["terser", "esbuild", "swc"]>; export declare const CSSMinimizerTypes: import("@morjs/utils").ConstObject<["esbuild", "csso", "cssnano", "cleancss", "parcelcss"]>; export declare const CompressCssStrategies: import("@morjs/utils").ConstObject<["lite"]>; export declare const PhantomDependencyMode: import("@morjs/utils").ConstObject<["warn", "error"]>; /** * 编译命令行及用户配置条目 */ declare type ICliConfigItem = { cliOption?: string; name: string; overwriteUserConfig?: boolean | string; ignoreCliValue?: (v: any) => boolean; desc?: string; valuesDesc?: string | (() => string); default?: string | boolean | string[] | number; children?: ICliConfig; }; declare type ICliConfig = { [k: string]: ICliConfigItem; }; export declare const DEFAULT_SRC_PATH = "./src"; export declare const CompilerCliConfig: ICliConfig; declare const compressCssClassNameSchema: z.ZodDefault>>>; prefix: z.ZodDefault>; surfix: z.ZodDefault>; include: z.ZodDefault, "many">>>; exclude: z.ZodDefault, "many">>>; except: z.ZodDefault>>; alphabet: z.ZodDefault>; customAttributeNames: z.ZodDefault>>; classNameFilter: z.ZodOptional, z.ZodBoolean>>; disableDynamicClassDetection: z.ZodOptional, z.ZodBoolean>, z.ZodBoolean]>>; success: z.ZodOptional], z.ZodUnknown>, z.ZodVoid>>; }, "strip", z.ZodTypeAny, { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }, { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }>>, z.ZodOptional]>>; export declare type CompressCssClassNameSchema = z.infer; export declare const CompilerUserConfigSchema: z.ZodObject<{ sourceType: z.ZodDefault>>; target: z.ZodDefault>>; compileMode: z.ZodDefault>>; compileType: z.ZodDefault>>; devtool: z.ZodUnion<[z.ZodOptional>>, z.ZodOptional]>; minimize: z.ZodOptional; jsMinimizer: z.ZodDefault>, z.ZodBoolean]>>; jsMinimizerOptions: z.ZodOptional>; cssMinimizer: z.ZodDefault>, z.ZodBoolean]>>; cssMinimizerOptions: z.ZodOptional>; xmlMinimizer: z.ZodOptional; xmlMinimizerOptions: z.ZodOptional>; mode: z.ZodDefault>>; srcPath: z.ZodDefault; srcPaths: z.ZodOptional>; outputPath: z.ZodOptional; autoClean: z.ZodDefault>; watch: z.ZodDefault>; ignore: z.ZodDefault>; cache: z.ZodOptional; globalObject: z.ZodOptional; /** * 用于配置全局文件的后缀,避免冲突,以及 globalChunkLoading 的后缀添加 */ globalNameSuffix: z.ZodOptional; /** * 自定义 entries * 1. 用于自定义 app.json / subpackage.json / plugin.json 等入口文件 * 2. 用于配置 额外需要生成的入口文件,如某个期望在 bundle 后依然能保持正确的路径的文件 * 3. bundle 模式下,无引用关系,但需要额外需要编译的 页面(pages) 或 组件(components) */ customEntries: z.ZodOptional; 'subpackage.json': z.ZodOptional; 'plugin.json': z.ZodOptional; 'component.json': z.ZodOptional; pages: z.ZodOptional>; components: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 'app.json': z.ZodOptional; 'subpackage.json': z.ZodOptional; 'plugin.json': z.ZodOptional; 'component.json': z.ZodOptional; pages: z.ZodOptional>; components: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 'app.json': z.ZodOptional; 'subpackage.json': z.ZodOptional; 'plugin.json': z.ZodOptional; 'component.json': z.ZodOptional; pages: z.ZodOptional>; components: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; autoInjectRuntime: z.ZodDefault; page: z.ZodOptional; component: z.ZodOptional; behavior: z.ZodOptional; mixin: z.ZodOptional; api: z.ZodUnion<[z.ZodOptional, z.ZodNativeEnum>]>; }, "strip", z.ZodTypeAny, { app?: boolean; page?: boolean; component?: boolean; behavior?: boolean; mixin?: boolean; api?: boolean | "enhanced" | "lite" | "minimal"; }, { app?: boolean; page?: boolean; component?: boolean; behavior?: boolean; mixin?: boolean; api?: boolean | "enhanced" | "lite" | "minimal"; }>, z.ZodBoolean]>>; phantomDependency: z.ZodDefault>>; exclude: z.ZodOptional>; }, "strip", z.ZodTypeAny, { mode?: "warn" | "error"; exclude?: string[]; }, { mode?: "warn" | "error"; exclude?: string[]; }>, z.ZodBoolean]>>; compilerOptions: z.ZodDefault; declaration: z.ZodDefault>; importHelpers: z.ZodOptional; module: z.ZodOptional>>; target: z.ZodOptional>>; esModuleInterop: z.ZodOptional; allowSyntheticDefaultImports: z.ZodOptional; }, "strip", z.ZodTypeAny, { autoCorrectModuleKind?: boolean; declaration?: boolean; importHelpers?: boolean; module?: "CommonJS" | "ES2015" | "ES2020" | "ESNext"; target?: "ES2015" | "ES2020" | "ESNext" | "ES5" | "ES2016" | "ES2017" | "ES2018" | "ES2019" | "ES2021" | "Latest"; esModuleInterop?: boolean; allowSyntheticDefaultImports?: boolean; }, { autoCorrectModuleKind?: boolean; declaration?: boolean; importHelpers?: boolean; module?: "CommonJS" | "ES2015" | "ES2020" | "ESNext"; target?: "ES2015" | "ES2020" | "ESNext" | "ES5" | "ES2016" | "ES2017" | "ES2018" | "ES2019" | "ES2021" | "Latest"; esModuleInterop?: boolean; allowSyntheticDefaultImports?: boolean; }>>>; conditionalCompile: z.ZodDefault>>; fileExt: z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { context?: Record; fileExt?: string | string[]; }, { context?: Record; fileExt?: string | string[]; }>>>; mockAppEntry: z.ZodOptional; experiments: z.ZodOptional>; compressCssClassName: z.ZodDefault>>>; prefix: z.ZodDefault>; surfix: z.ZodDefault>; include: z.ZodDefault, "many">>>; exclude: z.ZodDefault, "many">>>; except: z.ZodDefault>>; alphabet: z.ZodDefault>; customAttributeNames: z.ZodDefault>>; classNameFilter: z.ZodOptional, z.ZodBoolean>>; disableDynamicClassDetection: z.ZodOptional, z.ZodBoolean>, z.ZodBoolean]>>; success: z.ZodOptional], z.ZodUnknown>, z.ZodVoid>>; }, "strip", z.ZodTypeAny, { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }, { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }>>, z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { autoTrimRuntimeHelpers?: boolean; compressCssClassName?: boolean | { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }; }, { autoTrimRuntimeHelpers?: boolean; compressCssClassName?: boolean | { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }; }>>; analyzer: z.ZodOptional>>; analyzerHost: z.ZodDefault; analyzerPort: z.ZodDefault, z.ZodNumber]>, z.ZodNativeEnum>]>>; reportFilename: z.ZodDefault; reportTitle: z.ZodUnion<[z.ZodOptional, z.ZodOptional, z.ZodString>>]>; defaultSizes: z.ZodDefault>>>; openAnalyzer: z.ZodDefault>; generateStatsFile: z.ZodDefault>; statsFilename: z.ZodDefault; statsOptions: z.ZodOptional; excludeAssets: z.ZodOptional>]>, z.ZodFunction, z.ZodBoolean>]>, "many">, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodOptional>]>, z.ZodFunction, z.ZodBoolean>]>]>>; logLevel: z.ZodDefault>>>; }, "strip", z.ZodTypeAny, { analyzerMode?: "server" | "static" | "json" | "disabled"; analyzerHost?: string; analyzerPort?: number | "auto"; reportFilename?: string; reportTitle?: string | ((...args: unknown[]) => string); defaultSizes?: "stat" | "parsed" | "gzip"; openAnalyzer?: boolean; generateStatsFile?: boolean; statsFilename?: string; statsOptions?: any; excludeAssets?: string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean) | (string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean))[]; logLevel?: "warn" | "error" | "info" | "silent"; }, { analyzerMode?: "server" | "static" | "json" | "disabled"; analyzerHost?: string; analyzerPort?: string | number; reportFilename?: string; reportTitle?: string | ((...args: unknown[]) => string); defaultSizes?: "stat" | "parsed" | "gzip"; openAnalyzer?: boolean; generateStatsFile?: boolean; statsFilename?: string; statsOptions?: any; excludeAssets?: string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean) | (string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean))[]; logLevel?: "warn" | "error" | "info" | "silent"; }>, z.ZodBoolean]>>; /** * 支持文件拷贝 * 支持 ['file1', 'file2'] 或 [{ from: 'abc/2', to: 'cde/2' }] * 其中 from 是相对于 srcPath 或 srcPaths 的路径 * to 是相对于 outputPath 的路径 */ copy: z.ZodOptional; force: z.ZodOptional; globOptions: z.ZodOptional>; priority: z.ZodOptional; toType: z.ZodOptional; filter: z.ZodOptional, z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { from?: string; to?: string; context?: string; force?: boolean; globOptions?: Record; priority?: number; toType?: string; filter?: (args_0: string, ...args_1: unknown[]) => boolean; }, { from?: string; to?: string; context?: string; force?: boolean; globOptions?: Record; priority?: number; toType?: string; filter?: (args_0: string, ...args_1: unknown[]) => boolean; }>]>, "many">>; processNodeModules: z.ZodOptional, z.ZodArray, "many">]>>; exclude: z.ZodDefault, z.ZodArray, "many">]>>; }, "strip", z.ZodTypeAny, { include?: RegExp | RegExp[]; exclude?: RegExp | RegExp[]; }, { include?: RegExp | RegExp[]; exclude?: RegExp | RegExp[]; }>]>>; /** * 配置代码中的变量 * 目前仅 bundle 模式下生效 */ define: z.ZodDefault>; /** * 配置别名 */ alias: z.ZodDefault>; /** * 是否处理 componentPlaceholder 中的组件 * compileType 为 miniprogram 或 plugin 时默认为 true * compileType 为 subpackage 或 component 时默认为 false */ processPlaceholderComponents: z.ZodOptional; /** * 是否处理组件入参函数 */ processComponentsPropsFunction: z.ZodDefault>; /** * 配置可以共享的 node_modules 模块, 通常用于主子分包分仓库管理集成的场景 */ shared: z.ZodDefault]>, "many">>; /** * 配置需要消费的 node_modules 模块, 通常用于主子分包分仓库管理集成的场景 */ consumes: z.ZodDefault]>, "many">>; /** * 是否生成 mor.p.js 文件,用于更新集成时 app.json 内容 */ generateAppJSONScript: z.ZodDefault; }, "strip", z.ZodTypeAny, { sourceType?: "alipay" | "wechat"; target?: "alipay" | "wechat" | "baidu" | "bytedance" | "qq" | "taobao" | "dingding" | "web" | "web-pro" | "weex-pro"; compileMode?: "bundle" | "transform" | "transfer" | "default"; compileType?: "miniprogram" | "plugin" | "subpackage" | "component"; devtool?: boolean | "eval" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map"; minimize?: boolean; jsMinimizer?: boolean | "terser" | "esbuild" | "swc"; jsMinimizerOptions?: Record; cssMinimizer?: boolean | "esbuild" | "csso" | "cssnano" | "cleancss" | "parcelcss"; cssMinimizerOptions?: Record; xmlMinimizer?: boolean; xmlMinimizerOptions?: Record; mode?: "production" | "development" | "none"; srcPath?: string; srcPaths?: string[]; outputPath?: string; autoClean?: boolean; watch?: boolean; ignore?: string[]; cache?: boolean; globalObject?: string; globalNameSuffix?: string; customEntries?: z.objectOutputType<{ 'app.json': z.ZodOptional; 'subpackage.json': z.ZodOptional; 'plugin.json': z.ZodOptional; 'component.json': z.ZodOptional; pages: z.ZodOptional>; components: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">; autoInjectRuntime?: boolean | { app?: boolean; page?: boolean; component?: boolean; behavior?: boolean; mixin?: boolean; api?: boolean | "enhanced" | "lite" | "minimal"; }; phantomDependency?: boolean | { mode?: "warn" | "error"; exclude?: string[]; }; compilerOptions?: { autoCorrectModuleKind?: boolean; declaration?: boolean; importHelpers?: boolean; module?: "CommonJS" | "ES2015" | "ES2020" | "ESNext"; target?: "ES2015" | "ES2020" | "ESNext" | "ES5" | "ES2016" | "ES2017" | "ES2018" | "ES2019" | "ES2021" | "Latest"; esModuleInterop?: boolean; allowSyntheticDefaultImports?: boolean; }; conditionalCompile?: { context?: Record; fileExt?: string | string[]; }; mockAppEntry?: string; experiments?: { autoTrimRuntimeHelpers?: boolean; compressCssClassName?: boolean | { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }; }; analyzer?: boolean | { analyzerMode?: "server" | "static" | "json" | "disabled"; analyzerHost?: string; analyzerPort?: number | "auto"; reportFilename?: string; reportTitle?: string | ((...args: unknown[]) => string); defaultSizes?: "stat" | "parsed" | "gzip"; openAnalyzer?: boolean; generateStatsFile?: boolean; statsFilename?: string; statsOptions?: any; excludeAssets?: string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean) | (string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean))[]; logLevel?: "warn" | "error" | "info" | "silent"; }; copy?: (string | { from?: string; to?: string; context?: string; force?: boolean; globOptions?: Record; priority?: number; toType?: string; filter?: (args_0: string, ...args_1: unknown[]) => boolean; })[]; processNodeModules?: boolean | { include?: RegExp | RegExp[]; exclude?: RegExp | RegExp[]; }; define?: Record; alias?: Record; processPlaceholderComponents?: boolean; processComponentsPropsFunction?: boolean; shared?: (string | Record)[]; consumes?: (string | Record)[]; generateAppJSONScript?: boolean; }, { sourceType?: "alipay" | "wechat"; target?: "alipay" | "wechat" | "baidu" | "bytedance" | "qq" | "taobao" | "dingding" | "web" | "web-pro" | "weex-pro"; compileMode?: "bundle" | "transform" | "transfer" | "default"; compileType?: "miniprogram" | "plugin" | "subpackage" | "component"; devtool?: boolean | "eval" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map"; minimize?: boolean; jsMinimizer?: boolean | "terser" | "esbuild" | "swc"; jsMinimizerOptions?: Record; cssMinimizer?: boolean | "esbuild" | "csso" | "cssnano" | "cleancss" | "parcelcss"; cssMinimizerOptions?: Record; xmlMinimizer?: boolean; xmlMinimizerOptions?: Record; mode?: "production" | "development" | "none"; srcPath?: string; srcPaths?: string[]; outputPath?: string; autoClean?: boolean; watch?: boolean; ignore?: string[]; cache?: boolean; globalObject?: string; globalNameSuffix?: string; customEntries?: z.objectInputType<{ 'app.json': z.ZodOptional; 'subpackage.json': z.ZodOptional; 'plugin.json': z.ZodOptional; 'component.json': z.ZodOptional; pages: z.ZodOptional>; components: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">; autoInjectRuntime?: boolean | { app?: boolean; page?: boolean; component?: boolean; behavior?: boolean; mixin?: boolean; api?: boolean | "enhanced" | "lite" | "minimal"; }; phantomDependency?: boolean | { mode?: "warn" | "error"; exclude?: string[]; }; compilerOptions?: { autoCorrectModuleKind?: boolean; declaration?: boolean; importHelpers?: boolean; module?: "CommonJS" | "ES2015" | "ES2020" | "ESNext"; target?: "ES2015" | "ES2020" | "ESNext" | "ES5" | "ES2016" | "ES2017" | "ES2018" | "ES2019" | "ES2021" | "Latest"; esModuleInterop?: boolean; allowSyntheticDefaultImports?: boolean; }; conditionalCompile?: { context?: Record; fileExt?: string | string[]; }; mockAppEntry?: string; experiments?: { autoTrimRuntimeHelpers?: boolean; compressCssClassName?: boolean | { strategy?: "lite"; prefix?: string; surfix?: string; include?: RegExp[]; exclude?: RegExp[]; except?: string[]; alphabet?: string; customAttributeNames?: string[]; classNameFilter?: (args_0: string, args_1: string, ...args_2: unknown[]) => boolean; disableDynamicClassDetection?: boolean | ((args_0: string, ...args_1: unknown[]) => boolean); success?: (args_0: Map, ...args_1: unknown[]) => void; }; }; analyzer?: boolean | { analyzerMode?: "server" | "static" | "json" | "disabled"; analyzerHost?: string; analyzerPort?: string | number; reportFilename?: string; reportTitle?: string | ((...args: unknown[]) => string); defaultSizes?: "stat" | "parsed" | "gzip"; openAnalyzer?: boolean; generateStatsFile?: boolean; statsFilename?: string; statsOptions?: any; excludeAssets?: string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean) | (string | RegExp | ((args_0: string, ...args_1: unknown[]) => boolean))[]; logLevel?: "warn" | "error" | "info" | "silent"; }; copy?: (string | { from?: string; to?: string; context?: string; force?: boolean; globOptions?: Record; priority?: number; toType?: string; filter?: (args_0: string, ...args_1: unknown[]) => boolean; })[]; processNodeModules?: boolean | { include?: RegExp | RegExp[]; exclude?: RegExp | RegExp[]; }; define?: Record; alias?: Record; processPlaceholderComponents?: boolean; processComponentsPropsFunction?: boolean; shared?: (string | Record)[]; consumes?: (string | Record)[]; generateAppJSONScript?: boolean; }>; export declare type CompilerUserConfig = z.infer & { /** * webpack 的 externals 配置, 直接透传给 webpack * externalType 会根据 target 设置不同的默认值,也可以业务手动指定(web 场景下经常需要指定为 window) */ externals?: webpack.Configuration['externals']; externalsType?: webpack.Configuration['externalsType']; } & WebCompilerUserConfig & { /** * @internal 仅供插件内部使用, 请勿直接配置 * 最终产物目录, 通常情况下和 outputPath 一致, * 仅在内部场景下使用, 用于标识最终产物目录, * 应用默认值时会自动被 outputPath 覆盖, 如无必要请勿修改 */ finalOutputPath?: string; }; export {};