@module-federation/node 0.0.0-perf-devtools-20260108034446 → 0.0.0-perf-website-code-usage-20260914033703

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 (128) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +31 -0
  2. package/dist/_virtual/_rolldown/runtime.mjs +8 -0
  3. package/dist/node_modules/.pnpm/webpack@5.104.1_@swc_core@1.7.26_@swc_helpers@0.5.13__esbuild@0.28.1_webpack-cli@5.1.4/node_modules/webpack/types.d.mts +1 -0
  4. package/dist/node_modules/.pnpm/webpack@5.104.1_@swc_core@1.7.26_@swc_helpers@0.5.13__esbuild@0.28.1_webpack-cli@5.1.4/node_modules/webpack/types.d.ts +1 -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/plugins/createBundlerLogger.js +9 -0
  10. package/dist/plugins/createBundlerLogger.js.map +1 -0
  11. package/dist/plugins/createBundlerLogger.mjs +8 -0
  12. package/dist/plugins/createBundlerLogger.mjs.map +1 -0
  13. package/dist/src/filesystem/stratagies.d.mts +21 -0
  14. package/dist/src/filesystem/stratagies.d.ts +10 -7
  15. package/dist/src/filesystem/stratagies.js +97 -116
  16. package/dist/src/filesystem/stratagies.js.map +1 -1
  17. package/dist/src/filesystem/stratagies.mjs +103 -0
  18. package/dist/src/filesystem/stratagies.mjs.map +1 -0
  19. package/dist/src/index.d.mts +8 -0
  20. package/dist/src/index.d.ts +8 -7
  21. package/dist/src/index.js +16 -22
  22. package/dist/src/index.mjs +9 -0
  23. package/dist/src/plugins/AutomaticPublicPathPlugin.d.mts +12 -0
  24. package/dist/src/plugins/AutomaticPublicPathPlugin.d.ts +9 -7
  25. package/dist/src/plugins/AutomaticPublicPathPlugin.js +26 -35
  26. package/dist/src/plugins/AutomaticPublicPathPlugin.js.map +1 -1
  27. package/dist/src/plugins/AutomaticPublicPathPlugin.mjs +28 -0
  28. package/dist/src/plugins/AutomaticPublicPathPlugin.mjs.map +1 -0
  29. package/dist/src/plugins/ChunkCorrelationPlugin.d.mts +5 -0
  30. package/dist/src/plugins/ChunkCorrelationPlugin.d.ts +4 -61
  31. package/dist/src/plugins/ChunkCorrelationPlugin.js +8 -440
  32. package/dist/src/plugins/ChunkCorrelationPlugin.js.map +1 -1
  33. package/dist/src/plugins/ChunkCorrelationPlugin.mjs +8 -0
  34. package/dist/src/plugins/ChunkCorrelationPlugin.mjs.map +1 -0
  35. package/dist/src/plugins/CommonJsChunkLoadingPlugin.d.mts +21 -0
  36. package/dist/src/plugins/CommonJsChunkLoadingPlugin.d.ts +16 -13
  37. package/dist/src/plugins/CommonJsChunkLoadingPlugin.js +68 -118
  38. package/dist/src/plugins/CommonJsChunkLoadingPlugin.js.map +1 -1
  39. package/dist/src/plugins/CommonJsChunkLoadingPlugin.mjs +70 -0
  40. package/dist/src/plugins/CommonJsChunkLoadingPlugin.mjs.map +1 -0
  41. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.mts +44 -0
  42. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts +37 -34
  43. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js +109 -126
  44. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js.map +1 -1
  45. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.mjs +110 -0
  46. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.mjs.map +1 -0
  47. package/dist/src/plugins/EntryChunkTrackerPlugin.d.mts +17 -0
  48. package/dist/src/plugins/EntryChunkTrackerPlugin.d.ts +14 -10
  49. package/dist/src/plugins/EntryChunkTrackerPlugin.js +30 -32
  50. package/dist/src/plugins/EntryChunkTrackerPlugin.js.map +1 -1
  51. package/dist/src/plugins/EntryChunkTrackerPlugin.mjs +38 -0
  52. package/dist/src/plugins/EntryChunkTrackerPlugin.mjs.map +1 -0
  53. package/dist/src/plugins/NodeFederationPlugin.d.mts +54 -0
  54. package/dist/src/plugins/NodeFederationPlugin.d.ts +33 -26
  55. package/dist/src/plugins/NodeFederationPlugin.js +72 -84
  56. package/dist/src/plugins/NodeFederationPlugin.js.map +1 -1
  57. package/dist/src/plugins/NodeFederationPlugin.mjs +73 -0
  58. package/dist/src/plugins/NodeFederationPlugin.mjs.map +1 -0
  59. package/dist/src/plugins/RemotePublicPathRuntimeModule.d.mts +13 -0
  60. package/dist/src/plugins/RemotePublicPathRuntimeModule.d.ts +10 -8
  61. package/dist/src/plugins/RemotePublicPathRuntimeModule.js +34 -35
  62. package/dist/src/plugins/RemotePublicPathRuntimeModule.js.map +1 -1
  63. package/dist/src/plugins/RemotePublicPathRuntimeModule.mjs +132 -0
  64. package/dist/src/plugins/RemotePublicPathRuntimeModule.mjs.map +1 -0
  65. package/dist/src/plugins/StreamingTargetPlugin.d.mts +32 -0
  66. package/dist/src/plugins/StreamingTargetPlugin.d.ts +19 -16
  67. package/dist/src/plugins/StreamingTargetPlugin.js +43 -56
  68. package/dist/src/plugins/StreamingTargetPlugin.js.map +1 -1
  69. package/dist/src/plugins/StreamingTargetPlugin.mjs +46 -0
  70. package/dist/src/plugins/StreamingTargetPlugin.mjs.map +1 -0
  71. package/dist/src/plugins/UniversalFederationPlugin.d.mts +49 -0
  72. package/dist/src/plugins/UniversalFederationPlugin.d.ts +26 -23
  73. package/dist/src/plugins/UniversalFederationPlugin.js +62 -81
  74. package/dist/src/plugins/UniversalFederationPlugin.js.map +1 -1
  75. package/dist/src/plugins/UniversalFederationPlugin.mjs +65 -0
  76. package/dist/src/plugins/UniversalFederationPlugin.mjs.map +1 -0
  77. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.d.mts +9 -0
  78. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.d.ts +6 -3
  79. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.js +14 -17
  80. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.js.map +1 -1
  81. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.mjs +23 -0
  82. package/dist/src/plugins/UniverseEntryChunkTrackerPlugin.mjs.map +1 -0
  83. package/dist/src/plugins/webpackChunkUtilities.d.mts +55 -0
  84. package/dist/src/plugins/webpackChunkUtilities.d.ts +14 -9
  85. package/dist/src/plugins/webpackChunkUtilities.js +195 -257
  86. package/dist/src/plugins/webpackChunkUtilities.js.map +1 -1
  87. package/dist/src/plugins/webpackChunkUtilities.mjs +234 -0
  88. package/dist/src/plugins/webpackChunkUtilities.mjs.map +1 -0
  89. package/dist/src/recordDynamicRemoteEntryHashPlugin.d.mts +7 -0
  90. package/dist/src/recordDynamicRemoteEntryHashPlugin.d.ts +5 -2
  91. package/dist/src/recordDynamicRemoteEntryHashPlugin.js +24 -61
  92. package/dist/src/recordDynamicRemoteEntryHashPlugin.js.map +1 -1
  93. package/dist/src/recordDynamicRemoteEntryHashPlugin.mjs +26 -0
  94. package/dist/src/recordDynamicRemoteEntryHashPlugin.mjs.map +1 -0
  95. package/dist/src/runtimePlugin.d.mts +27 -0
  96. package/dist/src/runtimePlugin.d.ts +24 -19
  97. package/dist/src/runtimePlugin.js +214 -252
  98. package/dist/src/runtimePlugin.js.map +1 -1
  99. package/dist/src/runtimePlugin.mjs +226 -0
  100. package/dist/src/runtimePlugin.mjs.map +1 -0
  101. package/dist/src/types/index.d.mts +8 -0
  102. package/dist/src/types/index.d.ts +8 -3
  103. package/dist/src/types/index.js +1 -3
  104. package/dist/src/types/index.mjs +1 -0
  105. package/dist/src/utils/flush-chunks.d.mts +17 -0
  106. package/dist/src/utils/flush-chunks.d.ts +9 -3
  107. package/dist/src/utils/flush-chunks.js +138 -167
  108. package/dist/src/utils/flush-chunks.js.map +1 -1
  109. package/dist/src/utils/flush-chunks.mjs +144 -0
  110. package/dist/src/utils/flush-chunks.mjs.map +1 -0
  111. package/dist/src/utils/hot-reload.d.mts +16 -0
  112. package/dist/src/utils/hot-reload.d.ts +14 -10
  113. package/dist/src/utils/hot-reload.js +178 -264
  114. package/dist/src/utils/hot-reload.js.map +1 -1
  115. package/dist/src/utils/hot-reload.mjs +195 -0
  116. package/dist/src/utils/hot-reload.mjs.map +1 -0
  117. package/dist/src/utils/index.d.mts +3 -0
  118. package/dist/src/utils/index.d.ts +3 -2
  119. package/dist/src/utils/index.js +15 -19
  120. package/dist/src/utils/index.mjs +4 -0
  121. package/package.json +71 -26
  122. package/dist/jest.config.d.ts +0 -11
  123. package/dist/jest.config.js +0 -19
  124. package/dist/jest.config.js.map +0 -1
  125. package/dist/package.json +0 -90
  126. package/dist/src/index.js.map +0 -1
  127. package/dist/src/types/index.js.map +0 -1
  128. package/dist/src/utils/index.js.map +0 -1
