@module-federation/nextjs-mf 8.8.67 → 8.8.69
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.
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
|
|
2
|
+
let _module_federation_runtime_core = require("@module-federation/runtime-core");
|
|
1
3
|
|
|
2
4
|
//#region src/plugins/container/runtimePlugin.ts
|
|
3
5
|
function runtimePlugin_default() {
|
|
@@ -68,13 +70,12 @@ function runtimePlugin_default() {
|
|
|
68
70
|
},
|
|
69
71
|
beforeRequest: function(args) {
|
|
70
72
|
const options = args.options;
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (!remote) return args;
|
|
76
|
-
|
|
77
|
-
remote.entry = remote.entry + "?t=" + Date.now();
|
|
73
|
+
const id = args.id;
|
|
74
|
+
const match = (0, _module_federation_runtime_core.matchRemoteWithNameAndExpose)(options.remotes, id);
|
|
75
|
+
if (!match) return args;
|
|
76
|
+
const remote = match.remote;
|
|
77
|
+
if (!("entry" in remote) || !remote.entry || /[?&]t=/.test(remote.entry)) return args;
|
|
78
|
+
remote.entry = remote.entry + (remote.entry.includes("?") ? "&" : "?") + "t=" + Date.now();
|
|
78
79
|
return args;
|
|
79
80
|
},
|
|
80
81
|
afterResolve: function(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimePlugin.js","names":[],"sources":["../../../../src/plugins/container/runtimePlugin.ts"],"sourcesContent":["import { ModuleFederationRuntimePlugin } from '@module-federation/runtime';\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'next-internal-plugin',\n createScript: function (args: {\n url: string;\n attrs?: Record<string, any>;\n }) {\n const url = args.url;\n const attrs = args.attrs;\n if (typeof window !== 'undefined') {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n delete attrs?.['crossorigin'];\n\n return { script: script, timeout: 8000 };\n }\n return undefined;\n },\n errorLoadRemote: function (args: {\n id: string;\n error: any;\n from: string;\n origin: any;\n }) {\n const id = args.id;\n const error = args.error;\n const from = args.from;\n //@ts-ignore\n globalThis.moduleGraphDirty = true;\n console.error(id, 'offline');\n const pg = function () {\n console.error(id, 'offline', error);\n return null;\n };\n\n (pg as any).getInitialProps = function (ctx: any) {\n return {};\n };\n let mod;\n if (from === 'build') {\n mod = function () {\n return {\n __esModule: true,\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n };\n } else {\n mod = {\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n }\n\n return mod;\n },\n beforeInit: function (args) {\n if (!globalThis.usedChunks) globalThis.usedChunks = new Set();\n if (\n typeof __webpack_runtime_id__ === 'string' &&\n !__webpack_runtime_id__.startsWith('webpack')\n ) {\n return args;\n }\n\n const moduleCache = args.origin.moduleCache;\n const name = args.origin.name;\n let gs;\n try {\n gs = new Function('return globalThis')();\n } catch (e) {\n gs = globalThis; // fallback for browsers without 'unsafe-eval' CSP policy enabled\n }\n //@ts-ignore\n const attachedRemote = gs[name];\n if (attachedRemote) {\n moduleCache.set(name, attachedRemote);\n }\n\n return args;\n },\n init: function (args: any) {\n return args;\n },\n beforeRequest: function (args: any) {\n const options = args.options;\n const id = args.id;\n const remoteName = id.split('/').shift();\n const remote = options.remotes.find(function (remote: any) {\n return remote.name === remoteName;\n });\n if (!remote) return args;\n if (remote && remote.entry && remote.entry.includes('?t=')) {\n return args;\n }\n remote.entry = remote.entry + '?t=' + Date.now();\n return args;\n },\n afterResolve: function (args: any) {\n return args;\n },\n onLoad: function (args: any) {\n const exposeModuleFactory = args.exposeModuleFactory;\n const exposeModule = args.exposeModule;\n const id = args.id;\n const moduleOrFactory = exposeModuleFactory || exposeModule;\n if (!moduleOrFactory) return args;\n\n if (typeof window === 'undefined') {\n let exposedModuleExports: any;\n try {\n exposedModuleExports = moduleOrFactory();\n } catch (e) {\n exposedModuleExports = moduleOrFactory;\n }\n\n const handler: ProxyHandler<any> = {\n get: function (target, prop, receiver) {\n if (\n target === exposedModuleExports &&\n typeof exposedModuleExports[prop] === 'function'\n ) {\n return function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return exposedModuleExports[prop].apply(this, arguments);\n };\n }\n\n const originalMethod = target[prop];\n if (typeof originalMethod === 'function') {\n const proxiedFunction = function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return originalMethod.apply(this, arguments);\n };\n\n Object.keys(originalMethod).forEach(function (prop) {\n Object.defineProperty(proxiedFunction, prop, {\n value: originalMethod[prop],\n writable: true,\n enumerable: true,\n configurable: true,\n });\n });\n\n return proxiedFunction;\n }\n\n return Reflect.get(target, prop, receiver);\n },\n };\n\n if (typeof exposedModuleExports === 'function') {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n\n const staticProps = Object.getOwnPropertyNames(exposedModuleExports);\n staticProps.forEach(function (prop) {\n if (typeof exposedModuleExports[prop] === 'function') {\n exposedModuleExports[prop] = new Proxy(\n exposedModuleExports[prop],\n handler,\n );\n }\n });\n return function () {\n return exposedModuleExports;\n };\n } else {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n }\n\n return exposedModuleExports;\n }\n\n return args;\n },\n loadRemoteSnapshot(args) {\n const { from, remoteSnapshot, manifestUrl, manifestJson, options } = args;\n\n // ensure snapshot is loaded from manifest\n if (\n from !== 'manifest' ||\n !manifestUrl ||\n !manifestJson ||\n !('publicPath' in remoteSnapshot)\n ) {\n return args;\n }\n\n // re-assign publicPath based on remoteEntry location if in browser nextjs remote\n const { publicPath } = remoteSnapshot;\n if (options.inBrowser && publicPath.includes('/_next/')) {\n remoteSnapshot.publicPath = publicPath.substring(\n 0,\n publicPath.lastIndexOf('/_next/') + 7,\n );\n } else {\n const serverPublicPath = manifestUrl.substring(\n 0,\n manifestUrl.indexOf('mf-manifest.json'),\n );\n remoteSnapshot.publicPath = serverPublicPath;\n }\n\n if ('publicPath' in manifestJson.metaData) {\n manifestJson.metaData.publicPath = remoteSnapshot.publicPath;\n }\n\n return args;\n },\n resolveShare: function (args: any) {\n if (\n args.pkgName !== 'react' &&\n args.pkgName !== 'react-dom' &&\n !args.pkgName.startsWith('next/')\n ) {\n return args;\n }\n const shareScopeMap = args.shareScopeMap;\n const scope = args.scope;\n const pkgName = args.pkgName;\n const version = args.version;\n const GlobalFederation = args.GlobalFederation;\n const host = GlobalFederation['__INSTANCES__'][0];\n if (!host) {\n return args;\n }\n\n if (!host.options.shared[pkgName]) {\n return args;\n }\n args.resolver = function () {\n shareScopeMap[scope][pkgName][version] =\n host.options.shared[pkgName][0];\n return {\n shared: shareScopeMap[scope][pkgName][version],\n useTreesShaking: false,\n };\n };\n return args;\n },\n beforeLoadShare: async function (args: any) {\n return args;\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtimePlugin.js","names":[],"sources":["../../../../src/plugins/container/runtimePlugin.ts"],"sourcesContent":["import { ModuleFederationRuntimePlugin } from '@module-federation/runtime';\nimport { matchRemoteWithNameAndExpose } from '@module-federation/runtime-core';\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'next-internal-plugin',\n createScript: function (args: {\n url: string;\n attrs?: Record<string, any>;\n }) {\n const url = args.url;\n const attrs = args.attrs;\n if (typeof window !== 'undefined') {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n delete attrs?.['crossorigin'];\n\n return { script: script, timeout: 8000 };\n }\n return undefined;\n },\n errorLoadRemote: function (args: {\n id: string;\n error: any;\n from: string;\n origin: any;\n }) {\n const id = args.id;\n const error = args.error;\n const from = args.from;\n //@ts-ignore\n globalThis.moduleGraphDirty = true;\n console.error(id, 'offline');\n const pg = function () {\n console.error(id, 'offline', error);\n return null;\n };\n\n (pg as any).getInitialProps = function (ctx: any) {\n return {};\n };\n let mod;\n if (from === 'build') {\n mod = function () {\n return {\n __esModule: true,\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n };\n } else {\n mod = {\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n }\n\n return mod;\n },\n beforeInit: function (args) {\n if (!globalThis.usedChunks) globalThis.usedChunks = new Set();\n if (\n typeof __webpack_runtime_id__ === 'string' &&\n !__webpack_runtime_id__.startsWith('webpack')\n ) {\n return args;\n }\n\n const moduleCache = args.origin.moduleCache;\n const name = args.origin.name;\n let gs;\n try {\n gs = new Function('return globalThis')();\n } catch (e) {\n gs = globalThis; // fallback for browsers without 'unsafe-eval' CSP policy enabled\n }\n //@ts-ignore\n const attachedRemote = gs[name];\n if (attachedRemote) {\n moduleCache.set(name, attachedRemote);\n }\n\n return args;\n },\n init: function (args: any) {\n return args;\n },\n beforeRequest: function (args: any) {\n const options = args.options;\n const id = args.id;\n const match = matchRemoteWithNameAndExpose(options.remotes, id);\n if (!match) return args;\n const remote = match.remote;\n if (\n !('entry' in remote) ||\n !remote.entry ||\n /[?&]t=/.test(remote.entry)\n ) {\n return args;\n }\n remote.entry =\n remote.entry +\n (remote.entry.includes('?') ? '&' : '?') +\n 't=' +\n Date.now();\n return args;\n },\n afterResolve: function (args: any) {\n return args;\n },\n onLoad: function (args: any) {\n const exposeModuleFactory = args.exposeModuleFactory;\n const exposeModule = args.exposeModule;\n const id = args.id;\n const moduleOrFactory = exposeModuleFactory || exposeModule;\n if (!moduleOrFactory) return args;\n\n if (typeof window === 'undefined') {\n let exposedModuleExports: any;\n try {\n exposedModuleExports = moduleOrFactory();\n } catch (e) {\n exposedModuleExports = moduleOrFactory;\n }\n\n const handler: ProxyHandler<any> = {\n get: function (target, prop, receiver) {\n if (\n target === exposedModuleExports &&\n typeof exposedModuleExports[prop] === 'function'\n ) {\n return function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return exposedModuleExports[prop].apply(this, arguments);\n };\n }\n\n const originalMethod = target[prop];\n if (typeof originalMethod === 'function') {\n const proxiedFunction = function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return originalMethod.apply(this, arguments);\n };\n\n Object.keys(originalMethod).forEach(function (prop) {\n Object.defineProperty(proxiedFunction, prop, {\n value: originalMethod[prop],\n writable: true,\n enumerable: true,\n configurable: true,\n });\n });\n\n return proxiedFunction;\n }\n\n return Reflect.get(target, prop, receiver);\n },\n };\n\n if (typeof exposedModuleExports === 'function') {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n\n const staticProps = Object.getOwnPropertyNames(exposedModuleExports);\n staticProps.forEach(function (prop) {\n if (typeof exposedModuleExports[prop] === 'function') {\n exposedModuleExports[prop] = new Proxy(\n exposedModuleExports[prop],\n handler,\n );\n }\n });\n return function () {\n return exposedModuleExports;\n };\n } else {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n }\n\n return exposedModuleExports;\n }\n\n return args;\n },\n loadRemoteSnapshot(args) {\n const { from, remoteSnapshot, manifestUrl, manifestJson, options } = args;\n\n // ensure snapshot is loaded from manifest\n if (\n from !== 'manifest' ||\n !manifestUrl ||\n !manifestJson ||\n !('publicPath' in remoteSnapshot)\n ) {\n return args;\n }\n\n // re-assign publicPath based on remoteEntry location if in browser nextjs remote\n const { publicPath } = remoteSnapshot;\n if (options.inBrowser && publicPath.includes('/_next/')) {\n remoteSnapshot.publicPath = publicPath.substring(\n 0,\n publicPath.lastIndexOf('/_next/') + 7,\n );\n } else {\n const serverPublicPath = manifestUrl.substring(\n 0,\n manifestUrl.indexOf('mf-manifest.json'),\n );\n remoteSnapshot.publicPath = serverPublicPath;\n }\n\n if ('publicPath' in manifestJson.metaData) {\n manifestJson.metaData.publicPath = remoteSnapshot.publicPath;\n }\n\n return args;\n },\n resolveShare: function (args: any) {\n if (\n args.pkgName !== 'react' &&\n args.pkgName !== 'react-dom' &&\n !args.pkgName.startsWith('next/')\n ) {\n return args;\n }\n const shareScopeMap = args.shareScopeMap;\n const scope = args.scope;\n const pkgName = args.pkgName;\n const version = args.version;\n const GlobalFederation = args.GlobalFederation;\n const host = GlobalFederation['__INSTANCES__'][0];\n if (!host) {\n return args;\n }\n\n if (!host.options.shared[pkgName]) {\n return args;\n }\n args.resolver = function () {\n shareScopeMap[scope][pkgName][version] =\n host.options.shared[pkgName][0];\n return {\n shared: shareScopeMap[scope][pkgName][version],\n useTreesShaking: false,\n };\n };\n return args;\n },\n beforeLoadShare: async function (args: any) {\n return args;\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { matchRemoteWithNameAndExpose } from "@module-federation/runtime-core";
|
|
2
|
+
|
|
1
3
|
//#region src/plugins/container/runtimePlugin.ts
|
|
2
4
|
function runtimePlugin_default() {
|
|
3
5
|
return {
|
|
@@ -67,13 +69,12 @@ function runtimePlugin_default() {
|
|
|
67
69
|
},
|
|
68
70
|
beforeRequest: function(args) {
|
|
69
71
|
const options = args.options;
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (!remote) return args;
|
|
75
|
-
|
|
76
|
-
remote.entry = remote.entry + "?t=" + Date.now();
|
|
72
|
+
const id = args.id;
|
|
73
|
+
const match = matchRemoteWithNameAndExpose(options.remotes, id);
|
|
74
|
+
if (!match) return args;
|
|
75
|
+
const remote = match.remote;
|
|
76
|
+
if (!("entry" in remote) || !remote.entry || /[?&]t=/.test(remote.entry)) return args;
|
|
77
|
+
remote.entry = remote.entry + (remote.entry.includes("?") ? "&" : "?") + "t=" + Date.now();
|
|
77
78
|
return args;
|
|
78
79
|
},
|
|
79
80
|
afterResolve: function(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimePlugin.mjs","names":[],"sources":["../../../../src/plugins/container/runtimePlugin.ts"],"sourcesContent":["import { ModuleFederationRuntimePlugin } from '@module-federation/runtime';\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'next-internal-plugin',\n createScript: function (args: {\n url: string;\n attrs?: Record<string, any>;\n }) {\n const url = args.url;\n const attrs = args.attrs;\n if (typeof window !== 'undefined') {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n delete attrs?.['crossorigin'];\n\n return { script: script, timeout: 8000 };\n }\n return undefined;\n },\n errorLoadRemote: function (args: {\n id: string;\n error: any;\n from: string;\n origin: any;\n }) {\n const id = args.id;\n const error = args.error;\n const from = args.from;\n //@ts-ignore\n globalThis.moduleGraphDirty = true;\n console.error(id, 'offline');\n const pg = function () {\n console.error(id, 'offline', error);\n return null;\n };\n\n (pg as any).getInitialProps = function (ctx: any) {\n return {};\n };\n let mod;\n if (from === 'build') {\n mod = function () {\n return {\n __esModule: true,\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n };\n } else {\n mod = {\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n }\n\n return mod;\n },\n beforeInit: function (args) {\n if (!globalThis.usedChunks) globalThis.usedChunks = new Set();\n if (\n typeof __webpack_runtime_id__ === 'string' &&\n !__webpack_runtime_id__.startsWith('webpack')\n ) {\n return args;\n }\n\n const moduleCache = args.origin.moduleCache;\n const name = args.origin.name;\n let gs;\n try {\n gs = new Function('return globalThis')();\n } catch (e) {\n gs = globalThis; // fallback for browsers without 'unsafe-eval' CSP policy enabled\n }\n //@ts-ignore\n const attachedRemote = gs[name];\n if (attachedRemote) {\n moduleCache.set(name, attachedRemote);\n }\n\n return args;\n },\n init: function (args: any) {\n return args;\n },\n beforeRequest: function (args: any) {\n const options = args.options;\n const id = args.id;\n const remoteName = id.split('/').shift();\n const remote = options.remotes.find(function (remote: any) {\n return remote.name === remoteName;\n });\n if (!remote) return args;\n if (remote && remote.entry && remote.entry.includes('?t=')) {\n return args;\n }\n remote.entry = remote.entry + '?t=' + Date.now();\n return args;\n },\n afterResolve: function (args: any) {\n return args;\n },\n onLoad: function (args: any) {\n const exposeModuleFactory = args.exposeModuleFactory;\n const exposeModule = args.exposeModule;\n const id = args.id;\n const moduleOrFactory = exposeModuleFactory || exposeModule;\n if (!moduleOrFactory) return args;\n\n if (typeof window === 'undefined') {\n let exposedModuleExports: any;\n try {\n exposedModuleExports = moduleOrFactory();\n } catch (e) {\n exposedModuleExports = moduleOrFactory;\n }\n\n const handler: ProxyHandler<any> = {\n get: function (target, prop, receiver) {\n if (\n target === exposedModuleExports &&\n typeof exposedModuleExports[prop] === 'function'\n ) {\n return function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return exposedModuleExports[prop].apply(this, arguments);\n };\n }\n\n const originalMethod = target[prop];\n if (typeof originalMethod === 'function') {\n const proxiedFunction = function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return originalMethod.apply(this, arguments);\n };\n\n Object.keys(originalMethod).forEach(function (prop) {\n Object.defineProperty(proxiedFunction, prop, {\n value: originalMethod[prop],\n writable: true,\n enumerable: true,\n configurable: true,\n });\n });\n\n return proxiedFunction;\n }\n\n return Reflect.get(target, prop, receiver);\n },\n };\n\n if (typeof exposedModuleExports === 'function') {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n\n const staticProps = Object.getOwnPropertyNames(exposedModuleExports);\n staticProps.forEach(function (prop) {\n if (typeof exposedModuleExports[prop] === 'function') {\n exposedModuleExports[prop] = new Proxy(\n exposedModuleExports[prop],\n handler,\n );\n }\n });\n return function () {\n return exposedModuleExports;\n };\n } else {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n }\n\n return exposedModuleExports;\n }\n\n return args;\n },\n loadRemoteSnapshot(args) {\n const { from, remoteSnapshot, manifestUrl, manifestJson, options } = args;\n\n // ensure snapshot is loaded from manifest\n if (\n from !== 'manifest' ||\n !manifestUrl ||\n !manifestJson ||\n !('publicPath' in remoteSnapshot)\n ) {\n return args;\n }\n\n // re-assign publicPath based on remoteEntry location if in browser nextjs remote\n const { publicPath } = remoteSnapshot;\n if (options.inBrowser && publicPath.includes('/_next/')) {\n remoteSnapshot.publicPath = publicPath.substring(\n 0,\n publicPath.lastIndexOf('/_next/') + 7,\n );\n } else {\n const serverPublicPath = manifestUrl.substring(\n 0,\n manifestUrl.indexOf('mf-manifest.json'),\n );\n remoteSnapshot.publicPath = serverPublicPath;\n }\n\n if ('publicPath' in manifestJson.metaData) {\n manifestJson.metaData.publicPath = remoteSnapshot.publicPath;\n }\n\n return args;\n },\n resolveShare: function (args: any) {\n if (\n args.pkgName !== 'react' &&\n args.pkgName !== 'react-dom' &&\n !args.pkgName.startsWith('next/')\n ) {\n return args;\n }\n const shareScopeMap = args.shareScopeMap;\n const scope = args.scope;\n const pkgName = args.pkgName;\n const version = args.version;\n const GlobalFederation = args.GlobalFederation;\n const host = GlobalFederation['__INSTANCES__'][0];\n if (!host) {\n return args;\n }\n\n if (!host.options.shared[pkgName]) {\n return args;\n }\n args.resolver = function () {\n shareScopeMap[scope][pkgName][version] =\n host.options.shared[pkgName][0];\n return {\n shared: shareScopeMap[scope][pkgName][version],\n useTreesShaking: false,\n };\n };\n return args;\n },\n beforeLoadShare: async function (args: any) {\n return args;\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtimePlugin.mjs","names":[],"sources":["../../../../src/plugins/container/runtimePlugin.ts"],"sourcesContent":["import { ModuleFederationRuntimePlugin } from '@module-federation/runtime';\nimport { matchRemoteWithNameAndExpose } from '@module-federation/runtime-core';\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'next-internal-plugin',\n createScript: function (args: {\n url: string;\n attrs?: Record<string, any>;\n }) {\n const url = args.url;\n const attrs = args.attrs;\n if (typeof window !== 'undefined') {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n delete attrs?.['crossorigin'];\n\n return { script: script, timeout: 8000 };\n }\n return undefined;\n },\n errorLoadRemote: function (args: {\n id: string;\n error: any;\n from: string;\n origin: any;\n }) {\n const id = args.id;\n const error = args.error;\n const from = args.from;\n //@ts-ignore\n globalThis.moduleGraphDirty = true;\n console.error(id, 'offline');\n const pg = function () {\n console.error(id, 'offline', error);\n return null;\n };\n\n (pg as any).getInitialProps = function (ctx: any) {\n return {};\n };\n let mod;\n if (from === 'build') {\n mod = function () {\n return {\n __esModule: true,\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n };\n } else {\n mod = {\n default: pg,\n getServerSideProps: function () {\n return { props: {} };\n },\n };\n }\n\n return mod;\n },\n beforeInit: function (args) {\n if (!globalThis.usedChunks) globalThis.usedChunks = new Set();\n if (\n typeof __webpack_runtime_id__ === 'string' &&\n !__webpack_runtime_id__.startsWith('webpack')\n ) {\n return args;\n }\n\n const moduleCache = args.origin.moduleCache;\n const name = args.origin.name;\n let gs;\n try {\n gs = new Function('return globalThis')();\n } catch (e) {\n gs = globalThis; // fallback for browsers without 'unsafe-eval' CSP policy enabled\n }\n //@ts-ignore\n const attachedRemote = gs[name];\n if (attachedRemote) {\n moduleCache.set(name, attachedRemote);\n }\n\n return args;\n },\n init: function (args: any) {\n return args;\n },\n beforeRequest: function (args: any) {\n const options = args.options;\n const id = args.id;\n const match = matchRemoteWithNameAndExpose(options.remotes, id);\n if (!match) return args;\n const remote = match.remote;\n if (\n !('entry' in remote) ||\n !remote.entry ||\n /[?&]t=/.test(remote.entry)\n ) {\n return args;\n }\n remote.entry =\n remote.entry +\n (remote.entry.includes('?') ? '&' : '?') +\n 't=' +\n Date.now();\n return args;\n },\n afterResolve: function (args: any) {\n return args;\n },\n onLoad: function (args: any) {\n const exposeModuleFactory = args.exposeModuleFactory;\n const exposeModule = args.exposeModule;\n const id = args.id;\n const moduleOrFactory = exposeModuleFactory || exposeModule;\n if (!moduleOrFactory) return args;\n\n if (typeof window === 'undefined') {\n let exposedModuleExports: any;\n try {\n exposedModuleExports = moduleOrFactory();\n } catch (e) {\n exposedModuleExports = moduleOrFactory;\n }\n\n const handler: ProxyHandler<any> = {\n get: function (target, prop, receiver) {\n if (\n target === exposedModuleExports &&\n typeof exposedModuleExports[prop] === 'function'\n ) {\n return function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return exposedModuleExports[prop].apply(this, arguments);\n };\n }\n\n const originalMethod = target[prop];\n if (typeof originalMethod === 'function') {\n const proxiedFunction = function (this: unknown) {\n globalThis.usedChunks.add(id);\n //eslint-disable-next-line\n return originalMethod.apply(this, arguments);\n };\n\n Object.keys(originalMethod).forEach(function (prop) {\n Object.defineProperty(proxiedFunction, prop, {\n value: originalMethod[prop],\n writable: true,\n enumerable: true,\n configurable: true,\n });\n });\n\n return proxiedFunction;\n }\n\n return Reflect.get(target, prop, receiver);\n },\n };\n\n if (typeof exposedModuleExports === 'function') {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n\n const staticProps = Object.getOwnPropertyNames(exposedModuleExports);\n staticProps.forEach(function (prop) {\n if (typeof exposedModuleExports[prop] === 'function') {\n exposedModuleExports[prop] = new Proxy(\n exposedModuleExports[prop],\n handler,\n );\n }\n });\n return function () {\n return exposedModuleExports;\n };\n } else {\n exposedModuleExports = new Proxy(exposedModuleExports, handler);\n }\n\n return exposedModuleExports;\n }\n\n return args;\n },\n loadRemoteSnapshot(args) {\n const { from, remoteSnapshot, manifestUrl, manifestJson, options } = args;\n\n // ensure snapshot is loaded from manifest\n if (\n from !== 'manifest' ||\n !manifestUrl ||\n !manifestJson ||\n !('publicPath' in remoteSnapshot)\n ) {\n return args;\n }\n\n // re-assign publicPath based on remoteEntry location if in browser nextjs remote\n const { publicPath } = remoteSnapshot;\n if (options.inBrowser && publicPath.includes('/_next/')) {\n remoteSnapshot.publicPath = publicPath.substring(\n 0,\n publicPath.lastIndexOf('/_next/') + 7,\n );\n } else {\n const serverPublicPath = manifestUrl.substring(\n 0,\n manifestUrl.indexOf('mf-manifest.json'),\n );\n remoteSnapshot.publicPath = serverPublicPath;\n }\n\n if ('publicPath' in manifestJson.metaData) {\n manifestJson.metaData.publicPath = remoteSnapshot.publicPath;\n }\n\n return args;\n },\n resolveShare: function (args: any) {\n if (\n args.pkgName !== 'react' &&\n args.pkgName !== 'react-dom' &&\n !args.pkgName.startsWith('next/')\n ) {\n return args;\n }\n const shareScopeMap = args.shareScopeMap;\n const scope = args.scope;\n const pkgName = args.pkgName;\n const version = args.version;\n const GlobalFederation = args.GlobalFederation;\n const host = GlobalFederation['__INSTANCES__'][0];\n if (!host) {\n return args;\n }\n\n if (!host.options.shared[pkgName]) {\n return args;\n }\n args.resolver = function () {\n shareScopeMap[scope][pkgName][version] =\n host.options.shared[pkgName][0];\n return {\n shared: shareScopeMap[scope][pkgName][version],\n useTreesShaking: false,\n };\n };\n return args;\n },\n beforeLoadShare: async function (args: any) {\n return args;\n },\n };\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/nextjs-mf",
|
|
3
|
-
"version": "8.8.
|
|
3
|
+
"version": "8.8.69",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"module": "dist/src/index.mjs",
|
|
@@ -58,11 +58,12 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"fast-glob": "^3.2.11",
|
|
61
|
-
"@module-federation/runtime": "2.
|
|
62
|
-
"@module-federation/sdk": "2.
|
|
63
|
-
"@module-federation/
|
|
64
|
-
"@module-federation/node": "2.7.
|
|
65
|
-
"@module-federation/
|
|
61
|
+
"@module-federation/runtime": "2.6.0",
|
|
62
|
+
"@module-federation/sdk": "2.6.0",
|
|
63
|
+
"@module-federation/runtime-core": "2.6.0",
|
|
64
|
+
"@module-federation/node": "2.7.45",
|
|
65
|
+
"@module-federation/enhanced": "2.6.0",
|
|
66
|
+
"@module-federation/webpack-bundler-runtime": "2.6.0"
|
|
66
67
|
},
|
|
67
68
|
"devDependencies": {
|
|
68
69
|
"@types/btoa": "^1.2.5",
|