@module-federation/node 0.0.0-chore-bump-node-22-20260710161714
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/LICENSE +21 -0
- package/README.md +235 -0
- package/dist/_virtual/_rolldown/runtime.js +31 -0
- package/dist/_virtual/_rolldown/runtime.mjs +8 -0
- package/dist/plugins/ChunkCorrelationPlugin.js +308 -0
- package/dist/plugins/ChunkCorrelationPlugin.js.map +1 -0
- package/dist/plugins/ChunkCorrelationPlugin.mjs +305 -0
- package/dist/plugins/ChunkCorrelationPlugin.mjs.map +1 -0
- package/dist/src/filesystem/stratagies.d.mts +21 -0
- package/dist/src/filesystem/stratagies.d.ts +21 -0
- package/dist/src/filesystem/stratagies.js +105 -0
- package/dist/src/filesystem/stratagies.js.map +1 -0
- package/dist/src/filesystem/stratagies.mjs +103 -0
- package/dist/src/filesystem/stratagies.mjs.map +1 -0
- package/dist/src/index.d.mts +8 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.js +16 -0
- package/dist/src/index.mjs +9 -0
- package/dist/src/plugins/AutomaticPublicPathPlugin.d.mts +12 -0
- package/dist/src/plugins/AutomaticPublicPathPlugin.d.ts +11 -0
- package/dist/src/plugins/AutomaticPublicPathPlugin.js +29 -0
- package/dist/src/plugins/AutomaticPublicPathPlugin.js.map +1 -0
- package/dist/src/plugins/AutomaticPublicPathPlugin.mjs +28 -0
- package/dist/src/plugins/AutomaticPublicPathPlugin.mjs.map +1 -0
- package/dist/src/plugins/ChunkCorrelationPlugin.d.mts +5 -0
- package/dist/src/plugins/ChunkCorrelationPlugin.d.ts +4 -0
- package/dist/src/plugins/ChunkCorrelationPlugin.js +9 -0
- package/dist/src/plugins/ChunkCorrelationPlugin.js.map +1 -0
- package/dist/src/plugins/ChunkCorrelationPlugin.mjs +8 -0
- package/dist/src/plugins/ChunkCorrelationPlugin.mjs.map +1 -0
- package/dist/src/plugins/CommonJsChunkLoadingPlugin.d.mts +21 -0
- package/dist/src/plugins/CommonJsChunkLoadingPlugin.d.ts +20 -0
- package/dist/src/plugins/CommonJsChunkLoadingPlugin.js +71 -0
- package/dist/src/plugins/CommonJsChunkLoadingPlugin.js.map +1 -0
- package/dist/src/plugins/CommonJsChunkLoadingPlugin.mjs +70 -0
- package/dist/src/plugins/CommonJsChunkLoadingPlugin.mjs.map +1 -0
- package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.mts +46 -0
- package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts +45 -0
- package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js +112 -0
- package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js.map +1 -0
- package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.mjs +111 -0
- package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.mjs.map +1 -0
- package/dist/src/plugins/EntryChunkTrackerPlugin.d.mts +17 -0
- package/dist/src/plugins/EntryChunkTrackerPlugin.d.ts +17 -0
- package/dist/src/plugins/EntryChunkTrackerPlugin.js +39 -0
- package/dist/src/plugins/EntryChunkTrackerPlugin.js.map +1 -0
- package/dist/src/plugins/EntryChunkTrackerPlugin.mjs +38 -0
- package/dist/src/plugins/EntryChunkTrackerPlugin.mjs.map +1 -0
- package/dist/src/plugins/NodeFederationPlugin.d.mts +54 -0
- package/dist/src/plugins/NodeFederationPlugin.d.ts +53 -0
- package/dist/src/plugins/NodeFederationPlugin.js +76 -0
- package/dist/src/plugins/NodeFederationPlugin.js.map +1 -0
- package/dist/src/plugins/NodeFederationPlugin.mjs +73 -0
- package/dist/src/plugins/NodeFederationPlugin.mjs.map +1 -0
- package/dist/src/plugins/RemotePublicPathRuntimeModule.d.mts +15 -0
- package/dist/src/plugins/RemotePublicPathRuntimeModule.d.ts +14 -0
- package/dist/src/plugins/RemotePublicPathRuntimeModule.js +133 -0
- package/dist/src/plugins/RemotePublicPathRuntimeModule.js.map +1 -0
- package/dist/src/plugins/RemotePublicPathRuntimeModule.mjs +132 -0
- package/dist/src/plugins/RemotePublicPathRuntimeModule.mjs.map +1 -0
- package/dist/src/plugins/StreamingTargetPlugin.d.mts +32 -0
- package/dist/src/plugins/StreamingTargetPlugin.d.ts +31 -0
- package/dist/src/plugins/StreamingTargetPlugin.js +46 -0
- package/dist/src/plugins/StreamingTargetPlugin.js.map +1 -0
- package/dist/src/plugins/StreamingTargetPlugin.mjs +46 -0
- package/dist/src/plugins/StreamingTargetPlugin.mjs.map +1 -0
- package/dist/src/plugins/UniversalFederationPlugin.d.mts +49 -0
- package/dist/src/plugins/UniversalFederationPlugin.d.ts +48 -0
- package/dist/src/plugins/UniversalFederationPlugin.js +66 -0
- package/dist/src/plugins/UniversalFederationPlugin.js.map +1 -0
- package/dist/src/plugins/UniversalFederationPlugin.mjs +65 -0
- package/dist/src/plugins/UniversalFederationPlugin.mjs.map +1 -0
- package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.d.mts +9 -0
- package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.d.ts +8 -0
- package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.js +25 -0
- package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.js.map +1 -0
- package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.mjs +23 -0
- package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.mjs.map +1 -0
- package/dist/src/plugins/webpackChunkUtilities.d.mts +55 -0
- package/dist/src/plugins/webpackChunkUtilities.d.ts +55 -0
- package/dist/src/plugins/webpackChunkUtilities.js +242 -0
- package/dist/src/plugins/webpackChunkUtilities.js.map +1 -0
- package/dist/src/plugins/webpackChunkUtilities.mjs +234 -0
- package/dist/src/plugins/webpackChunkUtilities.mjs.map +1 -0
- package/dist/src/recordDynamicRemoteEntryHashPlugin.d.mts +7 -0
- package/dist/src/recordDynamicRemoteEntryHashPlugin.d.ts +6 -0
- package/dist/src/recordDynamicRemoteEntryHashPlugin.js +28 -0
- package/dist/src/recordDynamicRemoteEntryHashPlugin.js.map +1 -0
- package/dist/src/recordDynamicRemoteEntryHashPlugin.mjs +26 -0
- package/dist/src/recordDynamicRemoteEntryHashPlugin.mjs.map +1 -0
- package/dist/src/runtimePlugin.d.mts +27 -0
- package/dist/src/runtimePlugin.d.ts +27 -0
- package/dist/src/runtimePlugin.js +242 -0
- package/dist/src/runtimePlugin.js.map +1 -0
- package/dist/src/runtimePlugin.mjs +226 -0
- package/dist/src/runtimePlugin.mjs.map +1 -0
- package/dist/src/types/index.d.mts +8 -0
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/index.mjs +1 -0
- package/dist/src/utils/flush-chunks.d.mts +15 -0
- package/dist/src/utils/flush-chunks.d.ts +15 -0
- package/dist/src/utils/flush-chunks.js +106 -0
- package/dist/src/utils/flush-chunks.js.map +1 -0
- package/dist/src/utils/flush-chunks.mjs +102 -0
- package/dist/src/utils/flush-chunks.mjs.map +1 -0
- package/dist/src/utils/hot-reload.d.mts +16 -0
- package/dist/src/utils/hot-reload.d.ts +16 -0
- package/dist/src/utils/hot-reload.js +206 -0
- package/dist/src/utils/hot-reload.js.map +1 -0
- package/dist/src/utils/hot-reload.mjs +195 -0
- package/dist/src/utils/hot-reload.mjs.map +1 -0
- package/dist/src/utils/index.d.mts +3 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.js +15 -0
- package/dist/src/utils/index.mjs +4 -0
- package/package.json +135 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import StreamingTargetPlugin from "./plugins/StreamingTargetPlugin.mjs";
|
|
2
|
+
import NodeFederationPlugin from "./plugins/NodeFederationPlugin.mjs";
|
|
3
|
+
import UniversalFederationPlugin from "./plugins/UniversalFederationPlugin.mjs";
|
|
4
|
+
import ChunkCorrelationPlugin from "./plugins/ChunkCorrelationPlugin.mjs";
|
|
5
|
+
import AutoPublicPathRuntimeModule from "./plugins/RemotePublicPathRuntimeModule.mjs";
|
|
6
|
+
import EntryChunkTrackerPlugin from "./plugins/EntryChunkTrackerPlugin.mjs";
|
|
7
|
+
import UniverseEntryChunkTrackerPlugin from "./plugins/UniverseEntryChunkTrackerPlugin.mjs";
|
|
8
|
+
export { ChunkCorrelationPlugin, EntryChunkTrackerPlugin, NodeFederationPlugin, AutoPublicPathRuntimeModule as RemotePublicPathPlugin, StreamingTargetPlugin, UniversalFederationPlugin, UniverseEntryChunkTrackerPlugin };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import StreamingTargetPlugin from "./plugins/StreamingTargetPlugin.js";
|
|
2
|
+
import NodeFederationPlugin from "./plugins/NodeFederationPlugin.js";
|
|
3
|
+
import UniversalFederationPlugin from "./plugins/UniversalFederationPlugin.js";
|
|
4
|
+
import ChunkCorrelationPlugin from "./plugins/ChunkCorrelationPlugin.js";
|
|
5
|
+
import AutoPublicPathRuntimeModule from "./plugins/RemotePublicPathRuntimeModule.js";
|
|
6
|
+
import EntryChunkTrackerPlugin from "./plugins/EntryChunkTrackerPlugin.js";
|
|
7
|
+
import UniverseEntryChunkTrackerPlugin from "./plugins/UniverseEntryChunkTrackerPlugin.js";
|
|
8
|
+
export { ChunkCorrelationPlugin, EntryChunkTrackerPlugin, NodeFederationPlugin, AutoPublicPathRuntimeModule as RemotePublicPathPlugin, StreamingTargetPlugin, UniversalFederationPlugin, UniverseEntryChunkTrackerPlugin };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_src_plugins_RemotePublicPathRuntimeModule = require('./plugins/RemotePublicPathRuntimeModule.js');
|
|
3
|
+
const require_src_plugins_StreamingTargetPlugin = require('./plugins/StreamingTargetPlugin.js');
|
|
4
|
+
const require_src_plugins_EntryChunkTrackerPlugin = require('./plugins/EntryChunkTrackerPlugin.js');
|
|
5
|
+
const require_src_plugins_NodeFederationPlugin = require('./plugins/NodeFederationPlugin.js');
|
|
6
|
+
const require_src_plugins_UniversalFederationPlugin = require('./plugins/UniversalFederationPlugin.js');
|
|
7
|
+
const require_src_plugins_ChunkCorrelationPlugin = require('./plugins/ChunkCorrelationPlugin.js');
|
|
8
|
+
const require_src_plugins_UniverseEntryChunkTrackerPlugin = require('./plugins/UniverseEntryChunkTrackerPlugin.js');
|
|
9
|
+
|
|
10
|
+
exports.ChunkCorrelationPlugin = require_src_plugins_ChunkCorrelationPlugin.default;
|
|
11
|
+
exports.EntryChunkTrackerPlugin = require_src_plugins_EntryChunkTrackerPlugin.default;
|
|
12
|
+
exports.NodeFederationPlugin = require_src_plugins_NodeFederationPlugin.default;
|
|
13
|
+
exports.RemotePublicPathPlugin = require_src_plugins_RemotePublicPathRuntimeModule.default;
|
|
14
|
+
exports.StreamingTargetPlugin = require_src_plugins_StreamingTargetPlugin.default;
|
|
15
|
+
exports.UniversalFederationPlugin = require_src_plugins_UniversalFederationPlugin.default;
|
|
16
|
+
exports.UniverseEntryChunkTrackerPlugin = require_src_plugins_UniverseEntryChunkTrackerPlugin.default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import AutoPublicPathRuntimeModule from "./plugins/RemotePublicPathRuntimeModule.mjs";
|
|
2
|
+
import StreamingTargetPlugin from "./plugins/StreamingTargetPlugin.mjs";
|
|
3
|
+
import EntryChunkTrackerPlugin from "./plugins/EntryChunkTrackerPlugin.mjs";
|
|
4
|
+
import NodeFederationPlugin from "./plugins/NodeFederationPlugin.mjs";
|
|
5
|
+
import UniversalFederationPlugin from "./plugins/UniversalFederationPlugin.mjs";
|
|
6
|
+
import ChunkCorrelationPlugin from "./plugins/ChunkCorrelationPlugin.mjs";
|
|
7
|
+
import UniverseEntryChunkTrackerPlugin from "./plugins/UniverseEntryChunkTrackerPlugin.mjs";
|
|
8
|
+
|
|
9
|
+
export { ChunkCorrelationPlugin, EntryChunkTrackerPlugin, NodeFederationPlugin, AutoPublicPathRuntimeModule as RemotePublicPathPlugin, StreamingTargetPlugin, UniversalFederationPlugin, UniverseEntryChunkTrackerPlugin };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Compiler } from "webpack";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/AutomaticPublicPathPlugin.d.ts
|
|
4
|
+
interface PluginOptions {}
|
|
5
|
+
declare class RemotePublicPathPlugin {
|
|
6
|
+
private options?;
|
|
7
|
+
constructor(options?: PluginOptions);
|
|
8
|
+
apply(compiler: Compiler): void;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { RemotePublicPathPlugin as default };
|
|
12
|
+
//# sourceMappingURL=AutomaticPublicPathPlugin.d.mts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Compiler } from "webpack";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/AutomaticPublicPathPlugin.d.ts
|
|
4
|
+
interface PluginOptions {}
|
|
5
|
+
declare class RemotePublicPathPlugin {
|
|
6
|
+
private options?;
|
|
7
|
+
constructor(options?: PluginOptions);
|
|
8
|
+
apply(compiler: Compiler): void;
|
|
9
|
+
}
|
|
10
|
+
export = RemotePublicPathPlugin;
|
|
11
|
+
//# sourceMappingURL=AutomaticPublicPathPlugin.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_src_plugins_RemotePublicPathRuntimeModule = require('./RemotePublicPathRuntimeModule.js');
|
|
3
|
+
|
|
4
|
+
//#region src/plugins/AutomaticPublicPathPlugin.ts
|
|
5
|
+
var RemotePublicPathPlugin = class {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.options = options;
|
|
8
|
+
}
|
|
9
|
+
apply(compiler) {
|
|
10
|
+
const { RuntimeGlobals } = compiler.webpack;
|
|
11
|
+
compiler.hooks.thisCompilation.tap("RemotePublicPathPlugin", (compilation) => {
|
|
12
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.publicPath).tap("RuntimePlugin", (chunk, set) => {
|
|
13
|
+
const { outputOptions } = compilation;
|
|
14
|
+
const { publicPath: globalPublicPath, scriptType } = outputOptions;
|
|
15
|
+
const entryOptions = chunk.getEntryOptions();
|
|
16
|
+
const publicPath = entryOptions && entryOptions.publicPath !== void 0 ? entryOptions.publicPath : globalPublicPath;
|
|
17
|
+
const module = new require_src_plugins_RemotePublicPathRuntimeModule.default(this.options);
|
|
18
|
+
if (publicPath === "auto" && scriptType !== "module") set.add(RuntimeGlobals.global);
|
|
19
|
+
else if (typeof publicPath !== "string" || /\[(full)?hash\]/.test(publicPath)) module.fullHash = true;
|
|
20
|
+
compilation.addRuntimeModule(chunk, module);
|
|
21
|
+
return true;
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
exports.default = RemotePublicPathPlugin;
|
|
29
|
+
//# sourceMappingURL=AutomaticPublicPathPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutomaticPublicPathPlugin.js","names":["RemotePublicPathRuntimeModule"],"sources":["../../../src/plugins/AutomaticPublicPathPlugin.ts"],"sourcesContent":["import type { Compiler } from 'webpack';\n\nimport RemotePublicPathRuntimeModule from './RemotePublicPathRuntimeModule';\n\ninterface PluginOptions {}\n\nclass RemotePublicPathPlugin {\n private options?: PluginOptions;\n\n constructor(options?: PluginOptions) {\n this.options = options;\n }\n\n apply(compiler: Compiler) {\n const { RuntimeGlobals } = compiler.webpack;\n compiler.hooks.thisCompilation.tap(\n 'RemotePublicPathPlugin',\n (compilation) => {\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.publicPath)\n .tap('RuntimePlugin', (chunk, set) => {\n const { outputOptions } = compilation;\n const { publicPath: globalPublicPath, scriptType } = outputOptions;\n const entryOptions = chunk.getEntryOptions();\n const publicPath =\n entryOptions && entryOptions.publicPath !== undefined\n ? entryOptions.publicPath\n : globalPublicPath;\n\n const module = new RemotePublicPathRuntimeModule(this.options);\n if (publicPath === 'auto' && scriptType !== 'module') {\n set.add(RuntimeGlobals.global);\n } else if (\n typeof publicPath !== 'string' ||\n /\\[(full)?hash\\]/.test(publicPath)\n ) {\n module.fullHash = true;\n }\n\n compilation.addRuntimeModule(chunk, module);\n return true;\n });\n },\n );\n }\n}\n\nexport default RemotePublicPathPlugin;\n"],"mappings":";;;;AAMA,IAAM,yBAAN,MAA6B;CAG3B,YAAY,SAAyB;AACnC,OAAK,UAAU;;CAGjB,MAAM,UAAoB;EACxB,MAAM,EAAE,mBAAmB,SAAS;AACpC,WAAS,MAAM,gBAAgB,IAC7B,2BACC,gBAAgB;AACf,eAAY,MAAM,yBACf,IAAI,eAAe,WAAW,CAC9B,IAAI,kBAAkB,OAAO,QAAQ;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,YAAY,kBAAkB,eAAe;IACrD,MAAM,eAAe,MAAM,iBAAiB;IAC5C,MAAM,aACJ,gBAAgB,aAAa,eAAe,SACxC,aAAa,aACb;IAEN,MAAM,SAAS,IAAIA,0DAA8B,KAAK,QAAQ;AAC9D,QAAI,eAAe,UAAU,eAAe,SAC1C,KAAI,IAAI,eAAe,OAAO;aAE9B,OAAO,eAAe,YACtB,kBAAkB,KAAK,WAAW,CAElC,QAAO,WAAW;AAGpB,gBAAY,iBAAiB,OAAO,OAAO;AAC3C,WAAO;KACP;IAEP"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import AutoPublicPathRuntimeModule from "./RemotePublicPathRuntimeModule.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/AutomaticPublicPathPlugin.ts
|
|
4
|
+
var RemotePublicPathPlugin = class {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
apply(compiler) {
|
|
9
|
+
const { RuntimeGlobals } = compiler.webpack;
|
|
10
|
+
compiler.hooks.thisCompilation.tap("RemotePublicPathPlugin", (compilation) => {
|
|
11
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.publicPath).tap("RuntimePlugin", (chunk, set) => {
|
|
12
|
+
const { outputOptions } = compilation;
|
|
13
|
+
const { publicPath: globalPublicPath, scriptType } = outputOptions;
|
|
14
|
+
const entryOptions = chunk.getEntryOptions();
|
|
15
|
+
const publicPath = entryOptions && entryOptions.publicPath !== void 0 ? entryOptions.publicPath : globalPublicPath;
|
|
16
|
+
const module = new AutoPublicPathRuntimeModule(this.options);
|
|
17
|
+
if (publicPath === "auto" && scriptType !== "module") set.add(RuntimeGlobals.global);
|
|
18
|
+
else if (typeof publicPath !== "string" || /\[(full)?hash\]/.test(publicPath)) module.fullHash = true;
|
|
19
|
+
compilation.addRuntimeModule(chunk, module);
|
|
20
|
+
return true;
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { RemotePublicPathPlugin as default };
|
|
28
|
+
//# sourceMappingURL=AutomaticPublicPathPlugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutomaticPublicPathPlugin.mjs","names":["RemotePublicPathRuntimeModule"],"sources":["../../../src/plugins/AutomaticPublicPathPlugin.ts"],"sourcesContent":["import type { Compiler } from 'webpack';\n\nimport RemotePublicPathRuntimeModule from './RemotePublicPathRuntimeModule';\n\ninterface PluginOptions {}\n\nclass RemotePublicPathPlugin {\n private options?: PluginOptions;\n\n constructor(options?: PluginOptions) {\n this.options = options;\n }\n\n apply(compiler: Compiler) {\n const { RuntimeGlobals } = compiler.webpack;\n compiler.hooks.thisCompilation.tap(\n 'RemotePublicPathPlugin',\n (compilation) => {\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.publicPath)\n .tap('RuntimePlugin', (chunk, set) => {\n const { outputOptions } = compilation;\n const { publicPath: globalPublicPath, scriptType } = outputOptions;\n const entryOptions = chunk.getEntryOptions();\n const publicPath =\n entryOptions && entryOptions.publicPath !== undefined\n ? entryOptions.publicPath\n : globalPublicPath;\n\n const module = new RemotePublicPathRuntimeModule(this.options);\n if (publicPath === 'auto' && scriptType !== 'module') {\n set.add(RuntimeGlobals.global);\n } else if (\n typeof publicPath !== 'string' ||\n /\\[(full)?hash\\]/.test(publicPath)\n ) {\n module.fullHash = true;\n }\n\n compilation.addRuntimeModule(chunk, module);\n return true;\n });\n },\n );\n }\n}\n\nexport default RemotePublicPathPlugin;\n"],"mappings":";;;AAMA,IAAM,yBAAN,MAA6B;CAG3B,YAAY,SAAyB;AACnC,OAAK,UAAU;;CAGjB,MAAM,UAAoB;EACxB,MAAM,EAAE,mBAAmB,SAAS;AACpC,WAAS,MAAM,gBAAgB,IAC7B,2BACC,gBAAgB;AACf,eAAY,MAAM,yBACf,IAAI,eAAe,WAAW,CAC9B,IAAI,kBAAkB,OAAO,QAAQ;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,YAAY,kBAAkB,eAAe;IACrD,MAAM,eAAe,MAAM,iBAAiB;IAC5C,MAAM,aACJ,gBAAgB,aAAa,eAAe,SACxC,aAAa,aACb;IAEN,MAAM,SAAS,IAAIA,4BAA8B,KAAK,QAAQ;AAC9D,QAAI,eAAe,UAAU,eAAe,SAC1C,KAAI,IAAI,eAAe,OAAO;aAE9B,OAAO,eAAe,YACtB,kBAAkB,KAAK,WAAW,CAElC,QAAO,WAAW;AAGpB,gBAAY,iBAAiB,OAAO,OAAO;AAC3C,WAAO;KACP;IAEP"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_ChunkCorrelationPlugin$1 = require('../../plugins/ChunkCorrelationPlugin.js');
|
|
3
|
+
|
|
4
|
+
//#region src/plugins/ChunkCorrelationPlugin.ts
|
|
5
|
+
const ChunkCorrelationPlugin = require_ChunkCorrelationPlugin$1.default;
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.default = ChunkCorrelationPlugin;
|
|
9
|
+
//# sourceMappingURL=ChunkCorrelationPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChunkCorrelationPlugin.js","names":[],"sources":["../../../src/plugins/ChunkCorrelationPlugin.ts"],"sourcesContent":["// Preserve existing CommonJS implementation while exposing a TS default export\n// that tsdown can analyze for dual-format output.\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst ChunkCorrelationPlugin = require('./ChunkCorrelationPlugin.js');\n\nexport default ChunkCorrelationPlugin;\n"],"mappings":";;;;AAGA,MAAM"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { require_ChunkCorrelationPlugin } from "../../plugins/ChunkCorrelationPlugin.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/ChunkCorrelationPlugin.ts
|
|
4
|
+
const ChunkCorrelationPlugin = require_ChunkCorrelationPlugin();
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { ChunkCorrelationPlugin as default };
|
|
8
|
+
//# sourceMappingURL=ChunkCorrelationPlugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChunkCorrelationPlugin.mjs","names":[],"sources":["../../../src/plugins/ChunkCorrelationPlugin.ts"],"sourcesContent":["// Preserve existing CommonJS implementation while exposing a TS default export\n// that tsdown can analyze for dual-format output.\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst ChunkCorrelationPlugin = require('./ChunkCorrelationPlugin.js');\n\nexport default ChunkCorrelationPlugin;\n"],"mappings":";;;AAGA,MAAM"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModuleFederationPluginOptions } from "../types/index.mjs";
|
|
2
|
+
import { Compiler } from "webpack";
|
|
3
|
+
|
|
4
|
+
//#region src/plugins/CommonJsChunkLoadingPlugin.d.ts
|
|
5
|
+
interface DynamicFilesystemChunkLoadingOptions extends ModuleFederationPluginOptions {
|
|
6
|
+
baseURI: Compiler['options']['output']['publicPath'];
|
|
7
|
+
promiseBaseURI?: string;
|
|
8
|
+
remotes: Record<string, string>;
|
|
9
|
+
name?: string;
|
|
10
|
+
asyncChunkLoading: boolean;
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare class DynamicFilesystemChunkLoadingPlugin {
|
|
14
|
+
private options;
|
|
15
|
+
private _asyncChunkLoading;
|
|
16
|
+
constructor(options: DynamicFilesystemChunkLoadingOptions);
|
|
17
|
+
apply(compiler: Compiler): void;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { DynamicFilesystemChunkLoadingPlugin as default };
|
|
21
|
+
//# sourceMappingURL=CommonJsChunkLoadingPlugin.d.mts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModuleFederationPluginOptions } from "../types/index.js";
|
|
2
|
+
import { Compiler } from "webpack";
|
|
3
|
+
|
|
4
|
+
//#region src/plugins/CommonJsChunkLoadingPlugin.d.ts
|
|
5
|
+
interface DynamicFilesystemChunkLoadingOptions extends ModuleFederationPluginOptions {
|
|
6
|
+
baseURI: Compiler['options']['output']['publicPath'];
|
|
7
|
+
promiseBaseURI?: string;
|
|
8
|
+
remotes: Record<string, string>;
|
|
9
|
+
name?: string;
|
|
10
|
+
asyncChunkLoading: boolean;
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare class DynamicFilesystemChunkLoadingPlugin {
|
|
14
|
+
private options;
|
|
15
|
+
private _asyncChunkLoading;
|
|
16
|
+
constructor(options: DynamicFilesystemChunkLoadingOptions);
|
|
17
|
+
apply(compiler: Compiler): void;
|
|
18
|
+
}
|
|
19
|
+
export = DynamicFilesystemChunkLoadingPlugin;
|
|
20
|
+
//# sourceMappingURL=CommonJsChunkLoadingPlugin.d.ts.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
3
|
+
const require_src_plugins_DynamicFilesystemChunkLoadingRuntimeModule = require('./DynamicFilesystemChunkLoadingRuntimeModule.js');
|
|
4
|
+
const require_src_plugins_RemotePublicPathRuntimeModule = require('./RemotePublicPathRuntimeModule.js');
|
|
5
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
6
|
+
|
|
7
|
+
//#region src/plugins/CommonJsChunkLoadingPlugin.ts
|
|
8
|
+
const StartupChunkDependenciesPlugin = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/runtime/StartupChunkDependenciesPlugin"));
|
|
9
|
+
var DynamicFilesystemChunkLoadingPlugin = class {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.options = options || {};
|
|
12
|
+
this._asyncChunkLoading = this.options.asyncChunkLoading;
|
|
13
|
+
}
|
|
14
|
+
apply(compiler) {
|
|
15
|
+
const { RuntimeGlobals } = compiler.webpack;
|
|
16
|
+
new StartupChunkDependenciesPlugin({
|
|
17
|
+
chunkLoading: this._asyncChunkLoading ? "async-node" : "require",
|
|
18
|
+
asyncChunkLoading: this._asyncChunkLoading
|
|
19
|
+
}).apply(compiler);
|
|
20
|
+
compiler.hooks.thisCompilation.tap("DynamicFilesystemChunkLoadingPlugin", (compilation) => {
|
|
21
|
+
const isEnabledForChunk = (_) => true;
|
|
22
|
+
const onceForChunkSet = /* @__PURE__ */ new WeakSet();
|
|
23
|
+
const handler = (chunk, set) => {
|
|
24
|
+
if (onceForChunkSet.has(chunk)) return;
|
|
25
|
+
onceForChunkSet.add(chunk);
|
|
26
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
27
|
+
set.add(RuntimeGlobals.moduleFactoriesAddOnly);
|
|
28
|
+
set.add(RuntimeGlobals.hasOwnProperty);
|
|
29
|
+
set.add(RuntimeGlobals.publicPath);
|
|
30
|
+
compilation.addRuntimeModule(chunk, new require_src_plugins_DynamicFilesystemChunkLoadingRuntimeModule.default(set, this.options, { webpack: compiler.webpack }));
|
|
31
|
+
};
|
|
32
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.ensureChunkHandlers).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
33
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadUpdateHandlers).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
34
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadManifest).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
35
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.baseURI).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
36
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.externalInstallChunk).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
37
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.onChunksLoaded).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
38
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.ensureChunkHandlers).tap("DynamicFilesystemChunkLoadingPlugin", (chunk, set) => {
|
|
39
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
40
|
+
set.add(RuntimeGlobals.getChunkScriptFilename);
|
|
41
|
+
});
|
|
42
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadUpdateHandlers).tap("DynamicFilesystemChunkLoadingPlugin", (chunk, set) => {
|
|
43
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
44
|
+
set.add(RuntimeGlobals.getChunkUpdateScriptFilename);
|
|
45
|
+
set.add(RuntimeGlobals.moduleCache);
|
|
46
|
+
set.add(RuntimeGlobals.hmrModuleData);
|
|
47
|
+
set.add(RuntimeGlobals.moduleFactoriesAddOnly);
|
|
48
|
+
});
|
|
49
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadManifest).tap("DynamicFilesystemChunkLoadingPlugin", (chunk, set) => {
|
|
50
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
51
|
+
set.add(RuntimeGlobals.getUpdateManifestFilename);
|
|
52
|
+
});
|
|
53
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.publicPath).tap("RuntimePlugin", (chunk, set) => {
|
|
54
|
+
const { outputOptions } = compilation;
|
|
55
|
+
const { publicPath: globalPublicPath, scriptType } = outputOptions;
|
|
56
|
+
const entryOptions = chunk.getEntryOptions();
|
|
57
|
+
const publicPath = entryOptions && entryOptions.publicPath !== void 0 ? entryOptions.publicPath : globalPublicPath;
|
|
58
|
+
const module = new require_src_plugins_RemotePublicPathRuntimeModule.default(this.options);
|
|
59
|
+
if (publicPath === "auto" && scriptType !== "module") set.add(RuntimeGlobals.global);
|
|
60
|
+
else if (typeof publicPath !== "string" || /\[(full)?hash\]/.test(publicPath)) module.fullHash = true;
|
|
61
|
+
compilation.addRuntimeModule(chunk, module);
|
|
62
|
+
return true;
|
|
63
|
+
});
|
|
64
|
+
compilation.hooks.additionalTreeRuntimeRequirements.tap("StartupChunkDependenciesPlugin", (chunk, set, { chunkGraph }) => {});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
exports.default = DynamicFilesystemChunkLoadingPlugin;
|
|
71
|
+
//# sourceMappingURL=CommonJsChunkLoadingPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommonJsChunkLoadingPlugin.js","names":["ChunkLoadingRuntimeModule","AutoPublicPathRuntimeModule"],"sources":["../../../src/plugins/CommonJsChunkLoadingPlugin.ts"],"sourcesContent":["import type { Chunk, Compiler, Compilation, ChunkGraph } from 'webpack';\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport type { ModuleFederationPluginOptions } from '../types';\nconst StartupChunkDependenciesPlugin = require(\n normalizeWebpackPath('webpack/lib/runtime/StartupChunkDependenciesPlugin'),\n) as typeof import('webpack/lib/runtime/StartupChunkDependenciesPlugin');\nimport ChunkLoadingRuntimeModule from './DynamicFilesystemChunkLoadingRuntimeModule';\nimport AutoPublicPathRuntimeModule from './RemotePublicPathRuntimeModule';\n\ninterface DynamicFilesystemChunkLoadingOptions extends ModuleFederationPluginOptions {\n baseURI: Compiler['options']['output']['publicPath'];\n promiseBaseURI?: string;\n remotes: Record<string, string>;\n name?: string;\n asyncChunkLoading: boolean;\n debug?: boolean;\n}\n\nclass DynamicFilesystemChunkLoadingPlugin {\n private options: DynamicFilesystemChunkLoadingOptions;\n private _asyncChunkLoading: boolean;\n\n constructor(options: DynamicFilesystemChunkLoadingOptions) {\n this.options = options || ({} as DynamicFilesystemChunkLoadingOptions);\n this._asyncChunkLoading = this.options.asyncChunkLoading;\n }\n\n apply(compiler: Compiler) {\n const { RuntimeGlobals } = compiler.webpack;\n const chunkLoadingValue = this._asyncChunkLoading\n ? 'async-node'\n : 'require';\n\n new StartupChunkDependenciesPlugin({\n chunkLoading: chunkLoadingValue,\n asyncChunkLoading: this._asyncChunkLoading,\n //@ts-ignore\n }).apply(compiler);\n\n compiler.hooks.thisCompilation.tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (compilation: Compilation) => {\n // Always enabled\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const isEnabledForChunk = (_: Chunk) => true;\n const onceForChunkSet = new WeakSet();\n\n const handler = (chunk: Chunk, set: Set<string>) => {\n if (onceForChunkSet.has(chunk)) {\n return;\n }\n\n onceForChunkSet.add(chunk);\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n set.add(RuntimeGlobals.hasOwnProperty);\n\n set.add(RuntimeGlobals.publicPath); // this breaks things\n compilation.addRuntimeModule(\n chunk,\n new ChunkLoadingRuntimeModule(set, this.options, {\n webpack: compiler.webpack,\n }),\n );\n };\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.ensureChunkHandlers)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadUpdateHandlers)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadManifest)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.baseURI)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.externalInstallChunk)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.onChunksLoaded)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.ensureChunkHandlers)\n .tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (chunk: Chunk, set: Set<string>) => {\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.getChunkScriptFilename);\n },\n );\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadUpdateHandlers)\n .tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (chunk: Chunk, set: Set<string>) => {\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.getChunkUpdateScriptFilename);\n set.add(RuntimeGlobals.moduleCache);\n set.add(RuntimeGlobals.hmrModuleData);\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n },\n );\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadManifest)\n .tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (chunk: Chunk, set: Set<string>) => {\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.getUpdateManifestFilename);\n },\n );\n\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.publicPath)\n .tap('RuntimePlugin', (chunk, set) => {\n const { outputOptions } = compilation;\n const { publicPath: globalPublicPath, scriptType } = outputOptions;\n const entryOptions = chunk.getEntryOptions();\n const publicPath =\n entryOptions && entryOptions.publicPath !== undefined\n ? entryOptions.publicPath\n : globalPublicPath;\n\n const module = new AutoPublicPathRuntimeModule(this.options);\n if (publicPath === 'auto' && scriptType !== 'module') {\n set.add(RuntimeGlobals.global);\n } else if (\n typeof publicPath !== 'string' ||\n /\\[(full)?hash\\]/.test(publicPath)\n ) {\n module.fullHash = true;\n }\n\n compilation.addRuntimeModule(chunk, module);\n return true;\n });\n\n compilation.hooks.additionalTreeRuntimeRequirements.tap(\n 'StartupChunkDependenciesPlugin',\n (\n chunk: Chunk,\n set: Set<string>,\n { chunkGraph }: { chunkGraph: ChunkGraph },\n ) => {\n // compilation.addRuntimeModule(\n // chunk,\n // //@ts-ignore\n // new FederationModuleInfoRuntimeModule(),\n // );\n },\n );\n },\n );\n }\n}\n\nexport default DynamicFilesystemChunkLoadingPlugin;\n"],"mappings":";;;;;;;AAGA,MAAM,iCAAiC,gFAChB,qDAAqD,CAC3E;AAaD,IAAM,sCAAN,MAA0C;CAIxC,YAAY,SAA+C;AACzD,OAAK,UAAU,WAAY,EAAE;AAC7B,OAAK,qBAAqB,KAAK,QAAQ;;CAGzC,MAAM,UAAoB;EACxB,MAAM,EAAE,mBAAmB,SAAS;AAKpC,MAAI,+BAA+B;GACjC,cALwB,KAAK,qBAC3B,eACA;GAIF,mBAAmB,KAAK;GAEzB,CAAC,CAAC,MAAM,SAAS;AAElB,WAAS,MAAM,gBAAgB,IAC7B,wCACC,gBAA6B;GAG5B,MAAM,qBAAqB,MAAa;GACxC,MAAM,kCAAkB,IAAI,SAAS;GAErC,MAAM,WAAW,OAAc,QAAqB;AAClD,QAAI,gBAAgB,IAAI,MAAM,CAC5B;AAGF,oBAAgB,IAAI,MAAM;AAC1B,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,uBAAuB;AAC9C,QAAI,IAAI,eAAe,eAAe;AAEtC,QAAI,IAAI,eAAe,WAAW;AAClC,gBAAY,iBACV,OACA,IAAIA,uEAA0B,KAAK,KAAK,SAAS,EAC/C,SAAS,SAAS,SACnB,CAAC,CACH;;AAEH,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,0BAA0B,CAC7C,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,QAAQ,CAC3B,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,qBAAqB,CACxC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,eAAe,CAClC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IACC,wCACC,OAAc,QAAqB;AAClC,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,uBAAuB;KAEjD;AACH,eAAY,MAAM,yBACf,IAAI,eAAe,0BAA0B,CAC7C,IACC,wCACC,OAAc,QAAqB;AAClC,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,6BAA6B;AACpD,QAAI,IAAI,eAAe,YAAY;AACnC,QAAI,IAAI,eAAe,cAAc;AACrC,QAAI,IAAI,eAAe,uBAAuB;KAEjD;AACH,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IACC,wCACC,OAAc,QAAqB;AAClC,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,0BAA0B;KAEpD;AAEH,eAAY,MAAM,yBACf,IAAI,eAAe,WAAW,CAC9B,IAAI,kBAAkB,OAAO,QAAQ;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,YAAY,kBAAkB,eAAe;IACrD,MAAM,eAAe,MAAM,iBAAiB;IAC5C,MAAM,aACJ,gBAAgB,aAAa,eAAe,SACxC,aAAa,aACb;IAEN,MAAM,SAAS,IAAIC,0DAA4B,KAAK,QAAQ;AAC5D,QAAI,eAAe,UAAU,eAAe,SAC1C,KAAI,IAAI,eAAe,OAAO;aAE9B,OAAO,eAAe,YACtB,kBAAkB,KAAK,WAAW,CAElC,QAAO,WAAW;AAGpB,gBAAY,iBAAiB,OAAO,OAAO;AAC3C,WAAO;KACP;AAEJ,eAAY,MAAM,kCAAkC,IAClD,mCAEE,OACA,KACA,EAAE,iBACC,GAON;IAEJ"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { __require } from "../../_virtual/_rolldown/runtime.mjs";
|
|
2
|
+
import DynamicFilesystemChunkLoadingRuntimeModule from "./DynamicFilesystemChunkLoadingRuntimeModule.mjs";
|
|
3
|
+
import AutoPublicPathRuntimeModule from "./RemotePublicPathRuntimeModule.mjs";
|
|
4
|
+
import { normalizeWebpackPath } from "@module-federation/sdk/normalize-webpack-path";
|
|
5
|
+
|
|
6
|
+
//#region src/plugins/CommonJsChunkLoadingPlugin.ts
|
|
7
|
+
const StartupChunkDependenciesPlugin = __require(normalizeWebpackPath("webpack/lib/runtime/StartupChunkDependenciesPlugin"));
|
|
8
|
+
var DynamicFilesystemChunkLoadingPlugin = class {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options || {};
|
|
11
|
+
this._asyncChunkLoading = this.options.asyncChunkLoading;
|
|
12
|
+
}
|
|
13
|
+
apply(compiler) {
|
|
14
|
+
const { RuntimeGlobals } = compiler.webpack;
|
|
15
|
+
new StartupChunkDependenciesPlugin({
|
|
16
|
+
chunkLoading: this._asyncChunkLoading ? "async-node" : "require",
|
|
17
|
+
asyncChunkLoading: this._asyncChunkLoading
|
|
18
|
+
}).apply(compiler);
|
|
19
|
+
compiler.hooks.thisCompilation.tap("DynamicFilesystemChunkLoadingPlugin", (compilation) => {
|
|
20
|
+
const isEnabledForChunk = (_) => true;
|
|
21
|
+
const onceForChunkSet = /* @__PURE__ */ new WeakSet();
|
|
22
|
+
const handler = (chunk, set) => {
|
|
23
|
+
if (onceForChunkSet.has(chunk)) return;
|
|
24
|
+
onceForChunkSet.add(chunk);
|
|
25
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
26
|
+
set.add(RuntimeGlobals.moduleFactoriesAddOnly);
|
|
27
|
+
set.add(RuntimeGlobals.hasOwnProperty);
|
|
28
|
+
set.add(RuntimeGlobals.publicPath);
|
|
29
|
+
compilation.addRuntimeModule(chunk, new DynamicFilesystemChunkLoadingRuntimeModule(set, this.options, { webpack: compiler.webpack }));
|
|
30
|
+
};
|
|
31
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.ensureChunkHandlers).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
32
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadUpdateHandlers).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
33
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadManifest).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
34
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.baseURI).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
35
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.externalInstallChunk).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
36
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.onChunksLoaded).tap("DynamicFilesystemChunkLoadingPlugin", handler);
|
|
37
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.ensureChunkHandlers).tap("DynamicFilesystemChunkLoadingPlugin", (chunk, set) => {
|
|
38
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
39
|
+
set.add(RuntimeGlobals.getChunkScriptFilename);
|
|
40
|
+
});
|
|
41
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadUpdateHandlers).tap("DynamicFilesystemChunkLoadingPlugin", (chunk, set) => {
|
|
42
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
43
|
+
set.add(RuntimeGlobals.getChunkUpdateScriptFilename);
|
|
44
|
+
set.add(RuntimeGlobals.moduleCache);
|
|
45
|
+
set.add(RuntimeGlobals.hmrModuleData);
|
|
46
|
+
set.add(RuntimeGlobals.moduleFactoriesAddOnly);
|
|
47
|
+
});
|
|
48
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.hmrDownloadManifest).tap("DynamicFilesystemChunkLoadingPlugin", (chunk, set) => {
|
|
49
|
+
if (!isEnabledForChunk(chunk)) return;
|
|
50
|
+
set.add(RuntimeGlobals.getUpdateManifestFilename);
|
|
51
|
+
});
|
|
52
|
+
compilation.hooks.runtimeRequirementInTree.for(RuntimeGlobals.publicPath).tap("RuntimePlugin", (chunk, set) => {
|
|
53
|
+
const { outputOptions } = compilation;
|
|
54
|
+
const { publicPath: globalPublicPath, scriptType } = outputOptions;
|
|
55
|
+
const entryOptions = chunk.getEntryOptions();
|
|
56
|
+
const publicPath = entryOptions && entryOptions.publicPath !== void 0 ? entryOptions.publicPath : globalPublicPath;
|
|
57
|
+
const module = new AutoPublicPathRuntimeModule(this.options);
|
|
58
|
+
if (publicPath === "auto" && scriptType !== "module") set.add(RuntimeGlobals.global);
|
|
59
|
+
else if (typeof publicPath !== "string" || /\[(full)?hash\]/.test(publicPath)) module.fullHash = true;
|
|
60
|
+
compilation.addRuntimeModule(chunk, module);
|
|
61
|
+
return true;
|
|
62
|
+
});
|
|
63
|
+
compilation.hooks.additionalTreeRuntimeRequirements.tap("StartupChunkDependenciesPlugin", (chunk, set, { chunkGraph }) => {});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
export { DynamicFilesystemChunkLoadingPlugin as default };
|
|
70
|
+
//# sourceMappingURL=CommonJsChunkLoadingPlugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommonJsChunkLoadingPlugin.mjs","names":["ChunkLoadingRuntimeModule"],"sources":["../../../src/plugins/CommonJsChunkLoadingPlugin.ts"],"sourcesContent":["import type { Chunk, Compiler, Compilation, ChunkGraph } from 'webpack';\nimport { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';\nimport type { ModuleFederationPluginOptions } from '../types';\nconst StartupChunkDependenciesPlugin = require(\n normalizeWebpackPath('webpack/lib/runtime/StartupChunkDependenciesPlugin'),\n) as typeof import('webpack/lib/runtime/StartupChunkDependenciesPlugin');\nimport ChunkLoadingRuntimeModule from './DynamicFilesystemChunkLoadingRuntimeModule';\nimport AutoPublicPathRuntimeModule from './RemotePublicPathRuntimeModule';\n\ninterface DynamicFilesystemChunkLoadingOptions extends ModuleFederationPluginOptions {\n baseURI: Compiler['options']['output']['publicPath'];\n promiseBaseURI?: string;\n remotes: Record<string, string>;\n name?: string;\n asyncChunkLoading: boolean;\n debug?: boolean;\n}\n\nclass DynamicFilesystemChunkLoadingPlugin {\n private options: DynamicFilesystemChunkLoadingOptions;\n private _asyncChunkLoading: boolean;\n\n constructor(options: DynamicFilesystemChunkLoadingOptions) {\n this.options = options || ({} as DynamicFilesystemChunkLoadingOptions);\n this._asyncChunkLoading = this.options.asyncChunkLoading;\n }\n\n apply(compiler: Compiler) {\n const { RuntimeGlobals } = compiler.webpack;\n const chunkLoadingValue = this._asyncChunkLoading\n ? 'async-node'\n : 'require';\n\n new StartupChunkDependenciesPlugin({\n chunkLoading: chunkLoadingValue,\n asyncChunkLoading: this._asyncChunkLoading,\n //@ts-ignore\n }).apply(compiler);\n\n compiler.hooks.thisCompilation.tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (compilation: Compilation) => {\n // Always enabled\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const isEnabledForChunk = (_: Chunk) => true;\n const onceForChunkSet = new WeakSet();\n\n const handler = (chunk: Chunk, set: Set<string>) => {\n if (onceForChunkSet.has(chunk)) {\n return;\n }\n\n onceForChunkSet.add(chunk);\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n set.add(RuntimeGlobals.hasOwnProperty);\n\n set.add(RuntimeGlobals.publicPath); // this breaks things\n compilation.addRuntimeModule(\n chunk,\n new ChunkLoadingRuntimeModule(set, this.options, {\n webpack: compiler.webpack,\n }),\n );\n };\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.ensureChunkHandlers)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadUpdateHandlers)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadManifest)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.baseURI)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.externalInstallChunk)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.onChunksLoaded)\n .tap('DynamicFilesystemChunkLoadingPlugin', handler);\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.ensureChunkHandlers)\n .tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (chunk: Chunk, set: Set<string>) => {\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.getChunkScriptFilename);\n },\n );\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadUpdateHandlers)\n .tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (chunk: Chunk, set: Set<string>) => {\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.getChunkUpdateScriptFilename);\n set.add(RuntimeGlobals.moduleCache);\n set.add(RuntimeGlobals.hmrModuleData);\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n },\n );\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.hmrDownloadManifest)\n .tap(\n 'DynamicFilesystemChunkLoadingPlugin',\n (chunk: Chunk, set: Set<string>) => {\n if (!isEnabledForChunk(chunk)) {\n return;\n }\n set.add(RuntimeGlobals.getUpdateManifestFilename);\n },\n );\n\n compilation.hooks.runtimeRequirementInTree\n .for(RuntimeGlobals.publicPath)\n .tap('RuntimePlugin', (chunk, set) => {\n const { outputOptions } = compilation;\n const { publicPath: globalPublicPath, scriptType } = outputOptions;\n const entryOptions = chunk.getEntryOptions();\n const publicPath =\n entryOptions && entryOptions.publicPath !== undefined\n ? entryOptions.publicPath\n : globalPublicPath;\n\n const module = new AutoPublicPathRuntimeModule(this.options);\n if (publicPath === 'auto' && scriptType !== 'module') {\n set.add(RuntimeGlobals.global);\n } else if (\n typeof publicPath !== 'string' ||\n /\\[(full)?hash\\]/.test(publicPath)\n ) {\n module.fullHash = true;\n }\n\n compilation.addRuntimeModule(chunk, module);\n return true;\n });\n\n compilation.hooks.additionalTreeRuntimeRequirements.tap(\n 'StartupChunkDependenciesPlugin',\n (\n chunk: Chunk,\n set: Set<string>,\n { chunkGraph }: { chunkGraph: ChunkGraph },\n ) => {\n // compilation.addRuntimeModule(\n // chunk,\n // //@ts-ignore\n // new FederationModuleInfoRuntimeModule(),\n // );\n },\n );\n },\n );\n }\n}\n\nexport default DynamicFilesystemChunkLoadingPlugin;\n"],"mappings":";;;;;;AAGA,MAAM,2CACJ,qBAAqB,qDAAqD,CAC3E;AAaD,IAAM,sCAAN,MAA0C;CAIxC,YAAY,SAA+C;AACzD,OAAK,UAAU,WAAY,EAAE;AAC7B,OAAK,qBAAqB,KAAK,QAAQ;;CAGzC,MAAM,UAAoB;EACxB,MAAM,EAAE,mBAAmB,SAAS;AAKpC,MAAI,+BAA+B;GACjC,cALwB,KAAK,qBAC3B,eACA;GAIF,mBAAmB,KAAK;GAEzB,CAAC,CAAC,MAAM,SAAS;AAElB,WAAS,MAAM,gBAAgB,IAC7B,wCACC,gBAA6B;GAG5B,MAAM,qBAAqB,MAAa;GACxC,MAAM,kCAAkB,IAAI,SAAS;GAErC,MAAM,WAAW,OAAc,QAAqB;AAClD,QAAI,gBAAgB,IAAI,MAAM,CAC5B;AAGF,oBAAgB,IAAI,MAAM;AAC1B,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,uBAAuB;AAC9C,QAAI,IAAI,eAAe,eAAe;AAEtC,QAAI,IAAI,eAAe,WAAW;AAClC,gBAAY,iBACV,OACA,IAAIA,2CAA0B,KAAK,KAAK,SAAS,EAC/C,SAAS,SAAS,SACnB,CAAC,CACH;;AAEH,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,0BAA0B,CAC7C,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,QAAQ,CAC3B,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,qBAAqB,CACxC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,eAAe,CAClC,IAAI,uCAAuC,QAAQ;AACtD,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IACC,wCACC,OAAc,QAAqB;AAClC,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,uBAAuB;KAEjD;AACH,eAAY,MAAM,yBACf,IAAI,eAAe,0BAA0B,CAC7C,IACC,wCACC,OAAc,QAAqB;AAClC,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,6BAA6B;AACpD,QAAI,IAAI,eAAe,YAAY;AACnC,QAAI,IAAI,eAAe,cAAc;AACrC,QAAI,IAAI,eAAe,uBAAuB;KAEjD;AACH,eAAY,MAAM,yBACf,IAAI,eAAe,oBAAoB,CACvC,IACC,wCACC,OAAc,QAAqB;AAClC,QAAI,CAAC,kBAAkB,MAAM,CAC3B;AAEF,QAAI,IAAI,eAAe,0BAA0B;KAEpD;AAEH,eAAY,MAAM,yBACf,IAAI,eAAe,WAAW,CAC9B,IAAI,kBAAkB,OAAO,QAAQ;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,YAAY,kBAAkB,eAAe;IACrD,MAAM,eAAe,MAAM,iBAAiB;IAC5C,MAAM,aACJ,gBAAgB,aAAa,eAAe,SACxC,aAAa,aACb;IAEN,MAAM,SAAS,IAAI,4BAA4B,KAAK,QAAQ;AAC5D,QAAI,eAAe,UAAU,eAAe,SAC1C,KAAI,IAAI,eAAe,OAAO;aAE9B,OAAO,eAAe,YACtB,kBAAkB,KAAK,WAAW,CAElC,QAAO,WAAW;AAGpB,gBAAY,iBAAiB,OAAO,OAAO;AAC3C,WAAO;KACP;AAEJ,eAAY,MAAM,kCAAkC,IAClD,mCAEE,OACA,KACA,EAAE,iBACC,GAON;IAEJ"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as tapable from "tapable";
|
|
2
|
+
import { SyncWaterfallHook } from "tapable";
|
|
3
|
+
import * as webpack from "webpack";
|
|
4
|
+
import { Chunk, Compiler } from "webpack";
|
|
5
|
+
|
|
6
|
+
//#region src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts
|
|
7
|
+
declare const RuntimeModule: typeof webpack.RuntimeModule;
|
|
8
|
+
interface DynamicFilesystemChunkLoadingRuntimeModuleOptions {
|
|
9
|
+
baseURI: Compiler['options']['output']['publicPath'];
|
|
10
|
+
promiseBaseURI?: string;
|
|
11
|
+
remotes: Record<string, string>;
|
|
12
|
+
name?: string;
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
}
|
|
15
|
+
interface ChunkLoadingContext {
|
|
16
|
+
webpack: Compiler['webpack'];
|
|
17
|
+
}
|
|
18
|
+
declare class DynamicFilesystemChunkLoadingRuntimeModule extends RuntimeModule {
|
|
19
|
+
private runtimeRequirements;
|
|
20
|
+
private options;
|
|
21
|
+
private chunkLoadingContext;
|
|
22
|
+
hooks: {
|
|
23
|
+
strategyCase: SyncWaterfallHook<unknown, unknown, tapable.UnsetAdditionalOptions>;
|
|
24
|
+
};
|
|
25
|
+
private logger;
|
|
26
|
+
constructor(runtimeRequirements: Set<string>, options: DynamicFilesystemChunkLoadingRuntimeModuleOptions, chunkLoadingContext: ChunkLoadingContext);
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @param {Chunk} chunk chunk
|
|
30
|
+
* @param {string} rootOutputDir root output directory
|
|
31
|
+
* @returns {string} generated code
|
|
32
|
+
*/
|
|
33
|
+
_generateBaseUri(chunk: Chunk, rootOutputDir: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
* @param {unknown[]} items item to log
|
|
37
|
+
*/
|
|
38
|
+
_getLogger(...items: unknown[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* @returns {string} runtime code
|
|
41
|
+
*/
|
|
42
|
+
generate(): string;
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { DynamicFilesystemChunkLoadingRuntimeModule as default };
|
|
46
|
+
//# sourceMappingURL=DynamicFilesystemChunkLoadingRuntimeModule.d.mts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as webpack from "webpack";
|
|
2
|
+
import { Chunk, Compiler } from "webpack";
|
|
3
|
+
import * as tapable from "tapable";
|
|
4
|
+
import { SyncWaterfallHook } from "tapable";
|
|
5
|
+
|
|
6
|
+
//#region src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts
|
|
7
|
+
declare const RuntimeModule: typeof webpack.RuntimeModule;
|
|
8
|
+
interface DynamicFilesystemChunkLoadingRuntimeModuleOptions {
|
|
9
|
+
baseURI: Compiler['options']['output']['publicPath'];
|
|
10
|
+
promiseBaseURI?: string;
|
|
11
|
+
remotes: Record<string, string>;
|
|
12
|
+
name?: string;
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
}
|
|
15
|
+
interface ChunkLoadingContext {
|
|
16
|
+
webpack: Compiler['webpack'];
|
|
17
|
+
}
|
|
18
|
+
declare class DynamicFilesystemChunkLoadingRuntimeModule extends RuntimeModule {
|
|
19
|
+
private runtimeRequirements;
|
|
20
|
+
private options;
|
|
21
|
+
private chunkLoadingContext;
|
|
22
|
+
hooks: {
|
|
23
|
+
strategyCase: SyncWaterfallHook<unknown, unknown, tapable.UnsetAdditionalOptions>;
|
|
24
|
+
};
|
|
25
|
+
private logger;
|
|
26
|
+
constructor(runtimeRequirements: Set<string>, options: DynamicFilesystemChunkLoadingRuntimeModuleOptions, chunkLoadingContext: ChunkLoadingContext);
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @param {Chunk} chunk chunk
|
|
30
|
+
* @param {string} rootOutputDir root output directory
|
|
31
|
+
* @returns {string} generated code
|
|
32
|
+
*/
|
|
33
|
+
_generateBaseUri(chunk: Chunk, rootOutputDir: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
* @param {unknown[]} items item to log
|
|
37
|
+
*/
|
|
38
|
+
_getLogger(...items: unknown[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* @returns {string} runtime code
|
|
41
|
+
*/
|
|
42
|
+
generate(): string;
|
|
43
|
+
}
|
|
44
|
+
export = DynamicFilesystemChunkLoadingRuntimeModule;
|
|
45
|
+
//# sourceMappingURL=DynamicFilesystemChunkLoadingRuntimeModule.d.ts.map
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
|
|
3
|
+
const require_src_plugins_webpackChunkUtilities = require('./webpackChunkUtilities.js');
|
|
4
|
+
const require_src_filesystem_stratagies = require('../filesystem/stratagies.js');
|
|
5
|
+
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
|
|
6
|
+
let tapable = require("tapable");
|
|
7
|
+
let _module_federation_sdk = require("@module-federation/sdk");
|
|
8
|
+
|
|
9
|
+
//#region src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.ts
|
|
10
|
+
const { RuntimeGlobals, RuntimeModule } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack"));
|
|
11
|
+
const { getUndoPath } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/identifier"));
|
|
12
|
+
const compileBooleanMatcher = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/compileBooleanMatcher"));
|
|
13
|
+
const createBundlerLogger = typeof _module_federation_sdk.createInfrastructureLogger === "function" ? _module_federation_sdk.createInfrastructureLogger : _module_federation_sdk.createLogger;
|
|
14
|
+
var DynamicFilesystemChunkLoadingRuntimeModule = class extends RuntimeModule {
|
|
15
|
+
constructor(runtimeRequirements, options, chunkLoadingContext) {
|
|
16
|
+
super("readFile chunk loading", RuntimeModule.STAGE_ATTACH + 1);
|
|
17
|
+
this.hooks = { strategyCase: new tapable.SyncWaterfallHook(["source"]) };
|
|
18
|
+
this.logger = createBundlerLogger("[ DynamicFilesystemChunkLoadingRuntimeModule ]");
|
|
19
|
+
this.runtimeRequirements = runtimeRequirements;
|
|
20
|
+
this.options = options;
|
|
21
|
+
this.chunkLoadingContext = chunkLoadingContext;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
* @param {Chunk} chunk chunk
|
|
26
|
+
* @param {string} rootOutputDir root output directory
|
|
27
|
+
* @returns {string} generated code
|
|
28
|
+
*/
|
|
29
|
+
_generateBaseUri(chunk, rootOutputDir) {
|
|
30
|
+
const options = chunk.getEntryOptions();
|
|
31
|
+
if (options && options.baseUri) return `${RuntimeGlobals.baseURI} = ${JSON.stringify(options.baseUri)};`;
|
|
32
|
+
return `${RuntimeGlobals.baseURI} = require("url").pathToFileURL(${rootOutputDir ? `__dirname + ${JSON.stringify("/" + rootOutputDir)}` : "__filename"});`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
* @param {unknown[]} items item to log
|
|
37
|
+
*/
|
|
38
|
+
_getLogger(...items) {
|
|
39
|
+
if (!this.options.debug) return "";
|
|
40
|
+
return `console.log(${items.join(",")});`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @returns {string} runtime code
|
|
44
|
+
*/
|
|
45
|
+
generate() {
|
|
46
|
+
const { remotes = {}, name } = this.options;
|
|
47
|
+
const { webpack } = this.chunkLoadingContext;
|
|
48
|
+
const { chunkGraph, chunk, compilation } = this;
|
|
49
|
+
const { Template } = webpack;
|
|
50
|
+
if (!chunkGraph || !chunk || !compilation) {
|
|
51
|
+
this.logger.warn("Missing required properties. Returning empty string.");
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
54
|
+
const infrastructureLogger = compilation.getLogger?.("DynamicFilesystemChunkLoadingRuntimeModule");
|
|
55
|
+
if (infrastructureLogger) this.logger.setDelegate(infrastructureLogger);
|
|
56
|
+
const { runtimeTemplate } = compilation;
|
|
57
|
+
const jsModulePlugin = webpack?.javascript?.JavascriptModulesPlugin || require("webpack/lib/javascript/JavascriptModulesPlugin");
|
|
58
|
+
const { chunkHasJs } = jsModulePlugin;
|
|
59
|
+
const fn = RuntimeGlobals.ensureChunkHandlers;
|
|
60
|
+
const hasJsMatcher = compileBooleanMatcher(chunkGraph.getChunkConditionMap(chunk, chunkHasJs));
|
|
61
|
+
const initialChunkIds = require_src_plugins_webpackChunkUtilities.getInitialChunkIds(chunk, chunkGraph, chunkHasJs);
|
|
62
|
+
const rootOutputDir = getUndoPath(compilation.getPath(jsModulePlugin.getChunkFilenameTemplate(chunk, compilation.outputOptions), {
|
|
63
|
+
chunk,
|
|
64
|
+
contentHashType: "javascript"
|
|
65
|
+
}), compilation.outputOptions.path || "", false);
|
|
66
|
+
const stateExpression = this.runtimeRequirements.has(RuntimeGlobals.hmrDownloadUpdateHandlers) ? `${RuntimeGlobals.hmrRuntimeStatePrefix}_readFileVm` : void 0;
|
|
67
|
+
const dynamicFilesystemChunkLoadingPluginCode = Template.asString([
|
|
68
|
+
require_src_filesystem_stratagies.fileSystemRunInContextStrategy.toString(),
|
|
69
|
+
require_src_filesystem_stratagies.httpEvalStrategy.toString(),
|
|
70
|
+
require_src_filesystem_stratagies.httpVmStrategy.toString(),
|
|
71
|
+
"const loadChunkStrategy = async (strategyType,chunkId,rootOutputDir, remotes, callback) => {",
|
|
72
|
+
Template.indent([
|
|
73
|
+
"switch (strategyType) {",
|
|
74
|
+
Template.indent([
|
|
75
|
+
"case \"filesystem\": return await fileSystemRunInContextStrategy(chunkId,rootOutputDir, remotes, callback);",
|
|
76
|
+
"case \"http-eval\": return await httpEvalStrategy(chunkId,rootOutputDir, remotes, callback);",
|
|
77
|
+
"case \"http-vm\": return await httpVmStrategy(chunkId,rootOutputDir, remotes, callback);",
|
|
78
|
+
this.hooks.strategyCase.call("default: throw new Error(\"Invalid strategy type\");")
|
|
79
|
+
]),
|
|
80
|
+
"}"
|
|
81
|
+
]),
|
|
82
|
+
"};"
|
|
83
|
+
]);
|
|
84
|
+
return Template.asString([
|
|
85
|
+
dynamicFilesystemChunkLoadingPluginCode,
|
|
86
|
+
this.runtimeRequirements.has(RuntimeGlobals.baseURI) ? this._generateBaseUri(chunk, rootOutputDir) : "// no baseURI",
|
|
87
|
+
"",
|
|
88
|
+
"// object to store loaded chunks",
|
|
89
|
+
"// \"0\" means \"already loaded\", Promise means loading",
|
|
90
|
+
`var installedChunks = ${stateExpression ? `${stateExpression} = ${stateExpression} || ` : ""}{`,
|
|
91
|
+
Template.indent(Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 0`).join(",\n")),
|
|
92
|
+
"};",
|
|
93
|
+
"",
|
|
94
|
+
require_src_plugins_webpackChunkUtilities.handleOnChunkLoad(this.runtimeRequirements.has(RuntimeGlobals.onChunksLoaded), runtimeTemplate),
|
|
95
|
+
"",
|
|
96
|
+
require_src_plugins_webpackChunkUtilities.generateInstallChunk(runtimeTemplate, this.runtimeRequirements.has(RuntimeGlobals.onChunksLoaded)),
|
|
97
|
+
"",
|
|
98
|
+
this.runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers) ? require_src_plugins_webpackChunkUtilities.generateLoadScript(runtimeTemplate) : "// no remote script loader needed",
|
|
99
|
+
this.runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers) ? require_src_plugins_webpackChunkUtilities.generateLoadingCode(this.runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers), fn, hasJsMatcher, rootOutputDir, remotes, name) : "// no chunk loading",
|
|
100
|
+
"",
|
|
101
|
+
require_src_plugins_webpackChunkUtilities.generateExternalInstallChunkCode(this.runtimeRequirements.has(RuntimeGlobals.externalInstallChunk), this.options.debug),
|
|
102
|
+
"",
|
|
103
|
+
require_src_plugins_webpackChunkUtilities.generateHmrCode(this.runtimeRequirements.has(RuntimeGlobals.hmrDownloadUpdateHandlers), rootOutputDir),
|
|
104
|
+
"",
|
|
105
|
+
require_src_plugins_webpackChunkUtilities.generateHmrManifestCode(this.runtimeRequirements.has(RuntimeGlobals.hmrDownloadManifest), rootOutputDir)
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
//#endregion
|
|
111
|
+
exports.default = DynamicFilesystemChunkLoadingRuntimeModule;
|
|
112
|
+
//# sourceMappingURL=DynamicFilesystemChunkLoadingRuntimeModule.js.map
|