@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.
Files changed (67) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +1 -1
  3. package/src/index.js +22 -18
  4. package/src/index.js.map +1 -1
  5. package/src/lib/Constants.js +33 -33
  6. package/src/lib/Constants.js.map +1 -1
  7. package/src/lib/container/AsyncBoundaryPlugin.js +12 -5
  8. package/src/lib/container/AsyncBoundaryPlugin.js.map +1 -1
  9. package/src/lib/container/ContainerEntryDependency.js +7 -3
  10. package/src/lib/container/ContainerEntryDependency.js.map +1 -1
  11. package/src/lib/container/ContainerEntryModule.js +51 -9
  12. package/src/lib/container/ContainerEntryModule.js.map +1 -1
  13. package/src/lib/container/ContainerEntryModuleFactory.js +7 -3
  14. package/src/lib/container/ContainerEntryModuleFactory.js.map +1 -1
  15. package/src/lib/container/ContainerExposedDependency.js +7 -3
  16. package/src/lib/container/ContainerExposedDependency.js.map +1 -1
  17. package/src/lib/container/ContainerPlugin.js +9 -5
  18. package/src/lib/container/ContainerPlugin.js.map +1 -1
  19. package/src/lib/container/ContainerReferencePlugin.js +53 -11
  20. package/src/lib/container/ContainerReferencePlugin.js.map +1 -1
  21. package/src/lib/container/FallbackDependency.js +7 -3
  22. package/src/lib/container/FallbackDependency.js.map +1 -1
  23. package/src/lib/container/FallbackItemDependency.js +7 -3
  24. package/src/lib/container/FallbackItemDependency.js.map +1 -1
  25. package/src/lib/container/FallbackModule.js +10 -6
  26. package/src/lib/container/FallbackModule.js.map +1 -1
  27. package/src/lib/container/FallbackModuleFactory.js +7 -3
  28. package/src/lib/container/FallbackModuleFactory.js.map +1 -1
  29. package/src/lib/container/ModuleFederationPlugin.js +10 -6
  30. package/src/lib/container/ModuleFederationPlugin.js.map +1 -1
  31. package/src/lib/container/RemoteModule.js +10 -6
  32. package/src/lib/container/RemoteModule.js.map +1 -1
  33. package/src/lib/container/RemoteRuntimeModule.js +8 -4
  34. package/src/lib/container/RemoteRuntimeModule.js.map +1 -1
  35. package/src/lib/container/RemoteToExternalDependency.d.js +6 -2
  36. package/src/lib/container/RemoteToExternalDependency.d.js.map +1 -1
  37. package/src/lib/container/RemoteToExternalDependency.js +7 -3
  38. package/src/lib/container/RemoteToExternalDependency.js.map +1 -1
  39. package/src/lib/sharing/ConsumeSharedFallbackDependency.js +7 -3
  40. package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -1
  41. package/src/lib/sharing/ConsumeSharedModule.js +49 -7
  42. package/src/lib/sharing/ConsumeSharedModule.js.map +1 -1
  43. package/src/lib/sharing/ConsumeSharedPlugin.js +69 -14
  44. package/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
  45. package/src/lib/sharing/ConsumeSharedRuntimeModule.js +47 -5
  46. package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
  47. package/src/lib/sharing/ProvideForSharedDependency.js +7 -3
  48. package/src/lib/sharing/ProvideForSharedDependency.js.map +1 -1
  49. package/src/lib/sharing/ProvideSharedDependency.js +7 -3
  50. package/src/lib/sharing/ProvideSharedDependency.js.map +1 -1
  51. package/src/lib/sharing/ProvideSharedModule.js +49 -7
  52. package/src/lib/sharing/ProvideSharedModule.js.map +1 -1
  53. package/src/lib/sharing/ProvideSharedModuleFactory.js +7 -3
  54. package/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -1
  55. package/src/lib/sharing/ProvideSharedPlugin.js +25 -8
  56. package/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
  57. package/src/lib/sharing/SharePlugin.js +7 -3
  58. package/src/lib/sharing/SharePlugin.js.map +1 -1
  59. package/src/lib/sharing/ShareRuntimeModule.js +47 -5
  60. package/src/lib/sharing/ShareRuntimeModule.js.map +1 -1
  61. package/src/lib/sharing/resolveMatchedConfigs.js +7 -3
  62. package/src/lib/sharing/resolveMatchedConfigs.js.map +1 -1
  63. package/src/lib/sharing/utils.js +6 -6
  64. package/src/lib/sharing/utils.js.map +1 -1
  65. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +5 -0
  66. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +34 -0
  67. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideForSharedDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass ProvideForSharedDependency extends ModuleDependency {\n /**\n *\n * @param request request string\n */\n constructor(request: string) {\n super(request);\n }\n\n override get type(): string {\n return 'provide module for shared';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ProvideForSharedDependency,\n 'enhanced/lib/sharing/ProvideForSharedDependency',\n);\n\nexport default ProvideForSharedDependency;\n"],"names":["ProvideForSharedDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA;;;;+BA4BA;;;eAAA;;;;2EA1B6B;2EACA;AAE7B,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,yBAAgB;IASvD,IAAaC,OAAe;QAC1B,OAAO;IACT;IAEA,IAAaC,WAAmB;QAC9B,OAAO;IACT;IAdA;;;GAGC,GACDC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;IACR;AASF;AAEAC,IAAAA,yBAAgB,EACdN,4BACA;MAGF,WAAeA"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideForSharedDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass ProvideForSharedDependency extends ModuleDependency {\n /**\n *\n * @param request request string\n */\n constructor(request: string) {\n super(request);\n }\n\n override get type(): string {\n return 'provide module for shared';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ProvideForSharedDependency,\n 'enhanced/lib/sharing/ProvideForSharedDependency',\n);\n\nexport default ProvideForSharedDependency;\n"],"names":["ProvideForSharedDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA;;;;+BA4BA;;;eAAA;;;yEA1B6B;yEACA;;;;;;AAE7B,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,yBAAgB;IASvD,IAAaC,OAAe;QAC1B,OAAO;IACT;IAEA,IAAaC,WAAmB;QAC9B,OAAO;IACT;IAdA;;;GAGC,GACDC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;IACR;AASF;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 _interop_require_default = require("@swc/helpers/_/_interop_require_default");
15
- const _makeSerializable = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/makeSerializable"));
16
- const _Dependency = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/Dependency"));
14
+ const _makeSerializable = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/makeSerializable"));
15
+ const _Dependency = /*#__PURE__*/ _interop_require_default(require("webpack/lib/Dependency"));
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
17
21
  let ProvideSharedDependency = class ProvideSharedDependency extends _Dependency.default {
18
22
  get type() {
19
23
  return 'provide shared module';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport Dependency from 'webpack/lib/Dependency';\nimport {\n ObjectDeserializerContext,\n ObjectSerializerContext,\n} from '../../declarations/plugins/container/Dependency';\n\nclass ProvideSharedDependency extends Dependency {\n shareScope: string;\n name: string;\n version: string | false;\n request: string;\n eager: boolean;\n\n /**\n * @param {string} shareScope share scope\n * @param {string} name module name\n * @param {string | false} version version\n * @param {string} request request\n * @param {boolean} eager true, if this is an eager dependency\n */\n constructor(\n shareScope: string,\n name: string,\n version: string | false,\n request: string,\n eager: boolean,\n ) {\n super();\n this.shareScope = shareScope;\n this.name = name;\n this.version = version;\n this.request = request;\n this.eager = eager;\n }\n\n override get type(): string {\n return 'provide shared module';\n }\n\n /**\n * @returns {string | null} an identifier to merge equal requests\n */\n override getResourceIdentifier(): string | null {\n return `provide module (${this.shareScope}) ${this.request} as ${\n this.name\n } @ ${this.version}${this.eager ? ' (eager)' : ''}`;\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n context.write(this.shareScope);\n context.write(this.name);\n context.write(this.request);\n context.write(this.version);\n context.write(this.eager);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n * @returns {ProvideSharedDependency} deserialize fallback dependency\n */\n static deserialize(\n context: ObjectDeserializerContext,\n ): ProvideSharedDependency {\n const { read } = context;\n const obj = new ProvideSharedDependency(\n read(),\n read(),\n read(),\n read(),\n read(),\n );\n //@ts-ignore\n this.shareScope = context.read();\n obj.deserialize(context);\n return obj;\n }\n}\n\nmakeSerializable(\n ProvideSharedDependency,\n 'enhanced/lib/sharing/ProvideSharedDependency',\n);\n\nexport default ProvideSharedDependency;\n"],"names":["ProvideSharedDependency","Dependency","type","getResourceIdentifier","shareScope","request","name","version","eager","serialize","context","write","deserialize","read","obj","constructor","makeSerializable"],"mappings":"AAAA;;;AAGA;;;;+BA0FA;;;eAAA;;;;2EAxF6B;qEACN;AAMvB,IAAA,AAAMA,0BAAN,MAAMA,gCAAgCC,mBAAU;IA6B9C,IAAaC,OAAe;QAC1B,OAAO;IACT;IAEA;;GAEC,GACD,AAASC,wBAAuC;QAC9C,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAACC,UAAU,CAAC,EAAE,EAAE,IAAI,CAACC,OAAO,CAAC,IAAI,EAC7D,IAAI,CAACC,IAAI,CACV,GAAG,EAAE,IAAI,CAACC,OAAO,CAAC,EAAE,IAAI,CAACC,KAAK,GAAG,aAAa,GAAG,CAAC;IACrD;IAEA;;GAEC,GACD,AAASC,UAAUC,OAAgC,EAAQ;QACzDA,QAAQC,KAAK,CAAC,IAAI,CAACP,UAAU;QAC7BM,QAAQC,KAAK,CAAC,IAAI,CAACL,IAAI;QACvBI,QAAQC,KAAK,CAAC,IAAI,CAACN,OAAO;QAC1BK,QAAQC,KAAK,CAAC,IAAI,CAACJ,OAAO;QAC1BG,QAAQC,KAAK,CAAC,IAAI,CAACH,KAAK;QACxB,KAAK,CAACC,UAAUC;IAClB;IAEA;;;GAGC,GACD,OAAOE,YACLF,OAAkC,EACT;QACzB,MAAM,EAAEG,IAAI,EAAE,GAAGH;QACjB,MAAMI,MAAM,IAAId,wBACda,QACAA,QACAA,QACAA,QACAA;QAEF,YAAY;QACZ,IAAI,CAACT,UAAU,GAAGM,QAAQG,IAAI;QAC9BC,IAAIF,WAAW,CAACF;QAChB,OAAOI;IACT;IAlEA;;;;;;GAMC,GACDC,YACEX,UAAkB,EAClBE,IAAY,EACZC,OAAuB,EACvBF,OAAe,EACfG,KAAc,CACd;QACA,KAAK;QACL,IAAI,CAACJ,UAAU,GAAGA;QAClB,IAAI,CAACE,IAAI,GAAGA;QACZ,IAAI,CAACC,OAAO,GAAGA;QACf,IAAI,CAACF,OAAO,GAAGA;QACf,IAAI,CAACG,KAAK,GAAGA;IACf;AA+CF;AAEAQ,IAAAA,yBAAgB,EACdhB,yBACA;MAGF,WAAeA"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport Dependency from 'webpack/lib/Dependency';\nimport {\n ObjectDeserializerContext,\n ObjectSerializerContext,\n} from '../../declarations/plugins/container/Dependency';\n\nclass ProvideSharedDependency extends Dependency {\n shareScope: string;\n name: string;\n version: string | false;\n request: string;\n eager: boolean;\n\n /**\n * @param {string} shareScope share scope\n * @param {string} name module name\n * @param {string | false} version version\n * @param {string} request request\n * @param {boolean} eager true, if this is an eager dependency\n */\n constructor(\n shareScope: string,\n name: string,\n version: string | false,\n request: string,\n eager: boolean,\n ) {\n super();\n this.shareScope = shareScope;\n this.name = name;\n this.version = version;\n this.request = request;\n this.eager = eager;\n }\n\n override get type(): string {\n return 'provide shared module';\n }\n\n /**\n * @returns {string | null} an identifier to merge equal requests\n */\n override getResourceIdentifier(): string | null {\n return `provide module (${this.shareScope}) ${this.request} as ${\n this.name\n } @ ${this.version}${this.eager ? ' (eager)' : ''}`;\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n context.write(this.shareScope);\n context.write(this.name);\n context.write(this.request);\n context.write(this.version);\n context.write(this.eager);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n * @returns {ProvideSharedDependency} deserialize fallback dependency\n */\n static deserialize(\n context: ObjectDeserializerContext,\n ): ProvideSharedDependency {\n const { read } = context;\n const obj = new ProvideSharedDependency(\n read(),\n read(),\n read(),\n read(),\n read(),\n );\n //@ts-ignore\n this.shareScope = context.read();\n obj.deserialize(context);\n return obj;\n }\n}\n\nmakeSerializable(\n ProvideSharedDependency,\n 'enhanced/lib/sharing/ProvideSharedDependency',\n);\n\nexport default ProvideSharedDependency;\n"],"names":["ProvideSharedDependency","Dependency","type","getResourceIdentifier","shareScope","request","name","version","eager","serialize","context","write","deserialize","read","obj","constructor","makeSerializable"],"mappings":"AAAA;;;AAGA;;;;+BA0FA;;;eAAA;;;yEAxF6B;mEACN;;;;;;AAMvB,IAAA,AAAMA,0BAAN,MAAMA,gCAAgCC,mBAAU;IA6B9C,IAAaC,OAAe;QAC1B,OAAO;IACT;IAEA;;GAEC,GACD,AAASC,wBAAuC;QAC9C,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAACC,UAAU,CAAC,EAAE,EAAE,IAAI,CAACC,OAAO,CAAC,IAAI,EAC7D,IAAI,CAACC,IAAI,CACV,GAAG,EAAE,IAAI,CAACC,OAAO,CAAC,EAAE,IAAI,CAACC,KAAK,GAAG,aAAa,GAAG,CAAC;IACrD;IAEA;;GAEC,GACD,AAASC,UAAUC,OAAgC,EAAQ;QACzDA,QAAQC,KAAK,CAAC,IAAI,CAACP,UAAU;QAC7BM,QAAQC,KAAK,CAAC,IAAI,CAACL,IAAI;QACvBI,QAAQC,KAAK,CAAC,IAAI,CAACN,OAAO;QAC1BK,QAAQC,KAAK,CAAC,IAAI,CAACJ,OAAO;QAC1BG,QAAQC,KAAK,CAAC,IAAI,CAACH,KAAK;QACxB,KAAK,CAACC,UAAUC;IAClB;IAEA;;;GAGC,GACD,OAAOE,YACLF,OAAkC,EACT;QACzB,MAAM,EAAEG,IAAI,EAAE,GAAGH;QACjB,MAAMI,MAAM,IAAId,wBACda,QACAA,QACAA,QACAA,QACAA;QAEF,YAAY;QACZ,IAAI,CAACT,UAAU,GAAGM,QAAQG,IAAI;QAC9BC,IAAIF,WAAW,CAACF;QAChB,OAAOI;IACT;IAlEA;;;;;;GAMC,GACDC,YACEX,UAAkB,EAClBE,IAAY,EACZC,OAAuB,EACvBF,OAAe,EACfG,KAAc,CACd;QACA,KAAK;QACL,IAAI,CAACJ,UAAU,GAAGA;QAClB,IAAI,CAACE,IAAI,GAAGA;QACZ,IAAI,CAACC,OAAO,GAAGA;QACf,IAAI,CAACF,OAAO,GAAGA;QACf,IAAI,CAACG,KAAK,GAAGA;IACf;AA+CF;AAEAQ,IAAAA,yBAAgB,EACdhB,yBACA;MAGF,WAAeA"}
@@ -11,14 +11,56 @@ 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
- const _AsyncDependenciesBlock = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/AsyncDependenciesBlock"));
17
- const _Module = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/Module"));
18
- const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard._(require("webpack/lib/RuntimeGlobals"));
19
- const _makeSerializable = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/makeSerializable"));
14
+ const _AsyncDependenciesBlock = /*#__PURE__*/ _interop_require_default(require("webpack/lib/AsyncDependenciesBlock"));
15
+ const _Module = /*#__PURE__*/ _interop_require_default(require("webpack/lib/Module"));
16
+ const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard(require("webpack/lib/RuntimeGlobals"));
17
+ const _makeSerializable = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/makeSerializable"));
20
18
  const _ModuleTypeConstants = require("webpack/lib/ModuleTypeConstants");
21
- const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default._(require("./ProvideForSharedDependency"));
19
+ const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default(require("./ProvideForSharedDependency"));
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ function _getRequireWildcardCache(nodeInterop) {
26
+ if (typeof WeakMap !== "function") return null;
27
+ var cacheBabelInterop = new WeakMap();
28
+ var cacheNodeInterop = new WeakMap();
29
+ return (_getRequireWildcardCache = function(nodeInterop) {
30
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
+ })(nodeInterop);
32
+ }
33
+ function _interop_require_wildcard(obj, nodeInterop) {
34
+ if (!nodeInterop && obj && obj.__esModule) {
35
+ return obj;
36
+ }
37
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
+ return {
39
+ default: obj
40
+ };
41
+ }
42
+ var cache = _getRequireWildcardCache(nodeInterop);
43
+ if (cache && cache.has(obj)) {
44
+ return cache.get(obj);
45
+ }
46
+ var newObj = {};
47
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
48
+ for(var key in obj){
49
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
50
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
51
+ if (desc && (desc.get || desc.set)) {
52
+ Object.defineProperty(newObj, key, desc);
53
+ } else {
54
+ newObj[key] = obj[key];
55
+ }
56
+ }
57
+ }
58
+ newObj.default = obj;
59
+ if (cache) {
60
+ cache.set(obj, newObj);
61
+ }
62
+ return newObj;
63
+ }
22
64
  const TYPES = new Set([
23
65
  'share-init'
24
66
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\nimport AsyncDependenciesBlock from 'webpack/lib/AsyncDependenciesBlock';\nimport Module from 'webpack/lib/Module';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport type Compilation from 'webpack/lib/Compilation';\nimport WebpackError from 'webpack/lib/WebpackError';\nimport { WEBPACK_MODULE_TYPE_PROVIDE } from 'webpack/lib/ModuleTypeConstants';\nimport type {\n CodeGenerationContext,\n CodeGenerationResult,\n LibIdentOptions,\n NeedBuildContext,\n RequestShortener,\n ResolverWithOptions,\n ObjectDeserializerContext,\n ObjectSerializerContext,\n} from 'webpack/lib/Module';\nimport { InputFileSystem } from 'webpack/lib/util/fs';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\nimport { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';\n\nconst TYPES = new Set(['share-init']);\n\n/**\n * @class\n * @extends {Module}\n */\nclass ProvideSharedModule extends Module {\n private _shareScope: string;\n private _name: string;\n private _version: string | false;\n private _request: string;\n private _eager: boolean;\n\n /**\n * @constructor\n * @param {string} shareScope shared scope name\n * @param {string} name shared key\n * @param {string | false} version version\n * @param {string} request request to the provided module\n * @param {boolean} eager include the module in sync way\n */\n constructor(\n shareScope: string,\n name: string,\n version: string | false,\n request: string,\n eager: boolean,\n ) {\n super(WEBPACK_MODULE_TYPE_PROVIDE);\n this._shareScope = shareScope;\n this._name = name;\n this._version = version;\n this._request = request;\n this._eager = eager;\n }\n\n /**\n * @returns {string} a unique identifier of the module\n */\n override identifier(): string {\n return `provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`;\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 return `provide shared module (${this._shareScope}) ${this._name}@${\n this._version\n } = ${requestShortener.shorten(this._request)}`;\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 return `${this.layer ? `(${this.layer})/` : ''}webpack/sharing/provide/${\n this._shareScope\n }/${this._name}`;\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 strict: true,\n };\n\n this.clearDependenciesAndBlocks();\n const dep = new ProvideForSharedDependency(this._request);\n if (this._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 * @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 * @returns {Set<string>} types available (do not mutate)\n */\n override getSourceTypes(): Set<string> {\n return TYPES;\n }\n\n /**\n * @param {CodeGenerationContext} context context for code generation\n * @returns {CodeGenerationResult} result\n */\n override codeGeneration({\n runtimeTemplate,\n moduleGraph,\n chunkGraph,\n }: CodeGenerationContext): CodeGenerationResult {\n const runtimeRequirements = new Set([RuntimeGlobals.initializeSharing]);\n const code = `register(${JSON.stringify(this._name)}, ${JSON.stringify(\n this._version || '0',\n )}, ${\n this._eager\n ? runtimeTemplate.syncModuleFactory({\n dependency: this.dependencies[0],\n chunkGraph,\n request: this._request,\n runtimeRequirements,\n })\n : runtimeTemplate.asyncModuleFactory({\n block: this.blocks[0],\n chunkGraph,\n request: this._request,\n runtimeRequirements,\n })\n }${this._eager ? ', 1' : ''});`;\n const sources = new Map();\n const data = new Map();\n data.set('share-init', [\n {\n shareScope: this._shareScope,\n initStage: 10,\n init: code,\n },\n ]);\n return { sources, data, runtimeRequirements };\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n const { write } = context;\n write(this._shareScope);\n write(this._name);\n write(this._version);\n write(this._request);\n write(this._eager);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n * @returns {ProvideSharedModule} deserialize fallback dependency\n */\n static deserialize(context: ObjectDeserializerContext): ProvideSharedModule {\n const { read } = context;\n const obj = new ProvideSharedModule(read(), read(), read(), read(), read());\n obj.deserialize(context);\n return obj;\n }\n}\n\nmakeSerializable(\n ProvideSharedModule,\n 'enhanced/lib/sharing/ProvideSharedModule',\n);\n\nexport default ProvideSharedModule;\n"],"names":["TYPES","Set","ProvideSharedModule","Module","identifier","_shareScope","_name","_version","_request","readableIdentifier","requestShortener","shorten","libIdent","options","layer","needBuild","context","callback","buildInfo","build","compilation","resolver","fs","buildMeta","strict","clearDependenciesAndBlocks","dep","ProvideForSharedDependency","_eager","addDependency","block","AsyncDependenciesBlock","addBlock","size","type","getSourceTypes","codeGeneration","runtimeTemplate","moduleGraph","chunkGraph","runtimeRequirements","RuntimeGlobals","initializeSharing","code","JSON","stringify","syncModuleFactory","dependency","dependencies","request","asyncModuleFactory","blocks","sources","Map","data","set","shareScope","initStage","init","serialize","write","deserialize","read","obj","constructor","name","version","eager","WEBPACK_MODULE_TYPE_PROVIDE","makeSerializable"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\nimport AsyncDependenciesBlock from 'webpack/lib/AsyncDependenciesBlock';\nimport Module from 'webpack/lib/Module';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport type Compilation from 'webpack/lib/Compilation';\nimport WebpackError from 'webpack/lib/WebpackError';\nimport { WEBPACK_MODULE_TYPE_PROVIDE } from 'webpack/lib/ModuleTypeConstants';\nimport type {\n CodeGenerationContext,\n CodeGenerationResult,\n LibIdentOptions,\n NeedBuildContext,\n RequestShortener,\n ResolverWithOptions,\n ObjectDeserializerContext,\n ObjectSerializerContext,\n} from 'webpack/lib/Module';\nimport { InputFileSystem } from 'webpack/lib/util/fs';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\nimport { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';\n\nconst TYPES = new Set(['share-init']);\n\n/**\n * @class\n * @extends {Module}\n */\nclass ProvideSharedModule extends Module {\n private _shareScope: string;\n private _name: string;\n private _version: string | false;\n private _request: string;\n private _eager: boolean;\n\n /**\n * @constructor\n * @param {string} shareScope shared scope name\n * @param {string} name shared key\n * @param {string | false} version version\n * @param {string} request request to the provided module\n * @param {boolean} eager include the module in sync way\n */\n constructor(\n shareScope: string,\n name: string,\n version: string | false,\n request: string,\n eager: boolean,\n ) {\n super(WEBPACK_MODULE_TYPE_PROVIDE);\n this._shareScope = shareScope;\n this._name = name;\n this._version = version;\n this._request = request;\n this._eager = eager;\n }\n\n /**\n * @returns {string} a unique identifier of the module\n */\n override identifier(): string {\n return `provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`;\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 return `provide shared module (${this._shareScope}) ${this._name}@${\n this._version\n } = ${requestShortener.shorten(this._request)}`;\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 return `${this.layer ? `(${this.layer})/` : ''}webpack/sharing/provide/${\n this._shareScope\n }/${this._name}`;\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 strict: true,\n };\n\n this.clearDependenciesAndBlocks();\n const dep = new ProvideForSharedDependency(this._request);\n if (this._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 * @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 * @returns {Set<string>} types available (do not mutate)\n */\n override getSourceTypes(): Set<string> {\n return TYPES;\n }\n\n /**\n * @param {CodeGenerationContext} context context for code generation\n * @returns {CodeGenerationResult} result\n */\n override codeGeneration({\n runtimeTemplate,\n moduleGraph,\n chunkGraph,\n }: CodeGenerationContext): CodeGenerationResult {\n const runtimeRequirements = new Set([RuntimeGlobals.initializeSharing]);\n const code = `register(${JSON.stringify(this._name)}, ${JSON.stringify(\n this._version || '0',\n )}, ${\n this._eager\n ? runtimeTemplate.syncModuleFactory({\n dependency: this.dependencies[0],\n chunkGraph,\n request: this._request,\n runtimeRequirements,\n })\n : runtimeTemplate.asyncModuleFactory({\n block: this.blocks[0],\n chunkGraph,\n request: this._request,\n runtimeRequirements,\n })\n }${this._eager ? ', 1' : ''});`;\n const sources = new Map();\n const data = new Map();\n data.set('share-init', [\n {\n shareScope: this._shareScope,\n initStage: 10,\n init: code,\n },\n ]);\n return { sources, data, runtimeRequirements };\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n const { write } = context;\n write(this._shareScope);\n write(this._name);\n write(this._version);\n write(this._request);\n write(this._eager);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n * @returns {ProvideSharedModule} deserialize fallback dependency\n */\n static deserialize(context: ObjectDeserializerContext): ProvideSharedModule {\n const { read } = context;\n const obj = new ProvideSharedModule(read(), read(), read(), read(), read());\n obj.deserialize(context);\n return obj;\n }\n}\n\nmakeSerializable(\n ProvideSharedModule,\n 'enhanced/lib/sharing/ProvideSharedModule',\n);\n\nexport default ProvideSharedModule;\n"],"names":["TYPES","Set","ProvideSharedModule","Module","identifier","_shareScope","_name","_version","_request","readableIdentifier","requestShortener","shorten","libIdent","options","layer","needBuild","context","callback","buildInfo","build","compilation","resolver","fs","buildMeta","strict","clearDependenciesAndBlocks","dep","ProvideForSharedDependency","_eager","addDependency","block","AsyncDependenciesBlock","addBlock","size","type","getSourceTypes","codeGeneration","runtimeTemplate","moduleGraph","chunkGraph","runtimeRequirements","RuntimeGlobals","initializeSharing","code","JSON","stringify","syncModuleFactory","dependency","dependencies","request","asyncModuleFactory","blocks","sources","Map","data","set","shareScope","initStage","init","serialize","write","deserialize","read","obj","constructor","name","version","eager","WEBPACK_MODULE_TYPE_PROVIDE","makeSerializable"],"mappings":"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"}
@@ -12,9 +12,13 @@ Object.defineProperty(exports, "default", {
12
12
  return _default;
13
13
  }
14
14
  });
15
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
16
- const _ModuleFactory = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/ModuleFactory"));
17
- const _ProvideSharedModule = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedModule"));
15
+ const _ModuleFactory = /*#__PURE__*/ _interop_require_default(require("webpack/lib/ModuleFactory"));
16
+ const _ProvideSharedModule = /*#__PURE__*/ _interop_require_default(require("./ProvideSharedModule"));
17
+ function _interop_require_default(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
21
+ }
18
22
  let ProvideSharedModuleFactory = class ProvideSharedModuleFactory extends _ModuleFactory.default {
19
23
  /**
20
24
  * @param {ModuleFactoryCreateData} data data object
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModuleFactory.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n//@ts-ignore\nimport ModuleFactory from 'webpack/lib/ModuleFactory';\nimport ProvideSharedModule from './ProvideSharedModule';\nimport type {\n ModuleFactoryCreateData,\n ModuleFactoryResult,\n} from 'webpack/lib/ModuleFactory';\nimport ProvideSharedDependency from './ProvideSharedDependency';\n\nclass ProvideSharedModuleFactory extends ModuleFactory {\n /**\n * @param {ModuleFactoryCreateData} data data object\n * @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback\n * @returns {void}\n */\n override create(\n data: ModuleFactoryCreateData,\n callback: (error: Error | null, result?: ModuleFactoryResult) => void,\n ): void {\n const dep: ProvideSharedDependency = data\n .dependencies[0] as ProvideSharedDependency;\n callback(null, {\n module: new ProvideSharedModule(\n dep.shareScope,\n dep.name,\n dep.version,\n dep.request,\n dep.eager,\n ),\n });\n }\n}\n\nexport default ProvideSharedModuleFactory;\n"],"names":["ProvideSharedModuleFactory","ModuleFactory","create","data","callback","dep","dependencies","module","ProvideSharedModule","shareScope","name","version","request","eager"],"mappings":"AAAA;;;AAGA,GACA,YAAY;;;;;+BAiCZ;;;eAAA;;;;wEAhC0B;8EACM;AAOhC,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,sBAAa;IACpD;;;;GAIC,GACD,AAASC,OACPC,IAA6B,EAC7BC,QAAqE,EAC/D;QACN,MAAMC,MAA+BF,KAClCG,YAAY,CAAC,EAAE;QAClBF,SAAS,MAAM;YACbG,QAAQ,IAAIC,4BAAmB,CAC7BH,IAAII,UAAU,EACdJ,IAAIK,IAAI,EACRL,IAAIM,OAAO,EACXN,IAAIO,OAAO,EACXP,IAAIQ,KAAK;QAEb;IACF;AACF;MAEA,WAAeb"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModuleFactory.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n//@ts-ignore\nimport ModuleFactory from 'webpack/lib/ModuleFactory';\nimport ProvideSharedModule from './ProvideSharedModule';\nimport type {\n ModuleFactoryCreateData,\n ModuleFactoryResult,\n} from 'webpack/lib/ModuleFactory';\nimport ProvideSharedDependency from './ProvideSharedDependency';\n\nclass ProvideSharedModuleFactory extends ModuleFactory {\n /**\n * @param {ModuleFactoryCreateData} data data object\n * @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback\n * @returns {void}\n */\n override create(\n data: ModuleFactoryCreateData,\n callback: (error: Error | null, result?: ModuleFactoryResult) => void,\n ): void {\n const dep: ProvideSharedDependency = data\n .dependencies[0] as ProvideSharedDependency;\n callback(null, {\n module: new ProvideSharedModule(\n dep.shareScope,\n dep.name,\n dep.version,\n dep.request,\n dep.eager,\n ),\n });\n }\n}\n\nexport default ProvideSharedModuleFactory;\n"],"names":["ProvideSharedModuleFactory","ModuleFactory","create","data","callback","dep","dependencies","module","ProvideSharedModule","shareScope","name","version","request","eager"],"mappings":"AAAA;;;AAGA,GACA,YAAY;;;;;+BAiCZ;;;eAAA;;;sEAhC0B;4EACM;;;;;;AAOhC,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,sBAAa;IACpD;;;;GAIC,GACD,AAASC,OACPC,IAA6B,EAC7BC,QAAqE,EAC/D;QACN,MAAMC,MAA+BF,KAClCG,YAAY,CAAC,EAAE;QAClBF,SAAS,MAAM;YACbG,QAAQ,IAAIC,4BAAmB,CAC7BH,IAAII,UAAU,EACdJ,IAAIK,IAAI,EACRL,IAAIM,OAAO,EACXN,IAAIO,OAAO,EACXP,IAAIQ,KAAK;QAEb;IACF;AACF;MAEA,WAAeb"}
@@ -11,14 +11,31 @@ 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
14
  const _options = require("../container/options");
17
- const _createschemavalidation = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/create-schema-validation"));
18
- const _WebpackError = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/WebpackError"));
19
- const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default._(require("./ProvideForSharedDependency"));
20
- const _ProvideSharedDependency = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedDependency"));
21
- const _ProvideSharedModuleFactory = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedModuleFactory"));
15
+ const _createschemavalidation = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/create-schema-validation"));
16
+ const _WebpackError = /*#__PURE__*/ _interop_require_default(require("webpack/lib/WebpackError"));
17
+ const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default(require("./ProvideForSharedDependency"));
18
+ const _ProvideSharedDependency = /*#__PURE__*/ _interop_require_default(require("./ProvideSharedDependency"));
19
+ const _ProvideSharedModuleFactory = /*#__PURE__*/ _interop_require_default(require("./ProvideSharedModuleFactory"));
20
+ function _extends() {
21
+ _extends = Object.assign || function(target) {
22
+ for(var i = 1; i < arguments.length; i++){
23
+ var source = arguments[i];
24
+ for(var key in source){
25
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
26
+ target[key] = source[key];
27
+ }
28
+ }
29
+ }
30
+ return target;
31
+ };
32
+ return _extends.apply(this, arguments);
33
+ }
34
+ function _interop_require_default(obj) {
35
+ return obj && obj.__esModule ? obj : {
36
+ default: obj
37
+ };
38
+ }
22
39
  const validate = (0, _createschemavalidation.default)(//eslint-disable-next-line
23
40
  require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'), ()=>require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.json'), {
24
41
  name: 'Provide Shared Plugin',
@@ -105,7 +122,7 @@ require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'), ()=>req
105
122
  for (const [prefix, config] of prefixMatchProvides){
106
123
  if (request.startsWith(prefix) && resource) {
107
124
  const remainder = request.slice(prefix.length);
108
- provideSharedModule(resource, _extends._({}, config, {
125
+ provideSharedModule(resource, _extends({}, config, {
109
126
  shareKey: config.shareKey + remainder
110
127
  }), resource, resourceResolveData);
111
128
  resolveData.cacheable = false;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport createSchemaValidation from 'webpack/lib/util/create-schema-validation';\nimport WebpackError from 'webpack/lib/WebpackError';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\nimport ProvideSharedDependency from './ProvideSharedDependency';\nimport ProvideSharedModuleFactory from './ProvideSharedModuleFactory';\nimport type Compiler from 'webpack/lib/Compiler';\nimport type Compilation from 'webpack/lib/Compilation';\nimport type { ProvideSharedPluginOptions } from '../../declarations/plugins/sharing/ProvideSharedPlugin';\n\nexport type ProvideOptions = {\n shareKey: string;\n shareScope: string;\n version: string | undefined | false;\n eager: boolean;\n};\nexport type ResolvedProvideMap = Map<\n string,\n {\n config: ProvideOptions;\n version: string | undefined | false;\n }\n>;\n\nconst validate = createSchemaValidation(\n //eslint-disable-next-line\n require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'),\n () => require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.json'),\n {\n name: 'Provide Shared Plugin',\n baseDataPath: 'options',\n },\n);\n\n/**\n * @typedef {Object} ProvideOptions\n * @property {string} shareKey\n * @property {string} shareScope\n * @property {string | undefined | false} version\n * @property {boolean} eager\n */\n\n/** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */\n\nclass ProvideSharedPlugin {\n private _provides: [string, ProvideOptions][];\n\n /**\n * @param {ProvideSharedPluginOptions} options options\n */\n constructor(options: ProvideSharedPluginOptions) {\n validate(options);\n //@ts-ignore\n this._provides = parseOptions(\n options.provides,\n (item) => {\n if (Array.isArray(item))\n throw new Error('Unexpected array of provides');\n /** @type {ProvideOptions} */\n const result = {\n shareKey: item,\n version: undefined,\n shareScope: options.shareScope || 'default',\n eager: false,\n };\n return result;\n },\n (item) => ({\n shareKey: item.shareKey,\n version: item.version,\n shareScope: item.shareScope || options.shareScope || 'default',\n eager: !!item.eager,\n }),\n );\n this._provides.sort(([a], [b]) => {\n if (a < b) return -1;\n if (b < a) return 1;\n return 0;\n });\n }\n\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler): void {\n const compilationData: WeakMap<Compilation, ResolvedProvideMap> =\n new WeakMap();\n\n compiler.hooks.compilation.tap(\n 'ProvideSharedPlugin',\n (compilation: Compilation, { normalModuleFactory }) => {\n const resolvedProvideMap: ResolvedProvideMap = new Map();\n const matchProvides: Map<string, ProvideOptions> = new Map();\n const prefixMatchProvides: Map<string, ProvideOptions> = new Map();\n for (const [request, config] of this._provides) {\n if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\|\\.\\.?(\\/|$))/.test(request)) {\n // relative request\n resolvedProvideMap.set(request, {\n config,\n version: config.version,\n });\n } else if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\)/.test(request)) {\n // absolute path\n resolvedProvideMap.set(request, {\n config,\n version: config.version,\n });\n } else if (request.endsWith('/')) {\n // module request prefix\n prefixMatchProvides.set(request, config);\n } else {\n // module request\n matchProvides.set(request, config);\n }\n }\n compilationData.set(compilation, resolvedProvideMap);\n const provideSharedModule = (\n key: string,\n config: ProvideOptions,\n resource: string,\n resourceResolveData: any,\n ) => {\n let version = config.version;\n if (version === undefined) {\n let details = '';\n if (!resourceResolveData) {\n details = `No resolve data provided from resolver.`;\n } else {\n const descriptionFileData =\n resourceResolveData.descriptionFileData;\n if (!descriptionFileData) {\n details =\n 'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';\n } else if (!descriptionFileData.version) {\n details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;\n } else {\n version = descriptionFileData.version;\n }\n }\n if (!version) {\n const error = new WebpackError(\n `No version specified and unable to automatically determine one. ${details}`,\n );\n error.file = `shared module ${key} -> ${resource}`;\n compilation.warnings.push(error);\n }\n }\n resolvedProvideMap.set(resource, {\n config,\n version,\n });\n };\n normalModuleFactory.hooks.module.tap(\n 'ProvideSharedPlugin',\n (module, { resource, resourceResolveData }, resolveData) => {\n if (resource && resolvedProvideMap.has(resource)) {\n return module;\n }\n const { request } = resolveData;\n {\n const config = matchProvides.get(request);\n if (config !== undefined && resource) {\n provideSharedModule(\n request,\n config,\n resource,\n resourceResolveData,\n );\n resolveData.cacheable = false;\n }\n }\n for (const [prefix, config] of prefixMatchProvides) {\n if (request.startsWith(prefix) && resource) {\n const remainder = request.slice(prefix.length);\n provideSharedModule(\n resource,\n {\n ...config,\n shareKey: config.shareKey + remainder,\n },\n resource,\n resourceResolveData,\n );\n resolveData.cacheable = false;\n }\n }\n return module;\n },\n );\n },\n );\n compiler.hooks.finishMake.tapPromise(\n 'ProvideSharedPlugin',\n async (compilation: Compilation) => {\n const resolvedProvideMap = compilationData.get(compilation);\n if (!resolvedProvideMap) return;\n await Promise.all(\n Array.from(\n resolvedProvideMap,\n ([resource, { config, version }]) =>\n new Promise<void>((resolve, reject) => {\n compilation.addInclude(\n compiler.context,\n //@ts-ignore\n new ProvideSharedDependency(\n config.shareScope,\n config.shareKey,\n version || false,\n resource,\n config.eager,\n ),\n {\n name: undefined,\n },\n (err: WebpackError | null | undefined) => {\n if (err) return reject(err);\n resolve();\n },\n );\n }),\n ),\n );\n },\n );\n\n compiler.hooks.compilation.tap(\n 'ProvideSharedPlugin',\n (compilation: Compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n ProvideForSharedDependency,\n normalModuleFactory,\n );\n\n compilation.dependencyFactories.set(\n //@ts-ignore\n ProvideSharedDependency,\n new ProvideSharedModuleFactory(),\n );\n },\n );\n }\n}\nexport default ProvideSharedPlugin;\n"],"names":["validate","createSchemaValidation","require","name","baseDataPath","ProvideSharedPlugin","apply","compiler","compilationData","WeakMap","hooks","compilation","tap","normalModuleFactory","resolvedProvideMap","Map","matchProvides","prefixMatchProvides","request","config","_provides","test","set","version","endsWith","provideSharedModule","key","resource","resourceResolveData","undefined","details","descriptionFileData","descriptionFilePath","error","WebpackError","file","warnings","push","module","resolveData","has","get","cacheable","prefix","startsWith","remainder","slice","length","shareKey","finishMake","tapPromise","Promise","all","Array","from","resolve","reject","addInclude","context","ProvideSharedDependency","shareScope","eager","err","dependencyFactories","ProvideForSharedDependency","ProvideSharedModuleFactory","constructor","options","parseOptions","provides","item","isArray","Error","result","sort","a","b"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport createSchemaValidation from 'webpack/lib/util/create-schema-validation';\nimport WebpackError from 'webpack/lib/WebpackError';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\nimport ProvideSharedDependency from './ProvideSharedDependency';\nimport ProvideSharedModuleFactory from './ProvideSharedModuleFactory';\nimport type Compiler from 'webpack/lib/Compiler';\nimport type Compilation from 'webpack/lib/Compilation';\nimport type { ProvideSharedPluginOptions } from '../../declarations/plugins/sharing/ProvideSharedPlugin';\n\nexport type ProvideOptions = {\n shareKey: string;\n shareScope: string;\n version: string | undefined | false;\n eager: boolean;\n};\nexport type ResolvedProvideMap = Map<\n string,\n {\n config: ProvideOptions;\n version: string | undefined | false;\n }\n>;\n\nconst validate = createSchemaValidation(\n //eslint-disable-next-line\n require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'),\n () => require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.json'),\n {\n name: 'Provide Shared Plugin',\n baseDataPath: 'options',\n },\n);\n\n/**\n * @typedef {Object} ProvideOptions\n * @property {string} shareKey\n * @property {string} shareScope\n * @property {string | undefined | false} version\n * @property {boolean} eager\n */\n\n/** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */\n\nclass ProvideSharedPlugin {\n private _provides: [string, ProvideOptions][];\n\n /**\n * @param {ProvideSharedPluginOptions} options options\n */\n constructor(options: ProvideSharedPluginOptions) {\n validate(options);\n //@ts-ignore\n this._provides = parseOptions(\n options.provides,\n (item) => {\n if (Array.isArray(item))\n throw new Error('Unexpected array of provides');\n /** @type {ProvideOptions} */\n const result = {\n shareKey: item,\n version: undefined,\n shareScope: options.shareScope || 'default',\n eager: false,\n };\n return result;\n },\n (item) => ({\n shareKey: item.shareKey,\n version: item.version,\n shareScope: item.shareScope || options.shareScope || 'default',\n eager: !!item.eager,\n }),\n );\n this._provides.sort(([a], [b]) => {\n if (a < b) return -1;\n if (b < a) return 1;\n return 0;\n });\n }\n\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler): void {\n const compilationData: WeakMap<Compilation, ResolvedProvideMap> =\n new WeakMap();\n\n compiler.hooks.compilation.tap(\n 'ProvideSharedPlugin',\n (compilation: Compilation, { normalModuleFactory }) => {\n const resolvedProvideMap: ResolvedProvideMap = new Map();\n const matchProvides: Map<string, ProvideOptions> = new Map();\n const prefixMatchProvides: Map<string, ProvideOptions> = new Map();\n for (const [request, config] of this._provides) {\n if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\|\\.\\.?(\\/|$))/.test(request)) {\n // relative request\n resolvedProvideMap.set(request, {\n config,\n version: config.version,\n });\n } else if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\)/.test(request)) {\n // absolute path\n resolvedProvideMap.set(request, {\n config,\n version: config.version,\n });\n } else if (request.endsWith('/')) {\n // module request prefix\n prefixMatchProvides.set(request, config);\n } else {\n // module request\n matchProvides.set(request, config);\n }\n }\n compilationData.set(compilation, resolvedProvideMap);\n const provideSharedModule = (\n key: string,\n config: ProvideOptions,\n resource: string,\n resourceResolveData: any,\n ) => {\n let version = config.version;\n if (version === undefined) {\n let details = '';\n if (!resourceResolveData) {\n details = `No resolve data provided from resolver.`;\n } else {\n const descriptionFileData =\n resourceResolveData.descriptionFileData;\n if (!descriptionFileData) {\n details =\n 'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';\n } else if (!descriptionFileData.version) {\n details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;\n } else {\n version = descriptionFileData.version;\n }\n }\n if (!version) {\n const error = new WebpackError(\n `No version specified and unable to automatically determine one. ${details}`,\n );\n error.file = `shared module ${key} -> ${resource}`;\n compilation.warnings.push(error);\n }\n }\n resolvedProvideMap.set(resource, {\n config,\n version,\n });\n };\n normalModuleFactory.hooks.module.tap(\n 'ProvideSharedPlugin',\n (module, { resource, resourceResolveData }, resolveData) => {\n if (resource && resolvedProvideMap.has(resource)) {\n return module;\n }\n const { request } = resolveData;\n {\n const config = matchProvides.get(request);\n if (config !== undefined && resource) {\n provideSharedModule(\n request,\n config,\n resource,\n resourceResolveData,\n );\n resolveData.cacheable = false;\n }\n }\n for (const [prefix, config] of prefixMatchProvides) {\n if (request.startsWith(prefix) && resource) {\n const remainder = request.slice(prefix.length);\n provideSharedModule(\n resource,\n {\n ...config,\n shareKey: config.shareKey + remainder,\n },\n resource,\n resourceResolveData,\n );\n resolveData.cacheable = false;\n }\n }\n return module;\n },\n );\n },\n );\n compiler.hooks.finishMake.tapPromise(\n 'ProvideSharedPlugin',\n async (compilation: Compilation) => {\n const resolvedProvideMap = compilationData.get(compilation);\n if (!resolvedProvideMap) return;\n await Promise.all(\n Array.from(\n resolvedProvideMap,\n ([resource, { config, version }]) =>\n new Promise<void>((resolve, reject) => {\n compilation.addInclude(\n compiler.context,\n //@ts-ignore\n new ProvideSharedDependency(\n config.shareScope,\n config.shareKey,\n version || false,\n resource,\n config.eager,\n ),\n {\n name: undefined,\n },\n (err: WebpackError | null | undefined) => {\n if (err) return reject(err);\n resolve();\n },\n );\n }),\n ),\n );\n },\n );\n\n compiler.hooks.compilation.tap(\n 'ProvideSharedPlugin',\n (compilation: Compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n ProvideForSharedDependency,\n normalModuleFactory,\n );\n\n compilation.dependencyFactories.set(\n //@ts-ignore\n ProvideSharedDependency,\n new ProvideSharedModuleFactory(),\n );\n },\n );\n }\n}\nexport default ProvideSharedPlugin;\n"],"names":["validate","createSchemaValidation","require","name","baseDataPath","ProvideSharedPlugin","apply","compiler","compilationData","WeakMap","hooks","compilation","tap","normalModuleFactory","resolvedProvideMap","Map","matchProvides","prefixMatchProvides","request","config","_provides","test","set","version","endsWith","provideSharedModule","key","resource","resourceResolveData","undefined","details","descriptionFileData","descriptionFilePath","error","WebpackError","file","warnings","push","module","resolveData","has","get","cacheable","prefix","startsWith","remainder","slice","length","shareKey","finishMake","tapPromise","Promise","all","Array","from","resolve","reject","addInclude","context","ProvideSharedDependency","shareScope","eager","err","dependencyFactories","ProvideForSharedDependency","ProvideSharedModuleFactory","constructor","options","parseOptions","provides","item","isArray","Error","result","sort","a","b"],"mappings":"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"}
@@ -11,11 +11,15 @@ Object.defineProperty(exports, "default", {
11
11
  return _default;
12
12
  }
13
13
  });
14
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
15
14
  const _options = require("../container/options");
16
- const _ConsumeSharedPlugin = /*#__PURE__*/ _interop_require_default._(require("./ConsumeSharedPlugin"));
17
- const _ProvideSharedPlugin = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedPlugin"));
15
+ const _ConsumeSharedPlugin = /*#__PURE__*/ _interop_require_default(require("./ConsumeSharedPlugin"));
16
+ const _ProvideSharedPlugin = /*#__PURE__*/ _interop_require_default(require("./ProvideSharedPlugin"));
18
17
  const _utils = require("./utils");
18
+ function _interop_require_default(obj) {
19
+ return obj && obj.__esModule ? obj : {
20
+ default: obj
21
+ };
22
+ }
19
23
  let SharePlugin = class SharePlugin {
20
24
  /**
21
25
  * Apply the plugin
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/SharePlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport ConsumeSharedPlugin from './ConsumeSharedPlugin';\nimport ProvideSharedPlugin from './ProvideSharedPlugin';\nimport { isRequiredVersion } from './utils';\nimport type {\n SharePluginOptions,\n SharedConfig,\n} from '../../declarations/plugins/sharing/SharePlugin';\nimport type { ConsumesConfig } from '../../declarations/plugins/sharing/ConsumeSharedPlugin';\nimport type Compiler from 'webpack/lib/Compiler';\nimport type { ProvidesConfig } from '../../declarations/plugins/sharing/ProvideSharedPlugin';\n\nclass SharePlugin {\n private _shareScope: string;\n private _consumes: Record<string, ConsumesConfig>[];\n private _provides: Record<string, ProvidesConfig>[];\n\n constructor(options: SharePluginOptions) {\n const sharedOptions: [string, SharedConfig][] = parseOptions(\n options.shared,\n (item, key) => {\n if (typeof item !== 'string')\n throw new Error('Unexpected array in shared');\n const config: SharedConfig =\n item === key || !isRequiredVersion(item)\n ? {\n import: item,\n }\n : {\n import: key,\n requiredVersion: item,\n };\n return config;\n },\n (item) => item,\n );\n const consumes: Record<string, ConsumesConfig>[] = sharedOptions.map(\n ([key, options]) => ({\n [key]: {\n import: options.import,\n shareKey: options.shareKey || key,\n shareScope: options.shareScope,\n requiredVersion: options.requiredVersion,\n strictVersion: options.strictVersion,\n singleton: options.singleton,\n packageName: options.packageName,\n eager: options.eager,\n },\n }),\n );\n const provides: Record<string, ProvidesConfig>[] = sharedOptions\n .filter(([, options]) => options.import !== false)\n .map(([key, options]) => ({\n [options.import || key]: {\n shareKey: options.shareKey || key,\n shareScope: options.shareScope,\n version: options.version,\n eager: options.eager,\n },\n }));\n //@ts-ignore\n this._shareScope = options.shareScope;\n this._consumes = consumes;\n this._provides = provides;\n }\n\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler) {\n new ConsumeSharedPlugin({\n shareScope: this._shareScope,\n consumes: this._consumes,\n }).apply(compiler);\n new ProvideSharedPlugin({\n shareScope: this._shareScope,\n provides: this._provides,\n }).apply(compiler);\n }\n}\n\nexport default SharePlugin;\n"],"names":["SharePlugin","apply","compiler","ConsumeSharedPlugin","shareScope","_shareScope","consumes","_consumes","ProvideSharedPlugin","provides","_provides","constructor","options","sharedOptions","parseOptions","shared","item","key","Error","config","isRequiredVersion","import","requiredVersion","map","shareKey","strictVersion","singleton","packageName","eager","filter","version"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BAqFA;;;eAAA;;;;yBAnF6B;8EACG;8EACA;uBACE;AASlC,IAAA,AAAMA,cAAN,MAAMA;IAsDJ;;;;GAIC,GACDC,MAAMC,QAAkB,EAAE;QACxB,IAAIC,4BAAmB,CAAC;YACtBC,YAAY,IAAI,CAACC,WAAW;YAC5BC,UAAU,IAAI,CAACC,SAAS;QAC1B,GAAGN,KAAK,CAACC;QACT,IAAIM,4BAAmB,CAAC;YACtBJ,YAAY,IAAI,CAACC,WAAW;YAC5BI,UAAU,IAAI,CAACC,SAAS;QAC1B,GAAGT,KAAK,CAACC;IACX;IA/DAS,YAAYC,OAA2B,CAAE;QACvC,MAAMC,gBAA0CC,IAAAA,qBAAY,EAC1DF,QAAQG,MAAM,EACd,CAACC,MAAMC;YACL,IAAI,OAAOD,SAAS,UAClB,MAAM,IAAIE,MAAM;YAClB,MAAMC,SACJH,SAASC,OAAO,CAACG,IAAAA,wBAAiB,EAACJ,QAC/B;gBACEK,QAAQL;YACV,IACA;gBACEK,QAAQJ;gBACRK,iBAAiBN;YACnB;YACN,OAAOG;QACT,GACA,CAACH,OAASA;QAEZ,MAAMV,WAA6CO,cAAcU,GAAG,CAClE,CAAC,CAACN,KAAKL,QAAQ,GAAM,CAAA;gBACnB,CAACK,IAAI,EAAE;oBACLI,QAAQT,QAAQS,MAAM;oBACtBG,UAAUZ,QAAQY,QAAQ,IAAIP;oBAC9Bb,YAAYQ,QAAQR,UAAU;oBAC9BkB,iBAAiBV,QAAQU,eAAe;oBACxCG,eAAeb,QAAQa,aAAa;oBACpCC,WAAWd,QAAQc,SAAS;oBAC5BC,aAAaf,QAAQe,WAAW;oBAChCC,OAAOhB,QAAQgB,KAAK;gBACtB;YACF,CAAA;QAEF,MAAMnB,WAA6CI,cAChDgB,MAAM,CAAC,CAAC,GAAGjB,QAAQ,GAAKA,QAAQS,MAAM,KAAK,OAC3CE,GAAG,CAAC,CAAC,CAACN,KAAKL,QAAQ,GAAM,CAAA;gBACxB,CAACA,QAAQS,MAAM,IAAIJ,IAAI,EAAE;oBACvBO,UAAUZ,QAAQY,QAAQ,IAAIP;oBAC9Bb,YAAYQ,QAAQR,UAAU;oBAC9B0B,SAASlB,QAAQkB,OAAO;oBACxBF,OAAOhB,QAAQgB,KAAK;gBACtB;YACF,CAAA;QACF,YAAY;QACZ,IAAI,CAACvB,WAAW,GAAGO,QAAQR,UAAU;QACrC,IAAI,CAACG,SAAS,GAAGD;QACjB,IAAI,CAACI,SAAS,GAAGD;IACnB;AAiBF;MAEA,WAAeT"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/SharePlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport ConsumeSharedPlugin from './ConsumeSharedPlugin';\nimport ProvideSharedPlugin from './ProvideSharedPlugin';\nimport { isRequiredVersion } from './utils';\nimport type {\n SharePluginOptions,\n SharedConfig,\n} from '../../declarations/plugins/sharing/SharePlugin';\nimport type { ConsumesConfig } from '../../declarations/plugins/sharing/ConsumeSharedPlugin';\nimport type Compiler from 'webpack/lib/Compiler';\nimport type { ProvidesConfig } from '../../declarations/plugins/sharing/ProvideSharedPlugin';\n\nclass SharePlugin {\n private _shareScope: string;\n private _consumes: Record<string, ConsumesConfig>[];\n private _provides: Record<string, ProvidesConfig>[];\n\n constructor(options: SharePluginOptions) {\n const sharedOptions: [string, SharedConfig][] = parseOptions(\n options.shared,\n (item, key) => {\n if (typeof item !== 'string')\n throw new Error('Unexpected array in shared');\n const config: SharedConfig =\n item === key || !isRequiredVersion(item)\n ? {\n import: item,\n }\n : {\n import: key,\n requiredVersion: item,\n };\n return config;\n },\n (item) => item,\n );\n const consumes: Record<string, ConsumesConfig>[] = sharedOptions.map(\n ([key, options]) => ({\n [key]: {\n import: options.import,\n shareKey: options.shareKey || key,\n shareScope: options.shareScope,\n requiredVersion: options.requiredVersion,\n strictVersion: options.strictVersion,\n singleton: options.singleton,\n packageName: options.packageName,\n eager: options.eager,\n },\n }),\n );\n const provides: Record<string, ProvidesConfig>[] = sharedOptions\n .filter(([, options]) => options.import !== false)\n .map(([key, options]) => ({\n [options.import || key]: {\n shareKey: options.shareKey || key,\n shareScope: options.shareScope,\n version: options.version,\n eager: options.eager,\n },\n }));\n //@ts-ignore\n this._shareScope = options.shareScope;\n this._consumes = consumes;\n this._provides = provides;\n }\n\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler) {\n new ConsumeSharedPlugin({\n shareScope: this._shareScope,\n consumes: this._consumes,\n }).apply(compiler);\n new ProvideSharedPlugin({\n shareScope: this._shareScope,\n provides: this._provides,\n }).apply(compiler);\n }\n}\n\nexport default SharePlugin;\n"],"names":["SharePlugin","apply","compiler","ConsumeSharedPlugin","shareScope","_shareScope","consumes","_consumes","ProvideSharedPlugin","provides","_provides","constructor","options","sharedOptions","parseOptions","shared","item","key","Error","config","isRequiredVersion","import","requiredVersion","map","shareKey","strictVersion","singleton","packageName","eager","filter","version"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BAqFA;;;eAAA;;;yBAnF6B;4EACG;4EACA;uBACE;;;;;;AASlC,IAAA,AAAMA,cAAN,MAAMA;IAsDJ;;;;GAIC,GACDC,MAAMC,QAAkB,EAAE;QACxB,IAAIC,4BAAmB,CAAC;YACtBC,YAAY,IAAI,CAACC,WAAW;YAC5BC,UAAU,IAAI,CAACC,SAAS;QAC1B,GAAGN,KAAK,CAACC;QACT,IAAIM,4BAAmB,CAAC;YACtBJ,YAAY,IAAI,CAACC,WAAW;YAC5BI,UAAU,IAAI,CAACC,SAAS;QAC1B,GAAGT,KAAK,CAACC;IACX;IA/DAS,YAAYC,OAA2B,CAAE;QACvC,MAAMC,gBAA0CC,IAAAA,qBAAY,EAC1DF,QAAQG,MAAM,EACd,CAACC,MAAMC;YACL,IAAI,OAAOD,SAAS,UAClB,MAAM,IAAIE,MAAM;YAClB,MAAMC,SACJH,SAASC,OAAO,CAACG,IAAAA,wBAAiB,EAACJ,QAC/B;gBACEK,QAAQL;YACV,IACA;gBACEK,QAAQJ;gBACRK,iBAAiBN;YACnB;YACN,OAAOG;QACT,GACA,CAACH,OAASA;QAEZ,MAAMV,WAA6CO,cAAcU,GAAG,CAClE,CAAC,CAACN,KAAKL,QAAQ,GAAM,CAAA;gBACnB,CAACK,IAAI,EAAE;oBACLI,QAAQT,QAAQS,MAAM;oBACtBG,UAAUZ,QAAQY,QAAQ,IAAIP;oBAC9Bb,YAAYQ,QAAQR,UAAU;oBAC9BkB,iBAAiBV,QAAQU,eAAe;oBACxCG,eAAeb,QAAQa,aAAa;oBACpCC,WAAWd,QAAQc,SAAS;oBAC5BC,aAAaf,QAAQe,WAAW;oBAChCC,OAAOhB,QAAQgB,KAAK;gBACtB;YACF,CAAA;QAEF,MAAMnB,WAA6CI,cAChDgB,MAAM,CAAC,CAAC,GAAGjB,QAAQ,GAAKA,QAAQS,MAAM,KAAK,OAC3CE,GAAG,CAAC,CAAC,CAACN,KAAKL,QAAQ,GAAM,CAAA;gBACxB,CAACA,QAAQS,MAAM,IAAIJ,IAAI,EAAE;oBACvBO,UAAUZ,QAAQY,QAAQ,IAAIP;oBAC9Bb,YAAYQ,QAAQR,UAAU;oBAC9B0B,SAASlB,QAAQkB,OAAO;oBACxBF,OAAOhB,QAAQgB,KAAK;gBACtB;YACF,CAAA;QACF,YAAY;QACZ,IAAI,CAACvB,WAAW,GAAGO,QAAQR,UAAU;QACrC,IAAI,CAACG,SAAS,GAAGD;QACjB,IAAI,CAACI,SAAS,GAAGD;IACnB;AAiBF;MAEA,WAAeT"}
@@ -11,12 +11,54 @@ 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
- const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard._(require("webpack/lib/RuntimeGlobals"));
17
- const _RuntimeModule = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/RuntimeModule"));
18
- const _Template = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/Template"));
14
+ const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard(require("webpack/lib/RuntimeGlobals"));
15
+ const _RuntimeModule = /*#__PURE__*/ _interop_require_default(require("webpack/lib/RuntimeModule"));
16
+ const _Template = /*#__PURE__*/ _interop_require_default(require("webpack/lib/Template"));
19
17
  const _comparators = require("webpack/lib/util/comparators");
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 ShareRuntimeModule = class ShareRuntimeModule extends _RuntimeModule.default {
21
63
  /**
22
64
  * @returns {string | null} runtime code
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ShareRuntimeModule.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 * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport RuntimeModule from 'webpack/lib/RuntimeModule';\nimport Template from 'webpack/lib/Template';\nimport Compilation from 'webpack/lib/Compilation';\nimport ChunkGraph from 'webpack/lib/ChunkGraph';\nimport {\n compareModulesByIdentifier,\n compareStrings,\n} from 'webpack/lib/util/comparators';\n\nclass ShareRuntimeModule extends RuntimeModule {\n constructor() {\n super('sharing');\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation | undefined = this.compilation;\n if (!compilation) {\n throw new Error('Compilation is undefined');\n }\n const {\n runtimeTemplate,\n codeGenerationResults,\n outputOptions: { uniqueName, ignoreBrowserWarnings },\n } = compilation;\n const chunkGraph: ChunkGraph | undefined = this.chunkGraph;\n if (!chunkGraph) {\n throw new Error('ChunkGraph is undefined');\n }\n const initCodePerScope: Map<string, Map<number, Set<string>>> = new Map();\n for (const chunk of this.chunk?.getAllReferencedChunks() || []) {\n if (!chunk) {\n continue;\n }\n const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(\n chunk,\n 'share-init',\n compareModulesByIdentifier,\n );\n if (!modules) continue;\n for (const m of modules) {\n const data = codeGenerationResults.getData(\n m,\n chunk.runtime,\n 'share-init',\n );\n if (!data) continue;\n for (const item of data) {\n const { shareScope, initStage, init } = item;\n let stages = initCodePerScope.get(shareScope);\n if (stages === undefined) {\n initCodePerScope.set(shareScope, (stages = new Map()));\n }\n let list = stages.get(initStage || 0);\n if (list === undefined) {\n stages.set(initStage || 0, (list = new Set()));\n }\n list.add(init);\n }\n }\n }\n return Template.asString([\n `${RuntimeGlobals.shareScopeMap} = {};`,\n 'var initPromises = {};',\n 'var initTokens = {};',\n `${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction(\n 'name, initScope',\n [\n 'if(!initScope) initScope = [];',\n '// handling circular init calls',\n 'var initToken = initTokens[name];',\n 'if(!initToken) initToken = initTokens[name] = {};',\n 'if(initScope.indexOf(initToken) >= 0) return;',\n 'initScope.push(initToken);',\n '// only runs once',\n 'if(initPromises[name]) return initPromises[name];',\n '// creates a new share scope if needed',\n `if(!${RuntimeGlobals.hasOwnProperty}(${RuntimeGlobals.shareScopeMap}, name)) ${RuntimeGlobals.shareScopeMap}[name] = {};`,\n '// runs all init snippets from all modules reachable',\n `var scope = ${RuntimeGlobals.shareScopeMap}[name];`,\n `var warn = ${\n ignoreBrowserWarnings\n ? runtimeTemplate.basicFunction('', '')\n : runtimeTemplate.basicFunction('msg', [\n 'if (typeof console !== \"undefined\" && console.warn) console.warn(msg);',\n ])\n };`,\n `var uniqueName = ${JSON.stringify(uniqueName || undefined)};`,\n `var register = ${runtimeTemplate.basicFunction(\n 'name, version, factory, eager',\n [\n 'var versions = scope[name] = scope[name] || {};',\n 'var activeVersion = versions[version];',\n 'if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };',\n ],\n )};`,\n `var initExternal = ${runtimeTemplate.basicFunction('id', [\n `var handleError = ${runtimeTemplate.expressionFunction(\n 'warn(\"Initialization of sharing external failed: \" + err)',\n 'err',\n )};`,\n 'try {',\n Template.indent([\n `var module = ${RuntimeGlobals.require}(id);`,\n 'if(!module) return;',\n `var initFn = ${runtimeTemplate.returningFunction(\n `module && module.init && module.init(${RuntimeGlobals.shareScopeMap}[name], initScope)`,\n 'module',\n )}`,\n 'if(module.then) return promises.push(module.then(initFn, handleError));',\n 'var initResult = initFn(module);',\n \"if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\",\n ]),\n '} catch(err) { handleError(err); }',\n ])}`,\n 'var promises = [];',\n 'switch(name) {',\n ...Array.from(initCodePerScope)\n .sort(([a], [b]) => compareStrings(a, b))\n .map(([name, stages]) =>\n Template.indent([\n `case ${JSON.stringify(name)}: {`,\n Template.indent(\n Array.from(stages)\n .sort(([a], [b]) => a - b)\n .map(([, initCode]) =>\n Template.asString(Array.from(initCode)),\n ),\n ),\n '}',\n 'break;',\n ]),\n ),\n '}',\n 'if(!promises.length) return initPromises[name] = 1;',\n `return initPromises[name] = Promise.all(promises).then(${runtimeTemplate.returningFunction(\n 'initPromises[name] = 1',\n )});`,\n ],\n )};`,\n ]);\n }\n}\n\nexport default ShareRuntimeModule;\n"],"names":["ShareRuntimeModule","RuntimeModule","generate","compilation","Error","runtimeTemplate","codeGenerationResults","outputOptions","uniqueName","ignoreBrowserWarnings","chunkGraph","initCodePerScope","Map","chunk","getAllReferencedChunks","modules","getOrderedChunkModulesIterableBySourceType","compareModulesByIdentifier","m","data","getData","runtime","item","shareScope","initStage","init","stages","get","undefined","set","list","Set","add","Template","asString","RuntimeGlobals","shareScopeMap","initializeSharing","basicFunction","hasOwnProperty","JSON","stringify","expressionFunction","indent","require","returningFunction","Array","from","sort","a","b","compareStrings","map","name","initCode","constructor"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BAqJA;;;eAAA;;;;;0EAnJgC;wEACN;mEACL;6BAMd;AAEP,IAAA,AAAMA,qBAAN,MAAMA,2BAA2BC,sBAAa;IAK5C;;GAEC,GACD,AAASC,WAA0B;YAeb;QAdpB,MAAMC,cAAuC,IAAI,CAACA,WAAW;QAC7D,IAAI,CAACA,aAAa;YAChB,MAAM,IAAIC,MAAM;QAClB;QACA,MAAM,EACJC,eAAe,EACfC,qBAAqB,EACrBC,eAAe,EAAEC,UAAU,EAAEC,qBAAqB,EAAE,EACrD,GAAGN;QACJ,MAAMO,aAAqC,IAAI,CAACA,UAAU;QAC1D,IAAI,CAACA,YAAY;YACf,MAAM,IAAIN,MAAM;QAClB;QACA,MAAMO,mBAA0D,IAAIC;QACpE,KAAK,MAAMC,SAAS,EAAA,cAAA,IAAI,CAACA,KAAK,qBAAV,YAAYC,sBAAsB,OAAM,EAAE,CAAE;YAC9D,IAAI,CAACD,OAAO;gBACV;YACF;YACA,MAAME,UAAUL,WAAWM,0CAA0C,CACnEH,OACA,cACAI,uCAA0B;YAE5B,IAAI,CAACF,SAAS;YACd,KAAK,MAAMG,KAAKH,QAAS;gBACvB,MAAMI,OAAOb,sBAAsBc,OAAO,CACxCF,GACAL,MAAMQ,OAAO,EACb;gBAEF,IAAI,CAACF,MAAM;gBACX,KAAK,MAAMG,QAAQH,KAAM;oBACvB,MAAM,EAAEI,UAAU,EAAEC,SAAS,EAAEC,IAAI,EAAE,GAAGH;oBACxC,IAAII,SAASf,iBAAiBgB,GAAG,CAACJ;oBAClC,IAAIG,WAAWE,WAAW;wBACxBjB,iBAAiBkB,GAAG,CAACN,YAAaG,SAAS,IAAId;oBACjD;oBACA,IAAIkB,OAAOJ,OAAOC,GAAG,CAACH,aAAa;oBACnC,IAAIM,SAASF,WAAW;wBACtBF,OAAOG,GAAG,CAACL,aAAa,GAAIM,OAAO,IAAIC;oBACzC;oBACAD,KAAKE,GAAG,CAACP;gBACX;YACF;QACF;QACA,OAAOQ,iBAAQ,CAACC,QAAQ,CAAC;YACvB,CAAC,EAAEC,gBAAeC,aAAa,CAAC,MAAM,CAAC;YACvC;YACA;YACA,CAAC,EAAED,gBAAeE,iBAAiB,CAAC,GAAG,EAAEhC,gBAAgBiC,aAAa,CACpE,mBACA;gBACE;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA,CAAC,IAAI,EAAEH,gBAAeI,cAAc,CAAC,CAAC,EAAEJ,gBAAeC,aAAa,CAAC,SAAS,EAAED,gBAAeC,aAAa,CAAC,YAAY,CAAC;gBAC1H;gBACA,CAAC,YAAY,EAAED,gBAAeC,aAAa,CAAC,OAAO,CAAC;gBACpD,CAAC,WAAW,EACV3B,wBACIJ,gBAAgBiC,aAAa,CAAC,IAAI,MAClCjC,gBAAgBiC,aAAa,CAAC,OAAO;oBACnC;iBACD,EACN,CAAC,CAAC;gBACH,CAAC,iBAAiB,EAAEE,KAAKC,SAAS,CAACjC,cAAcoB,WAAW,CAAC,CAAC;gBAC9D,CAAC,eAAe,EAAEvB,gBAAgBiC,aAAa,CAC7C,iCACA;oBACE;oBACA;oBACA;iBACD,EACD,CAAC,CAAC;gBACJ,CAAC,mBAAmB,EAAEjC,gBAAgBiC,aAAa,CAAC,MAAM;oBACxD,CAAC,kBAAkB,EAAEjC,gBAAgBqC,kBAAkB,CACrD,6DACA,OACA,CAAC,CAAC;oBACJ;oBACAT,iBAAQ,CAACU,MAAM,CAAC;wBACd,CAAC,aAAa,EAAER,gBAAeS,OAAO,CAAC,KAAK,CAAC;wBAC7C;wBACA,CAAC,aAAa,EAAEvC,gBAAgBwC,iBAAiB,CAC/C,CAAC,qCAAqC,EAAEV,gBAAeC,aAAa,CAAC,kBAAkB,CAAC,EACxF,UACA,CAAC;wBACH;wBACA;wBACA;qBACD;oBACD;iBACD,EAAE,CAAC;gBACJ;gBACA;mBACGU,MAAMC,IAAI,CAACpC,kBACXqC,IAAI,CAAC,CAAC,CAACC,EAAE,EAAE,CAACC,EAAE,GAAKC,IAAAA,2BAAc,EAACF,GAAGC,IACrCE,GAAG,CAAC,CAAC,CAACC,MAAM3B,OAAO,GAClBO,iBAAQ,CAACU,MAAM,CAAC;wBACd,CAAC,KAAK,EAAEH,KAAKC,SAAS,CAACY,MAAM,GAAG,CAAC;wBACjCpB,iBAAQ,CAACU,MAAM,CACbG,MAAMC,IAAI,CAACrB,QACRsB,IAAI,CAAC,CAAC,CAACC,EAAE,EAAE,CAACC,EAAE,GAAKD,IAAIC,GACvBE,GAAG,CAAC,CAAC,GAAGE,SAAS,GAChBrB,iBAAQ,CAACC,QAAQ,CAACY,MAAMC,IAAI,CAACO;wBAGnC;wBACA;qBACD;gBAEL;gBACA;gBACA,CAAC,uDAAuD,EAAEjD,gBAAgBwC,iBAAiB,CACzF,0BACA,EAAE,CAAC;aACN,EACD,CAAC,CAAC;SACL;IACH;IArIAU,aAAc;QACZ,KAAK,CAAC;IACR;AAoIF;MAEA,WAAevD"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ShareRuntimeModule.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 * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport RuntimeModule from 'webpack/lib/RuntimeModule';\nimport Template from 'webpack/lib/Template';\nimport Compilation from 'webpack/lib/Compilation';\nimport ChunkGraph from 'webpack/lib/ChunkGraph';\nimport {\n compareModulesByIdentifier,\n compareStrings,\n} from 'webpack/lib/util/comparators';\n\nclass ShareRuntimeModule extends RuntimeModule {\n constructor() {\n super('sharing');\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation | undefined = this.compilation;\n if (!compilation) {\n throw new Error('Compilation is undefined');\n }\n const {\n runtimeTemplate,\n codeGenerationResults,\n outputOptions: { uniqueName, ignoreBrowserWarnings },\n } = compilation;\n const chunkGraph: ChunkGraph | undefined = this.chunkGraph;\n if (!chunkGraph) {\n throw new Error('ChunkGraph is undefined');\n }\n const initCodePerScope: Map<string, Map<number, Set<string>>> = new Map();\n for (const chunk of this.chunk?.getAllReferencedChunks() || []) {\n if (!chunk) {\n continue;\n }\n const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(\n chunk,\n 'share-init',\n compareModulesByIdentifier,\n );\n if (!modules) continue;\n for (const m of modules) {\n const data = codeGenerationResults.getData(\n m,\n chunk.runtime,\n 'share-init',\n );\n if (!data) continue;\n for (const item of data) {\n const { shareScope, initStage, init } = item;\n let stages = initCodePerScope.get(shareScope);\n if (stages === undefined) {\n initCodePerScope.set(shareScope, (stages = new Map()));\n }\n let list = stages.get(initStage || 0);\n if (list === undefined) {\n stages.set(initStage || 0, (list = new Set()));\n }\n list.add(init);\n }\n }\n }\n return Template.asString([\n `${RuntimeGlobals.shareScopeMap} = {};`,\n 'var initPromises = {};',\n 'var initTokens = {};',\n `${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction(\n 'name, initScope',\n [\n 'if(!initScope) initScope = [];',\n '// handling circular init calls',\n 'var initToken = initTokens[name];',\n 'if(!initToken) initToken = initTokens[name] = {};',\n 'if(initScope.indexOf(initToken) >= 0) return;',\n 'initScope.push(initToken);',\n '// only runs once',\n 'if(initPromises[name]) return initPromises[name];',\n '// creates a new share scope if needed',\n `if(!${RuntimeGlobals.hasOwnProperty}(${RuntimeGlobals.shareScopeMap}, name)) ${RuntimeGlobals.shareScopeMap}[name] = {};`,\n '// runs all init snippets from all modules reachable',\n `var scope = ${RuntimeGlobals.shareScopeMap}[name];`,\n `var warn = ${\n ignoreBrowserWarnings\n ? runtimeTemplate.basicFunction('', '')\n : runtimeTemplate.basicFunction('msg', [\n 'if (typeof console !== \"undefined\" && console.warn) console.warn(msg);',\n ])\n };`,\n `var uniqueName = ${JSON.stringify(uniqueName || undefined)};`,\n `var register = ${runtimeTemplate.basicFunction(\n 'name, version, factory, eager',\n [\n 'var versions = scope[name] = scope[name] || {};',\n 'var activeVersion = versions[version];',\n 'if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };',\n ],\n )};`,\n `var initExternal = ${runtimeTemplate.basicFunction('id', [\n `var handleError = ${runtimeTemplate.expressionFunction(\n 'warn(\"Initialization of sharing external failed: \" + err)',\n 'err',\n )};`,\n 'try {',\n Template.indent([\n `var module = ${RuntimeGlobals.require}(id);`,\n 'if(!module) return;',\n `var initFn = ${runtimeTemplate.returningFunction(\n `module && module.init && module.init(${RuntimeGlobals.shareScopeMap}[name], initScope)`,\n 'module',\n )}`,\n 'if(module.then) return promises.push(module.then(initFn, handleError));',\n 'var initResult = initFn(module);',\n \"if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\",\n ]),\n '} catch(err) { handleError(err); }',\n ])}`,\n 'var promises = [];',\n 'switch(name) {',\n ...Array.from(initCodePerScope)\n .sort(([a], [b]) => compareStrings(a, b))\n .map(([name, stages]) =>\n Template.indent([\n `case ${JSON.stringify(name)}: {`,\n Template.indent(\n Array.from(stages)\n .sort(([a], [b]) => a - b)\n .map(([, initCode]) =>\n Template.asString(Array.from(initCode)),\n ),\n ),\n '}',\n 'break;',\n ]),\n ),\n '}',\n 'if(!promises.length) return initPromises[name] = 1;',\n `return initPromises[name] = Promise.all(promises).then(${runtimeTemplate.returningFunction(\n 'initPromises[name] = 1',\n )});`,\n ],\n )};`,\n ]);\n }\n}\n\nexport default ShareRuntimeModule;\n"],"names":["ShareRuntimeModule","RuntimeModule","generate","compilation","Error","runtimeTemplate","codeGenerationResults","outputOptions","uniqueName","ignoreBrowserWarnings","chunkGraph","initCodePerScope","Map","chunk","getAllReferencedChunks","modules","getOrderedChunkModulesIterableBySourceType","compareModulesByIdentifier","m","data","getData","runtime","item","shareScope","initStage","init","stages","get","undefined","set","list","Set","add","Template","asString","RuntimeGlobals","shareScopeMap","initializeSharing","basicFunction","hasOwnProperty","JSON","stringify","expressionFunction","indent","require","returningFunction","Array","from","sort","a","b","compareStrings","map","name","initCode","constructor"],"mappings":"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"}
@@ -11,9 +11,13 @@ Object.defineProperty(exports, "resolveMatchedConfigs", {
11
11
  return resolveMatchedConfigs;
12
12
  }
13
13
  });
14
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
15
- const _ModuleNotFoundError = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/ModuleNotFoundError"));
16
- const _LazySet = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/LazySet"));
14
+ const _ModuleNotFoundError = /*#__PURE__*/ _interop_require_default(require("webpack/lib/ModuleNotFoundError"));
15
+ const _LazySet = /*#__PURE__*/ _interop_require_default(require("webpack/lib/util/LazySet"));
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
17
21
  const RESOLVE_OPTIONS = {
18
22
  dependencyType: 'esm'
19
23
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/resolveMatchedConfigs.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\nimport type Compilation from 'webpack/lib/Compilation';\nimport type { ResolveOptionsWithDependencyType } from 'webpack/lib/ResolverFactory';\nimport ModuleNotFoundError from 'webpack/lib/ModuleNotFoundError';\nimport LazySet from 'webpack/lib/util/LazySet';\n\ninterface MatchedConfigs<T> {\n resolved: Map<string, T>;\n unresolved: Map<string, T>;\n prefixed: Map<string, T>;\n}\n\nconst RESOLVE_OPTIONS: ResolveOptionsWithDependencyType = {\n dependencyType: 'esm',\n};\n\nexport async function resolveMatchedConfigs<T>(\n compilation: Compilation,\n configs: [string, T][],\n): Promise<MatchedConfigs<T>> {\n const resolved = new Map<string, T>();\n const unresolved = new Map<string, T>();\n const prefixed = new Map<string, T>();\n const resolveContext = {\n fileDependencies: new LazySet<string>(),\n contextDependencies: new LazySet<string>(),\n missingDependencies: new LazySet<string>(),\n };\n const resolver = compilation.resolverFactory.get('normal', RESOLVE_OPTIONS);\n const context = compilation.compiler.context;\n\n await Promise.all(\n //@ts-ignore\n configs.map(([request, config]) => {\n if (/^\\.\\.?(\\/|$)/.test(request)) {\n // relative request\n return new Promise<void>((resolve) => {\n resolver.resolve(\n {},\n context,\n request,\n resolveContext,\n (err, result) => {\n if (err || result === false) {\n err = err || new Error(`Can't resolve ${request}`);\n compilation.errors.push(\n new ModuleNotFoundError(null, err, {\n name: `shared module ${request}`,\n }),\n );\n return resolve();\n }\n resolved.set(result as string, config);\n resolve();\n },\n );\n });\n } else if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\)/.test(request)) {\n // absolute path\n resolved.set(request, config);\n } else if (request.endsWith('/')) {\n // module request prefix\n prefixed.set(request, config);\n } else {\n // module request\n unresolved.set(request, config);\n }\n }),\n );\n compilation.contextDependencies.addAll(resolveContext.contextDependencies);\n compilation.fileDependencies.addAll(resolveContext.fileDependencies);\n compilation.missingDependencies.addAll(resolveContext.missingDependencies);\n return { resolved, unresolved, prefixed };\n}\n"],"names":["resolveMatchedConfigs","RESOLVE_OPTIONS","dependencyType","compilation","configs","resolved","Map","unresolved","prefixed","resolveContext","fileDependencies","LazySet","contextDependencies","missingDependencies","resolver","resolverFactory","get","context","compiler","Promise","all","map","request","config","test","resolve","err","result","Error","errors","push","ModuleNotFoundError","name","set","endsWith","addAll"],"mappings":"AAAA;;;AAGA;;;;+BAgBsBA;;;eAAAA;;;;8EAbU;kEACZ;AAQpB,MAAMC,kBAAoD;IACxDC,gBAAgB;AAClB;AAEO,eAAeF,sBACpBG,WAAwB,EACxBC,OAAsB;IAEtB,MAAMC,WAAW,IAAIC;IACrB,MAAMC,aAAa,IAAID;IACvB,MAAME,WAAW,IAAIF;IACrB,MAAMG,iBAAiB;QACrBC,kBAAkB,IAAIC,gBAAO;QAC7BC,qBAAqB,IAAID,gBAAO;QAChCE,qBAAqB,IAAIF,gBAAO;IAClC;IACA,MAAMG,WAAWX,YAAYY,eAAe,CAACC,GAAG,CAAC,UAAUf;IAC3D,MAAMgB,UAAUd,YAAYe,QAAQ,CAACD,OAAO;IAE5C,MAAME,QAAQC,GAAG,CACf,YAAY;IACZhB,QAAQiB,GAAG,CAAC,CAAC,CAACC,SAASC,OAAO;QAC5B,IAAI,eAAeC,IAAI,CAACF,UAAU;YAChC,mBAAmB;YACnB,OAAO,IAAIH,QAAc,CAACM;gBACxBX,SAASW,OAAO,CACd,CAAC,GACDR,SACAK,SACAb,gBACA,CAACiB,KAAKC;oBACJ,IAAID,OAAOC,WAAW,OAAO;wBAC3BD,MAAMA,OAAO,IAAIE,MAAM,CAAC,cAAc,EAAEN,QAAQ,CAAC;wBACjDnB,YAAY0B,MAAM,CAACC,IAAI,CACrB,IAAIC,4BAAmB,CAAC,MAAML,KAAK;4BACjCM,MAAM,CAAC,cAAc,EAAEV,QAAQ,CAAC;wBAClC;wBAEF,OAAOG;oBACT;oBACApB,SAAS4B,GAAG,CAACN,QAAkBJ;oBAC/BE;gBACF;YAEJ;QACF,OAAO,IAAI,yBAAyBD,IAAI,CAACF,UAAU;YACjD,gBAAgB;YAChBjB,SAAS4B,GAAG,CAACX,SAASC;QACxB,OAAO,IAAID,QAAQY,QAAQ,CAAC,MAAM;YAChC,wBAAwB;YACxB1B,SAASyB,GAAG,CAACX,SAASC;QACxB,OAAO;YACL,iBAAiB;YACjBhB,WAAW0B,GAAG,CAACX,SAASC;QAC1B;IACF;IAEFpB,YAAYS,mBAAmB,CAACuB,MAAM,CAAC1B,eAAeG,mBAAmB;IACzET,YAAYO,gBAAgB,CAACyB,MAAM,CAAC1B,eAAeC,gBAAgB;IACnEP,YAAYU,mBAAmB,CAACsB,MAAM,CAAC1B,eAAeI,mBAAmB;IACzE,OAAO;QAAER;QAAUE;QAAYC;IAAS;AAC1C"}
1
+ {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/resolveMatchedConfigs.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\nimport type Compilation from 'webpack/lib/Compilation';\nimport type { ResolveOptionsWithDependencyType } from 'webpack/lib/ResolverFactory';\nimport ModuleNotFoundError from 'webpack/lib/ModuleNotFoundError';\nimport LazySet from 'webpack/lib/util/LazySet';\n\ninterface MatchedConfigs<T> {\n resolved: Map<string, T>;\n unresolved: Map<string, T>;\n prefixed: Map<string, T>;\n}\n\nconst RESOLVE_OPTIONS: ResolveOptionsWithDependencyType = {\n dependencyType: 'esm',\n};\n\nexport async function resolveMatchedConfigs<T>(\n compilation: Compilation,\n configs: [string, T][],\n): Promise<MatchedConfigs<T>> {\n const resolved = new Map<string, T>();\n const unresolved = new Map<string, T>();\n const prefixed = new Map<string, T>();\n const resolveContext = {\n fileDependencies: new LazySet<string>(),\n contextDependencies: new LazySet<string>(),\n missingDependencies: new LazySet<string>(),\n };\n const resolver = compilation.resolverFactory.get('normal', RESOLVE_OPTIONS);\n const context = compilation.compiler.context;\n\n await Promise.all(\n //@ts-ignore\n configs.map(([request, config]) => {\n if (/^\\.\\.?(\\/|$)/.test(request)) {\n // relative request\n return new Promise<void>((resolve) => {\n resolver.resolve(\n {},\n context,\n request,\n resolveContext,\n (err, result) => {\n if (err || result === false) {\n err = err || new Error(`Can't resolve ${request}`);\n compilation.errors.push(\n new ModuleNotFoundError(null, err, {\n name: `shared module ${request}`,\n }),\n );\n return resolve();\n }\n resolved.set(result as string, config);\n resolve();\n },\n );\n });\n } else if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\)/.test(request)) {\n // absolute path\n resolved.set(request, config);\n } else if (request.endsWith('/')) {\n // module request prefix\n prefixed.set(request, config);\n } else {\n // module request\n unresolved.set(request, config);\n }\n }),\n );\n compilation.contextDependencies.addAll(resolveContext.contextDependencies);\n compilation.fileDependencies.addAll(resolveContext.fileDependencies);\n compilation.missingDependencies.addAll(resolveContext.missingDependencies);\n return { resolved, unresolved, prefixed };\n}\n"],"names":["resolveMatchedConfigs","RESOLVE_OPTIONS","dependencyType","compilation","configs","resolved","Map","unresolved","prefixed","resolveContext","fileDependencies","LazySet","contextDependencies","missingDependencies","resolver","resolverFactory","get","context","compiler","Promise","all","map","request","config","test","resolve","err","result","Error","errors","push","ModuleNotFoundError","name","set","endsWith","addAll"],"mappings":"AAAA;;;AAGA;;;;+BAgBsBA;;;eAAAA;;;4EAbU;gEACZ;;;;;;AAQpB,MAAMC,kBAAoD;IACxDC,gBAAgB;AAClB;AAEO,eAAeF,sBACpBG,WAAwB,EACxBC,OAAsB;IAEtB,MAAMC,WAAW,IAAIC;IACrB,MAAMC,aAAa,IAAID;IACvB,MAAME,WAAW,IAAIF;IACrB,MAAMG,iBAAiB;QACrBC,kBAAkB,IAAIC,gBAAO;QAC7BC,qBAAqB,IAAID,gBAAO;QAChCE,qBAAqB,IAAIF,gBAAO;IAClC;IACA,MAAMG,WAAWX,YAAYY,eAAe,CAACC,GAAG,CAAC,UAAUf;IAC3D,MAAMgB,UAAUd,YAAYe,QAAQ,CAACD,OAAO;IAE5C,MAAME,QAAQC,GAAG,CACf,YAAY;IACZhB,QAAQiB,GAAG,CAAC,CAAC,CAACC,SAASC,OAAO;QAC5B,IAAI,eAAeC,IAAI,CAACF,UAAU;YAChC,mBAAmB;YACnB,OAAO,IAAIH,QAAc,CAACM;gBACxBX,SAASW,OAAO,CACd,CAAC,GACDR,SACAK,SACAb,gBACA,CAACiB,KAAKC;oBACJ,IAAID,OAAOC,WAAW,OAAO;wBAC3BD,MAAMA,OAAO,IAAIE,MAAM,CAAC,cAAc,EAAEN,QAAQ,CAAC;wBACjDnB,YAAY0B,MAAM,CAACC,IAAI,CACrB,IAAIC,4BAAmB,CAAC,MAAML,KAAK;4BACjCM,MAAM,CAAC,cAAc,EAAEV,QAAQ,CAAC;wBAClC;wBAEF,OAAOG;oBACT;oBACApB,SAAS4B,GAAG,CAACN,QAAkBJ;oBAC/BE;gBACF;YAEJ;QACF,OAAO,IAAI,yBAAyBD,IAAI,CAACF,UAAU;YACjD,gBAAgB;YAChBjB,SAAS4B,GAAG,CAACX,SAASC;QACxB,OAAO,IAAID,QAAQY,QAAQ,CAAC,MAAM;YAChC,wBAAwB;YACxB1B,SAASyB,GAAG,CAACX,SAASC;QACxB,OAAO;YACL,iBAAiB;YACjBhB,WAAW0B,GAAG,CAACX,SAASC;QAC1B;IACF;IAEFpB,YAAYS,mBAAmB,CAACuB,MAAM,CAAC1B,eAAeG,mBAAmB;IACzET,YAAYO,gBAAgB,CAACyB,MAAM,CAAC1B,eAAeC,gBAAgB;IACnEP,YAAYU,mBAAmB,CAACsB,MAAM,CAAC1B,eAAeI,mBAAmB;IACzE,OAAO;QAAER;QAAUE;QAAYC;IAAS;AAC1C"}
@@ -12,17 +12,17 @@ function _export(target, all) {
12
12
  });
13
13
  }
14
14
  _export(exports, {
15
- isRequiredVersion: function() {
16
- return isRequiredVersion;
17
- },
18
- normalizeVersion: function() {
19
- return normalizeVersion;
20
- },
21
15
  getDescriptionFile: function() {
22
16
  return getDescriptionFile;
23
17
  },
24
18
  getRequiredVersionFromDescriptionFile: function() {
25
19
  return getRequiredVersionFromDescriptionFile;
20
+ },
21
+ isRequiredVersion: function() {
22
+ return isRequiredVersion;
23
+ },
24
+ normalizeVersion: function() {
25
+ return normalizeVersion;
26
26
  }
27
27
  });
28
28
  const _fs = require("webpack/lib/util/fs");