remote-components 0.3.5 → 0.3.7
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/dist/app-63L5THIQ.js +12 -0
- package/dist/app-63L5THIQ.js.map +1 -0
- package/dist/app-A5QE7XRH.cjs +12 -0
- package/dist/app-A5QE7XRH.cjs.map +1 -0
- package/dist/chunk-52BJ7VFA.js +202 -0
- package/dist/chunk-52BJ7VFA.js.map +1 -0
- package/dist/chunk-AWWWK2ZY.cjs +670 -0
- package/dist/chunk-AWWWK2ZY.cjs.map +1 -0
- package/dist/chunk-CTUJSWCM.js +215 -0
- package/dist/chunk-CTUJSWCM.js.map +1 -0
- package/dist/chunk-D5GNZB6O.js +61 -0
- package/dist/chunk-D5GNZB6O.js.map +1 -0
- package/dist/chunk-ENYGL5CO.js +11 -0
- package/dist/chunk-ENYGL5CO.js.map +1 -0
- package/dist/chunk-GAXJTFBV.js +20 -0
- package/dist/chunk-GAXJTFBV.js.map +1 -0
- package/dist/chunk-GBFUPMMI.js +670 -0
- package/dist/chunk-GBFUPMMI.js.map +1 -0
- package/dist/chunk-I47KE3EC.cjs +703 -0
- package/dist/chunk-I47KE3EC.cjs.map +1 -0
- package/dist/chunk-KE7QPAQ4.cjs +21 -0
- package/dist/chunk-KE7QPAQ4.cjs.map +1 -0
- package/dist/chunk-LCXO7BUY.cjs +57 -0
- package/dist/chunk-LCXO7BUY.cjs.map +1 -0
- package/dist/chunk-LQ7VQ74E.js +155 -0
- package/dist/chunk-LQ7VQ74E.js.map +1 -0
- package/dist/chunk-N5VQR2PW.cjs +215 -0
- package/dist/chunk-N5VQR2PW.cjs.map +1 -0
- package/dist/chunk-NZAB7REE.js +703 -0
- package/dist/chunk-NZAB7REE.js.map +1 -0
- package/dist/chunk-QKB74MLO.js +709 -0
- package/dist/chunk-QKB74MLO.js.map +1 -0
- package/dist/chunk-RJW3EZJP.cjs +709 -0
- package/dist/chunk-RJW3EZJP.cjs.map +1 -0
- package/dist/chunk-RUWR74XQ.cjs +152 -0
- package/dist/chunk-RUWR74XQ.cjs.map +1 -0
- package/dist/chunk-S2A4TFLS.js +152 -0
- package/dist/chunk-S2A4TFLS.js.map +1 -0
- package/dist/chunk-SHFJ5OQA.cjs +11 -0
- package/dist/chunk-SHFJ5OQA.cjs.map +1 -0
- package/dist/chunk-SJM7AAGU.js +358 -0
- package/dist/chunk-SJM7AAGU.js.map +1 -0
- package/dist/chunk-SZFCBE54.js +57 -0
- package/dist/chunk-SZFCBE54.js.map +1 -0
- package/dist/chunk-T64P7BAG.cjs +202 -0
- package/dist/chunk-T64P7BAG.cjs.map +1 -0
- package/dist/chunk-TCFLEBQM.cjs +20 -0
- package/dist/chunk-TCFLEBQM.cjs.map +1 -0
- package/dist/chunk-TZT7DLO5.cjs +155 -0
- package/dist/chunk-TZT7DLO5.cjs.map +1 -0
- package/dist/chunk-X6W464D6.cjs +358 -0
- package/dist/chunk-X6W464D6.cjs.map +1 -0
- package/dist/chunk-X6YKUJKH.js +21 -0
- package/dist/chunk-X6YKUJKH.js.map +1 -0
- package/dist/chunk-Z2SLBFQL.cjs +61 -0
- package/dist/chunk-Z2SLBFQL.cjs.map +1 -0
- package/dist/config/nextjs.cjs +74 -355
- package/dist/config/nextjs.cjs.map +1 -1
- package/dist/config/nextjs.js +25 -271
- package/dist/config/nextjs.js.map +1 -1
- package/dist/config/webpack.cjs +12 -240
- package/dist/config/webpack.cjs.map +1 -1
- package/dist/config/webpack.js +6 -207
- package/dist/config/webpack.js.map +1 -1
- package/dist/host/html.cjs +128 -2494
- package/dist/host/html.cjs.map +1 -1
- package/dist/host/html.js +45 -2382
- package/dist/host/html.js.map +1 -1
- package/dist/host/nextjs/app/client-only.cjs +53 -2939
- package/dist/host/nextjs/app/client-only.cjs.map +1 -1
- package/dist/host/nextjs/app/client-only.js +31 -2894
- package/dist/host/nextjs/app/client-only.js.map +1 -1
- package/dist/host/proxy/client.cjs +8 -38
- package/dist/host/proxy/client.cjs.map +1 -1
- package/dist/host/proxy/client.js +4 -7
- package/dist/host/proxy/client.js.map +1 -1
- package/dist/host/proxy.cjs +19 -56
- package/dist/host/proxy.cjs.map +1 -1
- package/dist/host/proxy.js +8 -20
- package/dist/host/proxy.js.map +1 -1
- package/dist/host/react.cjs +17 -2870
- package/dist/host/react.cjs.map +1 -1
- package/dist/host/react.js +13 -2837
- package/dist/host/react.js.map +1 -1
- package/dist/internal/config/webpack/next-client-pages-loader.cjs +27 -15
- package/dist/internal/config/webpack/next-client-pages-loader.cjs.map +1 -1
- package/dist/internal/config/webpack/next-client-pages-loader.d.ts +3 -5
- package/dist/internal/config/webpack/next-client-pages-loader.js +27 -15
- package/dist/internal/config/webpack/next-client-pages-loader.js.map +1 -1
- package/dist/internal/host/nextjs/app-client.d.ts +1 -1
- package/dist/internal/host/react/context.d.ts +2 -2
- package/dist/internal/host/server/fetch-remote-component.cjs +1 -18
- package/dist/internal/host/server/fetch-remote-component.cjs.map +1 -1
- package/dist/internal/host/server/fetch-remote-component.js +1 -18
- package/dist/internal/host/server/fetch-remote-component.js.map +1 -1
- package/dist/internal/host/shared/pipeline.d.ts +2 -2
- package/dist/internal/runtime/loaders/component-loader.cjs +5 -2
- package/dist/internal/runtime/loaders/component-loader.cjs.map +1 -1
- package/dist/internal/runtime/loaders/component-loader.d.ts +2 -2
- package/dist/internal/runtime/loaders/component-loader.js +5 -2
- package/dist/internal/runtime/loaders/component-loader.js.map +1 -1
- package/dist/internal/runtime/loaders/static-loader.d.ts +2 -1
- package/dist/internal/runtime/namespace.cjs +1 -0
- package/dist/internal/runtime/namespace.cjs.map +1 -1
- package/dist/internal/runtime/namespace.d.ts +2 -1
- package/dist/internal/runtime/namespace.js +1 -0
- package/dist/internal/runtime/namespace.js.map +1 -1
- package/dist/internal/runtime/turbopack/remote-scope.cjs +1 -5
- package/dist/internal/runtime/turbopack/remote-scope.cjs.map +1 -1
- package/dist/internal/runtime/turbopack/remote-scope.js +1 -5
- package/dist/internal/runtime/turbopack/remote-scope.js.map +1 -1
- package/dist/internal/runtime/types.d.ts +2 -1
- package/dist/internal/utils.cjs +1 -1
- package/dist/internal/utils.cjs.map +1 -1
- package/dist/internal/utils.d.ts +5 -5
- package/dist/internal/utils.js +1 -1
- package/dist/internal/utils.js.map +1 -1
- package/dist/remote/html.cjs +15 -314
- package/dist/remote/html.cjs.map +1 -1
- package/dist/remote/html.js +7 -305
- package/dist/remote/html.js.map +1 -1
- package/dist/remote/middleware.cjs +16 -41
- package/dist/remote/middleware.cjs.map +1 -1
- package/dist/script-D5AD7HLV.cjs +26 -0
- package/dist/script-D5AD7HLV.cjs.map +1 -0
- package/dist/script-VPOI7ARP.js +26 -0
- package/dist/script-VPOI7ARP.js.map +1 -0
- package/dist/{server-handoff-ce13bebc.d.ts → server-handoff-8c89b856.d.ts} +2 -2
- package/dist/static-loader-OHSAUD62.js +11 -0
- package/dist/static-loader-OHSAUD62.js.map +1 -0
- package/dist/static-loader-UDIXK5MV.cjs +11 -0
- package/dist/static-loader-UDIXK5MV.cjs.map +1 -0
- package/dist/turbopack-5LW6V6IT.js +55 -0
- package/dist/turbopack-5LW6V6IT.js.map +1 -0
- package/dist/turbopack-KRKECGY2.cjs +55 -0
- package/dist/turbopack-KRKECGY2.cjs.map +1 -0
- package/dist/{types-59251814.d.ts → types-8b0edd78.d.ts} +7 -0
- package/dist/webpack-NPZNXRNL.js +92 -0
- package/dist/webpack-NPZNXRNL.js.map +1 -0
- package/dist/webpack-TTZDARNY.cjs +92 -0
- package/dist/webpack-TTZDARNY.cjs.map +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/config/webpack/plugins/conditional-exec.ts
|
|
2
|
+
var ConditionalExecPlugin = class {
|
|
3
|
+
|
|
4
|
+
constructor(appName) {
|
|
5
|
+
this.appName = appName;
|
|
6
|
+
}
|
|
7
|
+
apply(compiler) {
|
|
8
|
+
const { Compilation, sources } = compiler.webpack;
|
|
9
|
+
compiler.hooks.thisCompilation.tap(
|
|
10
|
+
"ConditionalExecPlugin",
|
|
11
|
+
(compilation) => {
|
|
12
|
+
compilation.hooks.processAssets.tap(
|
|
13
|
+
{
|
|
14
|
+
name: "ConditionalExecPlugin",
|
|
15
|
+
stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS
|
|
16
|
+
},
|
|
17
|
+
(assets) => {
|
|
18
|
+
for (const [name, source] of Object.entries(assets)) {
|
|
19
|
+
if (name.endsWith(".js")) {
|
|
20
|
+
const patchedSource = source.source().toString().replace(
|
|
21
|
+
`var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))`,
|
|
22
|
+
`var __webpack_exec__ = (moduleId) => { if (globalThis.__DISABLE_WEBPACK_EXEC__ && globalThis.__DISABLE_WEBPACK_EXEC__["${this.appName}"]) return; return __webpack_require__(__webpack_require__.s = moduleId); }`
|
|
23
|
+
);
|
|
24
|
+
compilation.updateAsset(
|
|
25
|
+
name,
|
|
26
|
+
new sources.RawSource(patchedSource)
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// src/config/webpack/plugins/module-id-embed.ts
|
|
38
|
+
var _path = require('path');
|
|
39
|
+
|
|
40
|
+
// src/config/webpack/plugins/module-id-embed-runtime-module.ts
|
|
41
|
+
function createModuleIdEmbedRuntimeModule(webpack) {
|
|
42
|
+
return class ModuleIdEmbedRuntimeModule extends webpack.RuntimeModule {
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
constructor(appName, moduleMap) {
|
|
46
|
+
super("remote-webpack-module-id-embed");
|
|
47
|
+
this.appName = appName;
|
|
48
|
+
this.moduleMap = moduleMap;
|
|
49
|
+
}
|
|
50
|
+
generate() {
|
|
51
|
+
return `globalThis.__remote_webpack_module_map__ = globalThis.__remote_webpack_module_map__ || {}; globalThis.__remote_webpack_module_map__["${this.appName}"] = ${JSON.stringify(this.moduleMap)};`;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// src/config/webpack/plugins/module-id-embed.ts
|
|
57
|
+
var cwd = process.cwd();
|
|
58
|
+
var ModuleIdEmbedPlugin = class {
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
constructor(appName, options) {
|
|
63
|
+
this.appName = appName;
|
|
64
|
+
this.includeAllModules = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _ => _.includeAllModules]), () => ( false));
|
|
65
|
+
this.isServer = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _2 => _2.isServer]), () => ( false));
|
|
66
|
+
}
|
|
67
|
+
apply(compiler) {
|
|
68
|
+
const ModuleIdEmbedRuntimeModule = createModuleIdEmbedRuntimeModule(
|
|
69
|
+
compiler.webpack
|
|
70
|
+
);
|
|
71
|
+
compiler.hooks.thisCompilation.tap("ModuleIdEmbedPlugin", (compilation) => {
|
|
72
|
+
const moduleMap = {};
|
|
73
|
+
compilation.hooks.runtimeRequirementInTree.for(compiler.webpack.RuntimeGlobals.require).tap("ModuleIdEmbedPlugin", (chunk, set) => {
|
|
74
|
+
for (const mod of compilation.modules) {
|
|
75
|
+
const id = compilation.chunkGraph.getModuleId(mod);
|
|
76
|
+
if (id && (this.includeAllModules || _optionalChain([mod, 'access', _3 => _3.layer, 'optionalAccess', _4 => _4.endsWith, 'call', _5 => _5("browser")]) || !this.isServer && mod.layer === null)) {
|
|
77
|
+
const normalModule = mod;
|
|
78
|
+
if (normalModule.resource || normalModule.request) {
|
|
79
|
+
moduleMap[_path.relative.call(void 0, cwd, normalModule.resource || normalModule.request)] = id;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (Object.keys(moduleMap).length > 0) {
|
|
84
|
+
compilation.addRuntimeModule(
|
|
85
|
+
chunk,
|
|
86
|
+
new ModuleIdEmbedRuntimeModule(
|
|
87
|
+
this.appName,
|
|
88
|
+
moduleMap
|
|
89
|
+
)
|
|
90
|
+
);
|
|
91
|
+
set.add(compiler.webpack.RuntimeGlobals.require);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// src/config/webpack/plugins/patch-require.ts
|
|
99
|
+
var PatchRequirePlugin = class {
|
|
100
|
+
|
|
101
|
+
constructor(appName) {
|
|
102
|
+
this.appName = appName;
|
|
103
|
+
}
|
|
104
|
+
apply(compiler) {
|
|
105
|
+
const { sources } = compiler.webpack;
|
|
106
|
+
compiler.hooks.thisCompilation.tap("PatchRequirePlugin", (compilation) => {
|
|
107
|
+
compilation.mainTemplate.hooks.requireExtensions.tap(
|
|
108
|
+
"PatchRequirePlugin",
|
|
109
|
+
(source) => {
|
|
110
|
+
return new sources.ConcatSource(
|
|
111
|
+
source,
|
|
112
|
+
`const __webpack_require_orig__ = __webpack_require__;
|
|
113
|
+
const REMOTE_RE = /\\[(?<bundle>[^\\]]+)\\] (?<id>.*)/;
|
|
114
|
+
__webpack_require__ = function __remote_webpack_require__(remoteId) {
|
|
115
|
+
const match = REMOTE_RE.exec(remoteId);
|
|
116
|
+
const bundle = match?.groups?.bundle;
|
|
117
|
+
const id = match?.groups?.id;
|
|
118
|
+
if (!(id && bundle)) {
|
|
119
|
+
return __webpack_require_orig__(remoteId);
|
|
120
|
+
}
|
|
121
|
+
if (typeof self.__remote_webpack_require__?.[bundle] !== 'function') {
|
|
122
|
+
const error = new Error(\`Remote Components are not available in "\${bundle}". Did you forget to wrap the Next.js config with \\\`withRemoteComponentsConfig\\\` on both host and remote?\`);
|
|
123
|
+
error.name = 'RemoteComponentsError';
|
|
124
|
+
error.code = 'REMOTE_COMPONENTS_ERROR';
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
return self.__remote_webpack_require__[bundle](self.__remote_webpack_require__[bundle].type === 'turbopack' ? remoteId : id);
|
|
128
|
+
};
|
|
129
|
+
Object.assign(__webpack_require__, __webpack_require_orig__);
|
|
130
|
+
const __webpack_require_l__ = __webpack_require__.l;
|
|
131
|
+
__webpack_require__.l = function __remote_webpack_require_l__(url, done, key, chunkId) {
|
|
132
|
+
const match = REMOTE_RE.exec(chunkId);
|
|
133
|
+
const bundle = match?.groups?.bundle;
|
|
134
|
+
const id = match?.groups?.id;
|
|
135
|
+
if (!(id && bundle)) {
|
|
136
|
+
// __remote_bundle_url__[appName] is the *host app's own* asset base URL
|
|
137
|
+
// (set by the HTML host or setupWebpackRuntime). It is NOT a remote
|
|
138
|
+
// bundle URL \u2014 it just ensures the host's own chunks resolve correctly
|
|
139
|
+
// when the page is served from a CDN or different origin.
|
|
140
|
+
return __webpack_require_l__(new URL(url, globalThis.__remote_bundle_url__?.["${this.appName}"] ?? location.origin).href, done, key, chunkId);
|
|
141
|
+
}
|
|
142
|
+
return done();
|
|
143
|
+
};
|
|
144
|
+
const __webpack_require_o__ = __webpack_require__.o;
|
|
145
|
+
__webpack_require__.o = function __remote_webpack_require_o__(installedChunks, chunkId) {
|
|
146
|
+
const match = REMOTE_RE.exec(chunkId);
|
|
147
|
+
const bundle = match?.groups?.bundle;
|
|
148
|
+
const id = match?.groups?.id;
|
|
149
|
+
if (!(id && bundle)) {
|
|
150
|
+
return __webpack_require_o__(installedChunks, chunkId);
|
|
151
|
+
}
|
|
152
|
+
return installedChunks[chunkId] = 0;
|
|
153
|
+
};
|
|
154
|
+
const __webpack_require_e__ = __webpack_require__.e;
|
|
155
|
+
__webpack_require__.e = function __remote_webpack_require_e__(chunkId) {
|
|
156
|
+
const match = REMOTE_RE.exec(chunkId);
|
|
157
|
+
const bundle = match?.groups?.bundle;
|
|
158
|
+
const id = match?.groups?.id;
|
|
159
|
+
if (!(id && bundle)) {
|
|
160
|
+
return __webpack_require_e__(chunkId);
|
|
161
|
+
}
|
|
162
|
+
return Promise.resolve([]);
|
|
163
|
+
};`
|
|
164
|
+
).source().toString();
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
// src/config/webpack/plugins/remote-webpack-require-runtime-module.ts
|
|
172
|
+
function createRemoteWebpackRequireRuntimeModule(webpack) {
|
|
173
|
+
return class RemoteWebpackRequireRuntimeModule extends webpack.RuntimeModule {
|
|
174
|
+
|
|
175
|
+
constructor(appName) {
|
|
176
|
+
super("remote-webpack-require");
|
|
177
|
+
this.appName = appName;
|
|
178
|
+
}
|
|
179
|
+
generate() {
|
|
180
|
+
return `globalThis.__remote_webpack_require__ = globalThis.__remote_webpack_require__ || {}; globalThis.__remote_webpack_require__["${this.appName}"] = __webpack_require__;`;
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// src/config/webpack/plugins/remote-webpack-require.ts
|
|
186
|
+
var RemoteWebpackRequirePlugin = class {
|
|
187
|
+
|
|
188
|
+
constructor(appName) {
|
|
189
|
+
this.appName = appName;
|
|
190
|
+
}
|
|
191
|
+
apply(compiler) {
|
|
192
|
+
const RemoteWebpackRequireRuntimeModule = createRemoteWebpackRequireRuntimeModule(compiler.webpack);
|
|
193
|
+
compiler.hooks.thisCompilation.tap(
|
|
194
|
+
"RemoteWebpackRequirePlugin",
|
|
195
|
+
(compilation) => {
|
|
196
|
+
compilation.hooks.runtimeRequirementInTree.for("__webpack_require__").tap("RemoteWebpackRequirePlugin", (chunk) => {
|
|
197
|
+
compilation.addRuntimeModule(
|
|
198
|
+
chunk,
|
|
199
|
+
new RemoteWebpackRequireRuntimeModule(
|
|
200
|
+
this.appName
|
|
201
|
+
)
|
|
202
|
+
);
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
exports.ConditionalExecPlugin = ConditionalExecPlugin; exports.ModuleIdEmbedPlugin = ModuleIdEmbedPlugin; exports.PatchRequirePlugin = PatchRequirePlugin; exports.RemoteWebpackRequirePlugin = RemoteWebpackRequirePlugin;
|
|
215
|
+
//# sourceMappingURL=chunk-N5VQR2PW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config/webpack/plugins/conditional-exec.ts","../src/config/webpack/plugins/module-id-embed.ts","../src/config/webpack/plugins/module-id-embed-runtime-module.ts","../src/config/webpack/plugins/patch-require.ts","../src/config/webpack/plugins/remote-webpack-require-runtime-module.ts","../src/config/webpack/plugins/remote-webpack-require.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Compiler } from 'webpack';\n\nexport class ConditionalExecPlugin {\n appName: string;\n\n constructor(appName: string) {\n this.appName = appName;\n }\n\n apply(compiler: Compiler) {\n const { Compilation, sources } = compiler.webpack;\n\n compiler.hooks.thisCompilation.tap(\n 'ConditionalExecPlugin',\n (compilation) => {\n compilation.hooks.processAssets.tap(\n {\n name: 'ConditionalExecPlugin',\n stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS,\n },\n (assets) => {\n for (const [name, source] of Object.entries(assets)) {\n if (name.endsWith('.js')) {\n const patchedSource = source\n .source()\n .toString()\n .replace(\n `var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))`,\n `var __webpack_exec__ = (moduleId) => { if (globalThis.__DISABLE_WEBPACK_EXEC__ && globalThis.__DISABLE_WEBPACK_EXEC__[\"${this.appName}\"]) return; return __webpack_require__(__webpack_require__.s = moduleId); }`,\n );\n compilation.updateAsset(\n name,\n new sources.RawSource(patchedSource),\n );\n }\n }\n },\n );\n },\n );\n }\n}\n","import { relative } from 'node:path';\nimport type { Compiler, NormalModule, RuntimeModule } from 'webpack';\nimport { createModuleIdEmbedRuntimeModule } from './module-id-embed-runtime-module';\n\nconst cwd = process.cwd();\n\nexport class ModuleIdEmbedPlugin {\n appName: string;\n includeAllModules: boolean;\n isServer: boolean;\n\n constructor(\n appName: string,\n options?: { includeAllModules?: boolean; isServer?: boolean },\n ) {\n this.appName = appName;\n this.includeAllModules = options?.includeAllModules ?? false;\n this.isServer = options?.isServer ?? false;\n }\n\n apply(compiler: Compiler) {\n const ModuleIdEmbedRuntimeModule = createModuleIdEmbedRuntimeModule(\n compiler.webpack,\n );\n\n compiler.hooks.thisCompilation.tap('ModuleIdEmbedPlugin', (compilation) => {\n const moduleMap = {} as Record<string, string | number>;\n\n compilation.hooks.runtimeRequirementInTree\n .for(compiler.webpack.RuntimeGlobals.require)\n .tap('ModuleIdEmbedPlugin', (chunk, set) => {\n for (const mod of compilation.modules) {\n const id = compilation.chunkGraph.getModuleId(mod);\n if (\n id &&\n (this.includeAllModules ||\n mod.layer?.endsWith('browser') ||\n (!this.isServer && mod.layer === null))\n ) {\n const normalModule = mod as NormalModule;\n if (normalModule.resource || normalModule.request) {\n moduleMap[\n relative(cwd, normalModule.resource || normalModule.request)\n ] = id;\n }\n }\n }\n\n if (Object.keys(moduleMap).length > 0) {\n compilation.addRuntimeModule(\n chunk,\n new ModuleIdEmbedRuntimeModule(\n this.appName,\n moduleMap,\n ) as unknown as RuntimeModule,\n );\n\n set.add(compiler.webpack.RuntimeGlobals.require);\n }\n });\n });\n }\n}\n","export function createModuleIdEmbedRuntimeModule(webpack: {\n RuntimeModule: new (name: string, stage?: number) => object;\n}) {\n return class ModuleIdEmbedRuntimeModule extends webpack.RuntimeModule {\n appName: string;\n moduleMap: Record<string | number, unknown>;\n\n constructor(appName: string, moduleMap: Record<string | number, unknown>) {\n super('remote-webpack-module-id-embed');\n this.appName = appName;\n this.moduleMap = moduleMap;\n }\n\n generate(): null | string {\n return `globalThis.__remote_webpack_module_map__ = globalThis.__remote_webpack_module_map__ || {}; globalThis.__remote_webpack_module_map__[\"${this.appName}\"] = ${JSON.stringify(this.moduleMap)};`;\n }\n };\n}\n","import type { Compiler } from 'webpack';\n\n// This plugin patches the webpack require function to support loading remote components in Next.js\nexport class PatchRequirePlugin {\n appName: string;\n\n constructor(appName: string) {\n this.appName = appName;\n }\n\n apply(compiler: Compiler) {\n const { sources } = compiler.webpack;\n\n compiler.hooks.thisCompilation.tap('PatchRequirePlugin', (compilation) => {\n compilation.mainTemplate.hooks.requireExtensions.tap(\n 'PatchRequirePlugin',\n (source) => {\n return new sources.ConcatSource(\n source,\n `const __webpack_require_orig__ = __webpack_require__;\nconst REMOTE_RE = /\\\\[(?<bundle>[^\\\\]]+)\\\\] (?<id>.*)/;\n__webpack_require__ = function __remote_webpack_require__(remoteId) {\n const match = REMOTE_RE.exec(remoteId);\n const bundle = match?.groups?.bundle;\n const id = match?.groups?.id;\n if (!(id && bundle)) {\n return __webpack_require_orig__(remoteId);\n }\n if (typeof self.__remote_webpack_require__?.[bundle] !== 'function') {\n const error = new Error(\\`Remote Components are not available in \"\\${bundle}\". Did you forget to wrap the Next.js config with \\\\\\`withRemoteComponentsConfig\\\\\\` on both host and remote?\\`);\n error.name = 'RemoteComponentsError';\n error.code = 'REMOTE_COMPONENTS_ERROR';\n throw error;\n }\n return self.__remote_webpack_require__[bundle](self.__remote_webpack_require__[bundle].type === 'turbopack' ? remoteId : id);\n};\nObject.assign(__webpack_require__, __webpack_require_orig__);\nconst __webpack_require_l__ = __webpack_require__.l;\n__webpack_require__.l = function __remote_webpack_require_l__(url, done, key, chunkId) {\n const match = REMOTE_RE.exec(chunkId);\n const bundle = match?.groups?.bundle;\n const id = match?.groups?.id;\n if (!(id && bundle)) {\n // __remote_bundle_url__[appName] is the *host app's own* asset base URL\n // (set by the HTML host or setupWebpackRuntime). It is NOT a remote\n // bundle URL — it just ensures the host's own chunks resolve correctly\n // when the page is served from a CDN or different origin.\n return __webpack_require_l__(new URL(url, globalThis.__remote_bundle_url__?.[\"${this.appName}\"] ?? location.origin).href, done, key, chunkId);\n }\n return done();\n};\nconst __webpack_require_o__ = __webpack_require__.o;\n__webpack_require__.o = function __remote_webpack_require_o__(installedChunks, chunkId) {\n const match = REMOTE_RE.exec(chunkId);\n const bundle = match?.groups?.bundle;\n const id = match?.groups?.id;\n if (!(id && bundle)) {\n return __webpack_require_o__(installedChunks, chunkId);\n }\n return installedChunks[chunkId] = 0;\n};\nconst __webpack_require_e__ = __webpack_require__.e;\n__webpack_require__.e = function __remote_webpack_require_e__(chunkId) {\n const match = REMOTE_RE.exec(chunkId);\n const bundle = match?.groups?.bundle;\n const id = match?.groups?.id;\n if (!(id && bundle)) {\n return __webpack_require_e__(chunkId);\n }\n return Promise.resolve([]);\n};`,\n )\n .source()\n .toString();\n },\n );\n });\n }\n}\n","export function createRemoteWebpackRequireRuntimeModule(webpack: {\n RuntimeModule: new (name: string, stage?: number) => object;\n}) {\n return class RemoteWebpackRequireRuntimeModule extends webpack.RuntimeModule {\n appName: string;\n\n constructor(appName: string) {\n super('remote-webpack-require');\n this.appName = appName;\n }\n\n generate(): null | string {\n return `globalThis.__remote_webpack_require__ = globalThis.__remote_webpack_require__ || {}; globalThis.__remote_webpack_require__[\"${this.appName}\"] = __webpack_require__;`;\n }\n };\n}\n","import type { Compiler, RuntimeModule } from 'webpack';\nimport { createRemoteWebpackRequireRuntimeModule } from './remote-webpack-require-runtime-module';\n\nexport class RemoteWebpackRequirePlugin {\n appName: string;\n\n constructor(appName: string) {\n this.appName = appName;\n }\n\n apply(compiler: Compiler) {\n const RemoteWebpackRequireRuntimeModule =\n createRemoteWebpackRequireRuntimeModule(compiler.webpack);\n\n compiler.hooks.thisCompilation.tap(\n 'RemoteWebpackRequirePlugin',\n (compilation) => {\n compilation.hooks.runtimeRequirementInTree\n .for('__webpack_require__')\n .tap('RemoteWebpackRequirePlugin', (chunk) => {\n compilation.addRuntimeModule(\n chunk,\n new RemoteWebpackRequireRuntimeModule(\n this.appName,\n ) as unknown as RuntimeModule,\n );\n });\n },\n );\n }\n}\n"]}
|