@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.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/dist/_virtual/_rolldown/runtime.js +31 -0
  4. package/dist/_virtual/_rolldown/runtime.mjs +8 -0
  5. package/dist/plugins/ChunkCorrelationPlugin.js +308 -0
  6. package/dist/plugins/ChunkCorrelationPlugin.js.map +1 -0
  7. package/dist/plugins/ChunkCorrelationPlugin.mjs +305 -0
  8. package/dist/plugins/ChunkCorrelationPlugin.mjs.map +1 -0
  9. package/dist/src/filesystem/stratagies.d.mts +21 -0
  10. package/dist/src/filesystem/stratagies.d.ts +21 -0
  11. package/dist/src/filesystem/stratagies.js +105 -0
  12. package/dist/src/filesystem/stratagies.js.map +1 -0
  13. package/dist/src/filesystem/stratagies.mjs +103 -0
  14. package/dist/src/filesystem/stratagies.mjs.map +1 -0
  15. package/dist/src/index.d.mts +8 -0
  16. package/dist/src/index.d.ts +8 -0
  17. package/dist/src/index.js +16 -0
  18. package/dist/src/index.mjs +9 -0
  19. package/dist/src/plugins/AutomaticPublicPathPlugin.d.mts +12 -0
  20. package/dist/src/plugins/AutomaticPublicPathPlugin.d.ts +11 -0
  21. package/dist/src/plugins/AutomaticPublicPathPlugin.js +29 -0
  22. package/dist/src/plugins/AutomaticPublicPathPlugin.js.map +1 -0
  23. package/dist/src/plugins/AutomaticPublicPathPlugin.mjs +28 -0
  24. package/dist/src/plugins/AutomaticPublicPathPlugin.mjs.map +1 -0
  25. package/dist/src/plugins/ChunkCorrelationPlugin.d.mts +5 -0
  26. package/dist/src/plugins/ChunkCorrelationPlugin.d.ts +4 -0
  27. package/dist/src/plugins/ChunkCorrelationPlugin.js +9 -0
  28. package/dist/src/plugins/ChunkCorrelationPlugin.js.map +1 -0
  29. package/dist/src/plugins/ChunkCorrelationPlugin.mjs +8 -0
  30. package/dist/src/plugins/ChunkCorrelationPlugin.mjs.map +1 -0
  31. package/dist/src/plugins/CommonJsChunkLoadingPlugin.d.mts +21 -0
  32. package/dist/src/plugins/CommonJsChunkLoadingPlugin.d.ts +20 -0
  33. package/dist/src/plugins/CommonJsChunkLoadingPlugin.js +71 -0
  34. package/dist/src/plugins/CommonJsChunkLoadingPlugin.js.map +1 -0
  35. package/dist/src/plugins/CommonJsChunkLoadingPlugin.mjs +70 -0
  36. package/dist/src/plugins/CommonJsChunkLoadingPlugin.mjs.map +1 -0
  37. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.mts +46 -0
  38. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts +45 -0
  39. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js +112 -0
  40. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js.map +1 -0
  41. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.mjs +111 -0
  42. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.mjs.map +1 -0
  43. package/dist/src/plugins/EntryChunkTrackerPlugin.d.mts +17 -0
  44. package/dist/src/plugins/EntryChunkTrackerPlugin.d.ts +17 -0
  45. package/dist/src/plugins/EntryChunkTrackerPlugin.js +39 -0
  46. package/dist/src/plugins/EntryChunkTrackerPlugin.js.map +1 -0
  47. package/dist/src/plugins/EntryChunkTrackerPlugin.mjs +38 -0
  48. package/dist/src/plugins/EntryChunkTrackerPlugin.mjs.map +1 -0
  49. package/dist/src/plugins/NodeFederationPlugin.d.mts +54 -0
  50. package/dist/src/plugins/NodeFederationPlugin.d.ts +53 -0
  51. package/dist/src/plugins/NodeFederationPlugin.js +76 -0
  52. package/dist/src/plugins/NodeFederationPlugin.js.map +1 -0
  53. package/dist/src/plugins/NodeFederationPlugin.mjs +73 -0
  54. package/dist/src/plugins/NodeFederationPlugin.mjs.map +1 -0
  55. package/dist/src/plugins/RemotePublicPathRuntimeModule.d.mts +15 -0
  56. package/dist/src/plugins/RemotePublicPathRuntimeModule.d.ts +14 -0
  57. package/dist/src/plugins/RemotePublicPathRuntimeModule.js +133 -0
  58. package/dist/src/plugins/RemotePublicPathRuntimeModule.js.map +1 -0
  59. package/dist/src/plugins/RemotePublicPathRuntimeModule.mjs +132 -0
  60. package/dist/src/plugins/RemotePublicPathRuntimeModule.mjs.map +1 -0
  61. package/dist/src/plugins/StreamingTargetPlugin.d.mts +32 -0
  62. package/dist/src/plugins/StreamingTargetPlugin.d.ts +31 -0
  63. package/dist/src/plugins/StreamingTargetPlugin.js +46 -0
  64. package/dist/src/plugins/StreamingTargetPlugin.js.map +1 -0
  65. package/dist/src/plugins/StreamingTargetPlugin.mjs +46 -0
  66. package/dist/src/plugins/StreamingTargetPlugin.mjs.map +1 -0
  67. package/dist/src/plugins/UniversalFederationPlugin.d.mts +49 -0
  68. package/dist/src/plugins/UniversalFederationPlugin.d.ts +48 -0
  69. package/dist/src/plugins/UniversalFederationPlugin.js +66 -0
  70. package/dist/src/plugins/UniversalFederationPlugin.js.map +1 -0
  71. package/dist/src/plugins/UniversalFederationPlugin.mjs +65 -0
  72. package/dist/src/plugins/UniversalFederationPlugin.mjs.map +1 -0
  73. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.d.mts +9 -0
  74. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.d.ts +8 -0
  75. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.js +25 -0
  76. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.js.map +1 -0
  77. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.mjs +23 -0
  78. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.mjs.map +1 -0
  79. package/dist/src/plugins/webpackChunkUtilities.d.mts +55 -0
  80. package/dist/src/plugins/webpackChunkUtilities.d.ts +55 -0
  81. package/dist/src/plugins/webpackChunkUtilities.js +242 -0
  82. package/dist/src/plugins/webpackChunkUtilities.js.map +1 -0
  83. package/dist/src/plugins/webpackChunkUtilities.mjs +234 -0
  84. package/dist/src/plugins/webpackChunkUtilities.mjs.map +1 -0
  85. package/dist/src/recordDynamicRemoteEntryHashPlugin.d.mts +7 -0
  86. package/dist/src/recordDynamicRemoteEntryHashPlugin.d.ts +6 -0
  87. package/dist/src/recordDynamicRemoteEntryHashPlugin.js +28 -0
  88. package/dist/src/recordDynamicRemoteEntryHashPlugin.js.map +1 -0
  89. package/dist/src/recordDynamicRemoteEntryHashPlugin.mjs +26 -0
  90. package/dist/src/recordDynamicRemoteEntryHashPlugin.mjs.map +1 -0
  91. package/dist/src/runtimePlugin.d.mts +27 -0
  92. package/dist/src/runtimePlugin.d.ts +27 -0
  93. package/dist/src/runtimePlugin.js +242 -0
  94. package/dist/src/runtimePlugin.js.map +1 -0
  95. package/dist/src/runtimePlugin.mjs +226 -0
  96. package/dist/src/runtimePlugin.mjs.map +1 -0
  97. package/dist/src/types/index.d.mts +8 -0
  98. package/dist/src/types/index.d.ts +8 -0
  99. package/dist/src/types/index.js +1 -0
  100. package/dist/src/types/index.mjs +1 -0
  101. package/dist/src/utils/flush-chunks.d.mts +15 -0
  102. package/dist/src/utils/flush-chunks.d.ts +15 -0
  103. package/dist/src/utils/flush-chunks.js +106 -0
  104. package/dist/src/utils/flush-chunks.js.map +1 -0
  105. package/dist/src/utils/flush-chunks.mjs +102 -0
  106. package/dist/src/utils/flush-chunks.mjs.map +1 -0
  107. package/dist/src/utils/hot-reload.d.mts +16 -0
  108. package/dist/src/utils/hot-reload.d.ts +16 -0
  109. package/dist/src/utils/hot-reload.js +206 -0
  110. package/dist/src/utils/hot-reload.js.map +1 -0
  111. package/dist/src/utils/hot-reload.mjs +195 -0
  112. package/dist/src/utils/hot-reload.mjs.map +1 -0
  113. package/dist/src/utils/index.d.mts +3 -0
  114. package/dist/src/utils/index.d.ts +3 -0
  115. package/dist/src/utils/index.js +15 -0
  116. package/dist/src/utils/index.mjs +4 -0
  117. 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,5 @@
1
+ //#region src/plugins/ChunkCorrelationPlugin.d.ts
2
+ declare const ChunkCorrelationPlugin: any;
3
+ //#endregion
4
+ export { ChunkCorrelationPlugin as default };
5
+ //# sourceMappingURL=ChunkCorrelationPlugin.d.mts.map
@@ -0,0 +1,4 @@
1
+ //#region src/plugins/ChunkCorrelationPlugin.d.ts
2
+ declare const ChunkCorrelationPlugin: any;
3
+ export = ChunkCorrelationPlugin;
4
+ //# sourceMappingURL=ChunkCorrelationPlugin.d.ts.map
@@ -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