@module-federation/enhanced 0.23.0 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/declarations/plugins/sharing/ConsumeSharedModule.d.ts +4 -0
  3. package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +4 -0
  4. package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +5 -1
  5. package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +8 -0
  6. package/dist/src/index.d.ts +1 -0
  7. package/dist/src/index.js +3 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/lib/container/ContainerPlugin.js +8 -10
  10. package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
  11. package/dist/src/lib/container/ContainerReferencePlugin.d.ts +1 -1
  12. package/dist/src/lib/container/ContainerReferencePlugin.js +10 -9
  13. package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -1
  14. package/dist/src/lib/container/ModuleFederationPlugin.js +28 -18
  15. package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
  16. package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +1 -1
  17. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +25 -7
  18. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -1
  19. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +3 -0
  20. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
  21. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +6 -4
  22. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
  23. package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +2 -1
  24. package/dist/src/lib/sharing/ProvideSharedDependency.js +6 -4
  25. package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -1
  26. package/dist/src/lib/sharing/ProvideSharedModule.d.ts +2 -1
  27. package/dist/src/lib/sharing/ProvideSharedModule.js +7 -4
  28. package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -1
  29. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +3 -3
  30. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -1
  31. package/dist/src/lib/sharing/ProvideSharedPlugin.js +5 -3
  32. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
  33. package/dist/src/lib/sharing/SharePlugin.d.ts +41 -2
  34. package/dist/src/lib/sharing/SharePlugin.js +65 -51
  35. package/dist/src/lib/sharing/SharePlugin.js.map +1 -1
  36. package/dist/src/lib/sharing/ShareRuntimeModule.js +4 -3
  37. package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -1
  38. package/dist/src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.d.ts +18 -0
  39. package/dist/src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.js +132 -0
  40. package/dist/src/lib/sharing/tree-shaking/CollectSharedEntryPlugin.js.map +1 -0
  41. package/dist/src/lib/sharing/tree-shaking/IndependentSharedPlugin.d.ts +36 -0
  42. package/dist/src/lib/sharing/tree-shaking/IndependentSharedPlugin.js +328 -0
  43. package/dist/src/lib/sharing/tree-shaking/IndependentSharedPlugin.js.map +1 -0
  44. package/dist/src/lib/sharing/tree-shaking/IndependentSharedRuntimeModule.d.ts +21 -0
  45. package/dist/src/lib/sharing/tree-shaking/IndependentSharedRuntimeModule.js +30 -0
  46. package/dist/src/lib/sharing/tree-shaking/IndependentSharedRuntimeModule.js.map +1 -0
  47. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedContainerPlugin.d.ts +28 -0
  48. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedContainerPlugin.js +98 -0
  49. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedContainerPlugin.js.map +1 -0
  50. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.d.ts +26 -0
  51. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.js +45 -0
  52. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.js.map +1 -0
  53. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryDependency.d.ts +17 -0
  54. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryDependency.js +31 -0
  55. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryDependency.js.map +1 -0
  56. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModule.d.ts +79 -0
  57. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModule.js +156 -0
  58. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModule.js.map +1 -0
  59. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModuleFactory.d.ts +11 -0
  60. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModuleFactory.js +27 -0
  61. package/dist/src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedEntryModuleFactory.js.map +1 -0
  62. package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerPlugin.d.ts +18 -0
  63. package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerPlugin.js +237 -0
  64. package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerPlugin.js.map +1 -0
  65. package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.d.ts +17 -0
  66. package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.js +29 -0
  67. package/dist/src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.js.map +1 -0
  68. package/dist/src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.d.ts +15 -0
  69. package/dist/src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.js +52 -0
  70. package/dist/src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.js.map +1 -0
  71. package/dist/src/lib/sharing/utils.d.ts +1 -0
  72. package/dist/src/lib/sharing/utils.js +4 -3
  73. package/dist/src/lib/sharing/utils.js.map +1 -1
  74. package/dist/src/rspack.d.ts +1 -1
  75. package/dist/src/rspack.js +2 -1
  76. package/dist/src/rspack.js.map +1 -1
  77. package/dist/src/schemas/container/ModuleFederationPlugin.check.js +2321 -1810
  78. package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -1
  79. package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +57 -0
  80. package/dist/src/schemas/container/ModuleFederationPlugin.js +60 -0
  81. package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -1
  82. package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.js +41 -12
  83. package/dist/src/schemas/sharing/ConsumeSharedPlugin.check.js.map +1 -1
  84. package/dist/src/schemas/sharing/ConsumeSharedPlugin.d.ts +5 -0
  85. package/dist/src/schemas/sharing/ConsumeSharedPlugin.js +5 -0
  86. package/dist/src/schemas/sharing/ConsumeSharedPlugin.js.map +1 -1
  87. package/dist/src/schemas/sharing/ProvideSharedPlugin.check.d.ts +1 -1
  88. package/dist/src/schemas/sharing/ProvideSharedPlugin.check.js +103 -74
  89. package/dist/src/schemas/sharing/ProvideSharedPlugin.check.js.map +1 -1
  90. package/dist/src/schemas/sharing/ProvideSharedPlugin.d.ts +5 -0
  91. package/dist/src/schemas/sharing/ProvideSharedPlugin.js +5 -0
  92. package/dist/src/schemas/sharing/ProvideSharedPlugin.js.map +1 -1
  93. package/dist/src/schemas/sharing/SharePlugin.check.d.ts +1 -1
  94. package/dist/src/schemas/sharing/SharePlugin.check.js +642 -471
  95. package/dist/src/schemas/sharing/SharePlugin.check.js.map +1 -1
  96. package/dist/src/schemas/sharing/SharePlugin.d.ts +37 -0
  97. package/dist/src/schemas/sharing/SharePlugin.js +40 -0
  98. package/dist/src/schemas/sharing/SharePlugin.js.map +1 -1
  99. package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +2 -5
  100. package/dist/src/wrapper/AsyncBoundaryPlugin.js +6 -11
  101. package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +1 -1
  102. package/dist/src/wrapper/BaseWrapperPlugin.d.ts +27 -0
  103. package/dist/src/wrapper/BaseWrapperPlugin.js +42 -0
  104. package/dist/src/wrapper/BaseWrapperPlugin.js.map +1 -0
  105. package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +2 -5
  106. package/dist/src/wrapper/ConsumeSharedPlugin.js +6 -11
  107. package/dist/src/wrapper/ConsumeSharedPlugin.js.map +1 -1
  108. package/dist/src/wrapper/ContainerPlugin.d.ts +2 -5
  109. package/dist/src/wrapper/ContainerPlugin.js +6 -11
  110. package/dist/src/wrapper/ContainerPlugin.js.map +1 -1
  111. package/dist/src/wrapper/ContainerReferencePlugin.d.ts +2 -5
  112. package/dist/src/wrapper/ContainerReferencePlugin.js +6 -11
  113. package/dist/src/wrapper/ContainerReferencePlugin.js.map +1 -1
  114. package/dist/src/wrapper/FederationModulesPlugin.d.ts +4 -4
  115. package/dist/src/wrapper/FederationModulesPlugin.js +8 -9
  116. package/dist/src/wrapper/FederationModulesPlugin.js.map +1 -1
  117. package/dist/src/wrapper/FederationRuntimePlugin.d.ts +3 -5
  118. package/dist/src/wrapper/FederationRuntimePlugin.js +8 -10
  119. package/dist/src/wrapper/FederationRuntimePlugin.js.map +1 -1
  120. package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +2 -4
  121. package/dist/src/wrapper/HoistContainerReferencesPlugin.js +6 -10
  122. package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -1
  123. package/dist/src/wrapper/ModuleFederationPlugin.d.ts +3 -5
  124. package/dist/src/wrapper/ModuleFederationPlugin.js +5 -10
  125. package/dist/src/wrapper/ModuleFederationPlugin.js.map +1 -1
  126. package/dist/src/wrapper/ProvideSharedPlugin.d.ts +2 -5
  127. package/dist/src/wrapper/ProvideSharedPlugin.js +6 -11
  128. package/dist/src/wrapper/ProvideSharedPlugin.js.map +1 -1
  129. package/dist/src/wrapper/SharePlugin.d.ts +2 -5
  130. package/dist/src/wrapper/SharePlugin.js +6 -11
  131. package/dist/src/wrapper/SharePlugin.js.map +1 -1
  132. package/dist/src/wrapper/TreeShakingSharedPlugin.d.ts +5 -0
  133. package/dist/src/wrapper/TreeShakingSharedPlugin.js +14 -0
  134. package/dist/src/wrapper/TreeShakingSharedPlugin.js.map +1 -0
  135. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"SharePlugin.check.js","sourceRoot":"","sources":["../../../../src/schemas/sharing/SharePlugin.check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharePlugin.check.js","sourceRoot":"","sources":["../../../../src/schemas/sharing/SharePlugin.check.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,19 @@ declare const _default: {
83
83
  readonly description: "Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).";
84
84
  readonly type: "boolean";
85
85
  };
86
+ readonly treeShaking: {
87
+ readonly description: "Enable tree-shaking for the shared module or configure it.";
88
+ readonly anyOf: readonly [{
89
+ readonly type: "boolean";
90
+ }, {
91
+ readonly $ref: "#/definitions/TreeShakingConfig";
92
+ }];
93
+ };
94
+ readonly independentShareFileName: {
95
+ readonly description: "Custom file name for independent share build/output.";
96
+ readonly type: "string";
97
+ readonly minLength: 1;
98
+ };
86
99
  readonly version: {
87
100
  readonly description: "Version of the provided module. Will replace lower matching versions, but not higher.";
88
101
  readonly anyOf: readonly [{
@@ -175,6 +188,30 @@ declare const _default: {
175
188
  readonly required: readonly ["fallbackVersion"];
176
189
  }];
177
190
  };
191
+ readonly TreeShakingConfig: {
192
+ readonly description: "Tree-shake configuration for shared module.";
193
+ readonly type: "object";
194
+ readonly additionalProperties: false;
195
+ readonly properties: {
196
+ readonly usedExports: {
197
+ readonly description: "List of export names used from the shared module.";
198
+ readonly type: "array";
199
+ readonly items: {
200
+ readonly type: "string";
201
+ readonly minLength: 1;
202
+ };
203
+ };
204
+ readonly mode: {
205
+ readonly description: "Tree-shake analysis mode.";
206
+ readonly type: "string";
207
+ readonly enum: readonly ["server-calc", "runtime-infer"];
208
+ };
209
+ readonly filename: {
210
+ readonly description: "Filename for generated treeShaking metadata.";
211
+ readonly type: "string";
212
+ };
213
+ };
214
+ };
178
215
  };
179
216
  readonly title: "SharePluginOptions";
180
217
  readonly description: "Options for shared modules.";
@@ -106,6 +106,22 @@ exports.default = {
106
106
  description: 'Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).',
107
107
  type: 'boolean',
108
108
  },
109
+ treeShaking: {
110
+ description: 'Enable tree-shaking for the shared module or configure it.',
111
+ anyOf: [
112
+ {
113
+ type: 'boolean',
114
+ },
115
+ {
116
+ $ref: '#/definitions/TreeShakingConfig',
117
+ },
118
+ ],
119
+ },
120
+ independentShareFileName: {
121
+ description: 'Custom file name for independent share build/output.',
122
+ type: 'string',
123
+ minLength: 1,
124
+ },
109
125
  version: {
110
126
  description: 'Version of the provided module. Will replace lower matching versions, but not higher.',
111
127
  anyOf: [
@@ -208,6 +224,30 @@ exports.default = {
208
224
  },
209
225
  ],
210
226
  },
227
+ TreeShakingConfig: {
228
+ description: 'Tree-shake configuration for shared module.',
229
+ type: 'object',
230
+ additionalProperties: false,
231
+ properties: {
232
+ usedExports: {
233
+ description: 'List of export names used from the shared module.',
234
+ type: 'array',
235
+ items: {
236
+ type: 'string',
237
+ minLength: 1,
238
+ },
239
+ },
240
+ mode: {
241
+ description: 'Tree-shake analysis mode.',
242
+ type: 'string',
243
+ enum: ['server-calc', 'runtime-infer'],
244
+ },
245
+ filename: {
246
+ description: 'Filename for generated treeShaking metadata.',
247
+ type: 'string',
248
+ },
249
+ },
250
+ },
211
251
  },
