@module-federation/enhanced
Version:
This package provides enhanced features for module federation.
41 lines (40 loc) • 1.7 kB
TypeScript
import { NormalizedSharedOptions } from "../SharePlugin.js";
import { moduleFederationPlugin } from "@module-federation/sdk";
import { Compiler, WebpackPluginInstance } from "webpack";
//#region src/lib/sharing/tree-shaking/IndependentSharedPlugin.d.ts
type ShareFallback = Record<string, [string, string, string][]>;
type MakeRequired<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
interface IndependentSharePluginOptions {
name: string;
shared: moduleFederationPlugin.Shared;
library?: moduleFederationPlugin.LibraryOptions;
outputDir?: string;
plugins?: WebpackPluginInstance[];
treeShaking?: boolean;
manifest?: moduleFederationPlugin.ModuleFederationPluginOptions['manifest'];
injectTreeShakingUsedExports?: boolean;
treeShakingSharedExcludePlugins?: string[];
}
declare class IndependentSharedPlugin {
mfName: string;
shared: moduleFederationPlugin.Shared;
library?: moduleFederationPlugin.LibraryOptions;
sharedOptions: NormalizedSharedOptions;
outputDir: string;
plugins: WebpackPluginInstance[];
treeShaking?: boolean;
manifest?: moduleFederationPlugin.ModuleFederationPluginOptions['manifest'];
injectTreeShakingUsedExports?: boolean;
buildAssets: ShareFallback;
treeShakingSharedExcludePlugins?: string[];
name: string;
constructor(options: IndependentSharePluginOptions);
static IndependentShareBuildAssetsFilename: string;
apply(compiler: Compiler): void;
private createEntry;
private createIndependentCompilers;
private createIndependentCompiler;
}
//#endregion
export { IndependentSharePluginOptions, MakeRequired, ShareFallback, IndependentSharedPlugin as default };
//# sourceMappingURL=IndependentSharedPlugin.d.ts.map