1import type { Gez } from '@gez/core';
2import { type SwcLoaderOptions } from '@rspack/core';
3import { type RspackAppOptions } from './app';
4import { RSPACK_LOADER } from './loader';
5export interface RspackHtmlAppOptions extends RspackAppOptions {
6 /**
7 * CSS 输出到 css 文件还是 js 文件中,默认为 css,设置 为 false,则关闭 css 相关的 loader 规则,需要你手动配置。
8 */
9 css?: 'css' | 'js' | false;
10 /**
11 * 你可以选择重写一部分 loader 的。比如把 style-loader 替换成 new URL(import.meta.resolve('vue-style-loader')).pathname
12 */
13 loaders?: Partial<Record<keyof typeof RSPACK_LOADER, string>>;
14 /**
15 * 透传 https://github.com/webpack-contrib/style-loader
16 */
17 styleLoader?: Record<string, any>;
18 /**
19 * 透传 https://github.com/webpack-contrib/css-loader
20 */
21 cssLoader?: Record<string, any>;
22 /**
23 * 透传 https://github.com/webpack-contrib/less-loader
24 */
25 lessLoader?: Record<string, any>;
26 /**
27 * 透传 https://github.com/yenshih/style-resources-loader
28 */
29 styleResourcesLoader?: Record<string, any>;
30 /**
31 * 透传 https://rspack.dev/guide/features/builtin-swc-loader
32 */
33 swcLoader?: SwcLoaderOptions;
34 /**
35 * 透传 DefinePlugin 的值 https://rspack.dev/plugins/webpack/define-plugin
36 */
37 definePlugin?: Record<string, string>;
38 /**
39 * 构建目标
40 */
41 target?: {
42 /**
43 * 浏览器的构建目标
44 */
45 web?: string[];
46 /**
47 * nodejs的构建目标
48 */
49 node?: string[];
50 };
51}
52export declare function createRspackHtmlApp(gez: Gez, options?: RspackHtmlAppOptions): Promise<import("@gez/core").App>;