@module-federation/nextjs-mf 6.3.1-beta.1 → 6.4.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +4 -35
  2. package/README.md +0 -3
  3. package/package.json +4 -4
  4. package/src/internal-delegate-hoist.js +0 -1
  5. package/src/internal-delegate-hoist.js.map +1 -1
  6. package/src/internal.d.ts +2 -0
  7. package/src/internal.js +107 -33
  8. package/src/internal.js.map +1 -1
  9. package/src/loaders/async-boundary-loader.js +2 -8
  10. package/src/loaders/async-boundary-loader.js.map +1 -1
  11. package/src/loaders/delegateLoader.js +4 -2
  12. package/src/loaders/delegateLoader.js.map +1 -1
  13. package/src/loaders/nextPageMapLoader.js +2 -0
  14. package/src/loaders/nextPageMapLoader.js.map +1 -1
  15. package/src/plugins/ChildFederationPlugin.js +2 -0
  16. package/src/plugins/ChildFederationPlugin.js.map +1 -1
  17. package/src/plugins/NextFederationPlugin.js +68 -163
  18. package/src/plugins/NextFederationPlugin.js.map +1 -1
  19. package/src/plugins/RemoveRRRuntimePlugin.d.ts +5 -0
  20. package/src/plugins/RemoveRRRuntimePlugin.js +40 -0
  21. package/src/plugins/RemoveRRRuntimePlugin.js.map +1 -0
  22. package/utils/build-utils.d.ts +8 -0
  23. package/utils/build-utils.js +228 -1
  24. package/utils/build-utils.js.map +1 -1
  25. package/utils/index.d.ts +1 -1
  26. package/utils/index.js +2 -8
  27. package/utils/index.js.map +1 -1
  28. package/src/default-delegate.d.ts +0 -2
  29. package/src/default-delegate.js +0 -16
  30. package/src/default-delegate.js.map +0 -1
  31. package/src/delegate-hoist-container.d.ts +0 -0
  32. package/src/delegate-hoist-container.js +0 -2
  33. package/src/delegate-hoist-container.js.map +0 -1
  34. package/src/loaders/inject-hoist.d.ts +0 -3
  35. package/src/loaders/inject-hoist.js +0 -8
  36. package/src/loaders/inject-hoist.js.map +0 -1
  37. package/src/loaders/inject-single-host.d.ts +0 -1
  38. package/src/loaders/inject-single-host.js +0 -14
  39. package/src/loaders/inject-single-host.js.map +0 -1
  40. package/src/loaders/share-scope-hoist.d.ts +0 -7
  41. package/src/loaders/share-scope-hoist.js +0 -58
  42. package/src/loaders/share-scope-hoist.js.map +0 -1
  43. package/src/plugins/AddModulesToRuntime.d.ts +0 -6
  44. package/src/plugins/AddModulesToRuntime.js +0 -65
  45. package/src/plugins/AddModulesToRuntime.js.map +0 -1
  46. package/src/plugins/ContainerStatsPlugin.d.ts +0 -6
  47. package/src/plugins/ContainerStatsPlugin.js +0 -174
  48. package/src/plugins/ContainerStatsPlugin.js.map +0 -1
  49. package/src/plugins/CopyFederationPlugin.d.ts +0 -6
  50. package/src/plugins/CopyFederationPlugin.js +0 -54
  51. package/src/plugins/CopyFederationPlugin.js.map +0 -1
@@ -7,14 +7,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.NextFederationPlugin = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const utilities_1 = require("@module-federation/utilities");
10
- const CopyFederationPlugin_1 = tslib_1.__importDefault(require("./CopyFederationPlugin"));
11
- const AddModulesToRuntime_1 = tslib_1.__importDefault(require("./AddModulesToRuntime"));
12
- const node_1 = require("@module-federation/node");
13
10
  const path_1 = tslib_1.__importDefault(require("path"));
14
11
  const internal_1 = require("../internal");
15
12
  const AddRuntimeRequirementToPromiseExternalPlugin_1 = tslib_1.__importDefault(require("./AddRuntimeRequirementToPromiseExternalPlugin"));
13
+ const ChildFederationPlugin_1 = tslib_1.__importDefault(require("./ChildFederationPlugin"));
16
14
  const DevHmrFixInvalidPongPlugin_1 = tslib_1.__importDefault(require("./DevHmrFixInvalidPongPlugin"));