@@ -1,121 +1,71 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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
+ }
4
67
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
7
- const StartupChunkDependenciesPlugin = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/runtime/StartupChunkDependenciesPlugin'));
8
- const DynamicFilesystemChunkLoadingRuntimeModule_1 = __importDefault(require("./DynamicFilesystemChunkLoadingRuntimeModule"));
9
- const RemotePublicPathRuntimeModule_1 = __importDefault(require("./RemotePublicPathRuntimeModule"));
10
- class DynamicFilesystemChunkLoadingPlugin {
11
- constructor(options) {
12
- this.options = options || {};
13
- this._asyncChunkLoading = this.options.asyncChunkLoading;
14
- }
15
- apply(compiler) {
16
- const { RuntimeGlobals } = compiler.webpack;
17
- const chunkLoadingValue = this._asyncChunkLoading
18
- ? 'async-node'
19
- : 'require';
20
- new StartupChunkDependenciesPlugin({
21
- chunkLoading: chunkLoadingValue,
22
- asyncChunkLoading: this._asyncChunkLoading,
23
- //@ts-ignore
24
- }).apply(compiler);
25
- compiler.hooks.thisCompilation.tap('DynamicFilesystemChunkLoadingPlugin', (compilation) => {
26
- // Always enabled
27
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
- const isEnabledForChunk = (_) => true;
29
- const onceForChunkSet = new WeakSet();
30
- const handler = (chunk, set) => {
31
- if (onceForChunkSet.has(chunk)) {
32
- return;
33
- }
34
- onceForChunkSet.add(chunk);
35
- if (!isEnabledForChunk(chunk)) {
36
- return;
37
- }
38
- set.add(RuntimeGlobals.moduleFactoriesAddOnly);
39
- set.add(RuntimeGlobals.hasOwnProperty);
40
- set.add(RuntimeGlobals.publicPath); // this breaks things
41
- compilation.addRuntimeModule(chunk, new DynamicFilesystemChunkLoadingRuntimeModule_1.default(set, this.options, {
42
- webpack: compiler.webpack,
43
- }));
44
- };
45
- compilation.hooks.runtimeRequirementInTree
46
- .for(RuntimeGlobals.ensureChunkHandlers)
47
- .tap('DynamicFilesystemChunkLoadingPlugin', handler);
48
- compilation.hooks.runtimeRequirementInTree
49
- .for(RuntimeGlobals.hmrDownloadUpdateHandlers)
50
- .tap('DynamicFilesystemChunkLoadingPlugin', handler);
51
- compilation.hooks.runtimeRequirementInTree
52
- .for(RuntimeGlobals.hmrDownloadManifest)
53
- .tap('DynamicFilesystemChunkLoadingPlugin', handler);
54
- compilation.hooks.runtimeRequirementInTree
55
- .for(RuntimeGlobals.baseURI)
56
- .tap('DynamicFilesystemChunkLoadingPlugin', handler);
57
- compilation.hooks.runtimeRequirementInTree
58
- .for(RuntimeGlobals.externalInstallChunk)
59
- .tap('DynamicFilesystemChunkLoadingPlugin', handler);
60
- compilation.hooks.runtimeRequirementInTree
61
- .for(RuntimeGlobals.onChunksLoaded)
62
- .tap('DynamicFilesystemChunkLoadingPlugin', handler);
63
- compilation.hooks.runtimeRequirementInTree
64
- .for(RuntimeGlobals.ensureChunkHandlers)
65
- .tap('DynamicFilesystemChunkLoadingPlugin', (chunk, set) => {
66
- if (!isEnabledForChunk(chunk)) {
67
- return;
68
- }
69
- set.add(RuntimeGlobals.getChunkScriptFilename);
70
- });
71
- compilation.hooks.runtimeRequirementInTree
72
- .for(RuntimeGlobals.hmrDownloadUpdateHandlers)
73
- .tap('DynamicFilesystemChunkLoadingPlugin', (chunk, set) => {
74
- if (!isEnabledForChunk(chunk)) {
75
- return;
76
- }
77
- set.add(RuntimeGlobals.getChunkUpdateScriptFilename);
78
- set.add(RuntimeGlobals.moduleCache);
79
- set.add(RuntimeGlobals.hmrModuleData);
80
- set.add(RuntimeGlobals.moduleFactoriesAddOnly);
81
- });
82
- compilation.hooks.runtimeRequirementInTree
83
- .for(RuntimeGlobals.hmrDownloadManifest)
84
- .tap('DynamicFilesystemChunkLoadingPlugin', (chunk, set) => {
85
- if (!isEnabledForChunk(chunk)) {
86
- return;
87
- }
88
- set.add(RuntimeGlobals.getUpdateManifestFilename);
89
- });
90
- compilation.hooks.runtimeRequirementInTree
91
- .for(RuntimeGlobals.publicPath)
92
- .tap('RuntimePlugin', (chunk, set) => {
93
- const { outputOptions } = compilation;
94
- const { publicPath: globalPublicPath, scriptType } = outputOptions;
95
- const entryOptions = chunk.getEntryOptions();
96
- const publicPath = entryOptions && entryOptions.publicPath !== undefined
97
- ? entryOptions.publicPath
98
- : globalPublicPath;
99
- const module = new RemotePublicPathRuntimeModule_1.default(this.options);
100
- if (publicPath === 'auto' && scriptType !== 'module') {
101
- set.add(RuntimeGlobals.global);
102
- }
103
- else if (typeof publicPath !== 'string' ||
104
- /\[(full)?hash\]/.test(publicPath)) {
105
- module.fullHash = true;
106
- }
107
- compilation.addRuntimeModule(chunk, module);
108
- return true;
109
- });
110
- compilation.hooks.additionalTreeRuntimeRequirements.tap('StartupChunkDependenciesPlugin', (chunk, set, { chunkGraph }) => {
111
- // compilation.addRuntimeModule(
112
- // chunk,
113
- // //@ts-ignore
114
- // new FederationModuleInfoRuntimeModule(),
115
- // );
116
- });
117
- });
118
- }
119
- }
68
+
69
+ //#endregion
120
70
  exports.default = DynamicFilesystemChunkLoadingPlugin;
