@kcws/rspack-config
Version:
rspack configuration builder
27 lines • 1.25 kB
TypeScript
import type { Configuration } from "@rspack/core";
import { ConfigBuilder } from ".";
import { ConfigWrapper } from "./wrapper";
/**
* @public
*/
export type ConfigTransformer<Params extends unknown[] = unknown[]> = (input: ConfigWrapper, ...params: Params) => ConfigWrapper;
/**
* @public
*/
export type ConfigTransformers = Record<string, ConfigTransformer>;
type Merge<BaseObject, Key extends string, Value> = BaseObject & {
[name in Key]: Value;
};
/**
* @public
*/
export declare class ConfigService<Transformers extends ConfigTransformers> {
static define<Name extends string, Params extends unknown[], Transformer extends ConfigTransformer<Params> = ConfigTransformer<Params>>(name: Name, transformer: Transformer): ConfigService<{ [name in Name]: Transformer; }>;
static builder(config?: Configuration): ConfigBuilder<{}>;
private readonly transformers;
private constructor();
define<Name extends string, Params extends unknown[], Transformer extends ConfigTransformer<Params> = ConfigTransformer<Params>>(name: Name, transformer: Transformer): ConfigService<Merge<Transformers, Name, Transformer>>;
builder(config?: Configuration): ConfigBuilder<Transformers>;
}
export {};
//# sourceMappingURL=service.d.ts.map