@module-federation/utilities 0.0.0-perf-devtools-20260107043700 → 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 (51) hide show
  1. package/README.md +10 -8
  2. package/dist/cjs/Logger.js +63 -0
  3. package/dist/cjs/components/ErrorBoundary.js +98 -0
  4. package/dist/cjs/components/FederationBoundary.js +103 -0
  5. package/dist/cjs/index.js +172 -0
  6. package/dist/cjs/plugins/DelegateModulesPlugin.js +134 -0
  7. package/dist/cjs/plugins/DelegateModulesPlugin.test.js +87 -0
  8. package/dist/cjs/types/index.js +31 -0
  9. package/dist/cjs/utils/common.js +175 -0
  10. package/dist/cjs/utils/getRuntimeRemotes.js +104 -0
  11. package/dist/cjs/utils/getRuntimeRemotes.test.js +98 -0
  12. package/dist/cjs/utils/importDelegateModule.test.js +99 -0
  13. package/dist/cjs/utils/importDelegatedModule.js +126 -0
  14. package/dist/cjs/utils/importRemote.js +176 -0
  15. package/dist/cjs/utils/isEmpty.js +60 -0
  16. package/dist/cjs/utils/pure.js +215 -0
  17. package/dist/cjs/utils/react.js +73 -0
  18. package/dist/esm/Logger.mjs +12 -0
  19. package/dist/esm/components/ErrorBoundary.mjs +31 -0
  20. package/dist/esm/components/FederationBoundary.mjs +35 -0
  21. package/dist/esm/index.mjs +24 -0
  22. package/dist/esm/plugins/DelegateModulesPlugin.mjs +82 -0
  23. package/dist/esm/plugins/DelegateModulesPlugin.test.mjs +39 -0
  24. package/dist/esm/rslib-runtime.mjs +37 -0
  25. package/dist/esm/types/index.mjs +4 -0
  26. package/dist/esm/utils/common.mjs +116 -0
  27. package/dist/esm/utils/getRuntimeRemotes.mjs +50 -0
  28. package/dist/esm/utils/getRuntimeRemotes.test.mjs +84 -0
  29. package/dist/esm/utils/importDelegateModule.test.mjs +72 -0
  30. package/dist/esm/utils/importDelegatedModule.mjs +72 -0
  31. package/dist/esm/utils/importRemote.mjs +105 -0
  32. package/dist/esm/utils/isEmpty.mjs +8 -0
  33. package/dist/esm/utils/pure.mjs +138 -0
  34. package/dist/esm/utils/react.mjs +4 -0
  35. package/package.json +17 -10
  36. package/dist/index.cjs.js +0 -555
  37. package/dist/index.d.ts +0 -1
  38. package/dist/index.esm.js +0 -543
  39. /package/dist/{src → types}/Logger.d.ts +0 -0
  40. /package/dist/{src → types}/components/ErrorBoundary.d.ts +0 -0
  41. /package/dist/{src → types}/components/FederationBoundary.d.ts +0 -0
  42. /package/dist/{src → types}/index.d.ts +0 -0
  43. /package/dist/{src → types}/plugins/DelegateModulesPlugin.d.ts +0 -0
  44. /package/dist/{src → types}/types/index.d.ts +0 -0
  45. /package/dist/{src → types}/utils/common.d.ts +0 -0
  46. /package/dist/{src → types}/utils/getRuntimeRemotes.d.ts +0 -0
  47. /package/dist/{src → types}/utils/importDelegatedModule.d.ts +0 -0
  48. /package/dist/{src → types}/utils/importRemote.d.ts +0 -0
  49. /package/dist/{src → types}/utils/isEmpty.d.ts +0 -0
  50. /package/dist/{src → types}/utils/pure.d.ts +0 -0
  51. /package/dist/{src → types}/utils/react.d.ts +0 -0
package/README.md CHANGED
@@ -1,22 +1,24 @@
1
- # utils
1
+ # @module-federation/utilities
2
2
 
