@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FederationRuntimePlugin.js","sourceRoot":"","sources":["../../../../../src/lib/container/runtime/FederationRuntimePlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FederationRuntimePlugin.js","names":["getFederationGlobalScope","normalizeToPosixPath","PrefetchPlugin","createHash","TEMP_DIR","FederationRuntimeDependency","FederationModulesPlugin","normalizeRuntimeInitOptionsWithOutShared","FederationRuntimeModule","EmbedFederationRuntimePlugin","HoistContainerReferences"],"sources":["../../../../../src/lib/container/runtime/FederationRuntimePlugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport pBtoa from 'btoa';\nimport type {\n Compiler,\n WebpackPluginInstance,\n Compilation,\n Chunk,\n} from 'webpack';\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport { PrefetchPlugin } from '@module-federation/data-prefetch/cli';\nimport { moduleFederationPlugin } from '@module-federation/sdk';\nimport FederationRuntimeModule from './FederationRuntimeModule';\nimport {\n getFederationGlobalScope,\n normalizeRuntimeInitOptionsWithOutShared,\n createHash,\n normalizeToPosixPath,\n} from './utils';\nimport { TEMP_DIR } from '../constant';\nimport EmbedFederationRuntimePlugin from './EmbedFederationRuntimePlugin';\nimport FederationModulesPlugin from './FederationModulesPlugin';\nimport HoistContainerReferences from '../HoistContainerReferencesPlugin';\nimport FederationRuntimeDependency from './FederationRuntimeDependency';\n\nconst ModuleDependency = require(\n normalizeWebpackPath('webpack/lib/dependencies/ModuleDependency'),\n) as typeof import('webpack/lib/dependencies/ModuleDependency');\n\nconst { RuntimeGlobals, Template } = require(\n normalizeWebpackPath('webpack'),\n) as typeof import('webpack');\nconst { mkdirpSync } = require(\n normalizeWebpackPath('webpack/lib/util/fs'),\n) as typeof import('webpack/lib/util/fs');\n\ntype ResolveFn = typeof require.resolve;\ntype RuntimeEntrySpec = {\n bundler: string;\n esm: string;\n cjs: string;\n};\n\nfunction resolveRuntimeEntry(\n spec: RuntimeEntrySpec,\n implementation: string | undefined,\n resolve: ResolveFn = require.resolve,\n) {\n const candidates = [spec.bundler, spec.esm, spec.cjs];\n const modulePaths = implementation ? [implementation] : undefined;\n let lastError: unknown;\n\n for (const candidate of candidates) {\n try {\n return modulePaths\n ? resolve(candidate, { paths: modulePaths })\n : resolve(candidate);\n } catch (error) {\n lastError = error;\n }\n }\n\n throw lastError;\n}\n\nfunction resolveRuntimeEntryWithFallback(\n spec: RuntimeEntrySpec,\n implementation: string | undefined,\n resolve: ResolveFn = require.resolve,\n) {\n if (implementation) {\n try {\n return resolveRuntimeEntry(spec, implementation, resolve);\n } catch {\n // Fall back to the workspace runtime packages when a custom\n // implementation hasn't published the newer subpath yet.\n }\n }\n\n return resolveRuntimeEntry(spec, undefined, resolve);\n}\nexport function resolveRuntimePaths(\n implementation?: string,\n resolve: ResolveFn = require.resolve,\n) {\n // Prefer the dedicated bundler subpath so webpack can tree-shake across the\n // runtime package boundary. Fall back to the legacy dist contract for older\n // custom implementations that have not published /bundler yet.\n const runtimeToolsPath = resolveRuntimeEntryWithFallback(\n {\n bundler: '@module-federation/runtime-tools/bundler',\n esm: '@module-federation/runtime-tools/dist/index.js',\n cjs: '@module-federation/runtime-tools/dist/index.cjs',\n },\n implementation,\n resolve,\n );\n const moduleBase = implementation || runtimeToolsPath;\n\n return {\n runtimeToolsPath,\n bundlerRuntimePath: resolveRuntimeEntry(\n {\n bundler: '@module-federation/webpack-bundler-runtime/bundler',\n esm: '@module-federation/webpack-bundler-runtime/dist/index.js',\n cjs: '@module-federation/webpack-bundler-runtime/dist/index.cjs',\n },\n moduleBase,\n resolve,\n ),\n runtimePath: resolveRuntimeEntry(\n {\n bundler: '@module-federation/runtime/bundler',\n esm: '@module-federation/runtime/dist/index.js',\n cjs: '@module-federation/runtime/dist/index.cjs',\n },\n moduleBase,\n resolve,\n ),\n };\n}\n\nconst {\n runtimeToolsPath: RuntimeToolsPath,\n bundlerRuntimePath: BundlerRuntimePath,\n runtimePath: RuntimePath,\n} = resolveRuntimePaths();\nconst federationGlobal = getFederationGlobalScope(RuntimeGlobals);\n\nconst onceForCompiler = new WeakSet<Compiler>();\nconst onceForCompilerEntryMap = new WeakMap<Compiler, string>();\n\nclass FederationRuntimePlugin {\n options?: moduleFederationPlugin.ModuleFederationPluginOptions;\n entryFilePath: string;\n bundlerRuntimePath: string;\n runtimePath: string;\n runtimeToolsPath: string;\n federationRuntimeDependency?: FederationRuntimeDependency; // Add this line\n\n constructor(options?: moduleFederationPlugin.ModuleFederationPluginOptions) {\n this.options = options ? { ...options } : undefined;\n this.entryFilePath = '';\n this.bundlerRuntimePath = BundlerRuntimePath;\n this.runtimePath = RuntimePath;\n this.runtimeToolsPath = RuntimeToolsPath;\n this.federationRuntimeDependency = undefined; // Initialize as undefined\n }\n\n static getTemplate(\n compiler: Compiler,\n options: moduleFederationPlugin.ModuleFederationPluginOptions,\n bundlerRuntimePath?: string,\n ) {\n // internal runtime plugin\n const runtimePlugins = options.runtimePlugins;\n const normalizedBundlerRuntimePath = normalizeToPosixPath(\n bundlerRuntimePath || BundlerRuntimePath,\n );\n\n let runtimePluginTemplates = '';\n const runtimePluginCalls: string[] = [];\n\n if (Array.isArray(runtimePlugins)) {\n runtimePlugins.forEach((runtimePlugin, index) => {\n if (!runtimePlugin) {\n return;\n }\n const runtimePluginName = `plugin_${index}`;\n const runtimePluginEntry = Array.isArray(runtimePlugin)\n ? runtimePlugin[0]\n : runtimePlugin;\n const runtimePluginPath = normalizeToPosixPath(\n path.isAbsolute(runtimePluginEntry)\n ? runtimePluginEntry\n : path.join(process.cwd(), runtimePluginEntry),\n );\n const paramsStr =\n Array.isArray(runtimePlugin) && runtimePlugin.length > 1\n ? JSON.stringify(runtimePlugin[1])\n : 'undefined';\n runtimePluginTemplates += `import ${runtimePluginName} from '${runtimePluginPath}';\\n`;\n runtimePluginCalls.push(\n `${runtimePluginName} ? (${runtimePluginName}.default || ${runtimePluginName})(${paramsStr}) : false`,\n );\n });\n }\n const embedRuntimeLines = Template.asString([\n `if(!${federationGlobal}.runtime || !${federationGlobal}.bundlerRuntime){`,\n Template.indent([\n `var prevFederation = ${federationGlobal};`,\n `${federationGlobal} = {}`,\n `for(var key in federation){`,\n Template.indent([`${federationGlobal}[key] = federation[key];`]),\n '}',\n `for(var key in prevFederation){`,\n Template.indent([`${federationGlobal}[key] = prevFederation[key];`]),\n '}',\n ]),\n '}',\n ]);\n\n return Template.asString([\n `import federation from '${normalizedBundlerRuntimePath}';`,\n runtimePluginTemplates,\n embedRuntimeLines,\n `if(!${federationGlobal}.instance){`,\n Template.indent([\n runtimePluginCalls.length\n ? Template.asString([\n `var pluginsToAdd = [`,\n Template.indent(\n Template.indent(runtimePluginCalls.map((call) => `${call},`)),\n ),\n `].filter(Boolean);`,\n `${federationGlobal}.initOptions.plugins = ${federationGlobal}.initOptions.plugins ? `,\n `${federationGlobal}.initOptions.plugins.concat(pluginsToAdd) : pluginsToAdd;`,\n ])\n : '',\n // `${federationGlobal}.instance = ${federationGlobal}.runtime.init(${federationGlobal}.initOptions);`,\n `${federationGlobal}.instance = ${federationGlobal}.bundlerRuntime.init({webpackRequire:${RuntimeGlobals.require}});`,\n `if(${federationGlobal}.attachShareScopeMap){`,\n Template.indent([\n `${federationGlobal}.attachShareScopeMap(${RuntimeGlobals.require})`,\n ]),\n '}',\n `if(${federationGlobal}.installInitialConsumes){`,\n Template.indent([`${federationGlobal}.installInitialConsumes()`]),\n '}',\n ]),\n PrefetchPlugin.addRuntime(compiler, {\n name: options.name!,\n }),\n '}',\n ]);\n }\n\n getFilePath(compiler: Compiler) {\n if (!this.options) {\n return '';\n }\n\n const existedFilePath = onceForCompilerEntryMap.get(compiler);\n\n if (existedFilePath) {\n return existedFilePath;\n }\n\n let entryFilePath = '';\n if (!this.options?.virtualRuntimeEntry) {\n const containerName = this.options.name;\n const hash = createHash(\n `${containerName} ${FederationRuntimePlugin.getTemplate(\n compiler,\n this.options,\n this.bundlerRuntimePath,\n )}`,\n );\n entryFilePath = path.join(TEMP_DIR, `entry.${hash}.js`);\n } else {\n entryFilePath = `data:text/javascript;charset=utf-8;base64,${pBtoa(\n FederationRuntimePlugin.getTemplate(\n compiler,\n this.options,\n this.bundlerRuntimePath,\n ),\n )}`;\n }\n\n onceForCompilerEntryMap.set(compiler, entryFilePath);\n\n return entryFilePath;\n }\n\n ensureFile(compiler: Compiler) {\n if (!this.options) {\n return;\n }\n // skip virtual entry\n if (this.options?.virtualRuntimeEntry) {\n return;\n }\n const filePath = this.entryFilePath;\n const outputFs = (compiler as unknown as { outputFileSystem?: unknown })\n .outputFileSystem;\n const fsLike =\n outputFs &&\n typeof (outputFs as typeof fs).readFileSync === 'function' &&\n typeof (outputFs as typeof fs).writeFileSync === 'function'\n ? (outputFs as typeof fs)\n : fs;\n try {\n fsLike.readFileSync(filePath);\n } catch {\n mkdirpSync(fsLike as any, TEMP_DIR);\n fsLike.writeFileSync(\n filePath,\n FederationRuntimePlugin.getTemplate(\n compiler,\n this.options,\n this.bundlerRuntimePath,\n ),\n );\n }\n }\n\n getDependency(compiler: Compiler) {\n if (this.federationRuntimeDependency)\n return this.federationRuntimeDependency;\n\n this.ensureFile(compiler);\n\n this.federationRuntimeDependency = new FederationRuntimeDependency(\n this.entryFilePath,\n );\n return this.federationRuntimeDependency;\n }\n\n prependEntry(compiler: Compiler) {\n if (!this.options?.virtualRuntimeEntry) {\n this.ensureFile(compiler);\n }\n\n compiler.hooks.thisCompilation.tap(\n this.constructor.name,\n (compilation: Compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n FederationRuntimeDependency,\n normalModuleFactory,\n );\n compilation.dependencyTemplates.set(\n FederationRuntimeDependency,\n new ModuleDependency.Template(),\n );\n },\n );\n compiler.hooks.make.tapAsync(\n this.constructor.name,\n (compilation: Compilation, callback) => {\n const federationRuntimeDependency = this.getDependency(compiler);\n const hooks = FederationModulesPlugin.getCompilationHooks(compilation);\n compilation.addInclude(\n compiler.context,\n federationRuntimeDependency,\n { name: undefined },\n (err) => {\n if (err) {\n return callback(err);\n }\n hooks.addFederationRuntimeDependency.call(\n federationRuntimeDependency,\n );\n callback();\n },\n );\n },\n );\n }\n\n injectRuntime(compiler: Compiler) {\n if (!this.options || !this.options.name) {\n return;\n }\n const name = this.options.name;\n const initOptionsWithoutShared = normalizeRuntimeInitOptionsWithOutShared(\n this.options,\n );\n const federationGlobal = getFederationGlobalScope(\n RuntimeGlobals || ({} as typeof RuntimeGlobals),\n );\n\n compiler.hooks.thisCompilation.tap(\n this.constructor.name,\n (compilation: Compilation) => {\n const handler = (chunk: Chunk, runtimeRequirements: Set<string>) => {\n if (runtimeRequirements.has(federationGlobal)) return;\n runtimeRequirements.add(federationGlobal);\n runtimeRequirements.add(RuntimeGlobals.interceptModuleExecution);\n runtimeRequirements.add(RuntimeGlobals.moduleCache);\n runtimeRequirements.add(RuntimeGlobals.compatGetDefaultExport);\n\n compilation.addRuntimeModule(\n chunk,\n new FederationRuntimeModule(\n runtimeRequirements,\n name,\n initOptionsWithoutShared,\n ),\n );\n };\n\n compilation.hooks.additionalTreeRuntimeRequirements.tap(\n this.constructor.name,\n (chunk: Chunk, runtimeRequirements: Set<string>) => {\n if (!chunk.hasRuntime()) return;\n if (runtimeRequirements.has(RuntimeGlobals.initializeSharing))\n return;\n if (runtimeRequirements.has(RuntimeGlobals.currentRemoteGetScope))\n return;\n if (runtimeRequirements.has(RuntimeGlobals.shareScopeMap)) return;\n if (runtimeRequirements.has(federationGlobal)) return;\n handler(chunk, runtimeRequirements);\n },\n );\n\n // if federation runtime requirements exist\n // attach runtime module to the chunk\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.initializeSharing)\n .tap(this.constructor.name, handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.currentRemoteGetScope)\n .tap(this.constructor.name, handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.shareScopeMap)\n .tap(this.constructor.name, handler);\n compilation.hooks.runtimeRequirementInTree\n .for(federationGlobal)\n .tap(this.constructor.name, handler);\n },\n );\n }\n\n getRuntimeAlias(compiler: Compiler) {\n const { implementation } = this.options || {};\n const alias: any = compiler.options.resolve.alias || {};\n\n const resolvedPaths = resolveRuntimePaths(implementation);\n\n this.runtimeToolsPath = resolvedPaths.runtimeToolsPath;\n this.bundlerRuntimePath = resolvedPaths.bundlerRuntimePath;\n\n if (alias['@module-federation/runtime$']) {\n this.runtimePath = alias['@module-federation/runtime$'];\n return this.runtimePath;\n }\n\n this.runtimePath = resolvedPaths.runtimePath;\n\n return this.runtimePath;\n }\n\n setRuntimeAlias(compiler: Compiler) {\n const { implementation } = this.options || {};\n const alias: any = compiler.options.resolve.alias || {};\n const runtimePath = this.getRuntimeAlias(compiler);\n alias['@module-federation/runtime$'] =\n alias['@module-federation/runtime$'] || runtimePath;\n alias['@module-federation/runtime-tools$'] =\n alias['@module-federation/runtime-tools$'] ||\n implementation ||\n this.runtimeToolsPath;\n\n // Set up aliases for the federation runtime and tools\n // This ensures that the correct versions are used throughout the project\n compiler.options.resolve.alias = alias;\n }\n\n apply(compiler: Compiler) {\n const useSharedContainerPlugin = compiler.options.plugins.find(\n (p): p is WebpackPluginInstance & { _options?: any } => {\n if (typeof p !== 'object' || !p) {\n return false;\n }\n return p['name'] === 'SharedContainerPlugin';\n },\n );\n // share container plugin should not inject mf runtime\n if (useSharedContainerPlugin) {\n return;\n }\n const useModuleFederationPlugin = compiler.options.plugins.find(\n (p): p is WebpackPluginInstance & { _options?: any } => {\n if (typeof p !== 'object' || !p) {\n return false;\n }\n return p['name'] === 'ModuleFederationPlugin';\n },\n );\n\n if (useModuleFederationPlugin && !this.options) {\n this.options = useModuleFederationPlugin._options;\n }\n\n const useContainerPlugin = compiler.options.plugins.find(\n (p): p is WebpackPluginInstance & { _options?: any } => {\n if (typeof p !== 'object' || !p) {\n return false;\n }\n\n return p['name'] === 'ContainerPlugin';\n },\n );\n\n if (useContainerPlugin && !this.options) {\n this.options = useContainerPlugin._options;\n }\n\n if (!useContainerPlugin && !useModuleFederationPlugin) {\n this.options = {\n remotes: {},\n ...this.options,\n };\n }\n if (this.options && !this.options?.name) {\n //! the instance may get the same one if the name is the same https://github.com/module-federation/core/blob/main/packages/runtime/src/index.ts#L18\n this.options.name =\n compiler.options.output.uniqueName || `container_${Date.now()}`;\n }\n\n const resolvedPaths = resolveRuntimePaths(this.options?.implementation);\n this.bundlerRuntimePath = resolvedPaths.bundlerRuntimePath;\n this.runtimePath = resolvedPaths.runtimePath;\n this.runtimeToolsPath = resolvedPaths.runtimeToolsPath;\n\n this.entryFilePath = this.getFilePath(compiler);\n\n new EmbedFederationRuntimePlugin().apply(compiler);\n\n new HoistContainerReferences().apply(compiler);\n\n // dont run multiple times on every apply()\n if (!onceForCompiler.has(compiler)) {\n this.prependEntry(compiler);\n this.injectRuntime(compiler);\n this.setRuntimeAlias(compiler);\n onceForCompiler.add(compiler);\n }\n }\n}\n\nexport default FederationRuntimePlugin;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { NormalizedRuntimeInitOptionsWithOutShared } from "./utils.js";
|
|
2
|
+
import * as webpack$1 from "webpack";
|
|
3
|
+
import RuntimeGlobals from "webpack/lib/RuntimeGlobals";
|
|
4
|
+
|
|
5
|
+
//#region src/lib/container/runtime/getFederationGlobal.d.ts
|
|
6
|
+
declare const Template: typeof webpack$1.Template;
|
|
4
7
|
declare function getFederationGlobal(template: typeof Template, runtimeGlobals: typeof RuntimeGlobals, matcher: string | boolean, rootOutputDir: string | undefined, initOptionsWithoutShared: NormalizedRuntimeInitOptionsWithOutShared): string;
|
|
5
|
-
|
|
8
|
+
//#endregion
|
|
9
|
+
export { getFederationGlobal as default };
|
|
10
|
+
//# sourceMappingURL=getFederationGlobal.d.ts.map
|
|
@@ -1,45 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
|
|
3
|
+
const require_lib_container_runtime_utils = require('./utils.js');
|
|
4
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
5
|
+
|
|
6
|
+
//#region src/lib/container/runtime/getFederationGlobal.ts
|
|
7
|
+
const { Template } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack"));
|
|
6
8
|
function getFederationGlobal(template, runtimeGlobals, matcher, rootOutputDir, initOptionsWithoutShared) {
|
|
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
|
-
]);
|
|
9
|
+
const federationGlobal = require_lib_container_runtime_utils.getFederationGlobalScope(runtimeGlobals);
|
|
10
|
+
const initOptionsStrWithoutShared = JSON.stringify({
|
|
11
|
+
...initOptionsWithoutShared,
|
|
12
|
+
remotes: initOptionsWithoutShared.remotes.filter((remote) => remote.externalType === "script")
|
|
13
|
+
});
|
|
14
|
+
const remoteInfos = JSON.stringify(initOptionsWithoutShared.remotes.reduce((acc, remote) => {
|
|
15
|
+
const item = {
|
|
16
|
+
alias: remote.alias || "",
|
|
17
|
+
name: remote.name,
|
|
18
|
+
entry: remote.entry || "",
|
|
19
|
+
shareScope: remote.shareScope,
|
|
20
|
+
externalType: remote.externalType
|
|
21
|
+
};
|
|
22
|
+
const key = remote.name || remote.alias || "";
|
|
23
|
+
acc[key] ||= [];
|
|
24
|
+
acc[key].push(item);
|
|
25
|
+
return acc;
|
|
26
|
+
}, {}));
|
|
27
|
+
return template.asString([
|
|
28
|
+
`if(!${federationGlobal}){`,
|
|
29
|
+
template.indent([
|
|
30
|
+
`${federationGlobal} = {`,
|
|
31
|
+
template.indent([
|
|
32
|
+
`initOptions: ${initOptionsStrWithoutShared},`,
|
|
33
|
+
`chunkMatcher: function(chunkId) {return ${matcher}},`,
|
|
34
|
+
`rootOutputDir: ${JSON.stringify(rootOutputDir || "")},`,
|
|
35
|
+
`bundlerRuntimeOptions: { remotes: { remoteInfos: ${remoteInfos}, webpackRequire: ${runtimeGlobals.require},idToRemoteMap: {}, chunkMapping: {},idToExternalAndNameMapping: {} } }`
|
|
36
|
+
]),
|
|
37
|
+
"};"
|
|
38
|
+
]),
|
|
39
|
+
`${runtimeGlobals.require}.consumesLoadingData = {}`,
|
|
40
|
+
`${runtimeGlobals.require}.remotesLoadingData = {}`,
|
|
41
|
+
"}"
|
|
42
|
+
]);
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
44
46
|
exports.default = getFederationGlobal;
|
|
45
47
|
//# sourceMappingURL=getFederationGlobal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFederationGlobal.js","
|
|
1
|
+
{"version":3,"file":"getFederationGlobal.js","names":["getFederationGlobalScope"],"sources":["../../../../../src/lib/container/runtime/getFederationGlobal.ts"],"sourcesContent":["import { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport { getFederationGlobalScope } from './utils';\nimport type RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport type { NormalizedRuntimeInitOptionsWithOutShared } from './utils';\nimport type { RemoteInfos } from '@module-federation/webpack-bundler-runtime';\n\nconst { Template } = require(\n normalizeWebpackPath('webpack'),\n) as typeof import('webpack');\n\nfunction getFederationGlobal(\n template: typeof Template,\n runtimeGlobals: typeof RuntimeGlobals,\n matcher: string | boolean,\n rootOutputDir: string | undefined,\n initOptionsWithoutShared: NormalizedRuntimeInitOptionsWithOutShared,\n): string {\n const federationGlobal = getFederationGlobalScope(runtimeGlobals);\n const initOptionsStrWithoutShared = JSON.stringify({\n ...initOptionsWithoutShared,\n remotes: initOptionsWithoutShared.remotes.filter(\n (remote) => remote.externalType === 'script',\n ),\n });\n const remoteInfos = JSON.stringify(\n initOptionsWithoutShared.remotes.reduce((acc, remote) => {\n const item: RemoteInfos[string][0] = {\n alias: remote.alias || '',\n name: remote.name,\n // @ts-ignore\n entry: remote.entry || '',\n // @ts-ignore\n shareScope: remote.shareScope,\n externalType: remote.externalType,\n };\n const key = remote.name || remote.alias || '';\n acc[key] ||= [];\n acc[key].push(item);\n return acc;\n }, {} as RemoteInfos),\n );\n\n return template.asString([\n `if(!${federationGlobal}){`,\n template.indent([\n `${federationGlobal} = {`,\n template.indent([\n `initOptions: ${initOptionsStrWithoutShared},`,\n `chunkMatcher: function(chunkId) {return ${matcher}},`,\n `rootOutputDir: ${JSON.stringify(rootOutputDir || '')},`,\n `bundlerRuntimeOptions: { remotes: { remoteInfos: ${remoteInfos}, webpackRequire: ${runtimeGlobals.require},idToRemoteMap: {}, chunkMapping: {},idToExternalAndNameMapping: {} } }`,\n ]),\n '};',\n ]),\n `${runtimeGlobals.require}.consumesLoadingData = {}`,\n `${runtimeGlobals.require}.remotesLoadingData = {}`,\n '}',\n ]);\n}\n\nexport default getFederationGlobal;\n"],"mappings":";;;;;;AAMA,MAAM,EAAE,aAAa,gFACE,UAAU,CAChC;AAED,SAAS,oBACP,UACA,gBACA,SACA,eACA,0BACQ;CACR,MAAM,mBAAmBA,6DAAyB,eAAe;CACjE,MAAM,8BAA8B,KAAK,UAAU;EACjD,GAAG;EACH,SAAS,yBAAyB,QAAQ,QACvC,WAAW,OAAO,iBAAiB,SACrC;EACF,CAAC;CACF,MAAM,cAAc,KAAK,UACvB,yBAAyB,QAAQ,QAAQ,KAAK,WAAW;EACvD,MAAM,OAA+B;GACnC,OAAO,OAAO,SAAS;GACvB,MAAM,OAAO;GAEb,OAAO,OAAO,SAAS;GAEvB,YAAY,OAAO;GACnB,cAAc,OAAO;GACtB;EACD,MAAM,MAAM,OAAO,QAAQ,OAAO,SAAS;AAC3C,MAAI,SAAS,EAAE;AACf,MAAI,KAAK,KAAK,KAAK;AACnB,SAAO;IACN,EAAE,CAAgB,CACtB;AAED,QAAO,SAAS,SAAS;EACvB,OAAO,iBAAiB;EACxB,SAAS,OAAO;GACd,GAAG,iBAAiB;GACpB,SAAS,OAAO;IACd,gBAAgB,4BAA4B;IAC5C,2CAA2C,QAAQ;IACnD,kBAAkB,KAAK,UAAU,iBAAiB,GAAG,CAAC;IACtD,oDAAoD,YAAY,oBAAoB,eAAe,QAAQ;IAC5G,CAAC;GACF;GACD,CAAC;EACF,GAAG,eAAe,QAAQ;EAC1B,GAAG,eAAe,QAAQ;EAC1B;EACD,CAAC"}
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import { moduleFederationPlugin } from "@module-federation/sdk";
|
|
2
|
+
import webpack from "webpack";
|
|
3
|
+
import RuntimeGlobals from "webpack/lib/RuntimeGlobals";
|
|
4
|
+
import { init } from "@module-federation/runtime-tools";
|
|
5
|
+
|
|
6
|
+
//#region src/lib/container/runtime/utils.d.ts
|
|
7
|
+
type Remotes = Parameters<typeof init>[0]['remotes'];
|
|
8
|
+
interface NormalizedRuntimeInitOptionsWithOutShared {
|
|
9
|
+
name: string;
|
|
10
|
+
remotes: Array<Remotes[0] & {
|
|
11
|
+
externalType: moduleFederationPlugin.ExternalsType;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
5
14
|
type EntryStaticNormalized = Awaited<ReturnType<Extract<webpack.WebpackOptionsNormalized['entry'], () => any>>>;
|
|
6
15
|
interface ModifyEntryOptions {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
16
|
+
compiler: webpack.Compiler;
|
|
17
|
+
prependEntry?: (entry: EntryStaticNormalized) => void;
|
|
18
|
+
staticEntry?: EntryStaticNormalized;
|
|
10
19
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
declare function getFederationGlobalScope(runtimeGlobals: typeof RuntimeGlobals): string;
|
|
21
|
+
declare function normalizeRuntimeInitOptionsWithOutShared(options: moduleFederationPlugin.ModuleFederationPluginOptions): NormalizedRuntimeInitOptionsWithOutShared;
|
|
22
|
+
declare function modifyEntry(options: ModifyEntryOptions): void;
|
|
23
|
+
declare function createHash(contents: string): string;
|
|
24
|
+
declare const normalizeToPosixPath: (p: string) => string;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { NormalizedRuntimeInitOptionsWithOutShared, createHash, getFederationGlobalScope, modifyEntry, normalizeRuntimeInitOptionsWithOutShared, normalizeToPosixPath };
|
|
27
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1,111 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
16
|
-
const upath_1 = __importDefault(require("upath"));
|
|
17
|
-
const path_1 = __importDefault(require("path"));
|
|
18
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
19
|
-
const options_1 = require("../options");
|
|
20
|
-
const extractUrlAndGlobal = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/extractUrlAndGlobal'));
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
|
|
3
|
+
const require_lib_container_options = require('../options.js');
|
|
4
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
5
|
+
let path = require("path");
|
|
6
|
+
path = require_runtime.__toESM(path);
|
|
7
|
+
let upath = require("upath");
|
|
8
|
+
upath = require_runtime.__toESM(upath);
|
|
9
|
+
let crypto = require("crypto");
|
|
10
|
+
crypto = require_runtime.__toESM(crypto);
|
|
11
|
+
|
|
12
|
+
//#region src/lib/container/runtime/utils.ts
|
|
13
|
+
const extractUrlAndGlobal = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/extractUrlAndGlobal"));
|
|
21
14
|
function getFederationGlobalScope(runtimeGlobals) {
|
|
22
|
-
|
|
15
|
+
return `${runtimeGlobals.require || "__webpack_require__"}.federation`;
|
|
23
16
|
}
|
|
24
17
|
function normalizeRuntimeInitOptionsWithOutShared(options) {
|
|
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
|
-
const initOptionsWithoutShared = {
|
|
75
|
-
name: options.name,
|
|
76
|
-
remotes: remoteOptions,
|
|
77
|
-
shareStrategy: options.shareStrategy || 'version-first',
|
|
78
|
-
};
|
|
79
|
-
return initOptionsWithoutShared;
|
|
18
|
+
const parsedOptions = require_lib_container_options.parseOptions(options.remotes || [], (item) => ({
|
|
19
|
+
external: Array.isArray(item) ? item : [item],
|
|
20
|
+
shareScope: options.shareScope || "default"
|
|
21
|
+
}), (item) => ({
|
|
22
|
+
external: Array.isArray(item.external) ? item.external : [item.external],
|
|
23
|
+
shareScope: item.shareScope || options.shareScope || "default"
|
|
24
|
+
}));
|
|
25
|
+
const remoteOptions = [];
|
|
26
|
+
parsedOptions.forEach((parsedOption) => {
|
|
27
|
+
const [alias, remoteInfos] = parsedOption;
|
|
28
|
+
const { external, shareScope } = remoteInfos;
|
|
29
|
+
external.forEach((externalItem) => {
|
|
30
|
+
try {
|
|
31
|
+
const entry = externalItem;
|
|
32
|
+
if (/\s/.test(entry)) return;
|
|
33
|
+
const [url, globalName] = extractUrlAndGlobal(externalItem);
|
|
34
|
+
remoteOptions.push({
|
|
35
|
+
alias,
|
|
36
|
+
name: globalName,
|
|
37
|
+
entry: url,
|
|
38
|
+
shareScope,
|
|
39
|
+
externalType: "script"
|
|
40
|
+
});
|
|
41
|
+
} catch (err) {
|
|
42
|
+
const getExternalTypeFromExternal = (external) => {
|
|
43
|
+
if (/^[a-z0-9-]+ /.test(external)) {
|
|
44
|
+
const idx = external.indexOf(" ");
|
|
45
|
+
return [external.slice(0, idx), external.slice(idx + 1)];
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
};
|
|
49
|
+
remoteOptions.push({
|
|
50
|
+
alias,
|
|
51
|
+
name: "",
|
|
52
|
+
entry: "",
|
|
53
|
+
shareScope,
|
|
54
|
+
externalType: getExternalTypeFromExternal(externalItem) || "unknown"
|
|
55
|
+
});
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
name: options.name,
|
|
62
|
+
remotes: remoteOptions,
|
|
63
|
+
shareStrategy: options.shareStrategy || "version-first"
|
|
64
|
+
};
|
|
80
65
|
}
|
|
81
66
|
function modifyEntry(options) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
if (staticEntry) {
|
|
99
|
-
compiler.options.entry = operator(compiler.options.entry, staticEntry);
|
|
100
|
-
}
|
|
101
|
-
if (prependEntry) {
|
|
102
|
-
prependEntry(compiler.options.entry);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
67
|
+
const { compiler, staticEntry, prependEntry } = options;
|
|
68
|
+
const operator = (oriEntry, newEntry) => Object.assign(oriEntry, newEntry);
|
|
69
|
+
if (typeof compiler.options.entry === "function") {
|
|
70
|
+
const prevEntryFn = compiler.options.entry;
|
|
71
|
+
compiler.options.entry = async () => {
|
|
72
|
+
let res = await prevEntryFn();
|
|
73
|
+
if (staticEntry) res = operator(res, staticEntry);
|
|
74
|
+
if (prependEntry) prependEntry(res);
|
|
75
|
+
return res;
|
|
76
|
+
};
|
|
77
|
+
} else {
|
|
78
|
+
if (staticEntry) compiler.options.entry = operator(compiler.options.entry, staticEntry);
|
|
79
|
+
if (prependEntry) prependEntry(compiler.options.entry);
|
|
80
|
+
}
|
|
105
81
|
}
|
|
106
82
|
function createHash(contents) {
|
|
107
|
-
|
|
83
|
+
return crypto.default.createHash("md5").update(contents).digest("hex");
|
|
108
84
|
}
|
|
109
|
-
const normalizeToPosixPath = (p) =>
|
|
85
|
+
const normalizeToPosixPath = (p) => upath.default.normalizeSafe(path.default.normalize(p || ""));
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
exports.createHash = createHash;
|
|
89
|
+
exports.getFederationGlobalScope = getFederationGlobalScope;
|
|
90
|
+
exports.modifyEntry = modifyEntry;
|
|
91
|
+
exports.normalizeRuntimeInitOptionsWithOutShared = normalizeRuntimeInitOptionsWithOutShared;
|
|
110
92
|
exports.normalizeToPosixPath = normalizeToPosixPath;
|
|
111
93
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["parseOptions"],"sources":["../../../../../src/lib/container/runtime/utils.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 upath from 'upath';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { parseOptions } from '../options';\nimport type webpack from 'webpack';\nimport type RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport type { moduleFederationPlugin } from '@module-federation/sdk';\nimport type { init } from '@module-federation/runtime-tools';\n\ntype Remotes = Parameters<typeof init>[0]['remotes'];\n\nexport interface NormalizedRuntimeInitOptionsWithOutShared {\n name: string;\n remotes: Array<\n Remotes[0] & { externalType: moduleFederationPlugin.ExternalsType }\n >;\n}\n\nconst extractUrlAndGlobal = require(\n normalizeWebpackPath('webpack/lib/util/extractUrlAndGlobal'),\n) as typeof import('webpack/lib/util/extractUrlAndGlobal');\n\ntype EntryStaticNormalized = Awaited<\n ReturnType<Extract<webpack.WebpackOptionsNormalized['entry'], () => any>>\n>;\n\ninterface ModifyEntryOptions {\n compiler: webpack.Compiler;\n prependEntry?: (entry: EntryStaticNormalized) => void;\n staticEntry?: EntryStaticNormalized;\n}\n\nexport function getFederationGlobalScope(\n runtimeGlobals: typeof RuntimeGlobals,\n): string {\n return `${runtimeGlobals.require || '__webpack_require__'}.federation`;\n}\n\nexport function normalizeRuntimeInitOptionsWithOutShared(\n options: moduleFederationPlugin.ModuleFederationPluginOptions,\n): NormalizedRuntimeInitOptionsWithOutShared {\n const parsedOptions = parseOptions(\n options.remotes || [],\n (item) => ({\n external: Array.isArray(item) ? item : [item],\n shareScope: options.shareScope || 'default',\n }),\n (item) => ({\n external: Array.isArray(item.external) ? item.external : [item.external],\n shareScope: item.shareScope || options.shareScope || 'default',\n }),\n );\n const remoteOptions: NormalizedRuntimeInitOptionsWithOutShared['remotes'] =\n [];\n parsedOptions.forEach((parsedOption) => {\n const [alias, remoteInfos] = parsedOption;\n const { external, shareScope } = remoteInfos;\n external.forEach((externalItem) => {\n try {\n const entry = externalItem;\n if (/\\s/.test(entry)) {\n return;\n }\n const [url, globalName] = extractUrlAndGlobal(externalItem);\n remoteOptions.push({\n alias,\n name: globalName,\n entry: url,\n shareScope: shareScope,\n externalType: 'script',\n });\n } catch (err) {\n const getExternalTypeFromExternal = (external: string) => {\n if (/^[a-z0-9-]+ /.test(external)) {\n const idx = external.indexOf(' ');\n return [\n external.slice(0, idx) as moduleFederationPlugin.ExternalsType,\n external.slice(idx + 1),\n ] as const;\n }\n return null;\n };\n remoteOptions.push({\n alias,\n name: '',\n entry: '',\n shareScope: shareScope,\n // @ts-ignore\n externalType: getExternalTypeFromExternal(externalItem) || 'unknown',\n });\n return;\n }\n });\n });\n\n const initOptionsWithoutShared = {\n name: options.name!,\n remotes: remoteOptions,\n shareStrategy: options.shareStrategy || 'version-first',\n };\n\n return initOptionsWithoutShared;\n}\n\nexport function modifyEntry(options: ModifyEntryOptions): void {\n const { compiler, staticEntry, prependEntry } = options;\n const operator = (\n oriEntry: EntryStaticNormalized,\n newEntry: EntryStaticNormalized,\n ): EntryStaticNormalized => Object.assign(oriEntry, newEntry);\n\n if (typeof compiler.options.entry === 'function') {\n const prevEntryFn = compiler.options.entry;\n compiler.options.entry = async () => {\n let res = await prevEntryFn();\n if (staticEntry) {\n res = operator(res, staticEntry);\n }\n if (prependEntry) {\n prependEntry(res);\n }\n return res;\n };\n } else {\n if (staticEntry) {\n compiler.options.entry = operator(compiler.options.entry, staticEntry);\n }\n if (prependEntry) {\n prependEntry(compiler.options.entry);\n }\n }\n}\n\nexport function createHash(contents: string): string {\n return crypto.createHash('md5').update(contents).digest('hex');\n}\n\nexport const normalizeToPosixPath = (p: string) =>\n upath.normalizeSafe(path.normalize(p || ''));\n"],"mappings":";;;;;;;;;;;;AAuBA,MAAM,sBAAsB,gFACL,uCAAuC,CAC7D;AAYD,SAAgB,yBACd,gBACQ;AACR,QAAO,GAAG,eAAe,WAAW,sBAAsB;;AAG5D,SAAgB,yCACd,SAC2C;CAC3C,MAAM,gBAAgBA,2CACpB,QAAQ,WAAW,EAAE,GACpB,UAAU;EACT,UAAU,MAAM,QAAQ,KAAK,GAAG,OAAO,CAAC,KAAK;EAC7C,YAAY,QAAQ,cAAc;EACnC,IACA,UAAU;EACT,UAAU,MAAM,QAAQ,KAAK,SAAS,GAAG,KAAK,WAAW,CAAC,KAAK,SAAS;EACxE,YAAY,KAAK,cAAc,QAAQ,cAAc;EACtD,EACF;CACD,MAAM,gBACJ,EAAE;AACJ,eAAc,SAAS,iBAAiB;EACtC,MAAM,CAAC,OAAO,eAAe;EAC7B,MAAM,EAAE,UAAU,eAAe;AACjC,WAAS,SAAS,iBAAiB;AACjC,OAAI;IACF,MAAM,QAAQ;AACd,QAAI,KAAK,KAAK,MAAM,CAClB;IAEF,MAAM,CAAC,KAAK,cAAc,oBAAoB,aAAa;AAC3D,kBAAc,KAAK;KACjB;KACA,MAAM;KACN,OAAO;KACK;KACZ,cAAc;KACf,CAAC;YACK,KAAK;IACZ,MAAM,+BAA+B,aAAqB;AACxD,SAAI,eAAe,KAAK,SAAS,EAAE;MACjC,MAAM,MAAM,SAAS,QAAQ,IAAI;AACjC,aAAO,CACL,SAAS,MAAM,GAAG,IAAI,EACtB,SAAS,MAAM,MAAM,EAAE,CACxB;;AAEH,YAAO;;AAET,kBAAc,KAAK;KACjB;KACA,MAAM;KACN,OAAO;KACK;KAEZ,cAAc,4BAA4B,aAAa,IAAI;KAC5D,CAAC;AACF;;IAEF;GACF;AAQF,QANiC;EAC/B,MAAM,QAAQ;EACd,SAAS;EACT,eAAe,QAAQ,iBAAiB;EACzC;;AAKH,SAAgB,YAAY,SAAmC;CAC7D,MAAM,EAAE,UAAU,aAAa,iBAAiB;CAChD,MAAM,YACJ,UACA,aAC0B,OAAO,OAAO,UAAU,SAAS;AAE7D,KAAI,OAAO,SAAS,QAAQ,UAAU,YAAY;EAChD,MAAM,cAAc,SAAS,QAAQ;AACrC,WAAS,QAAQ,QAAQ,YAAY;GACnC,IAAI,MAAM,MAAM,aAAa;AAC7B,OAAI,YACF,OAAM,SAAS,KAAK,YAAY;AAElC,OAAI,aACF,cAAa,IAAI;AAEnB,UAAO;;QAEJ;AACL,MAAI,YACF,UAAS,QAAQ,QAAQ,SAAS,SAAS,QAAQ,OAAO,YAAY;AAExE,MAAI,aACF,cAAa,SAAS,QAAQ,MAAM;;;AAK1C,SAAgB,WAAW,UAA0B;AACnD,QAAO,eAAO,WAAW,MAAM,CAAC,OAAO,SAAS,CAAC,OAAO,MAAM;;AAGhE,MAAa,wBAAwB,MACnC,cAAM,cAAc,aAAK,UAAU,KAAK,GAAG,CAAC"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import * as webpack$1 from "webpack";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/sharing/ConsumeSharedFallbackDependency.d.ts
|
|
4
|
+
declare const dependencies: typeof webpack$1.dependencies;
|
|
2
5
|
declare class ConsumeSharedFallbackDependency extends dependencies.ModuleDependency {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
layer?: string | null;
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} request the request
|
|
9
|
+
* @param {string | null} layer the layer for the fallback module
|
|
10
|
+
*/
|
|
11
|
+
constructor(request: string, layer?: string | null);
|
|
12
|
+
get type(): string;
|
|
13
|
+
get category(): string;
|
|
11
14
|
}
|
|
12
|
-
|
|
15
|
+
//#endregion
|
|
16
|
+
export { ConsumeSharedFallbackDependency as default };
|
|
17
|
+
//# sourceMappingURL=ConsumeSharedFallbackDependency.d.ts.map
|
|
@@ -1,28 +1,30 @@
|
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
5
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
6
|
+
|
|
7
|
+
//#region src/lib/sharing/ConsumeSharedFallbackDependency.ts
|
|
8
|
+
const makeSerializable = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/makeSerializable"));
|
|
9
|
+
const { dependencies } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack"));
|
|
10
|
+
var ConsumeSharedFallbackDependency = class extends dependencies.ModuleDependency {
|
|
11
|
+
/**
|
|
12
|
+
* @param {string} request the request
|
|
13
|
+
* @param {string | null} layer the layer for the fallback module
|
|
14
|
+
*/
|
|
15
|
+
constructor(request, layer) {
|
|
16
|
+
super(request);
|
|
17
|
+
this.layer = layer;
|
|
18
|
+
}
|
|
19
|
+
get type() {
|
|
20
|
+
return "consume shared fallback";
|
|
21
|
+
}
|
|
22
|
+
get category() {
|
|
23
|
+
return "esm";
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
makeSerializable(ConsumeSharedFallbackDependency, "enhanced/lib/sharing/ConsumeSharedFallbackDependency");
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
27
29
|
exports.default = ConsumeSharedFallbackDependency;
|
|
28
30
|
//# sourceMappingURL=ConsumeSharedFallbackDependency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsumeSharedFallbackDependency.js","
|
|
1
|
+
{"version":3,"file":"ConsumeSharedFallbackDependency.js","names":[],"sources":["../../../../src/lib/sharing/ConsumeSharedFallbackDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nconst makeSerializable = require(\n normalizeWebpackPath('webpack/lib/util/makeSerializable'),\n) as typeof import('webpack/lib/util/makeSerializable');\nconst { dependencies } = require(\n normalizeWebpackPath('webpack'),\n) as typeof import('webpack');\n\nclass ConsumeSharedFallbackDependency extends dependencies.ModuleDependency {\n layer?: string | null;\n\n /**\n * @param {string} request the request\n * @param {string | null} layer the layer for the fallback module\n */\n constructor(request: string, layer?: string | null) {\n super(request);\n this.layer = layer;\n }\n\n override get type(): string {\n return 'consume shared fallback';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ConsumeSharedFallbackDependency,\n 'enhanced/lib/sharing/ConsumeSharedFallbackDependency',\n);\n\nexport default ConsumeSharedFallbackDependency;\n"],"mappings":";;;;;;;AAOA,MAAM,mBAAmB,gFACF,oCAAoC,CAC1D;AACD,MAAM,EAAE,iBAAiB,gFACF,UAAU,CAChC;AAED,IAAM,kCAAN,cAA8C,aAAa,iBAAiB;;;;;CAO1E,YAAY,SAAiB,OAAuB;AAClD,QAAM,QAAQ;AACd,OAAK,QAAQ;;CAGf,IAAa,OAAe;AAC1B,SAAO;;CAGT,IAAa,WAAmB;AAC9B,SAAO;;;AAIX,iBACE,iCACA,uDACD"}
|