import type { CliOptions } from './cli'; import type { Plugin } from './plugin'; import type { AcceptedPlugin } from 'postcss'; export interface WebConfig { output?: { publicPath?: string; filename?: string; }; } export type RayConfig = Partial<{ output: string; plugins: Plugin[]; resolveAlias: Record; define: Record; externals: Record; /** * web打包自定义配置 */ web: WebConfig; tailwindcss: boolean | { postcssPlugins?: { /** Plugins to add before Tailwind and Autoprefixer. */ prepend?: AcceptedPlugin[]; /** Plugins to add after Tailwind and Autoprefixer. */ append?: AcceptedPlugin[]; }; /** * CSS Modules configuration. */ cssModules?: { /** Enable CSS Modules. Defaults to `true`. */ enabled?: boolean; /** Regex to identify CSS Module files. Defaults to `/\.module\.css$/`. */ filter?: RegExp; /** Regex patterns to exclude files from CSS Modules. */ exclude?: RegExp[]; }; }; esbuildConfig?: (config: import('esbuild').BuildOptions, processName: string) => import('esbuild').BuildOptions; onTargetDir: (dir: string, type: string) => string; miniprogramRoot: string; functionalRoot: string; UNSAFE_wechatTemplateDepth: Record; importTransformer: Array<{ libraryName: string; format: (localName: string, importedName: string) => string; }>; reactDomCheckEnable: boolean; } & CliOptions>;