@module-federation/sdk 2.0.1 → 2.2.0

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 (125) hide show
  1. package/README.md +9 -3
  2. package/dist/_virtual/_rolldown/runtime.cjs +19 -0
  3. package/dist/_virtual/_rolldown/runtime.js +18 -0
  4. package/dist/constant.cjs +70 -0
  5. package/dist/constant.cjs.map +1 -0
  6. package/dist/constant.d.ts +53 -0
  7. package/dist/constant.js +55 -0
  8. package/dist/constant.js.map +1 -0
  9. package/dist/createModuleFederationConfig.cjs +9 -0
  10. package/dist/createModuleFederationConfig.cjs.map +1 -0
  11. package/dist/createModuleFederationConfig.d.ts +6 -0
  12. package/dist/createModuleFederationConfig.js +8 -0
  13. package/dist/createModuleFederationConfig.js.map +1 -0
  14. package/dist/dom.cjs +180 -0
  15. package/dist/dom.cjs.map +1 -0
  16. package/dist/dom.d.ts +33 -0
  17. package/dist/dom.js +176 -0
  18. package/dist/dom.js.map +1 -0
  19. package/dist/env.cjs +34 -0
  20. package/dist/env.cjs.map +1 -0
  21. package/dist/env.d.ts +12 -0
  22. package/dist/env.js +30 -0
  23. package/dist/env.js.map +1 -0
  24. package/dist/generateSnapshotFromManifest.cjs +138 -0
  25. package/dist/generateSnapshotFromManifest.cjs.map +1 -0
  26. package/dist/generateSnapshotFromManifest.d.ts +20 -0
  27. package/dist/generateSnapshotFromManifest.js +134 -0
  28. package/dist/generateSnapshotFromManifest.js.map +1 -0
  29. package/dist/index.cjs +104 -0
  30. package/dist/index.d.ts +21 -1
  31. package/dist/index.js +17 -0
  32. package/dist/logger.cjs +129 -0
  33. package/dist/logger.cjs.map +1 -0
  34. package/dist/logger.d.ts +34 -0
  35. package/dist/logger.js +125 -0
  36. package/dist/logger.js.map +1 -0
  37. package/dist/node.cjs +122 -0
  38. package/dist/node.cjs.map +1 -0
  39. package/dist/node.d.ts +15 -0
  40. package/dist/node.js +120 -0
  41. package/dist/node.js.map +1 -0
  42. package/dist/normalize-webpack-path.cjs +28 -0
  43. package/dist/normalize-webpack-path.cjs.map +1 -0
  44. package/dist/normalize-webpack-path.d.ts +10 -1
  45. package/dist/normalize-webpack-path.js +26 -0
  46. package/dist/normalize-webpack-path.js.map +1 -0
  47. package/dist/normalizeOptions.cjs +19 -0
  48. package/dist/normalizeOptions.cjs.map +1 -0
  49. package/dist/normalizeOptions.d.ts +5 -0
  50. package/dist/normalizeOptions.js +18 -0
  51. package/dist/normalizeOptions.js.map +1 -0
  52. package/dist/types/common.d.ts +14 -0
  53. package/dist/types/hooks.d.ts +16 -0
  54. package/dist/types/index.d.ts +11 -0
  55. package/dist/types/manifest.d.ts +34 -0
  56. package/dist/types/plugins/ConsumeSharedPlugin.cjs +13 -0
  57. package/dist/types/plugins/ConsumeSharedPlugin.cjs.map +1 -0
  58. package/dist/types/plugins/ConsumeSharedPlugin.d.ts +109 -0
  59. package/dist/types/plugins/ConsumeSharedPlugin.js +8 -0
  60. package/dist/types/plugins/ConsumeSharedPlugin.js.map +1 -0
  61. package/dist/types/plugins/ContainerPlugin.cjs +13 -0
  62. package/dist/types/plugins/ContainerPlugin.cjs.map +1 -0
  63. package/dist/types/plugins/ContainerPlugin.d.ts +42 -0
  64. package/dist/types/plugins/ContainerPlugin.js +8 -0
  65. package/dist/types/plugins/ContainerPlugin.js.map +1 -0
  66. package/dist/types/plugins/ContainerReferencePlugin.cjs +13 -0
  67. package/dist/types/plugins/ContainerReferencePlugin.cjs.map +1 -0
  68. package/dist/types/plugins/ContainerReferencePlugin.d.ts +24 -0
  69. package/dist/types/plugins/ContainerReferencePlugin.js +8 -0
  70. package/dist/types/plugins/ContainerReferencePlugin.js.map +1 -0
  71. package/dist/types/plugins/ModuleFederationPlugin.cjs +13 -0
  72. package/dist/types/plugins/ModuleFederationPlugin.cjs.map +1 -0
  73. package/dist/types/plugins/ModuleFederationPlugin.d.ts +455 -0
  74. package/dist/types/plugins/ModuleFederationPlugin.js +8 -0
  75. package/dist/types/plugins/ModuleFederationPlugin.js.map +1 -0
  76. package/dist/types/plugins/ProvideSharedPlugin.cjs +13 -0
  77. package/dist/types/plugins/ProvideSharedPlugin.cjs.map +1 -0
  78. package/dist/types/plugins/ProvideSharedPlugin.d.ts +97 -0
  79. package/dist/types/plugins/ProvideSharedPlugin.js +8 -0
  80. package/dist/types/plugins/ProvideSharedPlugin.js.map +1 -0
  81. package/dist/types/plugins/SharePlugin.cjs +13 -0
  82. package/dist/types/plugins/SharePlugin.cjs.map +1 -0
  83. package/dist/types/plugins/SharePlugin.d.ts +26 -0
  84. package/dist/types/plugins/SharePlugin.js +8 -0
  85. package/dist/types/plugins/SharePlugin.js.map +1 -0
  86. package/dist/types/plugins/index.d.ts +6 -0
  87. package/dist/types/snapshot.d.ts +81 -0
  88. package/dist/types/stats.d.ts +101 -0
  89. package/dist/utils.cjs +127 -0
  90. package/dist/utils.cjs.map +1 -0
  91. package/dist/{src/utils.d.ts → utils.d.ts} +7 -3
  92. package/dist/utils.js +116 -0
  93. package/dist/utils.js.map +1 -0
  94. package/package.json +14 -7
  95. package/dist/index.cjs.cjs +0 -1032
  96. package/dist/index.cjs.cjs.map +0 -1
  97. package/dist/index.cjs.d.ts +0 -1
  98. package/dist/index.esm.js +0 -978
  99. package/dist/index.esm.js.map +0 -1
  100. package/dist/normalize-webpack-path.cjs.cjs +0 -42
  101. package/dist/normalize-webpack-path.cjs.cjs.map +0 -1
  102. package/dist/normalize-webpack-path.cjs.d.ts +0 -1
  103. package/dist/normalize-webpack-path.esm.js +0 -39
  104. package/dist/normalize-webpack-path.esm.js.map +0 -1
  105. package/dist/src/constant.d.ts +0 -49
  106. package/dist/src/createModuleFederationConfig.d.ts +0 -2
  107. package/dist/src/dom.d.ts +0 -29
  108. package/dist/src/env.d.ts +0 -8
  109. package/dist/src/generateSnapshotFromManifest.d.ts +0 -15
  110. package/dist/src/index.d.ts +0 -11
  111. package/dist/src/logger.d.ts +0 -32
  112. package/dist/src/node.d.ts +0 -11
  113. package/dist/src/normalize-webpack-path.d.ts +0 -5
  114. package/dist/src/normalizeOptions.d.ts +0 -1
  115. package/dist/src/types/common.d.ts +0 -10
  116. package/dist/src/types/hooks.d.ts +0 -12
  117. package/dist/src/types/index.d.ts +0 -6
  118. package/dist/src/types/manifest.d.ts +0 -29
  119. package/dist/src/types/plugins/ContainerPlugin.d.ts +0 -32
  120. package/dist/src/types/plugins/ContainerReferencePlugin.d.ts +0 -15
  121. package/dist/src/types/plugins/ModuleFederationPlugin.d.ts +0 -425
  122. package/dist/src/types/plugins/SharePlugin.d.ts +0 -21
  123. package/dist/src/types/plugins/index.d.ts +0 -4
  124. package/dist/src/types/snapshot.d.ts +0 -77
  125. package/dist/src/types/stats.d.ts +0 -97
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  // The SDK can be used to parse entry strings, encode and decode module names, and generate filenames for exposed modules and shared packages.
12
12
  // It also includes a logger for debugging and environment detection utilities.