121
71
  //# sourceMappingURL=CommonJsChunkLoadingPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommonJsChunkLoadingPlugin.js","sourceRoot":"","sources":["../../../src/plugins/CommonJsChunkLoadingPlugin.ts"],"names":[],"mappings":"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"}
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,44 @@
1
+ import { SyncWaterfallHook } from "tapable";
2
+ import { Chunk, Compiler } from "webpack";
3
+
4
+ //#region src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts
5
+ declare const RuntimeModule: typeof undefined;
6
+ interface DynamicFilesystemChunkLoadingRuntimeModuleOptions {
7
+ baseURI: Compiler['options']['output']['publicPath'];
8
+ promiseBaseURI?: string;
9
+ remotes: Record<string, string>;
10
+ name?: string;
11
+ debug?: boolean;
12
+ }
13
+ interface ChunkLoadingContext {
14
+ webpack: Compiler['webpack'];
15
+ }
16
+ declare class DynamicFilesystemChunkLoadingRuntimeModule extends RuntimeModule {
17
+ private runtimeRequirements;
18
+ private options;
19
+ private chunkLoadingContext;
20
+ hooks: {
21
+ strategyCase: SyncWaterfallHook<unknown, unknown, undefined>;
22
+ };
23
+ private logger;
24
+ constructor(runtimeRequirements: Set<string>, options: DynamicFilesystemChunkLoadingRuntimeModuleOptions, chunkLoadingContext: ChunkLoadingContext);
25
+ /**
26
+ * @private
27
+ * @param {Chunk} chunk chunk
28
+ * @param {string} rootOutputDir root output directory
29
+ * @returns {string} generated code
30
+ */
31
+ _generateBaseUri(chunk: Chunk, rootOutputDir: string): string;
32
+ /**
33
+ * @private
34
+ * @param {unknown[]} items item to log
35
+ */
36
+ _getLogger(...items: unknown[]): string;
37
+ /**
38
+ * @returns {string} runtime code
39
+ */
40
+ generate(): string;
41
+ }
42
+ //#endregion
43
+ export { DynamicFilesystemChunkLoadingRuntimeModule as default };
44
+ //# sourceMappingURL=DynamicFilesystemChunkLoadingRuntimeModule.d.mts.map
@@ -1,40 +1,43 @@
1
- import type { Chunk, Compiler } from 'webpack';
2
- declare const RuntimeModule: typeof import("webpack").RuntimeModule;
3
- import { SyncWaterfallHook } from 'tapable';
1
+ import { Chunk, Compiler } from "webpack";
2
+ import { SyncWaterfallHook } from "tapable";
3
+
4
+ //#region src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts
5
+ declare const RuntimeModule: typeof undefined;
4
6
  interface DynamicFilesystemChunkLoadingRuntimeModuleOptions {
5
- baseURI: Compiler['options']['output']['publicPath'];
6
- promiseBaseURI?: string;
7
- remotes: Record<string, string>;
8
- name?: string;
9
- debug?: boolean;
7
+ baseURI: Compiler['options']['output']['publicPath'];
8
+ promiseBaseURI?: string;
9
+ remotes: Record<string, string>;
10
+ name?: string;
11
+ debug?: boolean;
10
12
  }
