@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
|
@@ -1,31 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRequiredVersionFromDescriptionFile = exports.getDescriptionFile = exports.normalizeVersion = exports.isRequiredVersion = void 0;
|
|
1
4
|
/*
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
function _export(target, all) {
|
|
9
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: all[name]
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
_export(exports, {
|
|
15
|
-
isRequiredVersion: function() {
|
|
16
|
-
return isRequiredVersion;
|
|
17
|
-
},
|
|
18
|
-
normalizeVersion: function() {
|
|
19
|
-
return normalizeVersion;
|
|
20
|
-
},
|
|
21
|
-
getDescriptionFile: function() {
|
|
22
|
-
return getDescriptionFile;
|
|
23
|
-
},
|
|
24
|
-
getRequiredVersionFromDescriptionFile: function() {
|
|
25
|
-
return getRequiredVersionFromDescriptionFile;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
const _fs = require("webpack/lib/util/fs");
|
|
5
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
6
|
+
Author Tobias Koppers @sokra
|
|
7
|
+
*/
|
|
8
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
9
|
+
const { join, dirname, readJson } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/fs'));
|
|
29
10
|
// Extreme shorthand only for github. eg: foo/bar
|
|
30
11
|
const RE_URL_GITHUB_EXTREME_SHORT = /^[^/@:.\s][^/@:\s]*\/[^@:\s]*[^/@:\s]#\S+/;
|
|
31
12
|
// Short url with specific protocol. eg: github:foo/bar
|
|
@@ -50,17 +31,18 @@ const PROTOCOLS_FOR_SHORT = [
|
|
|
50
31
|
'gitlab:',
|
|
51
32
|
'bitbucket:',
|
|
52
33
|
'gist:',
|
|
53
|
-
'file:'
|
|
34
|
+
'file:',
|
|
54
35
|
];
|
|
55
36
|
// Default protocol for git url
|
|
56
37
|
const DEF_GIT_PROTOCOL = 'git+ssh://';
|
|
57
38
|
// thanks to https://github.com/npm/hosted-git-info/blob/latest/git-host-info.js
|
|
58
39
|
const extractCommithashByDomain = {
|
|
59
40
|
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
41
|
+
* @param {string} pathname pathname
|
|
42
|
+
* @param {string} hash hash
|
|
43
|
+
* @returns {string | undefined} hash
|
|
44
|
+
*/
|
|
45
|
+
'github.com': (pathname, hash) => {
|
|
64
46
|
const [, user, project, type, commithash] = pathname.split('/', 5);
|
|
65
47
|
if (type && type !== 'tree') {
|
|
66
48
|
return;
|
|
@@ -68,7 +50,8 @@ const extractCommithashByDomain = {
|
|
|
68
50
|
let commithashResult = commithash;
|
|
69
51
|
if (!type) {
|
|
70
52
|
commithashResult = hash;
|
|
71
|
-
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
72
55
|
commithashResult = '#' + commithash;
|
|
73
56
|
}
|
|
74
57
|
let projectResult = project;
|
|
@@ -81,10 +64,11 @@ const extractCommithashByDomain = {
|
|
|
81
64
|
return commithashResult;
|
|
82
65
|
},
|
|
83
66
|
/**
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
67
|
+
* @param {string} pathname pathname
|
|
68
|
+
* @param {string} hash hash
|
|
69
|
+
* @returns {string | undefined} hash
|
|
70
|
+
*/
|
|
71
|
+
'gitlab.com': (pathname, hash) => {
|
|
88
72
|
const path = pathname.slice(1);
|
|
89
73
|
if (path.includes('/-/') || path.includes('/archive.tar.gz')) {
|
|
90
74
|
return;
|
|
@@ -101,14 +85,13 @@ const extractCommithashByDomain = {
|
|
|
101
85
|
return hash;
|
|
102
86
|
},
|
|
103
87
|
/**
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
88
|
+
* @param {string} pathname pathname
|
|
89
|
+
* @param {string} hash hash
|
|
90
|
+
* @returns {string | undefined} hash
|
|
91
|
+
*/
|
|
92
|
+
'bitbucket.org': (pathname, hash) => {
|
|
108
93
|
const [, user, project, aux] = pathname.split('/', 4);
|
|
109
|
-
if ([
|
|
110
|
-
'get'
|
|
111
|
-
].includes(aux)) {
|
|
94
|
+
if (['get'].includes(aux)) {
|
|
112
95
|
return;
|
|
113
96
|
}
|
|
114
97
|
let projectResult = project;
|
|
@@ -121,10 +104,11 @@ const extractCommithashByDomain = {
|
|
|
121
104
|
return hash;
|
|
122
105
|
},
|
|
123
106
|
/**
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
107
|
+
* @param {string} pathname pathname
|
|
108
|
+
* @param {string} hash hash
|
|
109
|
+
* @returns {string | undefined} hash
|
|
110
|
+
*/
|
|
111
|
+
'gist.github.com': (pathname, hash) => {
|
|
128
112
|
const [, user, project, aux] = pathname.split('/', 4);
|
|
129
113
|
if (aux === 'raw') {
|
|
130
114
|
return;
|
|
@@ -140,7 +124,7 @@ const extractCommithashByDomain = {
|
|
|
140
124
|
projectResult = projectResult.slice(0, -4);
|
|
141
125
|
}
|
|
142
126
|
return hash;
|
|
143
|
-
}
|
|
127
|
+
},
|
|
144
128
|
};
|
|
145
129
|
/**
|
|
146
130
|
* extract commit hash from parsed url
|
|
@@ -148,16 +132,20 @@ const extractCommithashByDomain = {
|
|
|
148
132
|
* @inner
|
|
149
133
|
* @param {URL} urlParsed parsed url
|
|
150
134
|
* @returns {string} commithash
|
|
151
|
-
*/
|
|
135
|
+
*/
|
|
136
|
+
function getCommithash(urlParsed) {
|
|
152
137
|
const { hostname, pathname, hash } = urlParsed;
|
|
153
138
|
const hostnameResult = hostname.replace(/^www\./, '');
|
|
154
139
|
let hashResult = hash;
|
|
155
140
|
try {
|
|
156
141
|
hashResult = decodeURIComponent(hash);
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
142
|
+
// eslint-disable-next-line no-empty
|
|
143
|
+
}
|
|
144
|
+
catch (e) { }
|
|
145
|
+
if (
|
|
146
|
+
/** @type {keyof extractCommithashByDomain} */ extractCommithashByDomain[hostnameResult]) {
|
|
147
|
+
return (extractCommithashByDomain
|
|
148
|
+
/** @type {keyof extractCommithashByDomain} */ [hostnameResult](pathname, hashResult) || '');
|
|
161
149
|
}
|
|
162
150
|
return hashResult;
|
|
163
151
|
}
|
|
@@ -167,7 +155,8 @@ const extractCommithashByDomain = {
|
|
|
167
155
|
* @inner
|
|
168
156
|
* @param {string} gitUrl git url
|
|
169
157
|
* @returns {string} fixed url
|
|
170
|
-
*/
|
|
158
|
+
*/
|
|
159
|
+
function correctUrl(gitUrl) {
|
|
171
160
|
// like:
|
|
172
161
|
// proto://hostname.com:user/repo -> proto://hostname.com/user/repo
|
|
173
162
|
return gitUrl.replace(RE_HOSTNAME_WITH_COLON, '$1/$2');
|
|
@@ -178,7 +167,8 @@ const extractCommithashByDomain = {
|
|
|
178
167
|
* @inner
|
|
179
168
|
* @param {string} gitUrl git url
|
|
180
169
|
* @returns {string} fixed url
|
|
181
|
-
*/
|
|
170
|
+
*/
|
|
171
|
+
function correctProtocol(gitUrl) {
|
|
182
172
|
// eg: github:foo/bar#v1.0. Should not add double slash, in case of error parsed `pathname`
|
|
183
173
|
if (RE_GIT_URL_SHORT.test(gitUrl)) {
|
|
184
174
|
return gitUrl;
|
|
@@ -195,9 +185,10 @@ const extractCommithashByDomain = {
|
|
|
195
185
|
* @inner
|
|
196
186
|
* @param {string} hash hash
|
|
197
187
|
* @returns {string} git dep version
|
|
198
|
-
*/
|
|
188
|
+
*/
|
|
189
|
+
function getVersionFromHash(hash) {
|
|
199
190
|
const matched = hash.match(RE_URL_HASH_VERSION);
|
|
200
|
-
return matched && matched[1] || '';
|
|
191
|
+
return (matched && matched[1]) || '';
|
|
201
192
|
}
|
|
202
193
|
/**
|
|
203
194
|
* if string can be decoded
|
|
@@ -205,10 +196,12 @@ const extractCommithashByDomain = {
|
|
|
205
196
|
* @inner
|
|
206
197
|
* @param {string} str str to be checked
|
|
207
198
|
* @returns {boolean} if can be decoded
|
|
208
|
-
*/
|
|
199
|
+
*/
|
|
200
|
+
function canBeDecoded(str) {
|
|
209
201
|
try {
|
|
210
202
|
decodeURIComponent(str);
|
|
211
|
-
}
|
|
203
|
+
}
|
|
204
|
+
catch (e) {
|
|
212
205
|
return false;
|
|
213
206
|
}
|
|
214
207
|
return true;
|
|
@@ -219,20 +212,23 @@ const extractCommithashByDomain = {
|
|
|
219
212
|
* @inner
|
|
220
213
|
* @param {string} gitUrl git url
|
|
221
214
|
* @returns {string} dep version
|
|
222
|
-
*/
|
|
215
|
+
*/
|
|
216
|
+
function getGitUrlVersion(gitUrl) {
|
|
223
217
|
const oriGitUrl = gitUrl;
|
|
224
218
|
// github extreme shorthand
|
|
225
219
|
if (RE_URL_GITHUB_EXTREME_SHORT.test(gitUrl)) {
|
|
226
220
|
gitUrl = 'github:' + gitUrl;
|
|
227
|
-
}
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
228
223
|
gitUrl = correctProtocol(gitUrl);
|
|
229
224
|
}
|
|
230
225
|
gitUrl = correctUrl(gitUrl);
|
|
231
226
|
let parsed;
|
|
232
227
|
try {
|
|
233
228
|
parsed = new URL(gitUrl);
|
|
234
|
-
|
|
235
|
-
}
|
|
229
|
+
// eslint-disable-next-line no-empty
|
|
230
|
+
}
|
|
231
|
+
catch (e) { }
|
|
236
232
|
if (!parsed) {
|
|
237
233
|
return '';
|
|
238
234
|
}
|
|
@@ -261,40 +257,45 @@ const extractCommithashByDomain = {
|
|
|
261
257
|
/**
|
|
262
258
|
* @param {string} str maybe required version
|
|
263
259
|
* @returns {boolean} true, if it looks like a version
|
|
264
|
-
*/
|
|
260
|
+
*/
|
|
261
|
+
function isRequiredVersion(str) {
|
|
265
262
|
return VERSION_PATTERN_REGEXP.test(str);
|
|
266
263
|
}
|
|
264
|
+
exports.isRequiredVersion = isRequiredVersion;
|
|
267
265
|
/**
|
|
268
266
|
* @see https://docs.npmjs.com/cli/v7/configuring-npm/package-json#urls-as-dependencies
|
|
269
267
|
* @param {string} versionDesc version to be normalized
|
|
270
268
|
* @returns {string} normalized version
|
|
271
|
-
*/
|
|
272
|
-
|
|
269
|
+
*/
|
|
270
|
+
function normalizeVersion(versionDesc) {
|
|
271
|
+
versionDesc = (versionDesc && versionDesc.trim()) || '';
|
|
273
272
|
if (isRequiredVersion(versionDesc)) {
|
|
274
273
|
return versionDesc;
|
|
275
274
|
}
|
|
276
275
|
// add handle for URL Dependencies
|
|
277
276
|
return getGitUrlVersion(versionDesc.toLowerCase());
|
|
278
277
|
}
|
|
278
|
+
exports.normalizeVersion = normalizeVersion;
|
|
279
279
|
/**
|
|
280
280
|
*
|
|
281
281
|
* @param {InputFileSystem} fs file system
|
|
282
282
|
* @param {string} directory directory to start looking into
|
|
283
283
|
* @param {string[]} descriptionFiles possible description filenames
|
|
284
284
|
* @param {function((Error | null)=, {data: object, path: string}=): void} callback callback
|
|
285
|
-
*/
|
|
285
|
+
*/
|
|
286
|
+
const getDescriptionFile = (fs, directory, descriptionFiles, callback) => {
|
|
286
287
|
let i = 0;
|
|
287
|
-
const tryLoadCurrent = ()=>{
|
|
288
|
+
const tryLoadCurrent = () => {
|
|
288
289
|
if (i >= descriptionFiles.length) {
|
|
289
|
-
const parentDirectory =
|
|
290
|
+
const parentDirectory = dirname(fs, directory);
|
|
290
291
|
if (!parentDirectory || parentDirectory === directory) {
|
|
291
292
|
//@ts-ignore
|
|
292
293
|
return callback();
|
|
293
294
|
}
|
|
294
295
|
return getDescriptionFile(fs, parentDirectory, descriptionFiles, callback);
|
|
295
296
|
}
|
|
296
|
-
const filePath =
|
|
297
|
-
|
|
297
|
+
const filePath = join(fs, directory, descriptionFiles[i]);
|
|
298
|
+
readJson(fs, filePath, (err, data) => {
|
|
298
299
|
if (err) {
|
|
299
300
|
if ('code' in err && err.code === 'ENOENT') {
|
|
300
301
|
i++;
|
|
@@ -305,27 +306,39 @@ const extractCommithashByDomain = {
|
|
|
305
306
|
if (!data || typeof data !== 'object' || Array.isArray(data)) {
|
|
306
307
|
return callback(new Error(`Description file ${filePath} is not an object`));
|
|
307
308
|
}
|
|
308
|
-
callback(null, {
|
|
309
|
-
data,
|
|
310
|
-
path: filePath
|
|
311
|
-
});
|
|
309
|
+
callback(null, { data, path: filePath });
|
|
312
310
|
});
|
|
313
311
|
};
|
|
314
312
|
tryLoadCurrent();
|
|
315
313
|
};
|
|
314
|
+
exports.getDescriptionFile = getDescriptionFile;
|
|
315
|
+
/**
|
|
316
|
+
* Get required version from description file
|
|
317
|
+
* @param {Record<string, any>} data - The data object
|
|
318
|
+
* @param {string} packageName - The package name
|
|
319
|
+
* @returns {string | undefined} The normalized version
|
|
320
|
+
*/
|
|
316
321
|
function getRequiredVersionFromDescriptionFile(data, packageName) {
|
|
317
|
-
if (data['optionalDependencies'] &&
|
|
322
|
+
if (data['optionalDependencies'] &&
|
|
323
|
+
typeof data['optionalDependencies'] === 'object' &&
|
|
324
|
+
packageName in data['optionalDependencies']) {
|
|
318
325
|
return normalizeVersion(data['optionalDependencies'][packageName]);
|
|
319
326
|
}
|
|
320
|
-
if (data['dependencies'] &&
|
|
327
|
+
if (data['dependencies'] &&
|
|
328
|
+
typeof data['dependencies'] === 'object' &&
|
|
329
|
+
packageName in data['dependencies']) {
|
|
321
330
|
return normalizeVersion(data['dependencies'][packageName]);
|
|
322
331
|
}
|
|
323
|
-
if (data['peerDependencies'] &&
|
|
332
|
+
if (data['peerDependencies'] &&
|
|
333
|
+
typeof data['peerDependencies'] === 'object' &&
|
|
334
|
+
packageName in data['peerDependencies']) {
|
|
324
335
|
return normalizeVersion(data['peerDependencies'][packageName]);
|
|
325
336
|
}
|
|
326
|
-
if (data['devDependencies'] &&
|
|
337
|
+
if (data['devDependencies'] &&
|
|
338
|
+
typeof data['devDependencies'] === 'object' &&
|
|
339
|
+
packageName in data['devDependencies']) {
|
|
327
340
|
return normalizeVersion(data['devDependencies'][packageName]);
|
|
328
341
|
}
|
|
329
342
|
}
|
|
330
|
-
|
|
343
|
+
exports.getRequiredVersionFromDescriptionFile = getRequiredVersionFromDescriptionFile;
|
|
331
344
|
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/sharing/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddRuntimeRequirementToPromiseExternal = void 0;
|
|
4
|
+
class AddRuntimeRequirementToPromiseExternal {
|
|
5
|
+
apply(compiler) {
|
|
6
|
+
compiler.hooks.compilation.tap('AddRuntimeRequirementToPromiseExternal', (compilation) => {
|
|
7
|
+
const { RuntimeGlobals } = compiler.webpack;
|
|
8
|
+
compilation.hooks.additionalModuleRuntimeRequirements.tap('AddRuntimeRequirementToPromiseExternal', (module, set) => {
|
|
9
|
+
if (module.externalType === 'promise') {
|
|
10
|
+
set.add(RuntimeGlobals.loadScript);
|
|
11
|
+
set.add(RuntimeGlobals.require);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.AddRuntimeRequirementToPromiseExternal = AddRuntimeRequirementToPromiseExternal;
|
|
18
|
+
exports.default = AddRuntimeRequirementToPromiseExternal;
|
|
19
|
+
//# sourceMappingURL=AddRuntimeRequirementToPromiseExternalPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddRuntimeRequirementToPromiseExternalPlugin.js","sourceRoot":"","sources":["../../../src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.ts"],"names":[],"mappings":";;;AAEA,MAAa,sCAAsC;IACjD,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAC5B,wCAAwC,EACxC,CAAC,WAAW,EAAE,EAAE;YACd,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC5C,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,GAAG,CACvD,wCAAwC,EACxC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBACd,IAAK,MAAc,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/C,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACnC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAlBD,wFAkBC;AAED,kBAAe,sCAAsC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare const RuntimeModule: typeof import("webpack").RuntimeModule;
|
|
2
2
|
/**
|
|
3
3
|
* Class representing a runtime module for federation module info.
|
|
4
4
|
* @extends RuntimeModule
|
|
@@ -14,3 +14,4 @@ export declare class ModuleInfoRuntimeModule extends RuntimeModule {
|
|
|
14
14
|
*/
|
|
15
15
|
generate(): string;
|
|
16
16
|
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleInfoRuntimeModule = void 0;
|
|
4
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
5
|
+
const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
6
|
+
/**
|
|
7
|
+
* Class representing a runtime module for federation module info.
|
|
8
|
+
* @extends RuntimeModule
|
|
9
|
+
*/
|
|
10
|
+
class ModuleInfoRuntimeModule extends RuntimeModule {
|
|
11
|
+
/**
|
|
12
|
+
* Create a ModuleInfoRuntimeModule.
|
|
13
|
+
*/
|
|
14
|
+
constructor() {
|
|
15
|
+
super('federation module info runtime', RuntimeModule.STAGE_BASIC);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate runtime code.
|
|
19
|
+
* @returns {string} The generated runtime code.
|
|
20
|
+
*/
|
|
21
|
+
generate() {
|
|
22
|
+
return Template.asString([
|
|
23
|
+
`${RuntimeGlobals.require}.federation = {`,
|
|
24
|
+
Template.indent([`cache: {},`, `remotes: {},`, `moduleInfo: {}, `]),
|
|
25
|
+
`};`,
|
|
26
|
+
'var createProxyGetter = function() {',
|
|
27
|
+
Template.indent([
|
|
28
|
+
'return function(target, prop, receiver) {',
|
|
29
|
+
Template.indent([
|
|
30
|
+
'var result;',
|
|
31
|
+
"if (prop === '_config') {",
|
|
32
|
+
Template.indent('result = target.remotes;'),
|
|
33
|
+
"} else if (prop === 'moduleInfo') {",
|
|
34
|
+
Template.indent('result = target[prop];'),
|
|
35
|
+
'} else {',
|
|
36
|
+
Template.indent('result = target.cache[prop];'),
|
|
37
|
+
'}',
|
|
38
|
+
'return result;',
|
|
39
|
+
]),
|
|
40
|
+
'};',
|
|
41
|
+
]),
|
|
42
|
+
'};',
|
|
43
|
+
'var createProxySetter = function() {',
|
|
44
|
+
Template.indent([
|
|
45
|
+
'return function(target, prop, value) {',
|
|
46
|
+
Template.indent([
|
|
47
|
+
"if (prop === '_config') {",
|
|
48
|
+
Template.indent(['target.remotes = value;']),
|
|
49
|
+
'} else {',
|
|
50
|
+
Template.indent(['target.cache[prop] = value;']),
|
|
51
|
+
'}',
|
|
52
|
+
'return true;',
|
|
53
|
+
]),
|
|
54
|
+
'};',
|
|
55
|
+
]),
|
|
56
|
+
'};',
|
|
57
|
+
'let oldScope = globalThis.__remote_scope__ || {};',
|
|
58
|
+
`if(${RuntimeGlobals.runtimeId} === 'webpack-runtime' && globalThis.__remote_scope__) {`,
|
|
59
|
+
'globalThis.__remote_scope__ = {}',
|
|
60
|
+
`}`,
|
|
61
|
+
'if (!globalThis.__remote_scope__ || !globalThis.__remote_scope__.moduleInfo) {',
|
|
62
|
+
`globalThis.__remote_scope__ = new Proxy(${RuntimeGlobals.require}.federation, {`,
|
|
63
|
+
'get: createProxyGetter(),',
|
|
64
|
+
'set: createProxySetter()',
|
|
65
|
+
`});`,
|
|
66
|
+
'if(!oldScope.moduleInfo) {',
|
|
67
|
+
'for (let key in oldScope._config) {',
|
|
68
|
+
'globalThis.__remote_scope__._config[key] = oldScope[key];',
|
|
69
|
+
'}',
|
|
70
|
+
'for (let key in oldScope) {',
|
|
71
|
+
"if(key === '_config' || !oldScope[key]) continue;",
|
|
72
|
+
'globalThis.__remote_scope__[key] = oldScope[key];',
|
|
73
|
+
'}',
|
|
74
|
+
'}',
|
|
75
|
+
'}',
|
|
76
|
+
]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.ModuleInfoRuntimeModule = ModuleInfoRuntimeModule;
|
|
80
|
+
//# sourceMappingURL=ModuleInfoRuntimeModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleInfoRuntimeModule.js","sourceRoot":"","sources":["../../../src/runtime/ModuleInfoRuntimeModule.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,0FAAqF;AAErF,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CACzD,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAC9B;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,aAAa;IACxD;;OAEG;IACH;QACE,KAAK,CAAC,gCAAgC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACM,QAAQ;QACf,OAAO,QAAQ,CAAC,QAAQ,CAAC;YACvB,GAAG,cAAc,CAAC,OAAO,iBAAiB;YAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACnE,IAAI;YACJ,sCAAsC;YACtC,QAAQ,CAAC,MAAM,CAAC;gBACd,2CAA2C;gBAC3C,QAAQ,CAAC,MAAM,CAAC;oBACd,aAAa;oBACb,2BAA2B;oBAC3B,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC;oBAC3C,qCAAqC;oBACrC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC;oBACzC,UAAU;oBACV,QAAQ,CAAC,MAAM,CAAC,8BAA8B,CAAC;oBAC/C,GAAG;oBACH,gBAAgB;iBACjB,CAAC;gBACF,IAAI;aACL,CAAC;YACF,IAAI;YACJ,sCAAsC;YACtC,QAAQ,CAAC,MAAM,CAAC;gBACd,wCAAwC;gBACxC,QAAQ,CAAC,MAAM,CAAC;oBACd,2BAA2B;oBAC3B,QAAQ,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;oBAC5C,UAAU;oBACV,QAAQ,CAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;oBAChD,GAAG;oBACH,cAAc;iBACf,CAAC;gBACF,IAAI;aACL,CAAC;YACF,IAAI;YACJ,mDAAmD;YACnD,MAAM,cAAc,CAAC,SAAS,0DAA0D;YACxF,kCAAkC;YAClC,GAAG;YACH,gFAAgF;YAChF,2CAA2C,cAAc,CAAC,OAAO,gBAAgB;YACjF,2BAA2B;YAC3B,0BAA0B;YAC1B,KAAK;YACL,4BAA4B;YAC5B,qCAAqC;YACrC,2DAA2D;YAC3D,GAAG;YACH,6BAA6B;YAC7B,mDAAmD;YACnD,mDAAmD;YACnD,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;CACF;AArED,0DAqEC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleInfoRuntimePlugin = void 0;
|
|
4
|
+
const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
|
|
5
|
+
const ModuleInfoRuntimeModule_1 = require("./ModuleInfoRuntimeModule");
|
|
6
|
+
const { RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
|
|
7
|
+
class ModuleInfoRuntimePlugin {
|
|
8
|
+
apply(compiler) {
|
|
9
|
+
compiler.hooks.thisCompilation.tap('ModuleInfoPlugin', (compilation) => {
|
|
10
|
+
compilation.hooks.additionalTreeRuntimeRequirements.tap('ModuleInfoRuntimeModule', (chunk, set) => {
|
|
11
|
+
//workaround
|
|
12
|
+
if (set.has('__webpack_require__.federation'))
|
|
13
|
+
return;
|
|
14
|
+
//TODO: this should be added as a handler, so one can push requirements in and we call the for tap to add module once.
|
|
15
|
+
set.add('__webpack_require__.federation');
|
|
16
|
+
set.add(RuntimeGlobals.global);
|
|
17
|
+
set.add(RuntimeGlobals.runtimeId);
|
|
18
|
+
compilation.addRuntimeModule(chunk, new ModuleInfoRuntimeModule_1.ModuleInfoRuntimeModule());
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ModuleInfoRuntimePlugin = ModuleInfoRuntimePlugin;
|
|
24
|
+
//# sourceMappingURL=ModuleInfoRuntimePlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleInfoRuntimePlugin.js","sourceRoot":"","sources":["../../../src/runtime/ModuleInfoRuntimePlugin.ts"],"names":[],"mappings":";;;AAAA,0FAAqF;AAErF,uEAAoE;AACpE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAChC,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,MAAM,uBAAuB;IAC3B,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChC,kBAAkB,EAClB,CAAC,WAAwB,EAAE,EAAE;YAC3B,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,CACrD,yBAAyB,EACzB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACb,YAAY;gBACZ,IAAI,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC;oBAAE,OAAO;gBACtD,sHAAsH;gBACtH,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAE1C,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAE/B,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAClC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,iDAAuB,EAAE,CAAC,CAAC;YACrE,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAEQ,0DAAuB"}
|