@module-federation/enhanced 0.1.3 → 0.1.5

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 (194) hide show
  1. package/package.json +16 -16
  2. package/dist/package.json +0 -67
  3. package/dist/src/declarations/plugins/container/AsyncDependenciesBlock.d.ts +0 -57
  4. package/dist/src/declarations/plugins/container/Dependency.d.ts +0 -285
  5. package/dist/src/declarations/plugins/container/Module.d.ts +0 -138
  6. package/dist/src/declarations/plugins/container/ModuleFactory.d.ts +0 -33
  7. package/dist/src/declarations/plugins/container/ObjectDeserializerContext.d.ts +0 -4
  8. package/dist/src/declarations/plugins/container/StaticExportsDependency.d.ts +0 -28
  9. package/dist/src/declarations/plugins/container/Template.d.ts +0 -198
  10. package/dist/src/declarations/plugins/container/WebpackError.d.ts +0 -32
  11. package/dist/src/declarations/plugins/container/WebpackOptions.d.ts +0 -140
  12. package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +0 -74
  13. package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +0 -67
  14. package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +0 -78
  15. package/dist/src/index.d.ts +0 -14
  16. package/dist/src/index.js +0 -37
  17. package/dist/src/index.js.map +0 -1
  18. package/dist/src/lib/Constants.d.ts +0 -117
  19. package/dist/src/lib/Constants.js +0 -125
  20. package/dist/src/lib/Constants.js.map +0 -1
  21. package/dist/src/lib/RuntimeGlobals.d.ts +0 -0
  22. package/dist/src/lib/RuntimeGlobals.js +0 -316
  23. package/dist/src/lib/RuntimeGlobals.js.map +0 -1
  24. package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +0 -20
  25. package/dist/src/lib/container/AsyncBoundaryPlugin.js +0 -183
  26. package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +0 -1
  27. package/dist/src/lib/container/ContainerEntryDependency.d.ts +0 -24
  28. package/dist/src/lib/container/ContainerEntryDependency.js +0 -39
  29. package/dist/src/lib/container/ContainerEntryDependency.js.map +0 -1
  30. package/dist/src/lib/container/ContainerEntryModule.d.ts +0 -75
  31. package/dist/src/lib/container/ContainerEntryModule.js +0 -250
  32. package/dist/src/lib/container/ContainerEntryModule.js.map +0 -1
  33. package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +0 -15
  34. package/dist/src/lib/container/ContainerEntryModuleFactory.js +0 -30
  35. package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +0 -1
  36. package/dist/src/lib/container/ContainerExposedDependency.d.ts +0 -19
  37. package/dist/src/lib/container/ContainerExposedDependency.js +0 -49
  38. package/dist/src/lib/container/ContainerExposedDependency.js.map +0 -1
  39. package/dist/src/lib/container/ContainerPlugin.d.ts +0 -13
  40. package/dist/src/lib/container/ContainerPlugin.js +0 -185
  41. package/dist/src/lib/container/ContainerPlugin.js.map +0 -1
  42. package/dist/src/lib/container/ContainerReferencePlugin.d.ts +0 -14
  43. package/dist/src/lib/container/ContainerReferencePlugin.js +0 -102
  44. package/dist/src/lib/container/ContainerReferencePlugin.js.map +0 -1
  45. package/dist/src/lib/container/FallbackDependency.d.ts +0 -15
  46. package/dist/src/lib/container/FallbackDependency.js +0 -47
  47. package/dist/src/lib/container/FallbackDependency.js.map +0 -1
  48. package/dist/src/lib/container/FallbackItemDependency.d.ts +0 -3
  49. package/dist/src/lib/container/FallbackItemDependency.js +0 -26
  50. package/dist/src/lib/container/FallbackItemDependency.js.map +0 -1
  51. package/dist/src/lib/container/FallbackModule.d.ts +0 -54
  52. package/dist/src/lib/container/FallbackModule.js +0 -152
  53. package/dist/src/lib/container/FallbackModule.js.map +0 -1
  54. package/dist/src/lib/container/FallbackModuleFactory.d.ts +0 -11
  55. package/dist/src/lib/container/FallbackModuleFactory.js +0 -28
  56. package/dist/src/lib/container/FallbackModuleFactory.js.map +0 -1
  57. package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +0 -14
  58. package/dist/src/lib/container/HoistContainerReferencesPlugin.js +0 -61
  59. package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +0 -1
  60. package/dist/src/lib/container/ModuleFederationPlugin.d.ts +0 -16
  61. package/dist/src/lib/container/ModuleFederationPlugin.js +0 -120
  62. package/dist/src/lib/container/ModuleFederationPlugin.js.map +0 -1
  63. package/dist/src/lib/container/RemoteModule.d.ts +0 -90
  64. package/dist/src/lib/container/RemoteModule.js +0 -148
  65. package/dist/src/lib/container/RemoteModule.js.map +0 -1
  66. package/dist/src/lib/container/RemoteRuntimeModule.d.ts +0 -12
  67. package/dist/src/lib/container/RemoteRuntimeModule.js +0 -101
  68. package/dist/src/lib/container/RemoteRuntimeModule.js.map +0 -1
  69. package/dist/src/lib/container/RemoteToExternalDependency.d.ts +0 -4
  70. package/dist/src/lib/container/RemoteToExternalDependency.js +0 -26
  71. package/dist/src/lib/container/RemoteToExternalDependency.js.map +0 -1
  72. package/dist/src/lib/container/constant.d.ts +0 -3
  73. package/dist/src/lib/container/constant.js +0 -12
  74. package/dist/src/lib/container/constant.js.map +0 -1
  75. package/dist/src/lib/container/options.d.ts +0 -26
  76. package/dist/src/lib/container/options.js +0 -81
  77. package/dist/src/lib/container/options.js.map +0 -1
  78. package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +0 -13
  79. package/dist/src/lib/container/runtime/FederationRuntimeModule.js +0 -27
  80. package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +0 -1
  81. package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +0 -17
  82. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +0 -200
  83. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +0 -1
  84. package/dist/src/lib/container/runtime/getFederationGlobal.d.ts +0 -5
  85. package/dist/src/lib/container/runtime/getFederationGlobal.js +0 -24
  86. package/dist/src/lib/container/runtime/getFederationGlobal.js.map +0 -1
  87. package/dist/src/lib/container/runtime/utils.d.ts +0 -16
  88. package/dist/src/lib/container/runtime/utils.js +0 -83
  89. package/dist/src/lib/container/runtime/utils.js.map +0 -1
  90. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +0 -3
  91. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +0 -26
  92. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +0 -1
  93. package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +0 -99
  94. package/dist/src/lib/sharing/ConsumeSharedModule.js +0 -206
  95. package/dist/src/lib/sharing/ConsumeSharedModule.js.map +0 -1
  96. package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +0 -30
  97. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +0 -245
  98. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +0 -1
  99. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +0 -31
  100. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -108
  101. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +0 -1
  102. package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +0 -3
  103. package/dist/src/lib/sharing/ProvideForSharedDependency.js +0 -27
  104. package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +0 -1
  105. package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +0 -36
  106. package/dist/src/lib/sharing/ProvideSharedDependency.js +0 -70
  107. package/dist/src/lib/sharing/ProvideSharedDependency.js.map +0 -1
  108. package/dist/src/lib/sharing/ProvideSharedModule.d.ts +0 -67
  109. package/dist/src/lib/sharing/ProvideSharedModule.js +0 -186
  110. package/dist/src/lib/sharing/ProvideSharedModule.js.map +0 -1
  111. package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +0 -18
  112. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +0 -30
  113. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +0 -1
  114. package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +0 -47
  115. package/dist/src/lib/sharing/ProvideSharedPlugin.js +0 -195
  116. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +0 -1
  117. package/dist/src/lib/sharing/SharePlugin.d.ts +0 -41
  118. package/dist/src/lib/sharing/SharePlugin.js +0 -79
  119. package/dist/src/lib/sharing/SharePlugin.js.map +0 -1
  120. package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +0 -14
  121. package/dist/src/lib/sharing/ShareRuntimeModule.js +0 -89
  122. package/dist/src/lib/sharing/ShareRuntimeModule.js.map +0 -1
  123. package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +0 -12
  124. package/dist/src/lib/sharing/resolveMatchedConfigs.js +0 -66
  125. package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +0 -1
  126. package/dist/src/lib/sharing/utils.d.ts +0 -37
  127. package/dist/src/lib/sharing/utils.js +0 -359
  128. package/dist/src/lib/sharing/utils.js.map +0 -1
  129. package/dist/src/rspack.d.ts +0 -1
  130. package/dist/src/rspack.js +0 -6
  131. package/dist/src/rspack.js.map +0 -1
  132. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +0 -5
  133. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +0 -19
  134. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +0 -1
  135. package/dist/src/runtime.d.ts +0 -1
  136. package/dist/src/runtime.js +0 -18
  137. package/dist/src/runtime.js.map +0 -1
  138. package/dist/src/schemas/container/ContainerPlugin.check.d.ts +0 -7
  139. package/dist/src/schemas/container/ContainerPlugin.check.js +0 -2318
  140. package/dist/src/schemas/container/ContainerPlugin.check.js.map +0 -1
  141. package/dist/src/schemas/container/ContainerPlugin.d.ts +0 -289
  142. package/dist/src/schemas/container/ContainerPlugin.js +0 -326
  143. package/dist/src/schemas/container/ContainerPlugin.js.map +0 -1
  144. package/dist/src/schemas/container/ContainerReferencePlugin.check.d.ts +0 -7
  145. package/dist/src/schemas/container/ContainerReferencePlugin.check.js +0 -939
  146. package/dist/src/schemas/container/ContainerReferencePlugin.check.js.map +0 -1
  147. package/dist/src/schemas/container/ContainerReferencePlugin.d.ts +0 -87
  148. package/dist/src/schemas/container/ContainerReferencePlugin.js +0 -132
  149. package/dist/src/schemas/container/ContainerReferencePlugin.js.map +0 -1
  150. package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +0 -9
  151. package/dist/src/schemas/container/ModuleFederationPlugin.check.js +0 -4001
  152. package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +0 -1
  153. package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +0 -622
  154. package/dist/src/schemas/container/ModuleFederationPlugin.js +0 -716
  155. package/dist/src/schemas/container/ModuleFederationPlugin.js.map +0 -1
  156. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.d.ts +0 -7
  157. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js +0 -434
  158. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js.map +0 -1
  159. package/dist/src/schemas/sharing/ProviderSharedPlugin.d.ts +0 -104
  160. package/dist/src/schemas/sharing/ProviderSharedPlugin.js +0 -119
  161. package/dist/src/schemas/sharing/ProviderSharedPlugin.js.map +0 -1
  162. package/dist/src/types/runtime.d.ts +0 -7
  163. package/dist/src/types/runtime.js +0 -3
  164. package/dist/src/types/runtime.js.map +0 -1
  165. package/dist/src/webpack.d.ts +0 -1
  166. package/dist/src/webpack.js +0 -9
  167. package/dist/src/webpack.js.map +0 -1
  168. package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +0 -8
  169. package/dist/src/wrapper/AsyncBoundaryPlugin.js +0 -19
  170. package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +0 -1
  171. package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +0 -8
  172. package/dist/src/wrapper/ConsumeSharedPlugin.js +0 -19
  173. package/dist/src/wrapper/ConsumeSharedPlugin.js.map +0 -1
  174. package/dist/src/wrapper/ContainerPlugin.d.ts +0 -8
  175. package/dist/src/wrapper/ContainerPlugin.js +0 -19
  176. package/dist/src/wrapper/ContainerPlugin.js.map +0 -1
  177. package/dist/src/wrapper/ContainerReferencePlugin.d.ts +0 -8
  178. package/dist/src/wrapper/ContainerReferencePlugin.js +0 -19
  179. package/dist/src/wrapper/ContainerReferencePlugin.js.map +0 -1
  180. package/dist/src/wrapper/FederationRuntimePlugin.d.ts +0 -9
  181. package/dist/src/wrapper/FederationRuntimePlugin.js +0 -22
  182. package/dist/src/wrapper/FederationRuntimePlugin.js.map +0 -1
  183. package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +0 -6
  184. package/dist/src/wrapper/HoistContainerReferencesPlugin.js +0 -18
  185. package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +0 -1
  186. package/dist/src/wrapper/ModuleFederationPlugin.d.ts +0 -8
  187. package/dist/src/wrapper/ModuleFederationPlugin.js +0 -24
  188. package/dist/src/wrapper/ModuleFederationPlugin.js.map +0 -1
  189. package/dist/src/wrapper/ProvideSharedPlugin.d.ts +0 -8
  190. package/dist/src/wrapper/ProvideSharedPlugin.js +0 -19
  191. package/dist/src/wrapper/ProvideSharedPlugin.js.map +0 -1
  192. package/dist/src/wrapper/SharePlugin.d.ts +0 -8
  193. package/dist/src/wrapper/SharePlugin.js +0 -19
  194. package/dist/src/wrapper/SharePlugin.js.map +0 -1
