@module-federation/enhanced 0.0.3 → 0.1.0
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/CHANGELOG.md +23 -0
- package/package.json +1 -1
- package/src/index.js +22 -18
- package/src/index.js.map +1 -1
- package/src/lib/Constants.js +33 -33
- package/src/lib/Constants.js.map +1 -1
- package/src/lib/container/AsyncBoundaryPlugin.js +12 -5
- package/src/lib/container/AsyncBoundaryPlugin.js.map +1 -1
- package/src/lib/container/ContainerEntryDependency.js +7 -3
- package/src/lib/container/ContainerEntryDependency.js.map +1 -1
- package/src/lib/container/ContainerEntryModule.js +51 -9
- package/src/lib/container/ContainerEntryModule.js.map +1 -1
- package/src/lib/container/ContainerEntryModuleFactory.js +7 -3
- package/src/lib/container/ContainerEntryModuleFactory.js.map +1 -1
- package/src/lib/container/ContainerExposedDependency.js +7 -3
- package/src/lib/container/ContainerExposedDependency.js.map +1 -1
- package/src/lib/container/ContainerPlugin.js +9 -5
- package/src/lib/container/ContainerPlugin.js.map +1 -1
- package/src/lib/container/ContainerReferencePlugin.js +53 -11
- package/src/lib/container/ContainerReferencePlugin.js.map +1 -1
- package/src/lib/container/FallbackDependency.js +7 -3
- package/src/lib/container/FallbackDependency.js.map +1 -1
- package/src/lib/container/FallbackItemDependency.js +7 -3
- package/src/lib/container/FallbackItemDependency.js.map +1 -1
- package/src/lib/container/FallbackModule.js +10 -6
- package/src/lib/container/FallbackModule.js.map +1 -1
- package/src/lib/container/FallbackModuleFactory.js +7 -3
- package/src/lib/container/FallbackModuleFactory.js.map +1 -1
- package/src/lib/container/ModuleFederationPlugin.js +10 -6
- package/src/lib/container/ModuleFederationPlugin.js.map +1 -1
- package/src/lib/container/RemoteModule.js +10 -6
- package/src/lib/container/RemoteModule.js.map +1 -1
- package/src/lib/container/RemoteRuntimeModule.js +8 -4
- package/src/lib/container/RemoteRuntimeModule.js.map +1 -1
- package/src/lib/container/RemoteToExternalDependency.d.js +6 -2
- package/src/lib/container/RemoteToExternalDependency.d.js.map +1 -1
- package/src/lib/container/RemoteToExternalDependency.js +7 -3
- package/src/lib/container/RemoteToExternalDependency.js.map +1 -1
- package/src/lib/sharing/ConsumeSharedFallbackDependency.js +7 -3
- package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -1
- package/src/lib/sharing/ConsumeSharedModule.js +49 -7
- package/src/lib/sharing/ConsumeSharedModule.js.map +1 -1
- package/src/lib/sharing/ConsumeSharedPlugin.js +69 -14
- package/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/src/lib/sharing/ConsumeSharedRuntimeModule.js +47 -5
- package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
- package/src/lib/sharing/ProvideForSharedDependency.js +7 -3
- package/src/lib/sharing/ProvideForSharedDependency.js.map +1 -1
- package/src/lib/sharing/ProvideSharedDependency.js +7 -3
- package/src/lib/sharing/ProvideSharedDependency.js.map +1 -1
- package/src/lib/sharing/ProvideSharedModule.js +49 -7
- package/src/lib/sharing/ProvideSharedModule.js.map +1 -1
- package/src/lib/sharing/ProvideSharedModuleFactory.js +7 -3
- package/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -1
- package/src/lib/sharing/ProvideSharedPlugin.js +25 -8
- package/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
- package/src/lib/sharing/SharePlugin.js +7 -3
- package/src/lib/sharing/SharePlugin.js.map +1 -1
- package/src/lib/sharing/ShareRuntimeModule.js +47 -5
- package/src/lib/sharing/ShareRuntimeModule.js.map +1 -1
- package/src/lib/sharing/resolveMatchedConfigs.js +7 -3
- package/src/lib/sharing/resolveMatchedConfigs.js.map +1 -1
- package/src/lib/sharing/utils.js +6 -6
- package/src/lib/sharing/utils.js.map +1 -1
- package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +5 -0
- package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +34 -0
- package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
|
@@ -11,9 +11,13 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
return _default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const _ModuleDependency = /*#__PURE__*/ _interop_require_default(require("webpack/lib/dependencies/ModuleDependency"));
|
|
15
|
+
const _makeSerializable = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/makeSerializable"));
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
17
21
|
let RemoteToExternalDependency = class RemoteToExternalDependency extends _ModuleDependency.default {
|
|
18
22
|
get type() {
|
|
19
23
|
return 'remote to external';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/container/RemoteToExternalDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass RemoteToExternalDependency extends ModuleDependency {\n /**\n * @param {string} request request\n */\n constructor(request: string) {\n super(request);\n }\n override get type() {\n return 'remote to external';\n }\n\n override get category() {\n return 'esm';\n }\n}\n\nmakeSerializable(\n RemoteToExternalDependency,\n 'enhanced/lib/container/RemoteToExternalDependency',\n);\n\nexport default RemoteToExternalDependency;\n"],"names":["RemoteToExternalDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BA0BA;;;eAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/container/RemoteToExternalDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass RemoteToExternalDependency extends ModuleDependency {\n /**\n * @param {string} request request\n */\n constructor(request: string) {\n super(request);\n }\n override get type() {\n return 'remote to external';\n }\n\n override get category() {\n return 'esm';\n }\n}\n\nmakeSerializable(\n RemoteToExternalDependency,\n 'enhanced/lib/container/RemoteToExternalDependency',\n);\n\nexport default RemoteToExternalDependency;\n"],"names":["RemoteToExternalDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BA0BA;;;eAAA;;;yEAxB6B;yEACA;;;;;;AAE7B,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,yBAAgB;IAOvD,IAAaC,OAAO;QAClB,OAAO;IACT;IAEA,IAAaC,WAAW;QACtB,OAAO;IACT;IAZA;;GAEC,GACDC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;IACR;AAQF;AAEAC,IAAAA,yBAAgB,EACdN,4BACA;MAGF,WAAeA"}
|
|
@@ -11,9 +11,13 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
return _default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const _ModuleDependency = /*#__PURE__*/ _interop_require_default(require("webpack/lib/dependencies/ModuleDependency"));
|
|
15
|
+
const _makeSerializable = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/makeSerializable"));
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
17
21
|
let ConsumeSharedFallbackDependency = class ConsumeSharedFallbackDependency extends _ModuleDependency.default {
|
|
18
22
|
get type() {
|
|
19
23
|
return 'consume shared fallback';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedFallbackDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass ConsumeSharedFallbackDependency extends ModuleDependency {\n /**\n * @param {string} request the request\n */\n constructor(request: string) {\n super(request);\n }\n\n override get type(): string {\n return 'consume shared fallback';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ConsumeSharedFallbackDependency,\n 'enhanced/lib/sharing/ConsumeSharedFallbackDependency',\n);\n\nexport default ConsumeSharedFallbackDependency;\n"],"names":["ConsumeSharedFallbackDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BA2BA;;;eAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedFallbackDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass ConsumeSharedFallbackDependency extends ModuleDependency {\n /**\n * @param {string} request the request\n */\n constructor(request: string) {\n super(request);\n }\n\n override get type(): string {\n return 'consume shared fallback';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ConsumeSharedFallbackDependency,\n 'enhanced/lib/sharing/ConsumeSharedFallbackDependency',\n);\n\nexport default ConsumeSharedFallbackDependency;\n"],"names":["ConsumeSharedFallbackDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BA2BA;;;eAAA;;;yEAzB6B;yEACA;;;;;;AAE7B,IAAA,AAAMA,kCAAN,MAAMA,wCAAwCC,yBAAgB;IAQ5D,IAAaC,OAAe;QAC1B,OAAO;IACT;IAEA,IAAaC,WAAmB;QAC9B,OAAO;IACT;IAbA;;GAEC,GACDC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;IACR;AASF;AAEAC,IAAAA,yBAAgB,EACdN,iCACA;MAGF,WAAeA"}
|
|
@@ -11,16 +11,58 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
return _default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
15
|
-
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
16
14
|
const _webpacksources = require("webpack-sources");
|
|
17
|
-
const _AsyncDependenciesBlock = /*#__PURE__*/ _interop_require_default
|
|
18
|
-
const _Module = /*#__PURE__*/ _interop_require_default
|
|
15
|
+
const _AsyncDependenciesBlock = /*#__PURE__*/ _interop_require_default(require("webpack/lib/AsyncDependenciesBlock"));
|
|
16
|
+
const _Module = /*#__PURE__*/ _interop_require_default(require("webpack/lib/Module"));
|
|
19
17
|
const _ModuleTypeConstants = require("webpack/lib/ModuleTypeConstants");
|
|
20
|
-
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard
|
|
21
|
-
const _makeSerializable = /*#__PURE__*/ _interop_require_default
|
|
18
|
+
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard(require("webpack/lib/RuntimeGlobals"));
|
|
19
|
+
const _makeSerializable = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/makeSerializable"));
|
|
22
20
|
const _semver = require("webpack/lib/util/semver");
|
|
23
|
-
const _ConsumeSharedFallbackDependency = /*#__PURE__*/ _interop_require_default
|
|
21
|
+
const _ConsumeSharedFallbackDependency = /*#__PURE__*/ _interop_require_default(require("./ConsumeSharedFallbackDependency"));
|
|
22
|
+
function _interop_require_default(obj) {
|
|
23
|
+
return obj && obj.__esModule ? obj : {
|
|
24
|
+
default: obj
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
28
|
+
if (typeof WeakMap !== "function") return null;
|
|
29
|
+
var cacheBabelInterop = new WeakMap();
|
|
30
|
+
var cacheNodeInterop = new WeakMap();
|
|
31
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
32
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
33
|
+
})(nodeInterop);
|
|
34
|
+
}
|
|
35
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
36
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
37
|
+
return obj;
|
|
38
|
+
}
|
|
39
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
40
|
+
return {
|
|
41
|
+
default: obj
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
45
|
+
if (cache && cache.has(obj)) {
|
|
46
|
+
return cache.get(obj);
|
|
47
|
+
}
|
|
48
|
+
var newObj = {};
|
|
49
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
50
|
+
for(var key in obj){
|
|
51
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
52
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
53
|
+
if (desc && (desc.get || desc.set)) {
|
|
54
|
+
Object.defineProperty(newObj, key, desc);
|
|
55
|
+
} else {
|
|
56
|
+
newObj[key] = obj[key];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
newObj.default = obj;
|
|
61
|
+
if (cache) {
|
|
62
|
+
cache.set(obj, newObj);
|
|
63
|
+
}
|
|
64
|
+
return newObj;
|
|
65
|
+
}
|
|
24
66
|
/**
|
|
25
67
|
* @typedef {Object} ConsumeOptions
|
|
26
68
|
* @property {string=} import fallback request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { RawSource } from 'webpack-sources';\n//@ts-ignore\nimport AsyncDependenciesBlock from 'webpack/lib/AsyncDependenciesBlock';\nimport type {\n WebpackOptions,\n Compilation,\n UpdateHashContext,\n CodeGenerationContext,\n CodeGenerationResult,\n LibIdentOptions,\n NeedBuildContext,\n RequestShortener,\n ResolverWithOptions,\n WebpackError,\n ObjectDeserializerContext,\n ObjectSerializerContext,\n Hash,\n InputFileSystem,\n} from 'webpack/lib/Module';\n//@ts-ignore\nimport Module from 'webpack/lib/Module';\nimport { WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE } from 'webpack/lib/ModuleTypeConstants';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\n//@ts-ignore\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport { rangeToString, stringifyHoley } from 'webpack/lib/util/semver';\nimport ConsumeSharedFallbackDependency from './ConsumeSharedFallbackDependency';\nexport type ConsumeOptions = {\n /**\n * fallback request\n */\n import?: string | undefined;\n /**\n * resolved fallback request\n */\n importResolved?: string | undefined;\n /**\n * global share key\n */\n shareKey: string;\n /**\n * share scope\n */\n shareScope: string;\n /**\n * version requirement\n */\n requiredVersion:\n | import('webpack/lib/util/semver').SemVerRange\n | false\n | undefined;\n /**\n * package name to determine required version automatically\n */\n packageName: string;\n /**\n * don't use shared version even if version isn't valid\n */\n strictVersion: boolean;\n /**\n * use single global version\n */\n singleton: boolean;\n /**\n * include the fallback module in a sync way\n */\n eager: boolean;\n};\n\n/**\n * @typedef {Object} ConsumeOptions\n * @property {string=} import fallback request\n * @property {string=} importResolved resolved fallback request\n * @property {string} shareKey global share key\n * @property {string} shareScope share scope\n * @property {SemVerRange | false | undefined} requiredVersion version requirement\n * @property {string} packageName package name to determine required version automatically\n * @property {boolean} strictVersion don't use shared version even if version isn't valid\n * @property {boolean} singleton use single global version\n * @property {boolean} eager include the fallback module in a sync way\n */\n\nconst TYPES = new Set(['consume-shared']);\n\nclass ConsumeSharedModule extends Module {\n options: ConsumeOptions;\n\n /**\n * @param {string} context context\n * @param {ConsumeOptions} options consume options\n */\n constructor(context: string, options: ConsumeOptions) {\n super(WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE, context);\n this.options = options;\n }\n\n /**\n * @returns {string} a unique identifier of the module\n */\n override identifier(): string {\n const {\n shareKey,\n shareScope,\n importResolved,\n requiredVersion,\n strictVersion,\n singleton,\n eager,\n } = this.options;\n return `${WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE}|${shareScope}|${shareKey}|${\n requiredVersion && rangeToString(requiredVersion)\n }|${strictVersion}|${importResolved}|${singleton}|${eager}`;\n }\n\n /**\n * @param {RequestShortener} requestShortener the request shortener\n * @returns {string} a user readable identifier of the module\n */\n override readableIdentifier(requestShortener: RequestShortener): string {\n const {\n shareKey,\n shareScope,\n importResolved,\n requiredVersion,\n strictVersion,\n singleton,\n eager,\n } = this.options;\n return `consume shared module (${shareScope}) ${shareKey}@${\n requiredVersion ? rangeToString(requiredVersion) : '*'\n }${strictVersion ? ' (strict)' : ''}${singleton ? ' (singleton)' : ''}${\n importResolved\n ? ` (fallback: ${requestShortener.shorten(importResolved)})`\n : ''\n }${eager ? ' (eager)' : ''}`;\n }\n\n /**\n * @param {LibIdentOptions} options options\n * @returns {string | null} an identifier for library inclusion\n */\n override libIdent(options: LibIdentOptions): string | null {\n const { shareKey, shareScope, import: request } = this.options;\n return `${\n this.layer ? `(${this.layer})/` : ''\n }webpack/sharing/consume/${shareScope}/${shareKey}${\n request ? `/${request}` : ''\n }`;\n }\n\n /**\n * @param {NeedBuildContext} context context info\n * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild\n * @returns {void}\n */\n override needBuild(\n context: NeedBuildContext,\n callback: (error?: WebpackError | null, needsRebuild?: boolean) => void,\n ): void {\n callback(null, !this.buildInfo);\n }\n\n /**\n * @param {WebpackOptions} options webpack options\n * @param {Compilation} compilation the compilation\n * @param {ResolverWithOptions} resolver the resolver\n * @param {InputFileSystem} fs the file system\n * @param {function(WebpackError=): void} callback callback function\n * @returns {void}\n */\n override build(\n options: WebpackOptions,\n compilation: Compilation,\n resolver: ResolverWithOptions,\n fs: InputFileSystem,\n callback: (error?: WebpackError) => void,\n ): void {\n this.buildMeta = {};\n this.buildInfo = {};\n if (this.options.import) {\n const dep = new ConsumeSharedFallbackDependency(this.options.import);\n if (this.options.eager) {\n this.addDependency(dep);\n } else {\n const block = new AsyncDependenciesBlock({});\n block.addDependency(dep);\n this.addBlock(block);\n }\n }\n callback();\n }\n\n /**\n * @returns {Set<string>} types available (do not mutate)\n */\n override getSourceTypes(): Set<string> {\n return TYPES;\n }\n\n /**\n * @param {string=} type the source type for which the size should be estimated\n * @returns {number} the estimated size of the module (must be non-zero)\n */\n override size(type?: string): number {\n return 42;\n }\n\n /**\n * @param {Hash} hash the hash used to track dependencies\n * @param {UpdateHashContext} context context\n * @returns {void}\n */\n override updateHash(hash: Hash, context: UpdateHashContext): void {\n hash.update(JSON.stringify(this.options));\n super.updateHash(hash, context);\n }\n\n /**\n * @param {CodeGenerationContext} context context for code generation\n * @returns {CodeGenerationResult} result\n */\n override codeGeneration({\n chunkGraph,\n moduleGraph,\n runtimeTemplate,\n }: CodeGenerationContext): CodeGenerationResult {\n const runtimeRequirements = new Set([RuntimeGlobals.shareScopeMap]);\n const {\n shareScope,\n shareKey,\n strictVersion,\n requiredVersion,\n import: request,\n singleton,\n eager,\n } = this.options;\n let fallbackCode;\n if (request) {\n if (eager) {\n const dep = this.dependencies[0];\n fallbackCode = runtimeTemplate.syncModuleFactory({\n dependency: dep,\n chunkGraph,\n runtimeRequirements,\n request: this.options.import,\n });\n } else {\n const block = this.blocks[0];\n fallbackCode = runtimeTemplate.asyncModuleFactory({\n block,\n chunkGraph,\n runtimeRequirements,\n request: this.options.import,\n });\n }\n }\n let fn = 'load';\n const args = [JSON.stringify(shareScope), JSON.stringify(shareKey)];\n if (requiredVersion) {\n if (strictVersion) {\n fn += 'Strict';\n }\n if (singleton) {\n fn += 'Singleton';\n }\n args.push(stringifyHoley(requiredVersion));\n fn += 'VersionCheck';\n } else {\n if (singleton) {\n fn += 'Singleton';\n }\n }\n if (fallbackCode) {\n fn += 'Fallback';\n args.push(fallbackCode);\n }\n const code = runtimeTemplate.returningFunction(`${fn}(${args.join(', ')})`);\n const sources = new Map();\n sources.set('consume-shared', new RawSource(code));\n return {\n runtimeRequirements,\n sources,\n };\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n const { write } = context;\n write(this.options);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n */\n override deserialize(context: ObjectDeserializerContext): void {\n const { read } = context;\n this.options = read();\n super.deserialize(context);\n }\n}\n\nmakeSerializable(\n ConsumeSharedModule,\n 'enhanced/lib/sharing/ConsumeSharedModule',\n);\n\nexport default ConsumeSharedModule;\n"],"names":["TYPES","Set","ConsumeSharedModule","Module","identifier","shareKey","shareScope","importResolved","requiredVersion","strictVersion","singleton","eager","options","WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE","rangeToString","readableIdentifier","requestShortener","shorten","libIdent","import","request","layer","needBuild","context","callback","buildInfo","build","compilation","resolver","fs","buildMeta","dep","ConsumeSharedFallbackDependency","addDependency","block","AsyncDependenciesBlock","addBlock","getSourceTypes","size","type","updateHash","hash","update","JSON","stringify","codeGeneration","chunkGraph","moduleGraph","runtimeTemplate","runtimeRequirements","RuntimeGlobals","shareScopeMap","fallbackCode","dependencies","syncModuleFactory","dependency","blocks","asyncModuleFactory","fn","args","push","stringifyHoley","code","returningFunction","join","sources","Map","set","RawSource","serialize","write","deserialize","read","constructor","makeSerializable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { RawSource } from 'webpack-sources';\n//@ts-ignore\nimport AsyncDependenciesBlock from 'webpack/lib/AsyncDependenciesBlock';\nimport type {\n WebpackOptions,\n Compilation,\n UpdateHashContext,\n CodeGenerationContext,\n CodeGenerationResult,\n LibIdentOptions,\n NeedBuildContext,\n RequestShortener,\n ResolverWithOptions,\n WebpackError,\n ObjectDeserializerContext,\n ObjectSerializerContext,\n Hash,\n InputFileSystem,\n} from 'webpack/lib/Module';\n//@ts-ignore\nimport Module from 'webpack/lib/Module';\nimport { WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE } from 'webpack/lib/ModuleTypeConstants';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\n//@ts-ignore\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport { rangeToString, stringifyHoley } from 'webpack/lib/util/semver';\nimport ConsumeSharedFallbackDependency from './ConsumeSharedFallbackDependency';\nexport type ConsumeOptions = {\n /**\n * fallback request\n */\n import?: string | undefined;\n /**\n * resolved fallback request\n */\n importResolved?: string | undefined;\n /**\n * global share key\n */\n shareKey: string;\n /**\n * share scope\n */\n shareScope: string;\n /**\n * version requirement\n */\n requiredVersion:\n | import('webpack/lib/util/semver').SemVerRange\n | false\n | undefined;\n /**\n * package name to determine required version automatically\n */\n packageName: string;\n /**\n * don't use shared version even if version isn't valid\n */\n strictVersion: boolean;\n /**\n * use single global version\n */\n singleton: boolean;\n /**\n * include the fallback module in a sync way\n */\n eager: boolean;\n};\n\n/**\n * @typedef {Object} ConsumeOptions\n * @property {string=} import fallback request\n * @property {string=} importResolved resolved fallback request\n * @property {string} shareKey global share key\n * @property {string} shareScope share scope\n * @property {SemVerRange | false | undefined} requiredVersion version requirement\n * @property {string} packageName package name to determine required version automatically\n * @property {boolean} strictVersion don't use shared version even if version isn't valid\n * @property {boolean} singleton use single global version\n * @property {boolean} eager include the fallback module in a sync way\n */\n\nconst TYPES = new Set(['consume-shared']);\n\nclass ConsumeSharedModule extends Module {\n options: ConsumeOptions;\n\n /**\n * @param {string} context context\n * @param {ConsumeOptions} options consume options\n */\n constructor(context: string, options: ConsumeOptions) {\n super(WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE, context);\n this.options = options;\n }\n\n /**\n * @returns {string} a unique identifier of the module\n */\n override identifier(): string {\n const {\n shareKey,\n shareScope,\n importResolved,\n requiredVersion,\n strictVersion,\n singleton,\n eager,\n } = this.options;\n return `${WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE}|${shareScope}|${shareKey}|${\n requiredVersion && rangeToString(requiredVersion)\n }|${strictVersion}|${importResolved}|${singleton}|${eager}`;\n }\n\n /**\n * @param {RequestShortener} requestShortener the request shortener\n * @returns {string} a user readable identifier of the module\n */\n override readableIdentifier(requestShortener: RequestShortener): string {\n const {\n shareKey,\n shareScope,\n importResolved,\n requiredVersion,\n strictVersion,\n singleton,\n eager,\n } = this.options;\n return `consume shared module (${shareScope}) ${shareKey}@${\n requiredVersion ? rangeToString(requiredVersion) : '*'\n }${strictVersion ? ' (strict)' : ''}${singleton ? ' (singleton)' : ''}${\n importResolved\n ? ` (fallback: ${requestShortener.shorten(importResolved)})`\n : ''\n }${eager ? ' (eager)' : ''}`;\n }\n\n /**\n * @param {LibIdentOptions} options options\n * @returns {string | null} an identifier for library inclusion\n */\n override libIdent(options: LibIdentOptions): string | null {\n const { shareKey, shareScope, import: request } = this.options;\n return `${\n this.layer ? `(${this.layer})/` : ''\n }webpack/sharing/consume/${shareScope}/${shareKey}${\n request ? `/${request}` : ''\n }`;\n }\n\n /**\n * @param {NeedBuildContext} context context info\n * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild\n * @returns {void}\n */\n override needBuild(\n context: NeedBuildContext,\n callback: (error?: WebpackError | null, needsRebuild?: boolean) => void,\n ): void {\n callback(null, !this.buildInfo);\n }\n\n /**\n * @param {WebpackOptions} options webpack options\n * @param {Compilation} compilation the compilation\n * @param {ResolverWithOptions} resolver the resolver\n * @param {InputFileSystem} fs the file system\n * @param {function(WebpackError=): void} callback callback function\n * @returns {void}\n */\n override build(\n options: WebpackOptions,\n compilation: Compilation,\n resolver: ResolverWithOptions,\n fs: InputFileSystem,\n callback: (error?: WebpackError) => void,\n ): void {\n this.buildMeta = {};\n this.buildInfo = {};\n if (this.options.import) {\n const dep = new ConsumeSharedFallbackDependency(this.options.import);\n if (this.options.eager) {\n this.addDependency(dep);\n } else {\n const block = new AsyncDependenciesBlock({});\n block.addDependency(dep);\n this.addBlock(block);\n }\n }\n callback();\n }\n\n /**\n * @returns {Set<string>} types available (do not mutate)\n */\n override getSourceTypes(): Set<string> {\n return TYPES;\n }\n\n /**\n * @param {string=} type the source type for which the size should be estimated\n * @returns {number} the estimated size of the module (must be non-zero)\n */\n override size(type?: string): number {\n return 42;\n }\n\n /**\n * @param {Hash} hash the hash used to track dependencies\n * @param {UpdateHashContext} context context\n * @returns {void}\n */\n override updateHash(hash: Hash, context: UpdateHashContext): void {\n hash.update(JSON.stringify(this.options));\n super.updateHash(hash, context);\n }\n\n /**\n * @param {CodeGenerationContext} context context for code generation\n * @returns {CodeGenerationResult} result\n */\n override codeGeneration({\n chunkGraph,\n moduleGraph,\n runtimeTemplate,\n }: CodeGenerationContext): CodeGenerationResult {\n const runtimeRequirements = new Set([RuntimeGlobals.shareScopeMap]);\n const {\n shareScope,\n shareKey,\n strictVersion,\n requiredVersion,\n import: request,\n singleton,\n eager,\n } = this.options;\n let fallbackCode;\n if (request) {\n if (eager) {\n const dep = this.dependencies[0];\n fallbackCode = runtimeTemplate.syncModuleFactory({\n dependency: dep,\n chunkGraph,\n runtimeRequirements,\n request: this.options.import,\n });\n } else {\n const block = this.blocks[0];\n fallbackCode = runtimeTemplate.asyncModuleFactory({\n block,\n chunkGraph,\n runtimeRequirements,\n request: this.options.import,\n });\n }\n }\n let fn = 'load';\n const args = [JSON.stringify(shareScope), JSON.stringify(shareKey)];\n if (requiredVersion) {\n if (strictVersion) {\n fn += 'Strict';\n }\n if (singleton) {\n fn += 'Singleton';\n }\n args.push(stringifyHoley(requiredVersion));\n fn += 'VersionCheck';\n } else {\n if (singleton) {\n fn += 'Singleton';\n }\n }\n if (fallbackCode) {\n fn += 'Fallback';\n args.push(fallbackCode);\n }\n const code = runtimeTemplate.returningFunction(`${fn}(${args.join(', ')})`);\n const sources = new Map();\n sources.set('consume-shared', new RawSource(code));\n return {\n runtimeRequirements,\n sources,\n };\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n const { write } = context;\n write(this.options);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n */\n override deserialize(context: ObjectDeserializerContext): void {\n const { read } = context;\n this.options = read();\n super.deserialize(context);\n }\n}\n\nmakeSerializable(\n ConsumeSharedModule,\n 'enhanced/lib/sharing/ConsumeSharedModule',\n);\n\nexport default ConsumeSharedModule;\n"],"names":["TYPES","Set","ConsumeSharedModule","Module","identifier","shareKey","shareScope","importResolved","requiredVersion","strictVersion","singleton","eager","options","WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE","rangeToString","readableIdentifier","requestShortener","shorten","libIdent","import","request","layer","needBuild","context","callback","buildInfo","build","compilation","resolver","fs","buildMeta","dep","ConsumeSharedFallbackDependency","addDependency","block","AsyncDependenciesBlock","addBlock","getSourceTypes","size","type","updateHash","hash","update","JSON","stringify","codeGeneration","chunkGraph","moduleGraph","runtimeTemplate","runtimeRequirements","RuntimeGlobals","shareScopeMap","fallbackCode","dependencies","syncModuleFactory","dependency","blocks","asyncModuleFactory","fn","args","push","stringifyHoley","code","returningFunction","join","sources","Map","set","RawSource","serialize","write","deserialize","read","constructor","makeSerializable"],"mappings":"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"}
|
|
@@ -11,22 +11,77 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
return _default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const _extends = require("@swc/helpers/_/_extends");
|
|
15
|
-
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
16
|
-
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
17
14
|
const _options = require("../container/options");
|
|
18
15
|
const _semver = require("webpack/lib/util/semver");
|
|
19
16
|
const _resolveMatchedConfigs = require("./resolveMatchedConfigs");
|
|
20
17
|
const _utils = require("./utils");
|
|
21
|
-
const _ConsumeSharedFallbackDependency = /*#__PURE__*/ _interop_require_default
|
|
22
|
-
const _ConsumeSharedModule = /*#__PURE__*/ _interop_require_default
|
|
23
|
-
const _ConsumeSharedRuntimeModule = /*#__PURE__*/ _interop_require_default
|
|
24
|
-
const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default
|
|
25
|
-
const _ModuleNotFoundError = /*#__PURE__*/ _interop_require_default
|
|
26
|
-
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard
|
|
27
|
-
const _WebpackError = /*#__PURE__*/ _interop_require_default
|
|
28
|
-
const _LazySet = /*#__PURE__*/ _interop_require_default
|
|
29
|
-
const _createschemavalidation = /*#__PURE__*/ _interop_require_default
|
|
18
|
+
const _ConsumeSharedFallbackDependency = /*#__PURE__*/ _interop_require_default(require("./ConsumeSharedFallbackDependency"));
|
|
19
|
+
const _ConsumeSharedModule = /*#__PURE__*/ _interop_require_default(require("./ConsumeSharedModule"));
|
|
20
|
+
const _ConsumeSharedRuntimeModule = /*#__PURE__*/ _interop_require_default(require("./ConsumeSharedRuntimeModule"));
|
|
21
|
+
const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default(require("./ProvideForSharedDependency"));
|
|
22
|
+
const _ModuleNotFoundError = /*#__PURE__*/ _interop_require_default(require("webpack/lib/ModuleNotFoundError"));
|
|
23
|
+
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard(require("webpack/lib/RuntimeGlobals"));
|
|
24
|
+
const _WebpackError = /*#__PURE__*/ _interop_require_default(require("webpack/lib/WebpackError"));
|
|
25
|
+
const _LazySet = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/LazySet"));
|
|
26
|
+
const _createschemavalidation = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/create-schema-validation"));
|
|
27
|
+
function _extends() {
|
|
28
|
+
_extends = Object.assign || function(target) {
|
|
29
|
+
for(var i = 1; i < arguments.length; i++){
|
|
30
|
+
var source = arguments[i];
|
|
31
|
+
for(var key in source){
|
|
32
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
33
|
+
target[key] = source[key];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return target;
|
|
38
|
+
};
|
|
39
|
+
return _extends.apply(this, arguments);
|
|
40
|
+
}
|
|
41
|
+
function _interop_require_default(obj) {
|
|
42
|
+
return obj && obj.__esModule ? obj : {
|
|
43
|
+
default: obj
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
47
|
+
if (typeof WeakMap !== "function") return null;
|
|
48
|
+
var cacheBabelInterop = new WeakMap();
|
|
49
|
+
var cacheNodeInterop = new WeakMap();
|
|
50
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
51
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
52
|
+
})(nodeInterop);
|
|
53
|
+
}
|
|
54
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
55
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
56
|
+
return obj;
|
|
57
|
+
}
|
|
58
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
59
|
+
return {
|
|
60
|
+
default: obj
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
64
|
+
if (cache && cache.has(obj)) {
|
|
65
|
+
return cache.get(obj);
|
|
66
|
+
}
|
|
67
|
+
var newObj = {};
|
|
68
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
69
|
+
for(var key in obj){
|
|
70
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
71
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
72
|
+
if (desc && (desc.get || desc.set)) {
|
|
73
|
+
Object.defineProperty(newObj, key, desc);
|
|
74
|
+
} else {
|
|
75
|
+
newObj[key] = obj[key];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
newObj.default = obj;
|
|
80
|
+
if (cache) {
|
|
81
|
+
cache.set(obj, newObj);
|
|
82
|
+
}
|
|
83
|
+
return newObj;
|
|
84
|
+
}
|
|
30
85
|
const validate = (0, _createschemavalidation.default)(//eslint-disable-next-line
|
|
31
86
|
require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js'), ()=>require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json'), {
|
|
32
87
|
name: 'Consume Shared Plugin',
|
|
@@ -121,7 +176,7 @@ let ConsumeSharedPlugin = class ConsumeSharedPlugin {
|
|
|
121
176
|
});
|
|
122
177
|
})
|
|
123
178
|
]).then(([importResolved, requiredVersion])=>{
|
|
124
|
-
return new _ConsumeSharedModule.default(directFallback ? compiler.context : context, _extends
|
|
179
|
+
return new _ConsumeSharedModule.default(directFallback ? compiler.context : context, _extends({}, config, {
|
|
125
180
|
importResolved,
|
|
126
181
|
import: importResolved ? config.import : undefined,
|
|
127
182
|
requiredVersion
|
|
@@ -141,7 +196,7 @@ let ConsumeSharedPlugin = class ConsumeSharedPlugin {
|
|
|
141
196
|
for (const [prefix, options] of prefixedConsumes){
|
|
142
197
|
if (request.startsWith(prefix)) {
|
|
143
198
|
const remainder = request.slice(prefix.length);
|
|
144
|
-
return createConsumeSharedModule(context, request, _extends
|
|
199
|
+
return createConsumeSharedModule(context, request, _extends({}, options, {
|
|
145
200
|
import: options.import ? options.import + remainder : undefined,
|
|
146
201
|
shareKey: options.shareKey + remainder
|
|
147
202
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport { ConsumeOptions } from './ConsumeSharedModule';\nimport { ConsumeSharedPluginOptions } from '../../declarations/plugins/sharing/ConsumeSharedPlugin';\nimport { parseRange } from 'webpack/lib/util/semver';\nimport { resolveMatchedConfigs } from './resolveMatchedConfigs';\nimport {\n isRequiredVersion,\n getDescriptionFile,\n getRequiredVersionFromDescriptionFile,\n} from './utils';\nimport type { ResolveOptionsWithDependencyType } from 'webpack/lib/ResolverFactory';\nimport ConsumeSharedFallbackDependency from './ConsumeSharedFallbackDependency';\nimport ConsumeSharedModule from './ConsumeSharedModule';\nimport ConsumeSharedRuntimeModule from './ConsumeSharedRuntimeModule';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\n//@ts-ignore\nimport ModuleNotFoundError from 'webpack/lib/ModuleNotFoundError';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\n//@ts-ignore\nimport WebpackError from 'webpack/lib/WebpackError';\n//@ts-ignore\nimport Compiler from 'webpack/lib/Compiler';\n//@ts-ignore\nimport LazySet from 'webpack/lib/util/LazySet';\n//@ts-ignore\nimport createSchemaValidation from 'webpack/lib/util/create-schema-validation';\nimport { SemVerRange } from 'webpack/lib/util/semver';\n\nconst validate = createSchemaValidation(\n //eslint-disable-next-line\n require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js'),\n () => require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json'),\n {\n name: 'Consume Shared Plugin',\n baseDataPath: 'options',\n },\n);\n\nconst RESOLVE_OPTIONS: ResolveOptionsWithDependencyType = {\n dependencyType: 'esm',\n};\nconst PLUGIN_NAME = 'ConsumeSharedPlugin';\nclass ConsumeSharedPlugin {\n private _consumes: [string, ConsumeOptions][];\n\n constructor(options: ConsumeSharedPluginOptions) {\n if (typeof options !== 'string') {\n validate(options);\n }\n\n this._consumes = parseOptions(\n options.consumes,\n (item, key) => {\n if (Array.isArray(item)) throw new Error('Unexpected array in options');\n //@ts-ignore\n const result: ConsumeOptions =\n item === key || !isRequiredVersion(item)\n ? // item is a request/key\n {\n import: key,\n shareScope: options.shareScope || 'default',\n shareKey: key,\n requiredVersion: undefined,\n packageName: undefined,\n strictVersion: false,\n singleton: false,\n eager: false,\n }\n : // key is a request/key\n // item is a version\n {\n import: key,\n shareScope: options.shareScope || 'default',\n shareKey: key,\n requiredVersion: parseRange(item),\n strictVersion: true,\n packageName: undefined,\n singleton: false,\n eager: false,\n };\n return result;\n },\n (item, key) => ({\n import: item.import === false ? undefined : item.import || key,\n shareScope: item.shareScope || options.shareScope || 'default',\n shareKey: item.shareKey || key,\n requiredVersion:\n typeof item.requiredVersion === 'string'\n ? parseRange(item.requiredVersion)\n : item.requiredVersion,\n strictVersion:\n typeof item.strictVersion === 'boolean'\n ? item.strictVersion\n : item.import !== false && !item.singleton,\n //@ts-ignore\n packageName: item.packageName,\n singleton: !!item.singleton,\n eager: !!item.eager,\n }),\n );\n }\n\n apply(compiler: Compiler): void {\n compiler.hooks.thisCompilation.tap(\n PLUGIN_NAME,\n (compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n ConsumeSharedFallbackDependency,\n normalModuleFactory,\n );\n\n let unresolvedConsumes: Map<string, ConsumeOptions>,\n resolvedConsumes: Map<string, ConsumeOptions>,\n prefixedConsumes: Map<string, ConsumeOptions>;\n const promise = resolveMatchedConfigs(compilation, this._consumes).then(\n ({ resolved, unresolved, prefixed }) => {\n resolvedConsumes = resolved;\n unresolvedConsumes = unresolved;\n prefixedConsumes = prefixed;\n },\n );\n\n const resolver = compilation.resolverFactory.get(\n 'normal',\n RESOLVE_OPTIONS,\n );\n\n const createConsumeSharedModule = (\n context: string,\n request: string,\n config: ConsumeOptions,\n ): Promise<ConsumeSharedModule> => {\n const requiredVersionWarning = (details: string) => {\n const error = new WebpackError(\n `No required version specified and unable to automatically determine one. ${details}`,\n );\n error.file = `shared module ${request}`;\n compilation.warnings.push(error);\n };\n const directFallback =\n config.import &&\n /^(\\.\\.?(\\/|$)|\\/|[A-Za-z]:|\\\\\\\\)/.test(config.import);\n return Promise.all([\n new Promise<string | undefined>((resolve) => {\n if (!config.import) return resolve(undefined);\n const resolveContext = {\n fileDependencies: new LazySet<string>(),\n contextDependencies: new LazySet<string>(),\n missingDependencies: new LazySet<string>(),\n };\n resolver.resolve(\n {},\n directFallback ? compiler.context : context,\n config.import,\n resolveContext,\n (err, result) => {\n compilation.contextDependencies.addAll(\n resolveContext.contextDependencies,\n );\n compilation.fileDependencies.addAll(\n resolveContext.fileDependencies,\n );\n compilation.missingDependencies.addAll(\n resolveContext.missingDependencies,\n );\n if (err) {\n compilation.errors.push(\n new ModuleNotFoundError(null, err, {\n name: `resolving fallback for shared module ${request}`,\n }),\n );\n return resolve(undefined);\n }\n //@ts-ignore\n resolve(result);\n },\n );\n }),\n new Promise<false | undefined | SemVerRange>((resolve) => {\n if (config.requiredVersion !== undefined) {\n return resolve(config.requiredVersion);\n }\n let packageName = config.packageName;\n if (packageName === undefined) {\n if (/^(\\/|[A-Za-z]:|\\\\\\\\)/.test(request)) {\n // For relative or absolute requests we don't automatically use a packageName.\n // If wished one can specify one with the packageName option.\n return resolve(undefined);\n }\n const match = /^((?:@[^\\\\/]+[\\\\/])?[^\\\\/]+)/.exec(request);\n if (!match) {\n requiredVersionWarning(\n 'Unable to extract the package name from request.',\n );\n return resolve(undefined);\n }\n packageName = match[0];\n }\n\n getDescriptionFile(\n compilation.inputFileSystem,\n context,\n ['package.json'],\n (err, result) => {\n if (err) {\n requiredVersionWarning(\n `Unable to read description file: ${err}`,\n );\n return resolve(undefined);\n }\n //@ts-ignore\n const { data, path: descriptionPath } = result;\n if (!data) {\n requiredVersionWarning(\n `Unable to find description file in ${context}.`,\n );\n return resolve(undefined);\n }\n //@ts-ignore\n if (data.name === packageName) {\n // Package self-referencing\n return resolve(undefined);\n }\n const requiredVersion = getRequiredVersionFromDescriptionFile(\n data,\n packageName,\n );\n if (typeof requiredVersion !== 'string') {\n requiredVersionWarning(\n `Unable to find required version for \"${packageName}\" in description file (${descriptionPath}). It need to be in dependencies, devDependencies or peerDependencies.`,\n );\n return resolve(undefined);\n }\n resolve(parseRange(requiredVersion));\n },\n );\n }),\n ]).then(([importResolved, requiredVersion]) => {\n return new ConsumeSharedModule(\n directFallback ? compiler.context : context,\n {\n ...config,\n importResolved,\n import: importResolved ? config.import : undefined,\n requiredVersion,\n },\n );\n });\n };\n\n normalModuleFactory.hooks.factorize.tapPromise(\n PLUGIN_NAME,\n ({ context, request, dependencies }) =>\n // wait for resolving to be complete\n //@ts-ignore\n promise.then(() => {\n if (\n dependencies[0] instanceof ConsumeSharedFallbackDependency ||\n dependencies[0] instanceof ProvideForSharedDependency\n ) {\n return;\n }\n const match = unresolvedConsumes.get(request);\n if (match !== undefined) {\n return createConsumeSharedModule(context, request, match);\n }\n for (const [prefix, options] of prefixedConsumes) {\n if (request.startsWith(prefix)) {\n const remainder = request.slice(prefix.length);\n return createConsumeSharedModule(context, request, {\n ...options,\n import: options.import\n ? options.import + remainder\n : undefined,\n shareKey: options.shareKey + remainder,\n });\n }\n }\n }),\n );\n normalModuleFactory.hooks.createModule.tapPromise(\n PLUGIN_NAME,\n ({ resource }, { context, dependencies }) => {\n if (\n dependencies[0] instanceof ConsumeSharedFallbackDependency ||\n dependencies[0] instanceof ProvideForSharedDependency\n ) {\n return Promise.resolve();\n }\n if (resource) {\n const options = resolvedConsumes.get(resource);\n if (options !== undefined) {\n return createConsumeSharedModule(context, resource, options);\n }\n }\n return Promise.resolve();\n },\n );\n compilation.hooks.additionalTreeRuntimeRequirements.tap(\n PLUGIN_NAME,\n (chunk, set) => {\n set.add(RuntimeGlobals.module);\n set.add(RuntimeGlobals.moduleCache);\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n set.add(RuntimeGlobals.shareScopeMap);\n set.add(RuntimeGlobals.initializeSharing);\n set.add(RuntimeGlobals.hasOwnProperty);\n compilation.addRuntimeModule(\n chunk,\n new ConsumeSharedRuntimeModule(set),\n );\n },\n );\n },\n );\n }\n}\n\nexport default ConsumeSharedPlugin;\n"],"names":["validate","createSchemaValidation","require","name","baseDataPath","RESOLVE_OPTIONS","dependencyType","PLUGIN_NAME","ConsumeSharedPlugin","apply","compiler","hooks","thisCompilation","tap","compilation","normalModuleFactory","dependencyFactories","set","ConsumeSharedFallbackDependency","unresolvedConsumes","resolvedConsumes","prefixedConsumes","promise","resolveMatchedConfigs","_consumes","then","resolved","unresolved","prefixed","resolver","resolverFactory","get","createConsumeSharedModule","context","request","config","requiredVersionWarning","details","error","WebpackError","file","warnings","push","directFallback","import","test","Promise","all","resolve","undefined","resolveContext","fileDependencies","LazySet","contextDependencies","missingDependencies","err","result","addAll","errors","ModuleNotFoundError","requiredVersion","packageName","match","exec","getDescriptionFile","inputFileSystem","data","path","descriptionPath","getRequiredVersionFromDescriptionFile","parseRange","importResolved","ConsumeSharedModule","factorize","tapPromise","dependencies","ProvideForSharedDependency","prefix","options","startsWith","remainder","slice","length","shareKey","createModule","resource","additionalTreeRuntimeRequirements","chunk","add","RuntimeGlobals","module","moduleCache","moduleFactoriesAddOnly","shareScopeMap","initializeSharing","hasOwnProperty","addRuntimeModule","ConsumeSharedRuntimeModule","constructor","parseOptions","consumes","item","key","Array","isArray","Error","isRequiredVersion","shareScope","strictVersion","singleton","eager"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport { ConsumeOptions } from './ConsumeSharedModule';\nimport { ConsumeSharedPluginOptions } from '../../declarations/plugins/sharing/ConsumeSharedPlugin';\nimport { parseRange } from 'webpack/lib/util/semver';\nimport { resolveMatchedConfigs } from './resolveMatchedConfigs';\nimport {\n isRequiredVersion,\n getDescriptionFile,\n getRequiredVersionFromDescriptionFile,\n} from './utils';\nimport type { ResolveOptionsWithDependencyType } from 'webpack/lib/ResolverFactory';\nimport ConsumeSharedFallbackDependency from './ConsumeSharedFallbackDependency';\nimport ConsumeSharedModule from './ConsumeSharedModule';\nimport ConsumeSharedRuntimeModule from './ConsumeSharedRuntimeModule';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\n//@ts-ignore\nimport ModuleNotFoundError from 'webpack/lib/ModuleNotFoundError';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\n//@ts-ignore\nimport WebpackError from 'webpack/lib/WebpackError';\n//@ts-ignore\nimport Compiler from 'webpack/lib/Compiler';\n//@ts-ignore\nimport LazySet from 'webpack/lib/util/LazySet';\n//@ts-ignore\nimport createSchemaValidation from 'webpack/lib/util/create-schema-validation';\nimport { SemVerRange } from 'webpack/lib/util/semver';\n\nconst validate = createSchemaValidation(\n //eslint-disable-next-line\n require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js'),\n () => require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json'),\n {\n name: 'Consume Shared Plugin',\n baseDataPath: 'options',\n },\n);\n\nconst RESOLVE_OPTIONS: ResolveOptionsWithDependencyType = {\n dependencyType: 'esm',\n};\nconst PLUGIN_NAME = 'ConsumeSharedPlugin';\nclass ConsumeSharedPlugin {\n private _consumes: [string, ConsumeOptions][];\n\n constructor(options: ConsumeSharedPluginOptions) {\n if (typeof options !== 'string') {\n validate(options);\n }\n\n this._consumes = parseOptions(\n options.consumes,\n (item, key) => {\n if (Array.isArray(item)) throw new Error('Unexpected array in options');\n //@ts-ignore\n const result: ConsumeOptions =\n item === key || !isRequiredVersion(item)\n ? // item is a request/key\n {\n import: key,\n shareScope: options.shareScope || 'default',\n shareKey: key,\n requiredVersion: undefined,\n packageName: undefined,\n strictVersion: false,\n singleton: false,\n eager: false,\n }\n : // key is a request/key\n // item is a version\n {\n import: key,\n shareScope: options.shareScope || 'default',\n shareKey: key,\n requiredVersion: parseRange(item),\n strictVersion: true,\n packageName: undefined,\n singleton: false,\n eager: false,\n };\n return result;\n },\n (item, key) => ({\n import: item.import === false ? undefined : item.import || key,\n shareScope: item.shareScope || options.shareScope || 'default',\n shareKey: item.shareKey || key,\n requiredVersion:\n typeof item.requiredVersion === 'string'\n ? parseRange(item.requiredVersion)\n : item.requiredVersion,\n strictVersion:\n typeof item.strictVersion === 'boolean'\n ? item.strictVersion\n : item.import !== false && !item.singleton,\n //@ts-ignore\n packageName: item.packageName,\n singleton: !!item.singleton,\n eager: !!item.eager,\n }),\n );\n }\n\n apply(compiler: Compiler): void {\n compiler.hooks.thisCompilation.tap(\n PLUGIN_NAME,\n (compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n ConsumeSharedFallbackDependency,\n normalModuleFactory,\n );\n\n let unresolvedConsumes: Map<string, ConsumeOptions>,\n resolvedConsumes: Map<string, ConsumeOptions>,\n prefixedConsumes: Map<string, ConsumeOptions>;\n const promise = resolveMatchedConfigs(compilation, this._consumes).then(\n ({ resolved, unresolved, prefixed }) => {\n resolvedConsumes = resolved;\n unresolvedConsumes = unresolved;\n prefixedConsumes = prefixed;\n },\n );\n\n const resolver = compilation.resolverFactory.get(\n 'normal',\n RESOLVE_OPTIONS,\n );\n\n const createConsumeSharedModule = (\n context: string,\n request: string,\n config: ConsumeOptions,\n ): Promise<ConsumeSharedModule> => {\n const requiredVersionWarning = (details: string) => {\n const error = new WebpackError(\n `No required version specified and unable to automatically determine one. ${details}`,\n );\n error.file = `shared module ${request}`;\n compilation.warnings.push(error);\n };\n const directFallback =\n config.import &&\n /^(\\.\\.?(\\/|$)|\\/|[A-Za-z]:|\\\\\\\\)/.test(config.import);\n return Promise.all([\n new Promise<string | undefined>((resolve) => {\n if (!config.import) return resolve(undefined);\n const resolveContext = {\n fileDependencies: new LazySet<string>(),\n contextDependencies: new LazySet<string>(),\n missingDependencies: new LazySet<string>(),\n };\n resolver.resolve(\n {},\n directFallback ? compiler.context : context,\n config.import,\n resolveContext,\n (err, result) => {\n compilation.contextDependencies.addAll(\n resolveContext.contextDependencies,\n );\n compilation.fileDependencies.addAll(\n resolveContext.fileDependencies,\n );\n compilation.missingDependencies.addAll(\n resolveContext.missingDependencies,\n );\n if (err) {\n compilation.errors.push(\n new ModuleNotFoundError(null, err, {\n name: `resolving fallback for shared module ${request}`,\n }),\n );\n return resolve(undefined);\n }\n //@ts-ignore\n resolve(result);\n },\n );\n }),\n new Promise<false | undefined | SemVerRange>((resolve) => {\n if (config.requiredVersion !== undefined) {\n return resolve(config.requiredVersion);\n }\n let packageName = config.packageName;\n if (packageName === undefined) {\n if (/^(\\/|[A-Za-z]:|\\\\\\\\)/.test(request)) {\n // For relative or absolute requests we don't automatically use a packageName.\n // If wished one can specify one with the packageName option.\n return resolve(undefined);\n }\n const match = /^((?:@[^\\\\/]+[\\\\/])?[^\\\\/]+)/.exec(request);\n if (!match) {\n requiredVersionWarning(\n 'Unable to extract the package name from request.',\n );\n return resolve(undefined);\n }\n packageName = match[0];\n }\n\n getDescriptionFile(\n compilation.inputFileSystem,\n context,\n ['package.json'],\n (err, result) => {\n if (err) {\n requiredVersionWarning(\n `Unable to read description file: ${err}`,\n );\n return resolve(undefined);\n }\n //@ts-ignore\n const { data, path: descriptionPath } = result;\n if (!data) {\n requiredVersionWarning(\n `Unable to find description file in ${context}.`,\n );\n return resolve(undefined);\n }\n //@ts-ignore\n if (data.name === packageName) {\n // Package self-referencing\n return resolve(undefined);\n }\n const requiredVersion = getRequiredVersionFromDescriptionFile(\n data,\n packageName,\n );\n if (typeof requiredVersion !== 'string') {\n requiredVersionWarning(\n `Unable to find required version for \"${packageName}\" in description file (${descriptionPath}). It need to be in dependencies, devDependencies or peerDependencies.`,\n );\n return resolve(undefined);\n }\n resolve(parseRange(requiredVersion));\n },\n );\n }),\n ]).then(([importResolved, requiredVersion]) => {\n return new ConsumeSharedModule(\n directFallback ? compiler.context : context,\n {\n ...config,\n importResolved,\n import: importResolved ? config.import : undefined,\n requiredVersion,\n },\n );\n });\n };\n\n normalModuleFactory.hooks.factorize.tapPromise(\n PLUGIN_NAME,\n ({ context, request, dependencies }) =>\n // wait for resolving to be complete\n //@ts-ignore\n promise.then(() => {\n if (\n dependencies[0] instanceof ConsumeSharedFallbackDependency ||\n dependencies[0] instanceof ProvideForSharedDependency\n ) {\n return;\n }\n const match = unresolvedConsumes.get(request);\n if (match !== undefined) {\n return createConsumeSharedModule(context, request, match);\n }\n for (const [prefix, options] of prefixedConsumes) {\n if (request.startsWith(prefix)) {\n const remainder = request.slice(prefix.length);\n return createConsumeSharedModule(context, request, {\n ...options,\n import: options.import\n ? options.import + remainder\n : undefined,\n shareKey: options.shareKey + remainder,\n });\n }\n }\n }),\n );\n normalModuleFactory.hooks.createModule.tapPromise(\n PLUGIN_NAME,\n ({ resource }, { context, dependencies }) => {\n if (\n dependencies[0] instanceof ConsumeSharedFallbackDependency ||\n dependencies[0] instanceof ProvideForSharedDependency\n ) {\n return Promise.resolve();\n }\n if (resource) {\n const options = resolvedConsumes.get(resource);\n if (options !== undefined) {\n return createConsumeSharedModule(context, resource, options);\n }\n }\n return Promise.resolve();\n },\n );\n compilation.hooks.additionalTreeRuntimeRequirements.tap(\n PLUGIN_NAME,\n (chunk, set) => {\n set.add(RuntimeGlobals.module);\n set.add(RuntimeGlobals.moduleCache);\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n set.add(RuntimeGlobals.shareScopeMap);\n set.add(RuntimeGlobals.initializeSharing);\n set.add(RuntimeGlobals.hasOwnProperty);\n compilation.addRuntimeModule(\n chunk,\n new ConsumeSharedRuntimeModule(set),\n );\n },\n );\n },\n );\n }\n}\n\nexport default ConsumeSharedPlugin;\n"],"names":["validate","createSchemaValidation","require","name","baseDataPath","RESOLVE_OPTIONS","dependencyType","PLUGIN_NAME","ConsumeSharedPlugin","apply","compiler","hooks","thisCompilation","tap","compilation","normalModuleFactory","dependencyFactories","set","ConsumeSharedFallbackDependency","unresolvedConsumes","resolvedConsumes","prefixedConsumes","promise","resolveMatchedConfigs","_consumes","then","resolved","unresolved","prefixed","resolver","resolverFactory","get","createConsumeSharedModule","context","request","config","requiredVersionWarning","details","error","WebpackError","file","warnings","push","directFallback","import","test","Promise","all","resolve","undefined","resolveContext","fileDependencies","LazySet","contextDependencies","missingDependencies","err","result","addAll","errors","ModuleNotFoundError","requiredVersion","packageName","match","exec","getDescriptionFile","inputFileSystem","data","path","descriptionPath","getRequiredVersionFromDescriptionFile","parseRange","importResolved","ConsumeSharedModule","factorize","tapPromise","dependencies","ProvideForSharedDependency","prefix","options","startsWith","remainder","slice","length","shareKey","createModule","resource","additionalTreeRuntimeRequirements","chunk","add","RuntimeGlobals","module","moduleCache","moduleFactoriesAddOnly","shareScopeMap","initializeSharing","hasOwnProperty","addRuntimeModule","ConsumeSharedRuntimeModule","constructor","parseOptions","consumes","item","key","Array","isArray","Error","isRequiredVersion","shareScope","strictVersion","singleton","eager"],"mappings":"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"}
|
|
@@ -11,12 +11,54 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
return _default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard._(require("webpack/lib/RuntimeGlobals"));
|
|
17
|
-
const _Template = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/Template"));
|
|
14
|
+
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard(require("webpack/lib/RuntimeGlobals"));
|
|
15
|
+
const _Template = /*#__PURE__*/ _interop_require_default(require("webpack/lib/Template"));
|
|
18
16
|
const _semver = require("webpack/lib/util/semver");
|
|
19
|
-
const _RuntimeModule = /*#__PURE__*/ _interop_require_default
|
|
17
|
+
const _RuntimeModule = /*#__PURE__*/ _interop_require_default(require("webpack/lib/RuntimeModule"));
|
|
18
|
+
function _interop_require_default(obj) {
|
|
19
|
+
return obj && obj.__esModule ? obj : {
|
|
20
|
+
default: obj
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
24
|
+
if (typeof WeakMap !== "function") return null;
|
|
25
|
+
var cacheBabelInterop = new WeakMap();
|
|
26
|
+
var cacheNodeInterop = new WeakMap();
|
|
27
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
28
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
29
|
+
})(nodeInterop);
|
|
30
|
+
}
|
|
31
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
32
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
33
|
+
return obj;
|
|
34
|
+
}
|
|
35
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
36
|
+
return {
|
|
37
|
+
default: obj
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
41
|
+
if (cache && cache.has(obj)) {
|
|
42
|
+
return cache.get(obj);
|
|
43
|
+
}
|
|
44
|
+
var newObj = {};
|
|
45
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
|
+
for(var key in obj){
|
|
47
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
48
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
49
|
+
if (desc && (desc.get || desc.set)) {
|
|
50
|
+
Object.defineProperty(newObj, key, desc);
|
|
51
|
+
} else {
|
|
52
|
+
newObj[key] = obj[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
newObj.default = obj;
|
|
57
|
+
if (cache) {
|
|
58
|
+
cache.set(obj, newObj);
|
|
59
|
+
}
|
|
60
|
+
return newObj;
|
|
61
|
+
}
|
|
20
62
|
let ConsumeSharedRuntimeModule = class ConsumeSharedRuntimeModule extends _RuntimeModule.default {
|
|
21
63
|
/**
|
|
22
64
|
* @returns {string | null} runtime code
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport Template from 'webpack/lib/Template';\nimport {\n parseVersionRuntimeCode,\n versionLtRuntimeCode,\n rangeToStringRuntimeCode,\n satisfyRuntimeCode,\n} from 'webpack/lib/util/semver';\nimport RuntimeModule from 'webpack/lib/RuntimeModule';\nimport Module from 'webpack/lib/Module';\nimport ConsumeSharedModule from './ConsumeSharedModule';\nimport type ChunkGraph from 'webpack/lib/ChunkGraph';\nimport type Compilation from 'webpack/lib/Compilation';\nimport type Chunk from 'webpack/lib/Chunk';\nimport { Source } from 'webpack-sources';\n\nclass ConsumeSharedRuntimeModule extends RuntimeModule {\n private _runtimeRequirements: ReadonlySet<string>;\n\n /**\n * @param {ReadonlySet<string>} runtimeRequirements runtime requirements\n */\n constructor(runtimeRequirements: ReadonlySet<string>) {\n super('consumes', RuntimeModule.STAGE_ATTACH);\n this._runtimeRequirements = runtimeRequirements;\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation = this.compilation!;\n const chunkGraph: ChunkGraph = this.chunkGraph!;\n const { runtimeTemplate, codeGenerationResults } = compilation;\n const chunkToModuleMapping: Record<string, any> = {};\n const moduleIdToSourceMapping: Map<string | number, Source> = new Map();\n const initialConsumes: (string | number)[] = [];\n /**\n *\n * @param {Iterable<Module>} modules modules\n * @param {Chunk} chunk the chunk\n * @param {(string | number)[]} list list of ids\n */\n const addModules = (\n modules: Iterable<Module>,\n chunk: Chunk,\n list: (string | number)[],\n ) => {\n for (const m of modules) {\n const module: ConsumeSharedModule = m as ConsumeSharedModule;\n const id = chunkGraph.getModuleId(module);\n list.push(id);\n moduleIdToSourceMapping.set(\n id,\n codeGenerationResults.getSource(\n module,\n chunk.runtime,\n 'consume-shared',\n ),\n );\n }\n };\n const allChunks = [\n ...(this.chunk?.getAllAsyncChunks() || []),\n ...(this.chunk?.getAllInitialChunks() || []),\n ];\n for (const chunk of allChunks) {\n const modules = chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n );\n if (!modules) continue;\n if (!chunk.id) continue;\n\n addModules(\n modules,\n chunk,\n (chunkToModuleMapping[chunk.id.toString()] = []),\n );\n }\n for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {\n const modules = chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n );\n if (!modules) continue;\n addModules(modules, chunk, initialConsumes);\n }\n\n if (moduleIdToSourceMapping.size === 0) return null;\n\n return Template.asString([\n parseVersionRuntimeCode(runtimeTemplate),\n versionLtRuntimeCode(runtimeTemplate),\n rangeToStringRuntimeCode(runtimeTemplate),\n satisfyRuntimeCode(runtimeTemplate),\n `var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [\n `var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);`,\n 'return scope;',\n ])};`,\n `var findVersion = ${runtimeTemplate.basicFunction('scope, key', [\n 'var versions = scope[key];',\n `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n 'a, b',\n ['return !a || versionLt(a, b) ? b : a;'],\n )}, 0);`,\n 'return key && versions[key]',\n ])};`,\n `var findSingletonVersionKey = ${runtimeTemplate.basicFunction(\n 'scope, key',\n [\n 'var versions = scope[key];',\n `return Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n 'a, b',\n ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'],\n )}, 0);`,\n ],\n )};`,\n `var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction(\n 'scope, key, version, requiredVersion',\n [\n `return \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"`,\n ],\n )};`,\n `var getSingleton = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var version = findSingletonVersionKey(scope, key);',\n 'return get(scope[key][version]);',\n ],\n )};`,\n `var getSingletonVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var version = findSingletonVersionKey(scope, key);',\n 'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',\n 'return get(scope[key][version]);',\n ],\n )};`,\n `var getStrictSingletonVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var version = findSingletonVersionKey(scope, key);',\n 'if (!satisfy(requiredVersion, version)) ' +\n 'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',\n 'return get(scope[key][version]);',\n ],\n )};`,\n `var findValidVersion = ${runtimeTemplate.basicFunction(\n 'scope, key, requiredVersion',\n [\n 'var versions = scope[key];',\n `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n 'a, b',\n [\n 'if (!satisfy(requiredVersion, b)) return a;',\n 'return !a || versionLt(a, b) ? b : a;',\n ],\n )}, 0);`,\n 'return key && versions[key]',\n ],\n )};`,\n `var getInvalidVersionMessage = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var versions = scope[key];',\n 'return \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\\\n\" +',\n `\\t\"Available versions: \" + Object.keys(versions).map(${runtimeTemplate.basicFunction(\n 'key',\n ['return key + \" from \" + versions[key].from;'],\n )}).join(\", \");`,\n ],\n )};`,\n `var getValidVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var entry = findValidVersion(scope, key, requiredVersion);',\n 'if(entry) return get(entry);',\n 'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',\n ],\n )};`,\n `var warn = ${\n compilation.outputOptions.ignoreBrowserWarnings\n ? runtimeTemplate.basicFunction('', '')\n : runtimeTemplate.basicFunction('msg', [\n 'if (typeof console !== \"undefined\" && console.warn) console.warn(msg);',\n ])\n };`,\n `var warnInvalidVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',\n ],\n )};`,\n `var get = ${runtimeTemplate.basicFunction('entry', [\n 'entry.loaded = 1;',\n 'return entry.get()',\n ])};`,\n `var init = ${runtimeTemplate.returningFunction(\n Template.asString([\n 'function(scopeName, a, b, c) {',\n Template.indent([\n `var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,\n `if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,\n `return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,\n ]),\n '}',\n ]),\n 'fn',\n )};`,\n '',\n `var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key',\n [\n 'ensureExistence(scopeName, key);',\n 'return get(findVersion(scope, key));',\n ],\n )});`,\n `var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, fallback',\n [\n `return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,\n ],\n )});`,\n `var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',\n ],\n )});`,\n `var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key',\n [\n 'ensureExistence(scopeName, key);',\n 'return getSingleton(scope, scopeName, key);',\n ],\n )});`,\n `var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return getSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return getValidVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return getStrictSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',\n ],\n )});`,\n `var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return getSingleton(scope, scopeName, key);',\n ],\n )});`,\n `var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return getSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,\n `return entry ? get(entry) : fallback();`,\n ],\n )});`,\n `var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return getStrictSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n 'var installedModules = {};',\n 'var moduleToHandlerMapping = {',\n Template.indent(\n Array.from(\n moduleIdToSourceMapping,\n ([key, source]) => `${JSON.stringify(key)}: ${source.source()}`,\n ).join(',\\n'),\n ),\n '};',\n\n initialConsumes.length > 0\n ? Template.asString([\n `var initialConsumes = ${JSON.stringify(initialConsumes)};`,\n `initialConsumes.forEach(${runtimeTemplate.basicFunction('id', [\n `${\n RuntimeGlobals.moduleFactories\n }[id] = ${runtimeTemplate.basicFunction('module', [\n '// Handle case when module is used sync',\n 'installedModules[id] = 0;',\n `delete ${RuntimeGlobals.moduleCache}[id];`,\n 'var factory = moduleToHandlerMapping[id]();',\n 'if(typeof factory !== \"function\") throw new Error(\"Shared module is not available for eager consumption: \" + id);',\n `module.exports = factory();`,\n ])}`,\n ])});`,\n ])\n : '// no consumes in initial chunks',\n this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)\n ? Template.asString([\n `var chunkMapping = ${JSON.stringify(\n chunkToModuleMapping,\n null,\n '\\t',\n )};`,\n `${\n RuntimeGlobals.ensureChunkHandlers\n }.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [\n `if(${RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,\n Template.indent([\n `chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction(\n 'id',\n [\n `if(${RuntimeGlobals.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,\n `var onFactory = ${runtimeTemplate.basicFunction(\n 'factory',\n [\n 'installedModules[id] = 0;',\n `${\n RuntimeGlobals.moduleFactories\n }[id] = ${runtimeTemplate.basicFunction('module', [\n `delete ${RuntimeGlobals.moduleCache}[id];`,\n 'module.exports = factory();',\n ])}`,\n ],\n )};`,\n `var onError = ${runtimeTemplate.basicFunction('error', [\n 'delete installedModules[id];',\n `${\n RuntimeGlobals.moduleFactories\n }[id] = ${runtimeTemplate.basicFunction('module', [\n `delete ${RuntimeGlobals.moduleCache}[id];`,\n 'throw error;',\n ])}`,\n ])};`,\n 'try {',\n Template.indent([\n 'var promise = moduleToHandlerMapping[id]();',\n 'if(promise.then) {',\n Template.indent(\n \"promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\",\n ),\n '} else onFactory(promise);',\n ]),\n '} catch(e) { onError(e); }',\n ],\n )});`,\n ]),\n '}',\n ])}`,\n ])\n : '// no chunk loading of consumes',\n ]);\n }\n}\n\nexport default ConsumeSharedRuntimeModule;\n"],"names":["ConsumeSharedRuntimeModule","RuntimeModule","generate","compilation","chunkGraph","runtimeTemplate","codeGenerationResults","chunkToModuleMapping","moduleIdToSourceMapping","Map","initialConsumes","addModules","modules","chunk","list","m","module","id","getModuleId","push","set","getSource","runtime","allChunks","getAllAsyncChunks","getAllInitialChunks","getChunkModulesIterableBySourceType","toString","size","Template","asString","parseVersionRuntimeCode","versionLtRuntimeCode","rangeToStringRuntimeCode","satisfyRuntimeCode","basicFunction","RuntimeGlobals","shareScopeMap","hasOwnProperty","outputOptions","ignoreBrowserWarnings","returningFunction","indent","initializeSharing","Array","from","key","source","JSON","stringify","join","length","moduleFactories","moduleCache","_runtimeRequirements","has","ensureChunkHandlers","constructor","runtimeRequirements","STAGE_ATTACH"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport Template from 'webpack/lib/Template';\nimport {\n parseVersionRuntimeCode,\n versionLtRuntimeCode,\n rangeToStringRuntimeCode,\n satisfyRuntimeCode,\n} from 'webpack/lib/util/semver';\nimport RuntimeModule from 'webpack/lib/RuntimeModule';\nimport Module from 'webpack/lib/Module';\nimport ConsumeSharedModule from './ConsumeSharedModule';\nimport type ChunkGraph from 'webpack/lib/ChunkGraph';\nimport type Compilation from 'webpack/lib/Compilation';\nimport type Chunk from 'webpack/lib/Chunk';\nimport { Source } from 'webpack-sources';\n\nclass ConsumeSharedRuntimeModule extends RuntimeModule {\n private _runtimeRequirements: ReadonlySet<string>;\n\n /**\n * @param {ReadonlySet<string>} runtimeRequirements runtime requirements\n */\n constructor(runtimeRequirements: ReadonlySet<string>) {\n super('consumes', RuntimeModule.STAGE_ATTACH);\n this._runtimeRequirements = runtimeRequirements;\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation = this.compilation!;\n const chunkGraph: ChunkGraph = this.chunkGraph!;\n const { runtimeTemplate, codeGenerationResults } = compilation;\n const chunkToModuleMapping: Record<string, any> = {};\n const moduleIdToSourceMapping: Map<string | number, Source> = new Map();\n const initialConsumes: (string | number)[] = [];\n /**\n *\n * @param {Iterable<Module>} modules modules\n * @param {Chunk} chunk the chunk\n * @param {(string | number)[]} list list of ids\n */\n const addModules = (\n modules: Iterable<Module>,\n chunk: Chunk,\n list: (string | number)[],\n ) => {\n for (const m of modules) {\n const module: ConsumeSharedModule = m as ConsumeSharedModule;\n const id = chunkGraph.getModuleId(module);\n list.push(id);\n moduleIdToSourceMapping.set(\n id,\n codeGenerationResults.getSource(\n module,\n chunk.runtime,\n 'consume-shared',\n ),\n );\n }\n };\n const allChunks = [\n ...(this.chunk?.getAllAsyncChunks() || []),\n ...(this.chunk?.getAllInitialChunks() || []),\n ];\n for (const chunk of allChunks) {\n const modules = chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n );\n if (!modules) continue;\n if (!chunk.id) continue;\n\n addModules(\n modules,\n chunk,\n (chunkToModuleMapping[chunk.id.toString()] = []),\n );\n }\n for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {\n const modules = chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n );\n if (!modules) continue;\n addModules(modules, chunk, initialConsumes);\n }\n\n if (moduleIdToSourceMapping.size === 0) return null;\n\n return Template.asString([\n parseVersionRuntimeCode(runtimeTemplate),\n versionLtRuntimeCode(runtimeTemplate),\n rangeToStringRuntimeCode(runtimeTemplate),\n satisfyRuntimeCode(runtimeTemplate),\n `var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [\n `var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);`,\n 'return scope;',\n ])};`,\n `var findVersion = ${runtimeTemplate.basicFunction('scope, key', [\n 'var versions = scope[key];',\n `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n 'a, b',\n ['return !a || versionLt(a, b) ? b : a;'],\n )}, 0);`,\n 'return key && versions[key]',\n ])};`,\n `var findSingletonVersionKey = ${runtimeTemplate.basicFunction(\n 'scope, key',\n [\n 'var versions = scope[key];',\n `return Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n 'a, b',\n ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'],\n )}, 0);`,\n ],\n )};`,\n `var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction(\n 'scope, key, version, requiredVersion',\n [\n `return \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"`,\n ],\n )};`,\n `var getSingleton = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var version = findSingletonVersionKey(scope, key);',\n 'return get(scope[key][version]);',\n ],\n )};`,\n `var getSingletonVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var version = findSingletonVersionKey(scope, key);',\n 'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',\n 'return get(scope[key][version]);',\n ],\n )};`,\n `var getStrictSingletonVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var version = findSingletonVersionKey(scope, key);',\n 'if (!satisfy(requiredVersion, version)) ' +\n 'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',\n 'return get(scope[key][version]);',\n ],\n )};`,\n `var findValidVersion = ${runtimeTemplate.basicFunction(\n 'scope, key, requiredVersion',\n [\n 'var versions = scope[key];',\n `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n 'a, b',\n [\n 'if (!satisfy(requiredVersion, b)) return a;',\n 'return !a || versionLt(a, b) ? b : a;',\n ],\n )}, 0);`,\n 'return key && versions[key]',\n ],\n )};`,\n `var getInvalidVersionMessage = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var versions = scope[key];',\n 'return \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\\\n\" +',\n `\\t\"Available versions: \" + Object.keys(versions).map(${runtimeTemplate.basicFunction(\n 'key',\n ['return key + \" from \" + versions[key].from;'],\n )}).join(\", \");`,\n ],\n )};`,\n `var getValidVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'var entry = findValidVersion(scope, key, requiredVersion);',\n 'if(entry) return get(entry);',\n 'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',\n ],\n )};`,\n `var warn = ${\n compilation.outputOptions.ignoreBrowserWarnings\n ? runtimeTemplate.basicFunction('', '')\n : runtimeTemplate.basicFunction('msg', [\n 'if (typeof console !== \"undefined\" && console.warn) console.warn(msg);',\n ])\n };`,\n `var warnInvalidVersion = ${runtimeTemplate.basicFunction(\n 'scope, scopeName, key, requiredVersion',\n [\n 'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',\n ],\n )};`,\n `var get = ${runtimeTemplate.basicFunction('entry', [\n 'entry.loaded = 1;',\n 'return entry.get()',\n ])};`,\n `var init = ${runtimeTemplate.returningFunction(\n Template.asString([\n 'function(scopeName, a, b, c) {',\n Template.indent([\n `var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,\n `if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,\n `return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,\n ]),\n '}',\n ]),\n 'fn',\n )};`,\n '',\n `var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key',\n [\n 'ensureExistence(scopeName, key);',\n 'return get(findVersion(scope, key));',\n ],\n )});`,\n `var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, fallback',\n [\n `return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,\n ],\n )});`,\n `var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',\n ],\n )});`,\n `var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key',\n [\n 'ensureExistence(scopeName, key);',\n 'return getSingleton(scope, scopeName, key);',\n ],\n )});`,\n `var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return getSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return getValidVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version',\n [\n 'ensureExistence(scopeName, key);',\n 'return getStrictSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',\n ],\n )});`,\n `var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return getSingleton(scope, scopeName, key);',\n ],\n )});`,\n `var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return getSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n `var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,\n `return entry ? get(entry) : fallback();`,\n ],\n )});`,\n `var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n 'scopeName, scope, key, version, fallback',\n [\n `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n 'return getStrictSingletonVersion(scope, scopeName, key, version);',\n ],\n )});`,\n 'var installedModules = {};',\n 'var moduleToHandlerMapping = {',\n Template.indent(\n Array.from(\n moduleIdToSourceMapping,\n ([key, source]) => `${JSON.stringify(key)}: ${source.source()}`,\n ).join(',\\n'),\n ),\n '};',\n\n initialConsumes.length > 0\n ? Template.asString([\n `var initialConsumes = ${JSON.stringify(initialConsumes)};`,\n `initialConsumes.forEach(${runtimeTemplate.basicFunction('id', [\n `${\n RuntimeGlobals.moduleFactories\n }[id] = ${runtimeTemplate.basicFunction('module', [\n '// Handle case when module is used sync',\n 'installedModules[id] = 0;',\n `delete ${RuntimeGlobals.moduleCache}[id];`,\n 'var factory = moduleToHandlerMapping[id]();',\n 'if(typeof factory !== \"function\") throw new Error(\"Shared module is not available for eager consumption: \" + id);',\n `module.exports = factory();`,\n ])}`,\n ])});`,\n ])\n : '// no consumes in initial chunks',\n this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)\n ? Template.asString([\n `var chunkMapping = ${JSON.stringify(\n chunkToModuleMapping,\n null,\n '\\t',\n )};`,\n `${\n RuntimeGlobals.ensureChunkHandlers\n }.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [\n `if(${RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,\n Template.indent([\n `chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction(\n 'id',\n [\n `if(${RuntimeGlobals.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,\n `var onFactory = ${runtimeTemplate.basicFunction(\n 'factory',\n [\n 'installedModules[id] = 0;',\n `${\n RuntimeGlobals.moduleFactories\n }[id] = ${runtimeTemplate.basicFunction('module', [\n `delete ${RuntimeGlobals.moduleCache}[id];`,\n 'module.exports = factory();',\n ])}`,\n ],\n )};`,\n `var onError = ${runtimeTemplate.basicFunction('error', [\n 'delete installedModules[id];',\n `${\n RuntimeGlobals.moduleFactories\n }[id] = ${runtimeTemplate.basicFunction('module', [\n `delete ${RuntimeGlobals.moduleCache}[id];`,\n 'throw error;',\n ])}`,\n ])};`,\n 'try {',\n Template.indent([\n 'var promise = moduleToHandlerMapping[id]();',\n 'if(promise.then) {',\n Template.indent(\n \"promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\",\n ),\n '} else onFactory(promise);',\n ]),\n '} catch(e) { onError(e); }',\n ],\n )});`,\n ]),\n '}',\n ])}`,\n ])\n : '// no chunk loading of consumes',\n ]);\n }\n}\n\nexport default ConsumeSharedRuntimeModule;\n"],"names":["ConsumeSharedRuntimeModule","RuntimeModule","generate","compilation","chunkGraph","runtimeTemplate","codeGenerationResults","chunkToModuleMapping","moduleIdToSourceMapping","Map","initialConsumes","addModules","modules","chunk","list","m","module","id","getModuleId","push","set","getSource","runtime","allChunks","getAllAsyncChunks","getAllInitialChunks","getChunkModulesIterableBySourceType","toString","size","Template","asString","parseVersionRuntimeCode","versionLtRuntimeCode","rangeToStringRuntimeCode","satisfyRuntimeCode","basicFunction","RuntimeGlobals","shareScopeMap","hasOwnProperty","outputOptions","ignoreBrowserWarnings","returningFunction","indent","initializeSharing","Array","from","key","source","JSON","stringify","join","length","moduleFactories","moduleCache","_runtimeRequirements","has","ensureChunkHandlers","constructor","runtimeRequirements","STAGE_ATTACH"],"mappings":"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"}
|
|
@@ -11,9 +11,13 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
return _default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const _ModuleDependency = /*#__PURE__*/ _interop_require_default(require("webpack/lib/dependencies/ModuleDependency"));
|
|
15
|
+
const _makeSerializable = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/makeSerializable"));
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
17
21
|
let ProvideForSharedDependency = class ProvideForSharedDependency extends _ModuleDependency.default {
|
|
18
22
|
get type() {
|
|
19
23
|
return 'provide module for shared';
|