11
13
  interface ChunkLoadingContext {
12
- webpack: Compiler['webpack'];
14
+ webpack: Compiler['webpack'];
13
15
  }
14
16
  declare class DynamicFilesystemChunkLoadingRuntimeModule extends RuntimeModule {
15
- private runtimeRequirements;
16
- private options;
17
- private chunkLoadingContext;
18
- hooks: {
19
- strategyCase: SyncWaterfallHook<unknown, import("tapable").UnsetAdditionalOptions>;
20
- };
21
- private logger;
22
- constructor(runtimeRequirements: Set<string>, options: DynamicFilesystemChunkLoadingRuntimeModuleOptions, chunkLoadingContext: ChunkLoadingContext);
23
- /**
24
- * @private
25
- * @param {Chunk} chunk chunk
26
- * @param {string} rootOutputDir root output directory
27
- * @returns {string} generated code
28
- */
29
- _generateBaseUri(chunk: Chunk, rootOutputDir: string): string;
30
- /**
31
- * @private
32
- * @param {unknown[]} items item to log
33
- */
34
- _getLogger(...items: unknown[]): string;
35
- /**
36
- * @returns {string} runtime code
37
- */
38
- generate(): string;
17
+ private runtimeRequirements;
18
+ private options;
19
+ private chunkLoadingContext;
20
+ hooks: {
21
+ strategyCase: SyncWaterfallHook<unknown, unknown, undefined>;
22
+ };
23
+ private logger;
24
+ constructor(runtimeRequirements: Set<string>, options: DynamicFilesystemChunkLoadingRuntimeModuleOptions, chunkLoadingContext: ChunkLoadingContext);
25
+ /**
26
+ * @private
27
+ * @param {Chunk} chunk chunk
28
+ * @param {string} rootOutputDir root output directory
29
+ * @returns {string} generated code
30
+ */
31
+ _generateBaseUri(chunk: Chunk, rootOutputDir: string): string;
32
+ /**
33
+ * @private
34
+ * @param {unknown[]} items item to log
35
+ */
36
+ _getLogger(...items: unknown[]): string;
37
+ /**
38
+ * @returns {string} runtime code
39
+ */
40
+ generate(): string;
39
41
  }
40
- export default DynamicFilesystemChunkLoadingRuntimeModule;
42
+ export = DynamicFilesystemChunkLoadingRuntimeModule;
43
+ //# sourceMappingURL=DynamicFilesystemChunkLoadingRuntimeModule.d.ts.map