17
- const nextPageMapLoader_1 = require("../loaders/nextPageMapLoader");
18
15
  // @ts-ignore
19
16
  const regexEqual = (x, y) => {
20
17
  return (x instanceof RegExp &&
@@ -38,7 +35,6 @@ class NextFederationPlugin {
38
35
  };
39
36
  }
40
37
  apply(compiler) {
41
- //@ts-ignore
42
38
  if (!compiler.options.name) {
43
39
  throw new Error('name is not defined in Compiler options');
44
40
  }
@@ -50,42 +46,10 @@ class NextFederationPlugin {
50
46
  }
51
47
  const isServer = compiler.options.name === 'server';
52
48
  const { webpack } = compiler;
53
- new CopyFederationPlugin_1.default(isServer).apply(compiler);
54
- if (this._options.remotes) {
55
- this._options.remotes = (0, internal_1.parseRemotes)(this._options.remotes);
56
- }
57
- if (this._options.shared) {
58
- const warnings = Object.keys(this._options.shared).reduce((acc, key) => {
59
- if (internal_1.DEFAULT_SHARE_SCOPE[key]) {
60
- acc.push(`[nextjs-mf] You are sharing ${key} from the default share scope. This is not necessary and can be removed.`);
61
- // @ts-ignore
62
- delete this._options.shared[key];
63
- }
64
- return acc;
65
- }, []);
66
- if (warnings.length > 0) {
67
- console.warn('%c' + warnings.join('\n'), 'color: red');
68
- }
69
- }
70
49
  if (isServer) {
71
50
  // target false because we use our own target for node env
72
51
  compiler.options.target = false;
73
52
  const { StreamingTargetPlugin } = require('@module-federation/node');
74
- // add hoist to main entry for sync avaliability.
75
- compiler.options.optimization.chunkIds = 'named';
76
- compiler.options.optimization.splitChunks = false;
77
- // add eager modules to main runtime
78
- new AddModulesToRuntime_1.default({
79
- runtime: 'webpack-runtime',
80
- eager: true,
81
- remotes: this._options.remotes,
82
- }).apply(compiler);
83
- // add delegate modules to remoteEntry
84
- new AddModulesToRuntime_1.default({
85
- runtime: this._options.name,
86
- eager: false,
87
- remotes: this._options.remotes,
88
- }).apply(compiler);
89
53
  new StreamingTargetPlugin(this._options, {
90
54
  ModuleFederationPlugin: webpack.container.ModuleFederationPlugin,
91
55
  }).apply(compiler);
@@ -95,149 +59,93 @@ class NextFederationPlugin {
95
59
  };
96
60
  // output remote to ssr if server
97
61
  this._options.filename = path_1.default.basename(this._options.filename);
62
+ // should this be a plugin that we apply to the compiler?
63
+ (0, internal_1.internalizeSharedPackages)(this._options, compiler);
98
64
  // module-federation/utilities uses internal webpack methods and must be bundled into runtime code.
99
65
  if (Array.isArray(compiler.options.externals)) {
100
- const opts = this._options;
101
66
  const originalExternals = compiler.options.externals[0];
102
- compiler.options.externals[0] = async function (ctx, callback) {
67
+ compiler.options.externals[0] = function (ctx, callback) {
103
68
  if (ctx.request &&
104
69
  (ctx.request.includes('@module-federation/utilities') ||
105
- ctx.request.includes('internal-delegate-hoist') ||
106
- // @ts-ignore
107
- Object.keys(opts.shared || {}).some((key) => opts.shared?.[key]?.import !== false && ctx.request.includes(key)) ||
108
- ctx.request.includes('internal-delegate-hoist') ||
109
70
  ctx.request.includes('@module-federation/dashboard-plugin'))) {
110
- return;
71
+ return callback();
111
72
  }
112
73
  // @ts-ignore
113
- const fromNext = await originalExternals(ctx, callback);
114
- if (!fromNext) {
115
- return;
116
- }
117
- const req = fromNext.split(' ')[1];
118
- if (req.startsWith('next') || req.startsWith('react')) {
119
- return fromNext;
120
- }
121
- return;
74
+ return originalExternals(ctx, callback);
122
75
  };
123
76
  }
124
77
  }
125
78
  else {
126
- const ModuleFederationPlugin = isServer
127
- ? require('@module-federation/node').NodeFederationPlugin
128
- : webpack.container.ModuleFederationPlugin;
129
- // ignore edge runtime and middleware builds
130
- if (!ModuleFederationPlugin) {
131
- return;
132
- }
133
- // hoist modules into remote runtime
134
- new AddModulesToRuntime_1.default({
135
- runtime: this._options.name,
136
- eager: false,
137
- remotes: this._options.remotes,
138
- }).apply(compiler);
139
- new AddModulesToRuntime_1.default({
140
- runtime: 'webpack',
141
- eager: false,
142
- remotes: this._options.remotes,
143
- shared: internal_1.DEFAULT_SHARE_SCOPE,
144
- }).apply(compiler);
79
+ new webpack.EntryPlugin(compiler.context, require.resolve('../internal-delegate-hoist'), 'main').apply(compiler);
145
80
  if (this._extraOptions.automaticPageStitching) {
146
81
  compiler.options.module.rules.push({
147
82
  test: /next[\\/]dist[\\/]client[\\/]page-loader\.js$/,
148
83
  loader: path_1.default.resolve(__dirname, '../loaders/patchNextClientPageLoader'),
149
84
  });
150
85
  }
86
+ if (this._options.remotes) {
87
+ this._options.remotes = (0, internal_1.parseRemotes)(this._options.remotes);
88
+ }
151
89
  if (this._options.library) {
152
- console.error('[nextjs-mf] you cannot set custom library');
90
+ console.error('[mf] you cannot set custom library');
153
91
  }
154
92
  this._options.library = {
155
93
  // assign remote name to object to avoid SWC mangling top level variable
156
94
  type: 'window',
157
95
  name: this._options.name,
158
96
  };
159
- // add hoist to main entry for sync avaliability.
160
- new webpack.EntryPlugin(compiler.context, require.resolve('../internal-delegate-hoist'), 'main').apply(compiler);
161
- }
162
- const hostFederationPluginOptions = {
163
- ...this._options,
164
- runtime: false,
165
- exposes: {
166
- __hoist: require.resolve('../delegate-hoist-container'),
167
- ...(this._extraOptions.exposePages
168
- ? (0, nextPageMapLoader_1.exposeNextjsPages)(compiler.options.context)
169
- : {}),
170
- ...this._options.exposes,
171
- },
172
- remotes: {
173
- ...this._options.remotes,
174
- },
175
- shared: {
176
- ...internal_1.DEFAULT_SHARE_SCOPE,
177
- ...this._options.shared,
178
- },
179
- };
180
- if (!isServer) {
181
- //new ContainerStatsPlugin(hostFederationPluginOptions).apply(compiler);
182
- new node_1.ChunkCorrelationPlugin({ filename: 'static/chunks/federated-stats.json' }).apply(compiler);
183
97
  }
184
98
  const allowedPaths = ['pages/', 'app/', 'src/pages/', 'src/app/'];
185
- // inject module hoisting system
186
- compiler.options.module.rules.unshift(
187
- // inject hoist dependency into upper scope of application
188
- {
189
- enforce: 'pre',
190
- test: /_document/,
191
- include: [compiler.context, /next[\\/]dist/],
192
- loader: path_1.default.resolve(__dirname, '../loaders/inject-hoist'),
193
- },
194
- // populate hoist dependency with shared modules
195
- {
196
- test: /internal-delegate-hoist/,
197
- include: [/internal-delegate-hoist/, compiler.context, /next[\\/]dist/],
198
- loader: path_1.default.resolve(__dirname, '../loaders/share-scope-hoist'),
199
- options: {
200
- shared: internal_1.DEFAULT_SHARE_SCOPE,
99
+ //patch next
100
+ compiler.options.module.rules.push({
101
+ test(req) {
102
+ if (allowedPaths.some((p) => req.includes(path_1.default.join(compiler.context, p)))) {
103
+ return /\.(js|jsx|ts|tsx|md|mdx|mjs)$/i.test(req);
104
+ }
105
+ return false;
201
106
  },
107
+ include: compiler.context,
108
+ exclude: [
109
+ /node_modules/,
110
+ /_middleware/,
111
+ /pages[\\/]middleware/,
112
+ /pages[\\/]api/,
113
+ ],
114
+ loader: path_1.default.resolve(__dirname, '../loaders/patchDefaultSharedLoader'),
202
115
  });
203
116
  if (this._options.remotes) {
204
117
  const delegates = (0, internal_1.getDelegates)(this._options.remotes);
205
118
  // only apply loader if delegates are present
206
119
  if (delegates && Object.keys(delegates).length > 0) {
207
- const knownDelegates = Object.entries(delegates).map(([name, remote]) => {
208
- const delegate = remote.replace('internal ', '').split('?')[0];
209
- return delegate;
120
+ compiler.options.module.rules.push({
121
+ test(req) {
122
+ if (isServer) {
123
+ // server has no common chunk or entry to hoist into
124
+ if (allowedPaths.some((p) => req.includes(path_1.default.join(compiler.context, p)))) {
125
+ return /\.(js|jsx|ts|tsx|md|mdx|mjs)$/i.test(req);
126
+ }
127
+ }
128
+ if (req.includes('internal-delegate-hoist')) {
129
+ return true;
130
+ }
131
+ return false;
132
+ },
133
+ resourceQuery: this._extraOptions.automaticAsyncBoundary
134
+ ? (query) => !query.includes('hasBoundary')
135
+ : undefined,
136
+ include: [compiler.context, /internal-delegate-hoist/],
137
+ exclude: (request) => {
138
+ if (request.includes('internal-delegate-hoist')) {
139
+ return false;
140
+ }
141
+ return /node_modules/.test(request);
142
+ },
143
+ loader: path_1.default.resolve(__dirname, '../loaders/delegateLoader'),
144
+ options: {
145
+ delegates,
146
+ },
210
147
  });
211
- if (this._options.exposes) {
212
- compiler.options.module.rules.push({
213
- enforce: 'pre',
214
- test(request) {
215
- const found = knownDelegates.some((delegate) => {
216
- return request.includes(delegate);
217
- });
218
- return found;
219
- },
220
- loader: path_1.default.resolve(__dirname, '../loaders/inject-single-host'),
221
- options: {
222
- name: this._options.name,
223
- },
224
- });
225
- }
226
148
  }
227
- compiler.options.module.rules.push({
228
- enforce: 'pre',
229
- test: [/internal-delegate-hoist/, /delegate-hoist-container/],
230
- include: [
231
- compiler.context,
232
- /internal-delegate-hoist/,
233
- /delegate-hoist-container/,
234
- /next[\\/]dist/,
235
- ],
236
- loader: path_1.default.resolve(__dirname, '../loaders/delegateLoader'),
237
- options: {
238
- delegates,
239
- },
240
- });
241
149
  }
242
150
  if (this._extraOptions.automaticAsyncBoundary) {
243
151
  const jsRules = compiler.options.module.rules.find((r) => {
@@ -297,27 +205,24 @@ class NextFederationPlugin {
297
205
  if (!ModuleFederationPlugin) {
298
206
  return;
299
207
  }
300
- compiler.options.devtool = 'source-map';
301
- //@ts-ignore
302
- compiler.options.output.publicPath = 'auto';
303
- compiler.options.output.uniqueName = this._options.name;
208
+ const internalShare = (0, internal_1.reKeyHostShared)(this._options.shared);
209
+ const hostFederationPluginOptions = {
210
+ ...this._options,
211
+ exposes: {},
212
+ shared: {
213
+ noop: {
214
+ import: 'data:text/javascript,module.exports = {};',
215
+ requiredVersion: false,
216
+ eager: true,
217
+ version: '0',
218
+ },
219
+ ...internalShare,
220
+ },
221
+ };
304
222
  new ModuleFederationPlugin(hostFederationPluginOptions, {
305
223
  ModuleFederationPlugin,
306
224
  }).apply(compiler);
307
- if (!isServer &&
308
- this._options.remotes &&
309
- Object.keys(this._options.remotes).length > 0) {
310
- // single runtime chunk if host or circular remote uses remote of current host.
311
- new ModuleFederationPlugin({
312
- ...hostFederationPluginOptions,
313
- filename: undefined,
314
- runtime: undefined,
315
- name: this._options.name + '_single',
316
- }, { ModuleFederationPlugin }).apply(compiler);
317
- }
318
- // new ChildFederationPlugin(this._options, this._extraOptions).apply(
319
- // compiler
320
- // );
225
+ new ChildFederationPlugin_1.default(this._options, this._extraOptions).apply(compiler);
321
226
  new AddRuntimeRequirementToPromiseExternalPlugin_1.default().apply(compiler);
322
227
  if (compiler.options.mode === 'development') {
323
228
  new DevHmrFixInvalidPongPlugin_1.default().apply(compiler);
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import { Compiler } from 'webpack';
2
+ export declare class RemoveRRRuntimePlugin {
3
+ apply(compiler: Compiler): void;
4
+ }
5
+ export default RemoveRRRuntimePlugin;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoveRRRuntimePlugin = void 0;
4
+ const webpack_1 = require("webpack");
5
+ class RemoveRRRuntimePlugin {
6
+ apply(compiler) {
7
+ const { webpack } = compiler;
8
+ // only impacts dev mode - dont waste the memory during prod build
9
+ if (compiler.options.mode === 'development') {
10
+ compiler.hooks.thisCompilation.tap('RemoveRRRuntimePlugin', (compilation) => {
11
+ compilation.hooks.processAssets.tap({
12
+ name: 'RemoveRRRuntimePlugin',
13
+ // FIXME: Is this state or stage?
14
+ // Webpack docs mentions it as 'stage'.
15
+ stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE,
16
+ }, (assets) => {
17
+ //can this be improved? I need react refresh not to cause global collision in dev mode
18
+ Object.keys(assets).forEach((filename) => {
19
+ if (!(filename.endsWith('.js') || filename.endsWith('.mjs'))) {
20
+ return;
21
+ }
22
+ const asset = compilation.getAsset(filename);
23
+ // easiest way to solve it is to prevent react refresh helpers from running when its a federated module chunk
24
+ const newSource = (asset?.source.source()).replace(/RefreshHelpers/g, 'NoExist');
25
+ const updatedAsset = new webpack.sources.RawSource(newSource);
26
+ if (asset) {
27
+ compilation.updateAsset(filename, updatedAsset);
28
+ }
29
+ else {
30
+ compilation.emitAsset(filename, updatedAsset);
31
+ }
32
+ });
33
+ });
34
+ });
35
+ }
36
+ }
37
+ }
38
+ exports.RemoveRRRuntimePlugin = RemoveRRRuntimePlugin;
39
+ exports.default = RemoveRRRuntimePlugin;
40
+ //# sourceMappingURL=RemoveRRRuntimePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveRRRuntimePlugin.js","sourceRoot":"","sources":["../../../../../packages/nextjs-mf/src/plugins/RemoveRRRuntimePlugin.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAEhD,MAAa,qBAAqB;IAChC,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,kEAAkE;QAClE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE;YAC3C,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChC,uBAAuB,EACvB,CAAC,WAAW,EAAE,EAAE;gBACd,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CACjC;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,iCAAiC;oBACjC,uCAAuC;oBACvC,KAAK,EAAE,qBAAW,CAAC,oCAAoC;iBACxD,EACD,CAAC,MAAM,EAAE,EAAE;oBACT,sFAAsF;oBACtF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;4BAC5D,OAAO;yBACR;wBACD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC7C,6GAA6G;wBAC7G,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAa,CAAA,CAAC,OAAO,CAC1D,iBAAiB,EACjB,SAAS,CACV,CAAC;wBACF,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;wBAE9D,IAAI,KAAK,EAAE;4BACT,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;yBACjD;6BAAM;4BACL,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;yBAC/C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CACF,CAAC;YACJ,CAAC,CACF,CAAC;SACH;IACH,CAAC;CACF;AA1CD,sDA0CC;AAED,kBAAe,qBAAqB,CAAC"}
@@ -1 +1,9 @@
1
1
  export declare const computeRemoteFilename: (isServer: boolean, filename: string) => string;
2
+ /**
3
+ * @deprecated This function is being deprecated in favor of delegate modules
4
+ */
5
+ export declare const promiseFactory: (factory: string | Function) => string;
6
+ /**
7
+ * @deprecated This function is being deprecated in favor of delegate modules
8
+ */
9
+ export declare const promiseTemplate: (remote: string, ...otherPromises: Function[]) => string;
@@ -1,8 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.computeRemoteFilename = void 0;
3
+ exports.promiseTemplate = exports.promiseFactory = exports.computeRemoteFilename = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const Template_1 = tslib_1.__importDefault(require("./Template"));
6
+ const internal_1 = require("../src/internal");
5
7
  const path_1 = tslib_1.__importDefault(require("path"));
8
+ const transformInput = (code) => {
9
+ let swc;
10
+ try {
11
+ swc = require('@swc/core');
12
+ }
13
+ catch (e) {
14
+ return code;
15
+ }
16
+ return swc.transformSync(code, {
17
+ // Some options cannot be specified in .swcrc
18
+ sourceMaps: false,
19
+ // Input files are treated as module by default.
20
+ isModule: false,
21
+ // All options below can be configured via .swcrc
22
+ jsc: {
23
+ loose: false,
24
+ target: 'es5',
25
+ externalHelpers: false,
26
+ parser: {
27
+ syntax: 'ecmascript',
28
+ },
29
+ transform: {},
30
+ },
31
+ }).code;
32
+ };
6
33
  const computeRemoteFilename = (isServer, filename) => {
7
34
  if (isServer && filename) {
8
35
  return path_1.default.basename(filename);
@@ -10,4 +37,204 @@ const computeRemoteFilename = (isServer, filename) => {
10
37
  return filename;
11
38
  };
12
39
  exports.computeRemoteFilename = computeRemoteFilename;
40
+ //remote is defined in the template wrapper
41
+ const IsomorphicRemoteTemplate = function () {
42
+ const index = urlAndGlobal.indexOf('@');
43
+ if (index <= 0 || index === urlAndGlobal.length - 1) {
44
+ throw new Error(`Invalid request "${urlAndGlobal}"`);
45
+ }
46
+ const remote = {
47
+ url: urlAndGlobal.substring(index + 1),
48
+ global: urlAndGlobal.substring(0, index), // this casting to satisfy TS
49
+ };
50
+ return new Promise(function (resolve, reject) {
51
+ const __webpack_error__ = new Error();
52
+ if (typeof window !== 'undefined') {
53
+ if (typeof window[remote.global] !== 'undefined') {
54
+ return resolve();
55
+ }
56
+ }
57
+ else {
58
+ // @ts-ignore
59
+ if (!global.__remote_scope__) {
60
+ // create a global scope for container, similar to how remotes are set on window in the browser
61
+ // @ts-ignore
62
+ global.__remote_scope__ = {
63
+ // @ts-ignore
64
+ _config: {},
65
+ };
66
+ }
67
+ // @ts-ignore
68
+ if (typeof global.__remote_scope__[remote.global] !== 'undefined') {
69
+ return resolve();
70
+ }
71
+ }
72
+ __webpack_require__.l(remote.url, function (event) {
73
+ if (typeof window !== 'undefined') {
74
+ if (typeof window[remote.global] !== 'undefined') {
75
+ return resolve();
76
+ }
77
+ }
78
+ else {
79
+ // @ts-ignore
80
+ if (typeof global.__remote_scope__[remote.global] !== 'undefined') {
81
+ return resolve();
82
+ }
83
+ }
84
+ const errorType = event && (event.type === 'load' ? 'missing' : event.type);
85
+ const realSrc = event && event.target && event.target.src;
86
+ __webpack_error__.message =
87
+ 'Loading script failed.(' +
88
+ errorType +
89
+ ': ' +
90
+ realSrc +
91
+ ' or global var ' +
92
+ remote.global +
93
+ ')';
94
+ __webpack_error__.name = 'ScriptExternalLoadError';
95
+ __webpack_error__.type = errorType;
96
+ __webpack_error__.request = realSrc;
97
+ reject(__webpack_error__);
98
+ }, remote.global);
99
+ })
100
+ .then(function () {
101
+ const globalScope =
102
+ //@ts-ignore
103
+ typeof window !== 'undefined' ? window : global.__remote_scope__;
104
+ const remoteGlobal = globalScope[remote.global];
105
+ const proxy = {
106
+ get: remoteGlobal.get,
107
+ //@ts-ignore
108
+ init: function (shareScope) {
109
+ const handler = {
110
+ get(target, prop) {
111
+ if (target[prop]) {
112
+ Object.values(target[prop]).forEach(function (o) {
113
+ if (o.from === '_N_E') {
114
+ o.loaded = 1;
115
+ }
116
+ });
117
+ }
118
+ return target[prop];
119
+ },
120
+ set(target, property, value, receiver) {
121
+ if (target[property]) {
122
+ return target[property];
123
+ }
124
+ target[property] = value;
125
+ return true;
126
+ },
127
+ };
128
+ try {
129
+ remoteGlobal.init(new Proxy(shareScope, handler));
130
+ }
131
+ catch (e) {
132
+ // already initialized
133
+ }
134
+ remoteGlobal.__initialized = true;
135
+ },
136
+ };
137
+ if (!remoteGlobal.__initialized) {
138
+ try {
139
+ proxy.init();
140
+ }
141
+ catch (e) {
142
+ // already initialized
143
+ }
144
+ }
145
+ return proxy;
146
+ })
147
+ .catch((e) => {
148
+ console.error(remote.global, 'is offline, returning fake remote');
149
+ console.error(e);
150
+ return {
151
+ fake: true,
152
+ get: (arg) => {
153
+ console.log('faking', arg, 'module on', remote.global);
154
+ return Promise.resolve(() => {
155
+ return () => null;
156
+ });
157
+ },
158
+ init: () => { },
159
+ };
160
+ });
161
+ };
162
+ /**
163
+ * @deprecated This function is being deprecated in favor of delegate modules
164
+ */
165
+ const promiseFactory = (factory) => {
166
+ const wrapper = `new Promise(${factory.toString()})`;
167
+ const isPromiseFactoryIncludesImportOrRequireContext = [
168
+ 'require(',
169
+ 'import(',
170
+ 'import ',
171
+ ].some((statement) => wrapper.includes(statement));
172
+ if (isPromiseFactoryIncludesImportOrRequireContext) {
173
+ throw new Error('promiseFactory does not support require, import, or import statements');
174
+ }
175
+ const template = Template_1.default.asString([
176
+ 'function() {',
177
+ Template_1.default.indent([wrapper]),
178
+ '}',
179
+ ]);
180
+ return template;
181
+ };
182
+ exports.promiseFactory = promiseFactory;
183
+ /**
184
+ * @deprecated This function is being deprecated in favor of delegate modules
185
+ */
186
+ const promiseTemplate = (remote, ...otherPromises) => {
187
+ console.warn('[nextjs-mf]: promiseTemplate is being deprecated in favor of delegate modules');
188
+ let promises = [];
189
+ if (otherPromises) {
190
+ promises = otherPromises.map((p) => {
191
+ return Template_1.default.getFunctionContent((0, exports.promiseFactory)(p));
192
+ });
193
+ }
194
+ let remoteSyntax = remote;
195
+ let remoteFactory = internal_1.parseRemoteSyntax;
196
+ if (typeof remote === 'function' ||
197
+ remote.startsWith('function') ||
198
+ remote.startsWith('(')) {
199
+ remoteSyntax = Template_1.default.getFunctionContent((0, exports.promiseFactory)(remote));
200
+ remoteFactory = (remoteSyntax) => {
201
+ return Template_1.default.asString([
202
+ `${remoteSyntax}.then(function(urlAndGlobal) {`,
203
+ Template_1.default.indent([
204
+ Template_1.default.getFunctionContent(IsomorphicRemoteTemplate),
205
+ ]),
206
+ '})',
207
+ ]);
208
+ };
209
+ }
210
+ const allPromises = [remoteFactory(remoteSyntax), ...promises].join(',\n');
211
+ return Template_1.default.asString([
212
+ 'promise new Promise(function(resolve, reject) {',
213
+ transformInput(Template_1.default.indent([
214
+ 'Promise.all([',
215
+ Template_1.default.indent(allPromises),
216
+ ']).then(function(promises) {',
217
+ Template_1.default.indent(['resolve(promises[0]);']),
218
+ '})',
219
+ ])),
220
+ '})',
221
+ ]);
222
+ };
223
+ exports.promiseTemplate = promiseTemplate;
224
+ // remotes: {
225
+ // shop: promiseTemplate('global@url', (resolve,reject) => {}),
226
+ // shop: promiseTemplate(
227
+ // // can also be a string if it needs to be computed in scope
228
+ // `(resolve, reject) => {
229
+ // resolve("${remotes.shop}");
230
+ // }`,
231
+ // (resolve,reject)=>{
232
+ // console.log('runing other promise');
233
+ // setTimeout(() => {
234
+ // console.log('resolving promise');
235
+ // resolve();
236
+ // } , 1000);
237
+ // }),
238
+ // checkout: remotes.checkout,
239
+ // },
13
240
  //# sourceMappingURL=build-utils.js.map