diff --git a/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs b/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs index 687832dba87e..ec5af9442fa6 100644 --- a/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs +++ b/generators/client/templates/webpack/webpack.microfrontend.js.jhi.ejs @@ -26,7 +26,7 @@ }); _&> -const ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin'); +const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack'); <&- fragments.importsSection() &> <%_ if (!clientFrameworkVue) { _%> const packageJson = require('../package.json'); @@ -63,6 +63,8 @@ module.exports = () => { filename: 'remoteEntry.js', <%_ } _%> shareScope: 'default', + dts: false, + manifest: false, <&- fragments.moduleFederationSection() &> } <%_ } -%> @@ -71,6 +73,7 @@ module.exports = () => { ], output: { publicPath: 'auto', + scriptType: 'text/javascript', }, }; }; diff --git a/generators/react/generator.ts b/generators/react/generator.ts index ebf61fb5a8bc..114ce1840e51 100644 --- a/generators/react/generator.ts +++ b/generators/react/generator.ts @@ -189,6 +189,18 @@ export default class ReactGenerator extends BaseApplicationGenerator { get postWriting() { return this.asPostWritingTaskGroup({ + addMicrofrontendDependencies({ application }) { + if (!application.microfrontend) return; + const { applicationTypeGateway } = application; + if (applicationTypeGateway) { + this.packageJson.merge({ + devDependencies: { '@module-federation/utilities': null }, + }); + } + this.packageJson.merge({ + devDependencies: { '@module-federation/enhanced': null }, + }); + }, addWebsocketDependencies({ application }) { const { communicationSpringWebsocket, nodeDependencies } = application; if (communicationSpringWebsocket) { diff --git a/generators/react/resources/package.json b/generators/react/resources/package.json index 0b2f7c6b6220..425ce878440f 100644 --- a/generators/react/resources/package.json +++ b/generators/react/resources/package.json @@ -30,6 +30,7 @@ }, "devDependencies": { "@eslint/js": "9.12.0", + "@module-federation/enhanced": "0.6.11", "@module-federation/utilities": "3.1.17", "@testing-library/react": "16.0.1", "@types/jest": "29.5.13", diff --git a/generators/react/templates/package.json.ejs b/generators/react/templates/package.json.ejs index 0a7691982536..f319645b111a 100644 --- a/generators/react/templates/package.json.ejs +++ b/generators/react/templates/package.json.ejs @@ -59,9 +59,6 @@ "uuid": "<%= nodeDependencies['uuid'] %>" }, "devDependencies": { -<%_ if (applicationTypeGateway && microfrontend) { _%> - "@module-federation/utilities": "<%= nodeDependencies['@module-federation/utilities'] %>", -<%_ } _%> "@testing-library/react": "<%= nodeDependencies['@testing-library/react'] %>", "@types/jest": "<%= nodeDependencies['@types/jest'] %>", "@types/lodash": "<%= nodeDependencies['@types/lodash'] %>", diff --git a/generators/vue/generator.ts b/generators/vue/generator.ts index bb99f50b8928..04cca3fb6b3c 100644 --- a/generators/vue/generator.ts +++ b/generators/vue/generator.ts @@ -223,6 +223,7 @@ export default class VueGenerator extends BaseApplicationGenerator { } this.packageJson.merge({ devDependencies: { + '@module-federation/enhanced': null, 'browser-sync-webpack-plugin': null, 'copy-webpack-plugin': null, 'css-loader': null, diff --git a/generators/vue/resources/package.json b/generators/vue/resources/package.json index ea581e09aef0..ef77931019f2 100644 --- a/generators/vue/resources/package.json +++ b/generators/vue/resources/package.json @@ -22,6 +22,7 @@ }, "devDependencies": { "@eslint/js": "9.12.0", + "@module-federation/enhanced": "0.6.11", "@module-federation/utilities": "3.1.17", "@pinia/testing": "0.1.6", "@tsconfig/node18": "18.2.4", diff --git a/generators/vue/templates/module-federation.config.cjs.ejs b/generators/vue/templates/module-federation.config.cjs.ejs index 277d88dbf01c..a7d7eff0ef7a 100644 --- a/generators/vue/templates/module-federation.config.cjs.ejs +++ b/generators/vue/templates/module-federation.config.cjs.ejs @@ -50,4 +50,6 @@ module.exports = { '@/locale/translation.service', ), }, + dts: false, + manifest: false, };