diff --git a/apps/3000-home/next.config.js b/apps/3000-home/next.config.js index a57cf981c57..8ee86bd40f0 100644 --- a/apps/3000-home/next.config.js +++ b/apps/3000-home/next.config.js @@ -1,3 +1,6 @@ +const { registerPluginTSTranspiler } = require('nx/src/utils/nx-plugin.js'); + +registerPluginTSTranspiler(); const { withNx } = require('@nrwl/next/plugins/with-nx'); const NextFederationPlugin = require('@module-federation/nextjs-mf'); const { createDelegatedModule } = require('@module-federation/utilities'); diff --git a/apps/3000-home/pages/dynamic-remote.js b/apps/3000-home/pages/dynamic-remote.js index 13457b8c91c..f13784149a9 100644 --- a/apps/3000-home/pages/dynamic-remote.js +++ b/apps/3000-home/pages/dynamic-remote.js @@ -1,4 +1,5 @@ import React from 'react'; +//eslint-disable-next-line import { injectScript } from '@module-federation/utilities'; // example of dynamic remote import on server and client const isServer = typeof window === 'undefined'; diff --git a/package-lock.json b/package-lock.json index 610271fe651..5a9f6bc6eed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42489,6 +42489,141 @@ "type": "github", "url": "https://github.com/sponsors/wooorm" } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.2.tgz", + "integrity": "sha512-6BBlqGu3ewgJflv9iLCwO1v1hqlecaIH2AotpKfVUEzUxuuDNJQZ2a4KLb4MBl8T9/vca1YuWhSqtbF6ZuUJJw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.2.tgz", + "integrity": "sha512-iZuYr7ZvGLPjPmfhhMl0ISm+z8EiyLBC1bLyFwGBxkWmPXqdJ60mzuTaDSr5WezDwv0fz32HB7JHmRC6JVHSZg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.2.tgz", + "integrity": "sha512-2xVabFtIge6BJTcJrW8YuUnYTuQjh4jEuRuS2mscyNVOj6zUZkom3CQg+egKOoS+zh2rrro66ffSKIS+ztFJTg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.2.tgz", + "integrity": "sha512-wKRCQ27xCUJx5d6IivfjYGq8oVngqIhlhSAJntgXLt7Uo9sRT/3EppMHqUZRfyuNBTbykEre1s5166z+pvRB5A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.2.tgz", + "integrity": "sha512-NpCa+UVhhuNeaFVUP1Bftm0uqtvLWq2JTm7+Ta48+2Uqj2mNXrDIvyn1DY/ZEfmW/1yvGBRaUAv9zkMkMRixQA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.2.tgz", + "integrity": "sha512-ZWVC72x0lW4aj44e3khvBrj2oSYj1bD0jESmyah3zG/3DplEy/FOtYkMzbMjHTdDSheso7zH8GIlW6CDQnKhmQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.2.tgz", + "integrity": "sha512-pLT+OWYpzJig5K4VKhLttlIfBcVZfr2+Xbjra0Tjs83NQSkFS+y7xx+YhCwvpEmXYLIvaggj2ONPyjbiigOvHQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.2.tgz", + "integrity": "sha512-dhpiksQCyGca4WY0fJyzK3FxMDFoqMb0Cn+uDB+9GYjpU2K5//UGPQlCwiK4JHxuhg8oLMag5Nf3/IPSJNG8jw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.2.tgz", + "integrity": "sha512-O7bort1Vld00cu8g0jHZq3cbSTUNMohOEvYqsqE10+yfohhdPHzvzO+ziJRz4Dyyr/fYKREwS7gR4JC0soSOMw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } } }, "dependencies": { @@ -72313,6 +72448,60 @@ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", "dev": true + }, + "@next/swc-darwin-arm64": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.2.tgz", + "integrity": "sha512-6BBlqGu3ewgJflv9iLCwO1v1hqlecaIH2AotpKfVUEzUxuuDNJQZ2a4KLb4MBl8T9/vca1YuWhSqtbF6ZuUJJw==", + "optional": true + }, + "@next/swc-darwin-x64": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.2.tgz", + "integrity": "sha512-iZuYr7ZvGLPjPmfhhMl0ISm+z8EiyLBC1bLyFwGBxkWmPXqdJ60mzuTaDSr5WezDwv0fz32HB7JHmRC6JVHSZg==", + "optional": true + }, + "@next/swc-linux-arm64-gnu": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.2.tgz", + "integrity": "sha512-2xVabFtIge6BJTcJrW8YuUnYTuQjh4jEuRuS2mscyNVOj6zUZkom3CQg+egKOoS+zh2rrro66ffSKIS+ztFJTg==", + "optional": true + }, + "@next/swc-linux-arm64-musl": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.2.tgz", + "integrity": "sha512-wKRCQ27xCUJx5d6IivfjYGq8oVngqIhlhSAJntgXLt7Uo9sRT/3EppMHqUZRfyuNBTbykEre1s5166z+pvRB5A==", + "optional": true + }, + "@next/swc-linux-x64-gnu": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.2.tgz", + "integrity": "sha512-NpCa+UVhhuNeaFVUP1Bftm0uqtvLWq2JTm7+Ta48+2Uqj2mNXrDIvyn1DY/ZEfmW/1yvGBRaUAv9zkMkMRixQA==", + "optional": true + }, + "@next/swc-linux-x64-musl": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.2.tgz", + "integrity": "sha512-ZWVC72x0lW4aj44e3khvBrj2oSYj1bD0jESmyah3zG/3DplEy/FOtYkMzbMjHTdDSheso7zH8GIlW6CDQnKhmQ==", + "optional": true + }, + "@next/swc-win32-arm64-msvc": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.2.tgz", + "integrity": "sha512-pLT+OWYpzJig5K4VKhLttlIfBcVZfr2+Xbjra0Tjs83NQSkFS+y7xx+YhCwvpEmXYLIvaggj2ONPyjbiigOvHQ==", + "optional": true + }, + "@next/swc-win32-ia32-msvc": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.2.tgz", + "integrity": "sha512-dhpiksQCyGca4WY0fJyzK3FxMDFoqMb0Cn+uDB+9GYjpU2K5//UGPQlCwiK4JHxuhg8oLMag5Nf3/IPSJNG8jw==", + "optional": true + }, + "@next/swc-win32-x64-msvc": { + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.2.tgz", + "integrity": "sha512-O7bort1Vld00cu8g0jHZq3cbSTUNMohOEvYqsqE10+yfohhdPHzvzO+ziJRz4Dyyr/fYKREwS7gR4JC0soSOMw==", + "optional": true } } } diff --git a/packages/nextjs-mf/src/plugins/NextFederationPlugin/next-fragments.ts b/packages/nextjs-mf/src/plugins/NextFederationPlugin/next-fragments.ts index 4cb87cc76ad..ab96f69fcee 100644 --- a/packages/nextjs-mf/src/plugins/NextFederationPlugin/next-fragments.ts +++ b/packages/nextjs-mf/src/plugins/NextFederationPlugin/next-fragments.ts @@ -73,7 +73,7 @@ export function applyRemoteDelegates( compiler.options.module.rules.push({ enforce: 'pre', test: [/_app/], - loader: path.resolve(__dirname, '../../loaders/patchDefaultSharedLoader'), + loader: require.resolve('../../loaders/patchDefaultSharedLoader'), }); // Add the delegate loader for hoist and container to the module rules compiler.options.module.rules.push({ @@ -86,7 +86,7 @@ export function applyRemoteDelegates( //eslint-disable-next-line /next[\/]dist/, ], - loader: path.resolve(__dirname, '../../loaders/delegateLoader'), + loader: require.resolve('../../loaders/delegateLoader'), options: { delegates, }, @@ -102,14 +102,14 @@ export const applyPathFixes = (compiler, options) => { if (options.enableImageLoaderFix && hasLoader(rule, 'next-image-loader')) { // childCompiler.options.module.parser.javascript?.url = 'relative'; injectRuleLoader(rule, { - loader: path.resolve(__dirname, '../../loaders/fixImageLoader'), + loader: require.resolve('../../loaders/fixImageLoader'), }); } // url-loader fix for which adds remote's hostname to the assets url if (options.enableUrlLoaderFix && hasLoader(rule, 'url-loader')) { injectRuleLoader({ - loader: path.resolve(__dirname, '../../loaders/fixUrlLoader'), + loader: require.resolve('../../loaders/fixUrlLoader'), }); } }); diff --git a/packages/nextjs-mf/src/plugins/container/custom-jsonp.js b/packages/nextjs-mf/src/plugins/container/custom-jsonp.ts similarity index 100% rename from packages/nextjs-mf/src/plugins/container/custom-jsonp.js rename to packages/nextjs-mf/src/plugins/container/custom-jsonp.ts diff --git a/tsconfig.base.json b/tsconfig.base.json index 74df675de20..6cd7167d121 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -22,15 +22,16 @@ "@module-federation/native-federation-typescript": [ "packages/native-federation-typescript/src/index.ts" ], - "@module-federation/nextjs-mf": ["packages/nextjs-mf/src"], - "@module-federation/nextjs-mf/utils": ["packages/nextjs-mf/utils"], + "@module-federation/nextjs-mf": ["packages/nextjs-mf/src/index.ts"], + "@module-federation/nextjs-mf/*": ["packages/nextjs-mf/*"], "@module-federation/node": ["packages/node/src"], "@module-federation/node/utils": ["packages/node/src/utils"], "@module-federation/storybook-addon": [ "packages/storybook-addon/src/index.ts" ], "@module-federation/typescript": ["packages/typescript/src/index.ts"], - "@module-federation/utilities": ["packages/utilities/src/index.ts"] + "@module-federation/utilities": ["packages/utilities/src/index.ts"], + "@module-federation/utilities/*": ["packages/utilities/*"] } }, "exclude": ["node_modules", "tmp"]