Project Init

This commit is contained in:
Muluhabt
2026-05-29 15:23:46 +03:00
commit 2fbc557aac
67387 changed files with 6063341 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
import { type BuiltinPlugin, BuiltinPluginName } from "@rspack/binding";
import { RspackBuiltinPlugin } from "../builtin-plugin/base";
import type { Compiler } from "../Compiler";
import type { EntryRuntime, FilenameTemplate, LibraryOptions } from "../config";
export type ContainerPluginOptions = {
exposes: Exposes;
filename?: FilenameTemplate;
library?: LibraryOptions;
name: string;
runtime?: EntryRuntime;
shareScope?: string;
enhanced?: boolean;
};
export type Exposes = (ExposesItem | ExposesObject)[] | ExposesObject;
export type ExposesItem = string;
export type ExposesItems = ExposesItem[];
export type ExposesObject = {
[k: string]: ExposesConfig | ExposesItem | ExposesItems;
};
export type ExposesConfig = {
import: ExposesItem | ExposesItems;
name?: string;
};
export declare class ContainerPlugin extends RspackBuiltinPlugin {
name: BuiltinPluginName;
_options: {
name: string;
shareScope: string;
library: LibraryOptions;
runtime: EntryRuntime | undefined;
filename: string | undefined;
exposes: [string, {
import: string[];
name: string | undefined;
}][];
enhanced: boolean;
};
constructor(options: ContainerPluginOptions);
raw(compiler: Compiler): BuiltinPlugin;
}

View File

@@ -0,0 +1,33 @@
import { type BuiltinPlugin, BuiltinPluginName } from "@rspack/binding";
import { RspackBuiltinPlugin } from "../builtin-plugin/base";
import type { Compiler } from "../Compiler";
import type { ExternalsType } from "../config";
export type ContainerReferencePluginOptions = {
remoteType: ExternalsType;
remotes: Remotes;
shareScope?: string;
enhanced?: boolean;
};
export type Remotes = (RemotesItem | RemotesObject)[] | RemotesObject;
export type RemotesItem = string;
export type RemotesItems = RemotesItem[];
export type RemotesObject = {
[k: string]: RemotesConfig | RemotesItem | RemotesItems;
};
export type RemotesConfig = {
external: RemotesItem | RemotesItems;
shareScope?: string;
};
export declare class ContainerReferencePlugin extends RspackBuiltinPlugin {
name: BuiltinPluginName;
_options: {
remoteType: ExternalsType;
remotes: [string, {
external: string[];
shareScope: string;
}][];
enhanced: boolean;
};
constructor(options: ContainerReferencePluginOptions);
raw(compiler: Compiler): BuiltinPlugin;
}

View File

@@ -0,0 +1,37 @@
import { type BuiltinPlugin, BuiltinPluginName } from "@rspack/binding";
import { RspackBuiltinPlugin } from "../builtin-plugin/base";
import type { Compiler } from "../Compiler";
export type RemoteAliasMap = Record<string, {
name: string;
entry?: string;
}>;
export type ManifestExposeOption = {
path: string;
name: string;
};
export type ManifestSharedOption = {
name: string;
version?: string;
requiredVersion?: string;
singleton?: boolean;
};
export type ModuleFederationManifestPluginOptions = {
name?: string;
globalName?: string;
filePath?: string;
disableAssetsAnalyze?: boolean;
fileName?: string;
remoteAliasMap?: RemoteAliasMap;
exposes?: ManifestExposeOption[];
shared?: ManifestSharedOption[];
};
/**
* JS-side post-processing plugin: reads mf-manifest.json and mf-stats.json, executes additionalData callback and merges/overwrites manifest.
* To avoid cross-NAPI callback complexity, this plugin runs at the afterProcessAssets stage to ensure Rust-side MfManifestPlugin has already output its artifacts.
*/
export declare class ModuleFederationManifestPlugin extends RspackBuiltinPlugin {
name: BuiltinPluginName;
private opts;
constructor(opts: ModuleFederationManifestPluginOptions);
raw(compiler: Compiler): BuiltinPlugin;
}

View File

@@ -0,0 +1,15 @@
import type { Compiler } from "../Compiler";
import { type ModuleFederationManifestPluginOptions } from "./ModuleFederationManifestPlugin";
import type { ModuleFederationPluginV1Options } from "./ModuleFederationPluginV1";
export interface ModuleFederationPluginOptions extends Omit<ModuleFederationPluginV1Options, "enhanced"> {
runtimePlugins?: RuntimePlugins;
implementation?: string;
shareStrategy?: "version-first" | "loaded-first";
manifest?: boolean | Omit<ModuleFederationManifestPluginOptions, "remoteAliasMap" | "globalName" | "name" | "exposes" | "shared">;
}
export type RuntimePlugins = string[] | [string, Record<string, unknown>][];
export declare class ModuleFederationPlugin {
private _options;
constructor(_options: ModuleFederationPluginOptions);
apply(compiler: Compiler): void;
}

View File

@@ -0,0 +1,22 @@
import type { Compiler } from "../Compiler";
import type { EntryRuntime, ExternalsType, LibraryOptions } from "../config";
import { type Shared } from "../sharing/SharePlugin";
import { type Exposes } from "./ContainerPlugin";
import { type Remotes } from "./ContainerReferencePlugin";
export interface ModuleFederationPluginV1Options {
exposes?: Exposes;
filename?: string;
library?: LibraryOptions;
name: string;
remoteType?: ExternalsType;
remotes?: Remotes;
runtime?: EntryRuntime;
shareScope?: string;
shared?: Shared;
enhanced?: boolean;
}
export declare class ModuleFederationPluginV1 {
private _options;
constructor(_options: ModuleFederationPluginV1Options);
apply(compiler: Compiler): void;
}

View File

@@ -0,0 +1,12 @@
export interface ModuleFederationRuntimeOptions {
entryRuntime?: string;
}
export declare const ModuleFederationRuntimePlugin: {
new (options?: ModuleFederationRuntimeOptions | undefined): {
name: string;
_args: [options?: ModuleFederationRuntimeOptions | undefined];
affectedHooks: keyof import("..").CompilerHooks | undefined;
raw(compiler: import("..").Compiler): import("@rspack/binding").BuiltinPlugin;
apply(compiler: import("..").Compiler): void;
};
};

4
node_modules/@rspack/core/dist/container/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,4 @@
export * from "./ContainerPlugin";
export * from "./ContainerReferencePlugin";
export * from "./ModuleFederationPlugin";
export * from "./ModuleFederationPluginV1";

View File

@@ -0,0 +1,3 @@
type ContainerOptionsFormat<T> = (string | Record<string, string | string[] | T>)[] | Record<string, string | string[] | T>;
export declare const parseOptions: <T, R>(options: ContainerOptionsFormat<T>, normalizeSimple: (a: string | string[], b: string) => R, normalizeOptions: (a: T, b: string) => R) => [string, R][];
export {};