@module-federation/enhanced 0.1.3 → 0.1.5
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/package.json +16 -16
- package/dist/package.json +0 -67
- package/dist/src/declarations/plugins/container/AsyncDependenciesBlock.d.ts +0 -57
- package/dist/src/declarations/plugins/container/Dependency.d.ts +0 -285
- package/dist/src/declarations/plugins/container/Module.d.ts +0 -138
- 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 -32
- package/dist/src/declarations/plugins/container/WebpackOptions.d.ts +0 -140
- package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +0 -74
- package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +0 -67
- package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +0 -78
- package/dist/src/index.d.ts +0 -14
- package/dist/src/index.js +0 -37
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/Constants.d.ts +0 -117
- package/dist/src/lib/Constants.js +0 -125
- package/dist/src/lib/Constants.js.map +0 -1
- package/dist/src/lib/RuntimeGlobals.d.ts +0 -0
- package/dist/src/lib/RuntimeGlobals.js +0 -316
- package/dist/src/lib/RuntimeGlobals.js.map +0 -1
- package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +0 -20
- package/dist/src/lib/container/AsyncBoundaryPlugin.js +0 -183
- package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +0 -1
- package/dist/src/lib/container/ContainerEntryDependency.d.ts +0 -24
- package/dist/src/lib/container/ContainerEntryDependency.js +0 -39
- package/dist/src/lib/container/ContainerEntryDependency.js.map +0 -1
- package/dist/src/lib/container/ContainerEntryModule.d.ts +0 -75
- package/dist/src/lib/container/ContainerEntryModule.js +0 -250
- package/dist/src/lib/container/ContainerEntryModule.js.map +0 -1
- package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +0 -15
- package/dist/src/lib/container/ContainerEntryModuleFactory.js +0 -30
- package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +0 -1
- package/dist/src/lib/container/ContainerExposedDependency.d.ts +0 -19
- package/dist/src/lib/container/ContainerExposedDependency.js +0 -49
- package/dist/src/lib/container/ContainerExposedDependency.js.map +0 -1
- package/dist/src/lib/container/ContainerPlugin.d.ts +0 -13
- package/dist/src/lib/container/ContainerPlugin.js +0 -185
- package/dist/src/lib/container/ContainerPlugin.js.map +0 -1
- package/dist/src/lib/container/ContainerReferencePlugin.d.ts +0 -14
- package/dist/src/lib/container/ContainerReferencePlugin.js +0 -102
- package/dist/src/lib/container/ContainerReferencePlugin.js.map +0 -1
- package/dist/src/lib/container/FallbackDependency.d.ts +0 -15
- package/dist/src/lib/container/FallbackDependency.js +0 -47
- package/dist/src/lib/container/FallbackDependency.js.map +0 -1
- package/dist/src/lib/container/FallbackItemDependency.d.ts +0 -3
- package/dist/src/lib/container/FallbackItemDependency.js +0 -26
- package/dist/src/lib/container/FallbackItemDependency.js.map +0 -1
- package/dist/src/lib/container/FallbackModule.d.ts +0 -54
- package/dist/src/lib/container/FallbackModule.js +0 -152
- package/dist/src/lib/container/FallbackModule.js.map +0 -1
- package/dist/src/lib/container/FallbackModuleFactory.d.ts +0 -11
- package/dist/src/lib/container/FallbackModuleFactory.js +0 -28
- package/dist/src/lib/container/FallbackModuleFactory.js.map +0 -1
- package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +0 -14
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js +0 -61
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +0 -1
- package/dist/src/lib/container/ModuleFederationPlugin.d.ts +0 -16
- package/dist/src/lib/container/ModuleFederationPlugin.js +0 -120
- package/dist/src/lib/container/ModuleFederationPlugin.js.map +0 -1
- package/dist/src/lib/container/RemoteModule.d.ts +0 -90
- package/dist/src/lib/container/RemoteModule.js +0 -148
- package/dist/src/lib/container/RemoteModule.js.map +0 -1
- package/dist/src/lib/container/RemoteRuntimeModule.d.ts +0 -12
- package/dist/src/lib/container/RemoteRuntimeModule.js +0 -101
- package/dist/src/lib/container/RemoteRuntimeModule.js.map +0 -1
- package/dist/src/lib/container/RemoteToExternalDependency.d.ts +0 -4
- package/dist/src/lib/container/RemoteToExternalDependency.js +0 -26
- package/dist/src/lib/container/RemoteToExternalDependency.js.map +0 -1
- package/dist/src/lib/container/constant.d.ts +0 -3
- package/dist/src/lib/container/constant.js +0 -12
- package/dist/src/lib/container/constant.js.map +0 -1
- package/dist/src/lib/container/options.d.ts +0 -26
- package/dist/src/lib/container/options.js +0 -81
- package/dist/src/lib/container/options.js.map +0 -1
- package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +0 -13
- package/dist/src/lib/container/runtime/FederationRuntimeModule.js +0 -27
- package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +0 -1
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +0 -17
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +0 -200
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +0 -1
- package/dist/src/lib/container/runtime/getFederationGlobal.d.ts +0 -5
- package/dist/src/lib/container/runtime/getFederationGlobal.js +0 -24
- package/dist/src/lib/container/runtime/getFederationGlobal.js.map +0 -1
- package/dist/src/lib/container/runtime/utils.d.ts +0 -16
- package/dist/src/lib/container/runtime/utils.js +0 -83
- package/dist/src/lib/container/runtime/utils.js.map +0 -1
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +0 -3
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +0 -26
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +0 -1
- package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +0 -99
- package/dist/src/lib/sharing/ConsumeSharedModule.js +0 -206
- package/dist/src/lib/sharing/ConsumeSharedModule.js.map +0 -1
- package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +0 -30
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js +0 -245
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +0 -1
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +0 -31
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -108
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +0 -1
- package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +0 -3
- package/dist/src/lib/sharing/ProvideForSharedDependency.js +0 -27
- package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +0 -1
- package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +0 -36
- package/dist/src/lib/sharing/ProvideSharedDependency.js +0 -70
- package/dist/src/lib/sharing/ProvideSharedDependency.js.map +0 -1
- package/dist/src/lib/sharing/ProvideSharedModule.d.ts +0 -67
- package/dist/src/lib/sharing/ProvideSharedModule.js +0 -186
- package/dist/src/lib/sharing/ProvideSharedModule.js.map +0 -1
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +0 -18
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +0 -30
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +0 -1
- package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +0 -47
- package/dist/src/lib/sharing/ProvideSharedPlugin.js +0 -195
- package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +0 -1
- package/dist/src/lib/sharing/SharePlugin.d.ts +0 -41
- package/dist/src/lib/sharing/SharePlugin.js +0 -79
- package/dist/src/lib/sharing/SharePlugin.js.map +0 -1
- package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +0 -14
- package/dist/src/lib/sharing/ShareRuntimeModule.js +0 -89
- package/dist/src/lib/sharing/ShareRuntimeModule.js.map +0 -1
- package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +0 -12
- package/dist/src/lib/sharing/resolveMatchedConfigs.js +0 -66
- package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +0 -1
- package/dist/src/lib/sharing/utils.d.ts +0 -37
- package/dist/src/lib/sharing/utils.js +0 -359
- package/dist/src/lib/sharing/utils.js.map +0 -1
- package/dist/src/rspack.d.ts +0 -1
- package/dist/src/rspack.js +0 -6
- package/dist/src/rspack.js.map +0 -1
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +0 -5
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +0 -19
- package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +0 -1
- package/dist/src/runtime.d.ts +0 -1
- package/dist/src/runtime.js +0 -18
- package/dist/src/runtime.js.map +0 -1
- package/dist/src/schemas/container/ContainerPlugin.check.d.ts +0 -7
- package/dist/src/schemas/container/ContainerPlugin.check.js +0 -2318
- package/dist/src/schemas/container/ContainerPlugin.check.js.map +0 -1
- package/dist/src/schemas/container/ContainerPlugin.d.ts +0 -289
- package/dist/src/schemas/container/ContainerPlugin.js +0 -326
- package/dist/src/schemas/container/ContainerPlugin.js.map +0 -1
- package/dist/src/schemas/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/dist/src/schemas/container/ContainerReferencePlugin.check.js +0 -939
- package/dist/src/schemas/container/ContainerReferencePlugin.check.js.map +0 -1
- package/dist/src/schemas/container/ContainerReferencePlugin.d.ts +0 -87
- package/dist/src/schemas/container/ContainerReferencePlugin.js +0 -132
- package/dist/src/schemas/container/ContainerReferencePlugin.js.map +0 -1
- package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +0 -9
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js +0 -4001
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +0 -1
- package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +0 -622
- package/dist/src/schemas/container/ModuleFederationPlugin.js +0 -716
- package/dist/src/schemas/container/ModuleFederationPlugin.js.map +0 -1
- package/dist/src/schemas/sharing/ProviderSharedPlugin.check.d.ts +0 -7
- package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js +0 -434
- package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js.map +0 -1
- package/dist/src/schemas/sharing/ProviderSharedPlugin.d.ts +0 -104
- package/dist/src/schemas/sharing/ProviderSharedPlugin.js +0 -119
- package/dist/src/schemas/sharing/ProviderSharedPlugin.js.map +0 -1
- package/dist/src/types/runtime.d.ts +0 -7
- package/dist/src/types/runtime.js +0 -3
- package/dist/src/types/runtime.js.map +0 -1
- package/dist/src/webpack.d.ts +0 -1
- package/dist/src/webpack.js +0 -9
- package/dist/src/webpack.js.map +0 -1
- package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +0 -8
- package/dist/src/wrapper/AsyncBoundaryPlugin.js +0 -19
- package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +0 -1
- package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +0 -8
- package/dist/src/wrapper/ConsumeSharedPlugin.js +0 -19
- package/dist/src/wrapper/ConsumeSharedPlugin.js.map +0 -1
- package/dist/src/wrapper/ContainerPlugin.d.ts +0 -8
- package/dist/src/wrapper/ContainerPlugin.js +0 -19
- package/dist/src/wrapper/ContainerPlugin.js.map +0 -1
- package/dist/src/wrapper/ContainerReferencePlugin.d.ts +0 -8
- package/dist/src/wrapper/ContainerReferencePlugin.js +0 -19
- package/dist/src/wrapper/ContainerReferencePlugin.js.map +0 -1
- package/dist/src/wrapper/FederationRuntimePlugin.d.ts +0 -9
- package/dist/src/wrapper/FederationRuntimePlugin.js +0 -22
- package/dist/src/wrapper/FederationRuntimePlugin.js.map +0 -1
- package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +0 -6
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js +0 -18
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +0 -1
- package/dist/src/wrapper/ModuleFederationPlugin.d.ts +0 -8
- package/dist/src/wrapper/ModuleFederationPlugin.js +0 -24
- package/dist/src/wrapper/ModuleFederationPlugin.js.map +0 -1
- package/dist/src/wrapper/ProvideSharedPlugin.d.ts +0 -8
- package/dist/src/wrapper/ProvideSharedPlugin.js +0 -19
- package/dist/src/wrapper/ProvideSharedPlugin.js.map +0 -1
- package/dist/src/wrapper/SharePlugin.d.ts +0 -8
- package/dist/src/wrapper/SharePlugin.js +0 -19
- package/dist/src/wrapper/SharePlugin.js.map +0 -1
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
-
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
4
|
-
*/
|
|
5
|
-
'use strict';
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
11
|
-
const ConsumeSharedFallbackDependency_1 = __importDefault(require("./ConsumeSharedFallbackDependency"));
|
|
12
|
-
const utils_1 = require("./utils");
|
|
13
|
-
const Constants_1 = require("../Constants");
|
|
14
|
-
const { rangeToString, stringifyHoley } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
|
|
15
|
-
const { AsyncDependenciesBlock, Module, RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
16
|
-
const { sources: webpackSources } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
17
|
-
const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
|
|
18
|
-
/**
|
|
19
|
-
* @typedef {Object} ConsumeOptions
|
|
20
|
-
* @property {string=} import fallback request
|
|
21
|
-
* @property {string=} importResolved resolved fallback request
|
|
22
|
-
* @property {string} shareKey global share key
|
|
23
|
-
* @property {string} shareScope share scope
|
|
24
|
-
* @property {SemVerRange | false | undefined} requiredVersion version requirement
|
|
25
|
-
* @property {string} packageName package name to determine required version automatically
|
|
26
|
-
* @property {boolean} strictVersion don't use shared version even if version isn't valid
|
|
27
|
-
* @property {boolean} singleton use single global version
|
|
28
|
-
* @property {boolean} eager include the fallback module in a sync way
|
|
29
|
-
*/
|
|
30
|
-
const TYPES = new Set(['consume-shared']);
|
|
31
|
-
class ConsumeSharedModule extends Module {
|
|
32
|
-
/**
|
|
33
|
-
* @param {string} context context
|
|
34
|
-
* @param {ConsumeOptions} options consume options
|
|
35
|
-
*/
|
|
36
|
-
constructor(context, options) {
|
|
37
|
-
super(Constants_1.WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE, context);
|
|
38
|
-
this.options = options;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @returns {string} a unique identifier of the module
|
|
42
|
-
*/
|
|
43
|
-
identifier() {
|
|
44
|
-
const { shareKey, shareScope, importResolved, requiredVersion, strictVersion, singleton, eager, } = this.options;
|
|
45
|
-
return `${Constants_1.WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE}|${shareScope}|${shareKey}|${requiredVersion && rangeToString(requiredVersion)}|${strictVersion}|${importResolved}|${singleton}|${eager}`;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @param {RequestShortener} requestShortener the request shortener
|
|
49
|
-
* @returns {string} a user readable identifier of the module
|
|
50
|
-
*/
|
|
51
|
-
readableIdentifier(requestShortener) {
|
|
52
|
-
const { shareKey, shareScope, importResolved, requiredVersion, strictVersion, singleton, eager, } = this.options;
|
|
53
|
-
return `consume shared module (${shareScope}) ${shareKey}@${requiredVersion ? rangeToString(requiredVersion) : '*'}${strictVersion ? ' (strict)' : ''}${singleton ? ' (singleton)' : ''}${importResolved
|
|
54
|
-
? ` (fallback: ${requestShortener.shorten(importResolved)})`
|
|
55
|
-
: ''}${eager ? ' (eager)' : ''}`;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @param {LibIdentOptions} options options
|
|
59
|
-
* @returns {string | null} an identifier for library inclusion
|
|
60
|
-
*/
|
|
61
|
-
libIdent(options) {
|
|
62
|
-
const { shareKey, shareScope, import: request } = this.options;
|
|
63
|
-
return `${this.layer ? `(${this.layer})/` : ''}webpack/sharing/consume/${shareScope}/${shareKey}${request ? `/${request}` : ''}`;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* @param {NeedBuildContext} context context info
|
|
67
|
-
* @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
|
|
68
|
-
* @returns {void}
|
|
69
|
-
*/
|
|
70
|
-
// @ts-ignore
|
|
71
|
-
needBuild(context, callback) {
|
|
72
|
-
callback(null, !this.buildInfo);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @param {WebpackOptions} options webpack options
|
|
76
|
-
* @param {Compilation} compilation the compilation
|
|
77
|
-
* @param {ResolverWithOptions} resolver the resolver
|
|
78
|
-
* @param {InputFileSystem} fs the file system
|
|
79
|
-
* @param {function(WebpackError=): void} callback callback function
|
|
80
|
-
* @returns {void}
|
|
81
|
-
*/
|
|
82
|
-
// @ts-ignore
|
|
83
|
-
build(options, compilation, resolver, fs, callback) {
|
|
84
|
-
this.buildMeta = {};
|
|
85
|
-
this.buildInfo = {};
|
|
86
|
-
if (this.options.import) {
|
|
87
|
-
const dep = new ConsumeSharedFallbackDependency_1.default(this.options.import);
|
|
88
|
-
if (this.options.eager) {
|
|
89
|
-
this.addDependency(dep);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
const block = new AsyncDependenciesBlock({});
|
|
93
|
-
block.addDependency(dep);
|
|
94
|
-
this.addBlock(block);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
callback();
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* @returns {Set<string>} types available (do not mutate)
|
|
101
|
-
*/
|
|
102
|
-
getSourceTypes() {
|
|
103
|
-
return TYPES;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @param {string=} type the source type for which the size should be estimated
|
|
107
|
-
* @returns {number} the estimated size of the module (must be non-zero)
|
|
108
|
-
*/
|
|
109
|
-
size(type) {
|
|
110
|
-
return 42;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* @param {Hash} hash the hash used to track dependencies
|
|
114
|
-
* @param {UpdateHashContext} context context
|
|
115
|
-
* @returns {void}
|
|
116
|
-
*/
|
|
117
|
-
// @ts-ignore
|
|
118
|
-
updateHash(hash, context) {
|
|
119
|
-
hash.update(JSON.stringify(this.options));
|
|
120
|
-
// @ts-ignore
|
|
121
|
-
super.updateHash(hash, context);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* @param {CodeGenerationContext} context context for code generation
|
|
125
|
-
* @returns {CodeGenerationResult} result
|
|
126
|
-
*/
|
|
127
|
-
// @ts-ignore
|
|
128
|
-
codeGeneration({ chunkGraph, moduleGraph, runtimeTemplate, }) {
|
|
129
|
-
const runtimeRequirements = new Set([RuntimeGlobals.shareScopeMap]);
|
|
130
|
-
const { shareScope, shareKey, strictVersion, requiredVersion, import: request, singleton, eager, } = this.options;
|
|
131
|
-
let fallbackCode;
|
|
132
|
-
if (request) {
|
|
133
|
-
if (eager) {
|
|
134
|
-
const dep = this.dependencies[0];
|
|
135
|
-
fallbackCode = runtimeTemplate.syncModuleFactory({
|
|
136
|
-
// @ts-ignore
|
|
137
|
-
dependency: dep,
|
|
138
|
-
chunkGraph,
|
|
139
|
-
runtimeRequirements,
|
|
140
|
-
request: this.options.import,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
const block = this.blocks[0];
|
|
145
|
-
fallbackCode = runtimeTemplate.asyncModuleFactory({
|
|
146
|
-
// @ts-ignore
|
|
147
|
-
block,
|
|
148
|
-
chunkGraph,
|
|
149
|
-
runtimeRequirements,
|
|
150
|
-
request: this.options.import,
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
let fn = 'load';
|
|
155
|
-
const args = [JSON.stringify(shareScope), JSON.stringify(shareKey)];
|
|
156
|
-
if (requiredVersion) {
|
|
157
|
-
if (strictVersion) {
|
|
158
|
-
fn += 'Strict';
|
|
159
|
-
}
|
|
160
|
-
if (singleton) {
|
|
161
|
-
fn += 'Singleton';
|
|
162
|
-
}
|
|
163
|
-
args.push(stringifyHoley(requiredVersion));
|
|
164
|
-
fn += 'VersionCheck';
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
if (singleton) {
|
|
168
|
-
fn += 'Singleton';
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
if (fallbackCode) {
|
|
172
|
-
fn += 'Fallback';
|
|
173
|
-
args.push(fallbackCode);
|
|
174
|
-
}
|
|
175
|
-
// const code = runtimeTemplate.returningFunction(`${fn}(${args.join(', ')})`);
|
|
176
|
-
const sources = new Map();
|
|
177
|
-
sources.set('consume-shared', new webpackSources.RawSource(fallbackCode ||
|
|
178
|
-
`()=>()=>{throw new Error("Can not get '${shareKey}'")}`));
|
|
179
|
-
const data = new Map();
|
|
180
|
-
data.set('consume-shared', (0, utils_1.normalizeConsumeShareOptions)(this.options));
|
|
181
|
-
return {
|
|
182
|
-
runtimeRequirements,
|
|
183
|
-
sources,
|
|
184
|
-
data,
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* @param {ObjectSerializerContext} context context
|
|
189
|
-
*/
|
|
190
|
-
serialize(context) {
|
|
191
|
-
const { write } = context;
|
|
192
|
-
write(this.options);
|
|
193
|
-
super.serialize(context);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* @param {ObjectDeserializerContext} context context
|
|
197
|
-
*/
|
|
198
|
-
deserialize(context) {
|
|
199
|
-
const { read } = context;
|
|
200
|
-
this.options = read();
|
|
201
|
-
super.deserialize(context);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
makeSerializable(ConsumeSharedModule, 'enhanced/lib/sharing/ConsumeSharedModule');
|
|
205
|
-
exports.default = ConsumeSharedModule;
|
|
206
|
-
//# sourceMappingURL=ConsumeSharedModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConsumeSharedModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export = ConsumeSharedPlugin;
|
|
2
|
-
declare class ConsumeSharedPlugin {
|
|
3
|
-
/**
|
|
4
|
-
* @param {ConsumeSharedPluginOptions} options options
|
|
5
|
-
*/
|
|
6
|
-
constructor(options: any);
|
|
7
|
-
/** @type {[string, ConsumeOptions][]} */
|
|
8
|
-
_consumes: [string, ConsumeOptions][];
|
|
9
|
-
/**
|
|
10
|
-
* Apply the plugin
|
|
11
|
-
* @param {Compiler} compiler the compiler instance
|
|
12
|
-
* @returns {void}
|
|
13
|
-
*/
|
|
14
|
-
apply(compiler: Compiler): void;
|
|
15
|
-
}
|
|
16
|
-
declare namespace ConsumeSharedPlugin {
|
|
17
|
-
export {
|
|
18
|
-
ConsumeSharedPluginOptions,
|
|
19
|
-
ConsumesConfig,
|
|
20
|
-
Compiler,
|
|
21
|
-
ResolveOptionsWithDependencyType,
|
|
22
|
-
ConsumeOptions,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
type ConsumeOptions = import('./ConsumeSharedModule').ConsumeOptions;
|
|
26
|
-
type Compiler = import('webpack/lib/Compiler');
|
|
27
|
-
type ConsumeSharedPluginOptions = any;
|
|
28
|
-
type ConsumesConfig = any;
|
|
29
|
-
type ResolveOptionsWithDependencyType =
|
|
30
|
-
import('webpack/lib/ResolverFactory').ResolveOptionsWithDependencyType;
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
-
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
4
|
-
*/
|
|
5
|
-
'use strict';
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
11
|
-
const options_1 = require("../container/options");
|
|
12
|
-
const resolveMatchedConfigs_1 = require("./resolveMatchedConfigs");
|
|
13
|
-
const utils_1 = require("./utils");
|
|
14
|
-
const ConsumeSharedFallbackDependency_1 = __importDefault(require("./ConsumeSharedFallbackDependency"));
|
|
15
|
-
const ConsumeSharedModule_1 = __importDefault(require("./ConsumeSharedModule"));
|
|
16
|
-
const ConsumeSharedRuntimeModule_1 = __importDefault(require("./ConsumeSharedRuntimeModule"));
|
|
17
|
-
const ProvideForSharedDependency_1 = __importDefault(require("./ProvideForSharedDependency"));
|
|
18
|
-
const FederationRuntimePlugin_1 = __importDefault(require("../container/runtime/FederationRuntimePlugin"));
|
|
19
|
-
const ShareRuntimeModule_1 = __importDefault(require("./ShareRuntimeModule"));
|
|
20
|
-
const { parseRange } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
|
|
21
|
-
const ModuleNotFoundError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleNotFoundError'));
|
|
22
|
-
const { RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
23
|
-
const LazySet = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/LazySet'));
|
|
24
|
-
const WebpackError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/WebpackError'));
|
|
25
|
-
const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
|
|
26
|
-
const validate = createSchemaValidation(
|
|
27
|
-
//eslint-disable-next-line
|
|
28
|
-
require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js')), () => require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json')), {
|
|
29
|
-
name: 'Consume Shared Plugin',
|
|
30
|
-
baseDataPath: 'options',
|
|
31
|
-
});
|
|
32
|
-
const RESOLVE_OPTIONS = {
|
|
33
|
-
dependencyType: 'esm',
|
|
34
|
-
};
|
|
35
|
-
const PLUGIN_NAME = 'ConsumeSharedPlugin';
|
|
36
|
-
class ConsumeSharedPlugin {
|
|
37
|
-
constructor(options) {
|
|
38
|
-
if (typeof options !== 'string') {
|
|
39
|
-
validate(options);
|
|
40
|
-
}
|
|
41
|
-
this._consumes = (0, options_1.parseOptions)(options.consumes, (item, key) => {
|
|
42
|
-
if (Array.isArray(item))
|
|
43
|
-
throw new Error('Unexpected array in options');
|
|
44
|
-
//@ts-ignore
|
|
45
|
-
const result = item === key || !(0, utils_1.isRequiredVersion)(item)
|
|
46
|
-
? // item is a request/key
|
|
47
|
-
{
|
|
48
|
-
import: key,
|
|
49
|
-
shareScope: options.shareScope || 'default',
|
|
50
|
-
shareKey: key,
|
|
51
|
-
requiredVersion: undefined,
|
|
52
|
-
packageName: undefined,
|
|
53
|
-
strictVersion: false,
|
|
54
|
-
singleton: false,
|
|
55
|
-
eager: false,
|
|
56
|
-
}
|
|
57
|
-
: // key is a request/key
|
|
58
|
-
// item is a version
|
|
59
|
-
{
|
|
60
|
-
import: key,
|
|
61
|
-
shareScope: options.shareScope || 'default',
|
|
62
|
-
shareKey: key,
|
|
63
|
-
// webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756
|
|
64
|
-
requiredVersion: item,
|
|
65
|
-
strictVersion: true,
|
|
66
|
-
packageName: undefined,
|
|
67
|
-
singleton: false,
|
|
68
|
-
eager: false,
|
|
69
|
-
};
|
|
70
|
-
return result;
|
|
71
|
-
}, (item, key) => ({
|
|
72
|
-
import: item.import === false ? undefined : item.import || key,
|
|
73
|
-
shareScope: item.shareScope || options.shareScope || 'default',
|
|
74
|
-
shareKey: item.shareKey || key,
|
|
75
|
-
// @ts-ignore webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756
|
|
76
|
-
requiredVersion: item.requiredVersion,
|
|
77
|
-
strictVersion: typeof item.strictVersion === 'boolean'
|
|
78
|
-
? item.strictVersion
|
|
79
|
-
: item.import !== false && !item.singleton,
|
|
80
|
-
//@ts-ignore
|
|
81
|
-
packageName: item.packageName,
|
|
82
|
-
singleton: !!item.singleton,
|
|
83
|
-
eager: !!item.eager,
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
apply(compiler) {
|
|
87
|
-
//@ts-ignore
|
|
88
|
-
new FederationRuntimePlugin_1.default().apply(compiler);
|
|
89
|
-
process.env['FEDERATION_WEBPACK_PATH'] =
|
|
90
|
-
process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
|
|
91
|
-
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
|
|
92
|
-
compilation.dependencyFactories.set(ConsumeSharedFallbackDependency_1.default, normalModuleFactory);
|
|
93
|
-
let unresolvedConsumes, resolvedConsumes, prefixedConsumes;
|
|
94
|
-
const promise = (0, resolveMatchedConfigs_1.resolveMatchedConfigs)(compilation, this._consumes).then(({ resolved, unresolved, prefixed }) => {
|
|
95
|
-
resolvedConsumes = resolved;
|
|
96
|
-
unresolvedConsumes = unresolved;
|
|
97
|
-
prefixedConsumes = prefixed;
|
|
98
|
-
});
|
|
99
|
-
const resolver = compilation.resolverFactory.get('normal',
|
|
100
|
-
//@ts-ignore
|
|
101
|
-
RESOLVE_OPTIONS);
|
|
102
|
-
const createConsumeSharedModule = (context, request, config) => {
|
|
103
|
-
const requiredVersionWarning = (details) => {
|
|
104
|
-
const error = new WebpackError(`No required version specified and unable to automatically determine one. ${details}`);
|
|
105
|
-
error.file = `shared module ${request}`;
|
|
106
|
-
//@ts-ignore
|
|
107
|
-
compilation.warnings.push(error);
|
|
108
|
-
};
|
|
109
|
-
const directFallback = config.import &&
|
|
110
|
-
/^(\.\.?(\/|$)|\/|[A-Za-z]:|\\\\)/.test(config.import);
|
|
111
|
-
return Promise.all([
|
|
112
|
-
new Promise((resolve) => {
|
|
113
|
-
if (!config.import)
|
|
114
|
-
return resolve(undefined);
|
|
115
|
-
const resolveContext = {
|
|
116
|
-
fileDependencies: new LazySet(),
|
|
117
|
-
contextDependencies: new LazySet(),
|
|
118
|
-
missingDependencies: new LazySet(),
|
|
119
|
-
};
|
|
120
|
-
resolver.resolve({}, directFallback ? compiler.context : context, config.import, resolveContext, (err, result) => {
|
|
121
|
-
compilation.contextDependencies.addAll(resolveContext.contextDependencies);
|
|
122
|
-
compilation.fileDependencies.addAll(resolveContext.fileDependencies);
|
|
123
|
-
compilation.missingDependencies.addAll(resolveContext.missingDependencies);
|
|
124
|
-
if (err) {
|
|
125
|
-
compilation.errors.push(
|
|
126
|
-
//@ts-ignore
|
|
127
|
-
new ModuleNotFoundError(null, err, {
|
|
128
|
-
name: `resolving fallback for shared module ${request}`,
|
|
129
|
-
}));
|
|
130
|
-
return resolve(undefined);
|
|
131
|
-
}
|
|
132
|
-
//@ts-ignore
|
|
133
|
-
resolve(result);
|
|
134
|
-
});
|
|
135
|
-
}),
|
|
136
|
-
new Promise((resolve) => {
|
|
137
|
-
if (config.requiredVersion !== undefined) {
|
|
138
|
-
return resolve(config.requiredVersion);
|
|
139
|
-
}
|
|
140
|
-
let packageName = config.packageName;
|
|
141
|
-
if (packageName === undefined) {
|
|
142
|
-
if (/^(\/|[A-Za-z]:|\\\\)/.test(request)) {
|
|
143
|
-
// For relative or absolute requests we don't automatically use a packageName.
|
|
144
|
-
// If wished one can specify one with the packageName option.
|
|
145
|
-
return resolve(undefined);
|
|
146
|
-
}
|
|
147
|
-
const match = /^((?:@[^\\/]+[\\/])?[^\\/]+)/.exec(request);
|
|
148
|
-
if (!match) {
|
|
149
|
-
requiredVersionWarning('Unable to extract the package name from request.');
|
|
150
|
-
return resolve(undefined);
|
|
151
|
-
}
|
|
152
|
-
packageName = match[0];
|
|
153
|
-
}
|
|
154
|
-
(0, utils_1.getDescriptionFile)(compilation.inputFileSystem, context, ['package.json'], (err, result) => {
|
|
155
|
-
if (err) {
|
|
156
|
-
requiredVersionWarning(`Unable to read description file: ${err}`);
|
|
157
|
-
return resolve(undefined);
|
|
158
|
-
}
|
|
159
|
-
//@ts-ignore
|
|
160
|
-
const { data, path: descriptionPath } = result;
|
|
161
|
-
if (!data) {
|
|
162
|
-
requiredVersionWarning(`Unable to find description file in ${context}.`);
|
|
163
|
-
return resolve(undefined);
|
|
164
|
-
}
|
|
165
|
-
//@ts-ignore
|
|
166
|
-
if (data.name === packageName) {
|
|
167
|
-
// Package self-referencing
|
|
168
|
-
return resolve(undefined);
|
|
169
|
-
}
|
|
170
|
-
const requiredVersion = (0, utils_1.getRequiredVersionFromDescriptionFile)(data, packageName);
|
|
171
|
-
if (typeof requiredVersion !== 'string') {
|
|
172
|
-
requiredVersionWarning(`Unable to find required version for "${packageName}" in description file (${descriptionPath}). It need to be in dependencies, devDependencies or peerDependencies.`);
|
|
173
|
-
return resolve(undefined);
|
|
174
|
-
}
|
|
175
|
-
// @ts-ignore webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756
|
|
176
|
-
resolve(requiredVersion);
|
|
177
|
-
});
|
|
178
|
-
}),
|
|
179
|
-
]).then(([importResolved, requiredVersion]) => {
|
|
180
|
-
return new ConsumeSharedModule_1.default(directFallback ? compiler.context : context, {
|
|
181
|
-
...config,
|
|
182
|
-
importResolved,
|
|
183
|
-
import: importResolved ? config.import : undefined,
|
|
184
|
-
requiredVersion,
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
normalModuleFactory.hooks.factorize.tapPromise(PLUGIN_NAME, ({ context, request, dependencies }) =>
|
|
189
|
-
// wait for resolving to be complete
|
|
190
|
-
//@ts-ignore
|
|
191
|
-
promise.then(() => {
|
|
192
|
-
if (dependencies[0] instanceof ConsumeSharedFallbackDependency_1.default ||
|
|
193
|
-
dependencies[0] instanceof ProvideForSharedDependency_1.default) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
const match = unresolvedConsumes.get(request);
|
|
197
|
-
if (match !== undefined) {
|
|
198
|
-
return createConsumeSharedModule(context, request, match);
|
|
199
|
-
}
|
|
200
|
-
for (const [prefix, options] of prefixedConsumes) {
|
|
201
|
-
if (request.startsWith(prefix)) {
|
|
202
|
-
const remainder = request.slice(prefix.length);
|
|
203
|
-
return createConsumeSharedModule(context, request, {
|
|
204
|
-
...options,
|
|
205
|
-
import: options.import
|
|
206
|
-
? options.import + remainder
|
|
207
|
-
: undefined,
|
|
208
|
-
shareKey: options.shareKey + remainder,
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}));
|
|
213
|
-
normalModuleFactory.hooks.createModule.tapPromise(PLUGIN_NAME,
|
|
214
|
-
//@ts-ignore
|
|
215
|
-
({ resource }, { context, dependencies }) => {
|
|
216
|
-
if (dependencies[0] instanceof ConsumeSharedFallbackDependency_1.default ||
|
|
217
|
-
dependencies[0] instanceof ProvideForSharedDependency_1.default) {
|
|
218
|
-
return Promise.resolve();
|
|
219
|
-
}
|
|
220
|
-
if (resource) {
|
|
221
|
-
const options = resolvedConsumes.get(resource);
|
|
222
|
-
if (options !== undefined) {
|
|
223
|
-
return createConsumeSharedModule(context, resource, options);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return Promise.resolve();
|
|
227
|
-
});
|
|
228
|
-
compilation.hooks.additionalTreeRuntimeRequirements.tap(PLUGIN_NAME, (chunk, set) => {
|
|
229
|
-
set.add(RuntimeGlobals.module);
|
|
230
|
-
set.add(RuntimeGlobals.moduleCache);
|
|
231
|
-
set.add(RuntimeGlobals.moduleFactoriesAddOnly);
|
|
232
|
-
set.add(RuntimeGlobals.shareScopeMap);
|
|
233
|
-
set.add(RuntimeGlobals.initializeSharing);
|
|
234
|
-
set.add(RuntimeGlobals.hasOwnProperty);
|
|
235
|
-
compilation.addRuntimeModule(chunk,
|
|
236
|
-
//@ts-ignore
|
|
237
|
-
new ConsumeSharedRuntimeModule_1.default(set));
|
|
238
|
-
// FIXME: need to remove webpack internal inject ShareRuntimeModule, otherwise there will be two ShareRuntimeModule
|
|
239
|
-
compilation.addRuntimeModule(chunk, new ShareRuntimeModule_1.default());
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
exports.default = ConsumeSharedPlugin;
|
|
245
|
-
//# sourceMappingURL=ConsumeSharedPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConsumeSharedPlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export = ConsumeSharedRuntimeModule;
|
|
2
|
-
/** @typedef {import("webpack-sources").Source} Source */
|
|
3
|
-
/** @typedef {import("webpack/lib/Chunk")} Chunk */
|
|
4
|
-
/** @typedef {import("webpack/lib/ChunkGraph")} ChunkGraph */
|
|
5
|
-
/** @typedef {import("webpack/lib/Compilation")} Compilation */
|
|
6
|
-
/** @typedef {import("webpack/lib/Module")} Module */
|
|
7
|
-
/** @typedef {import("./ConsumeSharedModule")} ConsumeSharedModule */
|
|
8
|
-
declare class ConsumeSharedRuntimeModule extends RuntimeModule {
|
|
9
|
-
/**
|
|
10
|
-
* @param {ReadonlySet<string>} runtimeRequirements runtime requirements
|
|
11
|
-
*/
|
|
12
|
-
constructor(runtimeRequirements: ReadonlySet<string>);
|
|
13
|
-
_runtimeRequirements: ReadonlySet<string>;
|
|
14
|
-
}
|
|
15
|
-
declare namespace ConsumeSharedRuntimeModule {
|
|
16
|
-
export {
|
|
17
|
-
Source,
|
|
18
|
-
Chunk,
|
|
19
|
-
ChunkGraph,
|
|
20
|
-
Compilation,
|
|
21
|
-
Module,
|
|
22
|
-
ConsumeSharedModule,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
import RuntimeModule = require('webpack/lib/RuntimeModule');
|
|
26
|
-
type Source = import('webpack-sources').Source;
|
|
27
|
-
type Chunk = import('webpack/lib/Chunk');
|
|
28
|
-
type ChunkGraph = import('webpack/lib/ChunkGraph');
|
|
29
|
-
type Compilation = import('webpack/lib/Compilation');
|
|
30
|
-
type Module = import('webpack/lib/Module');
|
|
31
|
-
type ConsumeSharedModule = import('./ConsumeSharedModule');
|
|
@@ -1,108 +0,0 @@
|
|
|
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 utils_1 = require("../container/runtime/utils");
|
|
9
|
-
const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
10
|
-
const { parseVersionRuntimeCode, versionLtRuntimeCode, rangeToStringRuntimeCode, satisfyRuntimeCode, } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
|
|
11
|
-
class ConsumeSharedRuntimeModule extends RuntimeModule {
|
|
12
|
-
/**
|
|
13
|
-
* @param {ReadonlySet<string>} runtimeRequirements runtime requirements
|
|
14
|
-
*/
|
|
15
|
-
constructor(runtimeRequirements) {
|
|
16
|
-
super('consumes', RuntimeModule.STAGE_ATTACH);
|
|
17
|
-
this._runtimeRequirements = runtimeRequirements;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @returns {string | null} runtime code
|
|
21
|
-
*/
|
|
22
|
-
generate() {
|
|
23
|
-
const compilation = this.compilation;
|
|
24
|
-
const chunkGraph = this.chunkGraph;
|
|
25
|
-
const { runtimeTemplate, codeGenerationResults } = compilation;
|
|
26
|
-
const chunkToModuleMapping = {};
|
|
27
|
-
const moduleIdToSourceMapping = new Map();
|
|
28
|
-
const initialConsumes = [];
|
|
29
|
-
/**
|
|
30
|
-
*
|
|
31
|
-
* @param {Iterable<Module>} modules modules
|
|
32
|
-
* @param {Chunk} chunk the chunk
|
|
33
|
-
* @param {(string | number)[]} list list of ids
|
|
34
|
-
*/
|
|
35
|
-
const addModules = (modules, chunk, list) => {
|
|
36
|
-
for (const m of modules) {
|
|
37
|
-
const module = m;
|
|
38
|
-
// @ts-ignore
|
|
39
|
-
const id = chunkGraph.getModuleId(module);
|
|
40
|
-
list.push(id);
|
|
41
|
-
const moduleGetter = codeGenerationResults.getSource(
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
module, chunk.runtime, 'consume-shared');
|
|
44
|
-
const shareOption = codeGenerationResults.getData(
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
module, chunk.runtime, 'consume-shared');
|
|
47
|
-
const sharedInfoAndHandlerStr = Template.asString([
|
|
48
|
-
'{',
|
|
49
|
-
Template.indent([
|
|
50
|
-
`getter: ${moduleGetter.source().toString()},`,
|
|
51
|
-
`shareInfo: {`,
|
|
52
|
-
Template.indent([
|
|
53
|
-
`shareConfig: ${JSON.stringify(shareOption.shareConfig, null, 2)},`,
|
|
54
|
-
`scope: [${JSON.stringify(shareOption.shareScope || 'default')}],`,
|
|
55
|
-
]),
|
|
56
|
-
'},',
|
|
57
|
-
`shareKey: "${shareOption.shareKey}",`,
|
|
58
|
-
]),
|
|
59
|
-
'}',
|
|
60
|
-
]);
|
|
61
|
-
moduleIdToSourceMapping.set(id, sharedInfoAndHandlerStr);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const allChunks = [...(this.chunk?.getAllReferencedChunks() || [])];
|
|
65
|
-
for (const chunk of allChunks) {
|
|
66
|
-
const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
|
|
67
|
-
if (!modules)
|
|
68
|
-
continue;
|
|
69
|
-
// chunk.id may equal 0
|
|
70
|
-
if (chunk.id === null || (typeof chunk.id === 'string' && !chunk.id))
|
|
71
|
-
continue;
|
|
72
|
-
addModules(modules, chunk, (chunkToModuleMapping[chunk.id.toString()] = []));
|
|
73
|
-
}
|
|
74
|
-
for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {
|
|
75
|
-
const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
|
|
76
|
-
if (!modules)
|
|
77
|
-
continue;
|
|
78
|
-
addModules(modules, chunk, initialConsumes);
|
|
79
|
-
}
|
|
80
|
-
if (moduleIdToSourceMapping.size === 0)
|
|
81
|
-
return null;
|
|
82
|
-
const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals);
|
|
83
|
-
return Template.asString([
|
|
84
|
-
'var installedModules = {};',
|
|
85
|
-
'var moduleToHandlerMapping = {',
|
|
86
|
-
Template.indent(Array.from(moduleIdToSourceMapping, ([key, value]) => {
|
|
87
|
-
return `${JSON.stringify(key)}: ${value}`;
|
|
88
|
-
}).join(',\n')),
|
|
89
|
-
'};',
|
|
90
|
-
initialConsumes.length > 0
|
|
91
|
-
? Template.asString([
|
|
92
|
-
`var initialConsumes = ${JSON.stringify(initialConsumes)};`,
|
|
93
|
-
`${federationGlobal}.installInitialConsumes= ()=>${federationGlobal}.bundlerRuntime.installInitialConsumes({initialConsumes, installedModules, moduleToHandlerMapping, webpackRequire:${RuntimeGlobals.require}});`,
|
|
94
|
-
])
|
|
95
|
-
: '// no consumes in initial chunks',
|
|
96
|
-
this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)
|
|
97
|
-
? Template.asString([
|
|
98
|
-
`var chunkMapping = ${JSON.stringify(chunkToModuleMapping, null, '\t')};`,
|
|
99
|
-
`${RuntimeGlobals.ensureChunkHandlers}.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [
|
|
100
|
-
`${federationGlobal}.bundlerRuntime.consumes({chunkMapping, installedModules, chunkId, moduleToHandlerMapping, promises, webpackRequire:${RuntimeGlobals.require}});`,
|
|
101
|
-
])}`,
|
|
102
|
-
])
|
|
103
|
-
: '// no chunk loading of consumes',
|
|
104
|
-
]);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
exports.default = ConsumeSharedRuntimeModule;
|
|
108
|
-
//# sourceMappingURL=ConsumeSharedRuntimeModule.js.map
|