212
252
  title: 'SharePluginOptions',
213
253
  description: 'Options for shared modules.',
@@ -1 +1 @@
1
- {"version":3,"file":"SharePlugin.js","sourceRoot":"","sources":["../../../../src/schemas/sharing/SharePlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharePlugin.js","sourceRoot":"","sources":["../../../../src/schemas/sharing/SharePlugin.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- import type { WebpackPluginInstance, Compiler } from 'webpack';
2
1
  import type { Options } from '../lib/container/AsyncBoundaryPlugin';
3
- export default class AsyncBoundaryPlugin implements WebpackPluginInstance {
4
- private _options;
5
- name: string;
2
+ import BaseWrapperPlugin from './BaseWrapperPlugin';
3
+ export default class AsyncBoundaryPlugin extends BaseWrapperPlugin {
6
4
  constructor(options: Options);
7
- apply(compiler: Compiler): void;
8
5
  }
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
6
+ const BaseWrapperPlugin_1 = __importDefault(require("./BaseWrapperPlugin"));
4
7
  const PLUGIN_NAME = 'AsyncBoundaryPlugin';
5
- class AsyncBoundaryPlugin {
8
+ class AsyncBoundaryPlugin extends BaseWrapperPlugin_1.default {
6
9
  constructor(options) {
7
- this._options = options;
8
- this.name = PLUGIN_NAME;
9
- }
10
- apply(compiler) {
11
- process.env['FEDERATION_WEBPACK_PATH'] =
12
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
13
- const CoreAsyncBoundaryPlugin = require('../lib/container/AsyncBoundaryPlugin')
14
- .default;
15
- new CoreAsyncBoundaryPlugin(this._options).apply(compiler);
10
+ super(options, PLUGIN_NAME, '../lib/container/AsyncBoundaryPlugin');
16
11
  }
17
12
  }
18
13
  exports.default = AsyncBoundaryPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncBoundaryPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/AsyncBoundaryPlugin.ts"],"names":[],"mappings":";;AAEA,0FAA+E;AAE/E,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAqB,mBAAmB;IAItC,YAAY,OAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,uBAAuB,GAC3B,OAAO,CAAC,sCAAsC,CAAC;aAC5C,OAAwE,CAAC;QAC9E,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACF;AAjBD,sCAiBC"}
1
+ {"version":3,"file":"AsyncBoundaryPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/AsyncBoundaryPlugin.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAqB,mBAAoB,SAAQ,2BAAiB;IAChE,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,sCAAsC,CAAC,CAAC;IACtE,CAAC;CACF;AAJD,sCAIC"}
@@ -0,0 +1,27 @@
1
+ import type { WebpackPluginInstance, Compiler } from 'webpack';
2
+ /**
3
+ * Base Wrapper Plugin Class
4
+ *
5
+ * Why we need a Wrapper layer:
6
+ * 1. Prevent direct references to peer dependency webpack in CommonJS environment, which can lead to inconsistent instances
7
+ * 2. Ensure the FEDERATION_WEBPACK_PATH environment variable is set correctly, which is crucial for module federation to work properly
8
+ * 3. Provide unified plugin initialization logic, reducing code duplication
9
+ *
10
+ * Why we need to set FEDERATION_WEBPACK_PATH:
11
+ * In CommonJS environment, require('webpack') might get a different webpack version than the current compiler instance,
12
+ * which can cause module federation to malfunction. By setting FEDERATION_WEBPACK_PATH, we ensure all internal
13
+ * dependencies use the same webpack instance as the current compiler.
14
+ */
15
+ export default abstract class BaseWrapperPlugin implements WebpackPluginInstance {
16
+ protected _options: any;
17
+ name: string;
18
+ protected pluginName: string;
19
+ protected coreModulePath: string;
20
+ constructor(options: any, pluginName: string, coreModulePath: string);
21
+ apply(compiler: Compiler): void;
22
+ /**
23
+ * Create core plugin instance
24
+ * Subclasses can override this method to customize instantiation logic
25
+ */
26
+ protected createCorePluginInstance(CorePlugin: any, compiler: Compiler): void;
27
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
4
+ /**
5
+ * Base Wrapper Plugin Class
6
+ *
7
+ * Why we need a Wrapper layer:
8
+ * 1. Prevent direct references to peer dependency webpack in CommonJS environment, which can lead to inconsistent instances
9
+ * 2. Ensure the FEDERATION_WEBPACK_PATH environment variable is set correctly, which is crucial for module federation to work properly
10
+ * 3. Provide unified plugin initialization logic, reducing code duplication
11
+ *
12
+ * Why we need to set FEDERATION_WEBPACK_PATH:
13
+ * In CommonJS environment, require('webpack') might get a different webpack version than the current compiler instance,
14
+ * which can cause module federation to malfunction. By setting FEDERATION_WEBPACK_PATH, we ensure all internal
15
+ * dependencies use the same webpack instance as the current compiler.
16
+ */
17
+ class BaseWrapperPlugin {
18
+ constructor(options, pluginName, coreModulePath) {
19
+ this._options = options;
20
+ this.pluginName = pluginName;
21
+ this.coreModulePath = coreModulePath;
22
+ this.name = pluginName;
23
+ }
24
+ apply(compiler) {
25
+ // Ensure FEDERATION_WEBPACK_PATH environment variable is set correctly
26
+ process.env['FEDERATION_WEBPACK_PATH'] =
27
+ process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
28
+ // Dynamically import core plugin
29
+ const CorePlugin = require(this.coreModulePath).default;
30
+ // Create core plugin instance and apply it
31
+ this.createCorePluginInstance(CorePlugin, compiler);
32
+ }
33
+ /**
34
+ * Create core plugin instance
35
+ * Subclasses can override this method to customize instantiation logic
36
+ */
37
+ createCorePluginInstance(CorePlugin, compiler) {
38
+ new CorePlugin(this._options).apply(compiler);
39
+ }
40
+ }
41
+ exports.default = BaseWrapperPlugin;
42
+ //# sourceMappingURL=BaseWrapperPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseWrapperPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/BaseWrapperPlugin.ts"],"names":[],"mappings":";;AACA,0FAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAA8B,iBAAiB;IAQ7C,YAAY,OAAY,EAAE,UAAkB,EAAE,cAAsB;QAClE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,uEAAuE;QACvE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QAErE,iCAAiC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAc,CAAC;QAE/D,2CAA2C;QAC3C,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACO,wBAAwB,CAChC,UAAe,EACf,QAAkB;QAElB,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF;AArCD,oCAqCC"}
@@ -1,8 +1,5 @@
1
- import type { WebpackPluginInstance, Compiler } from 'webpack';
2
1
  import type { ConsumeSharedPluginOptions } from '../declarations/plugins/sharing/ConsumeSharedPlugin';
3
- export default class ConsumeSharedPlugin implements WebpackPluginInstance {
4
- private _options;
5
- name: string;
2
+ import BaseWrapperPlugin from './BaseWrapperPlugin';
3
+ export default class ConsumeSharedPlugin extends BaseWrapperPlugin {
6
4
  constructor(options: ConsumeSharedPluginOptions);
7
- apply(compiler: Compiler): void;
8
5
  }
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
6
+ const BaseWrapperPlugin_1 = __importDefault(require("./BaseWrapperPlugin"));
4
7
  const PLUGIN_NAME = 'ConsumeSharedPlugin';
5
- class ConsumeSharedPlugin {
8
+ class ConsumeSharedPlugin extends BaseWrapperPlugin_1.default {
6
9
  constructor(options) {
7
- this._options = options;
8
- this.name = PLUGIN_NAME;
9
- }
10
- apply(compiler) {
11
- process.env['FEDERATION_WEBPACK_PATH'] =
12
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
13
- const CoreConsumeSharedPlugin = require('../lib/sharing/ConsumeSharedPlugin')
14
- .default;
15
- new CoreConsumeSharedPlugin(this._options).apply(compiler);
10
+ super(options, PLUGIN_NAME, '../lib/sharing/ConsumeSharedPlugin');
16
11
  }
17
12
  }
18
13
  exports.default = ConsumeSharedPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumeSharedPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/ConsumeSharedPlugin.ts"],"names":[],"mappings":";;AAEA,0FAA+E;AAE/E,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAqB,mBAAmB;IAItC,YAAY,OAAmC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,uBAAuB,GAC3B,OAAO,CAAC,oCAAoC,CAAC;aAC1C,OAAsE,CAAC;QAC5E,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACF;AAjBD,sCAiBC"}
1
+ {"version":3,"file":"ConsumeSharedPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/ConsumeSharedPlugin.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAqB,mBAAoB,SAAQ,2BAAiB;IAChE,YAAY,OAAmC;QAC7C,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,oCAAoC,CAAC,CAAC;IACpE,CAAC;CACF;AAJD,sCAIC"}
@@ -1,8 +1,5 @@
1
- import type { WebpackPluginInstance, Compiler } from 'webpack';
2
1
  import type { containerPlugin } from '@module-federation/sdk';
3
- export default class ContainerPlugin implements WebpackPluginInstance {
4
- private _options;
5
- name: string;
2
+ import BaseWrapperPlugin from './BaseWrapperPlugin';
3
+ export default class ContainerPlugin extends BaseWrapperPlugin {
6
4
  constructor(options: containerPlugin.ContainerPluginOptions);
7
- apply(compiler: Compiler): void;
8
5
  }
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
6
+ const BaseWrapperPlugin_1 = __importDefault(require("./BaseWrapperPlugin"));
4
7
  const PLUGIN_NAME = 'ContainerPlugin';
5
- class ContainerPlugin {
8
+ class ContainerPlugin extends BaseWrapperPlugin_1.default {
6
9
  constructor(options) {
7
- this._options = options;
8
- this.name = PLUGIN_NAME;
9
- }
10
- apply(compiler) {
11
- process.env['FEDERATION_WEBPACK_PATH'] =
12
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
13
- const CoreContainerPlugin = require('../lib/container/ContainerPlugin')
14
- .default;
15
- new CoreContainerPlugin(this._options).apply(compiler);
10
+ super(options, PLUGIN_NAME, '../lib/container/ContainerPlugin');
16
11
  }
17
12
  }
18
13
  exports.default = ContainerPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/ContainerPlugin.ts"],"names":[],"mappings":";;AAEA,0FAA+E;AAE/E,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAqB,eAAe;IAIlC,YAAY,OAA+C;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,mBAAmB,GAAG,OAAO,CAAC,kCAAkC,CAAC;aACpE,OAAoE,CAAC;QACxE,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;CACF;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"ContainerPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/ContainerPlugin.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAqB,eAAgB,SAAQ,2BAAiB;IAC5D,YAAY,OAA+C;QACzD,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,kCAAkC,CAAC,CAAC;IAClE,CAAC;CACF;AAJD,kCAIC"}
@@ -1,8 +1,5 @@
1
- import type { WebpackPluginInstance, Compiler } from 'webpack';
2
1
  import type { containerReferencePlugin } from '@module-federation/sdk';
3
- export default class ContainerReferencePlugin implements WebpackPluginInstance {
4
- private _options;
5
- name: string;
2
+ import BaseWrapperPlugin from './BaseWrapperPlugin';
3
+ export default class ContainerReferencePlugin extends BaseWrapperPlugin {
6
4
  constructor(options: containerReferencePlugin.ContainerReferencePluginOptions);
7
- apply(compiler: Compiler): void;
8
5
  }
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
6
+ const BaseWrapperPlugin_1 = __importDefault(require("./BaseWrapperPlugin"));
4
7
  const PLUGIN_NAME = 'ContainerReferencePlugin';
5
- class ContainerReferencePlugin {
8
+ class ContainerReferencePlugin extends BaseWrapperPlugin_1.default {
6
9
  constructor(options) {
7
- this._options = options;
8
- this.name = PLUGIN_NAME;
9
- }
10
- apply(compiler) {
11
- process.env['FEDERATION_WEBPACK_PATH'] =
12
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
13
- const CoreContainerReferencePlugin = require('../lib/container/ContainerReferencePlugin')
14
- .default;
15
- new CoreContainerReferencePlugin(this._options).apply(compiler);
10
+ super(options, PLUGIN_NAME, '../lib/container/ContainerReferencePlugin');
16
11
  }
17
12
  }
18
13
  exports.default = ContainerReferencePlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerReferencePlugin.js","sourceRoot":"","sources":["../../../src/wrapper/ContainerReferencePlugin.ts"],"names":[],"mappings":";;AAEA,0FAA+E;AAE/E,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAqB,wBAAwB;IAI3C,YACE,OAAiE;QAEjE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,4BAA4B,GAChC,OAAO,CAAC,2CAA2C,CAAC;aACjD,OAA6E,CAAC;QACnF,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;CACF;AAnBD,2CAmBC"}
1
+ {"version":3,"file":"ContainerReferencePlugin.js","sourceRoot":"","sources":["../../../src/wrapper/ContainerReferencePlugin.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAqB,wBAAyB,SAAQ,2BAAiB;IACrE,YACE,OAAiE;QAEjE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,2CAA2C,CAAC,CAAC;IAC3E,CAAC;CACF;AAND,2CAMC"}
@@ -1,11 +1,11 @@
1
- import type { WebpackPluginInstance, Compiler, Compilation } from 'webpack';
2
- export default class FederationModulesPlugin implements WebpackPluginInstance {
3
- name: string;
1
+ import type { Compilation } from 'webpack';
2
+ import BaseWrapperPlugin from './BaseWrapperPlugin';
3
+ export default class FederationModulesPlugin extends BaseWrapperPlugin {
4
4
  constructor();
5
5
  static getCompilationHooks(compilation: Compilation): {
6
6
  addContainerEntryDependency: import("tapable").SyncHook<[import("../lib/container/ContainerEntryDependency").default], void>;
7
7
  addFederationRuntimeDependency: import("tapable").SyncHook<[import("../lib/container/runtime/FederationRuntimeDependency").default], void>;
8
8
  addRemoteDependency: import("tapable").SyncHook<[any], void>;
9
9
  };
10
- apply(compiler: Compiler): void;
10
+ protected createCorePluginInstance(CorePlugin: any, compiler: any): void;
11
11
  }
@@ -1,22 +1,21 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
6
+ const BaseWrapperPlugin_1 = __importDefault(require("./BaseWrapperPlugin"));
4
7
  const PLUGIN_NAME = 'FederationModulesPlugin';
5
- class FederationModulesPlugin {
8
+ class FederationModulesPlugin extends BaseWrapperPlugin_1.default {
6
9
  constructor() {
7
- this.name = PLUGIN_NAME;
10
+ super({}, PLUGIN_NAME, '../lib/container/runtime/FederationModulesPlugin');
8
11
  }
9
12
  static getCompilationHooks(compilation) {
10
13
  const CoreFederationModulesPlugin = require('../lib/container/runtime/FederationModulesPlugin')
11
14
  .default;
12
15
  return CoreFederationModulesPlugin.getCompilationHooks(compilation);
13
16
  }
14
- apply(compiler) {
15
- process.env['FEDERATION_WEBPACK_PATH'] =
16
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
17
- const CoreFederationModulesPlugin = require('../lib/container/runtime/FederationModulesPlugin')
18
- .default;
19
- new CoreFederationModulesPlugin().apply(compiler);
17
+ createCorePluginInstance(CorePlugin, compiler) {
18
+ new CorePlugin().apply(compiler);
20
19
  }
21
20
  }
22
21
  exports.default = FederationModulesPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"FederationModulesPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/FederationModulesPlugin.ts"],"names":[],"mappings":";;AACA,0FAA+E;AAE/E,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,MAAqB,uBAAuB;IAG1C;QACE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,WAAwB;QACjD,MAAM,2BAA2B,GAC/B,OAAO,CAAC,kDAAkD,CAAC;aACxD,OAAoF,CAAC;QAC1F,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,2BAA2B,GAC/B,OAAO,CAAC,kDAAkD,CAAC;aACxD,OAAoF,CAAC;QAC1F,IAAI,2BAA2B,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;CACF;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"FederationModulesPlugin.js","sourceRoot":"","sources":["../../../src/wrapper/FederationModulesPlugin.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,MAAqB,uBAAwB,SAAQ,2BAAiB;IACpE;QACE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,kDAAkD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,WAAwB;QACjD,MAAM,2BAA2B,GAC/B,OAAO,CAAC,kDAAkD,CAAC;aACxD,OAAoF,CAAC;QAC1F,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAEkB,wBAAwB,CACzC,UAAe,EACf,QAAa;QAEb,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF;AAlBD,0CAkBC"}