3
- For warning: [`@module-federation/runtime`](https://module-federation.io/guide/basic/runtime/runtime.html) is recommended as a replacement
4
-
5
- This library was generated with [Nx](https://nx.dev).
3
+ For warning: [`@module-federation/runtime`](https://module-federation.io/guide/basic/runtime/runtime.html) is recommended as a replacement.
6
4
 
7
5
  ## Building
8
6
 
9
- Run `nx build utils` to build the library.
7
+ ```bash
8
+ pnpm --filter @module-federation/utilities run build
9
+ ```
10
10
 
11
11
  ## Running unit tests
12
12
 
13
- Run `nx test utils` to execute the unit tests via [Jest](https://jestjs.io).
13
+ ```bash
14
+ pnpm --filter @module-federation/utilities run test
15
+ ```
14
16
 
15
17
  ## React utilities
16
18
 
17
19
  ---
18
20
 
19
- `FederatedBoundary`
21
+ `FederationBoundary`
20
22
 
21
23
  A component wrapper that provides a fallback for safe imports if something were to fail when grabbing a module off of a remote host.
22
24
 
@@ -70,7 +72,7 @@ importRemote({
70
72
  );
71
73
 
72
74
  // --
73
- // If it's a ESM module (this is currently the default for NX):
75
+ // If it's an ESM module:
74
76
  // --
75
77
  const Bar = lazy(() => importRemote({ url: 'http://localhost:3001', scope: 'Foo', module: 'Bar', esm: true }));
76
78
 
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ (function () {
3
+ return typeof document === 'undefined'
4
+ ? new (require('url'.replace('', '')).URL)('file:' + __filename).href
5
+ : (document.currentScript && document.currentScript.src) ||
6
+ new URL('main.js', document.baseURI).href;
7
+ })();
8
+ ;
9
+ // The require scope
10
+ var __webpack_require__ = {};
11
+
12
+ // webpack/runtime/define_property_getters
13
+ (() => {
14
+ __webpack_require__.d = (exports, getters, values) => {
15
+ var define = (defs, kind) => {
16
+ for(var key in defs) {
17
+ if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
18
+ Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
19
+ }
20
+ }
21
+ };
22
+ define(getters, "get");
23
+ define(values, "value");
24
+ };
25
+ })();
26
+ // webpack/runtime/has_own_property
27
+ (() => {
28
+ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
29
+ })();
30
+ // webpack/runtime/make_namespace_object
31
+ (() => {
32
+ // define __esModule on exports
33
+ __webpack_require__.r = (exports) => {
34
+ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
35
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
36
+ }
37
+ Object.defineProperty(exports, '__esModule', { value: true });
38
+ };
39
+ })();
40
+ var __webpack_exports__ = {};
41
+ __webpack_require__.r(__webpack_exports__);
42
+ class Logger {
43
+ static getLogger() {
44
+ return this.loggerInstance;
45
+ }
46
+ static setLogger(logger) {
47
+ this.loggerInstance = logger || console;
48
+ return logger;
49
+ }
50
+ }
51
+ Logger.loggerInstance = console;
52
+
53
+ __webpack_require__.d(__webpack_exports__, {
54
+ Logger: () => (Logger)
55
+ });
56
+
57
+ exports.Logger = __webpack_exports__.Logger;
58
+ for(var __rspack_i in __webpack_exports__) {
59
+ if(["Logger"].indexOf(__rspack_i) === -1) {
60
+ exports[__rspack_i] = __webpack_exports__[__rspack_i];
61
+ }
62
+ }
63
+ Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ (function () {
3
+ return typeof document === 'undefined'
4
+ ? new (require('url'.replace('', '')).URL)('file:' + __filename).href
5
+ : (document.currentScript && document.currentScript.src) ||
6
+ new URL('main.js', document.baseURI).href;
7
+ })();
8
+ ;
9
+ // The require scope
10
+ var __webpack_require__ = {};
11
+
12
+ // webpack/runtime/compat_get_default_export
13
+ (() => {
14
+ // getDefaultExport function for compatibility with non-ESM modules
15
+ __webpack_require__.n = (module) => {
16
+ var getter = module && module.__esModule ?
17
+ () => (module['default']) :
18
+ () => (module);
19
+ __webpack_require__.d(getter, { a: getter });
20
+ return getter;
21
+ };
22
+
23
+ })();
24
+ // webpack/runtime/define_property_getters
25
+ (() => {
26
+ __webpack_require__.d = (exports, getters, values) => {
27
+ var define = (defs, kind) => {
28
+ for(var key in defs) {
29
+ if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
30
+ Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
31
+ }
32
+ }
33
+ };
34
+ define(getters, "get");
35
+ define(values, "value");
36
+ };
37
+ })();
38
+ // webpack/runtime/has_own_property
39
+ (() => {
40
+ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
41
+ })();
42
+ // webpack/runtime/make_namespace_object
43
+ (() => {
44
+ // define __esModule on exports
45
+ __webpack_require__.r = (exports) => {
46
+ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ }
49
+ Object.defineProperty(exports, '__esModule', { value: true });
50
+ };
51
+ })();
52
+ var __webpack_exports__ = {};
53
+ // ESM COMPAT FLAG
54
+ __webpack_require__.r(__webpack_exports__);
55
+
56
+ // EXPORTS
57
+ __webpack_require__.d(__webpack_exports__, {
58
+ "default": () => (/* binding */ components_ErrorBoundary)
59
+ });
60
+
61
+ ;// CONCATENATED MODULE: external "react"
62
+ const external_react_namespaceObject = require("react");
63
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_namespaceObject);
64
+ ;// CONCATENATED MODULE: ./src/components/ErrorBoundary.tsx
65
+
66
+ /**
67
+ * Generic error boundary component.
68
+ */ class ErrorBoundary extends (external_react_default()).Component {
69
+ static getDerivedStateFromError() {
70
+ return {
71
+ hasError: true
72
+ };
73
+ }
74
+ componentDidCatch(error, errorInfo) {
75
+ console.error(error, errorInfo);
76
+ }
77
+ render() {
78
+ if (this.state.hasError) {
79
+ return 'An error has occurred.';
80
+ }
81
+ return this.props.children;
82
+ }
83
+ constructor(props){
84
+ super(props);
85
+ this.state = {
86
+ hasError: false
87
+ };
88
+ }
89
+ }
90
+ /* export default */ const components_ErrorBoundary = (ErrorBoundary);
91
+
92
+ exports["default"] = __webpack_exports__["default"];
93
+ for(var __rspack_i in __webpack_exports__) {
94
+ if(["default"].indexOf(__rspack_i) === -1) {
95
+ exports[__rspack_i] = __webpack_exports__[__rspack_i];
96
+ }
97
+ }
98
+ Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ (function () {
3
+ return typeof document === 'undefined'
4
+ ? new (require('url'.replace('', '')).URL)('file:' + __filename).href
5
+ : (document.currentScript && document.currentScript.src) ||
6
+ new URL('main.js', document.baseURI).href;
7
+ })();
8
+ ;
9
+ // The require scope
10
+ var __webpack_require__ = {};
11
+
12
+ // webpack/runtime/compat_get_default_export
13
+ (() => {
14
+ // getDefaultExport function for compatibility with non-ESM modules
15
+ __webpack_require__.n = (module) => {
16
+ var getter = module && module.__esModule ?
17
+ () => (module['default']) :
18
+ () => (module);
19
+ __webpack_require__.d(getter, { a: getter });
20
+ return getter;
21
+ };
22
+
23
+ })();
24
+ // webpack/runtime/define_property_getters
25
+ (() => {
26
+ __webpack_require__.d = (exports, getters, values) => {
27
+ var define = (defs, kind) => {
28
+ for(var key in defs) {
29
+ if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
30
+ Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
31
+ }
32
+ }
33
+ };
34
+ define(getters, "get");
35
+ define(values, "value");
36
+ };
37
+ })();
38
+ // webpack/runtime/has_own_property
39
+ (() => {
40
+ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
41
+ })();
42
+ // webpack/runtime/make_namespace_object
43
+ (() => {
44
+ // define __esModule on exports
45
+ __webpack_require__.r = (exports) => {
46
+ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ }
49
+ Object.defineProperty(exports, '__esModule', { value: true });
50
+ };
51
+ })();
52
+ var __webpack_exports__ = {};
53
+ // ESM COMPAT FLAG
54
+ __webpack_require__.r(__webpack_exports__);
55
+
56
+ // EXPORTS
57
+ __webpack_require__.d(__webpack_exports__, {
58
+ "default": () => (/* binding */ components_FederationBoundary)
59
+ });
60
+
61
+ ;// CONCATENATED MODULE: external "react"
62
+ const external_react_namespaceObject = require("react");
63
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_namespaceObject);
64
+ ;// CONCATENATED MODULE: external "./ErrorBoundary.js"
65
+ const external_ErrorBoundary_js_namespaceObject = require("./ErrorBoundary.js");
66
+ var external_ErrorBoundary_js_default = /*#__PURE__*/__webpack_require__.n(external_ErrorBoundary_js_namespaceObject);
67
+ ;// CONCATENATED MODULE: ./src/components/FederationBoundary.tsx
68
+
69
+
70
+ /**
71
+ * A fallback component that renders nothing.
72
+ */ const FallbackComponent = ()=>{
73
+ return null;
74
+ };
75
+ /**
76
+ * Wrapper around dynamic import.
77
+ * Adds error boundaries and fallback options.
78
+ */ const FederationBoundary = ({ dynamicImporter, fallback = ()=>Promise.resolve(FallbackComponent), customBoundary: CustomBoundary = (external_ErrorBoundary_js_default()), ...rest })=>{
79
+ const ImportResult = (0,external_react_namespaceObject.useMemo)(()=>{
80
+ return /*#__PURE__*/ (0,external_react_namespaceObject.lazy)(()=>dynamicImporter().catch((e)=>{
81
+ console.error(e);
82
+ return fallback();
83
+ }).then((m)=>{
84
+ return {
85
+ //@ts-ignore
86
+ default: m.default || m
87
+ };
88
+ }));
89
+ }, [
90
+ dynamicImporter,
91
+ fallback
92
+ ]);
93
+ return /*#__PURE__*/ external_react_default().createElement(CustomBoundary, null, /*#__PURE__*/ external_react_default().createElement(ImportResult, rest));
94
+ };
95
+ /* export default */ const components_FederationBoundary = (FederationBoundary);
96
+
97
+ exports["default"] = __webpack_exports__["default"];
98
+ for(var __rspack_i in __webpack_exports__) {
99
+ if(["default"].indexOf(__rspack_i) === -1) {
100
+ exports[__rspack_i] = __webpack_exports__[__rspack_i];
101
+ }
102
+ }
103
+ Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ (function () {
3
+ return typeof document === 'undefined'
4
+ ? new (require('url'.replace('', '')).URL)('file:' + __filename).href
5
+ : (document.currentScript && document.currentScript.src) ||
6
+ new URL('main.js', document.baseURI).href;
7
+ })();
8
+ ;
9
+ var __webpack_modules__ = ({
10
+ 160(module) {
11
+ module.exports = require("./Logger.js");
12
+
13
+ },
14
+ 704(module) {
15
+ module.exports = require("./types/index.js");
16
+
17
+ },
18
+ 37(module) {
19
+ module.exports = require("./utils/common.js");
20
+
21
+ },
22
+ 953(module) {
23
+ module.exports = require("./utils/getRuntimeRemotes.js");
24
+
25
+ },
26
+ 158(module) {
27
+ module.exports = require("./utils/importDelegatedModule.js");
28
+
29
+ },
30
+ 711(module) {
31
+ module.exports = require("./utils/importRemote.js");
32
+
33
+ },
34
+ 755(module) {
35
+ module.exports = require("./utils/isEmpty.js");
36
+
37
+ },
38
+ 576(module) {
39
+ module.exports = require("./utils/pure.js");
40
+
41
+ },
42
+
43
+ });
44
+ // The module cache
45
+ var __webpack_module_cache__ = {};
46
+
47
+ // The require function
48
+ function __webpack_require__(moduleId) {
49
+
50
+ // Check if module is in cache
51
+ var cachedModule = __webpack_module_cache__[moduleId];
52
+ if (cachedModule !== undefined) {
53
+ return cachedModule.exports;
54
+ }
55
+ // Create a new module (and put it into the cache)
56
+ var module = (__webpack_module_cache__[moduleId] = {
57
+ exports: {}
58
+ });
59
+ // Execute the module function
60
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
61
+
62
+ // Return the exports of the module
63
+ return module.exports;
64
+
65
+ }
66
+
67
+ // webpack/runtime/compat_get_default_export
68
+ (() => {
69
+ // getDefaultExport function for compatibility with non-ESM modules
70
+ __webpack_require__.n = (module) => {
71
+ var getter = module && module.__esModule ?
72
+ () => (module['default']) :
73
+ () => (module);
74
+ __webpack_require__.d(getter, { a: getter });
75
+ return getter;
76
+ };
77
+
78
+ })();
79
+ // webpack/runtime/define_property_getters
80
+ (() => {
81
+ __webpack_require__.d = (exports, getters, values) => {
82
+ var define = (defs, kind) => {
83
+ for(var key in defs) {
84
+ if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
85
+ Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
86
+ }
87
+ }
88
+ };
89
+ define(getters, "get");
90
+ define(values, "value");
91
+ };
92
+ })();
93
+ // webpack/runtime/has_own_property
94
+ (() => {
95
+ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
96
+ })();
97
+ // webpack/runtime/make_namespace_object
98
+ (() => {
99
+ // define __esModule on exports
100
+ __webpack_require__.r = (exports) => {
101
+ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
102
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
103
+ }
104
+ Object.defineProperty(exports, '__esModule', { value: true });
105
+ };
106
+ })();
107
+ var __webpack_exports__ = {};
108
+ // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
109
+ (() => {
110
+ __webpack_require__.r(__webpack_exports__);
111
+ /* import */ var _types__rspack_import_0 = __webpack_require__(704);
112
+ /* import */ var _types__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(_types__rspack_import_0);
113
+
114
+ /* reexport */ var __rspack_reexport = {};
115
+ /* reexport */ for( const __rspack_import_key in _types__rspack_import_0) if(["getContainer","importRemote","isObjectEmpty","default","getRuntimeRemotes","loadScript","createRuntimeVariables","injectScript","getModule","Logger","importDelegatedModule","extractUrlAndGlobal"].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] =() => _types__rspack_import_0[__rspack_import_key]
116
+ /* reexport */ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
117
+ /* import */ var _utils_common__rspack_import_1 = __webpack_require__(37);
118
+ /* import */ var _utils_common__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(_utils_common__rspack_import_1);
119
+ /* import */ var _utils_isEmpty__rspack_import_2 = __webpack_require__(755);
120
+ /* import */ var _utils_isEmpty__rspack_import_2_default = /*#__PURE__*/__webpack_require__.n(_utils_isEmpty__rspack_import_2);
121
+ /* import */ var _utils_importRemote__rspack_import_3 = __webpack_require__(711);
122
+ /* import */ var _utils_importRemote__rspack_import_3_default = /*#__PURE__*/__webpack_require__.n(_utils_importRemote__rspack_import_3);
123
+ /* import */ var _Logger__rspack_import_4 = __webpack_require__(160);
124
+ /* import */ var _Logger__rspack_import_4_default = /*#__PURE__*/__webpack_require__.n(_Logger__rspack_import_4);
125
+ /* import */ var _utils_getRuntimeRemotes__rspack_import_5 = __webpack_require__(953);
126
+ /* import */ var _utils_getRuntimeRemotes__rspack_import_5_default = /*#__PURE__*/__webpack_require__.n(_utils_getRuntimeRemotes__rspack_import_5);
127
+ /* import */ var _utils_importDelegatedModule__rspack_import_6 = __webpack_require__(158);
128
+ /* import */ var _utils_importDelegatedModule__rspack_import_6_default = /*#__PURE__*/__webpack_require__.n(_utils_importDelegatedModule__rspack_import_6);
129
+ /* import */ var _utils_pure__rspack_import_7 = __webpack_require__(576);
130
+ /* import */ var _utils_pure__rspack_import_7_default = /*#__PURE__*/__webpack_require__.n(_utils_pure__rspack_import_7);
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+ __webpack_require__.d(__webpack_exports__, {
141
+ Logger: () => (/* reexport safe */ _Logger__rspack_import_4.Logger),
142
+ createRuntimeVariables: () => (/* reexport safe */ _utils_common__rspack_import_1.createRuntimeVariables),
143
+ extractUrlAndGlobal: () => (/* reexport safe */ _utils_pure__rspack_import_7.extractUrlAndGlobal),
144
+ getContainer: () => (/* reexport safe */ _utils_common__rspack_import_1.getContainer),
145
+ getModule: () => (/* reexport safe */ _utils_common__rspack_import_1.getModule),
146
+ getRuntimeRemotes: () => (/* reexport safe */ _utils_getRuntimeRemotes__rspack_import_5.getRuntimeRemotes),
147
+ importDelegatedModule: () => (/* reexport safe */ _utils_importDelegatedModule__rspack_import_6.importDelegatedModule),
148
+ importRemote: () => (/* reexport safe */ _utils_importRemote__rspack_import_3.importRemote),
149
+ injectScript: () => (/* reexport safe */ _utils_common__rspack_import_1.injectScript),
150
+ isObjectEmpty: () => (/* reexport safe */ _utils_isEmpty__rspack_import_2.isObjectEmpty),
151
+ loadScript: () => (/* reexport safe */ _utils_pure__rspack_import_7.loadScript)
152
+ });
153
+
154
+ })();
155
+
156
+ exports.Logger = __webpack_exports__.Logger;
157
+ exports.createRuntimeVariables = __webpack_exports__.createRuntimeVariables;
158
+ exports.extractUrlAndGlobal = __webpack_exports__.extractUrlAndGlobal;
159
+ exports.getContainer = __webpack_exports__.getContainer;
160
+ exports.getModule = __webpack_exports__.getModule;
161
+ exports.getRuntimeRemotes = __webpack_exports__.getRuntimeRemotes;
162
+ exports.importDelegatedModule = __webpack_exports__.importDelegatedModule;
163
+ exports.importRemote = __webpack_exports__.importRemote;
164
+ exports.injectScript = __webpack_exports__.injectScript;
165
+ exports.isObjectEmpty = __webpack_exports__.isObjectEmpty;
166
+ exports.loadScript = __webpack_exports__.loadScript;
167
+ for(var __rspack_i in __webpack_exports__) {
168
+ if(["Logger","createRuntimeVariables","extractUrlAndGlobal","getContainer","getModule","getRuntimeRemotes","importDelegatedModule","importRemote","injectScript","isObjectEmpty","loadScript"].indexOf(__rspack_i) === -1) {
169
+ exports[__rspack_i] = __webpack_exports__[__rspack_i];
170
+ }
171
+ }
172
+ Object.defineProperty(exports, '__esModule', { value: true });
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ (function () {
3
+ return typeof document === 'undefined'
4
+ ? new (require('url'.replace('', '')).URL)('file:' + __filename).href
5
+ : (document.currentScript && document.currentScript.src) ||
6
+ new URL('main.js', document.baseURI).href;
7
+ })();
8
+ ;
9
+ // The require scope
10
+ var __webpack_require__ = {};
11
+
12
+ // webpack/runtime/define_property_getters
13
+ (() => {
14
+ __webpack_require__.d = (exports, getters, values) => {
15
+ var define = (defs, kind) => {
16
+ for(var key in defs) {
17
+ if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
18
+ Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
19
+ }
20
+ }
21
+ };
22
+ define(getters, "get");
23
+ define(values, "value");
24
+ };
25
+ })();
26
+ // webpack/runtime/has_own_property
27
+ (() => {
28
+ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
29
+ })();
30
+ // webpack/runtime/make_namespace_object
31
+ (() => {
32
+ // define __esModule on exports
33
+ __webpack_require__.r = (exports) => {
34
+ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
35
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
36
+ }
37
+ Object.defineProperty(exports, '__esModule', { value: true });
38
+ };
39
+ })();
40
+ var __webpack_exports__ = {};
41
+ __webpack_require__.r(__webpack_exports__);
42
+ const REMOTE_REFERENCE_PREFIX = /^(?:webpack|rspack)\/container\/reference/;
43
+ class DelegateModulesPlugin {
44
+ getChunkByName(chunks, name) {
45
+ for (const chunk of chunks){
46
+ if (chunk.name === name) {
47
+ return chunk;
48
+ }
49
+ }
50
+ return undefined;
51
+ }
52
+ addDelegatesToChunks(compilation, chunks) {
53
+ for (const chunk of chunks){
54
+ this._delegateModules.forEach((module)=>{
55
+ this.addModuleAndDependenciesToChunk(module, chunk, compilation);
56
+ });
57
+ }
58
+ }
59
+ addModuleAndDependenciesToChunk(module, chunk, compilation) {
60
+ if (!compilation.chunkGraph.isModuleInChunk(module, chunk)) {
61
+ if (this.options.debug) {
62
+ console.log('adding ', module.identifier(), ' to chunk', chunk.name);
63
+ }
64
+ compilation.chunkGraph.connectChunkAndModule(chunk, module);
65
+ }
66
+ }
67
+ removeDelegatesNonRuntimeChunks(compilation, chunks) {
68
+ for (const chunk of chunks){
69
+ if (!chunk.hasRuntime()) {
70
+ this.options.debug && console.log('non-runtime chunk:', chunk.debugId, chunk.id, chunk.name);
71
+ for (const [id, module] of this._delegateModules){
72
+ compilation.chunkGraph.disconnectChunkAndModule(chunk, module);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ apply(compiler) {
78
+ compiler.hooks.thisCompilation.tap('DelegateModulesPlugin', (compilation)=>{
79
+ compilation.hooks.finishModules.tapAsync('DelegateModulesPlugin', (modules, callback)=>{
80
+ const { remotes } = this.options;
81
+ const knownDelegates = new Set(remotes ? Object.values(remotes).map((remote)=>remote.replace('internal ', '')) : []);
82
+ for (const module of modules){
83
+ const normalModule = module;
84
+ if (normalModule) {
85
+ const mid = normalModule.identifier();
86
+ if (normalModule?.userRequest && REMOTE_REFERENCE_PREFIX.test(normalModule.userRequest)) {
87
+ this._delegateModules.set(mid, normalModule);
88
+ }
89
+ }
90
+ if (normalModule.resource && knownDelegates.has(normalModule.resource)) {
91
+ this._delegateModules.set(normalModule.resource, normalModule);
92
+ }
93
+ }
94
+ callback();
95
+ });
96
+ compilation.hooks.optimizeChunks.tap('DelegateModulesPlugin', (chunks)=>{
97
+ const { runtime, container } = this.options;
98
+ const runtimeChunk = this.getChunkByName(chunks, runtime);
99
+ if (!runtimeChunk || !runtimeChunk.hasRuntime()) {
100
+ return;
101
+ }
102
+ // Get the container chunk if specified
103
+ const remoteContainer = container ? this.getChunkByName(chunks, container) : null;
104
+ this.options.debug && console.log(remoteContainer?.name, runtimeChunk.name, this._delegateModules.size);
105
+ this.addDelegatesToChunks(compilation, [
106
+ remoteContainer,
107
+ runtimeChunk
108
+ ].filter(Boolean));
109
+ this.removeDelegatesNonRuntimeChunks(compilation, chunks);
110
+ });
111
+ });
112
+ }
113
+ constructor(options){
114
+ this.options = {
115
+ debug: false,
116
+ ...options
117
+ };
118
+ this._delegateModules = new Map();
119
+ }
120
+ }
121
+ /* export default */ const __rspack_default_export = (DelegateModulesPlugin);
122
+
123
+ __webpack_require__.d(__webpack_exports__, {
124
+ }, {
125
+ "default": __rspack_default_export
126
+ });
127
+
128
+ exports["default"] = __webpack_exports__["default"];
129
+ for(var __rspack_i in __webpack_exports__) {
130
+ if(["default"].indexOf(__rspack_i) === -1) {
131
+ exports[__rspack_i] = __webpack_exports__[__rspack_i];
132
+ }
133
+ }
134
+ Object.defineProperty(exports, '__esModule', { value: true });