@module-federation/enhanced 0.17.1 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/src/declarations/plugins/sharing/ConsumeSharedModule.d.ts +29 -0
- package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +10 -0
- package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +23 -0
- package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +18 -0
- package/dist/src/lib/container/ContainerPlugin.js +4 -0
- package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +3 -1
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +3 -1
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedModule.js +3 -1
- package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +5 -2
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js +278 -107
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +13 -0
- package/dist/src/lib/sharing/ProvideSharedPlugin.js +414 -76
- package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/SharePlugin.js +15 -1
- package/dist/src/lib/sharing/SharePlugin.js.map +1 -1
- package/dist/src/lib/sharing/resolveMatchedConfigs.js +7 -11
- package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +1 -1
- package/dist/src/lib/sharing/utils.d.ts +7 -0
- package/dist/src/lib/sharing/utils.js +52 -0
- package/dist/src/lib/sharing/utils.js.map +1 -1
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js +492 -239
- package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -1
- package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +56 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.js +60 -0
- package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.d.ts +3 -3
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.js +362 -117
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.d.ts +65 -0
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.js +68 -0
- package/dist/src/schemas/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/ProvideSharedPlugin.check.d.ts +3 -3
- package/dist/src/schemas/sharing/ProvideSharedPlugin.check.js +641 -352
- package/dist/src/schemas/sharing/ProvideSharedPlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/ProvideSharedPlugin.d.ts +58 -0
- package/dist/src/schemas/sharing/ProvideSharedPlugin.js +64 -0
- package/dist/src/schemas/sharing/ProvideSharedPlugin.js.map +1 -1
- package/dist/src/schemas/sharing/SharePlugin.check.d.ts +3 -3
- package/dist/src/schemas/sharing/SharePlugin.check.js +590 -282
- package/dist/src/schemas/sharing/SharePlugin.check.js.map +1 -1
- package/dist/src/schemas/sharing/SharePlugin.d.ts +82 -0
- package/dist/src/schemas/sharing/SharePlugin.js +86 -0
- package/dist/src/schemas/sharing/SharePlugin.js.map +1 -1
- package/package.json +13 -13
|
@@ -14,6 +14,8 @@ const ProvideSharedDependency_1 = __importDefault(require("./ProvideSharedDepend
|
|
|
14
14
|
const ProvideSharedModuleFactory_1 = __importDefault(require("./ProvideSharedModuleFactory"));
|
|
15
15
|
const FederationRuntimePlugin_1 = __importDefault(require("../container/runtime/FederationRuntimePlugin"));
|
|
16
16
|
const utils_1 = require("../../utils");
|
|
17
|
+
const { satisfy, parseRange } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
|
|
18
|
+
const utils_2 = require("./utils");
|
|
17
19
|
const WebpackError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/WebpackError'));
|
|
18
20
|
const validate = (0, utils_1.createSchemaValidation)(
|
|
19
21
|
//eslint-disable-next-line
|
|
@@ -28,15 +30,10 @@ require('../../schemas/sharing/ProvideSharedPlugin.check.js').validate, () => re
|
|
|
28
30
|
* @property {string | undefined | false} version
|
|
29
31
|
* @property {boolean} eager
|
|
30
32
|
* @property {string} [request] The actual request to use for importing the module
|
|
33
|
+
* @property {{ version?: string; request?: string | RegExp; fallbackVersion?: string }} [exclude] Options for excluding certain versions or requests
|
|
34
|
+
* @property {{ version?: string; request?: string | RegExp; fallbackVersion?: string }} [include] Options for including only certain versions or requests
|
|
31
35
|
*/
|
|
32
36
|
/** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */
|
|
33
|
-
// Helper function to create composite key
|
|
34
|
-
function createLookupKey(request, config) {
|
|
35
|
-
if (config.layer) {
|
|
36
|
-
return `(${config.layer})${request}`;
|
|
37
|
-
}
|
|
38
|
-
return request;
|
|
39
|
-
}
|
|
40
37
|
class ProvideSharedPlugin {
|
|
41
38
|
/**
|
|
42
39
|
* @param {ProvideSharedPluginOptions} options options
|
|
@@ -46,7 +43,6 @@ class ProvideSharedPlugin {
|
|
|
46
43
|
this._provides = (0, options_1.parseOptions)(options.provides, (item) => {
|
|
47
44
|
if (Array.isArray(item))
|
|
48
45
|
throw new Error('Unexpected array of provides');
|
|
49
|
-
/** @type {ProvidesConfig} */
|
|
50
46
|
const result = {
|
|
51
47
|
shareKey: item,
|
|
52
48
|
version: undefined,
|
|
@@ -57,6 +53,9 @@ class ProvideSharedPlugin {
|
|
|
57
53
|
singleton: false,
|
|
58
54
|
layer: undefined,
|
|
59
55
|
request: item,
|
|
56
|
+
exclude: undefined,
|
|
57
|
+
include: undefined,
|
|
58
|
+
nodeModulesReconstructedLookup: false,
|
|
60
59
|
};
|
|
61
60
|
return result;
|
|
62
61
|
}, (item, key) => {
|
|
@@ -71,6 +70,9 @@ class ProvideSharedPlugin {
|
|
|
71
70
|
singleton: !!item.singleton,
|
|
72
71
|
layer: item.layer,
|
|
73
72
|
request,
|
|
73
|
+
exclude: item.exclude,
|
|
74
|
+
include: item.include,
|
|
75
|
+
nodeModulesReconstructedLookup: !!item.nodeModulesReconstructedLookup,
|
|
74
76
|
};
|
|
75
77
|
});
|
|
76
78
|
this._provides.sort(([a], [b]) => {
|
|
@@ -97,92 +99,179 @@ class ProvideSharedPlugin {
|
|
|
97
99
|
const prefixMatchProvides = new Map();
|
|
98
100
|
for (const [request, config] of this._provides) {
|
|
99
101
|
const actualRequest = config.request || request;
|
|
100
|
-
const lookupKey =
|
|
102
|
+
const lookupKey = (0, utils_2.createLookupKeyForSharing)(actualRequest, config.layer);
|
|
101
103
|
if (/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(actualRequest)) {
|
|
102
|
-
// relative request
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
// relative request - apply filtering if include/exclude are defined
|
|
105
|
+
if (this.shouldProvideSharedModule(config)) {
|
|
106
|
+
resolvedProvideMap.set(lookupKey, {
|
|
107
|
+
config,
|
|
108
|
+
version: config.version,
|
|
109
|
+
resource: actualRequest,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
107
112
|
}
|
|
108
113
|
else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(actualRequest)) {
|
|
109
|
-
// absolute path
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
+
// absolute path - apply filtering if include/exclude are defined
|
|
115
|
+
if (this.shouldProvideSharedModule(config)) {
|
|
116
|
+
resolvedProvideMap.set(lookupKey, {
|
|
117
|
+
config,
|
|
118
|
+
version: config.version,
|
|
119
|
+
resource: actualRequest,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
114
122
|
}
|
|
115
123
|
else if (actualRequest.endsWith('/')) {
|
|
116
|
-
// module request prefix
|
|
117
124
|
prefixMatchProvides.set(lookupKey, config);
|
|
118
125
|
}
|
|
119
126
|
else {
|
|
120
|
-
// module request
|
|
121
127
|
matchProvides.set(lookupKey, config);
|
|
122
128
|
}
|
|
123
129
|
}
|
|
124
130
|
compilationData.set(compilation, resolvedProvideMap);
|
|
125
|
-
const provideSharedModule = (key, config, resource, resourceResolveData) => {
|
|
126
|
-
let version = config.version;
|
|
127
|
-
if (version === undefined) {
|
|
128
|
-
let details = '';
|
|
129
|
-
if (!resourceResolveData) {
|
|
130
|
-
details = `No resolve data provided from resolver.`;
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
const descriptionFileData = resourceResolveData.descriptionFileData;
|
|
134
|
-
if (!descriptionFileData) {
|
|
135
|
-
details =
|
|
136
|
-
'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';
|
|
137
|
-
}
|
|
138
|
-
else if (!descriptionFileData.version) {
|
|
139
|
-
details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
version = descriptionFileData.version;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
if (!version) {
|
|
146
|
-
const error = new WebpackError(`No version specified and unable to automatically determine one. ${details}`);
|
|
147
|
-
error.file = `shared module ${key} -> ${resource}`;
|
|
148
|
-
compilation.warnings.push(error);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
const lookupKey = createLookupKey(resource, config);
|
|
152
|
-
resolvedProvideMap.set(lookupKey, {
|
|
153
|
-
config,
|
|
154
|
-
version,
|
|
155
|
-
resource,
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
131
|
normalModuleFactory.hooks.module.tap('ProvideSharedPlugin', (module, { resource, resourceResolveData }, resolveData) => {
|
|
159
132
|
const moduleLayer = module.layer;
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
});
|
|
163
|
-
if (resource && resolvedProvideMap.has(lookupKey)) {
|
|
133
|
+
const lookupKeyForResource = (0, utils_2.createLookupKeyForSharing)(resource || '', moduleLayer || undefined);
|
|
134
|
+
if (resource && resolvedProvideMap.has(lookupKeyForResource)) {
|
|
164
135
|
return module;
|
|
165
136
|
}
|
|
166
|
-
const { request } = resolveData;
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
137
|
+
const { request: originalRequestString } = resolveData;
|
|
138
|
+
// --- Stage 1a: Direct match with originalRequestString ---
|
|
139
|
+
const originalRequestLookupKey = (0, utils_2.createLookupKeyForSharing)(originalRequestString, moduleLayer || undefined);
|
|
140
|
+
const configFromOriginalDirect = matchProvides.get(originalRequestLookupKey);
|
|
141
|
+
if (configFromOriginalDirect !== undefined &&
|
|
142
|
+
resource &&
|
|
143
|
+
!resolvedProvideMap.has(lookupKeyForResource)) {
|
|
144
|
+
// Apply request filters if defined (from PR5's cleaner approach)
|
|
145
|
+
if ((0, utils_2.testRequestFilters)(originalRequestString, configFromOriginalDirect.include?.request, configFromOriginalDirect.exclude?.request)) {
|
|
146
|
+
this.provideSharedModule(compilation, resolvedProvideMap, originalRequestString, configFromOriginalDirect, resource, resourceResolveData);
|
|
174
147
|
resolveData.cacheable = false;
|
|
175
148
|
}
|
|
176
149
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
150
|
+
// --- Stage 1b: Prefix match with originalRequestString ---
|
|
151
|
+
if (resource && !resolvedProvideMap.has(lookupKeyForResource)) {
|
|
152
|
+
for (const [prefixLookupKey, originalPrefixConfig,] of prefixMatchProvides) {
|
|
153
|
+
const configuredPrefix = originalPrefixConfig.request || prefixLookupKey.split('?')[0];
|
|
154
|
+
// Refined layer matching logic
|
|
155
|
+
if (originalPrefixConfig.layer) {
|
|
156
|
+
if (!moduleLayer) {
|
|
157
|
+
continue; // Option is layered, request is not: skip
|
|
158
|
+
}
|
|
159
|
+
if (moduleLayer !== originalPrefixConfig.layer) {
|
|
160
|
+
continue; // Both are layered but do not match: skip
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// If moduleLayer exists but config.layer does not, allow (non-layered option matches layered request)
|
|
164
|
+
if (originalRequestString.startsWith(configuredPrefix)) {
|
|
165
|
+
if (resolvedProvideMap.has(lookupKeyForResource))
|
|
166
|
+
continue;
|
|
167
|
+
const remainder = originalRequestString.slice(configuredPrefix.length);
|
|
168
|
+
if (!(0, utils_2.testRequestFilters)(remainder, originalPrefixConfig.include?.request, originalPrefixConfig.exclude?.request)) {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const finalShareKey = originalPrefixConfig.shareKey
|
|
172
|
+
? originalPrefixConfig.shareKey + remainder
|
|
173
|
+
: configuredPrefix + remainder;
|
|
174
|
+
// Validate singleton usage when using include.request
|
|
175
|
+
if (originalPrefixConfig.include?.request &&
|
|
176
|
+
originalPrefixConfig.singleton) {
|
|
177
|
+
(0, utils_2.addSingletonFilterWarning)(compilation, finalShareKey, 'include', 'request', originalPrefixConfig.include.request, originalRequestString, resource);
|
|
178
|
+
}
|
|
179
|
+
// Validate singleton usage when using exclude.request
|
|
180
|
+
if (originalPrefixConfig.exclude?.request &&
|
|
181
|
+
originalPrefixConfig.singleton) {
|
|
182
|
+
(0, utils_2.addSingletonFilterWarning)(compilation, finalShareKey, 'exclude', 'request', originalPrefixConfig.exclude.request, originalRequestString, resource);
|
|
183
|
+
}
|
|
184
|
+
const configForSpecificModule = {
|
|
185
|
+
...originalPrefixConfig,
|
|
186
|
+
shareKey: finalShareKey,
|
|
187
|
+
request: originalRequestString,
|
|
188
|
+
_originalPrefix: configuredPrefix, // Store the original prefix for filtering
|
|
189
|
+
include: originalPrefixConfig.include
|
|
190
|
+
? { ...originalPrefixConfig.include }
|
|
191
|
+
: undefined,
|
|
192
|
+
exclude: originalPrefixConfig.exclude
|
|
193
|
+
? { ...originalPrefixConfig.exclude }
|
|
194
|
+
: undefined,
|
|
195
|
+
};
|
|
196
|
+
this.provideSharedModule(compilation, resolvedProvideMap, originalRequestString, configForSpecificModule, resource, resourceResolveData);
|
|
197
|
+
resolveData.cacheable = false;
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// --- Stage 2: Match using reconstructed node_modules path ---
|
|
203
|
+
if (resource && !resolvedProvideMap.has(lookupKeyForResource)) {
|
|
204
|
+
const modulePathAfterNodeModules = (0, utils_2.extractPathAfterNodeModules)(resource);
|
|
205
|
+
if (modulePathAfterNodeModules) {
|
|
206
|
+
// 2a. Direct match with reconstructed path
|
|
207
|
+
const reconstructedLookupKey = (0, utils_2.createLookupKeyForSharing)(modulePathAfterNodeModules, moduleLayer || undefined);
|
|
208
|
+
const configFromReconstructedDirect = matchProvides.get(reconstructedLookupKey);
|
|
209
|
+
if (configFromReconstructedDirect !== undefined &&
|
|
210
|
+
configFromReconstructedDirect.nodeModulesReconstructedLookup &&
|
|
211
|
+
!resolvedProvideMap.has(lookupKeyForResource)) {
|
|
212
|
+
this.provideSharedModule(compilation, resolvedProvideMap, modulePathAfterNodeModules, configFromReconstructedDirect, resource, resourceResolveData);
|
|
213
|
+
resolveData.cacheable = false;
|
|
214
|
+
}
|
|
215
|
+
// 2b. Prefix match with reconstructed path
|
|
216
|
+
if (resource && !resolvedProvideMap.has(lookupKeyForResource)) {
|
|
217
|
+
for (const [prefixLookupKey, originalPrefixConfig,] of prefixMatchProvides) {
|
|
218
|
+
if (!originalPrefixConfig.nodeModulesReconstructedLookup) {
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
const configuredPrefix = originalPrefixConfig.request ||
|
|
222
|
+
prefixLookupKey.split('?')[0];
|
|
223
|
+
// Refined layer matching logic for reconstructed path
|
|
224
|
+
if (originalPrefixConfig.layer) {
|
|
225
|
+
if (!moduleLayer) {
|
|
226
|
+
continue; // Option is layered, request is not: skip
|
|
227
|
+
}
|
|
228
|
+
if (moduleLayer !== originalPrefixConfig.layer) {
|
|
229
|
+
continue; // Both are layered but do not match: skip
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// If moduleLayer exists but config.layer does not, allow (non-layered option matches layered request)
|
|
233
|
+
if (originalRequestString.startsWith(configuredPrefix)) {
|
|
234
|
+
if (resolvedProvideMap.has(lookupKeyForResource))
|
|
235
|
+
continue;
|
|
236
|
+
const remainder = originalRequestString.slice(configuredPrefix.length);
|
|
237
|
+
if (!(0, utils_2.testRequestFilters)(remainder, originalPrefixConfig.include?.request, originalPrefixConfig.exclude?.request)) {
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
const finalShareKey = originalPrefixConfig.shareKey
|
|
241
|
+
? originalPrefixConfig.shareKey + remainder
|
|
242
|
+
: configuredPrefix + remainder;
|
|
243
|
+
// Validate singleton usage when using include.request
|
|
244
|
+
if (originalPrefixConfig.include?.request &&
|
|
245
|
+
originalPrefixConfig.singleton) {
|
|
246
|
+
(0, utils_2.addSingletonFilterWarning)(compilation, finalShareKey, 'include', 'request', originalPrefixConfig.include.request, modulePathAfterNodeModules, resource);
|
|
247
|
+
}
|
|
248
|
+
// Validate singleton usage when using exclude.request
|
|
249
|
+
if (originalPrefixConfig.exclude?.request &&
|
|
250
|
+
originalPrefixConfig.singleton) {
|
|
251
|
+
(0, utils_2.addSingletonFilterWarning)(compilation, finalShareKey, 'exclude', 'request', originalPrefixConfig.exclude.request, modulePathAfterNodeModules, resource);
|
|
252
|
+
}
|
|
253
|
+
const configForSpecificModule = {
|
|
254
|
+
...originalPrefixConfig,
|
|
255
|
+
shareKey: finalShareKey,
|
|
256
|
+
request: modulePathAfterNodeModules,
|
|
257
|
+
_originalPrefix: configuredPrefix, // Store the original prefix for filtering
|
|
258
|
+
include: originalPrefixConfig.include
|
|
259
|
+
? {
|
|
260
|
+
...originalPrefixConfig.include,
|
|
261
|
+
}
|
|
262
|
+
: undefined,
|
|
263
|
+
exclude: originalPrefixConfig.exclude
|
|
264
|
+
? {
|
|
265
|
+
...originalPrefixConfig.exclude,
|
|
266
|
+
}
|
|
267
|
+
: undefined,
|
|
268
|
+
};
|
|
269
|
+
this.provideSharedModule(compilation, resolvedProvideMap, modulePathAfterNodeModules, configForSpecificModule, resource, resourceResolveData);
|
|
270
|
+
resolveData.cacheable = false;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
186
275
|
}
|
|
187
276
|
}
|
|
188
277
|
return module;
|
|
@@ -192,7 +281,87 @@ class ProvideSharedPlugin {
|
|
|
192
281
|
const resolvedProvideMap = compilationData.get(compilation);
|
|
193
282
|
if (!resolvedProvideMap)
|
|
194
283
|
return;
|
|
195
|
-
|
|
284
|
+
// Filter out modules that don't pass include/exclude conditions
|
|
285
|
+
const filteredEntries = Array.from(resolvedProvideMap).filter(([resourceKey, { config, version, resource }]) => {
|
|
286
|
+
// Apply the same filtering logic as in provideSharedModule
|
|
287
|
+
const actualResource = resource || resourceKey;
|
|
288
|
+
// Check include conditions
|
|
289
|
+
if (config.include) {
|
|
290
|
+
let versionIncludeFailed = false;
|
|
291
|
+
if (typeof config.include.version === 'string') {
|
|
292
|
+
if (typeof version === 'string' && version) {
|
|
293
|
+
if (!satisfy(parseRange(config.include.version), version)) {
|
|
294
|
+
versionIncludeFailed = true;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
versionIncludeFailed = true;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
let requestIncludeFailed = false;
|
|
302
|
+
if (config.include.request) {
|
|
303
|
+
const includeRequestValue = config.include.request;
|
|
304
|
+
// For prefix matches, we need to check the remainder after the prefix
|
|
305
|
+
let testString = actualResource;
|
|
306
|
+
// If this is a prefix match (indicated by _originalPrefix being present)
|
|
307
|
+
// then we should test against the remainder
|
|
308
|
+
if (config._originalPrefix &&
|
|
309
|
+
actualResource.startsWith(config._originalPrefix)) {
|
|
310
|
+
const remainder = actualResource.slice(config._originalPrefix.length);
|
|
311
|
+
testString = remainder;
|
|
312
|
+
}
|
|
313
|
+
const requestActuallyMatches = includeRequestValue instanceof RegExp
|
|
314
|
+
? includeRequestValue.test(testString)
|
|
315
|
+
: testString === includeRequestValue;
|
|
316
|
+
if (!requestActuallyMatches) {
|
|
317
|
+
requestIncludeFailed = true;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
// Skip if any specified include condition failed
|
|
321
|
+
const shouldSkipVersion = typeof config.include.version === 'string' &&
|
|
322
|
+
versionIncludeFailed;
|
|
323
|
+
const shouldSkipRequest = config.include.request && requestIncludeFailed;
|
|
324
|
+
if (shouldSkipVersion || shouldSkipRequest) {
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Check exclude conditions
|
|
329
|
+
if (config.exclude) {
|
|
330
|
+
let versionExcludeMatches = false;
|
|
331
|
+
if (typeof config.exclude.version === 'string' &&
|
|
332
|
+
typeof version === 'string' &&
|
|
333
|
+
version) {
|
|
334
|
+
if (satisfy(parseRange(config.exclude.version), version)) {
|
|
335
|
+
versionExcludeMatches = true;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
let requestExcludeMatches = false;
|
|
339
|
+
if (config.exclude.request) {
|
|
340
|
+
const excludeRequestValue = config.exclude.request;
|
|
341
|
+
// For prefix matches, we need to check the remainder after the prefix
|
|
342
|
+
let testString = actualResource;
|
|
343
|
+
// If this is a prefix match (indicated by _originalPrefix being present)
|
|
344
|
+
// then we should test against the remainder
|
|
345
|
+
if (config._originalPrefix &&
|
|
346
|
+
actualResource.startsWith(config._originalPrefix)) {
|
|
347
|
+
const remainder = actualResource.slice(config._originalPrefix.length);
|
|
348
|
+
testString = remainder;
|
|
349
|
+
}
|
|
350
|
+
const requestActuallyMatchesExclude = excludeRequestValue instanceof RegExp
|
|
351
|
+
? excludeRequestValue.test(testString)
|
|
352
|
+
: testString === excludeRequestValue;
|
|
353
|
+
if (requestActuallyMatchesExclude) {
|
|
354
|
+
requestExcludeMatches = true;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
// Skip if any specified exclude condition matched
|
|
358
|
+
if (versionExcludeMatches || requestExcludeMatches) {
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return true;
|
|
363
|
+
});
|
|
364
|
+
await Promise.all(filteredEntries.map(([resourceKey, { config, version, resource }]) => {
|
|
196
365
|
return new Promise((resolve, reject) => {
|
|
197
366
|
compilation.addInclude(compiler.context, new ProvideSharedDependency_1.default(config.shareScope, config.shareKey, version || false, resource || resourceKey, config.eager, config.requiredVersion, config.strictVersion, config.singleton, config.layer), {
|
|
198
367
|
name: undefined,
|
|
@@ -210,6 +379,175 @@ class ProvideSharedPlugin {
|
|
|
210
379
|
compilation.dependencyFactories.set(ProvideSharedDependency_1.default, new ProvideSharedModuleFactory_1.default());
|
|
211
380
|
});
|
|
212
381
|
}
|
|
382
|
+
provideSharedModule(compilation, resolvedProvideMap, key, config, resource, resourceResolveData) {
|
|
383
|
+
let version = config.version;
|
|
384
|
+
if (version === undefined) {
|
|
385
|
+
let details = '';
|
|
386
|
+
if (!resourceResolveData) {
|
|
387
|
+
details = `No resolve data provided from resolver.`;
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
const descriptionFileData = resourceResolveData.descriptionFileData;
|
|
391
|
+
if (!descriptionFileData) {
|
|
392
|
+
details =
|
|
393
|
+
'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';
|
|
394
|
+
}
|
|
395
|
+
else if (!descriptionFileData.version) {
|
|
396
|
+
// Try to get version from parent package.json dependencies (PR7 enhanced feature)
|
|
397
|
+
if (resourceResolveData.descriptionFilePath) {
|
|
398
|
+
try {
|
|
399
|
+
// fs is now imported at the top of the file
|
|
400
|
+
const path = require('path');
|
|
401
|
+
const fs = require('fs');
|
|
402
|
+
const parentPkgPath = path.resolve(path.dirname(resourceResolveData.descriptionFilePath), '..', 'package.json');
|
|
403
|
+
if (fs.existsSync(parentPkgPath)) {
|
|
404
|
+
const parentPkg = JSON.parse(fs.readFileSync(parentPkgPath, 'utf8'));
|
|
405
|
+
const parentVersion = (0, utils_2.getRequiredVersionFromDescriptionFile)(parentPkg, key);
|
|
406
|
+
if (parentVersion) {
|
|
407
|
+
version = parentVersion;
|
|
408
|
+
details = `Using version from parent package.json dependencies: ${version}`;
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
catch (e) {
|
|
419
|
+
details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
version = descriptionFileData.version;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
if (!version) {
|
|
431
|
+
const error = new WebpackError(`No version specified and unable to automatically determine one. ${details}`);
|
|
432
|
+
error.file = `shared module ${key} -> ${resource}`;
|
|
433
|
+
compilation.warnings.push(error);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
// Check include/exclude conditions
|
|
437
|
+
if (config.include) {
|
|
438
|
+
let versionIncludeFailed = false;
|
|
439
|
+
if (typeof config.include.version === 'string') {
|
|
440
|
+
if (typeof version === 'string' && version) {
|
|
441
|
+
if (!satisfy(parseRange(config.include.version), version)) {
|
|
442
|
+
versionIncludeFailed = true;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
else {
|
|
446
|
+
versionIncludeFailed = true;
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
let requestIncludeFailed = false;
|
|
450
|
+
if (config.include.request) {
|
|
451
|
+
const includeRequestValue = config.include.request;
|
|
452
|
+
const requestActuallyMatches = includeRequestValue instanceof RegExp
|
|
453
|
+
? includeRequestValue.test(resource)
|
|
454
|
+
: resource === includeRequestValue;
|
|
455
|
+
if (!requestActuallyMatches) {
|
|
456
|
+
requestIncludeFailed = true;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
// Skip if any specified include condition failed
|
|
460
|
+
const shouldSkipVersion = typeof config.include.version === 'string' && versionIncludeFailed;
|
|
461
|
+
const shouldSkipRequest = config.include.request && requestIncludeFailed;
|
|
462
|
+
if (shouldSkipVersion || shouldSkipRequest) {
|
|
463
|
+
// Generate warning for better debugging (combining both approaches)
|
|
464
|
+
if (shouldSkipVersion) {
|
|
465
|
+
const error = new WebpackError(`Provided module "${key}" version "${version}" does not satisfy include filter "${config.include.version}"`);
|
|
466
|
+
error.file = `shared module ${key} -> ${resource}`;
|
|
467
|
+
compilation.warnings.push(error);
|
|
468
|
+
}
|
|
469
|
+
return;
|
|
470
|
+
}
|
|
471
|
+
// Validate singleton usage when using include.version
|
|
472
|
+
if (config.include.version && config.singleton) {
|
|
473
|
+
(0, utils_2.addSingletonFilterWarning)(compilation, config.shareKey || key, 'include', 'version', config.include.version, key, // moduleRequest
|
|
474
|
+
resource);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
if (config.exclude) {
|
|
478
|
+
let versionExcludeMatches = false;
|
|
479
|
+
if (typeof config.exclude.version === 'string' &&
|
|
480
|
+
typeof version === 'string' &&
|
|
481
|
+
version) {
|
|
482
|
+
if (satisfy(parseRange(config.exclude.version), version)) {
|
|
483
|
+
versionExcludeMatches = true;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
let requestExcludeMatches = false;
|
|
487
|
+
if (config.exclude.request) {
|
|
488
|
+
const excludeRequestValue = config.exclude.request;
|
|
489
|
+
const requestActuallyMatchesExclude = excludeRequestValue instanceof RegExp
|
|
490
|
+
? excludeRequestValue.test(resource)
|
|
491
|
+
: resource === excludeRequestValue;
|
|
492
|
+
if (requestActuallyMatchesExclude) {
|
|
493
|
+
requestExcludeMatches = true;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
// Skip if any specified exclude condition matched
|
|
497
|
+
if (versionExcludeMatches || requestExcludeMatches) {
|
|
498
|
+
// Generate warning for better debugging (combining both approaches)
|
|
499
|
+
if (versionExcludeMatches) {
|
|
500
|
+
const error = new WebpackError(`Provided module "${key}" version "${version}" matches exclude filter "${config.exclude.version}"`);
|
|
501
|
+
error.file = `shared module ${key} -> ${resource}`;
|
|
502
|
+
compilation.warnings.push(error);
|
|
503
|
+
}
|
|
504
|
+
return;
|
|
505
|
+
}
|
|
506
|
+
// Validate singleton usage when using exclude.version
|
|
507
|
+
if (config.exclude.version && config.singleton) {
|
|
508
|
+
(0, utils_2.addSingletonFilterWarning)(compilation, config.shareKey || key, 'exclude', 'version', config.exclude.version, key, // moduleRequest
|
|
509
|
+
resource);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
const lookupKey = (0, utils_2.createLookupKeyForSharing)(resource, config.layer);
|
|
513
|
+
resolvedProvideMap.set(lookupKey, {
|
|
514
|
+
config,
|
|
515
|
+
version,
|
|
516
|
+
resource,
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
shouldProvideSharedModule(config) {
|
|
520
|
+
// For static (relative/absolute path) modules, we can only check version filters
|
|
521
|
+
// if the version is explicitly provided in the config
|
|
522
|
+
if (!config.version) {
|
|
523
|
+
// If no version is provided and there are version filters,
|
|
524
|
+
// we'll defer to runtime filtering
|
|
525
|
+
return true;
|
|
526
|
+
}
|
|
527
|
+
const version = config.version;
|
|
528
|
+
if (typeof version !== 'string') {
|
|
529
|
+
return true;
|
|
530
|
+
}
|
|
531
|
+
// Check include version filter
|
|
532
|
+
if (config.include?.version) {
|
|
533
|
+
const includeVersion = config.include.version;
|
|
534
|
+
if (typeof includeVersion === 'string') {
|
|
535
|
+
if (!satisfy(parseRange(includeVersion), version)) {
|
|
536
|
+
return false; // Skip providing this module
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
// Check exclude version filter
|
|
541
|
+
if (config.exclude?.version) {
|
|
542
|
+
const excludeVersion = config.exclude.version;
|
|
543
|
+
if (typeof excludeVersion === 'string') {
|
|
544
|
+
if (satisfy(parseRange(excludeVersion), version)) {
|
|
545
|
+
return false; // Skip providing this module
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
return true; // All filters pass
|
|
550
|
+
}
|
|
213
551
|
}
|
|
214
552
|
exports.default = ProvideSharedPlugin;
|
|
215
553
|
//# sourceMappingURL=ProvideSharedPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvideSharedPlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedPlugin.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AACb,0FAGuD;AAMvD,kDAAoD;AACpD,8FAAsE;AACtE,wFAAgE;AAChE,8FAAsE;AAKtE,2GAAmF;AACnF,uCAAqD;AACrD,MAAM,YAAY,GAAG,OAAO,CAC1B,IAAA,6CAAoB,EAAC,0BAA0B,CAAC,CACJ,CAAC;AAW/C,MAAM,QAAQ,GAAG,IAAA,8BAAsB;AACrC,0BAA0B;AAC1B,OAAO,CAAC,oDAAoD,CAAC,CAAC,QAAQ,EACtE,GAAG,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,OAAO,EAClE;IACE,IAAI,EAAE,uBAAuB;IAC7B,YAAY,EAAE,SAAS;CACxB,CACF,CAAC;AAEF;;;;;;;GAOG;AAEH,iHAAiH;AAEjH,0CAA0C;AAC1C,SAAS,eAAe,CACtB,OAAe,EACf,MAAiC;IAEjC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,mBAAmB;IAGvB;;OAEG;IACH,YAAY,OAAmC;QAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,SAAS,GAAG,IAAA,sBAAY,EAC3B,OAAO,CAAC,QAAQ,EAChB,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,6BAA6B;YAC7B,MAAM,MAAM,GAAmB;gBAC7B,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC3C,KAAK,EAAE,KAAK;gBACZ,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,IAAI;aACd,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;YACpC,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC9D,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;gBACnB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO;aACR,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAkB;QACtB,IAAI,iCAAuB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QAErE,MAAM,eAAe,GACnB,IAAI,OAAO,EAAE,CAAC;QAEhB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAC5B,qBAAqB,EACrB,CAAC,WAAwB,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACpD,MAAM,kBAAkB,GAAuB,IAAI,GAAG,EAAE,CAAC;YACzD,MAAM,aAAa,GAAgC,IAAI,GAAG,EAAE,CAAC;YAC7D,MAAM,mBAAmB,GAAgC,IAAI,GAAG,EAAE,CAAC;YACnE,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;gBAChD,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBACzD,IAAI,oCAAoC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7D,mBAAmB;oBACnB,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE;wBAChC,MAAM;wBACN,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxD,gBAAgB;oBAChB,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE;wBAChC,MAAM;wBACN,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,wBAAwB;oBACxB,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,iBAAiB;oBACjB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,CAC1B,GAAW,EACX,MAAsB,EACtB,QAAgB,EAChB,mBAAwB,EACxB,EAAE;gBACF,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC7B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACzB,OAAO,GAAG,yCAAyC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACN,MAAM,mBAAmB,GACvB,mBAAmB,CAAC,mBAAmB,CAAC;wBAC1C,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BACzB,OAAO;gCACL,6IAA6I,CAAC;wBAClJ,CAAC;6BAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;4BACxC,OAAO,GAAG,0FAA0F,mBAAmB,CAAC,mBAAmB,iDAAiD,CAAC;wBAC/L,CAAC;6BAAM,CAAC;4BACN,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;wBACxC,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,mEAAmE,OAAO,EAAE,CAC7E,CAAC;wBACF,KAAK,CAAC,IAAI,GAAG,iBAAiB,GAAG,OAAO,QAAQ,EAAE,CAAC;wBACnD,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBACD,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpD,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE;oBAChC,MAAM;oBACN,OAAO;oBACP,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC,CAAC;YACF,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAClC,qBAAqB,EACrB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,EAAE;gBACzD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;gBACjC,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,IAAI,EAAE,EAAE;oBAChD,KAAK,EAAE,WAAW,IAAI,SAAS;iBAChC,CAAC,CAAC;gBAEH,IAAI,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClD,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;gBAChC,CAAC;oBACC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE;wBAC1C,KAAK,EAAE,WAAW,IAAI,SAAS;qBAChC,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;wBACrC,mBAAmB,CACjB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,mBAAmB,CACpB,CAAC;wBACF,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;oBAChC,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;oBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;oBACxC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC/C,mBAAmB,CACjB,QAAQ,EACR;4BACE,GAAG,MAAM;4BACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,SAAS;yBACtC,EACD,QAAQ,EACR,mBAAmB,CACpB,CAAC;wBACF,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;oBAChC,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QACF,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAClC,qBAAqB,EACrB,KAAK,EAAE,WAAwB,EAAE,EAAE;YACjC,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,kBAAkB;gBAAE,OAAO;YAEhC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC/C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC3C,WAAW,CAAC,UAAU,CACpB,QAAQ,CAAC,OAAO,EAChB,IAAI,iCAAuB,CACzB,MAAM,CAAC,UAAW,EAClB,MAAM,CAAC,QAAS,EAChB,OAAO,IAAI,KAAK,EAChB,QAAQ,IAAI,WAAW,EACvB,MAAM,CAAC,KAAM,EACb,MAAM,CAAC,eAAgB,EACvB,MAAM,CAAC,aAAc,EACrB,MAAM,CAAC,SAAU,EACjB,MAAM,CAAC,KAAK,CACb,EACD;wBACE,IAAI,EAAE,SAAS;qBAChB,EACD,CAAC,GAAyC,EAAE,EAAE;wBAC5C,IAAI,GAAG,EAAE,CAAC;4BACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;wBACrB,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAC5B,qBAAqB,EACrB,CAAC,WAAwB,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACpD,WAAW,CAAC,mBAAmB,CAAC,GAAG,CACjC,oCAA0B,EAC1B,mBAAmB,CACpB,CAAC;YAEF,WAAW,CAAC,mBAAmB,CAAC,GAAG,CACjC,iCAAuB,EACvB,IAAI,oCAA0B,EAAE,CACjC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AACD,kBAAe,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ProvideSharedPlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedPlugin.ts"],"names":[],"mappings":"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"}
|