@module-federation/enhanced 2.1.0 → 2.2.1
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 +2375 -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 +23 -14
- 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,106 +1,84 @@
|
|
|
1
|
-
/*
|
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
-
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
4
|
-
*/
|
|
5
1
|
'use strict';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
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
|
-
return Template.asString([
|
|
88
|
-
`${(0, utils_1.getFederationGlobalScope)(RuntimeGlobals)}.initOptions.shared = {${sharedInitOptionsStr}}`,
|
|
89
|
-
`${RuntimeGlobals.shareScopeMap} = {};`,
|
|
90
|
-
'var initPromises = {};',
|
|
91
|
-
'var initTokens = {};',
|
|
92
|
-
`${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction('name, initScope', [
|
|
93
|
-
`return ${federationGlobal}.bundlerRuntime.I({${Template.indent([
|
|
94
|
-
`shareScopeName: name,`,
|
|
95
|
-
`webpackRequire: ${RuntimeGlobals.require},`,
|
|
96
|
-
`initPromises: initPromises,`,
|
|
97
|
-
`initTokens: initTokens,`,
|
|
98
|
-
`initScope: initScope,`,
|
|
99
|
-
])}`,
|
|
100
|
-
'})',
|
|
101
|
-
])};`,
|
|
102
|
-
]);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
5
|
+
const require_lib_container_runtime_utils = require('../container/runtime/utils.js');
|
|
6
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
7
|
+
|
|
8
|
+
//#region src/lib/sharing/ShareRuntimeModule.ts
|
|
9
|
+
const { Template, RuntimeGlobals, RuntimeModule } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack"));
|
|
10
|
+
const { compareModulesByIdentifier } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/comparators"));
|
|
11
|
+
var ShareRuntimeModule = class extends RuntimeModule {
|
|
12
|
+
constructor() {
|
|
13
|
+
super("sharing", RuntimeModule.STAGE_NORMAL + 2);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @returns {string | null} runtime code
|
|
17
|
+
*/
|
|
18
|
+
generate() {
|
|
19
|
+
const compilation = this.compilation;
|
|
20
|
+
if (!compilation) throw new Error("Compilation is undefined");
|
|
21
|
+
const { runtimeTemplate, codeGenerationResults } = compilation;
|
|
22
|
+
if (!codeGenerationResults) return null;
|
|
23
|
+
const chunkGraph = this.chunkGraph;
|
|
24
|
+
if (!chunkGraph) throw new Error("ChunkGraph is undefined");
|
|
25
|
+
const initCodePerScope = /* @__PURE__ */ new Map();
|
|
26
|
+
const sharedInitOptions = {};
|
|
27
|
+
for (const chunk of this.chunk?.getAllReferencedChunks() || []) {
|
|
28
|
+
if (!chunk) continue;
|
|
29
|
+
const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(chunk, "share-init", compareModulesByIdentifier);
|
|
30
|
+
if (!modules) continue;
|
|
31
|
+
for (const m of modules) {
|
|
32
|
+
const data = codeGenerationResults.getData(m, chunk.runtime, "share-init");
|
|
33
|
+
if (!data) continue;
|
|
34
|
+
for (const item of data) {
|
|
35
|
+
const { shareScope, initStage, init } = item;
|
|
36
|
+
let stages = initCodePerScope.get(shareScope);
|
|
37
|
+
if (stages === void 0) initCodePerScope.set(shareScope, stages = /* @__PURE__ */ new Map());
|
|
38
|
+
let list = stages.get(initStage || 0);
|
|
39
|
+
if (list === void 0) stages.set(initStage || 0, list = /* @__PURE__ */ new Set());
|
|
40
|
+
list.add(init);
|
|
41
|
+
}
|
|
42
|
+
const sharedOption = codeGenerationResults.getData(m, chunk.runtime, "share-init-option");
|
|
43
|
+
if (sharedOption) {
|
|
44
|
+
sharedInitOptions[sharedOption.name] = sharedInitOptions[sharedOption.name] || [];
|
|
45
|
+
if (!sharedInitOptions[sharedOption.name].find((s) => s.version === sharedOption.version && s.shareConfig?.layer === sharedOption.shareConfig?.layer)) sharedInitOptions[sharedOption.name].push(sharedOption);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const sharedInitOptionsStr = Object.keys(sharedInitOptions).reduce((sum, sharedName) => {
|
|
50
|
+
const sharedOptions = sharedInitOptions[sharedName];
|
|
51
|
+
let str = "";
|
|
52
|
+
sharedOptions.forEach((option) => {
|
|
53
|
+
str += `{${Template.indent([
|
|
54
|
+
`version: ${option.version},`,
|
|
55
|
+
`get: ${option.getter},`,
|
|
56
|
+
`scope: ${JSON.stringify(Array.isArray(option.shareScope) ? option.shareScope.flat() : [option.shareScope])},`,
|
|
57
|
+
`shareConfig: ${JSON.stringify(option.shareConfig)},`,
|
|
58
|
+
`${option.treeShakingMode ? `treeShaking: {mode: '${option.treeShakingMode}'},` : ""}`
|
|
59
|
+
])}},`;
|
|
60
|
+
});
|
|
61
|
+
str = `[${str}]`;
|
|
62
|
+
sum += `${Template.indent([`"${sharedName}": ${str},`])}`;
|
|
63
|
+
return sum;
|
|
64
|
+
}, "");
|
|
65
|
+
const federationGlobal = require_lib_container_runtime_utils.getFederationGlobalScope(RuntimeGlobals || {});
|
|
66
|
+
return Template.asString([
|
|
67
|
+
`${require_lib_container_runtime_utils.getFederationGlobalScope(RuntimeGlobals)}.initOptions.shared = {${sharedInitOptionsStr}}`,
|
|
68
|
+
`${RuntimeGlobals.shareScopeMap} = {};`,
|
|
69
|
+
"var initPromises = {};",
|
|
70
|
+
"var initTokens = {};",
|
|
71
|
+
`${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction("name, initScope", [`return ${federationGlobal}.bundlerRuntime.I({${Template.indent([
|
|
72
|
+
`shareScopeName: name,`,
|
|
73
|
+
`webpackRequire: ${RuntimeGlobals.require},`,
|
|
74
|
+
`initPromises: initPromises,`,
|
|
75
|
+
`initTokens: initTokens,`,
|
|
76
|
+
`initScope: initScope,`
|
|
77
|
+
])}`, "})"])};`
|
|
78
|
+
]);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
105
83
|
exports.default = ShareRuntimeModule;
|
|
106
84
|
//# sourceMappingURL=ShareRuntimeModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareRuntimeModule.js","
|
|
1
|
+
{"version":3,"file":"ShareRuntimeModule.js","names":["getFederationGlobalScope"],"sources":["../../../../src/lib/sharing/ShareRuntimeModule.ts"],"sourcesContent":["/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport type { Compilation, ChunkGraph } from 'webpack';\nimport { getFederationGlobalScope } from '../container/runtime/utils';\n\nconst { Template, RuntimeGlobals, RuntimeModule } = require(\n normalizeWebpackPath('webpack'),\n) as typeof import('webpack');\nconst { compareModulesByIdentifier } = require(\n normalizeWebpackPath('webpack/lib/util/comparators'),\n) as typeof import('webpack/lib/util/comparators');\n\nclass ShareRuntimeModule extends RuntimeModule {\n constructor() {\n // must after FederationRuntimeModule\n super('sharing', RuntimeModule.STAGE_NORMAL + 2);\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation | undefined = this.compilation;\n if (!compilation) {\n throw new Error('Compilation is undefined');\n }\n const { runtimeTemplate, codeGenerationResults } = compilation;\n if (!codeGenerationResults) {\n return null;\n }\n const chunkGraph: ChunkGraph | undefined = this.chunkGraph;\n if (!chunkGraph) {\n throw new Error('ChunkGraph is undefined');\n }\n const initCodePerScope: Map<string, Map<number, Set<string>>> = new Map();\n const sharedInitOptions: Record<string, any[]> = {};\n\n for (const chunk of this.chunk?.getAllReferencedChunks() || []) {\n if (!chunk) {\n continue;\n }\n const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(\n chunk,\n 'share-init',\n compareModulesByIdentifier,\n );\n if (!modules) continue;\n for (const m of modules) {\n const data = codeGenerationResults.getData(\n m,\n chunk.runtime,\n 'share-init',\n );\n if (!data) continue;\n for (const item of data) {\n const { shareScope, initStage, init } = item;\n let stages = initCodePerScope.get(shareScope);\n if (stages === undefined) {\n initCodePerScope.set(shareScope, (stages = new Map()));\n }\n let list = stages.get(initStage || 0);\n if (list === undefined) {\n stages.set(initStage || 0, (list = new Set()));\n }\n list.add(init);\n }\n const sharedOption = codeGenerationResults.getData(\n m,\n chunk.runtime,\n 'share-init-option',\n );\n\n if (sharedOption) {\n sharedInitOptions[sharedOption.name] =\n sharedInitOptions[sharedOption.name] || [];\n const isSameVersionAndLayer = sharedInitOptions[\n sharedOption.name\n ].find(\n (s) =>\n s.version === sharedOption.version &&\n s.shareConfig?.layer === sharedOption.shareConfig?.layer,\n );\n if (!isSameVersionAndLayer) {\n sharedInitOptions[sharedOption.name].push(sharedOption);\n }\n }\n }\n }\n\n const sharedInitOptionsStr = Object.keys(sharedInitOptions).reduce(\n (sum, sharedName) => {\n const sharedOptions = sharedInitOptions[sharedName];\n let str = '';\n\n // Ensure all options are included without filtering\n sharedOptions.forEach((option) => {\n str += `{${Template.indent([\n `version: ${option.version},`,\n `get: ${option.getter},`,\n `scope: ${JSON.stringify(Array.isArray(option.shareScope) ? option.shareScope.flat() : [option.shareScope])},`,\n `shareConfig: ${JSON.stringify(option.shareConfig)},`,\n `${option.treeShakingMode ? `treeShaking: {mode: '${option.treeShakingMode}'},` : ''}`,\n ])}},`;\n });\n\n str = `[${str}]`;\n sum += `${Template.indent([`\"${sharedName}\": ${str},`])}`;\n return sum;\n },\n '',\n );\n\n const federationGlobal = getFederationGlobalScope(\n RuntimeGlobals || ({} as typeof RuntimeGlobals),\n );\n\n return Template.asString([\n `${getFederationGlobalScope(\n RuntimeGlobals,\n )}.initOptions.shared = {${sharedInitOptionsStr}}`,\n `${RuntimeGlobals.shareScopeMap} = {};`,\n 'var initPromises = {};',\n 'var initTokens = {};',\n `${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction(\n 'name, initScope',\n [\n `return ${federationGlobal}.bundlerRuntime.I({${Template.indent([\n `shareScopeName: name,`,\n `webpackRequire: ${RuntimeGlobals.require},`,\n `initPromises: initPromises,`,\n `initTokens: initTokens,`,\n `initScope: initScope,`,\n ])}`,\n '})',\n ],\n )};`,\n ]);\n }\n}\n\nexport default ShareRuntimeModule;\n"],"mappings":";;;;;;;;AAUA,MAAM,EAAE,UAAU,gBAAgB,kBAAkB,gFAC7B,UAAU,CAChC;AACD,MAAM,EAAE,+BAA+B,gFAChB,+BAA+B,CACrD;AAED,IAAM,qBAAN,cAAiC,cAAc;CAC7C,cAAc;AAEZ,QAAM,WAAW,cAAc,eAAe,EAAE;;;;;CAMlD,AAAS,WAA0B;EACjC,MAAM,cAAuC,KAAK;AAClD,MAAI,CAAC,YACH,OAAM,IAAI,MAAM,2BAA2B;EAE7C,MAAM,EAAE,iBAAiB,0BAA0B;AACnD,MAAI,CAAC,sBACH,QAAO;EAET,MAAM,aAAqC,KAAK;AAChD,MAAI,CAAC,WACH,OAAM,IAAI,MAAM,0BAA0B;EAE5C,MAAM,mCAA0D,IAAI,KAAK;EACzE,MAAM,oBAA2C,EAAE;AAEnD,OAAK,MAAM,SAAS,KAAK,OAAO,wBAAwB,IAAI,EAAE,EAAE;AAC9D,OAAI,CAAC,MACH;GAEF,MAAM,UAAU,WAAW,2CACzB,OACA,cACA,2BACD;AACD,OAAI,CAAC,QAAS;AACd,QAAK,MAAM,KAAK,SAAS;IACvB,MAAM,OAAO,sBAAsB,QACjC,GACA,MAAM,SACN,aACD;AACD,QAAI,CAAC,KAAM;AACX,SAAK,MAAM,QAAQ,MAAM;KACvB,MAAM,EAAE,YAAY,WAAW,SAAS;KACxC,IAAI,SAAS,iBAAiB,IAAI,WAAW;AAC7C,SAAI,WAAW,OACb,kBAAiB,IAAI,YAAa,yBAAS,IAAI,KAAK,CAAE;KAExD,IAAI,OAAO,OAAO,IAAI,aAAa,EAAE;AACrC,SAAI,SAAS,OACX,QAAO,IAAI,aAAa,GAAI,uBAAO,IAAI,KAAK,CAAE;AAEhD,UAAK,IAAI,KAAK;;IAEhB,MAAM,eAAe,sBAAsB,QACzC,GACA,MAAM,SACN,oBACD;AAED,QAAI,cAAc;AAChB,uBAAkB,aAAa,QAC7B,kBAAkB,aAAa,SAAS,EAAE;AAQ5C,SAAI,CAP0B,kBAC5B,aAAa,MACb,MACC,MACC,EAAE,YAAY,aAAa,WAC3B,EAAE,aAAa,UAAU,aAAa,aAAa,MACtD,CAEC,mBAAkB,aAAa,MAAM,KAAK,aAAa;;;;EAM/D,MAAM,uBAAuB,OAAO,KAAK,kBAAkB,CAAC,QACzD,KAAK,eAAe;GACnB,MAAM,gBAAgB,kBAAkB;GACxC,IAAI,MAAM;AAGV,iBAAc,SAAS,WAAW;AAChC,WAAO,IAAI,SAAS,OAAO;KACzB,YAAY,OAAO,QAAQ;KAC3B,QAAQ,OAAO,OAAO;KACtB,UAAU,KAAK,UAAU,MAAM,QAAQ,OAAO,WAAW,GAAG,OAAO,WAAW,MAAM,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;KAC5G,gBAAgB,KAAK,UAAU,OAAO,YAAY,CAAC;KACnD,GAAG,OAAO,kBAAkB,wBAAwB,OAAO,gBAAgB,OAAO;KACnF,CAAC,CAAC;KACH;AAEF,SAAM,IAAI,IAAI;AACd,UAAO,GAAG,SAAS,OAAO,CAAC,IAAI,WAAW,KAAK,IAAI,GAAG,CAAC;AACvD,UAAO;KAET,GACD;EAED,MAAM,mBAAmBA,6DACvB,kBAAmB,EAAE,CACtB;AAED,SAAO,SAAS,SAAS;GACvB,GAAGA,6DACD,eACD,CAAC,yBAAyB,qBAAqB;GAChD,GAAG,eAAe,cAAc;GAChC;GACA;GACA,GAAG,eAAe,kBAAkB,KAAK,gBAAgB,cACvD,mBACA,CACE,UAAU,iBAAiB,qBAAqB,SAAS,OAAO;IAC9D;IACA,mBAAmB,eAAe,QAAQ;IAC1C;IACA;IACA;IACD,CAAC,IACF,KACD,CACF,CAAC;GACH,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { ConsumeOptions } from "@module-federation/sdk";
|
|
2
|
+
import { Compilation } from "webpack";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/sharing/resolveMatchedConfigs.d.ts
|
|
3
5
|
interface MatchedConfigs<T> {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
resolved: Map<string, T>;
|
|
7
|
+
unresolved: Map<string, T>;
|
|
8
|
+
prefixed: Map<string, T>;
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
declare function resolveMatchedConfigs<T extends ConsumeOptions>(compilation: Compilation, configs: [string, T][]): Promise<MatchedConfigs<T>>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { resolveMatchedConfigs };
|
|
13
|
+
//# sourceMappingURL=resolveMatchedConfigs.d.ts.map
|
|
@@ -1,78 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
9
|
-
const ModuleNotFoundError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleNotFoundError'));
|
|
10
|
-
const LazySet = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/LazySet'));
|
|
1
|
+
Object.defineProperty(exports, 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/sharing/resolveMatchedConfigs.ts
|
|
6
|
+
const ModuleNotFoundError = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/ModuleNotFoundError"));
|
|
7
|
+
const LazySet = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/LazySet"));
|
|
11
8
|
const RELATIVE_REQUEST_REGEX = /^\.\.?(\/|$)/;
|
|
12
9
|
const ABSOLUTE_PATH_REGEX = /^(\/|[A-Za-z]:\\|\\\\)/;
|
|
13
|
-
const RESOLVE_OPTIONS = {
|
|
14
|
-
dependencyType: 'esm',
|
|
15
|
-
};
|
|
10
|
+
const RESOLVE_OPTIONS = { dependencyType: "esm" };
|
|
16
11
|
function createCompositeKey(request, config) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const layer = config.issuerLayer; //|| config.layer;
|
|
21
|
-
if (layer) {
|
|
22
|
-
return `(${layer})${request}`;
|
|
23
|
-
}
|
|
24
|
-
return request;
|
|
12
|
+
const layer = config.issuerLayer;
|
|
13
|
+
if (layer) return `(${layer})${request}`;
|
|
14
|
+
return request;
|
|
25
15
|
}
|
|
26
16
|
async function resolveMatchedConfigs(compilation, configs) {
|
|
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
|
-
compilation.contextDependencies.addAll(resolveContext.contextDependencies);
|
|
74
|
-
compilation.fileDependencies.addAll(resolveContext.fileDependencies);
|
|
75
|
-
compilation.missingDependencies.addAll(resolveContext.missingDependencies);
|
|
76
|
-
return { resolved, unresolved, prefixed };
|
|
17
|
+
const resolved = /* @__PURE__ */ new Map();
|
|
18
|
+
const unresolved = /* @__PURE__ */ new Map();
|
|
19
|
+
const prefixed = /* @__PURE__ */ new Map();
|
|
20
|
+
const resolveContext = {
|
|
21
|
+
fileDependencies: new LazySet(),
|
|
22
|
+
contextDependencies: new LazySet(),
|
|
23
|
+
missingDependencies: new LazySet()
|
|
24
|
+
};
|
|
25
|
+
const resolver = compilation.resolverFactory.get("normal", RESOLVE_OPTIONS);
|
|
26
|
+
const context = compilation.compiler.context;
|
|
27
|
+
await Promise.all(configs.map(([request, config]) => {
|
|
28
|
+
const resolveRequest = config.request || request;
|
|
29
|
+
if (RELATIVE_REQUEST_REGEX.test(resolveRequest)) return new Promise((resolve) => {
|
|
30
|
+
resolver.resolve({}, context, resolveRequest, resolveContext, (err, result) => {
|
|
31
|
+
if (err || result === false) {
|
|
32
|
+
err = err || /* @__PURE__ */ new Error(`Can't resolve ${resolveRequest}`);
|
|
33
|
+
compilation.errors.push(new ModuleNotFoundError(null, err, { name: `shared module ${resolveRequest}` }));
|
|
34
|
+
return resolve();
|
|
35
|
+
}
|
|
36
|
+
resolved.set(result, config);
|
|
37
|
+
resolve();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
else if (ABSOLUTE_PATH_REGEX.test(resolveRequest)) {
|
|
41
|
+
resolved.set(resolveRequest, config);
|
|
42
|
+
return;
|
|
43
|
+
} else if (resolveRequest.endsWith("/")) {
|
|
44
|
+
const key = createCompositeKey(resolveRequest, config);
|
|
45
|
+
prefixed.set(key, config);
|
|
46
|
+
return;
|
|
47
|
+
} else {
|
|
48
|
+
const key = createCompositeKey(resolveRequest, config);
|
|
49
|
+
unresolved.set(key, config);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
compilation.contextDependencies.addAll(resolveContext.contextDependencies);
|
|
54
|
+
compilation.fileDependencies.addAll(resolveContext.fileDependencies);
|
|
55
|
+
compilation.missingDependencies.addAll(resolveContext.missingDependencies);
|
|
56
|
+
return {
|
|
57
|
+
resolved,
|
|
58
|
+
unresolved,
|
|
59
|
+
prefixed
|
|
60
|
+
};
|
|
77
61
|
}
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
exports.resolveMatchedConfigs = resolveMatchedConfigs;
|
|
78
65
|
//# sourceMappingURL=resolveMatchedConfigs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveMatchedConfigs.js","
|
|
1
|
+
{"version":3,"file":"resolveMatchedConfigs.js","names":[],"sources":["../../../../src/lib/sharing/resolveMatchedConfigs.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport type { Compilation } from 'webpack';\nimport type { ResolveOptionsWithDependencyType } from 'webpack/lib/ResolverFactory';\nimport type { ConsumeOptions } from '@module-federation/sdk';\n\nconst ModuleNotFoundError = require(\n normalizeWebpackPath('webpack/lib/ModuleNotFoundError'),\n) as typeof import('webpack/lib/ModuleNotFoundError');\nconst LazySet = require(\n normalizeWebpackPath('webpack/lib/util/LazySet'),\n) as typeof import('webpack/lib/util/LazySet');\n\nconst RELATIVE_REQUEST_REGEX = /^\\.\\.?(\\/|$)/;\nconst ABSOLUTE_PATH_REGEX = /^(\\/|[A-Za-z]:\\\\|\\\\\\\\)/;\n\ninterface MatchedConfigs<T> {\n resolved: Map<string, T>;\n unresolved: Map<string, T>;\n prefixed: Map<string, T>;\n}\n\nconst RESOLVE_OPTIONS: ResolveOptionsWithDependencyType = {\n dependencyType: 'esm',\n};\n\nfunction createCompositeKey(request: string, config: ConsumeOptions): string {\n // disabling layer as fallback so that we can use issuerLayer to match\n // this way we can catch unlayered requests and default them to another layer\n // example react -> layered react without (layer)react\n const layer = config.issuerLayer; //|| config.layer;\n if (layer) {\n return `(${layer})${request}`;\n }\n return request;\n}\n\nexport async function resolveMatchedConfigs<T extends ConsumeOptions>(\n compilation: Compilation,\n configs: [string, T][],\n): Promise<MatchedConfigs<T>> {\n const resolved = new Map<string, T>();\n const unresolved = new Map<string, T>();\n const prefixed = new Map<string, T>();\n const resolveContext = {\n fileDependencies: new LazySet<string>(),\n contextDependencies: new LazySet<string>(),\n missingDependencies: new LazySet<string>(),\n };\n const resolver = compilation.resolverFactory.get('normal', RESOLVE_OPTIONS);\n const context = compilation.compiler.context;\n\n await Promise.all(\n configs.map(([request, config]) => {\n const resolveRequest = config.request || request;\n if (RELATIVE_REQUEST_REGEX.test(resolveRequest)) {\n // relative request\n return new Promise<void>((resolve) => {\n resolver.resolve(\n {},\n context,\n resolveRequest,\n resolveContext,\n (err, result) => {\n if (err || result === false) {\n err = err || new Error(`Can't resolve ${resolveRequest}`);\n compilation.errors.push(\n new ModuleNotFoundError(null, err, {\n name: `shared module ${resolveRequest}`,\n }),\n );\n return resolve();\n }\n resolved.set(result as string, config);\n resolve();\n },\n );\n });\n } else if (ABSOLUTE_PATH_REGEX.test(resolveRequest)) {\n // absolute path\n resolved.set(resolveRequest, config);\n return undefined;\n } else if (resolveRequest.endsWith('/')) {\n // module request prefix\n const key = createCompositeKey(resolveRequest, config);\n prefixed.set(key, config);\n return undefined;\n } else {\n // module request\n const key = createCompositeKey(resolveRequest, config);\n unresolved.set(key, config);\n return undefined;\n }\n }),\n );\n compilation.contextDependencies.addAll(resolveContext.contextDependencies);\n compilation.fileDependencies.addAll(resolveContext.fileDependencies);\n compilation.missingDependencies.addAll(resolveContext.missingDependencies);\n\n return { resolved, unresolved, prefixed };\n}\n"],"mappings":";;;;;AASA,MAAM,sBAAsB,gFACL,kCAAkC,CACxD;AACD,MAAM,UAAU,gFACO,2BAA2B,CACjD;AAED,MAAM,yBAAyB;AAC/B,MAAM,sBAAsB;AAQ5B,MAAM,kBAAoD,EACxD,gBAAgB,OACjB;AAED,SAAS,mBAAmB,SAAiB,QAAgC;CAI3E,MAAM,QAAQ,OAAO;AACrB,KAAI,MACF,QAAO,IAAI,MAAM,GAAG;AAEtB,QAAO;;AAGT,eAAsB,sBACpB,aACA,SAC4B;CAC5B,MAAM,2BAAW,IAAI,KAAgB;CACrC,MAAM,6BAAa,IAAI,KAAgB;CACvC,MAAM,2BAAW,IAAI,KAAgB;CACrC,MAAM,iBAAiB;EACrB,kBAAkB,IAAI,SAAiB;EACvC,qBAAqB,IAAI,SAAiB;EAC1C,qBAAqB,IAAI,SAAiB;EAC3C;CACD,MAAM,WAAW,YAAY,gBAAgB,IAAI,UAAU,gBAAgB;CAC3E,MAAM,UAAU,YAAY,SAAS;AAErC,OAAM,QAAQ,IACZ,QAAQ,KAAK,CAAC,SAAS,YAAY;EACjC,MAAM,iBAAiB,OAAO,WAAW;AACzC,MAAI,uBAAuB,KAAK,eAAe,CAE7C,QAAO,IAAI,SAAe,YAAY;AACpC,YAAS,QACP,EAAE,EACF,SACA,gBACA,iBACC,KAAK,WAAW;AACf,QAAI,OAAO,WAAW,OAAO;AAC3B,WAAM,uBAAO,IAAI,MAAM,iBAAiB,iBAAiB;AACzD,iBAAY,OAAO,KACjB,IAAI,oBAAoB,MAAM,KAAK,EACjC,MAAM,iBAAiB,kBACxB,CAAC,CACH;AACD,YAAO,SAAS;;AAElB,aAAS,IAAI,QAAkB,OAAO;AACtC,aAAS;KAEZ;IACD;WACO,oBAAoB,KAAK,eAAe,EAAE;AAEnD,YAAS,IAAI,gBAAgB,OAAO;AACpC;aACS,eAAe,SAAS,IAAI,EAAE;GAEvC,MAAM,MAAM,mBAAmB,gBAAgB,OAAO;AACtD,YAAS,IAAI,KAAK,OAAO;AACzB;SACK;GAEL,MAAM,MAAM,mBAAmB,gBAAgB,OAAO;AACtD,cAAW,IAAI,KAAK,OAAO;AAC3B;;GAEF,CACH;AACD,aAAY,oBAAoB,OAAO,eAAe,oBAAoB;AAC1E,aAAY,iBAAiB,OAAO,eAAe,iBAAiB;AACpE,aAAY,oBAAoB,OAAO,eAAe,oBAAoB;AAE1E,QAAO;EAAE;EAAU;EAAY;EAAU"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { NormalizedSharedOptions } from "../SharePlugin.js";
|
|
2
|
+
import { Compiler } from "webpack";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.d.ts
|
|
5
|
+
type ShareRequestsMap = Record<string, {
|
|
6
|
+
requests: [string, string][];
|
|
5
7
|
}>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
type CollectSharedEntryPluginOptions = {
|
|
9
|
+
sharedOptions: NormalizedSharedOptions;
|
|
10
|
+
shareScope?: string;
|
|
9
11
|
};
|
|
10
12
|
declare class CollectSharedEntryPlugin {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
name: string;
|
|
14
|
+
sharedOptions: NormalizedSharedOptions;
|
|
15
|
+
private _collectedEntries;
|
|
16
|
+
constructor(options: CollectSharedEntryPluginOptions);
|
|
17
|
+
getData(): ShareRequestsMap;
|
|
18
|
+
apply(compiler: Compiler): void;
|
|
17
19
|
}
|
|
18
|
-
|
|
20
|
+
//#endregion
|
|
21
|
+
export { CollectSharedEntryPluginOptions, ShareRequestsMap, CollectSharedEntryPlugin as default };
|
|
22
|
+
//# sourceMappingURL=CollectSharedEntryPlugin.d.ts.map
|