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 embed_federation_runtime_module::EmbedFederationRuntimeModule,
11 module_federation_runtime_plugin::{
12 ModuleFederationRuntimeExperimentsOptions, ModuleFederationRuntimePlugin,
13 ModuleFederationRuntimePluginOptions,
14 },
15};
16pub use manifest::{
17 ManifestExposeOption, ManifestSharedOption, ModuleFederationManifestPlugin,
18 ModuleFederationManifestPluginOptions, RemoteAliasTarget, StatsBuildInfo,
19};
20pub use sharing::{
21 consume_shared_module::ConsumeSharedModule,
22 consume_shared_plugin::{
23 ConsumeOptions, ConsumeSharedPlugin, ConsumeSharedPluginOptions, ConsumeVersion,
24 },
25 provide_shared_module::ProvideSharedModule,
26 provide_shared_plugin::{ProvideOptions, ProvideSharedPlugin, ProvideVersion},
27 share_runtime_module::{
28 CodeGenerationDataShareInit, DataInitStage, ShareInitData, ShareRuntimeModule,
29 },
30 share_runtime_plugin::ShareRuntimePlugin,
31};
32
33mod utils {
34 use std::fmt;
35
36 use serde::Serialize;
37
38 pub fn json_stringify<T: ?Sized + Serialize + fmt::Debug>(v: &T) -> String {
39 serde_json::to_string(v).unwrap_or_else(|e| panic!("{e}: {v:?} should able to json stringify"))
40 }
41}