@module-federation/nextjs-mf 5.7.5 → 5.7.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/nextjs-mf",
3
- "version": "5.7.5",
3
+ "version": "5.7.6",
4
4
  "license": "MIT",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -0,0 +1,7 @@
1
+ import type { LoaderContext } from 'webpack';
2
+ /**
3
+ *
4
+ * Requires `include-defaults.js` with required shared libs
5
+ *
6
+ */
7
+ export default function patchDefaultSharedLoader(this: LoaderContext<Record<string, unknown>>, content: string): string;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const path_1 = tslib_1.__importDefault(require("path"));
5
+ /**
6
+ *
7
+ * Requires `include-defaults.js` with required shared libs
8
+ *
9
+ */
10
+ function patchDefaultSharedLoader(content) {
11
+ if (content.includes('include-defaults')) {
12
+ // If MFClient already applied then skip patch
13
+ return content;
14
+ }
15
+ // avoid absolute paths as they break hashing when the root for the project is moved
16
+ // @see https://webpack.js.org/contribute/writing-a-loader/#absolute-paths
17
+ const pathIncludeDefaults = path_1.default.relative(this.context, path_1.default.resolve(__dirname, '../include-defaults.js'));
18
+ return [
19
+ `require(${JSON.stringify(pathIncludeDefaults)});`,
20
+ content
21
+ ].join("\n");
22
+ }
23
+ exports.default = patchDefaultSharedLoader;
24
+ //# sourceMappingURL=patchDefaultSharedLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchDefaultSharedLoader.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/loaders/patchDefaultSharedLoader.ts"],"names":[],"mappings":";;;AAEA,wDAAwB;AAExB;;;;GAIG;AACH,SAAwB,wBAAwB,CAE9C,OAAe;IAEf,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACxC,8CAA8C;QAC9C,OAAO,OAAO,CAAC;KAChB;IAED,oFAAoF;IACpF,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,cAAI,CAAC,QAAQ,CACvC,IAAI,CAAC,OAAO,EACZ,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAClD,CAAC;IAEF,OAAO;QACL,WAAW,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI;QAClD,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AApBD,2CAoBC"}
@@ -8,23 +8,12 @@ const path_1 = tslib_1.__importDefault(require("path"));
8
8
  *
9
9
  */
10
10
  function patchNextClientPageLoader(content) {
11
- const { automaticPageStitching, } = this.getOptions();
12
- if (content.includes('include-defaults')) {
11
+ if (content.includes('MFClient')) {
13
12
  // If MFClient already applied then skip patch
14
13
  return content;
15
14
  }
16
- // avoid absolute paths as they break hashing when the root for the project is moved
17
- // @see https://webpack.js.org/contribute/writing-a-loader/#absolute-paths
18
- const pathIncludeDefaults = path_1.default.relative(this.context, path_1.default.resolve(__dirname, '../include-defaults.js'));
19
- if (!automaticPageStitching) {
20
- return [
21
- `require(${JSON.stringify(pathIncludeDefaults)});`,
22
- content
23
- ].join("\n");
24
- }
25
15
  const pathMFClient = path_1.default.relative(this.context, path_1.default.resolve(__dirname, '../../client/MFClient.js'));
26
16
  const patchedContent = content.replace('exports.default = PageLoader;', `
27
- require(${JSON.stringify(pathIncludeDefaults)});
28
17
  const MFClient = require(${JSON.stringify(pathMFClient)}).MFClient;
29
18
 
30
19
  class PageLoaderExtended extends PageLoader {
@@ -1 +1 @@
1
- {"version":3,"file":"patchNextClientPageLoader.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/loaders/patchNextClientPageLoader.ts"],"names":[],"mappings":";;;AAEA,wDAAwB;AAExB;;;;GAIG;AACH,SAAwB,yBAAyB,CAE/C,OAAe;IAEf,MAAM,EACJ,sBAAsB,GACvB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACxC,8CAA8C;QAC9C,OAAO,OAAO,CAAC;KAChB;IAED,oFAAoF;IACpF,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,cAAI,CAAC,QAAQ,CACvC,IAAI,CAAC,OAAO,EACZ,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAClD,CAAC;IAEF,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO;YACL,WAAW,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI;YAClD,OAAO;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACb;IAED,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAChC,IAAI,CAAC,OAAO,EACZ,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC,CACpD,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CACpC,+BAA+B,EAC/B;gBACY,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;iCAClB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;KAiBxD,CACF,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAxDD,4CAwDC;AAED,8CAA8C"}
1
+ {"version":3,"file":"patchNextClientPageLoader.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/loaders/patchNextClientPageLoader.ts"],"names":[],"mappings":";;;AAEA,wDAAwB;AAExB;;;;GAIG;AACH,SAAwB,yBAAyB,CAE/C,OAAe;IAEf,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAChC,8CAA8C;QAC9C,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAChC,IAAI,CAAC,OAAO,EACZ,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC,CACpD,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CACpC,+BAA+B,EAC/B;iCAC6B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;KAiBxD,CACF,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAtCD,4CAsCC;AAED,8CAA8C"}
@@ -52,15 +52,24 @@ class NextFederationPlugin {
52
52
  this._options.filename = this._options.filename.replace('/chunks', '/ssr');
53
53
  // should this be a plugin that we apply to the compiler?
54
54
  (0, internal_1.internalizeSharedPackages)(this._options, compiler);
55
+ //patch next
56
+ compiler.options.module.rules.push({
57
+ test: /next[\\/]dist[\\/]server/,
58
+ loader: path_1.default.resolve(__dirname, '../loaders/patchDefaultSharedLoader'),
59
+ });
55
60
  }
56
61
  else {
62
+ //patch next
57
63
  compiler.options.module.rules.push({
58
- test: /next[\\/]dist[\\/]client[\\/]page-loader\.js$/,
59
- loader: path_1.default.resolve(__dirname, '../loaders/patchNextClientPageLoader'),
60
- options: {
61
- automaticPageStitching: this._extraOptions.automaticPageStitching,
62
- }
64
+ test: /next[\\/]dist[\\/]client/,
65
+ loader: path_1.default.resolve(__dirname, '../loaders/patchDefaultSharedLoader'),
63
66
  });
67
+ if (this._extraOptions.automaticPageStitching) {
68
+ compiler.options.module.rules.push({
69
+ test: /next[\\/]dist[\\/]client[\\/]page-loader\.js$/,
70
+ loader: path_1.default.resolve(__dirname, '../loaders/patchNextClientPageLoader'),
71
+ });
72
+ }
64
73
  if (this._options.remotes) {
65
74
  this._options.remotes = (0, internal_1.parseRemotes)(this._options.remotes);
66
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NextFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/plugins/NextFederationPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NextFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/plugins/NextFederationPlugin.ts"],"names":[],"mappings":"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"}