1mod container;
2mod manifest;
3mod sharing;
4
5pub use container::{
6 container_plugin::{ContainerPlugin, ContainerPluginOptions, ExposeOptions},
7 container_reference_plugin::{
8 ContainerReferencePlugin, ContainerReferencePluginOptions, RemoteOptions,
9 },
10 module_federation_runtime_plugin::{
11 ModuleFederationRuntimePlugin, ModuleFederationRuntimePluginOptions,
12 },
13};
14pub use manifest::{
15 ManifestExposeOption, ManifestSharedOption, ModuleFederationManifestPlugin,
16 ModuleFederationManifestPluginOptions, RemoteAliasTarget, StatsBuildInfo,
17};
18pub use sharing::{
19 consume_shared_module::ConsumeSharedModule,
20 consume_shared_plugin::{
21 ConsumeOptions, ConsumeSharedPlugin, ConsumeSharedPluginOptions, ConsumeVersion,
22 },
23 provide_shared_module::ProvideSharedModule,
24 provide_shared_plugin::{ProvideOptions, ProvideSharedPlugin, ProvideVersion},
25 share_runtime_module::{
26 CodeGenerationDataShareInit, DataInitStage, ShareInitData, ShareRuntimeModule,
27 },
28 share_runtime_plugin::ShareRuntimePlugin,
29};
30
31mod utils {
32 use std::fmt;
33
34 use serde::Serialize;
35
36 pub fn json_stringify<T: ?Sized + Serialize + fmt::Debug>(v: &T) -> String {
37 serde_json::to_string(v).unwrap_or_else(|e| panic!("{e}: {v:?} should able to json stringify"))
38 }
39}