@module-federation/nextjs-mf 5.6.3 → 5.7.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 +30 -0
- package/package.json +8 -8
- package/src/internal.js +3 -1
- package/src/internal.js.map +1 -1
- package/src/plugins/ChildFederationPlugin.d.ts +1 -0
- package/src/plugins/ChildFederationPlugin.js +15 -66
- package/src/plugins/ChildFederationPlugin.js.map +1 -1
- package/utils/index.d.ts +6 -0
- package/utils/index.js +27 -25
- package/utils/index.js.map +1 -1
- package/jest.config.d.ts +0 -13
- package/jest.config.js +0 -18
- package/jest.config.js.map +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
|
+
|
|
5
|
+
## [5.6.4](https://github.com/module-federation/nextjs-mf/compare/nextjs-mf-0.1.0...nextjs-mf-5.6.4) (2022-10-04)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
* `node` updated to version `0.1.0`
|
|
10
|
+
* `utils` updated to version `0.0.1`
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# 0.1.0 (2022-10-04)
|
|
14
|
+
|
|
15
|
+
### Dependency Updates
|
|
16
|
+
|
|
17
|
+
* `node` updated to version `0.1.0`
|
|
18
|
+
* `utils` updated to version `0.0.1`
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **fixing chunk naming prefixes on server builds:** fix server name prefix on chunks ([7839713](https://github.com/module-federation/nextjs-mf/commit/78397136d3bf6677c1eae895853cbe36202125c3))
|
|
23
|
+
* SSR files not getting generated when enabled ([#227](https://github.com/module-federation/nextjs-mf/issues/227)) ([a5f476a](https://github.com/module-federation/nextjs-mf/commit/a5f476aeee2dd42e75ef5f3217791308f1515634)), closes [#226](https://github.com/module-federation/nextjs-mf/issues/226)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
* **chunk flushing:** enable Chunk Flushing for SSR, includes both plugin utils and React utils ([4e99290](https://github.com/module-federation/nextjs-mf/commit/4e99290d365cb46873eda052fb006172e99e4b24)), closes [#133](https://github.com/module-federation/nextjs-mf/issues/133)
|
|
29
|
+
* Move Repo to NX ([#154](https://github.com/module-federation/nextjs-mf/issues/154)) ([d2a4dfa](https://github.com/module-federation/nextjs-mf/commit/d2a4dfac7fcdaa2b6a21e3d2973808d01649da61)), closes [#199](https://github.com/module-federation/nextjs-mf/issues/199) [#205](https://github.com/module-federation/nextjs-mf/issues/205) [#144](https://github.com/module-federation/nextjs-mf/issues/144) [#212](https://github.com/module-federation/nextjs-mf/issues/212)
|
|
30
|
+
* update the `next` peer dep in nextjs-mf ([#221](https://github.com/module-federation/nextjs-mf/issues/221)) ([d9b1677](https://github.com/module-federation/nextjs-mf/commit/d9b16776b1c4ed61e6c0e0414ed452d7312c1806))
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"name": "@module-federation/nextjs-mf",
|
|
3
|
+
"version": "5.7.0",
|
|
4
|
+
"license": "MIT",
|
|
3
5
|
"main": "src/index.js",
|
|
4
6
|
"types": "src/index.d.ts",
|
|
5
|
-
"contributors": [
|
|
6
|
-
"Pavel Chertorogov, nodkz <pavel.chertorogov@gmail.com> (www.ps.kz)"
|
|
7
|
-
],
|
|
8
7
|
"public": true,
|
|
9
|
-
"name": "@module-federation/nextjs-mf",
|
|
10
8
|
"type": "commonjs",
|
|
11
9
|
"description": "Module Federation helper for NextJS",
|
|
12
10
|
"repository": "https://github.com/module-federation/nextjs-mf/tree/main/packages/nextjs-mf",
|
|
13
11
|
"author": "Zack Jackson <zackary.l.jackson@gmail.com>",
|
|
14
|
-
"
|
|
12
|
+
"contributors": [
|
|
13
|
+
"Pavel Chertorogov, nodkz <pavel.chertorogov@gmail.com> (www.ps.kz)"
|
|
14
|
+
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@module-federation/node": "0.
|
|
17
|
-
"@module-federation/utilities": "0.0.
|
|
16
|
+
"@module-federation/node": "0.4.0",
|
|
17
|
+
"@module-federation/utilities": "0.0.3",
|
|
18
18
|
"@swc/core": "^1.3.3",
|
|
19
19
|
"eventemitter3": "^4.0.7",
|
|
20
20
|
"fast-glob": "^3.2.11",
|
package/src/internal.js
CHANGED
|
@@ -73,10 +73,12 @@ exports.reKeyHostShared = reKeyHostShared;
|
|
|
73
73
|
// browser template to convert remote into promise new promise and use require.loadChunk to load the chunk
|
|
74
74
|
const generateRemoteTemplate = (url, global) => {
|
|
75
75
|
return `new Promise(function (resolve, reject) {
|
|
76
|
+
var url = new URL(${JSON.stringify(url)});
|
|
77
|
+
url.searchParams.set('t', Date.now());
|
|
76
78
|
var __webpack_error__ = new Error();
|
|
77
79
|
if (typeof ${global} !== 'undefined') return resolve();
|
|
78
80
|
__webpack_require__.l(
|
|
79
|
-
|
|
81
|
+
url.href,
|
|
80
82
|
function (event) {
|
|
81
83
|
if (typeof ${global} !== 'undefined') return resolve();
|
|
82
84
|
var errorType = event && (event.type === 'load' ? 'missing' : event.type);
|
package/src/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../packages/nextjs-mf/src/internal.ts"],"names":[],"mappings":";;;;AAQA,wDAAwB;AACxB,2DAA6D;AAC7D,qDAA8D;AAE9D,4DAAmE;AAEnE,uCAAuC;AACvC,0GAA0G;AAC1G,wFAAwF;AAC3E,QAAA,mBAAmB,GAAiB;IAC/C,KAAK,EAAE;QACL,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,KAAK;KACvB;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,KAAK;KACvB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,KAAK;KACvB;IACD,cAAc,EAAE;QACd,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,IAAI;KAChB;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QACX,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,IAAI;KAChB;IACD,aAAa,EAAE;QACb,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,IAAI;KAChB;IACD,aAAa,EAAE;QACb,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QACX,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,IAAI;KAChB;CACF,CAAC;AAEF,6DAA6D;AACtD,MAAM,eAAe,GAAG,CAC7B,UAAkB,EAAE,EACU,EAAE;IAChC,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,GAAG,2BAAmB;KACS,CAAC;IAElC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAE,IAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QAC9D,GAAG,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QAE7B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;SAChC;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC;SAClC;QAED,IAAI,2BAAmB,CAAC,OAAO,CAAC,EAAE;YAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC;SACrC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAkC,CAAC,CAAC;AACzC,CAAC,CAAC;AA5BW,QAAA,eAAe,mBA4B1B;AAEF,0GAA0G;AACnG,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAE,MAAW,EAAE,EAAE;IACjE,OAAO
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../packages/nextjs-mf/src/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare class ChildFederationPlugin {
|
|
|
4
4
|
private _options;
|
|
5
5
|
private _extraOptions;
|
|
6
6
|
private watching?;
|
|
7
|
+
private initalRun;
|
|
7
8
|
constructor(options: ModuleFederationPluginOptions, extraOptions: NextFederationPluginExtraOptions);
|
|
8
9
|
apply(compiler: Compiler): void;
|
|
9
10
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ChildFederationPlugin = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const webpack_1 = require("webpack");
|
|
6
|
+
const node_1 = require("@module-federation/node");
|
|
5
7
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
8
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
7
9
|
const nextPageMapLoader_1 = require("../loaders/nextPageMapLoader");
|
|
@@ -18,6 +20,7 @@ class ChildFederationPlugin {
|
|
|
18
20
|
constructor(options, extraOptions) {
|
|
19
21
|
this._options = options;
|
|
20
22
|
this._extraOptions = extraOptions;
|
|
23
|
+
this.initalRun = false;
|
|
21
24
|
}
|
|
22
25
|
apply(compiler) {
|
|
23
26
|
const webpack = compiler.webpack;
|
|
@@ -62,8 +65,8 @@ class ChildFederationPlugin {
|
|
|
62
65
|
// isDev ? '-fed.js' : '[contenthash]-fed.js'
|
|
63
66
|
// ),
|
|
64
67
|
//TODO: find a better solution for dev mode thats not as slow as hashing the chunks.
|
|
65
|
-
chunkFilename: compiler.options.output.chunkFilename?.replace('.js', '[contenthash]-fed.js'),
|
|
66
|
-
filename: compiler.options.output.filename?.replace('.js', '[contenthash]-fed.js'),
|
|
68
|
+
chunkFilename: compiler.options.output.chunkFilename?.replace('.js', '-[contenthash]-fed.js'),
|
|
69
|
+
filename: compiler.options.output.filename?.replace('.js', '-[contenthash]-fed.js'),
|
|
67
70
|
};
|
|
68
71
|
const federationPluginOptions = {
|
|
69
72
|
// library: {type: 'var', name: buildName},
|
|
@@ -73,7 +76,6 @@ class ChildFederationPlugin {
|
|
|
73
76
|
// in development we do not hash chunks, so we need some way to cache bust the server container when remote changes
|
|
74
77
|
// in prod we hash the chunk so we can use [contenthash] which changes the overall hash of the remote container
|
|
75
78
|
// doesnt work as intended for dev mode
|
|
76
|
-
// ...(isServer && isDev ? {'./buildHash': `data:text/javascript,export default ${JSON.stringify(Date.now())}`} : {}),
|
|
77
79
|
...this._options.exposes,
|
|
78
80
|
...(this._extraOptions.exposePages
|
|
79
81
|
? (0, nextPageMapLoader_1.exposeNextjsPages)(compiler.options.context)
|
|
@@ -127,6 +129,9 @@ class ChildFederationPlugin {
|
|
|
127
129
|
];
|
|
128
130
|
}
|
|
129
131
|
const childCompiler = compilation.createChildCompiler(CHILD_PLUGIN_NAME, childOutput, plugins);
|
|
132
|
+
if (!isServer) {
|
|
133
|
+
new node_1.ChunkCorrelationPlugin({ filename: 'static/ssr/federated-stats.json' }).apply(childCompiler);
|
|
134
|
+
}
|
|
130
135
|
childCompiler.outputPath = outputPath;
|
|
131
136
|
childCompiler.options.module.rules.forEach((rule) => {
|
|
132
137
|
// next-image-loader fix which adds remote's hostname to the assets url
|
|
@@ -174,66 +179,6 @@ class ChildFederationPlugin {
|
|
|
174
179
|
chunkFilename: MiniCss.options.chunkFilename.replace('.css', '-fed.css'),
|
|
175
180
|
}).apply(childCompiler);
|
|
176
181
|
}
|
|
177
|
-
// TODO: this can likely be deleted now, if running server child compiler under client is the best way to go
|
|
178
|
-
// help wanted for all asset pipeline stuff below
|
|
179
|
-
// let childAssets
|
|
180
|
-
// if (isServer) {
|
|
181
|
-
// childAssets = new Promise((resolve) => {
|
|
182
|
-
// childCompiler.hooks.afterEmit.tap(
|
|
183
|
-
// CHILD_PLUGIN_NAME,
|
|
184
|
-
// (childCompilation) => {
|
|
185
|
-
// console.log('after emit assets server');
|
|
186
|
-
// resolve(childCompilation.assets);
|
|
187
|
-
// }
|
|
188
|
-
// );
|
|
189
|
-
// });
|
|
190
|
-
// } else {
|
|
191
|
-
// if(isDev) {
|
|
192
|
-
// childAssets = new Promise((resolve) => {
|
|
193
|
-
// childCompiler.hooks.afterEmit.tap(
|
|
194
|
-
// CHILD_PLUGIN_NAME,
|
|
195
|
-
// (childCompilation) => {
|
|
196
|
-
// resolve(childCompilation.assets);
|
|
197
|
-
// }
|
|
198
|
-
// );
|
|
199
|
-
// });
|
|
200
|
-
//
|
|
201
|
-
// } else {
|
|
202
|
-
//
|
|
203
|
-
// TODO: improve this
|
|
204
|
-
// childAssets = new Promise((resolve, reject) => {
|
|
205
|
-
// fs.readdir(
|
|
206
|
-
// path.join(childCompiler.context, '.next/ssr'),
|
|
207
|
-
// function (err, files) {
|
|
208
|
-
// if (err) {
|
|
209
|
-
// reject('Unable to scan directory: ' + err);
|
|
210
|
-
// return;
|
|
211
|
-
// }
|
|
212
|
-
//
|
|
213
|
-
// const allFiles = files.map(function (file) {
|
|
214
|
-
// return new Promise((res, rej) => {
|
|
215
|
-
// fs.readFile(
|
|
216
|
-
// path.join(childCompiler.context, '.next/ssr', file),
|
|
217
|
-
// (err, data) => {
|
|
218
|
-
// if (err) rej(err);
|
|
219
|
-
// compilation.assets[path.join('static/ssr', file)] = new compiler.webpack.sources.RawSource(data)
|
|
220
|
-
// res();
|
|
221
|
-
// }
|
|
222
|
-
// );
|
|
223
|
-
// });
|
|
224
|
-
// });
|
|
225
|
-
// Promise.all(allFiles).then(resolve).catch(reject)
|
|
226
|
-
// }
|
|
227
|
-
// );
|
|
228
|
-
// });
|
|
229
|
-
// }
|
|
230
|
-
// }
|
|
231
|
-
// on main compiler add extra assets from server output to browser build
|
|
232
|
-
// compilation.hooks.additionalAssets.tapPromise(CHILD_PLUGIN_NAME, () => {
|
|
233
|
-
// console.log('additional hooks', compiler.options.name);
|
|
234
|
-
// console.log('in additional assets hook for main build');
|
|
235
|
-
// return childAssets
|
|
236
|
-
// });
|
|
237
182
|
// cache the serer compiler instance, we will run the server child compiler during the client main compilation
|
|
238
183
|
// we need to do this because i need access to data from the client build to inject into the server build
|
|
239
184
|
// in prod builds, server build runs first, followed by client build
|
|
@@ -244,7 +189,8 @@ class ChildFederationPlugin {
|
|
|
244
189
|
if (isDev) {
|
|
245
190
|
const compilerWithCallback = (watchOptions, callback) => {
|
|
246
191
|
if (childCompiler.watch) {
|
|
247
|
-
if (isServer) {
|
|
192
|
+
if (isServer && !this.watching) {
|
|
193
|
+
this.watching = true;
|
|
248
194
|
childCompiler.watch(watchOptions, callback);
|
|
249
195
|
}
|
|
250
196
|
}
|
|
@@ -271,7 +217,6 @@ class ChildFederationPlugin {
|
|
|
271
217
|
compilation.errors.push(new Error((0, internal_1.toDisplayErrors)(stats.compilation.errors)));
|
|
272
218
|
}
|
|
273
219
|
};
|
|
274
|
-
// in dev, run the compilers in the order they are created (client, server)
|
|
275
220
|
compilerWithCallback(compiler.options.watchOptions, compilerCallback);
|
|
276
221
|
// in prod, if client
|
|
277
222
|
}
|
|
@@ -280,7 +225,11 @@ class ChildFederationPlugin {
|
|
|
280
225
|
if (childCompilers['server']) {
|
|
281
226
|
//wrong hook for this
|
|
282
227
|
// add hook for additional assets to prevent compile from sealing.
|
|
283
|
-
compilation.hooks.
|
|
228
|
+
compilation.hooks.processAssets.tapPromise({
|
|
229
|
+
name: CHILD_PLUGIN_NAME,
|
|
230
|
+
stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_REPORT,
|
|
231
|
+
}, () => {
|
|
232
|
+
console.log('additional assets');
|
|
284
233
|
return new Promise((res, rej) => {
|
|
285
234
|
// run server child compilation during client main compilation
|
|
286
235
|
childCompilers['server'].run((err, stats) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/plugins/ChildFederationPlugin.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"ChildFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/plugins/ChildFederationPlugin.ts"],"names":[],"mappings":"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"}
|
package/utils/index.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
export { extractUrlAndGlobal, injectScript } from '@module-federation/utilities';
|
|
2
|
+
export { flushChunks } from '@module-federation/node/utils';
|
|
2
3
|
export declare const revalidate: () => Promise<any>;
|
|
4
|
+
export declare const FlushedChunksHead: (props: {
|
|
5
|
+
chunks: string[];
|
|
6
|
+
}) => import("react").FunctionComponentElement<{
|
|
7
|
+
children: import("react").ReactNode;
|
|
8
|
+
}>;
|
package/utils/index.js
CHANGED
|
@@ -1,41 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.revalidate = exports.injectScript = exports.extractUrlAndGlobal = void 0;
|
|
3
|
+
exports.FlushedChunksHead = exports.revalidate = exports.flushChunks = exports.injectScript = exports.extractUrlAndGlobal = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const head_1 = tslib_1.__importDefault(require("next/head"));
|
|
27
7
|
var utilities_1 = require("@module-federation/utilities");
|
|
28
8
|
Object.defineProperty(exports, "extractUrlAndGlobal", { enumerable: true, get: function () { return utilities_1.extractUrlAndGlobal; } });
|
|
29
9
|
Object.defineProperty(exports, "injectScript", { enumerable: true, get: function () { return utilities_1.injectScript; } });
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
var utils_1 = require("@module-federation/node/utils");
|
|
12
|
+
Object.defineProperty(exports, "flushChunks", { enumerable: true, get: function () { return utils_1.flushChunks; } });
|
|
30
13
|
const revalidate = () => {
|
|
31
14
|
if (typeof window !== 'undefined') {
|
|
32
15
|
console.error('revalidate should only be called server-side');
|
|
33
16
|
return Promise.resolve(false);
|
|
34
17
|
}
|
|
35
18
|
// @ts-ignore
|
|
36
|
-
return Promise.resolve().then(() => __importStar(require('@module-federation/node/utils'))).then((utils) => {
|
|
19
|
+
return Promise.resolve().then(() => tslib_1.__importStar(require('@module-federation/node/utils'))).then((utils) => {
|
|
37
20
|
return utils.revalidate();
|
|
38
21
|
});
|
|
39
22
|
};
|
|
40
23
|
exports.revalidate = revalidate;
|
|
24
|
+
const FlushedChunksHead = (props) => {
|
|
25
|
+
const chunks = props.chunks || [];
|
|
26
|
+
const scripts = chunks.filter((c) => c.endsWith('.js')).map((chunk) => {
|
|
27
|
+
return /*#__PURE__*/ (0, react_1.createElement)("script", {
|
|
28
|
+
key: chunk,
|
|
29
|
+
src: chunk,
|
|
30
|
+
async: true
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
const css = chunks.filter((c) => c.endsWith('.css')).map((chunk) => {
|
|
34
|
+
return /*#__PURE__*/ (0, react_1.createElement)("link", {
|
|
35
|
+
key: chunk,
|
|
36
|
+
href: chunk,
|
|
37
|
+
rel: "stylesheet"
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
return /*#__PURE__*/ (0, react_1.createElement)(head_1.default, null, scripts, css);
|
|
41
|
+
};
|
|
42
|
+
exports.FlushedChunksHead = FlushedChunksHead;
|
|
41
43
|
//# sourceMappingURL=index.js.map
|
package/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nextjs-mf/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nextjs-mf/utils/index.ts"],"names":[],"mappings":";;;;AAAA,iCAAoC;AACpC,6DAA6B;AAC7B,0DAAiF;AAAxE,gHAAA,mBAAmB,OAAA;AAAE,yGAAA,YAAY,OAAA;AAC1C,aAAa;AACb,uDAA0D;AAAlD,oGAAA,WAAW,OAAA;AAEZ,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,IAAG,OAAO,MAAM,KAAK,WAAW,EAAE;QAChC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,aAAa;IACb,OAAO,0DAAO,+BAA+B,IAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5D,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AATY,QAAA,UAAU,cAStB;AAGM,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpE,OAAO,aAAa,CAAA,IAAA,qBAAa,EAAC,QAAQ,EAAE;YAC1C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjE,OAAO,aAAa,CAAA,IAAA,qBAAa,EAAC,MAAM,EAAE;YACxC,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAA,IAAA,qBAAa,EAAC,cAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC,CAAC;AAjBW,QAAA,iBAAiB,qBAiB5B"}
|
package/jest.config.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const displayName: string;
|
|
2
|
-
export const preset: string;
|
|
3
|
-
export const globals: {
|
|
4
|
-
'ts-jest': {
|
|
5
|
-
tsconfig: string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
export const testEnvironment: string;
|
|
9
|
-
export const transform: {
|
|
10
|
-
'^.+\\.[tj]s$': string;
|
|
11
|
-
};
|
|
12
|
-
export const moduleFileExtensions: string[];
|
|
13
|
-
export const coverageDirectory: string;
|
package/jest.config.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
module.exports = {
|
|
4
|
-
displayName: 'nextjs-mf-js',
|
|
5
|
-
preset: '../../jest.preset.js',
|
|
6
|
-
globals: {
|
|
7
|
-
'ts-jest': {
|
|
8
|
-
tsconfig: '<rootDir>/tsconfig.spec.json',
|
|
9
|
-
},
|
|
10
|
-
},
|
|
11
|
-
testEnvironment: 'node',
|
|
12
|
-
transform: {
|
|
13
|
-
'^.+\\.[tj]s$': 'ts-jest',
|
|
14
|
-
},
|
|
15
|
-
moduleFileExtensions: ['ts', 'js', 'html'],
|
|
16
|
-
coverageDirectory: '../../coverage/packages/nextjs-mf-js',
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=jest.config.js.map
|
package/jest.config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../../../packages/nextjs-mf/jest.config.js"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,MAAM,CAAC,OAAO,GAAG;IACf,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,sBAAsB;IAC9B,OAAO,EAAE;QACP,SAAS,EAAE;YACT,QAAQ,EAAE,8BAA8B;SACzC;KACF;IACD,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE;QACT,cAAc,EAAE,SAAS;KAC1B;IACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;IAC1C,iBAAiB,EAAE,sCAAsC;CAC1D,CAAC"}
|