Skip to content

Commit 2a9df44

Browse files
committed
fix: mf typings
1 parent 23dacc2 commit 2a9df44

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

crates/binding/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ pub struct BuildParams {
169169
runtimePlugins?: string[];
170170
shareScope?: string;
171171
shareStrategy?: "version-first" | "loaded-first";
172+
implementation: string;
172173
};
173174
experimental?: {
174175
webpackSyntaxValidate?: string[];

packages/mako/binding.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ export interface BuildParams {
275275
runtimePlugins?: string[];
276276
shareScope?: string;
277277
shareStrategy?: 'version-first' | 'loaded-first';
278+
implementation: string;
278279
};
279280
experimental?: {
280281
webpackSyntaxValidate?: string[];

packages/mako/src/index.ts

+14-4
Original file line numberDiff line numberDiff line change
@@ -153,17 +153,27 @@ export async function build(params: BuildParams) {
153153

154154
if (makoConfig?.moduleFederation || params.config?.moduleFederation) {
155155
// @ts-ignore
156-
params.config.moduleFederation = {
156+
const moduleFederation = {
157157
...(makoConfig.moduleFederation || {}),
158158
...(params.config.moduleFederation || {}),
159159
};
160-
// @ts-ignore
161-
if (!params.config.moduleFederation.implementation) {
160+
if (!moduleFederation.implementation) {
162161
// @ts-ignore
163-
params.config.moduleFederation.implementation = require.resolve(
162+
moduleFederation.implementation = require.resolve(
164163
'@module-federation/webpack-bundler-runtime',
165164
);
166165
}
166+
167+
if (moduleFederation?.shared) {
168+
if (Array.isArray(moduleFederation.shared)) {
169+
moduleFederation.shared = moduleFederation.shared.reduce(
170+
(acc, cur) => ({ ...acc, [cur]: {} }),
171+
{},
172+
);
173+
}
174+
}
175+
// @ts-ignore
176+
params.config.moduleFederation = moduleFederation;
167177
}
168178

169179
// support dump mako config

0 commit comments

Comments
 (0)