@@ -1,195 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
- */
5
- 'use strict';
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
- const options_1 = require("../container/options");
12
- const ProvideForSharedDependency_1 = __importDefault(require("./ProvideForSharedDependency"));
13
- const ProvideSharedDependency_1 = __importDefault(require("./ProvideSharedDependency"));
14
- const ProvideSharedModuleFactory_1 = __importDefault(require("./ProvideSharedModuleFactory"));
15
- const FederationRuntimePlugin_1 = __importDefault(require("../container/runtime/FederationRuntimePlugin"));
16
- const ProviderSharedPlugin_check_1 = __importDefault(require("../../schemas/sharing/ProviderSharedPlugin.check"));
17
- const ProviderSharedPlugin_1 = __importDefault(require("../../schemas/sharing/ProviderSharedPlugin"));
18
- const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
19
- const WebpackError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/WebpackError'));
20
- const validate = createSchemaValidation(
21
- //eslint-disable-next-line
22
- ProviderSharedPlugin_check_1.default, () => ProviderSharedPlugin_1.default, {
23
- name: 'Provide Shared Plugin',
24
- baseDataPath: 'options',
25
- });
26
- /**
27
- * @typedef {Object} ProvideOptions
28
- * @property {string} shareKey
29
- * @property {string} shareScope
30
- * @property {string | undefined | false} version
31
- * @property {boolean} eager
32
- */
33
- /** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */
34
- class ProvideSharedPlugin {
35
- /**
36
- * @param {ProvideSharedPluginOptions} options options
37
- */
38
- constructor(options) {
39
- validate(options);
40
- //@ts-ignore
41
- this._provides = (0, options_1.parseOptions)(options.provides, (item) => {
42
- if (Array.isArray(item))
43
- throw new Error('Unexpected array of provides');
44
- /** @type {ProvideOptions} */
45
- const result = {
46
- shareKey: item,
47
- version: undefined,
48
- shareScope: options.shareScope || 'default',
49
- eager: false,
50
- requiredVersion: false,
51
- strictVersion: false,
52
- singleton: false,
53
- };
54
- return result;
55
- }, (item) => ({
56
- shareKey: item.shareKey,
57
- version: item.version,
58
- shareScope: item.shareScope || options.shareScope || 'default',
59
- eager: !!item.eager,
60
- requiredVersion: item.requiredVersion || false,
61
- strictVersion: item.strictVersion || false,
62
- singleton: item.singleton || false,
63
- }));
64
- this._provides.sort(([a], [b]) => {
65
- if (a < b)
66
- return -1;
67
- if (b < a)
68
- return 1;
69
- return 0;
70
- });
71
- }
72
- /**
73
- * Apply the plugin
74
- * @param {Compiler} compiler the compiler instance
75
- * @returns {void}
76
- */
77
- apply(compiler) {
78
- new FederationRuntimePlugin_1.default().apply(compiler);
79
- process.env['FEDERATION_WEBPACK_PATH'] =
80
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
81
- const compilationData = new WeakMap();
82
- compiler.hooks.compilation.tap('ProvideSharedPlugin', (compilation, { normalModuleFactory }) => {
83
- const resolvedProvideMap = new Map();
84
- const matchProvides = new Map();
85
- const prefixMatchProvides = new Map();
86
- for (const [request, config] of this._provides) {
87
- if (/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(request)) {
88
- // relative request
89
- resolvedProvideMap.set(request, {
90
- config,
91
- version: config.version,
92
- });
93
- }
94
- else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(request)) {
95
- // absolute path
96
- resolvedProvideMap.set(request, {
97
- config,
98
- version: config.version,
99
- });
100
- }
101
- else if (request.endsWith('/')) {
102
- // module request prefix
103
- prefixMatchProvides.set(request, config);
104
- }
105
- else {
106
- // module request
107
- matchProvides.set(request, config);
108
- }
109
- }
110
- compilationData.set(compilation, resolvedProvideMap);
111
- const provideSharedModule = (key, config, resource, resourceResolveData) => {
112
- let version = config.version;
113
- if (version === undefined) {
114
- let details = '';
115
- if (!resourceResolveData) {
116
- details = `No resolve data provided from resolver.`;
117
- }
118
- else {
119
- const descriptionFileData = resourceResolveData.descriptionFileData;
120
- if (!descriptionFileData) {
121
- details =
122
- 'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';
123
- }
124
- else if (!descriptionFileData.version) {
125
- details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
126
- }
127
- else {
128
- version = descriptionFileData.version;
129
- }
130
- }
131
- if (!version) {
132
- const error = new WebpackError(`No version specified and unable to automatically determine one. ${details}`);
133
- error.file = `shared module ${key} -> ${resource}`;
134
- // @ts-ignore
135
- compilation.warnings.push(error);
136
- }
137
- }
138
- resolvedProvideMap.set(resource, {
139
- config,
140
- version,
141
- });
142
- };
143
- normalModuleFactory.hooks.module.tap('ProvideSharedPlugin', (module, { resource, resourceResolveData }, resolveData) => {
144
- if (resource && resolvedProvideMap.has(resource)) {
145
- return module;
146
- }
147
- const { request } = resolveData;
148
- {
149
- const config = matchProvides.get(request);
150
- if (config !== undefined && resource) {
151
- provideSharedModule(request, config, resource, resourceResolveData);
152
- resolveData.cacheable = false;
153
- }
154
- }
155
- for (const [prefix, config] of prefixMatchProvides) {
156
- if (request.startsWith(prefix) && resource) {
157
- const remainder = request.slice(prefix.length);
158
- provideSharedModule(resource, {
159
- ...config,
160
- shareKey: config.shareKey + remainder,
161
- }, resource, resourceResolveData);
162
- resolveData.cacheable = false;
163
- }
164
- }
165
- return module;
166
- });
167
- });
168
- compiler.hooks.finishMake.tapPromise('ProvideSharedPlugin', async (compilation) => {
169
- const resolvedProvideMap = compilationData.get(compilation);
170
- if (!resolvedProvideMap)
171
- return;
172
- await Promise.all(Array.from(resolvedProvideMap, ([resource, { config, version }]) => new Promise((resolve, reject) => {
173
- compilation.addInclude(compiler.context,
174
- //@ts-ignore
175
- new ProvideSharedDependency_1.default(config.shareScope, config.shareKey, version || false, resource, config.eager, config.requiredVersion, config.strictVersion, config.singleton), {
176
- name: undefined,
177
- }, (err) => {
178
- if (err)
179
- return reject(err);
180
- resolve();
181
- });
182
- })));
183
- });
184
- compiler.hooks.compilation.tap('ProvideSharedPlugin', (compilation, { normalModuleFactory }) => {
185
- compilation.dependencyFactories.set(ProvideForSharedDependency_1.default, normalModuleFactory);
186
- compilation.dependencyFactories.set(
187
- //@ts-ignore
188
- ProvideSharedDependency_1.default,
189
- // @ts-ignore
190
- new ProvideSharedModuleFactory_1.default());
191
- });
192
- }
193
- }
194
- exports.default = ProvideSharedPlugin;
195
- //# sourceMappingURL=ProvideSharedPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProvideSharedPlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- export = SharePlugin;
2
- /** @typedef {import("../../declarations/plugins/sharing/ConsumeSharedPlugin").ConsumeSharedPluginOptions} ConsumeSharedPluginOptions */
3
- /** @typedef {import("../../declarations/plugins/sharing/ConsumeSharedPlugin").ConsumesConfig} ConsumesConfig */
4
- /** @typedef {import("../../declarations/plugins/sharing/ProvideSharedPlugin").ProvideSharedPluginOptions} ProvideSharedPluginOptions */
5
- /** @typedef {import("../../declarations/plugins/sharing/ProvideSharedPlugin").ProvidesConfig} ProvidesConfig */
6
- /** @typedef {import("../../declarations/plugins/sharing/SharePlugin").SharePluginOptions} SharePluginOptions */
7
- /** @typedef {import("../../declarations/plugins/sharing/SharePlugin").SharedConfig} SharedConfig */
8
- /** @typedef {import("webpack/lib/Compiler")} Compiler */
9
- declare class SharePlugin {
10
- /**
11
- * @param {SharePluginOptions} options options
12
- */
13
- constructor(options: any);
14
- _shareScope: any;
15
- _consumes: Record<string, any>[];
16
- _provides: Record<string, any>[];
17
- /**
18
- * Apply the plugin
19
- * @param {Compiler} compiler the compiler instance
20
- * @returns {void}
21
- */
22
- apply(compiler: Compiler): void;
23
- }
24
- declare namespace SharePlugin {
25
- export {
26
- ConsumeSharedPluginOptions,
27
- ConsumesConfig,
28
- ProvideSharedPluginOptions,
29
- ProvidesConfig,
30
- SharePluginOptions,
31
- SharedConfig,
32
- Compiler,
33
- };
34
- }
35
- type Compiler = import('webpack/lib/Compiler');
36
- type ConsumeSharedPluginOptions = any;
37
- type ConsumesConfig = any;
38
- type ProvideSharedPluginOptions = any;
39
- type ProvidesConfig = any;
40
- type SharePluginOptions = any;
41
- type SharedConfig = any;
@@ -1,79 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
- */
5
- 'use strict';
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const options_1 = require("../container/options");
11
- const ConsumeSharedPlugin_1 = __importDefault(require("./ConsumeSharedPlugin"));
12
- const ProvideSharedPlugin_1 = __importDefault(require("./ProvideSharedPlugin"));
13
- const utils_1 = require("./utils");
14
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
15
- class SharePlugin {
16
- constructor(options) {
17
- const sharedOptions = (0, options_1.parseOptions)(options.shared, (item, key) => {
18
- if (typeof item !== 'string')
19
- throw new Error('Unexpected array in shared');
20
- const config = item === key || !(0, utils_1.isRequiredVersion)(item)
21
- ? {
22
- import: item,
23
- }
24
- : {
25
- import: key,
26
- requiredVersion: item,
27
- };
28
- return config;
29
- }, (item) => item);
30
- const consumes = sharedOptions.map(([key, options]) => ({
31
- [key]: {
32
- import: options.import,
33
- shareKey: options.shareKey || key,
34
- shareScope: options.shareScope,
35
- requiredVersion: options.requiredVersion,
36
- strictVersion: options.strictVersion,
37
- singleton: options.singleton,
38
- packageName: options.packageName,
39
- eager: options.eager,
40
- },
41
- }));
42
- const provides = sharedOptions
43
- .filter(([, options]) => options.import !== false)
44
- .map(([key, options]) => ({
45
- [options.import || key]: {
46
- shareKey: options.shareKey || key,
47
- shareScope: options.shareScope,
48
- version: options.version,
49
- eager: options.eager,
50
- requiredVersion: options.requiredVersion,
51
- strictVersion: options.strictVersion,
52
- singleton: options.singleton,
53
- },
54
- }));
55
- //@ts-ignore
56
- this._shareScope = options.shareScope;
57
- this._consumes = consumes;
58
- this._provides = provides;
59
- }
60
- /**
61
- * Apply the plugin
62
- * @param {Compiler} compiler the compiler instance
63
- * @returns {void}
64
- */
65
- apply(compiler) {
66
- process.env['FEDERATION_WEBPACK_PATH'] =
67
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
68
- new ConsumeSharedPlugin_1.default({
69
- shareScope: this._shareScope,
70
- consumes: this._consumes,
71
- }).apply(compiler);
72
- new ProvideSharedPlugin_1.default({
73
- shareScope: this._shareScope,
74
- provides: this._provides,
75
- }).apply(compiler);
76
- }
77
- }
78
- exports.default = SharePlugin;
79
- //# sourceMappingURL=SharePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SharePlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/SharePlugin.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export = ShareRuntimeModule;
2
- /** @typedef {import("webpack/lib/Chunk")} Chunk */
3
- /** @typedef {import("webpack/lib/ChunkGraph")} ChunkGraph */
4
- /** @typedef {import("webpack/lib/Compilation")} Compilation */
5
- declare class ShareRuntimeModule extends RuntimeModule {
6
- constructor();
7
- }
8
- declare namespace ShareRuntimeModule {
9
- export { Chunk, ChunkGraph, Compilation };
10
- }
11
- import RuntimeModule = require('webpack/lib/RuntimeModule');
12
- type Chunk = import('webpack/lib/Chunk');
13
- type ChunkGraph = import('webpack/lib/ChunkGraph');
14
- type Compilation = import('webpack/lib/Compilation');
@@ -1,89 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
4
- */
5
- 'use strict';
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
8
- const utils_1 = require("../container/runtime/utils");
9
- const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
10
- const { compareModulesByIdentifier, compareStrings } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/comparators'));
11
- class ShareRuntimeModule extends RuntimeModule {
12
- constructor() {
13
- // must after FederationRuntimeModule
14
- super('sharing', RuntimeModule.STAGE_NORMAL + 2);
15
- }
16
- /**
17
- * @returns {string | null} runtime code
18
- */
19
- generate() {
20
- const compilation = this.compilation;
21
- if (!compilation) {
22
- throw new Error('Compilation is undefined');
23
- }
24
- const { runtimeTemplate, codeGenerationResults, outputOptions: { uniqueName, ignoreBrowserWarnings }, } = compilation;
25
- const chunkGraph = this.chunkGraph;
26
- if (!chunkGraph) {
27
- throw new Error('ChunkGraph is undefined');
28
- }
29
- const initCodePerScope = new Map();
30
- let sharedInitOptionsStr = '';
31
- for (const chunk of this.chunk?.getAllReferencedChunks() || []) {
32
- if (!chunk) {
33
- continue;
34
- }
35
- const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(chunk, 'share-init',
36
- // @ts-ignore
37
- compareModulesByIdentifier);
38
- if (!modules)
39
- continue;
40
- for (const m of modules) {
41
- const data = codeGenerationResults.getData(m, chunk.runtime, 'share-init');
42
- if (!data)
43
- continue;
44
- for (const item of data) {
45
- const { shareScope, initStage, init } = item;
46
- let stages = initCodePerScope.get(shareScope);
47
- if (stages === undefined) {
48
- initCodePerScope.set(shareScope, (stages = new Map()));
49
- }
50
- let list = stages.get(initStage || 0);
51
- if (list === undefined) {
52
- stages.set(initStage || 0, (list = new Set()));
53
- }
54
- list.add(init);
55
- }
56
- const sharedOption = codeGenerationResults.getData(m, chunk.runtime, 'share-init-option');
57
- if (sharedOption) {
58
- sharedInitOptionsStr += `
59
- "${sharedOption.name}" : {
60
- version: ${sharedOption.version},
61
- get: ${sharedOption.getter},
62
- scope: ${JSON.stringify(sharedOption.shareScope)},
63
- shareConfig: ${JSON.stringify(sharedOption.shareConfig)}
64
- },
65
- `;
66
- }
67
- }
68
- }
69
- const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals || {});
70
- return Template.asString([
71
- `${(0, utils_1.getFederationGlobalScope)(RuntimeGlobals)}.initOptions.shared = {${sharedInitOptionsStr}}`,
72
- `${RuntimeGlobals.shareScopeMap} = {};`,
73
- 'var initPromises = {};',
74
- 'var initTokens = {};',
75
- `${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction('name, initScope', [
76
- `return ${federationGlobal}.bundlerRuntime.I({${Template.indent([
77
- `shareScopeName: name,`,
78
- `webpackRequire: ${RuntimeGlobals.require},`,
79
- `initPromises: initPromises,`,
80
- `initTokens: initTokens,`,
81
- `initScope: initScope,`,
82
- ])}`,
83
- '})',
84
- ])};`,
85
- ]);
86
- }
87
- }
88
- exports.default = ShareRuntimeModule;
89
- //# sourceMappingURL=ShareRuntimeModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShareRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ShareRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export function resolveMatchedConfigs<T>(
2
- compilation: Compilation,
3
- configs: [string, T][],
4
- ): Promise<MatchedConfigs<T>>;
5
- export type Compilation = import('webpack/lib/Compilation');
6
- export type ResolveOptionsWithDependencyType =
7
- import('webpack/lib/ResolverFactory').ResolveOptionsWithDependencyType;
8
- export type MatchedConfigs<T> = {
9
- resolved: Map<string, T>;
10
- unresolved: Map<string, T>;
11
- prefixed: Map<string, T>;
12
- };
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveMatchedConfigs = void 0;
4
- /*
5
- MIT License http://www.opensource.org/licenses/mit-license.php
6
- Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
7
- */
8
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
9
- const ModuleNotFoundError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleNotFoundError'));
10
- const LazySet = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/LazySet'));
11
- const RESOLVE_OPTIONS = {
12
- dependencyType: 'esm',
13
- };
14
- async function resolveMatchedConfigs(compilation, configs) {
15
- const resolved = new Map();
16
- const unresolved = new Map();
17
- const prefixed = new Map();
18
- const resolveContext = {
19
- fileDependencies: new LazySet(),
20
- contextDependencies: new LazySet(),
21
- missingDependencies: new LazySet(),
22
- };
23
- // @ts-ignore
24
- const resolver = compilation.resolverFactory.get('normal', RESOLVE_OPTIONS);
25
- const context = compilation.compiler.context;
26
- await Promise.all(
27
- //@ts-ignore
28
- configs.map(([request, config]) => {
29
- if (/^\.\.?(\/|$)/.test(request)) {
30
- // relative request
31
- return new Promise((resolve) => {
32
- resolver.resolve({}, context, request, resolveContext, (err, result) => {
33
- if (err || result === false) {
34
- err = err || new Error(`Can't resolve ${request}`);
35
- compilation.errors.push(
36
- // @ts-ignore
37
- new ModuleNotFoundError(null, err, {
38
- name: `shared module ${request}`,
39
- }));
40
- return resolve();
41
- }
42
- resolved.set(result, config);
43
- resolve();
44
- });
45
- });
46
- }
47
- else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(request)) {
48
- // absolute path
49
- resolved.set(request, config);
50
- }
51
- else if (request.endsWith('/')) {
52
- // module request prefix
53
- prefixed.set(request, config);
54
- }
55
- else {
56
- // module request
57
- unresolved.set(request, config);
58
- }
59
- }));
60
- compilation.contextDependencies.addAll(resolveContext.contextDependencies);
61
- compilation.fileDependencies.addAll(resolveContext.fileDependencies);
62
- compilation.missingDependencies.addAll(resolveContext.missingDependencies);
63
- return { resolved, unresolved, prefixed };
64
- }
65
- exports.resolveMatchedConfigs = resolveMatchedConfigs;
66
- //# sourceMappingURL=resolveMatchedConfigs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveMatchedConfigs.js","sourceRoot":"","sources":["../../../../src/lib/sharing/resolveMatchedConfigs.ts"],"names":[],"mappings":";;;AAAA;;;EAGE;AACF,0FAAqF;AAIrF,MAAM,mBAAmB,GAAG,OAAO,CACjC,IAAA,6CAAoB,EAAC,iCAAiC,CAAC,CACJ,CAAC;AACtD,MAAM,OAAO,GAAG,OAAO,CACrB,IAAA,6CAAoB,EAAC,0BAA0B,CAAC,CACJ,CAAC;AAQ/C,MAAM,eAAe,GAAqC;IACxD,cAAc,EAAE,KAAK;CACtB,CAAC;AAEK,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;IACtC,MAAM,cAAc,GAAG;QACrB,gBAAgB,EAAE,IAAI,OAAO,EAAU;QACvC,mBAAmB,EAAE,IAAI,OAAO,EAAU;QAC1C,mBAAmB,EAAE,IAAI,OAAO,EAAU;KAC3C,CAAC;IACF,aAAa;IACb,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;IAE7C,MAAM,OAAO,CAAC,GAAG;IACf,YAAY;IACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE;QAChC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,mBAAmB;YACnB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,QAAQ,CAAC,OAAO,CACd,EAAE,EACF,OAAO,EACP,OAAO,EACP,cAAc,EACd,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACd,IAAI,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBAC5B,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;wBACnD,WAAW,CAAC,MAAM,CAAC,IAAI;wBACrB,aAAa;wBACb,IAAI,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE;4BACjC,IAAI,EAAE,iBAAiB,OAAO,EAAE;yBACjC,CAAC,CACH,CAAC;wBACF,OAAO,OAAO,EAAE,CAAC;oBACnB,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;oBACvC,OAAO,EAAE,CAAC;gBACZ,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,gBAAgB;YAChB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,wBAAwB;YACxB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC3E,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACrE,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC3E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC5C,CAAC;AA3DD,sDA2DC"}
@@ -1,37 +0,0 @@
1
- export function getRequiredVersionFromDescriptionFile(
2
- data: any,
3
- packageName: any,
4
- ): string;
5
- export type InputFileSystem = import('webpack/lib/util/fs').InputFileSystem;
6
- /**
7
- * @param {string} str maybe required version
8
- * @returns {boolean} true, if it looks like a version
9
- */
10
- export function isRequiredVersion(str: string): boolean;
11
- /**
12
- * @see https://docs.npmjs.com/cli/v7/configuring-npm/package-json#urls-as-dependencies
13
- * @param {string} versionDesc version to be normalized
14
- * @returns {string} normalized version
15
- */
16
- export function normalizeVersion(versionDesc: string): string;
17
- /**
18
- *
19
- * @param {InputFileSystem} fs file system
20
- * @param {string} directory directory to start looking into
21
- * @param {string[]} descriptionFiles possible description filenames
22
- * @param {function((Error | null)=, {data: object, path: string}=): void} callback callback
23
- */
24
- export function getDescriptionFile(
25
- fs: InputFileSystem,
26
- directory: string,
27
- descriptionFiles: string[],
28
- callback: (
29
- arg0: (Error | null) | undefined,
30
- arg1:
31
- | {
32
- data: object;
33
- path: string;
34
- }
35
- | undefined,
36
- ) => void,
37
- ): void;