@module-federation/enhanced 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +2357 -0
- package/dist/README.md +213 -0
- package/dist/rstestmigrate.md +140 -0
- package/dist/src/_virtual/_rolldown/runtime.js +47 -0
- package/dist/src/index.d.ts +22 -19
- package/dist/src/index.js +47 -43
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/Constants.d.ts +25 -29
- package/dist/src/lib/Constants.js +136 -116
- package/dist/src/lib/Constants.js.map +1 -1
- package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +20 -16
- package/dist/src/lib/container/AsyncBoundaryPlugin.js +137 -200
- package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +1 -1
- package/dist/src/lib/container/ContainerEntryDependency.d.ts +28 -23
- package/dist/src/lib/container/ContainerEntryDependency.js +39 -39
- package/dist/src/lib/container/ContainerEntryDependency.js.map +1 -1
- package/dist/src/lib/container/ContainerEntryModule.d.ts +93 -84
- package/dist/src/lib/container/ContainerEntryModule.js +219 -234
- package/dist/src/lib/container/ContainerEntryModule.js.map +1 -1
- package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +15 -10
- package/dist/src/lib/container/ContainerEntryModuleFactory.js +21 -25
- package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +1 -1
- package/dist/src/lib/container/ContainerExposedDependency.d.ts +29 -24
- package/dist/src/lib/container/ContainerExposedDependency.js +47 -47
- package/dist/src/lib/container/ContainerExposedDependency.js.map +1 -1
- package/dist/src/lib/container/ContainerPlugin.d.ts +12 -8
- package/dist/src/lib/container/ContainerPlugin.js +147 -211
- package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
- package/dist/src/lib/container/ContainerReferencePlugin.d.ts +16 -12
- package/dist/src/lib/container/ContainerReferencePlugin.js +74 -102
- package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -1
- package/dist/src/lib/container/FallbackDependency.d.ts +24 -19
- package/dist/src/lib/container/FallbackDependency.js +46 -44
- package/dist/src/lib/container/FallbackDependency.js.map +1 -1
- package/dist/src/lib/container/FallbackItemDependency.d.ts +13 -8
- package/dist/src/lib/container/FallbackItemDependency.js +24 -24
- package/dist/src/lib/container/FallbackItemDependency.js.map +1 -1
- package/dist/src/lib/container/FallbackModule.d.ts +82 -71
- package/dist/src/lib/container/FallbackModule.js +133 -145
- package/dist/src/lib/container/FallbackModule.js.map +1 -1
- package/dist/src/lib/container/FallbackModuleFactory.d.ts +15 -10
- package/dist/src/lib/container/FallbackModuleFactory.js +20 -24
- package/dist/src/lib/container/FallbackModuleFactory.js.map +1 -1
- package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +11 -7
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js +125 -188
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -1
- package/dist/src/lib/container/ModuleFederationPlugin.d.ts +20 -16
- package/dist/src/lib/container/ModuleFederationPlugin.js +143 -181
- package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/lib/container/RemoteModule.d.ts +79 -74
- package/dist/src/lib/container/RemoteModule.js +143 -153
- package/dist/src/lib/container/RemoteModule.js.map +1 -1
- package/dist/src/lib/container/RemoteRuntimeModule.d.ts +12 -7
- package/dist/src/lib/container/RemoteRuntimeModule.js +86 -132
- package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/RemoteToExternalDependency.d.ts +13 -8
- package/dist/src/lib/container/RemoteToExternalDependency.js +25 -23
- package/dist/src/lib/container/RemoteToExternalDependency.js.map +1 -1
- package/dist/src/lib/container/constant.d.ts +3 -0
- package/dist/src/lib/container/constant.js +11 -14
- package/dist/src/lib/container/constant.js.map +1 -1
- package/dist/src/lib/container/options.d.ts +7 -3
- package/dist/src/lib/container/options.js +51 -69
- package/dist/src/lib/container/options.js.map +1 -1
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.d.ts +14 -9
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js +56 -64
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.d.ts +23 -19
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js +71 -101
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js.map +1 -1
- package/dist/src/lib/container/runtime/FederationModulesPlugin.d.ts +20 -16
- package/dist/src/lib/container/runtime/FederationModulesPlugin.js +55 -47
- package/dist/src/lib/container/runtime/FederationModulesPlugin.js.map +1 -1
- package/dist/src/lib/container/runtime/FederationRuntimeDependency.d.ts +9 -4
- package/dist/src/lib/container/runtime/FederationRuntimeDependency.js +16 -12
- package/dist/src/lib/container/runtime/FederationRuntimeDependency.js.map +1 -1
- package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +16 -11
- package/dist/src/lib/container/runtime/FederationRuntimeModule.js +39 -46
- package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +31 -20
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +265 -358
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -1
- package/dist/src/lib/container/runtime/getFederationGlobal.d.ts +9 -4
- package/dist/src/lib/container/runtime/getFederationGlobal.js +43 -41
- package/dist/src/lib/container/runtime/getFederationGlobal.js.map +1 -1
- package/dist/src/lib/container/runtime/utils.d.ts +24 -13
- package/dist/src/lib/container/runtime/utils.js +83 -101
- package/dist/src/lib/container/runtime/utils.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +15 -10
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +27 -25
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +77 -68
- package/dist/src/lib/sharing/ConsumeSharedModule.js +186 -214
- package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +13 -9
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js +308 -475
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +16 -11
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +107 -137
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
- package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +14 -9
- package/dist/src/lib/sharing/ProvideForSharedDependency.js +25 -25
- package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +1 -1
- package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +44 -39
- package/dist/src/lib/sharing/ProvideSharedDependency.js +72 -76
- package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -1
- package/dist/src/lib/sharing/ProvideSharedModule.d.ts +91 -82
- package/dist/src/lib/sharing/ProvideSharedModule.js +177 -184
- package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -1
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +14 -9
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +19 -25
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -1
- package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +27 -21
- package/dist/src/lib/sharing/ProvideSharedPlugin.js +341 -550
- package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/SharePlugin.d.ts +53 -49
- package/dist/src/lib/sharing/SharePlugin.js +86 -100
- package/dist/src/lib/sharing/SharePlugin.js.map +1 -1
- package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +12 -7
- package/dist/src/lib/sharing/ShareRuntimeModule.js +81 -103
- package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -1
- package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +11 -7
- package/dist/src/lib/sharing/resolveMatchedConfigs.js +58 -71
- package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.d.ts +18 -14
- package/dist/src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.js +74 -128
- package/dist/src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/IndependentSharedPlugin.d.ts +39 -34
- package/dist/src/lib/sharing/tree-shaking/IndependentSharedPlugin.js +234 -328
- package/dist/src/lib/sharing/tree-shaking/IndependentSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/IndependentSharedRuntimeModule.d.ts +16 -11
- package/dist/src/lib/sharing/tree-shaking/IndependentSharedRuntimeModule.js +30 -28
- package/dist/src/lib/sharing/tree-shaking/IndependentSharedRuntimeModule.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedContainerPlugin.d.ts +28 -24
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedContainerPlugin.js +91 -95
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedContainerPlugin.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.d.ts +29 -24
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.js +47 -43
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryDependency.d.ts +20 -15
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryDependency.js +33 -29
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryDependency.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModule.d.ts +85 -77
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModule.js +141 -153
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModule.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModuleFactory.d.ts +15 -10
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModuleFactory.js +20 -24
- package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModuleFactory.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerPlugin.d.ts +21 -16
- package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerPlugin.js +157 -231
- package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerPlugin.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.d.ts +14 -9
- package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.js +26 -27
- package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.js.map +1 -1
- package/dist/src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.d.ts +18 -13
- package/dist/src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.js +41 -49
- package/dist/src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/utils.d.ts +27 -24
- package/dist/src/lib/sharing/utils.js +224 -367
- package/dist/src/lib/sharing/utils.js.map +1 -1
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.d.ts +11 -7
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js +56 -75
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js.map +1 -1
- package/dist/src/lib/startup/StartupHelpers.d.ts +11 -6
- package/dist/src/lib/startup/StartupHelpers.js +128 -178
- package/dist/src/lib/startup/StartupHelpers.js.map +1 -1
- package/dist/src/prefetch.d.ts +3 -2
- package/dist/src/prefetch.js +17 -8
- package/dist/src/rspack.d.ts +3 -2
- package/dist/src/rspack.js +35 -11
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +8 -4
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +19 -16
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -1
- package/dist/src/runtime.d.ts +1 -1
- package/dist/src/runtime.js +11 -18
- package/dist/src/schemas/container/ContainerPlugin.check.d.ts +13 -5
- package/dist/src/schemas/container/ContainerPlugin.check.js +958 -1218
- package/dist/src/schemas/container/ContainerPlugin.check.js.map +1 -1
- package/dist/src/schemas/container/ContainerPlugin.d.ts +271 -268
- package/dist/src/schemas/container/ContainerPlugin.js +273 -361
- package/dist/src/schemas/container/ContainerPlugin.js.map +1 -1
- package/dist/src/schemas/container/ContainerReferencePlugin.check.d.ts +13 -5
- package/dist/src/schemas/container/ContainerReferencePlugin.check.js +335 -443
- package/dist/src/schemas/container/ContainerReferencePlugin.check.js.map +1 -1
- package/dist/src/schemas/container/ContainerReferencePlugin.d.ts +102 -99
- package/dist/src/schemas/container/ContainerReferencePlugin.js +122 -162
- package/dist/src/schemas/container/ContainerReferencePlugin.js.map +1 -1
- package/dist/src/schemas/container/ExternalsType.check.d.ts +13 -5
- package/dist/src/schemas/container/ExternalsType.check.js +36 -62
- package/dist/src/schemas/container/ExternalsType.check.js.map +1 -1
- package/dist/src/schemas/container/ExternalsType.d.ts +5 -2
- package/dist/src/schemas/container/ExternalsType.js +8 -11
- package/dist/src/schemas/container/ExternalsType.js.map +1 -1
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js +3001 -4812
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -1
- package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +819 -814
- package/dist/src/schemas/container/ModuleFederationPlugin.js +780 -1053
- package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.d.ts +13 -5
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.js +568 -768
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.d.ts +197 -194
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.js +212 -238
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/ProvideSharedPlugin.check.d.ts +13 -5
- package/dist/src/schemas/sharing/ProvideSharedPlugin.check.js +598 -804
- package/dist/src/schemas/sharing/ProvideSharedPlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/ProvideSharedPlugin.d.ts +184 -181
- package/dist/src/schemas/sharing/ProvideSharedPlugin.js +196 -229
- package/dist/src/schemas/sharing/ProvideSharedPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/ProviderSharedPlugin.check.d.ts +12 -4
- package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js +285 -482
- package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/ProviderSharedPlugin.d.ts +103 -100
- package/dist/src/schemas/sharing/ProviderSharedPlugin.js +104 -126
- package/dist/src/schemas/sharing/ProviderSharedPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/SharePlugin.check.d.ts +13 -5
- package/dist/src/schemas/sharing/SharePlugin.check.js +749 -965
- package/dist/src/schemas/sharing/SharePlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/SharePlugin.d.ts +245 -242
- package/dist/src/schemas/sharing/SharePlugin.js +256 -293
- package/dist/src/schemas/sharing/SharePlugin.js.map +1 -1
- package/dist/src/utils.d.ts +3 -0
- package/dist/src/utils.js +35 -26
- package/dist/src/utils.js.map +1 -1
- package/dist/src/webpack.d.ts +2 -2
- package/dist/src/webpack.js +6 -40
- package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +9 -4
- package/dist/src/wrapper/AsyncBoundaryPlugin.js +12 -11
- package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +1 -1
- package/dist/src/wrapper/BaseWrapperPlugin.d.ts +18 -13
- package/dist/src/wrapper/BaseWrapperPlugin.js +39 -39
- package/dist/src/wrapper/BaseWrapperPlugin.js.map +1 -1
- package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +10 -4
- package/dist/src/wrapper/ConsumeSharedPlugin.js +12 -11
- package/dist/src/wrapper/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/wrapper/ContainerPlugin.d.ts +9 -4
- package/dist/src/wrapper/ContainerPlugin.js +12 -11
- package/dist/src/wrapper/ContainerPlugin.js.map +1 -1
- package/dist/src/wrapper/ContainerReferencePlugin.d.ts +9 -4
- package/dist/src/wrapper/ContainerReferencePlugin.js +12 -11
- package/dist/src/wrapper/ContainerReferencePlugin.js.map +1 -1
- package/dist/src/wrapper/FederationModulesPlugin.d.ts +18 -10
- package/dist/src/wrapper/FederationModulesPlugin.js +19 -19
- package/dist/src/wrapper/FederationModulesPlugin.js.map +1 -1
- package/dist/src/wrapper/FederationRuntimePlugin.d.ts +11 -6
- package/dist/src/wrapper/FederationRuntimePlugin.js +18 -17
- package/dist/src/wrapper/FederationRuntimePlugin.js.map +1 -1
- package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +8 -3
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js +12 -11
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -1
- package/dist/src/wrapper/ModuleFederationPlugin.d.ts +12 -7
- package/dist/src/wrapper/ModuleFederationPlugin.js +73 -99
- package/dist/src/wrapper/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/wrapper/ProvideSharedPlugin.d.ts +10 -4
- package/dist/src/wrapper/ProvideSharedPlugin.js +12 -11
- package/dist/src/wrapper/ProvideSharedPlugin.js.map +1 -1
- package/dist/src/wrapper/SharePlugin.d.ts +10 -4
- package/dist/src/wrapper/SharePlugin.js +12 -11
- package/dist/src/wrapper/SharePlugin.js.map +1 -1
- package/dist/src/wrapper/TreeShakingSharedPlugin.d.ts +9 -4
- package/dist/src/wrapper/TreeShakingSharedPlugin.js +12 -11
- package/dist/src/wrapper/TreeShakingSharedPlugin.js.map +1 -1
- package/package.json +20 -13
- package/dist/package.json +0 -110
- package/dist/src/declarations/plugins/container/AsyncDependenciesBlock.d.ts +0 -57
- package/dist/src/declarations/plugins/container/ModuleFactory.d.ts +0 -33
- package/dist/src/declarations/plugins/container/ObjectDeserializerContext.d.ts +0 -4
- package/dist/src/declarations/plugins/container/StaticExportsDependency.d.ts +0 -28
- package/dist/src/declarations/plugins/container/Template.d.ts +0 -198
- package/dist/src/declarations/plugins/container/WebpackError.d.ts +0 -33
- package/dist/src/declarations/plugins/sharing/ConsumeSharedModule.d.ts +0 -86
- package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +0 -100
- package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +0 -102
- package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +0 -116
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.d.ts +0 -20
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js +0 -222
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js.map +0 -1
- package/dist/src/prefetch.js.map +0 -1
- package/dist/src/rspack.js.map +0 -1
- package/dist/src/runtime.js.map +0 -1
- package/dist/src/types/runtime.d.ts +0 -10
- package/dist/src/types/runtime.js +0 -3
- package/dist/src/types/runtime.js.map +0 -1
- package/dist/src/webpack.js.map +0 -1
|
@@ -1,206 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
return runtime;
|
|
110
|
-
}
|
|
111
|
-
_getRemotes(runtimeGlobals, requirements, hasRemoteModules, chunksToRef, remotes) {
|
|
112
|
-
if (!requirements.has(runtimeGlobals.currentRemoteGetScope) &&
|
|
113
|
-
!hasRemoteModules &&
|
|
114
|
-
!requirements.has('__webpack_require__.vmok')) {
|
|
115
|
-
return remotes;
|
|
116
|
-
}
|
|
117
|
-
const remotesParts = remotes.startsWith('if(__webpack_require__.f && __webpack_require__.f.remotes) {')
|
|
118
|
-
? [remotes]
|
|
119
|
-
: [
|
|
120
|
-
remotes,
|
|
121
|
-
'if(__webpack_require__.f && __webpack_require__.f.remotes) {',
|
|
122
|
-
];
|
|
123
|
-
for (const chunkId of chunksToRef) {
|
|
124
|
-
if (chunkId !== null && chunkId !== undefined) {
|
|
125
|
-
remotesParts.push(` __webpack_require__.f.remotes(${JSON.stringify(chunkId)}, promiseTrack);`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
remotesParts.push('}');
|
|
129
|
-
return remotesParts.join('');
|
|
130
|
-
}
|
|
131
|
-
_getShared(runtimeGlobals, requirements, consumeShares, chunksToRef, shared) {
|
|
132
|
-
if (!requirements.has(runtimeGlobals.shareScopeMap) &&
|
|
133
|
-
!consumeShares &&
|
|
134
|
-
!requirements.has(runtimeGlobals.initializeSharing)) {
|
|
135
|
-
return shared;
|
|
136
|
-
}
|
|
137
|
-
const sharedParts = shared.startsWith('if(__webpack_require__.f && __webpack_require__.f.consumes) {')
|
|
138
|
-
? [shared]
|
|
139
|
-
: [
|
|
140
|
-
shared,
|
|
141
|
-
'if(__webpack_require__.f && __webpack_require__.f.consumes) {',
|
|
142
|
-
];
|
|
143
|
-
for (const chunkId of chunksToRef) {
|
|
144
|
-
if (chunkId !== null && chunkId !== undefined) {
|
|
145
|
-
sharedParts.push(` __webpack_require__.f.consumes(${JSON.stringify(chunkId)}, promiseTrack);`);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
sharedParts.push('}');
|
|
149
|
-
return sharedParts.join('');
|
|
150
|
-
}
|
|
151
|
-
_getInitialEntryModules(compilation, upperContext) {
|
|
152
|
-
const entryModules = compilation.chunkGraph.getChunkEntryModulesIterable(upperContext.chunk);
|
|
153
|
-
const initialEntryModules = [];
|
|
154
|
-
for (const entryModule of entryModules) {
|
|
155
|
-
const entryModuleID = compilation.chunkGraph.getModuleId(entryModule);
|
|
156
|
-
if (entryModuleID) {
|
|
157
|
-
let shouldInclude = false;
|
|
158
|
-
if (typeof this._options.eager === 'function') {
|
|
159
|
-
shouldInclude = this._options.eager(entryModule);
|
|
160
|
-
}
|
|
161
|
-
else if (this._options.eager &&
|
|
162
|
-
this._options.eager.test(entryModule.identifier())) {
|
|
163
|
-
shouldInclude = true;
|
|
164
|
-
}
|
|
165
|
-
if (shouldInclude) {
|
|
166
|
-
initialEntryModules.push(`if(__webpack_require__.m[${JSON.stringify(entryModuleID)}]) {
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
3
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
4
|
+
|
|
5
|
+
//#region src/lib/container/AsyncBoundaryPlugin.ts
|
|
6
|
+
const SortableSet = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/SortableSet"));
|
|
7
|
+
var AsyncEntryStartupPlugin = class {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this._runtimeChunks = /* @__PURE__ */ new Map();
|
|
10
|
+
this._options = options || {};
|
|
11
|
+
}
|
|
12
|
+
apply(compiler) {
|
|
13
|
+
compiler.hooks.thisCompilation.tap("AsyncEntryStartupPlugin", (compilation) => {
|
|
14
|
+
this._collectRuntimeChunks(compilation);
|
|
15
|
+
this._handleRenderStartup(compiler, compilation);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
_collectRuntimeChunks(compilation) {
|
|
19
|
+
compilation.hooks.beforeChunkAssets.tap("AsyncEntryStartupPlugin", () => {
|
|
20
|
+
for (const chunk of compilation.chunks) if (chunk.hasRuntime() && chunk.id !== null) {
|
|
21
|
+
this._runtimeChunks.set(chunk.id, chunk);
|
|
22
|
+
for (const dependentChunk of compilation.chunkGraph.getChunkEntryDependentChunksIterable(chunk)) if (dependentChunk.id !== null) this._runtimeChunks.set(dependentChunk.id, dependentChunk);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
getChunkByName(compilation, dependOn, byname) {
|
|
27
|
+
for (const name of dependOn) {
|
|
28
|
+
const chunk = compilation.namedChunks.get(name);
|
|
29
|
+
if (chunk) byname.add(chunk);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
_handleRenderStartup(compiler, compilation) {
|
|
33
|
+
compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation).renderStartup.tap("AsyncEntryStartupPlugin", (source, _renderContext, upperContext) => {
|
|
34
|
+
const isSingleRuntime = compiler.options?.optimization?.runtimeChunk;
|
|
35
|
+
if (upperContext?.chunk.id && isSingleRuntime) {
|
|
36
|
+
if (upperContext?.chunk.hasRuntime()) {
|
|
37
|
+
this._runtimeChunks.set(upperContext.chunk.id, upperContext.chunk);
|
|
38
|
+
return source;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (this._options.excludeChunk && this._options.excludeChunk(upperContext.chunk)) return source;
|
|
42
|
+
const runtime = this._getChunkRuntime(upperContext);
|
|
43
|
+
let remotes = "";
|
|
44
|
+
let shared = "";
|
|
45
|
+
for (const runtimeItem of runtime) {
|
|
46
|
+
if (!runtimeItem) continue;
|
|
47
|
+
const requirements = compilation.chunkGraph.getTreeRuntimeRequirements(runtimeItem);
|
|
48
|
+
const entryOptions = upperContext.chunk.getEntryOptions();
|
|
49
|
+
const chunkInitialsSet = new Set(compilation.chunkGraph.getChunkEntryDependentChunksIterable(upperContext.chunk));
|
|
50
|
+
chunkInitialsSet.add(upperContext.chunk);
|
|
51
|
+
const dependOn = entryOptions?.dependOn || [];
|
|
52
|
+
this.getChunkByName(compilation, dependOn, chunkInitialsSet);
|
|
53
|
+
const initialChunks = [];
|
|
54
|
+
let hasRemoteModules = false;
|
|
55
|
+
let consumeShares = false;
|
|
56
|
+
for (const chunk of chunkInitialsSet) {
|
|
57
|
+
initialChunks.push(chunk.id);
|
|
58
|
+
if (!hasRemoteModules) hasRemoteModules = Boolean(compilation.chunkGraph.getChunkModulesIterableBySourceType(chunk, "remote"));
|
|
59
|
+
if (!consumeShares) consumeShares = Boolean(compilation.chunkGraph.getChunkModulesIterableBySourceType(chunk, "consume-shared"));
|
|
60
|
+
if (hasRemoteModules && consumeShares) break;
|
|
61
|
+
}
|
|
62
|
+
remotes = this._getRemotes(compiler.webpack.RuntimeGlobals, requirements, hasRemoteModules, initialChunks, remotes);
|
|
63
|
+
shared = this._getShared(compiler.webpack.RuntimeGlobals, requirements, consumeShares, initialChunks, shared);
|
|
64
|
+
}
|
|
65
|
+
if (!remotes && !shared) return source;
|
|
66
|
+
const initialEntryModules = this._getInitialEntryModules(compilation, upperContext);
|
|
67
|
+
const templateString = this._getTemplateString(compiler, initialEntryModules, shared, remotes, source);
|
|
68
|
+
return new compiler.webpack.sources.ConcatSource(templateString);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
_getChunkRuntime(upperContext) {
|
|
72
|
+
const runtime = /* @__PURE__ */ new Set();
|
|
73
|
+
const chunkRuntime = upperContext.chunk.runtime;
|
|
74
|
+
if (chunkRuntime) {
|
|
75
|
+
const runtimeItems = chunkRuntime instanceof SortableSet ? chunkRuntime : [chunkRuntime];
|
|
76
|
+
for (const runtimeItem of runtimeItems) {
|
|
77
|
+
const chunk = this._runtimeChunks.get(runtimeItem);
|
|
78
|
+
if (chunk) runtime.add(chunk);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (runtime.size === 0) runtime.add(upperContext.chunk);
|
|
82
|
+
return runtime;
|
|
83
|
+
}
|
|
84
|
+
_getRemotes(runtimeGlobals, requirements, hasRemoteModules, chunksToRef, remotes) {
|
|
85
|
+
if (!requirements.has(runtimeGlobals.currentRemoteGetScope) && !hasRemoteModules && !requirements.has("__webpack_require__.vmok")) return remotes;
|
|
86
|
+
const remotesParts = remotes.startsWith("if(__webpack_require__.f && __webpack_require__.f.remotes) {") ? [remotes] : [remotes, "if(__webpack_require__.f && __webpack_require__.f.remotes) {"];
|
|
87
|
+
for (const chunkId of chunksToRef) if (chunkId !== null && chunkId !== void 0) remotesParts.push(` __webpack_require__.f.remotes(${JSON.stringify(chunkId)}, promiseTrack);`);
|
|
88
|
+
remotesParts.push("}");
|
|
89
|
+
return remotesParts.join("");
|
|
90
|
+
}
|
|
91
|
+
_getShared(runtimeGlobals, requirements, consumeShares, chunksToRef, shared) {
|
|
92
|
+
if (!requirements.has(runtimeGlobals.shareScopeMap) && !consumeShares && !requirements.has(runtimeGlobals.initializeSharing)) return shared;
|
|
93
|
+
const sharedParts = shared.startsWith("if(__webpack_require__.f && __webpack_require__.f.consumes) {") ? [shared] : [shared, "if(__webpack_require__.f && __webpack_require__.f.consumes) {"];
|
|
94
|
+
for (const chunkId of chunksToRef) if (chunkId !== null && chunkId !== void 0) sharedParts.push(` __webpack_require__.f.consumes(${JSON.stringify(chunkId)}, promiseTrack);`);
|
|
95
|
+
sharedParts.push("}");
|
|
96
|
+
return sharedParts.join("");
|
|
97
|
+
}
|
|
98
|
+
_getInitialEntryModules(compilation, upperContext) {
|
|
99
|
+
const entryModules = compilation.chunkGraph.getChunkEntryModulesIterable(upperContext.chunk);
|
|
100
|
+
const initialEntryModules = [];
|
|
101
|
+
for (const entryModule of entryModules) {
|
|
102
|
+
const entryModuleID = compilation.chunkGraph.getModuleId(entryModule);
|
|
103
|
+
if (entryModuleID) {
|
|
104
|
+
let shouldInclude = false;
|
|
105
|
+
if (typeof this._options.eager === "function") shouldInclude = this._options.eager(entryModule);
|
|
106
|
+
else if (this._options.eager && this._options.eager.test(entryModule.identifier())) shouldInclude = true;
|
|
107
|
+
if (shouldInclude) initialEntryModules.push(`if(__webpack_require__.m[${JSON.stringify(entryModuleID)}]) {
|
|
167
108
|
__webpack_require__(${JSON.stringify(entryModuleID)});
|
|
168
109
|
} else {
|
|
169
110
|
console.warn('Federation Runtime Module not found. In the current runtime');
|
|
170
111
|
}`);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
'});',
|
|
202
|
-
]);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return initialEntryModules;
|
|
115
|
+
}
|
|
116
|
+
_getTemplateString(compiler, initialEntryModules, shared, remotes, source) {
|
|
117
|
+
const { Template } = compiler.webpack;
|
|
118
|
+
const experiments = compiler.options?.experiments;
|
|
119
|
+
const experimentsRecord = experiments && typeof experiments === "object" ? experiments : null;
|
|
120
|
+
if (!!experimentsRecord && !!experimentsRecord["topLevelAwait"] && compiler.options?.experiments?.outputModule) return Template.asString([
|
|
121
|
+
"var promiseTrack = [];",
|
|
122
|
+
Template.asString(initialEntryModules),
|
|
123
|
+
shared,
|
|
124
|
+
remotes,
|
|
125
|
+
"await Promise.all(promiseTrack)",
|
|
126
|
+
Template.indent(source.source().toString())
|
|
127
|
+
]);
|
|
128
|
+
return Template.asString([
|
|
129
|
+
"var promiseTrack = [];",
|
|
130
|
+
Template.asString(initialEntryModules),
|
|
131
|
+
shared,
|
|
132
|
+
remotes,
|
|
133
|
+
"var __webpack_exports__ = Promise.all(promiseTrack).then(function() {",
|
|
134
|
+
Template.indent(source.source().toString()),
|
|
135
|
+
Template.indent("return __webpack_exports__"),
|
|
136
|
+
"});"
|
|
137
|
+
]);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
//#endregion
|
|
205
142
|
exports.default = AsyncEntryStartupPlugin;
|
|
206
143
|
//# sourceMappingURL=AsyncBoundaryPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncBoundaryPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/AsyncBoundaryPlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AsyncBoundaryPlugin.js","names":[],"sources":["../../../../src/lib/container/AsyncBoundaryPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Zackary Jackson @ScriptedAlchemy\n*/\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport { moduleFederationPlugin } from '@module-federation/sdk';\nimport type {\n Compiler,\n Compilation,\n Chunk,\n sources,\n Module,\n RuntimeGlobals,\n javascript,\n} from 'webpack';\nimport type { SyncWaterfallHook } from 'tapable';\n\nconst SortableSet = require(\n normalizeWebpackPath('webpack/lib/util/SortableSet'),\n) as typeof import('webpack/lib/util/SortableSet');\n\ntype CompilationHooksJavascriptModulesPlugin = ReturnType<\n typeof javascript.JavascriptModulesPlugin.getCompilationHooks\n>;\ntype RenderStartup = CompilationHooksJavascriptModulesPlugin['renderStartup'];\n\ntype InferStartupRenderContext<T> =\n T extends SyncWaterfallHook<\n [infer Source, infer Module, infer StartupRenderContext]\n >\n ? StartupRenderContext\n : never;\n\ntype StartupRenderContext = InferStartupRenderContext<RenderStartup>;\n\nexport type Options = moduleFederationPlugin.AsyncBoundaryOptions;\nclass AsyncEntryStartupPlugin {\n private _options: Options;\n private _runtimeChunks = new Map<string | number, Chunk | undefined>();\n\n constructor(options?: Options) {\n this._options = options || {};\n }\n\n apply(compiler: Compiler) {\n compiler.hooks.thisCompilation.tap(\n 'AsyncEntryStartupPlugin',\n (compilation: Compilation) => {\n this._collectRuntimeChunks(compilation);\n this._handleRenderStartup(compiler, compilation);\n },\n );\n }\n\n private _collectRuntimeChunks(compilation: Compilation) {\n compilation.hooks.beforeChunkAssets.tap('AsyncEntryStartupPlugin', () => {\n for (const chunk of compilation.chunks) {\n if (chunk.hasRuntime() && chunk.id !== null) {\n this._runtimeChunks.set(chunk.id, chunk);\n for (const dependentChunk of compilation.chunkGraph.getChunkEntryDependentChunksIterable(\n chunk,\n )) {\n if (dependentChunk.id !== null) {\n this._runtimeChunks.set(dependentChunk.id, dependentChunk);\n }\n }\n }\n }\n });\n }\n\n getChunkByName(\n compilation: Compilation,\n dependOn: string[],\n byname: Set<Chunk>,\n ) {\n for (const name of dependOn) {\n const chunk = compilation.namedChunks.get(name);\n if (chunk) {\n byname.add(chunk);\n }\n }\n }\n\n private _handleRenderStartup(compiler: Compiler, compilation: Compilation) {\n compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(\n compilation,\n ).renderStartup.tap(\n 'AsyncEntryStartupPlugin',\n (\n source: sources.Source,\n _renderContext: Module,\n upperContext: StartupRenderContext,\n ) => {\n const isSingleRuntime = compiler.options?.optimization?.runtimeChunk;\n if (upperContext?.chunk.id && isSingleRuntime) {\n if (upperContext?.chunk.hasRuntime()) {\n this._runtimeChunks.set(upperContext.chunk.id, upperContext.chunk);\n return source;\n }\n }\n\n if (\n this._options.excludeChunk &&\n this._options.excludeChunk(upperContext.chunk)\n ) {\n return source;\n }\n\n const runtime = this._getChunkRuntime(upperContext);\n\n let remotes = '';\n let shared = '';\n\n for (const runtimeItem of runtime) {\n if (!runtimeItem) {\n continue;\n }\n\n const requirements =\n compilation.chunkGraph.getTreeRuntimeRequirements(runtimeItem);\n\n const entryOptions = upperContext.chunk.getEntryOptions();\n const chunkInitialsSet = new Set(\n compilation.chunkGraph.getChunkEntryDependentChunksIterable(\n upperContext.chunk,\n ),\n );\n\n chunkInitialsSet.add(upperContext.chunk);\n const dependOn = entryOptions?.dependOn || [];\n this.getChunkByName(compilation, dependOn, chunkInitialsSet);\n\n const initialChunks = [];\n\n let hasRemoteModules = false;\n let consumeShares = false;\n\n for (const chunk of chunkInitialsSet) {\n initialChunks.push(chunk.id);\n if (!hasRemoteModules) {\n hasRemoteModules = Boolean(\n compilation.chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'remote',\n ),\n );\n }\n if (!consumeShares) {\n consumeShares = Boolean(\n compilation.chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n ),\n );\n }\n if (hasRemoteModules && consumeShares) {\n break;\n }\n }\n\n remotes = this._getRemotes(\n compiler.webpack.RuntimeGlobals,\n requirements,\n hasRemoteModules,\n initialChunks,\n remotes,\n );\n\n shared = this._getShared(\n compiler.webpack.RuntimeGlobals,\n requirements,\n consumeShares,\n initialChunks,\n shared,\n );\n }\n\n if (!remotes && !shared) {\n return source;\n }\n\n const initialEntryModules = this._getInitialEntryModules(\n compilation,\n upperContext,\n );\n const templateString = this._getTemplateString(\n compiler,\n initialEntryModules,\n shared,\n remotes,\n source,\n );\n\n return new compiler.webpack.sources.ConcatSource(templateString);\n },\n );\n }\n\n private _getChunkRuntime(upperContext: StartupRenderContext) {\n const runtime = new Set<Chunk>();\n const chunkRuntime = upperContext.chunk.runtime;\n if (chunkRuntime) {\n const runtimeItems =\n chunkRuntime instanceof SortableSet ? chunkRuntime : [chunkRuntime];\n for (const runtimeItem of runtimeItems) {\n const chunk = this._runtimeChunks.get(runtimeItem);\n if (chunk) {\n runtime.add(chunk);\n }\n }\n }\n if (runtime.size === 0) {\n runtime.add(upperContext.chunk);\n }\n return runtime;\n }\n private _getRemotes(\n runtimeGlobals: typeof RuntimeGlobals,\n requirements: ReadonlySet<string>,\n hasRemoteModules: boolean,\n chunksToRef: (Chunk['id'] | null | undefined)[],\n remotes: string,\n ): string {\n if (\n !requirements.has(runtimeGlobals.currentRemoteGetScope) &&\n !hasRemoteModules &&\n !requirements.has('__webpack_require__.vmok')\n ) {\n return remotes;\n }\n\n const remotesParts = remotes.startsWith(\n 'if(__webpack_require__.f && __webpack_require__.f.remotes) {',\n )\n ? [remotes]\n : [\n remotes,\n 'if(__webpack_require__.f && __webpack_require__.f.remotes) {',\n ];\n\n for (const chunkId of chunksToRef) {\n if (chunkId !== null && chunkId !== undefined) {\n remotesParts.push(\n ` __webpack_require__.f.remotes(${JSON.stringify(\n chunkId,\n )}, promiseTrack);`,\n );\n }\n }\n\n remotesParts.push('}');\n return remotesParts.join('');\n }\n\n private _getShared(\n runtimeGlobals: typeof RuntimeGlobals,\n requirements: ReadonlySet<string>,\n consumeShares: boolean,\n chunksToRef: (Chunk['id'] | null | undefined)[],\n shared: string,\n ): string {\n if (\n !requirements.has(runtimeGlobals.shareScopeMap) &&\n !consumeShares &&\n !requirements.has(runtimeGlobals.initializeSharing)\n ) {\n return shared;\n }\n\n const sharedParts = shared.startsWith(\n 'if(__webpack_require__.f && __webpack_require__.f.consumes) {',\n )\n ? [shared]\n : [\n shared,\n 'if(__webpack_require__.f && __webpack_require__.f.consumes) {',\n ];\n\n for (const chunkId of chunksToRef) {\n if (chunkId !== null && chunkId !== undefined) {\n sharedParts.push(\n ` __webpack_require__.f.consumes(${JSON.stringify(\n chunkId,\n )}, promiseTrack);`,\n );\n }\n }\n\n sharedParts.push('}');\n return sharedParts.join('');\n }\n\n private _getInitialEntryModules(\n compilation: Compilation,\n upperContext: { chunk: Chunk },\n ): string[] {\n const entryModules = compilation.chunkGraph.getChunkEntryModulesIterable(\n upperContext.chunk,\n );\n const initialEntryModules = [];\n\n for (const entryModule of entryModules) {\n const entryModuleID = compilation.chunkGraph.getModuleId(entryModule);\n if (entryModuleID) {\n let shouldInclude = false;\n\n if (typeof this._options.eager === 'function') {\n shouldInclude = this._options.eager(entryModule);\n } else if (\n this._options.eager &&\n this._options.eager.test(entryModule.identifier())\n ) {\n shouldInclude = true;\n }\n\n if (shouldInclude) {\n initialEntryModules.push(\n `if(__webpack_require__.m[${JSON.stringify(entryModuleID)}]) {\n __webpack_require__(${JSON.stringify(entryModuleID)});\n } else {\n console.warn('Federation Runtime Module not found. In the current runtime');\n }`,\n );\n }\n }\n }\n return initialEntryModules;\n }\n\n private _getTemplateString(\n compiler: Compiler,\n initialEntryModules: string[],\n shared: string,\n remotes: string,\n source: sources.Source,\n ) {\n const { Template } = compiler.webpack;\n const experiments = compiler.options?.experiments;\n const experimentsRecord =\n experiments && typeof experiments === 'object'\n ? (experiments as Record<string, unknown>)\n : null;\n const hasTopLevelAwait =\n !!experimentsRecord && !!experimentsRecord['topLevelAwait'];\n if (hasTopLevelAwait && compiler.options?.experiments?.outputModule) {\n return Template.asString([\n 'var promiseTrack = [];',\n Template.asString(initialEntryModules),\n shared,\n remotes,\n 'await Promise.all(promiseTrack)',\n Template.indent(source.source().toString()),\n ]);\n }\n return Template.asString([\n 'var promiseTrack = [];',\n Template.asString(initialEntryModules),\n shared,\n remotes,\n 'var __webpack_exports__ = Promise.all(promiseTrack).then(function() {',\n Template.indent(source.source().toString()),\n Template.indent('return __webpack_exports__'),\n '});',\n ]);\n }\n}\n\nexport default AsyncEntryStartupPlugin;\n"],"mappings":"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"}
|
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
import { ExposeOptions } from
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { ExposeOptions } from "./ContainerEntryModule.js";
|
|
2
|
+
import { containerPlugin } from "@module-federation/sdk";
|
|
3
|
+
import * as webpack$1 from "webpack";
|
|
4
|
+
|
|
5
|
+
//#region src/lib/container/ContainerEntryDependency.d.ts
|
|
6
|
+
declare const Dependency: typeof webpack$1.Dependency;
|
|
4
7
|
declare class ContainerEntryDependency extends Dependency {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
name: string;
|
|
9
|
+
exposes: [string, ExposeOptions][];
|
|
10
|
+
shareScope: string | string[];
|
|
11
|
+
injectRuntimeEntry: string;
|
|
12
|
+
dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'];
|
|
13
|
+
/**
|
|
14
|
+
* @param {string} name entry name
|
|
15
|
+
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
16
|
+
* @param {string|string[]} shareScope name of the share scope
|
|
17
|
+
* @param {string[]} injectRuntimeEntry the path of injectRuntime file.
|
|
18
|
+
* @param {containerPlugin.ContainerPluginOptions['dataPrefetch']} dataPrefetch whether enable dataPrefetch
|
|
19
|
+
*/
|
|
20
|
+
constructor(name: string, exposes: [string, ExposeOptions][], shareScope: string | string[], injectRuntimeEntry: string, dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch']);
|
|
21
|
+
/**
|
|
22
|
+
* @returns {string | null} an identifier to merge equal requests
|
|
23
|
+
*/
|
|
24
|
+
getResourceIdentifier(): string | null;
|
|
25
|
+
get type(): string;
|
|
26
|
+
get category(): string;
|
|
24
27
|
}
|
|
25
|
-
|
|
28
|
+
//#endregion
|
|
29
|
+
export { ContainerEntryDependency as default };
|
|
30
|
+
//# sourceMappingURL=ContainerEntryDependency.d.ts.map
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
3
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
4
|
+
|
|
5
|
+
//#region src/lib/container/ContainerEntryDependency.ts
|
|
6
|
+
const makeSerializable = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/makeSerializable"));
|
|
7
|
+
const { Dependency } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack"));
|
|
8
|
+
var ContainerEntryDependency = class extends Dependency {
|
|
9
|
+
/**
|
|
10
|
+
* @param {string} name entry name
|
|
11
|
+
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
12
|
+
* @param {string|string[]} shareScope name of the share scope
|
|
13
|
+
* @param {string[]} injectRuntimeEntry the path of injectRuntime file.
|
|
14
|
+
* @param {containerPlugin.ContainerPluginOptions['dataPrefetch']} dataPrefetch whether enable dataPrefetch
|
|
15
|
+
*/
|
|
16
|
+
constructor(name, exposes, shareScope, injectRuntimeEntry, dataPrefetch) {
|
|
17
|
+
super();
|
|
18
|
+
this.name = name;
|
|
19
|
+
this.exposes = exposes;
|
|
20
|
+
this.shareScope = shareScope;
|
|
21
|
+
this.injectRuntimeEntry = injectRuntimeEntry;
|
|
22
|
+
this.dataPrefetch = dataPrefetch;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @returns {string | null} an identifier to merge equal requests
|
|
26
|
+
*/
|
|
27
|
+
getResourceIdentifier() {
|
|
28
|
+
return `container-entry-${this.name}`;
|
|
29
|
+
}
|
|
30
|
+
get type() {
|
|
31
|
+
return "container entry";
|
|
32
|
+
}
|
|
33
|
+
get category() {
|
|
34
|
+
return "esm";
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
makeSerializable(ContainerEntryDependency, "enhanced/lib/container/ContainerEntryDependency");
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
40
|
exports.default = ContainerEntryDependency;
|
|
41
41
|
//# sourceMappingURL=ContainerEntryDependency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerEntryDependency.js","
|
|
1
|
+
{"version":3,"file":"ContainerEntryDependency.js","names":[],"sources":["../../../../src/lib/container/ContainerEntryDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy, Marais Rossouw @maraisr\n*/\n\nimport { ExposeOptions } from './ContainerEntryModule';\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\n\nimport type { containerPlugin } from '@module-federation/sdk';\n\nconst makeSerializable = require(\n normalizeWebpackPath('webpack/lib/util/makeSerializable'),\n);\nconst { Dependency } = require(\n normalizeWebpackPath('webpack'),\n) as typeof import('webpack');\n\nclass ContainerEntryDependency extends Dependency {\n public name: string;\n public exposes: [string, ExposeOptions][];\n public shareScope: string | string[];\n public injectRuntimeEntry: string;\n public dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'];\n\n /**\n * @param {string} name entry name\n * @param {[string, ExposeOptions][]} exposes list of exposed modules\n * @param {string|string[]} shareScope name of the share scope\n * @param {string[]} injectRuntimeEntry the path of injectRuntime file.\n * @param {containerPlugin.ContainerPluginOptions['dataPrefetch']} dataPrefetch whether enable dataPrefetch\n */\n constructor(\n name: string,\n exposes: [string, ExposeOptions][],\n shareScope: string | string[],\n injectRuntimeEntry: string,\n dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'],\n ) {\n super();\n this.name = name;\n this.exposes = exposes;\n this.shareScope = shareScope;\n this.injectRuntimeEntry = injectRuntimeEntry;\n this.dataPrefetch = dataPrefetch;\n }\n\n /**\n * @returns {string | null} an identifier to merge equal requests\n */\n override getResourceIdentifier(): string | null {\n return `container-entry-${this.name}`;\n }\n\n override get type(): string {\n return 'container entry';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ContainerEntryDependency,\n 'enhanced/lib/container/ContainerEntryDependency',\n);\n\nexport default ContainerEntryDependency;\n"],"mappings":";;;;;AAUA,MAAM,mBAAmB,gFACF,oCAAoC,CAC1D;AACD,MAAM,EAAE,eAAe,gFACA,UAAU,CAChC;AAED,IAAM,2BAAN,cAAuC,WAAW;;;;;;;;CAchD,YACE,MACA,SACA,YACA,oBACA,cACA;AACA,SAAO;AACP,OAAK,OAAO;AACZ,OAAK,UAAU;AACf,OAAK,aAAa;AAClB,OAAK,qBAAqB;AAC1B,OAAK,eAAe;;;;;CAMtB,AAAS,wBAAuC;AAC9C,SAAO,mBAAmB,KAAK;;CAGjC,IAAa,OAAe;AAC1B,SAAO;;CAGT,IAAa,WAAmB;AAC9B,SAAO;;;AAIX,iBACE,0BACA,kDACD"}
|