repacked
Version:
## Initialization
68 lines (60 loc) • 2.18 kB
TypeScript
import { moduleFederationPlugin } from '@module-federation/sdk';
import { Configuration, Compiler } from '@rspack/core';
import { Config } from 'jest';
type BuildMode = "production" | "development";
type BuildTarget = "client" | "server";
type DeepPartial<T> = {
[P in keyof T]?: T[P] extends (...args: any[]) => any ? T[P] : T[P] extends object ? DeepPartial<T[P]> : T[P];
};
type OutputOptions = {
dir: string;
};
type ClientOptions = {
enabled: boolean;
entry: string;
template: string;
publicPath: string;
assetsDir: string;
envFilter: (key: string, value?: string) => boolean;
};
type ServerOptions = {
runtime: "serverless" | "standalone";
enabled: boolean;
entry: string;
};
type DevelopmentOptions = {
port: number;
open: boolean;
};
type AppConfig$1 = {
appName: string;
output: OutputOptions;
development: DevelopmentOptions;
client: ClientOptions;
server: ServerOptions;
moduleFederation?: moduleFederationPlugin.ModuleFederationPluginOptions;
/**
* @deprecated use `rspack` instead
*/
webpack?: (config: Configuration, target: BuildTarget) => Configuration;
rspack: (config: Configuration, target: BuildTarget) => Configuration;
jest: (config: Config) => Config;
plugins: ReturnType<RepackedPluginFactory>[];
};
type ConsumerAppConfig = DeepPartial<AppConfig$1> & {
plugins?: ReturnType<RepackedPluginFactory>[];
};
type RepackedPluginConfig = {
target: BuildTarget;
appConfig: AppConfig$1;
};
type RepackedPluginReturn = {
apply: (compiler: Compiler) => void;
updateConfig?: (config: Configuration) => void;
};
type RepackedPluginFactory<Options = unknown> = (customOptions: Options) => (config: RepackedPluginConfig) => RepackedPluginReturn;
declare const runTest: (argv: string[], appConfig: AppConfig$1) => Promise<void>;
declare const serve: (mode: BuildMode, appConfig: AppConfig$1) => Promise<void>;
declare const build: (mode: BuildMode, appConfig: AppConfig$1) => Promise<void>;
type AppConfig = ConsumerAppConfig;
export { type AppConfig, type RepackedPluginConfig, type RepackedPluginFactory, build, serve, runTest as test };