@module-federation/rsbuild-plugin 0.0.0-refactor-manifest-20251015114345 → 0.0.0-research-issue-4085-20251016232757
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.d.ts +1 -4
- package/dist/index.js +15 -64
- package/dist/index.mjs +16 -65
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/manifest.d.ts +4 -10
- package/dist/utils/ssr.d.ts +1 -0
- package/dist/utils.js +16 -15
- package/dist/utils.mjs +11 -10
- package/package.json +4 -4
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModuleFederationPlugin, PLUGIN_NAME } from '@module-federation/enhanced/rspack';
|
|
2
|
-
import { SSR_DIR
|
|
2
|
+
import { SSR_DIR } from '../utils';
|
|
3
3
|
import type { moduleFederationPlugin } from '@module-federation/sdk';
|
|
4
4
|
import type { RsbuildPlugin, Rspack } from '@rsbuild/core';
|
|
5
5
|
type ModuleFederationOptions = moduleFederationPlugin.ModuleFederationPluginOptions;
|
|
@@ -14,10 +14,7 @@ type ExposedAPIType = {
|
|
|
14
14
|
browserPlugin?: ModuleFederationPlugin;
|
|
15
15
|
rspressSSGPlugin?: ModuleFederationPlugin;
|
|
16
16
|
distOutputDir?: string;
|
|
17
|
-
browserEnvironmentName?: string;
|
|
18
|
-
nodeEnvironmentName?: string;
|
|
19
17
|
};
|
|
20
|
-
assetResources: Record<string, StatsAssetResource>;
|
|
21
18
|
isSSRConfig: typeof isSSRConfig;
|
|
22
19
|
isRspressSSGConfig: typeof isRspressSSGConfig;
|
|
23
20
|
};
|
package/dist/index.js
CHANGED
|
@@ -136,21 +136,21 @@ function mergeManifest(browserManifest, nodeManifest) {
|
|
|
136
136
|
if ('publicPath' in browserManifest.metaData) browserManifest.metaData.ssrPublicPath = nodeManifest.metaData.publicPath;
|
|
137
137
|
return browserManifest;
|
|
138
138
|
}
|
|
139
|
-
function mergeStatsAndManifest(
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
if (!
|
|
143
|
-
const mergedStats = mergeStats(
|
|
144
|
-
const mergedManifest = mergeManifest(
|
|
139
|
+
function mergeStatsAndManifest(nodePlugin, browserPlugin) {
|
|
140
|
+
const nodeResourceInfo = nodePlugin.statsResourceInfo;
|
|
141
|
+
const browserResourceInfo = browserPlugin.statsResourceInfo;
|
|
142
|
+
if (!browserResourceInfo || !nodeResourceInfo || !browserResourceInfo.stats || !nodeResourceInfo.stats || !browserResourceInfo.manifest || !nodeResourceInfo.manifest) throw new Error('can not get browserResourceInfo or nodeResourceInfo');
|
|
143
|
+
const mergedStats = mergeStats(browserResourceInfo.stats.stats, nodeResourceInfo.stats.stats);
|
|
144
|
+
const mergedManifest = mergeManifest(browserResourceInfo.manifest.manifest, nodeResourceInfo.manifest.manifest);
|
|
145
145
|
return {
|
|
146
146
|
mergedStats: mergedStats,
|
|
147
|
-
mergedStatsFilePath:
|
|
147
|
+
mergedStatsFilePath: browserResourceInfo.stats.filename,
|
|
148
148
|
mergedManifest: mergedManifest,
|
|
149
|
-
mergedManifestFilePath:
|
|
149
|
+
mergedManifestFilePath: browserResourceInfo.manifest.filename
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
|
-
function updateStatsAndManifest(
|
|
153
|
-
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(
|
|
152
|
+
function updateStatsAndManifest(nodePlugin, browserPlugin, outputDir) {
|
|
153
|
+
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(nodePlugin, browserPlugin);
|
|
154
154
|
external_fs_extra_default().writeFileSync(external_path_default().resolve(outputDir, mergedStatsFilePath), JSON.stringify(mergedStats, null, 2));
|
|
155
155
|
external_fs_extra_default().writeFileSync(external_path_default().resolve(outputDir, mergedManifestFilePath), JSON.stringify(mergedManifest, null, 2));
|
|
156
156
|
}
|
|
@@ -160,6 +160,7 @@ const resolve = ssr_require.resolve;
|
|
|
160
160
|
const SSR_DIR = 'ssr';
|
|
161
161
|
const SSR_ENV_NAME = 'mf-ssr';
|
|
162
162
|
function setSSREnv() {
|
|
163
|
+
process.env['MF_DISABLE_EMIT_STATS'] = 'true';
|
|
163
164
|
process.env['MF_SSR_PRJ'] = 'true';
|
|
164
165
|
}
|
|
165
166
|
const isDev = ()=>'development' === process.env['NODE_ENV'];
|
|
@@ -322,52 +323,12 @@ const pluginModuleFederation = (moduleFederationOptions, rsbuildOptions)=>({
|
|
|
322
323
|
options: {
|
|
323
324
|
nodePlugin: void 0,
|
|
324
325
|
browserPlugin: void 0,
|
|
325
|
-
|
|
326
|
-
distOutputDir: void 0,
|
|
327
|
-
browserEnvironmentName: void 0,
|
|
328
|
-
nodeEnvironmentName: void 0
|
|
326
|
+
distOutputDir: void 0
|
|
329
327
|
},
|
|
330
|
-
assetResources: {},
|
|
331
328
|
isSSRConfig,
|
|
332
329
|
isRspressSSGConfig
|
|
333
330
|
};
|
|
334
331
|
api.expose(RSBUILD_PLUGIN_MODULE_FEDERATION_NAME, generateMergedStatsAndManifestOptions);
|
|
335
|
-
const defaultBrowserEnvironmentName = environment;
|
|
336
|
-
const assetFileNames = (0, sdk_namespaceObject.getManifestFileName)(moduleFederationOptions.manifest);
|
|
337
|
-
if (false !== moduleFederationOptions.manifest) api.processAssets({
|
|
338
|
-
stage: 'report'
|
|
339
|
-
}, ({ assets, environment: envContext })=>{
|
|
340
|
-
const expectedBrowserEnv = generateMergedStatsAndManifestOptions.options.browserEnvironmentName ?? defaultBrowserEnvironmentName;
|
|
341
|
-
const expectedNodeEnv = generateMergedStatsAndManifestOptions.options.nodeEnvironmentName ?? SSR_ENV_NAME;
|
|
342
|
-
const envName = envContext.name;
|
|
343
|
-
if (envName !== expectedBrowserEnv && envName !== expectedNodeEnv) return;
|
|
344
|
-
const assetResources = generateMergedStatsAndManifestOptions.assetResources;
|
|
345
|
-
const targetResources = assetResources[envName] || (assetResources[envName] = {});
|
|
346
|
-
const statsAsset = assets[assetFileNames.statsFileName];
|
|
347
|
-
if (statsAsset) try {
|
|
348
|
-
const raw = statsAsset.source();
|
|
349
|
-
const content = 'string' == typeof raw ? raw : raw.toString();
|
|
350
|
-
targetResources.stats = {
|
|
351
|
-
data: JSON.parse(content),
|
|
352
|
-
filename: assetFileNames.statsFileName
|
|
353
|
-
};
|
|
354
|
-
} catch (err) {
|
|
355
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
356
|
-
src_logger.error(`Failed to parse stats asset "${assetFileNames.statsFileName}" for environment "${envName}": ${message}`);
|
|
357
|
-
}
|
|
358
|
-
const manifestAsset = assets[assetFileNames.manifestFileName];
|
|
359
|
-
if (manifestAsset) try {
|
|
360
|
-
const raw = manifestAsset.source();
|
|
361
|
-
const content = 'string' == typeof raw ? raw : raw.toString();
|
|
362
|
-
targetResources.manifest = {
|
|
363
|
-
data: JSON.parse(content),
|
|
364
|
-
filename: assetFileNames.manifestFileName
|
|
365
|
-
};
|
|
366
|
-
} catch (err) {
|
|
367
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
368
|
-
src_logger.error(`Failed to parse manifest asset "${assetFileNames.manifestFileName}" for environment "${envName}": ${message}`);
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
332
|
api.onBeforeCreateCompiler(({ bundlerConfigs })=>{
|
|
372
333
|
if (!bundlerConfigs) throw new Error('Can not get bundlerConfigs!');
|
|
373
334
|
bundlerConfigs.forEach((bundlerConfig)=>{
|
|
@@ -418,7 +379,6 @@ const pluginModuleFederation = (moduleFederationOptions, rsbuildOptions)=>({
|
|
|
418
379
|
var _bundlerConfig_output2;
|
|
419
380
|
if (isSSRConfig(bundlerConfig.name)) {
|
|
420
381
|
generateMergedStatsAndManifestOptions.options.nodePlugin = new rspack_namespaceObject.ModuleFederationPlugin(createSSRMFConfig(moduleFederationOptions));
|
|
421
|
-
generateMergedStatsAndManifestOptions.options.nodeEnvironmentName = bundlerConfig.name || SSR_ENV_NAME;
|
|
422
382
|
bundlerConfig.plugins.push(generateMergedStatsAndManifestOptions.options.nodePlugin);
|
|
423
383
|
return;
|
|
424
384
|
}
|
|
@@ -439,24 +399,15 @@ const pluginModuleFederation = (moduleFederationOptions, rsbuildOptions)=>({
|
|
|
439
399
|
}
|
|
440
400
|
generateMergedStatsAndManifestOptions.options.browserPlugin = new rspack_namespaceObject.ModuleFederationPlugin(moduleFederationOptions);
|
|
441
401
|
generateMergedStatsAndManifestOptions.options.distOutputDir = (null == (_bundlerConfig_output2 = bundlerConfig.output) ? void 0 : _bundlerConfig_output2.path) || '';
|
|
442
|
-
generateMergedStatsAndManifestOptions.options.browserEnvironmentName = bundlerConfig.name || defaultBrowserEnvironmentName;
|
|
443
402
|
bundlerConfig.plugins.push(generateMergedStatsAndManifestOptions.options.browserPlugin);
|
|
444
403
|
}
|
|
445
404
|
}
|
|
446
405
|
});
|
|
447
406
|
});
|
|
448
407
|
const generateMergedStatsAndManifest = ()=>{
|
|
449
|
-
const {
|
|
450
|
-
if (!
|
|
451
|
-
|
|
452
|
-
const browserAssets = assetResources[browserEnvironmentName];
|
|
453
|
-
const nodeAssets = assetResources[nodeEnvironmentName];
|
|
454
|
-
if (!browserAssets || !nodeAssets) return;
|
|
455
|
-
try {
|
|
456
|
-
updateStatsAndManifest(nodeAssets, browserAssets, distOutputDir);
|
|
457
|
-
} catch (err) {
|
|
458
|
-
src_logger.error(err);
|
|
459
|
-
}
|
|
408
|
+
const { nodePlugin, browserPlugin, distOutputDir } = generateMergedStatsAndManifestOptions.options;
|
|
409
|
+
if (!nodePlugin || !browserPlugin || !distOutputDir) return;
|
|
410
|
+
updateStatsAndManifest(nodePlugin, browserPlugin, distOutputDir);
|
|
460
411
|
};
|
|
461
412
|
api.onDevCompileDone(()=>{
|
|
462
413
|
generateMergedStatsAndManifest();
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseOptions } from "@module-federation/enhanced";
|
|
2
2
|
import { ModuleFederationPlugin, PLUGIN_NAME } from "@module-federation/enhanced/rspack";
|
|
3
|
-
import { TEMP_DIR, createLogger, createModuleFederationConfig, encodeName,
|
|
3
|
+
import { TEMP_DIR, createLogger, createModuleFederationConfig, encodeName, isRequiredVersion } from "@module-federation/sdk";
|
|
4
4
|
import util from "util";
|
|
5
5
|
import fs_extra from "fs-extra";
|
|
6
6
|
import path from "path";
|
|
@@ -89,21 +89,21 @@ function mergeManifest(browserManifest, nodeManifest) {
|
|
|
89
89
|
if ('publicPath' in browserManifest.metaData) browserManifest.metaData.ssrPublicPath = nodeManifest.metaData.publicPath;
|
|
90
90
|
return browserManifest;
|
|
91
91
|
}
|
|
92
|
-
function mergeStatsAndManifest(
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
if (!
|
|
96
|
-
const mergedStats = mergeStats(
|
|
97
|
-
const mergedManifest = mergeManifest(
|
|
92
|
+
function mergeStatsAndManifest(nodePlugin, browserPlugin) {
|
|
93
|
+
const nodeResourceInfo = nodePlugin.statsResourceInfo;
|
|
94
|
+
const browserResourceInfo = browserPlugin.statsResourceInfo;
|
|
95
|
+
if (!browserResourceInfo || !nodeResourceInfo || !browserResourceInfo.stats || !nodeResourceInfo.stats || !browserResourceInfo.manifest || !nodeResourceInfo.manifest) throw new Error('can not get browserResourceInfo or nodeResourceInfo');
|
|
96
|
+
const mergedStats = mergeStats(browserResourceInfo.stats.stats, nodeResourceInfo.stats.stats);
|
|
97
|
+
const mergedManifest = mergeManifest(browserResourceInfo.manifest.manifest, nodeResourceInfo.manifest.manifest);
|
|
98
98
|
return {
|
|
99
99
|
mergedStats: mergedStats,
|
|
100
|
-
mergedStatsFilePath:
|
|
100
|
+
mergedStatsFilePath: browserResourceInfo.stats.filename,
|
|
101
101
|
mergedManifest: mergedManifest,
|
|
102
|
-
mergedManifestFilePath:
|
|
102
|
+
mergedManifestFilePath: browserResourceInfo.manifest.filename
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
|
-
function updateStatsAndManifest(
|
|
106
|
-
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(
|
|
105
|
+
function updateStatsAndManifest(nodePlugin, browserPlugin, outputDir) {
|
|
106
|
+
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(nodePlugin, browserPlugin);
|
|
107
107
|
fs_extra.writeFileSync(path.resolve(outputDir, mergedStatsFilePath), JSON.stringify(mergedStats, null, 2));
|
|
108
108
|
fs_extra.writeFileSync(path.resolve(outputDir, mergedManifestFilePath), JSON.stringify(mergedManifest, null, 2));
|
|
109
109
|
}
|
|
@@ -112,6 +112,7 @@ const resolve = ssr_require.resolve;
|
|
|
112
112
|
const SSR_DIR = 'ssr';
|
|
113
113
|
const SSR_ENV_NAME = 'mf-ssr';
|
|
114
114
|
function setSSREnv() {
|
|
115
|
+
process.env['MF_DISABLE_EMIT_STATS'] = 'true';
|
|
115
116
|
process.env['MF_SSR_PRJ'] = 'true';
|
|
116
117
|
}
|
|
117
118
|
const isDev = ()=>'development' === process.env['NODE_ENV'];
|
|
@@ -274,52 +275,12 @@ const pluginModuleFederation = (moduleFederationOptions, rsbuildOptions)=>({
|
|
|
274
275
|
options: {
|
|
275
276
|
nodePlugin: void 0,
|
|
276
277
|
browserPlugin: void 0,
|
|
277
|
-
|
|
278
|
-
distOutputDir: void 0,
|
|
279
|
-
browserEnvironmentName: void 0,
|
|
280
|
-
nodeEnvironmentName: void 0
|
|
278
|
+
distOutputDir: void 0
|
|
281
279
|
},
|
|
282
|
-
assetResources: {},
|
|
283
280
|
isSSRConfig,
|
|
284
281
|
isRspressSSGConfig
|
|
285
282
|
};
|
|
286
283
|
api.expose(RSBUILD_PLUGIN_MODULE_FEDERATION_NAME, generateMergedStatsAndManifestOptions);
|
|
287
|
-
const defaultBrowserEnvironmentName = environment;
|
|
288
|
-
const assetFileNames = getManifestFileName(moduleFederationOptions.manifest);
|
|
289
|
-
if (false !== moduleFederationOptions.manifest) api.processAssets({
|
|
290
|
-
stage: 'report'
|
|
291
|
-
}, ({ assets, environment: envContext })=>{
|
|
292
|
-
const expectedBrowserEnv = generateMergedStatsAndManifestOptions.options.browserEnvironmentName ?? defaultBrowserEnvironmentName;
|
|
293
|
-
const expectedNodeEnv = generateMergedStatsAndManifestOptions.options.nodeEnvironmentName ?? SSR_ENV_NAME;
|
|
294
|
-
const envName = envContext.name;
|
|
295
|
-
if (envName !== expectedBrowserEnv && envName !== expectedNodeEnv) return;
|
|
296
|
-
const assetResources = generateMergedStatsAndManifestOptions.assetResources;
|
|
297
|
-
const targetResources = assetResources[envName] || (assetResources[envName] = {});
|
|
298
|
-
const statsAsset = assets[assetFileNames.statsFileName];
|
|
299
|
-
if (statsAsset) try {
|
|
300
|
-
const raw = statsAsset.source();
|
|
301
|
-
const content = 'string' == typeof raw ? raw : raw.toString();
|
|
302
|
-
targetResources.stats = {
|
|
303
|
-
data: JSON.parse(content),
|
|
304
|
-
filename: assetFileNames.statsFileName
|
|
305
|
-
};
|
|
306
|
-
} catch (err) {
|
|
307
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
308
|
-
src_logger.error(`Failed to parse stats asset "${assetFileNames.statsFileName}" for environment "${envName}": ${message}`);
|
|
309
|
-
}
|
|
310
|
-
const manifestAsset = assets[assetFileNames.manifestFileName];
|
|
311
|
-
if (manifestAsset) try {
|
|
312
|
-
const raw = manifestAsset.source();
|
|
313
|
-
const content = 'string' == typeof raw ? raw : raw.toString();
|
|
314
|
-
targetResources.manifest = {
|
|
315
|
-
data: JSON.parse(content),
|
|
316
|
-
filename: assetFileNames.manifestFileName
|
|
317
|
-
};
|
|
318
|
-
} catch (err) {
|
|
319
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
320
|
-
src_logger.error(`Failed to parse manifest asset "${assetFileNames.manifestFileName}" for environment "${envName}": ${message}`);
|
|
321
|
-
}
|
|
322
|
-
});
|
|
323
284
|
api.onBeforeCreateCompiler(({ bundlerConfigs })=>{
|
|
324
285
|
if (!bundlerConfigs) throw new Error('Can not get bundlerConfigs!');
|
|
325
286
|
bundlerConfigs.forEach((bundlerConfig)=>{
|
|
@@ -370,7 +331,6 @@ const pluginModuleFederation = (moduleFederationOptions, rsbuildOptions)=>({
|
|
|
370
331
|
var _bundlerConfig_output2;
|
|
371
332
|
if (isSSRConfig(bundlerConfig.name)) {
|
|
372
333
|
generateMergedStatsAndManifestOptions.options.nodePlugin = new ModuleFederationPlugin(createSSRMFConfig(moduleFederationOptions));
|
|
373
|
-
generateMergedStatsAndManifestOptions.options.nodeEnvironmentName = bundlerConfig.name || SSR_ENV_NAME;
|
|
374
334
|
bundlerConfig.plugins.push(generateMergedStatsAndManifestOptions.options.nodePlugin);
|
|
375
335
|
return;
|
|
376
336
|
}
|
|
@@ -391,24 +351,15 @@ const pluginModuleFederation = (moduleFederationOptions, rsbuildOptions)=>({
|
|
|
391
351
|
}
|
|
392
352
|
generateMergedStatsAndManifestOptions.options.browserPlugin = new ModuleFederationPlugin(moduleFederationOptions);
|
|
393
353
|
generateMergedStatsAndManifestOptions.options.distOutputDir = (null == (_bundlerConfig_output2 = bundlerConfig.output) ? void 0 : _bundlerConfig_output2.path) || '';
|
|
394
|
-
generateMergedStatsAndManifestOptions.options.browserEnvironmentName = bundlerConfig.name || defaultBrowserEnvironmentName;
|
|
395
354
|
bundlerConfig.plugins.push(generateMergedStatsAndManifestOptions.options.browserPlugin);
|
|
396
355
|
}
|
|
397
356
|
}
|
|
398
357
|
});
|
|
399
358
|
});
|
|
400
359
|
const generateMergedStatsAndManifest = ()=>{
|
|
401
|
-
const {
|
|
402
|
-
if (!
|
|
403
|
-
|
|
404
|
-
const browserAssets = assetResources[browserEnvironmentName];
|
|
405
|
-
const nodeAssets = assetResources[nodeEnvironmentName];
|
|
406
|
-
if (!browserAssets || !nodeAssets) return;
|
|
407
|
-
try {
|
|
408
|
-
updateStatsAndManifest(nodeAssets, browserAssets, distOutputDir);
|
|
409
|
-
} catch (err) {
|
|
410
|
-
src_logger.error(err);
|
|
411
|
-
}
|
|
360
|
+
const { nodePlugin, browserPlugin, distOutputDir } = generateMergedStatsAndManifestOptions.options;
|
|
361
|
+
if (!nodePlugin || !browserPlugin || !distOutputDir) return;
|
|
362
|
+
updateStatsAndManifest(nodePlugin, browserPlugin, distOutputDir);
|
|
412
363
|
};
|
|
413
364
|
api.onDevCompileDone(()=>{
|
|
414
365
|
generateMergedStatsAndManifest();
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -3,5 +3,4 @@ export { DEFAULT_ASSET_PREFIX } from '../constant';
|
|
|
3
3
|
export { autoDeleteSplitChunkCacheGroups } from './autoDeleteSplitChunkCacheGroups';
|
|
4
4
|
export { addDataFetchExposes } from './addDataFetchExposes';
|
|
5
5
|
export { updateStatsAndManifest } from './manifest';
|
|
6
|
-
export type { StatsAssetResource } from './manifest';
|
|
7
6
|
export { patchSSRRspackConfig, createSSRREnvConfig, createSSRMFConfig, setSSREnv, SSR_DIR, SSR_ENV_NAME, } from './ssr';
|
package/dist/utils/manifest.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export type StatsAssetResource = {
|
|
7
|
-
stats?: AssetResource<Stats>;
|
|
8
|
-
manifest?: AssetResource<Manifest>;
|
|
9
|
-
};
|
|
10
|
-
export declare function updateStatsAndManifest(nodeAssets: StatsAssetResource, browserAssets: StatsAssetResource, outputDir: string): void;
|
|
1
|
+
import type { ModuleFederationPlugin as WebpackModuleFederationPlugin } from '@module-federation/enhanced';
|
|
2
|
+
import type { ModuleFederationPlugin as RspackModuleFederationPlugin } from '@module-federation/enhanced/rspack';
|
|
3
|
+
type BundlerPlugin = WebpackModuleFederationPlugin | RspackModuleFederationPlugin;
|
|
4
|
+
export declare function updateStatsAndManifest(nodePlugin: BundlerPlugin, browserPlugin: BundlerPlugin, outputDir: string): void;
|
|
11
5
|
export {};
|
package/dist/utils/ssr.d.ts
CHANGED
package/dist/utils.js
CHANGED
|
@@ -50,11 +50,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
50
50
|
});
|
|
51
51
|
const external_util_namespaceObject = require("util");
|
|
52
52
|
var external_util_default = /*#__PURE__*/ __webpack_require__.n(external_util_namespaceObject);
|
|
53
|
-
const DATA_FETCH_CLIENT_SUFFIX = '.client';
|
|
54
|
-
const CALL_NAME_MAP = {
|
|
55
|
-
RSPRESS: 'rspress',
|
|
56
|
-
RSLIB: 'rslib'
|
|
57
|
-
};
|
|
58
53
|
const SPLIT_CHUNK_MAP = {
|
|
59
54
|
REACT: 'react',
|
|
60
55
|
ROUTER: 'router',
|
|
@@ -94,6 +89,11 @@ var external_fs_extra_default = /*#__PURE__*/ __webpack_require__.n(external_fs_
|
|
|
94
89
|
const external_path_namespaceObject = require("path");
|
|
95
90
|
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
96
91
|
const sdk_namespaceObject = require("@module-federation/sdk");
|
|
92
|
+
const DATA_FETCH_CLIENT_SUFFIX = '.client';
|
|
93
|
+
const CALL_NAME_MAP = {
|
|
94
|
+
RSPRESS: 'rspress',
|
|
95
|
+
RSLIB: 'rslib'
|
|
96
|
+
};
|
|
97
97
|
const addDataFetchExpose = (exposes, key, filepath, suffix = '')=>{
|
|
98
98
|
if (!external_fs_extra_default().existsSync(filepath)) return false;
|
|
99
99
|
const dataFetchKey = '.' === key ? `./data${suffix}` : `${key}.data${suffix}`;
|
|
@@ -136,21 +136,21 @@ function mergeManifest(browserManifest, nodeManifest) {
|
|
|
136
136
|
if ('publicPath' in browserManifest.metaData) browserManifest.metaData.ssrPublicPath = nodeManifest.metaData.publicPath;
|
|
137
137
|
return browserManifest;
|
|
138
138
|
}
|
|
139
|
-
function mergeStatsAndManifest(
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
if (!
|
|
143
|
-
const mergedStats = mergeStats(
|
|
144
|
-
const mergedManifest = mergeManifest(
|
|
139
|
+
function mergeStatsAndManifest(nodePlugin, browserPlugin) {
|
|
140
|
+
const nodeResourceInfo = nodePlugin.statsResourceInfo;
|
|
141
|
+
const browserResourceInfo = browserPlugin.statsResourceInfo;
|
|
142
|
+
if (!browserResourceInfo || !nodeResourceInfo || !browserResourceInfo.stats || !nodeResourceInfo.stats || !browserResourceInfo.manifest || !nodeResourceInfo.manifest) throw new Error('can not get browserResourceInfo or nodeResourceInfo');
|
|
143
|
+
const mergedStats = mergeStats(browserResourceInfo.stats.stats, nodeResourceInfo.stats.stats);
|
|
144
|
+
const mergedManifest = mergeManifest(browserResourceInfo.manifest.manifest, nodeResourceInfo.manifest.manifest);
|
|
145
145
|
return {
|
|
146
146
|
mergedStats: mergedStats,
|
|
147
|
-
mergedStatsFilePath:
|
|
147
|
+
mergedStatsFilePath: browserResourceInfo.stats.filename,
|
|
148
148
|
mergedManifest: mergedManifest,
|
|
149
|
-
mergedManifestFilePath:
|
|
149
|
+
mergedManifestFilePath: browserResourceInfo.manifest.filename
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
|
-
function updateStatsAndManifest(
|
|
153
|
-
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(
|
|
152
|
+
function updateStatsAndManifest(nodePlugin, browserPlugin, outputDir) {
|
|
153
|
+
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(nodePlugin, browserPlugin);
|
|
154
154
|
external_fs_extra_default().writeFileSync(external_path_default().resolve(outputDir, mergedStatsFilePath), JSON.stringify(mergedStats, null, 2));
|
|
155
155
|
external_fs_extra_default().writeFileSync(external_path_default().resolve(outputDir, mergedManifestFilePath), JSON.stringify(mergedManifest, null, 2));
|
|
156
156
|
}
|
|
@@ -160,6 +160,7 @@ const resolve = ssr_require.resolve;
|
|
|
160
160
|
const SSR_DIR = 'ssr';
|
|
161
161
|
const SSR_ENV_NAME = 'mf-ssr';
|
|
162
162
|
function setSSREnv() {
|
|
163
|
+
process.env['MF_DISABLE_EMIT_STATS'] = 'true';
|
|
163
164
|
process.env['MF_SSR_PRJ'] = 'true';
|
|
164
165
|
}
|
|
165
166
|
const isDev = ()=>'development' === process.env['NODE_ENV'];
|
package/dist/utils.mjs
CHANGED
|
@@ -84,21 +84,21 @@ function mergeManifest(browserManifest, nodeManifest) {
|
|
|
84
84
|
if ('publicPath' in browserManifest.metaData) browserManifest.metaData.ssrPublicPath = nodeManifest.metaData.publicPath;
|
|
85
85
|
return browserManifest;
|
|
86
86
|
}
|
|
87
|
-
function mergeStatsAndManifest(
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
if (!
|
|
91
|
-
const mergedStats = mergeStats(
|
|
92
|
-
const mergedManifest = mergeManifest(
|
|
87
|
+
function mergeStatsAndManifest(nodePlugin, browserPlugin) {
|
|
88
|
+
const nodeResourceInfo = nodePlugin.statsResourceInfo;
|
|
89
|
+
const browserResourceInfo = browserPlugin.statsResourceInfo;
|
|
90
|
+
if (!browserResourceInfo || !nodeResourceInfo || !browserResourceInfo.stats || !nodeResourceInfo.stats || !browserResourceInfo.manifest || !nodeResourceInfo.manifest) throw new Error('can not get browserResourceInfo or nodeResourceInfo');
|
|
91
|
+
const mergedStats = mergeStats(browserResourceInfo.stats.stats, nodeResourceInfo.stats.stats);
|
|
92
|
+
const mergedManifest = mergeManifest(browserResourceInfo.manifest.manifest, nodeResourceInfo.manifest.manifest);
|
|
93
93
|
return {
|
|
94
94
|
mergedStats: mergedStats,
|
|
95
|
-
mergedStatsFilePath:
|
|
95
|
+
mergedStatsFilePath: browserResourceInfo.stats.filename,
|
|
96
96
|
mergedManifest: mergedManifest,
|
|
97
|
-
mergedManifestFilePath:
|
|
97
|
+
mergedManifestFilePath: browserResourceInfo.manifest.filename
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
|
-
function updateStatsAndManifest(
|
|
101
|
-
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(
|
|
100
|
+
function updateStatsAndManifest(nodePlugin, browserPlugin, outputDir) {
|
|
101
|
+
const { mergedStats, mergedStatsFilePath, mergedManifest, mergedManifestFilePath } = mergeStatsAndManifest(nodePlugin, browserPlugin);
|
|
102
102
|
fs_extra.writeFileSync(path.resolve(outputDir, mergedStatsFilePath), JSON.stringify(mergedStats, null, 2));
|
|
103
103
|
fs_extra.writeFileSync(path.resolve(outputDir, mergedManifestFilePath), JSON.stringify(mergedManifest, null, 2));
|
|
104
104
|
}
|
|
@@ -107,6 +107,7 @@ const resolve = ssr_require.resolve;
|
|
|
107
107
|
const SSR_DIR = 'ssr';
|
|
108
108
|
const SSR_ENV_NAME = 'mf-ssr';
|
|
109
109
|
function setSSREnv() {
|
|
110
|
+
process.env['MF_DISABLE_EMIT_STATS'] = 'true';
|
|
110
111
|
process.env['MF_SSR_PRJ'] = 'true';
|
|
111
112
|
}
|
|
112
113
|
const isDev = ()=>'development' === process.env['NODE_ENV'];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/rsbuild-plugin",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-research-issue-4085-20251016232757",
|
|
4
4
|
"description": "Module Federation plugin for Rsbuild",
|
|
5
5
|
"homepage": "https://module-federation.io",
|
|
6
6
|
"bugs": {
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"fs-extra": "11.3.0",
|
|
53
|
-
"@module-federation/sdk": "0.0.0-
|
|
54
|
-
"@module-federation/
|
|
55
|
-
"@module-federation/
|
|
53
|
+
"@module-federation/sdk": "0.0.0-research-issue-4085-20251016232757",
|
|
54
|
+
"@module-federation/enhanced": "0.0.0-research-issue-4085-20251016232757",
|
|
55
|
+
"@module-federation/node": "0.0.0-research-issue-4085-20251016232757"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@rslib/core": "^0.12.4",
|