@module-federation/nextjs-mf 5.11.5 → 5.12.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [5.12.0](https://github.com/module-federation/nextjs-mf/compare/nextjs-mf-5.11.2...nextjs-mf-5.12.0) (2022-11-20)
6
+
7
+ ### Dependency Updates
8
+
9
+ * `node` updated to version `0.9.0`
10
+ * `utils` updated to version `1.0.0`
11
+
12
+ ### Bug Fixes
13
+
14
+ * Better page regex ([#346](https://github.com/module-federation/nextjs-mf/issues/346)) ([b525d3b](https://github.com/module-federation/nextjs-mf/commit/b525d3b579af2ac3a8b502f3c996de8726dbcadd))
15
+ * better page regex for adding loaders ([72fef27](https://github.com/module-federation/nextjs-mf/commit/72fef2792dc39c7605f8b9f8136f5d18a46a3fe5))
16
+ * Fix peer deps ([#343](https://github.com/module-federation/nextjs-mf/issues/343)) ([8e7b087](https://github.com/module-federation/nextjs-mf/commit/8e7b0871507911bb81161b9786901877259edaed))
17
+ * include styled-jsx/style in defaults share ([#347](https://github.com/module-federation/nextjs-mf/issues/347)) ([cb0675b](https://github.com/module-federation/nextjs-mf/commit/cb0675be8e3a4fe0ec89ef7f190610392bb16b6d))
18
+ * update version ([70bda37](https://github.com/module-federation/nextjs-mf/commit/70bda37744f55af849bd5c28684f42851bbf7d1f))
19
+
20
+
21
+ ### Features
22
+
23
+ * support ssr remote entry images ([9ab2afa](https://github.com/module-federation/nextjs-mf/commit/9ab2afaef5115ae6677641cb9d021273dafebf86))
24
+
25
+
26
+
5
27
  ## [5.11.3](https://github.com/module-federation/nextjs-mf/compare/nextjs-mf-5.11.2...nextjs-mf-5.11.3) (2022-10-26)
6
28
 
7
29
 
package/README.md CHANGED
@@ -112,7 +112,7 @@ new NextFederationPlugin({
112
112
  exposePages: true, // `false` by default
113
113
  enableImageLoaderFix: true, // `false` by default
114
114
  enableUrlLoaderFix: true, // `false` by default
115
- automaticAsyncBoundary: true // `false` by default
115
+ automaticAsyncBoundary: true, // `false` by default
116
116
  skipSharingNextInternals: false // `false` by default
117
117
  },
118
118
  });
@@ -134,29 +134,30 @@ You can see it in action here: https://github.com/module-federation/module-feder
134
134
 
135
135
  ```js
136
136
  // next.config.js
137
- const NextFederationPlugin = require('@module-federation/nextjs-mf/NextFederationPlugin');
137
+ // either from default
138
+ const NextFederationPlugin = require('@module-federation/nextjs-mf').default;
139
+ // or named export
140
+ const { NextFederationPlugin } = require('@module-federation/nextjs-mf');
138
141
 
139
142
  module.exports = {
140
143
  webpack(config, options) {
141
- if (!options.isServer) {
142
- config.plugins.push(
143
- new NextFederationPlugin({
144
- name: 'next2',
145
- remotes: {
146
- next1: `next1@http://localhost:3001/_next/static/chunks/remoteEntry.js`,
147
- },
148
- filename: 'static/chunks/remoteEntry.js',
149
- exposes: {
150
- './title': './components/exposedTitle.js',
151
- './checkout': './pages/checkout',
152
- './pages-map': './pages-map.js',
153
- },
154
- shared: {
155
- // whatever else
156
- },
157
- })
158
- );
159
- }
144
+ const { isServer } = options;
145
+ config.plugins.push(
146
+ new NextFederationPlugin({
147
+ name: 'next2',
148
+ remotes: {
149
+ next1: `next1@http://localhost:3001/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
150
+ },
151
+ filename: 'static/chunks/remoteEntry.js',
152
+ exposes: {
153
+ './title': './components/exposedTitle.js',
154
+ './checkout': './pages/checkout',
155
+ },
156
+ shared: {
157
+ // whatever else
158
+ },
159
+ })
160
+ );
160
161
 
161
162
  return config;
162
163
  },
@@ -173,20 +174,19 @@ import '@module-federation/nextjs-mf/lib/include-defaults';
173
174
  ```js
174
175
  // next.config.js
175
176
 
176
- const NextFederationPlugin = require('@module-federation/nextjs-mf/NextFederationPlugin');
177
+ const { NextFederationPlugin } = require('@module-federation/nextjs-mf');
177
178
 
178
179
  module.exports = {
179
180
  webpack(config, options) {
180
- if (!options.isServer) {
181
- config.plugins.push(
182
- new NextFederationPlugin({
183
- name: 'next1',
184
- remotes: {
185
- next2: `next2@http://localhost:3000/_next/static/chunks/remoteEntry.js`,
186
- },
187
- })
188
- );
189
- }
181
+ const { isServer } = options;
182
+ config.plugins.push(
183
+ new NextFederationPlugin({
184
+ name: 'next1',
185
+ remotes: {
186
+ next2: `next2@http://localhost:3000/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
187
+ },
188
+ })
189
+ );
190
190
 
191
191
  return config;
192
192
  },
@@ -223,7 +223,7 @@ Ive added a util for dynamic chunk loading, in the event you need to load remote
223
223
  **InjectScript**
224
224
 
225
225
  ```js
226
- import { injectScript } from '@module-federation/nextjs-mf/lib/utils';
226
+ import { injectScript } from '@module-federation/nextjs-mf/utils';
227
227
  // if i have remotes in my federation plugin, i can pass the name of the remote
228
228
  injectScript('home').then((remoteContainer) => {
229
229
  remoteContainer.get('./exposedModule');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/nextjs-mf",
3
- "version": "5.11.5",
3
+ "version": "5.12.0",
4
4
  "license": "MIT",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -19,8 +19,8 @@
19
19
  "fast-glob": "^3.2.11",
20
20
  "webpack-sources": "^3.2.3",
21
21
  "eventemitter3": "^4.0.7",
22
- "@module-federation/node": "0.8.2",
23
- "@module-federation/utilities": "0.4.1",
22
+ "@module-federation/node": "0.9.0",
23
+ "@module-federation/utilities": "1.0.0",
24
24
  "@swc/core": "^1.3.3",
25
25
  "tslib": "^2.3.0"
26
26
  },
@@ -24,7 +24,7 @@ async function fixImageLoader(remaining) {
24
24
  const result = await this.importModule(`${this.resourcePath}.webpack[javascript/auto]` + `!=!${remaining}`);
25
25
  const content = (result.default || result);
26
26
  const computedAssetPrefix = isServer
27
- ? `''`
27
+ ? `new URL(global.__remote_scope__._config[global.remoteEntryName]).origin`
28
28
  : `(${publicPath} && ${publicPath}.indexOf('://') > 0 ? new URL(${publicPath}).origin : '')`;
29
29
  const constructedObject = Object.entries(content).reduce((acc, [key, value]) => {
30
30
  if (key === 'src') {
@@ -1 +1 @@
1
- {"version":3,"file":"fixImageLoader.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/loaders/fixImageLoader.ts"],"names":[],"mappings":";;;;AAEA,qCAAmC;AACnC,wDAAwB;AAExB;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,cAAc,CAElC,SAAiB;IAEjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,GAAG,IAAI,CAAC,YAAY,2BAA2B,GAAG,MAAM,SAAS,EAAE,CACpE,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAA2B,CAAC;IAErE,MAAM,mBAAmB,GAAG,QAAQ;QAClC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,UAAU,OAAO,UAAU,iCAAiC,UAAU,gBAAgB,CAAC;IAE/F,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACrC,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,GAAG,CAAC,IAAI,CACN,GAAG,GAAG,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACnE,CAAC;YACF,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAc,CACf,CAAC;IAEF,MAAM,OAAO,GAAG,kBAAQ,CAAC,QAAQ,CAAC;QAChC,yCAAyC;QACzC,OAAO;QACP,kBAAQ,CAAC,MAAM,CAAC,mCAAmC,mBAAmB,GAAG,CAAC;QAC1E,gBAAgB;QAChB,kBAAkB;QAClB,kBAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,GAAG;KACJ,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AA/CD,wCA+CC;AAEY,QAAA,KAAK,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"fixImageLoader.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/loaders/fixImageLoader.ts"],"names":[],"mappings":";;;;AAEA,qCAAmC;AACnC,wDAAwB;AAExB;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,cAAc,CAElC,SAAiB;IAEjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,GAAG,IAAI,CAAC,YAAY,2BAA2B,GAAG,MAAM,SAAS,EAAE,CACpE,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAA2B,CAAC;IAErE,MAAM,mBAAmB,GAAG,QAAQ;QAClC,CAAC,CAAC,yEAAyE;QAC3E,CAAC,CAAC,IAAI,UAAU,OAAO,UAAU,iCAAiC,UAAU,gBAAgB,CAAC;IAE/F,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACrC,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,GAAG,CAAC,IAAI,CACN,GAAG,GAAG,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACnE,CAAC;YACF,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAc,CACf,CAAC;IAEF,MAAM,OAAO,GAAG,kBAAQ,CAAC,QAAQ,CAAC;QAChC,yCAAyC;QACzC,OAAO;QACP,kBAAQ,CAAC,MAAM,CAAC,mCAAmC,mBAAmB,GAAG,CAAC;QAC1E,gBAAgB;QAChB,kBAAkB;QAClB,kBAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,GAAG;KACJ,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AA/CD,wCA+CC;AAEY,QAAA,KAAK,GAAG,cAAc,CAAC"}