@module-federation/enhanced 0.0.3 → 0.0.4
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/LICENSE +21 -0
- package/dist/package.json +33 -0
- package/{src → dist/src}/index.d.ts +4 -0
- package/dist/src/index.js +32 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/Constants.js +125 -0
- package/dist/src/lib/Constants.js.map +1 -0
- package/dist/src/lib/RuntimeGlobals.d.ts +0 -0
- package/{src → dist/src}/lib/RuntimeGlobals.js +144 -74
- package/dist/src/lib/RuntimeGlobals.js.map +1 -0
- package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +19 -0
- package/dist/src/lib/container/AsyncBoundaryPlugin.js +172 -0
- package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +1 -0
- package/{src → dist/src}/lib/container/ContainerEntryDependency.d.ts +1 -1
- package/dist/src/lib/container/ContainerEntryDependency.js +37 -0
- package/dist/src/lib/container/ContainerEntryDependency.js.map +1 -0
- package/{src → dist/src}/lib/container/ContainerEntryModule.d.ts +2 -2
- package/dist/src/lib/container/ContainerEntryModule.js +230 -0
- package/dist/src/lib/container/ContainerEntryModule.js.map +1 -0
- package/{src → dist/src}/lib/container/ContainerEntryModuleFactory.d.ts +2 -1
- package/dist/src/lib/container/ContainerEntryModuleFactory.js +30 -0
- package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +1 -0
- package/{src → dist/src}/lib/container/ContainerExposedDependency.d.ts +2 -2
- package/dist/src/lib/container/ContainerExposedDependency.js +49 -0
- package/dist/src/lib/container/ContainerExposedDependency.js.map +1 -0
- package/{src → dist/src}/lib/container/ContainerPlugin.d.ts +1 -1
- package/dist/src/lib/container/ContainerPlugin.js +85 -0
- package/dist/src/lib/container/ContainerPlugin.js.map +1 -0
- package/{src → dist/src}/lib/container/ContainerReferencePlugin.d.ts +1 -1
- package/dist/src/lib/container/ContainerReferencePlugin.js +100 -0
- package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -0
- package/{src → dist/src}/lib/container/FallbackDependency.d.ts +1 -5
- package/dist/src/lib/container/FallbackDependency.js +47 -0
- package/dist/src/lib/container/FallbackDependency.js.map +1 -0
- package/{src → dist/src}/lib/container/FallbackItemDependency.d.ts +2 -2
- package/dist/src/lib/container/FallbackItemDependency.js +26 -0
- package/dist/src/lib/container/FallbackItemDependency.js.map +1 -0
- package/{src → dist/src}/lib/container/FallbackModule.d.ts +2 -3
- package/dist/src/lib/container/FallbackModule.js +152 -0
- package/dist/src/lib/container/FallbackModule.js.map +1 -0
- package/{src → dist/src}/lib/container/FallbackModuleFactory.d.ts +3 -2
- package/dist/src/lib/container/FallbackModuleFactory.js +28 -0
- package/dist/src/lib/container/FallbackModuleFactory.js.map +1 -0
- package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +13 -0
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js +70 -0
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -0
- package/{src → dist/src}/lib/container/ModuleFederationPlugin.d.ts +1 -1
- package/dist/src/lib/container/ModuleFederationPlugin.js +86 -0
- package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -0
- package/{src → dist/src}/lib/container/RemoteModule.d.ts +2 -3
- package/dist/src/lib/container/RemoteModule.js +148 -0
- package/dist/src/lib/container/RemoteModule.js.map +1 -0
- package/{src → dist/src}/lib/container/RemoteRuntimeModule.d.ts +1 -1
- package/dist/src/lib/container/RemoteRuntimeModule.js +103 -0
- package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -0
- package/{src → dist/src}/lib/container/RemoteToExternalDependency.d.ts +2 -2
- package/dist/src/lib/container/RemoteToExternalDependency.js +26 -0
- package/dist/src/lib/container/RemoteToExternalDependency.js.map +1 -0
- package/{src → dist/src}/lib/container/options.js +32 -42
- package/dist/src/lib/container/options.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ConsumeSharedFallbackDependency.d.ts +2 -2
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +26 -0
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ConsumeSharedModule.d.ts +1 -1
- package/dist/src/lib/sharing/ConsumeSharedModule.js +201 -0
- package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ConsumeSharedPlugin.d.ts +1 -1
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js +238 -0
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ConsumeSharedRuntimeModule.d.ts +1 -1
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +247 -0
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ProvideForSharedDependency.d.ts +2 -2
- package/dist/src/lib/sharing/ProvideForSharedDependency.js +27 -0
- package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ProvideSharedDependency.d.ts +1 -1
- package/dist/src/lib/sharing/ProvideSharedDependency.js +61 -0
- package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ProvideSharedModule.d.ts +5 -5
- package/dist/src/lib/sharing/ProvideSharedModule.js +163 -0
- package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ProvideSharedModuleFactory.d.ts +1 -1
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +30 -0
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ProvideSharedPlugin.d.ts +1 -1
- package/dist/src/lib/sharing/ProvideSharedPlugin.js +185 -0
- package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -0
- package/{src → dist/src}/lib/sharing/SharePlugin.d.ts +1 -1
- package/dist/src/lib/sharing/SharePlugin.js +76 -0
- package/dist/src/lib/sharing/SharePlugin.js.map +1 -0
- package/{src → dist/src}/lib/sharing/ShareRuntimeModule.d.ts +1 -1
- package/dist/src/lib/sharing/ShareRuntimeModule.js +116 -0
- package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -0
- package/{src → dist/src}/lib/sharing/resolveMatchedConfigs.d.ts +1 -1
- package/dist/src/lib/sharing/resolveMatchedConfigs.js +66 -0
- package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +1 -0
- package/{src → dist/src}/lib/sharing/utils.d.ts +1 -1
- package/{src → dist/src}/lib/sharing/utils.js +94 -81
- package/dist/src/lib/sharing/utils.js.map +1 -0
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +5 -0
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +19 -0
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
- package/{src → dist/src}/runtime/ModuleInfoRuntimeModule.d.ts +2 -1
- package/dist/src/runtime/ModuleInfoRuntimeModule.js +80 -0
- package/dist/src/runtime/ModuleInfoRuntimeModule.js.map +1 -0
- package/{src → dist/src}/runtime/ModuleInfoRuntimePlugin.d.ts +1 -1
- package/dist/src/runtime/ModuleInfoRuntimePlugin.js +24 -0
- package/dist/src/runtime/ModuleInfoRuntimePlugin.js.map +1 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +7 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js +1668 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +437 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.js +529 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -0
- package/package.json +23 -8
- package/CHANGELOG.md +0 -111
- package/global.d.js +0 -14
- package/global.d.js.map +0 -1
- package/pullts.d.ts +0 -1
- package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js +0 -14
- package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js.map +0 -1
- package/src/declarations/plugins/container/ContainerPlugin.d.js +0 -12
- package/src/declarations/plugins/container/ContainerPlugin.d.js.map +0 -1
- package/src/declarations/plugins/container/ContainerReferencePlugin.d.js +0 -12
- package/src/declarations/plugins/container/ContainerReferencePlugin.d.js.map +0 -1
- package/src/declarations/plugins/container/Dependency.d.js +0 -14
- package/src/declarations/plugins/container/Dependency.d.js.map +0 -1
- package/src/declarations/plugins/container/Module.d.js +0 -3
- package/src/declarations/plugins/container/Module.d.js.map +0 -1
- package/src/declarations/plugins/container/ModuleFactory.d.js +0 -3
- package/src/declarations/plugins/container/ModuleFactory.d.js.map +0 -1
- package/src/declarations/plugins/container/ModuleFederationPlugin.d.js +0 -12
- package/src/declarations/plugins/container/ModuleFederationPlugin.d.js.map +0 -1
- package/src/declarations/plugins/container/ObjectDeserializerContext.d.js +0 -6
- package/src/declarations/plugins/container/ObjectDeserializerContext.d.js.map +0 -1
- package/src/declarations/plugins/container/StaticExportsDependency.d.js +0 -14
- package/src/declarations/plugins/container/StaticExportsDependency.d.js.map +0 -1
- package/src/declarations/plugins/container/Template.d.js +0 -4
- package/src/declarations/plugins/container/Template.d.js.map +0 -1
- package/src/declarations/plugins/container/WebpackError.d.js +0 -3
- package/src/declarations/plugins/container/WebpackError.d.js.map +0 -1
- package/src/declarations/plugins/container/WebpackOptions.d.js +0 -6
- package/src/declarations/plugins/container/WebpackOptions.d.js.map +0 -1
- package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js +0 -12
- package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js.map +0 -1
- package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js +0 -12
- package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js.map +0 -1
- package/src/declarations/plugins/sharing/SharePlugin.d.js +0 -12
- package/src/declarations/plugins/sharing/SharePlugin.d.js.map +0 -1
- package/src/index.js +0 -43
- package/src/index.js.map +0 -1
- package/src/lib/Constants.js +0 -103
- package/src/lib/Constants.js.map +0 -1
- package/src/lib/RuntimeGlobals.d.ts +0 -1
- package/src/lib/RuntimeGlobals.js.map +0 -1
- package/src/lib/container/AsyncBoundaryPlugin.d.ts +0 -45
- package/src/lib/container/AsyncBoundaryPlugin.js +0 -103
- package/src/lib/container/AsyncBoundaryPlugin.js.map +0 -1
- package/src/lib/container/ContainerEntryDependency.d.js +0 -4
- package/src/lib/container/ContainerEntryDependency.d.js.map +0 -1
- package/src/lib/container/ContainerEntryDependency.js +0 -43
- package/src/lib/container/ContainerEntryDependency.js.map +0 -1
- package/src/lib/container/ContainerEntryModule.d.js +0 -14
- package/src/lib/container/ContainerEntryModule.d.js.map +0 -1
- package/src/lib/container/ContainerEntryModule.js +0 -237
- package/src/lib/container/ContainerEntryModule.js.map +0 -1
- package/src/lib/container/ContainerEntryModuleFactory.d.js +0 -4
- package/src/lib/container/ContainerEntryModuleFactory.d.js.map +0 -1
- package/src/lib/container/ContainerEntryModuleFactory.js +0 -32
- package/src/lib/container/ContainerEntryModuleFactory.js.map +0 -1
- package/src/lib/container/ContainerExposedDependency.d.js +0 -4
- package/src/lib/container/ContainerExposedDependency.d.js.map +0 -1
- package/src/lib/container/ContainerExposedDependency.js +0 -53
- package/src/lib/container/ContainerExposedDependency.js.map +0 -1
- package/src/lib/container/ContainerPlugin.d.js +0 -4
- package/src/lib/container/ContainerPlugin.d.js.map +0 -1
- package/src/lib/container/ContainerPlugin.js +0 -88
- package/src/lib/container/ContainerPlugin.js.map +0 -1
- package/src/lib/container/ContainerReferencePlugin.d.js +0 -4
- package/src/lib/container/ContainerReferencePlugin.d.js.map +0 -1
- package/src/lib/container/ContainerReferencePlugin.js +0 -97
- package/src/lib/container/ContainerReferencePlugin.js.map +0 -1
- package/src/lib/container/FallbackDependency.d.js +0 -14
- package/src/lib/container/FallbackDependency.d.js.map +0 -1
- package/src/lib/container/FallbackDependency.js +0 -55
- package/src/lib/container/FallbackDependency.js.map +0 -1
- package/src/lib/container/FallbackItemDependency.d.js +0 -4
- package/src/lib/container/FallbackItemDependency.d.js.map +0 -1
- package/src/lib/container/FallbackItemDependency.js +0 -33
- package/src/lib/container/FallbackItemDependency.js.map +0 -1
- package/src/lib/container/FallbackModule.d.js +0 -4
- package/src/lib/container/FallbackModule.d.js.map +0 -1
- package/src/lib/container/FallbackModule.js +0 -149
- package/src/lib/container/FallbackModule.js.map +0 -1
- package/src/lib/container/FallbackModuleFactory.d.js +0 -4
- package/src/lib/container/FallbackModuleFactory.d.js.map +0 -1
- package/src/lib/container/FallbackModuleFactory.js +0 -30
- package/src/lib/container/FallbackModuleFactory.js.map +0 -1
- package/src/lib/container/ModuleFederationPlugin.d.js +0 -4
- package/src/lib/container/ModuleFederationPlugin.d.js.map +0 -1
- package/src/lib/container/ModuleFederationPlugin.js +0 -79
- package/src/lib/container/ModuleFederationPlugin.js.map +0 -1
- package/src/lib/container/ModuleFederationPluginTypes.d.js +0 -12
- package/src/lib/container/ModuleFederationPluginTypes.d.js.map +0 -1
- package/src/lib/container/RemoteModule.d.js +0 -13
- package/src/lib/container/RemoteModule.d.js.map +0 -1
- package/src/lib/container/RemoteModule.js +0 -147
- package/src/lib/container/RemoteModule.js.map +0 -1
- package/src/lib/container/RemoteRuntimeModule.d.js +0 -13
- package/src/lib/container/RemoteRuntimeModule.d.js.map +0 -1
- package/src/lib/container/RemoteRuntimeModule.js +0 -121
- package/src/lib/container/RemoteRuntimeModule.js.map +0 -1
- package/src/lib/container/RemoteToExternalDependency.d.js +0 -15
- package/src/lib/container/RemoteToExternalDependency.d.js.map +0 -1
- package/src/lib/container/RemoteToExternalDependency.js +0 -33
- package/src/lib/container/RemoteToExternalDependency.js.map +0 -1
- package/src/lib/container/options.d.js +0 -6
- package/src/lib/container/options.d.js.map +0 -1
- package/src/lib/container/options.js.map +0 -1
- package/src/lib/inversion/ContainerInversionPlugin.d.ts +0 -1
- package/src/lib/inversion/ContainerInversionPlugin.js +0 -3
- package/src/lib/inversion/ContainerInversionPlugin.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js +0 -4
- package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedFallbackDependency.js +0 -33
- package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedModule.d.js +0 -4
- package/src/lib/sharing/ConsumeSharedModule.d.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedModule.js +0 -191
- package/src/lib/sharing/ConsumeSharedModule.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedPlugin.d.js +0 -4
- package/src/lib/sharing/ConsumeSharedPlugin.d.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedPlugin.js +0 -217
- package/src/lib/sharing/ConsumeSharedPlugin.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js +0 -4
- package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js.map +0 -1
- package/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -251
- package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +0 -1
- package/src/lib/sharing/ProvideForSharedDependency.d.js +0 -4
- package/src/lib/sharing/ProvideForSharedDependency.d.js.map +0 -1
- package/src/lib/sharing/ProvideForSharedDependency.js +0 -34
- package/src/lib/sharing/ProvideForSharedDependency.js.map +0 -1
- package/src/lib/sharing/ProvideSharedDependency.d.js +0 -14
- package/src/lib/sharing/ProvideSharedDependency.d.js.map +0 -1
- package/src/lib/sharing/ProvideSharedDependency.js +0 -65
- package/src/lib/sharing/ProvideSharedDependency.js.map +0 -1
- package/src/lib/sharing/ProvideSharedModule.d.js +0 -4
- package/src/lib/sharing/ProvideSharedModule.d.js.map +0 -1
- package/src/lib/sharing/ProvideSharedModule.js +0 -159
- package/src/lib/sharing/ProvideSharedModule.js.map +0 -1
- package/src/lib/sharing/ProvideSharedModuleFactory.d.js +0 -4
- package/src/lib/sharing/ProvideSharedModuleFactory.d.js.map +0 -1
- package/src/lib/sharing/ProvideSharedModuleFactory.js +0 -32
- package/src/lib/sharing/ProvideSharedModuleFactory.js.map +0 -1
- package/src/lib/sharing/ProvideSharedPlugin.d.js +0 -4
- package/src/lib/sharing/ProvideSharedPlugin.d.js.map +0 -1
- package/src/lib/sharing/ProvideSharedPlugin.js +0 -165
- package/src/lib/sharing/ProvideSharedPlugin.js.map +0 -1
- package/src/lib/sharing/SharePlugin.d.js +0 -4
- package/src/lib/sharing/SharePlugin.d.js.map +0 -1
- package/src/lib/sharing/SharePlugin.js +0 -73
- package/src/lib/sharing/SharePlugin.js.map +0 -1
- package/src/lib/sharing/ShareRuntimeModule.d.js +0 -4
- package/src/lib/sharing/ShareRuntimeModule.d.js.map +0 -1
- package/src/lib/sharing/ShareRuntimeModule.js +0 -117
- package/src/lib/sharing/ShareRuntimeModule.js.map +0 -1
- package/src/lib/sharing/resolveMatchedConfigs.d.js +0 -6
- package/src/lib/sharing/resolveMatchedConfigs.d.js.map +0 -1
- package/src/lib/sharing/resolveMatchedConfigs.js +0 -69
- package/src/lib/sharing/resolveMatchedConfigs.js.map +0 -1
- package/src/lib/sharing/utils.d.js +0 -6
- package/src/lib/sharing/utils.d.js.map +0 -1
- package/src/lib/sharing/utils.js.map +0 -1
- package/src/runtime/ModuleInfoRuntimeModule.js +0 -88
- package/src/runtime/ModuleInfoRuntimeModule.js.map +0 -1
- package/src/runtime/ModuleInfoRuntimePlugin.js +0 -29
- package/src/runtime/ModuleInfoRuntimePlugin.js.map +0 -1
- /package/{src → dist/src}/lib/Constants.d.ts +0 -0
- /package/{src → dist/src}/lib/container/options.d.ts +0 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/*
|
|
4
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
5
|
+
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
6
|
+
*/
|
|
7
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
8
|
+
const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
9
|
+
const { parseVersionRuntimeCode, versionLtRuntimeCode, rangeToStringRuntimeCode, satisfyRuntimeCode, } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
|
|
10
|
+
class ConsumeSharedRuntimeModule extends RuntimeModule {
|
|
11
|
+
/**
|
|
12
|
+
* @param {ReadonlySet<string>} runtimeRequirements runtime requirements
|
|
13
|
+
*/
|
|
14
|
+
constructor(runtimeRequirements) {
|
|
15
|
+
super('consumes', RuntimeModule.STAGE_ATTACH);
|
|
16
|
+
this._runtimeRequirements = runtimeRequirements;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @returns {string | null} runtime code
|
|
20
|
+
*/
|
|
21
|
+
generate() {
|
|
22
|
+
const compilation = this.compilation;
|
|
23
|
+
const chunkGraph = this.chunkGraph;
|
|
24
|
+
const { runtimeTemplate, codeGenerationResults } = compilation;
|
|
25
|
+
const chunkToModuleMapping = {};
|
|
26
|
+
const moduleIdToSourceMapping = new Map();
|
|
27
|
+
const initialConsumes = [];
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param {Iterable<Module>} modules modules
|
|
31
|
+
* @param {Chunk} chunk the chunk
|
|
32
|
+
* @param {(string | number)[]} list list of ids
|
|
33
|
+
*/
|
|
34
|
+
const addModules = (modules, chunk, list) => {
|
|
35
|
+
for (const m of modules) {
|
|
36
|
+
const module = m;
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
const id = chunkGraph.getModuleId(module);
|
|
39
|
+
list.push(id);
|
|
40
|
+
moduleIdToSourceMapping.set(id,
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
codeGenerationResults.getSource(
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
module, chunk.runtime, 'consume-shared'));
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const allChunks = [...(this.chunk?.getAllReferencedChunks() || [])];
|
|
48
|
+
for (const chunk of allChunks) {
|
|
49
|
+
const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
|
|
50
|
+
if (!modules)
|
|
51
|
+
continue;
|
|
52
|
+
if (!chunk.id)
|
|
53
|
+
continue;
|
|
54
|
+
addModules(modules, chunk, (chunkToModuleMapping[chunk.id.toString()] = []));
|
|
55
|
+
}
|
|
56
|
+
for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {
|
|
57
|
+
const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
|
|
58
|
+
if (!modules)
|
|
59
|
+
continue;
|
|
60
|
+
addModules(modules, chunk, initialConsumes);
|
|
61
|
+
}
|
|
62
|
+
if (moduleIdToSourceMapping.size === 0)
|
|
63
|
+
return null;
|
|
64
|
+
return Template.asString([
|
|
65
|
+
parseVersionRuntimeCode(runtimeTemplate),
|
|
66
|
+
versionLtRuntimeCode(runtimeTemplate),
|
|
67
|
+
rangeToStringRuntimeCode(runtimeTemplate),
|
|
68
|
+
satisfyRuntimeCode(runtimeTemplate),
|
|
69
|
+
`var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [
|
|
70
|
+
`var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,
|
|
71
|
+
`if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,
|
|
72
|
+
'return scope;',
|
|
73
|
+
])};`,
|
|
74
|
+
`var findVersion = ${runtimeTemplate.basicFunction('scope, key', [
|
|
75
|
+
'var versions = scope[key];',
|
|
76
|
+
`var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', ['return !a || versionLt(a, b) ? b : a;'])}, 0);`,
|
|
77
|
+
'return key && versions[key]',
|
|
78
|
+
])};`,
|
|
79
|
+
`var findSingletonVersionKey = ${runtimeTemplate.basicFunction('scope, key', [
|
|
80
|
+
'var versions = scope[key];',
|
|
81
|
+
`return Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'])}, 0);`,
|
|
82
|
+
])};`,
|
|
83
|
+
`var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction('scope, key, version, requiredVersion', [
|
|
84
|
+
`return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`,
|
|
85
|
+
])};`,
|
|
86
|
+
`var getSingleton = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
|
|
87
|
+
'var version = findSingletonVersionKey(scope, key);',
|
|
88
|
+
'return get(scope[key][version]);',
|
|
89
|
+
])};`,
|
|
90
|
+
`var getSingletonVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
|
|
91
|
+
'var version = findSingletonVersionKey(scope, key);',
|
|
92
|
+
'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
|
|
93
|
+
'return get(scope[key][version]);',
|
|
94
|
+
])};`,
|
|
95
|
+
`var getStrictSingletonVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
|
|
96
|
+
'var version = findSingletonVersionKey(scope, key);',
|
|
97
|
+
'if (!satisfy(requiredVersion, version)) ' +
|
|
98
|
+
'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
|
|
99
|
+
'return get(scope[key][version]);',
|
|
100
|
+
])};`,
|
|
101
|
+
`var findValidVersion = ${runtimeTemplate.basicFunction('scope, key, requiredVersion', [
|
|
102
|
+
'var versions = scope[key];',
|
|
103
|
+
`var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', [
|
|
104
|
+
'if (!satisfy(requiredVersion, b)) return a;',
|
|
105
|
+
'return !a || versionLt(a, b) ? b : a;',
|
|
106
|
+
])}, 0);`,
|
|
107
|
+
'return key && versions[key]',
|
|
108
|
+
])};`,
|
|
109
|
+
`var getInvalidVersionMessage = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
|
|
110
|
+
'var versions = scope[key];',
|
|
111
|
+
'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',
|
|
112
|
+
`\t"Available versions: " + Object.keys(versions).map(${runtimeTemplate.basicFunction('key', ['return key + " from " + versions[key].from;'])}).join(", ");`,
|
|
113
|
+
])};`,
|
|
114
|
+
`var getValidVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
|
|
115
|
+
'var entry = findValidVersion(scope, key, requiredVersion);',
|
|
116
|
+
'if(entry) return get(entry);',
|
|
117
|
+
'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
|
|
118
|
+
])};`,
|
|
119
|
+
`var warn = ${compilation.outputOptions.ignoreBrowserWarnings
|
|
120
|
+
? runtimeTemplate.basicFunction('', '')
|
|
121
|
+
: runtimeTemplate.basicFunction('msg', [
|
|
122
|
+
'if (typeof console !== "undefined" && console.warn) console.warn(msg);',
|
|
123
|
+
])};`,
|
|
124
|
+
`var warnInvalidVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
|
|
125
|
+
'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
|
|
126
|
+
])};`,
|
|
127
|
+
`var get = ${runtimeTemplate.basicFunction('entry', [
|
|
128
|
+
'entry.loaded = 1;',
|
|
129
|
+
'return entry.get()',
|
|
130
|
+
])};`,
|
|
131
|
+
`var init = ${runtimeTemplate.returningFunction(Template.asString([
|
|
132
|
+
'function(scopeName, a, b, c) {',
|
|
133
|
+
Template.indent([
|
|
134
|
+
`var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,
|
|
135
|
+
`if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,
|
|
136
|
+
`return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,
|
|
137
|
+
]),
|
|
138
|
+
'}',
|
|
139
|
+
]), 'fn')};`,
|
|
140
|
+
'',
|
|
141
|
+
`var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key', [
|
|
142
|
+
'ensureExistence(scopeName, key);',
|
|
143
|
+
'return get(findVersion(scope, key));',
|
|
144
|
+
])});`,
|
|
145
|
+
`var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, fallback', [
|
|
146
|
+
`return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,
|
|
147
|
+
])});`,
|
|
148
|
+
`var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
|
|
149
|
+
'ensureExistence(scopeName, key);',
|
|
150
|
+
'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
|
|
151
|
+
])});`,
|
|
152
|
+
`var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key', [
|
|
153
|
+
'ensureExistence(scopeName, key);',
|
|
154
|
+
'return getSingleton(scope, scopeName, key);',
|
|
155
|
+
])});`,
|
|
156
|
+
`var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
|
|
157
|
+
'ensureExistence(scopeName, key);',
|
|
158
|
+
'return getSingletonVersion(scope, scopeName, key, version);',
|
|
159
|
+
])});`,
|
|
160
|
+
`var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
|
|
161
|
+
'ensureExistence(scopeName, key);',
|
|
162
|
+
'return getValidVersion(scope, scopeName, key, version);',
|
|
163
|
+
])});`,
|
|
164
|
+
`var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
|
|
165
|
+
'ensureExistence(scopeName, key);',
|
|
166
|
+
'return getStrictSingletonVersion(scope, scopeName, key, version);',
|
|
167
|
+
])});`,
|
|
168
|
+
`var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
|
|
169
|
+
`if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
170
|
+
'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
|
|
171
|
+
])});`,
|
|
172
|
+
`var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, fallback', [
|
|
173
|
+
`if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
174
|
+
'return getSingleton(scope, scopeName, key);',
|
|
175
|
+
])});`,
|
|
176
|
+
`var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
|
|
177
|
+
`if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
178
|
+
'return getSingletonVersion(scope, scopeName, key, version);',
|
|
179
|
+
])});`,
|
|
180
|
+
`var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
|
|
181
|
+
`var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,
|
|
182
|
+
`return entry ? get(entry) : fallback();`,
|
|
183
|
+
])});`,
|
|
184
|
+
`var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
|
|
185
|
+
`if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
186
|
+
'return getStrictSingletonVersion(scope, scopeName, key, version);',
|
|
187
|
+
])});`,
|
|
188
|
+
'var installedModules = {};',
|
|
189
|
+
'var moduleToHandlerMapping = {',
|
|
190
|
+
Template.indent(Array.from(moduleIdToSourceMapping, ([key, source]) => `${JSON.stringify(key)}: ${source.source()}`).join(',\n')),
|
|
191
|
+
'};',
|
|
192
|
+
initialConsumes.length > 0
|
|
193
|
+
? Template.asString([
|
|
194
|
+
`var initialConsumes = ${JSON.stringify(initialConsumes)};`,
|
|
195
|
+
`initialConsumes.forEach(${runtimeTemplate.basicFunction('id', [
|
|
196
|
+
`${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
|
|
197
|
+
'// Handle case when module is used sync',
|
|
198
|
+
'installedModules[id] = 0;',
|
|
199
|
+
`delete ${RuntimeGlobals.moduleCache}[id];`,
|
|
200
|
+
'var factory = moduleToHandlerMapping[id]();',
|
|
201
|
+
'if(typeof factory !== "function") throw new Error("Shared module is not available for eager consumption: " + id);',
|
|
202
|
+
`module.exports = factory();`,
|
|
203
|
+
])}`,
|
|
204
|
+
])});`,
|
|
205
|
+
])
|
|
206
|
+
: '// no consumes in initial chunks',
|
|
207
|
+
this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)
|
|
208
|
+
? Template.asString([
|
|
209
|
+
`var chunkMapping = ${JSON.stringify(chunkToModuleMapping, null, '\t')};`,
|
|
210
|
+
`${RuntimeGlobals.ensureChunkHandlers}.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [
|
|
211
|
+
`if(${RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,
|
|
212
|
+
Template.indent([
|
|
213
|
+
`chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction('id', [
|
|
214
|
+
`if(${RuntimeGlobals.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,
|
|
215
|
+
`var onFactory = ${runtimeTemplate.basicFunction('factory', [
|
|
216
|
+
'installedModules[id] = 0;',
|
|
217
|
+
`${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
|
|
218
|
+
`delete ${RuntimeGlobals.moduleCache}[id];`,
|
|
219
|
+
'module.exports = factory();',
|
|
220
|
+
])}`,
|
|
221
|
+
])};`,
|
|
222
|
+
`var onError = ${runtimeTemplate.basicFunction('error', [
|
|
223
|
+
'delete installedModules[id];',
|
|
224
|
+
`${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
|
|
225
|
+
`delete ${RuntimeGlobals.moduleCache}[id];`,
|
|
226
|
+
'throw error;',
|
|
227
|
+
])}`,
|
|
228
|
+
])};`,
|
|
229
|
+
'try {',
|
|
230
|
+
Template.indent([
|
|
231
|
+
'var promise = moduleToHandlerMapping[id]();',
|
|
232
|
+
'if(promise.then) {',
|
|
233
|
+
Template.indent("promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));"),
|
|
234
|
+
'} else onFactory(promise);',
|
|
235
|
+
]),
|
|
236
|
+
'} catch(e) { onError(e); }',
|
|
237
|
+
])});`,
|
|
238
|
+
]),
|
|
239
|
+
'}',
|
|
240
|
+
])}`,
|
|
241
|
+
])
|
|
242
|
+
: '// no chunk loading of consumes',
|
|
243
|
+
]);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
exports.default = ConsumeSharedRuntimeModule;
|
|
247
|
+
//# sourceMappingURL=ConsumeSharedRuntimeModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsumeSharedRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
declare class ProvideForSharedDependency extends ModuleDependency {
|
|
1
|
+
declare const dependencies: typeof import("webpack").dependencies;
|
|
2
|
+
declare class ProvideForSharedDependency extends dependencies.ModuleDependency {
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
5
|
* @param request request string
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/*
|
|
4
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
5
|
+
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
6
|
+
*/
|
|
7
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
8
|
+
const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
|
|
9
|
+
const { dependencies } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
10
|
+
class ProvideForSharedDependency extends dependencies.ModuleDependency {
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param request request string
|
|
14
|
+
*/
|
|
15
|
+
constructor(request) {
|
|
16
|
+
super(request);
|
|
17
|
+
}
|
|
18
|
+
get type() {
|
|
19
|
+
return 'provide module for shared';
|
|
20
|
+
}
|
|
21
|
+
get category() {
|
|
22
|
+
return 'esm';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
makeSerializable(ProvideForSharedDependency, 'enhanced/lib/sharing/ProvideForSharedDependency');
|
|
26
|
+
exports.default = ProvideForSharedDependency;
|
|
27
|
+
//# sourceMappingURL=ProvideForSharedDependency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProvideForSharedDependency.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideForSharedDependency.ts"],"names":[],"mappings":";;AAAA;;;EAGE;AACF,0FAAqF;AAErF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AACxD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,MAAM,0BAA2B,SAAQ,YAAY,CAAC,gBAAgB;IACpE;;;OAGG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,IAAa,IAAI;QACf,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,gBAAgB,CACd,0BAA0B,EAC1B,iDAAiD,CAClD,CAAC;AAEF,kBAAe,0BAA0B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare const Dependency: typeof import("webpack").Dependency;
|
|
2
2
|
import { ObjectDeserializerContext, ObjectSerializerContext } from '../../declarations/plugins/container/Dependency';
|
|
3
3
|
declare class ProvideSharedDependency extends Dependency {
|
|
4
4
|
shareScope: string;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
4
|
+
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
8
|
+
const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
|
|
9
|
+
const { Dependency } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
10
|
+
class ProvideSharedDependency extends Dependency {
|
|
11
|
+
/**
|
|
12
|
+
* @param {string} shareScope share scope
|
|
13
|
+
* @param {string} name module name
|
|
14
|
+
* @param {string | false} version version
|
|
15
|
+
* @param {string} request request
|
|
16
|
+
* @param {boolean} eager true, if this is an eager dependency
|
|
17
|
+
*/
|
|
18
|
+
constructor(shareScope, name, version, request, eager) {
|
|
19
|
+
super();
|
|
20
|
+
this.shareScope = shareScope;
|
|
21
|
+
this.name = name;
|
|
22
|
+
this.version = version;
|
|
23
|
+
this.request = request;
|
|
24
|
+
this.eager = eager;
|
|
25
|
+
}
|
|
26
|
+
get type() {
|
|
27
|
+
return 'provide shared module';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @returns {string | null} an identifier to merge equal requests
|
|
31
|
+
*/
|
|
32
|
+
getResourceIdentifier() {
|
|
33
|
+
return `provide module (${this.shareScope}) ${this.request} as ${this.name} @ ${this.version}${this.eager ? ' (eager)' : ''}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @param {ObjectSerializerContext} context context
|
|
37
|
+
*/
|
|
38
|
+
serialize(context) {
|
|
39
|
+
context.write(this.shareScope);
|
|
40
|
+
context.write(this.name);
|
|
41
|
+
context.write(this.request);
|
|
42
|
+
context.write(this.version);
|
|
43
|
+
context.write(this.eager);
|
|
44
|
+
super.serialize(context);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @param {ObjectDeserializerContext} context context
|
|
48
|
+
* @returns {ProvideSharedDependency} deserialize fallback dependency
|
|
49
|
+
*/
|
|
50
|
+
static deserialize(context) {
|
|
51
|
+
const { read } = context;
|
|
52
|
+
const obj = new ProvideSharedDependency(read(), read(), read(), read(), read());
|
|
53
|
+
//@ts-ignore
|
|
54
|
+
this.shareScope = context.read();
|
|
55
|
+
obj.deserialize(context);
|
|
56
|
+
return obj;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
makeSerializable(ProvideSharedDependency, 'enhanced/lib/sharing/ProvideSharedDependency');
|
|
60
|
+
exports.default = ProvideSharedDependency;
|
|
61
|
+
//# sourceMappingURL=ProvideSharedDependency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProvideSharedDependency.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedDependency.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAEF,0FAAqF;AAErF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AACxD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAC5B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAO9B,MAAM,uBAAwB,SAAQ,UAAU;IAO9C;;;;;;OAMG;IACH,YACE,UAAkB,EAClB,IAAY,EACZ,OAAuB,EACvB,OAAe,EACf,KAAc;QAEd,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAa,IAAI;QACf,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,mBAAmB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,OACxD,IAAI,CAAC,IACP,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACM,SAAS,CAAC,OAAgC;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAkC;QAElC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,uBAAuB,CACrC,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,CACP,CAAC;QACF,YAAY;QACZ,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,gBAAgB,CACd,uBAAuB,EACvB,8CAA8C,CAC/C,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type
|
|
3
|
-
import WebpackError from 'webpack/lib/WebpackError';
|
|
1
|
+
import type { Compilation } from 'webpack';
|
|
2
|
+
import type WebpackError from 'webpack/lib/WebpackError';
|
|
4
3
|
import type { CodeGenerationContext, CodeGenerationResult, LibIdentOptions, NeedBuildContext, RequestShortener, ResolverWithOptions, ObjectDeserializerContext, ObjectSerializerContext } from 'webpack/lib/Module';
|
|
5
|
-
import { InputFileSystem } from 'webpack/lib/util/fs';
|
|
6
|
-
import { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';
|
|
4
|
+
import type { InputFileSystem } from 'webpack/lib/util/fs';
|
|
5
|
+
import type { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';
|
|
6
|
+
declare const Module: typeof import("webpack").Module;
|
|
7
7
|
/**
|
|
8
8
|
* @class
|
|
9
9
|
* @extends {Module}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/*
|
|
7
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
8
|
+
Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
|
|
9
|
+
*/
|
|
10
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
11
|
+
const ProvideForSharedDependency_1 = __importDefault(require("./ProvideForSharedDependency"));
|
|
12
|
+
const { AsyncDependenciesBlock, Module, RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
13
|
+
const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
|
|
14
|
+
const { WEBPACK_MODULE_TYPE_PROVIDE } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleTypeConstants'));
|
|
15
|
+
const TYPES = new Set(['share-init']);
|
|
16
|
+
/**
|
|
17
|
+
* @class
|
|
18
|
+
* @extends {Module}
|
|
19
|
+
*/
|
|
20
|
+
class ProvideSharedModule extends Module {
|
|
21
|
+
/**
|
|
22
|
+
* @constructor
|
|
23
|
+
* @param {string} shareScope shared scope name
|
|
24
|
+
* @param {string} name shared key
|
|
25
|
+
* @param {string | false} version version
|
|
26
|
+
* @param {string} request request to the provided module
|
|
27
|
+
* @param {boolean} eager include the module in sync way
|
|
28
|
+
*/
|
|
29
|
+
constructor(shareScope, name, version, request, eager) {
|
|
30
|
+
super(WEBPACK_MODULE_TYPE_PROVIDE);
|
|
31
|
+
this._shareScope = shareScope;
|
|
32
|
+
this._name = name;
|
|
33
|
+
this._version = version;
|
|
34
|
+
this._request = request;
|
|
35
|
+
this._eager = eager;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @returns {string} a unique identifier of the module
|
|
39
|
+
*/
|
|
40
|
+
identifier() {
|
|
41
|
+
return `provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @param {RequestShortener} requestShortener the request shortener
|
|
45
|
+
* @returns {string} a user readable identifier of the module
|
|
46
|
+
*/
|
|
47
|
+
readableIdentifier(requestShortener) {
|
|
48
|
+
return `provide shared module (${this._shareScope}) ${this._name}@${this._version} = ${requestShortener.shorten(this._request)}`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @param {LibIdentOptions} options options
|
|
52
|
+
* @returns {string | null} an identifier for library inclusion
|
|
53
|
+
*/
|
|
54
|
+
libIdent(options) {
|
|
55
|
+
return `${this.layer ? `(${this.layer})/` : ''}webpack/sharing/provide/${this._shareScope}/${this._name}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @param {NeedBuildContext} context context info
|
|
59
|
+
* @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
|
|
60
|
+
* @returns {void}
|
|
61
|
+
*/
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
needBuild(context, callback) {
|
|
64
|
+
callback(null, !this.buildInfo);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @param {WebpackOptions} options webpack options
|
|
68
|
+
* @param {Compilation} compilation the compilation
|
|
69
|
+
* @param {ResolverWithOptions} resolver the resolver
|
|
70
|
+
* @param {InputFileSystem} fs the file system
|
|
71
|
+
* @param {function(WebpackError=): void} callback callback function
|
|
72
|
+
* @returns {void}
|
|
73
|
+
*/
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
build(options, compilation, resolver, fs, callback) {
|
|
76
|
+
this.buildMeta = {};
|
|
77
|
+
this.buildInfo = {
|
|
78
|
+
strict: true,
|
|
79
|
+
};
|
|
80
|
+
this.clearDependenciesAndBlocks();
|
|
81
|
+
const dep = new ProvideForSharedDependency_1.default(this._request);
|
|
82
|
+
if (this._eager) {
|
|
83
|
+
this.addDependency(dep);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const block = new AsyncDependenciesBlock({});
|
|
87
|
+
block.addDependency(dep);
|
|
88
|
+
this.addBlock(block);
|
|
89
|
+
}
|
|
90
|
+
callback();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @param {string=} type the source type for which the size should be estimated
|
|
94
|
+
* @returns {number} the estimated size of the module (must be non-zero)
|
|
95
|
+
*/
|
|
96
|
+
size(type) {
|
|
97
|
+
return 42;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @returns {Set<string>} types available (do not mutate)
|
|
101
|
+
*/
|
|
102
|
+
getSourceTypes() {
|
|
103
|
+
return TYPES;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @param {CodeGenerationContext} context context for code generation
|
|
107
|
+
* @returns {CodeGenerationResult} result
|
|
108
|
+
*/
|
|
109
|
+
// @ts-ignore
|
|
110
|
+
codeGeneration({ runtimeTemplate, moduleGraph, chunkGraph, }) {
|
|
111
|
+
const runtimeRequirements = new Set([RuntimeGlobals.initializeSharing]);
|
|
112
|
+
const code = `register(${JSON.stringify(this._name)}, ${JSON.stringify(this._version || '0')}, ${this._eager
|
|
113
|
+
? runtimeTemplate.syncModuleFactory({
|
|
114
|
+
// @ts-ignore
|
|
115
|
+
dependency: this.dependencies[0],
|
|
116
|
+
chunkGraph,
|
|
117
|
+
request: this._request,
|
|
118
|
+
runtimeRequirements,
|
|
119
|
+
})
|
|
120
|
+
: runtimeTemplate.asyncModuleFactory({
|
|
121
|
+
// @ts-ignore
|
|
122
|
+
block: this.blocks[0],
|
|
123
|
+
chunkGraph,
|
|
124
|
+
request: this._request,
|
|
125
|
+
runtimeRequirements,
|
|
126
|
+
})}${this._eager ? ', 1' : ''});`;
|
|
127
|
+
const sources = new Map();
|
|
128
|
+
const data = new Map();
|
|
129
|
+
data.set('share-init', [
|
|
130
|
+
{
|
|
131
|
+
shareScope: this._shareScope,
|
|
132
|
+
initStage: 10,
|
|
133
|
+
init: code,
|
|
134
|
+
},
|
|
135
|
+
]);
|
|
136
|
+
return { sources, data, runtimeRequirements };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* @param {ObjectSerializerContext} context context
|
|
140
|
+
*/
|
|
141
|
+
serialize(context) {
|
|
142
|
+
const { write } = context;
|
|
143
|
+
write(this._shareScope);
|
|
144
|
+
write(this._name);
|
|
145
|
+
write(this._version);
|
|
146
|
+
write(this._request);
|
|
147
|
+
write(this._eager);
|
|
148
|
+
super.serialize(context);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* @param {ObjectDeserializerContext} context context
|
|
152
|
+
* @returns {ProvideSharedModule} deserialize fallback dependency
|
|
153
|
+
*/
|
|
154
|
+
static deserialize(context) {
|
|
155
|
+
const { read } = context;
|
|
156
|
+
const obj = new ProvideSharedModule(read(), read(), read(), read(), read());
|
|
157
|
+
obj.deserialize(context);
|
|
158
|
+
return obj;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
makeSerializable(ProvideSharedModule, 'enhanced/lib/sharing/ProvideSharedModule');
|
|
162
|
+
exports.default = ProvideSharedModule;
|
|
163
|
+
//# sourceMappingURL=ProvideSharedModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProvideSharedModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ModuleFactory from 'webpack/lib/ModuleFactory';
|
|
2
1
|
import type { ModuleFactoryCreateData, ModuleFactoryResult } from 'webpack/lib/ModuleFactory';
|
|
2
|
+
declare const ModuleFactory: typeof import("webpack/lib/ModuleFactory");
|
|
3
3
|
declare class ProvideSharedModuleFactory extends ModuleFactory {
|
|
4
4
|
/**
|
|
5
5
|
* @param {ModuleFactoryCreateData} data data object
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/*
|
|
7
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
8
|
+
Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
|
|
9
|
+
*/
|
|
10
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
11
|
+
const ProvideSharedModule_1 = __importDefault(require("./ProvideSharedModule"));
|
|
12
|
+
const ModuleFactory = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleFactory'));
|
|
13
|
+
class ProvideSharedModuleFactory extends ModuleFactory {
|
|
14
|
+
/**
|
|
15
|
+
* @param {ModuleFactoryCreateData} data data object
|
|
16
|
+
* @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback
|
|
17
|
+
* @returns {void}
|
|
18
|
+
*/
|
|
19
|
+
create(data, callback) {
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
const dep = data
|
|
22
|
+
.dependencies[0];
|
|
23
|
+
callback(null, {
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
module: new ProvideSharedModule_1.default(dep.shareScope, dep.name, dep.version, dep.request, dep.eager),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.default = ProvideSharedModuleFactory;
|
|
30
|
+
//# sourceMappingURL=ProvideSharedModuleFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProvideSharedModuleFactory.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedModuleFactory.ts"],"names":[],"mappings":";;;;;AAAA;;;EAGE;AACF,0FAAqF;AAErF,gFAAwD;AAOxD,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAA,6CAAoB,EAAC,2BAA2B,CAAC,CACJ,CAAC;AAEhD,MAAM,0BAA2B,SAAQ,aAAa;IACpD;;;;OAIG;IACM,MAAM,CACb,IAA6B,EAC7B,QAAqE;QAErE,aAAa;QACb,MAAM,GAAG,GAA4B,IAAI;aACtC,YAAY,CAAC,CAAC,CAA4B,CAAC;QAC9C,QAAQ,CAAC,IAAI,EAAE;YACb,aAAa;YACb,MAAM,EAAE,IAAI,6BAAmB,CAC7B,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,KAAK,CACV;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,0BAA0B,CAAC"}
|