13
13
  // Additionally, it provides a function to generate a snapshot from a manifest and environment detection utilities.
14
- import { parseEntry, encodeName, decodeName, generateExposeFilename, generateShareFilename, createLogger, isBrowserEnv, isDebugMode, getProcessEnv, generateSnapshotFromManifest } from '@module-federation/sdk';
14
+ import { parseEntry, encodeName, decodeName, generateExposeFilename, generateShareFilename, createLogger, isBrowserEnv, isBrowserEnvValue, isDebugMode, getProcessEnv, generateSnapshotFromManifest } from '@module-federation/sdk';
15
15
 
16
16
  // Parse an entry string into a RemoteEntryInfo object
17
17
  parseEntry('entryString');
@@ -32,7 +32,8 @@ generateShareFilename('packageName', true);
32
32
  const logger = createLogger('identifier');
33
33
 
34
34
  // Check if the current environment is a browser
35
- isBrowserEnv();
35
+ const inBrowser = isBrowserEnv();
36
+ const inBrowserStatic = isBrowserEnvValue;
36
37
 
37
38
  // Check if the current environment is in debug mode
38
39
  isDebugMode();
@@ -76,9 +77,14 @@ generateSnapshotFromManifest(manifest, options);
76
77
 
77
78
  ### isBrowserEnv
78
79
 
79
- - Type: `isBrowserEnv()`
80
+ - Type: `isBrowserEnv(): boolean`
80
81
  - Checks if the current environment is a browser.
81
82
 
83
+ ### isBrowserEnvValue
84
+
85
+ - Type: `isBrowserEnvValue: boolean`
86
+ - Static browser environment flag (tree-shakable when ENV_TARGET is defined).
87
+
82
88
  ### isDebugMode
83
89
 
84
90
  - Type: `isDebugMode()`
