@module-federation/nextjs-mf 0.0.0-feat-node-support-1702930274547 → 0.0.0-feat-node-support-1703050615268
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/package.json +7 -7
- package/src/plugins/NextFederationPlugin/index.d.ts +0 -3
- package/src/plugins/NextFederationPlugin/index.js +1 -16
- package/src/plugins/NextFederationPlugin/index.js.map +1 -1
- package/src/plugins/container/EmbeddedContainerPlugin.d.ts +0 -29
- package/src/plugins/container/EmbeddedContainerPlugin.js +3 -53
- package/src/plugins/container/EmbeddedContainerPlugin.js.map +1 -1
- package/src/plugins/container/InvertedContainerPlugin.js +0 -1
- package/src/plugins/container/InvertedContainerPlugin.js.map +1 -1
- package/src/plugins/container/InvertedContainerRuntimeModule.d.ts +0 -4
- package/src/plugins/container/InvertedContainerRuntimeModule.js +19 -31
- package/src/plugins/container/InvertedContainerRuntimeModule.js.map +1 -1
- package/src/plugins/container/runtimePlugin.js +3 -12
- package/src/plugins/container/runtimePlugin.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/nextjs-mf",
|
|
3
|
-
"version": "0.0.0-feat-node-support-
|
|
3
|
+
"version": "0.0.0-feat-node-support-1703050615268",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "src/index.d.ts",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"semver": "7.5.4",
|
|
23
23
|
"tapable": "2.2.1",
|
|
24
24
|
"webpack-sources": "^3.2.3",
|
|
25
|
-
"@module-federation/enhanced": "0.0.0-feat-node-support-
|
|
26
|
-
"@module-federation/node": "0.0.0-feat-node-support-
|
|
27
|
-
"@module-federation/runtime": "0.0.0-feat-node-support-
|
|
28
|
-
"@module-federation/sdk": "0.0.0-feat-node-support-
|
|
29
|
-
"@module-federation/utilities": "0.0.0-feat-node-support-
|
|
30
|
-
"@module-federation/webpack-bundler-runtime": "0.0.0-feat-node-support-
|
|
25
|
+
"@module-federation/enhanced": "0.0.0-feat-node-support-1703050615268",
|
|
26
|
+
"@module-federation/node": "0.0.0-feat-node-support-1703050615268",
|
|
27
|
+
"@module-federation/runtime": "0.0.0-feat-node-support-1703050615268",
|
|
28
|
+
"@module-federation/sdk": "0.0.0-feat-node-support-1703050615268",
|
|
29
|
+
"@module-federation/utilities": "0.0.0-feat-node-support-1703050615268",
|
|
30
|
+
"@module-federation/webpack-bundler-runtime": "0.0.0-feat-node-support-1703050615268"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"next": "^12 || ^13 || ^14",
|
|
@@ -23,8 +23,5 @@ export declare class NextFederationPlugin {
|
|
|
23
23
|
private applyConditionalPlugins;
|
|
24
24
|
private getNormalFederationPluginOptions;
|
|
25
25
|
private getNoopPath;
|
|
26
|
-
private applyClientFederationPlugins;
|
|
27
|
-
private applyServerFederationPlugins;
|
|
28
|
-
private applyModuleFederationPlugins;
|
|
29
26
|
}
|
|
30
27
|
export default NextFederationPlugin;
|
|
@@ -46,7 +46,7 @@ class NextFederationPlugin {
|
|
|
46
46
|
new CopyFederationPlugin_1.default(isServer).apply(compiler);
|
|
47
47
|
this.applyConditionalPlugins(compiler, isServer);
|
|
48
48
|
const normalFederationPluginOptions = this.getNormalFederationPluginOptions(compiler, isServer);
|
|
49
|
-
|
|
49
|
+
new enhanced_1.ModuleFederationPlugin(normalFederationPluginOptions).apply(compiler);
|
|
50
50
|
}
|
|
51
51
|
validateOptions(compiler) {
|
|
52
52
|
const compilerValid = (0, validate_options_1.validateCompilerOptions)(compiler);
|
|
@@ -110,7 +110,6 @@ class NextFederationPlugin {
|
|
|
110
110
|
},
|
|
111
111
|
remotes: {
|
|
112
112
|
...this._options.remotes,
|
|
113
|
-
// ...(this._options.name ? { [this._options.name]: `internal webpack/container/entry/${this._options.name}` } : {}),
|
|
114
113
|
},
|
|
115
114
|
shared: {
|
|
116
115
|
...defaultShared,
|
|
@@ -128,20 +127,6 @@ class NextFederationPlugin {
|
|
|
128
127
|
}
|
|
129
128
|
return noop;
|
|
130
129
|
}
|
|
131
|
-
applyClientFederationPlugins(compiler, normalFederationPluginOptions) {
|
|
132
|
-
new enhanced_1.ModuleFederationPlugin(normalFederationPluginOptions).apply(compiler);
|
|
133
|
-
}
|
|
134
|
-
applyServerFederationPlugins(compiler, normalFederationPluginOptions) {
|
|
135
|
-
new enhanced_1.ModuleFederationPlugin(normalFederationPluginOptions).apply(compiler);
|
|
136
|
-
}
|
|
137
|
-
applyModuleFederationPlugins(compiler, normalFederationPluginOptions, isServer) {
|
|
138
|
-
if (!isServer) {
|
|
139
|
-
this.applyClientFederationPlugins(compiler, normalFederationPluginOptions);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
this.applyServerFederationPlugins(compiler, normalFederationPluginOptions);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
130
|
}
|
|
146
131
|
exports.NextFederationPlugin = NextFederationPlugin;
|
|
147
132
|
exports.default = NextFederationPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,CAAC;;;;;;AAQb,0FAA+E;AAC/E,mFAA2D;AAC3D,uEAAoE;AACpE,qDAAyE;AACzE,+CAA2C;AAC3C,yDAG4B;AAC5B,iEAKgC;AAChC,iEAA4D;AAC5D,0DAAqE;AACrE,gDAAwB;AACxB;;GAEG;AACH,MAAa,oBAAoB;IAI/B;;;;OAIG;IACH,YAAY,OAAoC;QAC9C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAA,wBAAU,EAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,8BAAoB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,6BAA6B,GAAG,IAAI,CAAC,gCAAgC,CACzE,QAAQ,EACR,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,11 @@
|
|
|
1
1
|
import type { Compiler } from 'webpack';
|
|
2
|
-
/**
|
|
3
|
-
* @typedef {Object} EmbeddedContainerOptions
|
|
4
|
-
* @property {string} runtime - The runtime of the plugin
|
|
5
|
-
* @property {string} [container] - The container of the plugin
|
|
6
|
-
* @property {string} chunkToEmbed - The chunk to embed in the plugin
|
|
7
|
-
*/
|
|
8
2
|
export interface EmbeddedContainerOptions {
|
|
9
3
|
runtime: string;
|
|
10
4
|
container?: string;
|
|
11
|
-
chunkToEmbed: string;
|
|
12
5
|
}
|
|
13
|
-
/**
|
|
14
|
-
* EmbeddedContainerPlugin class for Webpack.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
6
|
declare class EmbeddedContainerPlugin {
|
|
18
7
|
private options;
|
|
19
|
-
/**
|
|
20
|
-
* Constructor for the EmbeddedContainerPlugin.
|
|
21
|
-
* @param {EmbeddedContainerOptions} options - The options for the plugin
|
|
22
|
-
*/
|
|
23
8
|
constructor(options: EmbeddedContainerOptions);
|
|
24
|
-
/**
|
|
25
|
-
* Process the given chunks.
|
|
26
|
-
* @param {Iterable<Chunk>} chunks - The chunks to process
|
|
27
|
-
* @param {Compilation} compilation - The compilation of the plugin
|
|
28
|
-
* @returns {void}
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
private processChunks;
|
|
32
|
-
/**
|
|
33
|
-
* Apply the plugin to the given compiler.
|
|
34
|
-
* @param {Compiler} compiler - The compiler to apply the plugin to
|
|
35
|
-
* @returns {void}
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
9
|
apply(compiler: Compiler): void;
|
|
39
10
|
}
|
|
40
11
|
export default EmbeddedContainerPlugin;
|
|
@@ -4,67 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const InvertedContainerRuntimeModule_1 = __importDefault(require("./InvertedContainerRuntimeModule"));
|
|
7
|
-
/**
|
|
8
|
-
* EmbeddedContainerPlugin class for Webpack.
|
|
9
|
-
* @class
|
|
10
|
-
*/
|
|
11
7
|
class EmbeddedContainerPlugin {
|
|
12
|
-
/**
|
|
13
|
-
* Constructor for the EmbeddedContainerPlugin.
|
|
14
|
-
* @param {EmbeddedContainerOptions} options - The options for the plugin
|
|
15
|
-
*/
|
|
16
8
|
constructor(options) {
|
|
17
9
|
this.options = options;
|
|
18
10
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Process the given chunks.
|
|
21
|
-
* @param {Iterable<Chunk>} chunks - The chunks to process
|
|
22
|
-
* @param {Compilation} compilation - The compilation of the plugin
|
|
23
|
-
* @returns {void}
|
|
24
|
-
* @private
|
|
25
|
-
*/
|
|
26
|
-
processChunks(chunks, compilation) {
|
|
27
|
-
const relevantChunks = new Map();
|
|
28
|
-
for (const chunk of chunks) {
|
|
29
|
-
if (chunk.name &&
|
|
30
|
-
[
|
|
31
|
-
this.options.runtime,
|
|
32
|
-
this.options.container,
|
|
33
|
-
this.options.chunkToEmbed,
|
|
34
|
-
].includes(chunk.name)) {
|
|
35
|
-
relevantChunks.set(chunk.name, chunk);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const runtimeChunk = relevantChunks.get(this.options.runtime);
|
|
39
|
-
const partialContainerChunk = relevantChunks.get(this.options.chunkToEmbed);
|
|
40
|
-
if (partialContainerChunk && runtimeChunk) {
|
|
41
|
-
const chunkGraph = compilation.chunkGraph;
|
|
42
|
-
for (const module of chunkGraph.getChunkModulesIterable(partialContainerChunk)) {
|
|
43
|
-
chunkGraph.connectChunkAndModule(runtimeChunk, module);
|
|
44
|
-
chunkGraph.disconnectChunkAndModule(partialContainerChunk, module);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Apply the plugin to the given compiler.
|
|
50
|
-
* @param {Compiler} compiler - The compiler to apply the plugin to
|
|
51
|
-
* @returns {void}
|
|
52
|
-
* @public
|
|
53
|
-
*/
|
|
54
11
|
apply(compiler) {
|
|
55
12
|
compiler.hooks.thisCompilation.tap('EmbeddedContainerPlugin', (compilation) => {
|
|
56
|
-
//
|
|
57
|
-
compilation.hooks.optimizeChunks.tap('EmbeddedContainerPlugin', (chunks) => this.processChunks(chunks, compilation));
|
|
58
|
-
// Add the runtime module
|
|
13
|
+
// Adding the runtime module
|
|
59
14
|
compilation.hooks.additionalTreeRuntimeRequirements.tap('EmbeddedContainerPlugin', (chunk, set) => {
|
|
60
|
-
|
|
61
|
-
runtime: this.options.runtime,
|
|
62
|
-
remotes: {},
|
|
15
|
+
compilation.addRuntimeModule(chunk, new InvertedContainerRuntimeModule_1.default({
|
|
63
16
|
name: this.options.container,
|
|
64
|
-
|
|
65
|
-
container: this.options.container,
|
|
66
|
-
};
|
|
67
|
-
compilation.addRuntimeModule(chunk, new InvertedContainerRuntimeModule_1.default(runtimeModuleOptions));
|
|
17
|
+
}));
|
|
68
18
|
});
|
|
69
19
|
});
|
|
70
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedContainerPlugin.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/EmbeddedContainerPlugin.ts"],"names":[],"mappings":";;;;;AACA,sGAA8E;
|
|
1
|
+
{"version":3,"file":"EmbeddedContainerPlugin.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/EmbeddedContainerPlugin.ts"],"names":[],"mappings":";;;;;AACA,sGAA8E;AAO9E,MAAM,uBAAuB;IAG3B,YAAY,OAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,QAAkB;QAC7B,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChC,yBAAyB,EACzB,CAAC,WAAwB,EAAE,EAAE;YAC3B,4BAA4B;YAC5B,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,CACrD,yBAAyB,EACzB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACb,WAAW,CAAC,gBAAgB,CAC1B,KAAK,EACL,IAAI,wCAA8B,CAAC;oBACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;iBAC7B,CAAC,CACH,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -13,7 +13,6 @@ class InvertedContainerPlugin {
|
|
|
13
13
|
new EmbeddedContainerPlugin_1.default({
|
|
14
14
|
runtime: this.options.runtime,
|
|
15
15
|
container: this.options.container,
|
|
16
|
-
chunkToEmbed: this.options.chunkToEmbed,
|
|
17
16
|
}).apply(compiler);
|
|
18
17
|
new enhanced_1.AsyncBoundaryPlugin({
|
|
19
18
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvertedContainerPlugin.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/InvertedContainerPlugin.ts"],"names":[],"mappings":";;;;;AAEA,wFAAgE;AAChE,0DAAkE;AAUlE,MAAM,uBAAuB;IAG3B,YAAY,OAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,QAAkB;QAC7B,IAAI,iCAAuB,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"InvertedContainerPlugin.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/InvertedContainerPlugin.ts"],"names":[],"mappings":";;;;;AAEA,wFAAgE;AAChE,0DAAkE;AAUlE,MAAM,uBAAuB;IAG3B,YAAY,OAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,QAAkB;QAC7B,IAAI,iCAAuB,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SAClC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnB,IAAI,8BAAmB,CAAC;YACtB,aAAa;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YAC7D,YAAY;SACb,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
declare const RuntimeModule: typeof import("webpack").RuntimeModule;
|
|
2
2
|
interface InvertedContainerRuntimeModuleOptions {
|
|
3
|
-
runtime: string;
|
|
4
|
-
remotes: Record<string, string>;
|
|
5
3
|
name?: string;
|
|
6
|
-
debug?: boolean;
|
|
7
|
-
container?: string;
|
|
8
4
|
}
|
|
9
5
|
declare class InvertedContainerRuntimeModule extends RuntimeModule {
|
|
10
6
|
private options;
|
|
@@ -18,46 +18,34 @@ class InvertedContainerRuntimeModule extends RuntimeModule {
|
|
|
18
18
|
return Array.from(modules).find((module) => module instanceof ContainerEntryModule_1.default);
|
|
19
19
|
}
|
|
20
20
|
generate() {
|
|
21
|
-
if (!this.compilation || !this.chunk || !this.chunkGraph) {
|
|
21
|
+
if (!this.compilation || !this.chunk || !this.compilation.chunkGraph) {
|
|
22
22
|
return '';
|
|
23
23
|
}
|
|
24
|
-
const { name
|
|
24
|
+
const { name } = this.options;
|
|
25
25
|
const containerEntryModule = this.findEntryModuleOfContainer();
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (!containerModuleId
|
|
26
|
+
const containerModuleId = containerEntryModule
|
|
27
|
+
? this.compilation.chunkGraph.getModuleId(containerEntryModule)
|
|
28
|
+
: false;
|
|
29
|
+
if (!containerModuleId) {
|
|
30
30
|
return '';
|
|
31
31
|
}
|
|
32
|
-
const
|
|
33
|
-
const
|
|
32
|
+
const containerModuleIdJSON = JSON.stringify(containerModuleId);
|
|
33
|
+
const nameJSON = JSON.stringify(name);
|
|
34
34
|
return Template.asString([
|
|
35
|
-
|
|
35
|
+
`var innerRemote;`,
|
|
36
|
+
`function attachRemote (resolve) {`,
|
|
36
37
|
Template.indent([
|
|
37
|
-
|
|
38
|
-
`
|
|
39
|
-
Template.indent(`innerRemote = __webpack_require__(${JSON.stringify(containerModuleId)});`),
|
|
38
|
+
`if(__webpack_require__.m[${containerModuleIdJSON}]) {`,
|
|
39
|
+
Template.indent(`innerRemote = __webpack_require__(${containerModuleIdJSON});`),
|
|
40
40
|
`}`,
|
|
41
|
-
|
|
42
|
-
`
|
|
43
|
-
`
|
|
44
|
-
`
|
|
45
|
-
` ${containerScope}[${JSON.stringify(name)}] = innerRemote;`,
|
|
46
|
-
' }',
|
|
47
|
-
' if(resolve) resolve(innerRemote);',
|
|
48
|
-
`return innerRemote`,
|
|
49
|
-
'}',
|
|
50
|
-
'__webpack_require__.federation.attachRemote = ()=> attachRemote();',
|
|
51
|
-
]),
|
|
52
|
-
Template.indent([
|
|
53
|
-
' if (__webpack_require__.O) {',
|
|
54
|
-
` __webpack_require__.O(0, ["${this.chunk.id}"], function() {`,
|
|
55
|
-
' attachRemote();',
|
|
56
|
-
' }, 0);',
|
|
57
|
-
'} else {',
|
|
58
|
-
'attachRemote();',
|
|
59
|
-
'}',
|
|
41
|
+
`var gs = ${RuntimeGlobals.global} || globalThis`,
|
|
42
|
+
`gs[${nameJSON}] = innerRemote`,
|
|
43
|
+
`if(resolve) resolve(innerRemote);`,
|
|
44
|
+
`return innerRemote;`,
|
|
60
45
|
]),
|
|
46
|
+
`};`,
|
|
47
|
+
`${RuntimeGlobals.require}.federation.attachRemote = attachRemote;`,
|
|
48
|
+
`attachRemote();`,
|
|
61
49
|
]);
|
|
62
50
|
}
|
|
63
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvertedContainerRuntimeModule.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/InvertedContainerRuntimeModule.ts"],"names":[],"mappings":";;;;;AAAA,0FAAqF;AAErF,8HAAsG;AAEtG,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CACzD,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"InvertedContainerRuntimeModule.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/InvertedContainerRuntimeModule.ts"],"names":[],"mappings":";;;;;AAAA,0FAAqF;AAErF,8HAAsG;AAEtG,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CACzD,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAM9B,MAAM,8BAA+B,SAAQ,aAAa;IAGxD,YAAY,OAA8C;QACxD,KAAK,CAAC,4BAA4B,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,YAAY,8BAAoB,CACnD,CAAC;IACJ,CAAC;IAEQ,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YACpE,OAAO,EAAE,CAAC;SACX;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAE/C,CAAC;QAEd,MAAM,iBAAiB,GAAG,oBAAoB;YAC5C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC;YAC/D,CAAC,CAAC,KAAK,CAAC;QAEV,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO,EAAE,CAAC;SACX;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,OAAO,QAAQ,CAAC,QAAQ,CAAC;YACvB,kBAAkB;YAClB,mCAAmC;YACnC,QAAQ,CAAC,MAAM,CAAC;gBACd,4BAA4B,qBAAqB,MAAM;gBACvD,QAAQ,CAAC,MAAM,CACb,qCAAqC,qBAAqB,IAAI,CAC/D;gBACD,GAAG;gBACH,YAAY,cAAc,CAAC,MAAM,gBAAgB;gBACjD,MAAM,QAAQ,iBAAiB;gBAC/B,mCAAmC;gBACnC,qBAAqB;aACtB,CAAC;YACF,IAAI;YACJ,GAAG,cAAc,CAAC,OAAO,0CAA0C;YACnE,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,8BAA8B,CAAC"}
|
|
@@ -4,20 +4,11 @@ function default_1() {
|
|
|
4
4
|
return {
|
|
5
5
|
name: 'next-internal-plugin',
|
|
6
6
|
beforeInit(args) {
|
|
7
|
-
if (!__webpack_runtime_id__
|
|
7
|
+
if (!__webpack_runtime_id__?.startsWith('webpack'))
|
|
8
8
|
return args;
|
|
9
|
-
const attach =
|
|
10
|
-
//@ts-ignore
|
|
11
|
-
typeof __webpack_require__?.federation?.attachRemote === 'function'
|
|
12
|
-
? //@ts-ignore
|
|
13
|
-
__webpack_require__.federation.attachRemote
|
|
14
|
-
: () => {
|
|
15
|
-
//@ts-ignore
|
|
16
|
-
console.error('embedded container', args.id, 'is not found');
|
|
17
|
-
return false;
|
|
18
|
-
};
|
|
19
9
|
const { moduleCache, name } = args.origin;
|
|
20
|
-
const
|
|
10
|
+
const gs = __webpack_require__.g || new Function('return globalThis');
|
|
11
|
+
const attachedRemote = gs[name];
|
|
21
12
|
if (attachedRemote) {
|
|
22
13
|
moduleCache.set(name, attachedRemote);
|
|
23
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimePlugin.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/runtimePlugin.ts"],"names":[],"mappings":";;AAGA;IACE,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,UAAU,CAAC,IAAI;YACb,IAAI,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"runtimePlugin.js","sourceRoot":"","sources":["../../../../../../packages/nextjs-mf/src/plugins/container/runtimePlugin.ts"],"names":[],"mappings":";;AAGA;IACE,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,UAAU,CAAC,IAAI;YACb,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC;YAChE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACtE,MAAM,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,cAAc,EAAE;gBAClB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aACvC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,CAAC,IAAI;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,uBAAuB;QACvB,iBAAiB;QACjB,KAAK;QACL,eAAe,CAAC,IAAI;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,CAAC,IAAI;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,YAAY,CAAC,IAAI;YACf,IACE,IAAI,CAAC,OAAO,KAAK,OAAO;gBACxB,IAAI,CAAC,OAAO,KAAK,WAAW;gBAC5B,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EACjC;gBACA,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YAE1E,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,IAAI,CAAC;aACb;YACD,IAAI,CAAC,QAAQ,GAAG;gBACd,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,yDAAyD;gBAChI,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,IAAI;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AArDD,4BAqDC"}
|