Skip to content

Commit 6b02145

Browse files
feat(nextjs-mf): remove module-federation/utilities (#3038)
1 parent 8ebfa92 commit 6b02145

File tree

10 files changed

+216
-239
lines changed

10 files changed

+216
-239
lines changed

.changeset/ai-calm-bear.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@module-federation/enhanced": patch
3+
---
4+
5+
Added a check to skip processing when virtualRuntimeEntry is present.
6+
7+
- Added an early return in `FederationRuntimePlugin` to skip processing if `options.virtualRuntimeEntry` is defined.

packages/nextjs-mf/package.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
],
1818
"exports": {
1919
".": "./dist/src/index.js",
20-
"./utilities": "./dist/utilities.js",
2120
"./utils": "./dist/utils/index.js",
2221
"./*": "./*"
2322
},
@@ -28,9 +27,6 @@
2827
],
2928
"utils": [
3029
"./dist/utils/index.d.ts"
31-
],
32-
"utilities": [
33-
"./dist/utilities.d.ts"
3430
]
3531
}
3632
},
@@ -39,7 +35,6 @@
3935
},
4036
"dependencies": {
4137
"fast-glob": "^3.2.11",
42-
"@module-federation/utilities": "workspace:*",
4338
"@module-federation/runtime": "workspace:*",
4439
"@module-federation/sdk": "workspace:*",
4540
"@module-federation/enhanced": "workspace:*",

packages/nextjs-mf/src/plugins/NextFederationPlugin/apply-client-plugins.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { Compiler } from 'webpack';
2-
import { NextFederationPluginExtraOptions } from '@module-federation/utilities';
32
import { ChunkCorrelationPlugin } from '@module-federation/node';
43
import InvertedContainerPlugin from '../container/InvertedContainerPlugin';
54
import type { moduleFederationPlugin } from '@module-federation/sdk';
5+
import type { NextFederationPluginExtraOptions } from './next-fragments';
66

77
/**
88
* Applies client-specific plugins.

packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import type {
99
NextFederationPluginExtraOptions,
1010
NextFederationPluginOptions,
11-
} from '@module-federation/utilities';
11+
} from './next-fragments';
1212
import type { Compiler, WebpackPluginInstance } from 'webpack';
1313
import { getWebpackPath } from '@module-federation/sdk/normalize-webpack-path';
1414
import CopyFederationPlugin from '../CopyFederationPlugin';
@@ -69,20 +69,6 @@ export class NextFederationPlugin {
6969
this.applyConditionalPlugins(compiler, isServer);
7070

7171
new ModuleFederationPlugin(normalFederationPluginOptions).apply(compiler);
72-
modifyEntry({
73-
compiler,
74-
prependEntry: (entry) => {
75-
Object.keys(entry).forEach((entryName) => {
76-
const entryItem = entry[entryName];
77-
if (!entryName.startsWith('pages/api')) return;
78-
if (!entryItem.import) return;
79-
// unpatch entry of webpack api runtime
80-
entryItem.import = entryItem.import.filter((i) => {
81-
return !i.includes('.federation/entry');
82-
});
83-
});
84-
},
85-
});
8672

8773
const noop = this.getNoopPath();
8874

packages/nextjs-mf/src/plugins/NextFederationPlugin/next-fragments.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,17 @@ export const applyPathFixes = (
119119
}
120120
}
121121
};
122+
123+
export interface NextFederationPluginExtraOptions {
124+
enableImageLoaderFix?: boolean;
125+
enableUrlLoaderFix?: boolean;
126+
exposePages?: boolean;
127+
skipSharingNextInternals?: boolean;
128+
automaticPageStitching?: boolean;
129+
debug?: boolean;
130+
}
131+
132+
export interface NextFederationPluginOptions
133+
extends moduleFederationPlugin.ModuleFederationPluginOptions {
134+
extraOptions: NextFederationPluginExtraOptions;
135+
}

packages/nextjs-mf/src/plugins/NextFederationPlugin/set-options.test.ts

Lines changed: 0 additions & 73 deletions
This file was deleted.

packages/nextjs-mf/src/plugins/NextFederationPlugin/set-options.ts

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
1-
import {
2-
NextFederationPluginExtraOptions,
3-
NextFederationPluginOptions,
4-
} from '@module-federation/utilities';
51
import type { moduleFederationPlugin } from '@module-federation/sdk';
6-
/**
7-
* This function sets the main and extra options for NextFederationPlugin. It splits the options object into
8-
* the main options and extra options, and sets default values for any options that are not defined.
9-
*
10-
* @param {NextFederationPluginOptions} options - The options for NextFederationPlugin.
11-
* @returns {Object} An object containing the main options and extra options.
12-
*
13-
* @remarks
14-
* The default extra options are:
15-
* - automaticPageStitching: false
16-
* - enableImageLoaderFix: false
17-
* - enableUrlLoaderFix: false
18-
* - skipSharingNextInternals: false
19-
* - debug: false
20-
*/
2+
3+
export interface NextFederationPluginExtraOptions {
4+
enableImageLoaderFix?: boolean;
5+
enableUrlLoaderFix?: boolean;
6+
exposePages?: boolean;
7+
skipSharingNextInternals?: boolean;
8+
automaticPageStitching?: boolean;
9+
debug?: boolean;
10+
}
11+
12+
export interface NextFederationPluginOptions
13+
extends moduleFederationPlugin.ModuleFederationPluginOptions {
14+
extraOptions: NextFederationPluginExtraOptions;
15+
}
16+
2117
export function setOptions(options: NextFederationPluginOptions): {
2218
mainOptions: moduleFederationPlugin.ModuleFederationPluginOptions;
2319
extraOptions: NextFederationPluginExtraOptions;

packages/nextjs-mf/utilities.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/nextjs-mf/utils/index.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
/**
2-
* Extracts the URL and global from the module federation utilities.
3-
* @module @module-federation/utilities/src/utils/pure
4-
*/
5-
export { extractUrlAndGlobal } from '@module-federation/utilities';
6-
71
/**
82
* Flushes chunks from the module federation node utilities.
93
* @module @module-federation/node/utils

0 commit comments

Comments
 (0)