@@ -0,0 +1,19 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) {
6
+ __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ }
11
+ if (!no_symbols) {
12
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
13
+ }
14
+ return target;
15
+ };
16
+
17
+ //#endregion
18
+
19
+ exports.__exportAll = __exportAll;
@@ -0,0 +1,18 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) {
6
+ __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ }
11
+ if (!no_symbols) {
12
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
13
+ }
14
+ return target;
15
+ };
16
+
17
+ //#endregion
18
+ export { __exportAll };
@@ -0,0 +1,70 @@
1
+
2
+ //#region src/constant.ts
3
+ const FederationModuleManifest = "federation-manifest.json";
4
+ const MANIFEST_EXT = ".json";
5
+ const BROWSER_LOG_KEY = "FEDERATION_DEBUG";
6
+ const NameTransformSymbol = {
7
+ AT: "@",
8
+ HYPHEN: "-",
9
+ SLASH: "/"
10
+ };
11
+ const NameTransformMap = {
12
+ [NameTransformSymbol.AT]: "scope_",
13
+ [NameTransformSymbol.HYPHEN]: "_",
14
+ [NameTransformSymbol.SLASH]: "__"
15
+ };
16
+ const EncodedNameTransformMap = {
17
+ [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,
18
+ [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,
19
+ [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH
20
+ };
21
+ const SEPARATOR = ":";
22
+ const ManifestFileName = "mf-manifest.json";
23
+ const StatsFileName = "mf-stats.json";
24
+ const MFModuleType = {
25
+ NPM: "npm",
26
+ APP: "app"
27
+ };
28
+ const MODULE_DEVTOOL_IDENTIFIER = "__MF_DEVTOOLS_MODULE_INFO__";
29
+ const ENCODE_NAME_PREFIX = "ENCODE_NAME_PREFIX";
30
+ const TEMP_DIR = ".federation";
31
+ const MFPrefetchCommon = {
32
+ identifier: "MFDataPrefetch",
33
+ globalKey: "__PREFETCH__",
34
+ library: "mf-data-prefetch",
35
+ exportsKey: "__PREFETCH_EXPORTS__",
36
+ fileName: "bootstrap.js"
37
+ };
38
+ let TreeShakingStatus = /* @__PURE__ */ function(TreeShakingStatus) {
39
+ /**
40
+ * Not handled by deploy server, needs to infer by the real runtime period.
41
+ */
42
+ TreeShakingStatus[TreeShakingStatus["UNKNOWN"] = 1] = "UNKNOWN";
43
+ /**
44
+ * It means the shared has been calculated , runtime should take this shared as first choice.
45
+ */
46
+ TreeShakingStatus[TreeShakingStatus["CALCULATED"] = 2] = "CALCULATED";
47
+ /**
48
+ * It means the shared has been calculated, and marked as no used
49
+ */
50
+ TreeShakingStatus[TreeShakingStatus["NO_USE"] = 0] = "NO_USE";
51
+ return TreeShakingStatus;
52
+ }({});
53
+
54
+ //#endregion
55
+ exports.BROWSER_LOG_KEY = BROWSER_LOG_KEY;
56
+ exports.ENCODE_NAME_PREFIX = ENCODE_NAME_PREFIX;
57
+ exports.EncodedNameTransformMap = EncodedNameTransformMap;
58
+ exports.FederationModuleManifest = FederationModuleManifest;
59
+ exports.MANIFEST_EXT = MANIFEST_EXT;
60
+ exports.MFModuleType = MFModuleType;
61
+ exports.MFPrefetchCommon = MFPrefetchCommon;
62
+ exports.MODULE_DEVTOOL_IDENTIFIER = MODULE_DEVTOOL_IDENTIFIER;
63
+ exports.ManifestFileName = ManifestFileName;
64
+ exports.NameTransformMap = NameTransformMap;
65
+ exports.NameTransformSymbol = NameTransformSymbol;
66
+ exports.SEPARATOR = SEPARATOR;
67
+ exports.StatsFileName = StatsFileName;
68
+ exports.TEMP_DIR = TEMP_DIR;
69
+ exports.TreeShakingStatus = TreeShakingStatus;
70
+ //# sourceMappingURL=constant.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.cjs","names":[],"sources":["../src/constant.ts"],"sourcesContent":["export const FederationModuleManifest = 'federation-manifest.json';\nexport const MANIFEST_EXT = '.json';\n\nexport const BROWSER_LOG_KEY = 'FEDERATION_DEBUG';\n\nexport const NameTransformSymbol = {\n AT: '@',\n HYPHEN: '-',\n SLASH: '/',\n} as const;\nexport const NameTransformMap = {\n [NameTransformSymbol.AT]: 'scope_',\n [NameTransformSymbol.HYPHEN]: '_',\n [NameTransformSymbol.SLASH]: '__',\n} as const;\n\nexport const EncodedNameTransformMap = {\n [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH,\n};\n\nexport const SEPARATOR = ':';\n\nexport const ManifestFileName = 'mf-manifest.json';\nexport const StatsFileName = 'mf-stats.json';\n\nexport const MFModuleType = {\n NPM: 'npm',\n APP: 'app',\n};\n\nexport const MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__';\nexport const ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX';\nexport const TEMP_DIR = '.federation';\n\nexport const MFPrefetchCommon = {\n identifier: 'MFDataPrefetch',\n globalKey: '__PREFETCH__',\n library: 'mf-data-prefetch',\n exportsKey: '__PREFETCH_EXPORTS__',\n fileName: 'bootstrap.js',\n};\n\nexport const enum TreeShakingStatus {\n /**\n * Not handled by deploy server, needs to infer by the real runtime period.\n */\n UNKNOWN = 1,\n /**\n * It means the shared has been calculated , runtime should take this shared as first choice.\n */\n CALCULATED = 2,\n /**\n * It means the shared has been calculated, and marked as no used\n */\n NO_USE = 0,\n}\n"],"mappings":";;AAAA,MAAa,2BAA2B;AACxC,MAAa,eAAe;AAE5B,MAAa,kBAAkB;AAE/B,MAAa,sBAAsB;CACjC,IAAI;CACJ,QAAQ;CACR,OAAO;CACR;AACD,MAAa,mBAAmB;EAC7B,oBAAoB,KAAK;EACzB,oBAAoB,SAAS;EAC7B,oBAAoB,QAAQ;CAC9B;AAED,MAAa,0BAA0B;EACpC,iBAAiB,oBAAoB,MAAM,oBAAoB;EAC/D,iBAAiB,oBAAoB,UAAU,oBAAoB;EACnE,iBAAiB,oBAAoB,SAAS,oBAAoB;CACpE;AAED,MAAa,YAAY;AAEzB,MAAa,mBAAmB;AAChC,MAAa,gBAAgB;AAE7B,MAAa,eAAe;CAC1B,KAAK;CACL,KAAK;CACN;AAED,MAAa,4BAA4B;AACzC,MAAa,qBAAqB;AAClC,MAAa,WAAW;AAExB,MAAa,mBAAmB;CAC9B,YAAY;CACZ,WAAW;CACX,SAAS;CACT,YAAY;CACZ,UAAU;CACX;AAED,IAAkB,gEAAX;;;;AAIL;;;;AAIA;;;;AAIA"}
@@ -0,0 +1,53 @@
1
+ //#region src/constant.d.ts
2
+ declare const FederationModuleManifest = "federation-manifest.json";
3
+ declare const MANIFEST_EXT = ".json";
4
+ declare const BROWSER_LOG_KEY = "FEDERATION_DEBUG";
5
+ declare const NameTransformSymbol: {
6
+ readonly AT: "@";
7
+ readonly HYPHEN: "-";
8
+ readonly SLASH: "/";
9
+ };
10
+ declare const NameTransformMap: {
11
+ readonly "@": "scope_";
12
+ readonly "-": "_";
13
+ readonly "/": "__";
14
+ };
15
+ declare const EncodedNameTransformMap: {
16
+ scope_: "@";
17
+ _: "-";
18
+ __: "/";
19
+ };
20
+ declare const SEPARATOR = ":";
21
+ declare const ManifestFileName = "mf-manifest.json";
22
+ declare const StatsFileName = "mf-stats.json";
23
+ declare const MFModuleType: {
24
+ NPM: string;
25
+ APP: string;
26
+ };
27
+ declare const MODULE_DEVTOOL_IDENTIFIER = "__MF_DEVTOOLS_MODULE_INFO__";
28
+ declare const ENCODE_NAME_PREFIX = "ENCODE_NAME_PREFIX";
29
+ declare const TEMP_DIR = ".federation";
30
+ declare const MFPrefetchCommon: {
31
+ identifier: string;
32
+ globalKey: string;
33
+ library: string;
34
+ exportsKey: string;
35
+ fileName: string;
36
+ };
37
+ declare const enum TreeShakingStatus {
38
+ /**
39
+ * Not handled by deploy server, needs to infer by the real runtime period.
40
+ */
41
+ UNKNOWN = 1,
42
+ /**
43
+ * It means the shared has been calculated , runtime should take this shared as first choice.
44
+ */
45
+ CALCULATED = 2,
46
+ /**
47
+ * It means the shared has been calculated, and marked as no used
48
+ */
49
+ NO_USE = 0
50
+ }
51
+ //#endregion
52
+ export { BROWSER_LOG_KEY, ENCODE_NAME_PREFIX, EncodedNameTransformMap, FederationModuleManifest, MANIFEST_EXT, MFModuleType, MFPrefetchCommon, MODULE_DEVTOOL_IDENTIFIER, ManifestFileName, NameTransformMap, NameTransformSymbol, SEPARATOR, StatsFileName, TEMP_DIR, TreeShakingStatus };
53
+ //# sourceMappingURL=constant.d.ts.map
@@ -0,0 +1,55 @@
1
+ //#region src/constant.ts
2
+ const FederationModuleManifest = "federation-manifest.json";
3
+ const MANIFEST_EXT = ".json";
4
+ const BROWSER_LOG_KEY = "FEDERATION_DEBUG";
5
+ const NameTransformSymbol = {
6
+ AT: "@",
7
+ HYPHEN: "-",
8
+ SLASH: "/"
9
+ };
10
+ const NameTransformMap = {
11
+ [NameTransformSymbol.AT]: "scope_",
12
+ [NameTransformSymbol.HYPHEN]: "_",
13
+ [NameTransformSymbol.SLASH]: "__"
14
+ };
15
+ const EncodedNameTransformMap = {
16
+ [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,
17
+ [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,
18
+ [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH
19
+ };
20
+ const SEPARATOR = ":";
21
+ const ManifestFileName = "mf-manifest.json";
22
+ const StatsFileName = "mf-stats.json";
23
+ const MFModuleType = {
24
+ NPM: "npm",
25
+ APP: "app"
26
+ };
27
+ const MODULE_DEVTOOL_IDENTIFIER = "__MF_DEVTOOLS_MODULE_INFO__";
28
+ const ENCODE_NAME_PREFIX = "ENCODE_NAME_PREFIX";
29
+ const TEMP_DIR = ".federation";
30
+ const MFPrefetchCommon = {
31
+ identifier: "MFDataPrefetch",
32
+ globalKey: "__PREFETCH__",
33
+ library: "mf-data-prefetch",
34
+ exportsKey: "__PREFETCH_EXPORTS__",
35
+ fileName: "bootstrap.js"
36
+ };
37
+ let TreeShakingStatus = /* @__PURE__ */ function(TreeShakingStatus) {
38
+ /**
39
+ * Not handled by deploy server, needs to infer by the real runtime period.
40
+ */
41
+ TreeShakingStatus[TreeShakingStatus["UNKNOWN"] = 1] = "UNKNOWN";
42
+ /**
43
+ * It means the shared has been calculated , runtime should take this shared as first choice.
44
+ */
45
+ TreeShakingStatus[TreeShakingStatus["CALCULATED"] = 2] = "CALCULATED";
46
+ /**
47
+ * It means the shared has been calculated, and marked as no used
48
+ */
49
+ TreeShakingStatus[TreeShakingStatus["NO_USE"] = 0] = "NO_USE";
50
+ return TreeShakingStatus;
51
+ }({});
52
+
53
+ //#endregion
54
+ export { BROWSER_LOG_KEY, ENCODE_NAME_PREFIX, EncodedNameTransformMap, FederationModuleManifest, MANIFEST_EXT, MFModuleType, MFPrefetchCommon, MODULE_DEVTOOL_IDENTIFIER, ManifestFileName, NameTransformMap, NameTransformSymbol, SEPARATOR, StatsFileName, TEMP_DIR, TreeShakingStatus };
55
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","names":[],"sources":["../src/constant.ts"],"sourcesContent":["export const FederationModuleManifest = 'federation-manifest.json';\nexport const MANIFEST_EXT = '.json';\n\nexport const BROWSER_LOG_KEY = 'FEDERATION_DEBUG';\n\nexport const NameTransformSymbol = {\n AT: '@',\n HYPHEN: '-',\n SLASH: '/',\n} as const;\nexport const NameTransformMap = {\n [NameTransformSymbol.AT]: 'scope_',\n [NameTransformSymbol.HYPHEN]: '_',\n [NameTransformSymbol.SLASH]: '__',\n} as const;\n\nexport const EncodedNameTransformMap = {\n [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH,\n};\n\nexport const SEPARATOR = ':';\n\nexport const ManifestFileName = 'mf-manifest.json';\nexport const StatsFileName = 'mf-stats.json';\n\nexport const MFModuleType = {\n NPM: 'npm',\n APP: 'app',\n};\n\nexport const MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__';\nexport const ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX';\nexport const TEMP_DIR = '.federation';\n\nexport const MFPrefetchCommon = {\n identifier: 'MFDataPrefetch',\n globalKey: '__PREFETCH__',\n library: 'mf-data-prefetch',\n exportsKey: '__PREFETCH_EXPORTS__',\n fileName: 'bootstrap.js',\n};\n\nexport const enum TreeShakingStatus {\n /**\n * Not handled by deploy server, needs to infer by the real runtime period.\n */\n UNKNOWN = 1,\n /**\n * It means the shared has been calculated , runtime should take this shared as first choice.\n */\n CALCULATED = 2,\n /**\n * It means the shared has been calculated, and marked as no used\n */\n NO_USE = 0,\n}\n"],"mappings":";AAAA,MAAa,2BAA2B;AACxC,MAAa,eAAe;AAE5B,MAAa,kBAAkB;AAE/B,MAAa,sBAAsB;CACjC,IAAI;CACJ,QAAQ;CACR,OAAO;CACR;AACD,MAAa,mBAAmB;EAC7B,oBAAoB,KAAK;EACzB,oBAAoB,SAAS;EAC7B,oBAAoB,QAAQ;CAC9B;AAED,MAAa,0BAA0B;EACpC,iBAAiB,oBAAoB,MAAM,oBAAoB;EAC/D,iBAAiB,oBAAoB,UAAU,oBAAoB;EACnE,iBAAiB,oBAAoB,SAAS,oBAAoB;CACpE;AAED,MAAa,YAAY;AAEzB,MAAa,mBAAmB;AAChC,MAAa,gBAAgB;AAE7B,MAAa,eAAe;CAC1B,KAAK;CACL,KAAK;CACN;AAED,MAAa,4BAA4B;AACzC,MAAa,qBAAqB;AAClC,MAAa,WAAW;AAExB,MAAa,mBAAmB;CAC9B,YAAY;CACZ,WAAW;CACX,SAAS;CACT,YAAY;CACZ,UAAU;CACX;AAED,IAAkB,gEAAX;;;;AAIL;;;;AAIA;;;;AAIA"}
@@ -0,0 +1,9 @@
1
+
2
+ //#region src/createModuleFederationConfig.ts
3
+ const createModuleFederationConfig = (options) => {
4
+ return options;
5
+ };
6
+
7
+ //#endregion
8
+ exports.createModuleFederationConfig = createModuleFederationConfig;
9
+ //# sourceMappingURL=createModuleFederationConfig.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createModuleFederationConfig.cjs","names":[],"sources":["../src/createModuleFederationConfig.ts"],"sourcesContent":["import type { moduleFederationPlugin } from './types/plugins';\n\nexport const createModuleFederationConfig = (\n options: moduleFederationPlugin.ModuleFederationPluginOptions,\n): moduleFederationPlugin.ModuleFederationPluginOptions => {\n return options;\n};\n"],"mappings":";;AAEA,MAAa,gCACX,YACyD;AACzD,QAAO"}
@@ -0,0 +1,6 @@
1
+ import { ModuleFederationPluginOptions } from "./types/plugins/ModuleFederationPlugin.js";
2
+ //#region src/createModuleFederationConfig.d.ts
3
+ declare const createModuleFederationConfig: (options: ModuleFederationPluginOptions) => ModuleFederationPluginOptions;
4
+ //#endregion
5
+ export { createModuleFederationConfig };
6
+ //# sourceMappingURL=createModuleFederationConfig.d.ts.map
@@ -0,0 +1,8 @@
1
+ //#region src/createModuleFederationConfig.ts
2
+ const createModuleFederationConfig = (options) => {
3
+ return options;
4
+ };
5
+
6
+ //#endregion
7
+ export { createModuleFederationConfig };
8
+ //# sourceMappingURL=createModuleFederationConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createModuleFederationConfig.js","names":[],"sources":["../src/createModuleFederationConfig.ts"],"sourcesContent":["import type { moduleFederationPlugin } from './types/plugins';\n\nexport const createModuleFederationConfig = (\n options: moduleFederationPlugin.ModuleFederationPluginOptions,\n): moduleFederationPlugin.ModuleFederationPluginOptions => {\n return options;\n};\n"],"mappings":";AAEA,MAAa,gCACX,YACyD;AACzD,QAAO"}
package/dist/dom.cjs ADDED
@@ -0,0 +1,180 @@
1
+ const require_utils = require('./utils.cjs');
2
+
3
+ //#region src/dom.ts
4
+ async function safeWrapper(callback, disableWarn) {
5
+ try {
6
+ return await callback();
7
+ } catch (e) {
8
+ !disableWarn && require_utils.warn(e);
9
+ return;
10
+ }
11
+ }
12
+ function isStaticResourcesEqual(url1, url2) {
13
+ const REG_EXP = /^(https?:)?\/\//i;
14
+ return url1.replace(REG_EXP, "").replace(/\/$/, "") === url2.replace(REG_EXP, "").replace(/\/$/, "");
15
+ }
16
+ function createScript(info) {
17
+ let script = null;
18
+ let needAttach = true;
19
+ let timeout = 2e4;
20
+ let timeoutId;
21
+ const scripts = document.getElementsByTagName("script");
22
+ for (let i = 0; i < scripts.length; i++) {
23
+ const s = scripts[i];
24
+ const scriptSrc = s.getAttribute("src");
25
+ if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {
26
+ script = s;
27
+ needAttach = false;
28
+ break;
29
+ }
30
+ }
31
+ if (!script) {
32
+ const attrs = info.attrs;
33
+ script = document.createElement("script");
34
+ script.type = attrs?.["type"] === "module" ? "module" : "text/javascript";
35
+ let createScriptRes = void 0;
36
+ if (info.createScriptHook) {
37
+ createScriptRes = info.createScriptHook(info.url, info.attrs);
38
+ if (createScriptRes instanceof HTMLScriptElement) script = createScriptRes;
39
+ else if (typeof createScriptRes === "object") {
40
+ if ("script" in createScriptRes && createScriptRes.script) script = createScriptRes.script;
41
+ if ("timeout" in createScriptRes && createScriptRes.timeout) timeout = createScriptRes.timeout;
42
+ }
43
+ }
44
+ if (!script.src) script.src = info.url;
45
+ if (attrs && !createScriptRes) Object.keys(attrs).forEach((name) => {
46
+ if (script) {
47
+ if (name === "async" || name === "defer") script[name] = attrs[name];
48
+ else if (!script.getAttribute(name)) script.setAttribute(name, attrs[name]);
49
+ }
50
+ });
51
+ }
52
+ let executionError = null;
53
+ const executionErrorHandler = typeof window !== "undefined" ? (evt) => {
54
+ if (evt.filename && isStaticResourcesEqual(evt.filename, info.url)) {
55
+ const err = /* @__PURE__ */ new Error(`ScriptExecutionError: Script "${info.url}" loaded but threw a runtime error during execution: ${evt.message} (${evt.filename}:${evt.lineno}:${evt.colno})`);
56
+ err.name = "ScriptExecutionError";
57
+ executionError = err;
58
+ }
59
+ } : null;
60
+ if (executionErrorHandler) window.addEventListener("error", executionErrorHandler);
61
+ const onScriptComplete = async (prev, event) => {
62
+ clearTimeout(timeoutId);
63
+ if (executionErrorHandler) window.removeEventListener("error", executionErrorHandler);
64
+ const onScriptCompleteCallback = () => {
65
+ if (event?.type === "error") {
66
+ const networkError = /* @__PURE__ */ new Error(`ScriptNetworkError: Failed to load script "${info.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);
67
+ networkError.name = "ScriptNetworkError";
68
+ info?.onErrorCallback && info?.onErrorCallback(networkError);
69
+ } else if (executionError) info?.onErrorCallback && info?.onErrorCallback(executionError);
70
+ else info?.cb && info?.cb();
71
+ };
72
+ if (script) {
73
+ script.onerror = null;
74
+ script.onload = null;
75
+ safeWrapper(() => {
76
+ const { needDeleteScript = true } = info;
77
+ if (needDeleteScript) script?.parentNode && script.parentNode.removeChild(script);
78
+ });
79
+ if (prev && typeof prev === "function") {
80
+ const result = prev(event);
81
+ if (result instanceof Promise) {
82
+ const res = await result;
83
+ onScriptCompleteCallback();
84
+ return res;
85
+ }
86
+ onScriptCompleteCallback();
87
+ return result;
88
+ }
89
+ }
90
+ onScriptCompleteCallback();
91
+ };
92
+ script.onerror = onScriptComplete.bind(null, script.onerror);
93
+ script.onload = onScriptComplete.bind(null, script.onload);
94
+ timeoutId = setTimeout(() => {
95
+ onScriptComplete(null, /* @__PURE__ */ new Error(`Remote script "${info.url}" time-outed.`));
96
+ }, timeout);
97
+ return {
98
+ script,
99
+ needAttach
100
+ };
101
+ }
102
+ function createLink(info) {
103
+ let link = null;
104
+ let needAttach = true;
105
+ const links = document.getElementsByTagName("link");
106
+ for (let i = 0; i < links.length; i++) {
107
+ const l = links[i];
108
+ const linkHref = l.getAttribute("href");
109
+ const linkRel = l.getAttribute("rel");
110
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRel === info.attrs["rel"]) {
111
+ link = l;
112
+ needAttach = false;
113
+ break;
114
+ }
115
+ }
116
+ if (!link) {
117
+ link = document.createElement("link");
118
+ link.setAttribute("href", info.url);
119
+ let createLinkRes = void 0;
120
+ const attrs = info.attrs;
121
+ if (info.createLinkHook) {
122
+ createLinkRes = info.createLinkHook(info.url, attrs);
123
+ if (createLinkRes instanceof HTMLLinkElement) link = createLinkRes;
124
+ }
125
+ if (attrs && !createLinkRes) Object.keys(attrs).forEach((name) => {
126
+ if (link && !link.getAttribute(name)) link.setAttribute(name, attrs[name]);
127
+ });
128
+ }
129
+ const onLinkComplete = (prev, event) => {
130
+ const onLinkCompleteCallback = () => {
131
+ if (event?.type === "error") info?.onErrorCallback && info?.onErrorCallback(event);
132
+ else info?.cb && info?.cb();
133
+ };
134
+ if (link) {
135
+ link.onerror = null;
136
+ link.onload = null;
137
+ safeWrapper(() => {
138
+ const { needDeleteLink = true } = info;
139
+ if (needDeleteLink) link?.parentNode && link.parentNode.removeChild(link);
140
+ });
141
+ if (prev) {
142
+ const res = prev(event);
143
+ onLinkCompleteCallback();
144
+ return res;
145
+ }
146
+ }
147
+ onLinkCompleteCallback();
148
+ };
149
+ link.onerror = onLinkComplete.bind(null, link.onerror);
150
+ link.onload = onLinkComplete.bind(null, link.onload);
151
+ return {
152
+ link,
153
+ needAttach
154
+ };
155
+ }
156
+ function loadScript(url, info) {
157
+ const { attrs = {}, createScriptHook } = info;
158
+ return new Promise((resolve, reject) => {
159
+ const { script, needAttach } = createScript({
160
+ url,
161
+ cb: resolve,
162
+ onErrorCallback: reject,
163
+ attrs: {
164
+ fetchpriority: "high",
165
+ ...attrs
166
+ },
167
+ createScriptHook,
168
+ needDeleteScript: true
169
+ });
170
+ needAttach && document.head.appendChild(script);
171
+ });
172
+ }
173
+
174
+ //#endregion
175
+ exports.createLink = createLink;
176
+ exports.createScript = createScript;
177
+ exports.isStaticResourcesEqual = isStaticResourcesEqual;
178
+ exports.loadScript = loadScript;
179
+ exports.safeWrapper = safeWrapper;
180
+ //# sourceMappingURL=dom.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.cjs","names":["warn"],"sources":["../src/dom.ts"],"sourcesContent":["import type { CreateScriptHookDom, CreateScriptHookReturnDom } from './types';\nimport { warn } from './utils';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function safeWrapper<T extends (...args: Array<any>) => any>(\n callback: T,\n disableWarn?: boolean,\n): Promise<ReturnType<T> | undefined> {\n try {\n const res = await callback();\n return res;\n } catch (e) {\n !disableWarn && warn(e);\n return;\n }\n}\n\nexport function isStaticResourcesEqual(url1: string, url2: string): boolean {\n const REG_EXP = /^(https?:)?\\/\\//i;\n // Transform url1 and url2 into relative paths\n const relativeUrl1 = url1.replace(REG_EXP, '').replace(/\\/$/, '');\n const relativeUrl2 = url2.replace(REG_EXP, '').replace(/\\/$/, '');\n // Check if the relative paths are identical\n return relativeUrl1 === relativeUrl2;\n}\n\nexport function createScript(info: {\n url: string;\n cb?: (value: void | PromiseLike<void>) => void;\n onErrorCallback?: (error: Error) => void;\n attrs?: Record<string, any>;\n needDeleteScript?: boolean;\n createScriptHook?: CreateScriptHookDom;\n}): { script: HTMLScriptElement; needAttach: boolean } {\n // Retrieve the existing script element by its src attribute\n let script: HTMLScriptElement | null = null;\n let needAttach = true;\n let timeout = 20000;\n let timeoutId: NodeJS.Timeout;\n const scripts = document.getElementsByTagName('script');\n\n for (let i = 0; i < scripts.length; i++) {\n const s = scripts[i];\n const scriptSrc = s.getAttribute('src');\n if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n script = s;\n needAttach = false;\n break;\n }\n }\n\n if (!script) {\n const attrs = info.attrs;\n script = document.createElement('script');\n script.type = attrs?.['type'] === 'module' ? 'module' : 'text/javascript';\n let createScriptRes: CreateScriptHookReturnDom = undefined;\n if (info.createScriptHook) {\n createScriptRes = info.createScriptHook(info.url, info.attrs);\n\n if (createScriptRes instanceof HTMLScriptElement) {\n script = createScriptRes;\n } else if (typeof createScriptRes === 'object') {\n if ('script' in createScriptRes && createScriptRes.script) {\n script = createScriptRes.script;\n }\n if ('timeout' in createScriptRes && createScriptRes.timeout) {\n timeout = createScriptRes.timeout;\n }\n }\n }\n if (!script.src) {\n script.src = info.url;\n }\n if (attrs && !createScriptRes) {\n Object.keys(attrs).forEach((name) => {\n if (script) {\n if (name === 'async' || name === 'defer') {\n script[name] = attrs[name];\n // Attributes that do not exist are considered overridden\n } else if (!script.getAttribute(name)) {\n script.setAttribute(name, attrs[name]);\n }\n }\n });\n }\n }\n\n // Capture JS runtime errors thrown by this script's IIFE during execution.\n // The browser still fires onload even when the script throws, so without this\n // listener the execution error would silently become an uncaught global exception.\n let executionError: Error | null = null;\n const executionErrorHandler =\n typeof window !== 'undefined'\n ? (evt: ErrorEvent) => {\n if (evt.filename && isStaticResourcesEqual(evt.filename, info.url)) {\n const err = new Error(\n `ScriptExecutionError: Script \"${info.url}\" loaded but threw a runtime error during execution: ${evt.message} (${evt.filename}:${evt.lineno}:${evt.colno})`,\n );\n err.name = 'ScriptExecutionError';\n executionError = err;\n }\n }\n : null;\n if (executionErrorHandler) {\n window.addEventListener('error', executionErrorHandler);\n }\n\n const onScriptComplete = async (\n prev: OnErrorEventHandler | GlobalEventHandlers['onload'] | null,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event: any,\n ): Promise<void> => {\n clearTimeout(timeoutId);\n if (executionErrorHandler) {\n window.removeEventListener('error', executionErrorHandler);\n }\n const onScriptCompleteCallback = () => {\n if (event?.type === 'error') {\n const networkError = new Error(\n `ScriptNetworkError: Failed to load script \"${info.url}\" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`,\n );\n networkError.name = 'ScriptNetworkError';\n info?.onErrorCallback && info?.onErrorCallback(networkError);\n } else if (executionError) {\n // Script fetched OK (onload fired) but IIFE threw during execution.\n info?.onErrorCallback && info?.onErrorCallback(executionError);\n } else {\n info?.cb && info?.cb();\n }\n };\n\n // Prevent memory leaks in IE.\n if (script) {\n script.onerror = null;\n script.onload = null;\n safeWrapper(() => {\n const { needDeleteScript = true } = info;\n if (needDeleteScript) {\n script?.parentNode && script.parentNode.removeChild(script);\n }\n });\n if (prev && typeof prev === 'function') {\n const result = (prev as any)(event);\n if (result instanceof Promise) {\n const res = await result;\n onScriptCompleteCallback();\n return res;\n }\n onScriptCompleteCallback();\n return result;\n }\n }\n onScriptCompleteCallback();\n };\n\n script.onerror = onScriptComplete.bind(null, script.onerror);\n script.onload = onScriptComplete.bind(null, script.onload);\n\n timeoutId = setTimeout(() => {\n onScriptComplete(\n null,\n new Error(`Remote script \"${info.url}\" time-outed.`),\n );\n }, timeout);\n\n return { script, needAttach };\n}\n\nexport function createLink(info: {\n url: string;\n cb?: (value: void | PromiseLike<void>) => void;\n onErrorCallback?: (error: Error) => void;\n attrs: Record<string, string>;\n needDeleteLink?: boolean;\n createLinkHook?: (\n url: string,\n attrs?: Record<string, any>,\n ) => HTMLLinkElement | void;\n}) {\n // <link rel=\"preload\" href=\"script.js\" as=\"script\">\n\n // Retrieve the existing script element by its src attribute\n let link: HTMLLinkElement | null = null;\n let needAttach = true;\n const links = document.getElementsByTagName('link');\n for (let i = 0; i < links.length; i++) {\n const l = links[i];\n const linkHref = l.getAttribute('href');\n const linkRel = l.getAttribute('rel');\n if (\n linkHref &&\n isStaticResourcesEqual(linkHref, info.url) &&\n linkRel === info.attrs['rel']\n ) {\n link = l;\n needAttach = false;\n break;\n }\n }\n\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('href', info.url);\n\n let createLinkRes: void | HTMLLinkElement = undefined;\n const attrs = info.attrs;\n\n if (info.createLinkHook) {\n createLinkRes = info.createLinkHook(info.url, attrs);\n if (createLinkRes instanceof HTMLLinkElement) {\n link = createLinkRes;\n }\n }\n\n if (attrs && !createLinkRes) {\n Object.keys(attrs).forEach((name) => {\n if (link && !link.getAttribute(name)) {\n link.setAttribute(name, attrs[name]);\n }\n });\n }\n }\n\n const onLinkComplete = (\n prev: OnErrorEventHandler | GlobalEventHandlers['onload'] | null,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event: any,\n ): void => {\n const onLinkCompleteCallback = () => {\n if (event?.type === 'error') {\n info?.onErrorCallback && info?.onErrorCallback(event);\n } else {\n info?.cb && info?.cb();\n }\n };\n // Prevent memory leaks in IE.\n if (link) {\n link.onerror = null;\n link.onload = null;\n safeWrapper(() => {\n const { needDeleteLink = true } = info;\n if (needDeleteLink) {\n link?.parentNode && link.parentNode.removeChild(link);\n }\n });\n if (prev) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = (prev as any)(event);\n onLinkCompleteCallback();\n return res;\n }\n }\n onLinkCompleteCallback();\n };\n\n link.onerror = onLinkComplete.bind(null, link.onerror);\n link.onload = onLinkComplete.bind(null, link.onload);\n\n return { link, needAttach };\n}\n\nexport function loadScript(\n url: string,\n info: {\n attrs?: Record<string, any>;\n createScriptHook?: CreateScriptHookDom;\n },\n) {\n const { attrs = {}, createScriptHook } = info;\n return new Promise<void>((resolve, reject) => {\n const { script, needAttach } = createScript({\n url,\n cb: resolve,\n onErrorCallback: reject,\n attrs: {\n fetchpriority: 'high',\n ...attrs,\n },\n createScriptHook,\n needDeleteScript: true,\n });\n needAttach && document.head.appendChild(script);\n });\n}\n"],"mappings":"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"}
package/dist/dom.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import { CreateScriptHookDom } from "./types/hooks.js";
2
+ //#region src/dom.d.ts
3
+ declare function safeWrapper<T extends (...args: Array<any>) => any>(callback: T, disableWarn?: boolean): Promise<ReturnType<T> | undefined>;
4
+ declare function isStaticResourcesEqual(url1: string, url2: string): boolean;
5
+ declare function createScript(info: {
6
+ url: string;
7
+ cb?: (value: void | PromiseLike<void>) => void;
8
+ onErrorCallback?: (error: Error) => void;
9
+ attrs?: Record<string, any>;
10
+ needDeleteScript?: boolean;
11
+ createScriptHook?: CreateScriptHookDom;
12
+ }): {
13
+ script: HTMLScriptElement;
14
+ needAttach: boolean;
15
+ };
16
+ declare function createLink(info: {
17
+ url: string;
18
+ cb?: (value: void | PromiseLike<void>) => void;
19
+ onErrorCallback?: (error: Error) => void;
20
+ attrs: Record<string, string>;
21
+ needDeleteLink?: boolean;
22
+ createLinkHook?: (url: string, attrs?: Record<string, any>) => HTMLLinkElement | void;
23
+ }): {
24
+ link: HTMLLinkElement;
25
+ needAttach: boolean;
26
+ };
27
+ declare function loadScript(url: string, info: {
28
+ attrs?: Record<string, any>;
29
+ createScriptHook?: CreateScriptHookDom;
30
+ }): Promise<void>;
31
+ //#endregion
32
+ export { createLink, createScript, isStaticResourcesEqual, loadScript, safeWrapper };
33
+ //# sourceMappingURL=dom.d.ts.map