Skip to content

Commit 3e8ffc4

Browse files
fix(enhanced): restore emitted wrapper lib entrypoints
1 parent ffdb2b0 commit 3e8ffc4

File tree

2 files changed

+50
-2
lines changed

2 files changed

+50
-2
lines changed

packages/enhanced/src/lib/container/ModuleFederationPlugin.ts

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import {
1616
import { PrefetchPlugin } from '@module-federation/data-prefetch/cli';
1717
import { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';
1818
import type { Compiler, WebpackPluginInstance } from 'webpack';
19+
import fs from 'node:fs';
20+
import path from 'node:path';
1921
import SharePlugin from '../sharing/SharePlugin';
2022
import ContainerPlugin from './ContainerPlugin';
2123
import ContainerReferencePlugin from './ContainerReferencePlugin';
@@ -46,6 +48,33 @@ const validate = createSchemaValidation(
4648
},
4749
);
4850

51+
function getEnhancedPackageVersion(): string {
52+
let currentDir = __dirname;
53+
54+
while (true) {
55+
const packageJsonPath = path.join(currentDir, 'package.json');
56+
57+
if (fs.existsSync(packageJsonPath)) {
58+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')) as {
59+
name?: string;
60+
version?: string;
61+
};
62+
63+
if (pkg.name === '@module-federation/enhanced' && pkg.version) {
64+
return pkg.version;
65+
}
66+
}
67+
68+
const parentDir = path.dirname(currentDir);
69+
if (parentDir === currentDir) {
70+
break;
71+
}
72+
currentDir = parentDir;
73+
}
74+
75+
throw new Error('Unable to resolve @module-federation/enhanced package.json');
76+
}
77+
4978
class ModuleFederationPlugin implements WebpackPluginInstance {
5079
private _options: moduleFederationPlugin.ModuleFederationPluginOptions;
5180
private _statsPlugin?: StatsPlugin;
@@ -237,9 +266,8 @@ class ModuleFederationPlugin implements WebpackPluginInstance {
237266
});
238267

239268
if (!disableManifest) {
240-
const pkg = require('../../../../package.json');
241269
this._statsPlugin = new StatsPlugin(options, {
242-
pluginVersion: pkg.version,
270+
pluginVersion: getEnhancedPackageVersion(),
243271
bundler: 'webpack',
244272
});
245273
this._statsPlugin.apply(compiler);

packages/enhanced/tsdown.config.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,26 @@ export default defineConfig([
1010
rspack: 'src/rspack.ts',
1111
runtime: 'src/runtime.ts',
1212
prefetch: 'src/prefetch.ts',
13+
'lib/container/AsyncBoundaryPlugin':
14+
'src/lib/container/AsyncBoundaryPlugin.ts',
15+
'lib/container/ContainerPlugin': 'src/lib/container/ContainerPlugin.ts',
16+
'lib/container/ContainerReferencePlugin':
17+
'src/lib/container/ContainerReferencePlugin.ts',
18+
'lib/container/HoistContainerReferencesPlugin':
19+
'src/lib/container/HoistContainerReferencesPlugin.ts',
20+
'lib/container/ModuleFederationPlugin':
21+
'src/lib/container/ModuleFederationPlugin.ts',
22+
'lib/container/runtime/FederationModulesPlugin':
23+
'src/lib/container/runtime/FederationModulesPlugin.ts',
24+
'lib/container/runtime/FederationRuntimePlugin':
25+
'src/lib/container/runtime/FederationRuntimePlugin.ts',
26+
'lib/sharing/ConsumeSharedPlugin':
27+
'src/lib/sharing/ConsumeSharedPlugin.ts',
28+
'lib/sharing/ProvideSharedPlugin':
29+
'src/lib/sharing/ProvideSharedPlugin.ts',
30+
'lib/sharing/SharePlugin': 'src/lib/sharing/SharePlugin.ts',
31+
'lib/sharing/tree-shaking/TreeShakingSharedPlugin':
32+
'src/lib/sharing/tree-shaking/TreeShakingSharedPlugin.ts',
1333
},
1434
tsconfig: 'tsconfig.lib.json',
1535
outDir: 'dist/src',

0 commit comments

Comments
 (0)