@bleedingdev/modern-js-server-core 3.2.0-ultramodern.99 → 3.4.0-ultramodern.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 (113) hide show
  1. package/dist/cjs/adapters/node/helper/index.js +9 -5
  2. package/dist/cjs/adapters/node/helper/loadCache.js +9 -5
  3. package/dist/cjs/adapters/node/helper/loadConfig.js +9 -5
  4. package/dist/cjs/adapters/node/helper/loadEnv.js +9 -5
  5. package/dist/cjs/adapters/node/helper/loadPlugin.js +9 -5
  6. package/dist/cjs/adapters/node/helper/utils.js +12 -8
  7. package/dist/cjs/adapters/node/hono.js +9 -5
  8. package/dist/cjs/adapters/node/index.js +9 -5
  9. package/dist/cjs/adapters/node/node.js +9 -5
  10. package/dist/cjs/adapters/node/plugins/index.js +9 -5
  11. package/dist/cjs/adapters/node/plugins/nodeServer.js +12 -8
  12. package/dist/cjs/adapters/node/plugins/resource.js +10 -11
  13. package/dist/cjs/adapters/node/plugins/static.js +20 -190
  14. package/dist/cjs/adapters/node/plugins/staticModuleFederation.js +165 -0
  15. package/dist/cjs/adapters/node/plugins/staticPrecompressed.js +135 -0
  16. package/dist/cjs/constants.js +18 -13
  17. package/dist/cjs/context.js +9 -5
  18. package/dist/cjs/helper.js +12 -8
  19. package/dist/cjs/hono.js +9 -5
  20. package/dist/cjs/index.js +60 -32
  21. package/dist/cjs/plugins/compat/hooks.js +14 -10
  22. package/dist/cjs/plugins/compat/index.js +9 -5
  23. package/dist/cjs/plugins/default.js +9 -7
  24. package/dist/cjs/plugins/favicon.js +12 -8
  25. package/dist/cjs/plugins/index.js +11 -88
  26. package/dist/cjs/plugins/log.js +9 -5
  27. package/dist/cjs/plugins/middlewares.js +12 -8
  28. package/dist/cjs/plugins/monitors.js +9 -5
  29. package/dist/cjs/plugins/processedBy.js +12 -8
  30. package/dist/cjs/plugins/render/csrRscRender.js +9 -5
  31. package/dist/cjs/plugins/render/dataHandler.js +9 -5
  32. package/dist/cjs/plugins/render/index.js +12 -8
  33. package/dist/cjs/plugins/render/inject.js +12 -7
  34. package/dist/cjs/plugins/render/render.js +14 -6
  35. package/dist/cjs/plugins/render/renderRscHandler.js +9 -5
  36. package/dist/cjs/plugins/render/serverActionHandler.js +9 -5
  37. package/dist/cjs/plugins/render/ssrCache.js +9 -5
  38. package/dist/cjs/plugins/render/ssrRender.js +9 -5
  39. package/dist/cjs/plugins/render/utils.js +12 -8
  40. package/dist/cjs/plugins/route.js +9 -5
  41. package/dist/cjs/serverBase.js +9 -5
  42. package/dist/cjs/types/config/bffRuntime.js +18 -0
  43. package/dist/cjs/types/config/index.js +9 -5
  44. package/dist/cjs/types/config/serverTelemetry.js +18 -0
  45. package/dist/cjs/types/index.js +9 -5
  46. package/dist/cjs/types/plugins/index.js +9 -5
  47. package/dist/cjs/utils/entry.js +13 -9
  48. package/dist/cjs/utils/env.js +13 -9
  49. package/dist/cjs/utils/error.js +71 -5
  50. package/dist/cjs/utils/index.js +9 -5
  51. package/dist/cjs/utils/middlewareCollector.js +13 -9
  52. package/dist/cjs/utils/publicDir.js +9 -5
  53. package/dist/cjs/utils/request.js +16 -12
  54. package/dist/cjs/utils/serverConfig.js +9 -5
  55. package/dist/cjs/utils/storage.js +9 -5
  56. package/dist/cjs/utils/transformStream.js +13 -9
  57. package/dist/cjs/utils/warmup.js +12 -8
  58. package/dist/esm/adapters/node/plugins/resource.mjs +1 -6
  59. package/dist/esm/adapters/node/plugins/static.mjs +7 -181
  60. package/dist/esm/adapters/node/plugins/staticModuleFederation.mjs +96 -0
  61. package/dist/esm/adapters/node/plugins/staticPrecompressed.mjs +91 -0
  62. package/dist/esm/index.mjs +1 -1
  63. package/dist/esm/plugins/default.mjs +0 -2
  64. package/dist/esm/plugins/index.mjs +0 -3
  65. package/dist/esm/plugins/render/inject.mjs +3 -2
  66. package/dist/esm/plugins/render/render.mjs +7 -3
  67. package/dist/esm/types/config/bffRuntime.mjs +0 -0
  68. package/dist/esm/types/config/serverTelemetry.mjs +0 -0
  69. package/dist/esm/utils/error.mjs +54 -1
  70. package/dist/esm-node/adapters/node/plugins/resource.mjs +1 -6
  71. package/dist/esm-node/adapters/node/plugins/static.mjs +7 -181
  72. package/dist/esm-node/adapters/node/plugins/staticModuleFederation.mjs +97 -0
  73. package/dist/esm-node/adapters/node/plugins/staticPrecompressed.mjs +92 -0
  74. package/dist/esm-node/index.mjs +1 -1
  75. package/dist/esm-node/plugins/default.mjs +0 -2
  76. package/dist/esm-node/plugins/index.mjs +0 -3
  77. package/dist/esm-node/plugins/render/inject.mjs +3 -2
  78. package/dist/esm-node/plugins/render/render.mjs +5 -1
  79. package/dist/esm-node/types/config/bffRuntime.mjs +1 -0
  80. package/dist/esm-node/types/config/serverTelemetry.mjs +1 -0
  81. package/dist/esm-node/utils/error.mjs +54 -1
  82. package/dist/types/adapters/node/plugins/staticModuleFederation.d.ts +13 -0
  83. package/dist/types/adapters/node/plugins/staticPrecompressed.d.ts +13 -0
  84. package/dist/types/index.d.ts +2 -1
  85. package/dist/types/plugins/index.d.ts +0 -3
  86. package/dist/types/types/config/bff.d.ts +2 -97
  87. package/dist/types/types/config/bffRuntime.d.ts +105 -0
  88. package/dist/types/types/config/server.d.ts +3 -337
  89. package/dist/types/types/config/serverTelemetry.d.ts +319 -0
  90. package/dist/types/types/plugins/base.d.ts +7 -2
  91. package/dist/types/types/plugins/index.d.ts +1 -1
  92. package/dist/types/utils/error.d.ts +16 -0
  93. package/package.json +12 -12
  94. package/dist/cjs/adapters/node/plugins/moduleFederationCss.js +0 -172
  95. package/dist/cjs/plugins/contractGateAutopilot.js +0 -158
  96. package/dist/cjs/plugins/contractGateSnapshotStore.js +0 -239
  97. package/dist/cjs/plugins/mfCache.js +0 -78
  98. package/dist/cjs/plugins/telemetry.js +0 -1283
  99. package/dist/esm/adapters/node/plugins/moduleFederationCss.mjs +0 -125
  100. package/dist/esm/plugins/contractGateAutopilot.mjs +0 -124
  101. package/dist/esm/plugins/contractGateSnapshotStore.mjs +0 -180
  102. package/dist/esm/plugins/mfCache.mjs +0 -35
  103. package/dist/esm/plugins/telemetry.mjs +0 -1195
  104. package/dist/esm-node/adapters/node/plugins/moduleFederationCss.mjs +0 -126
  105. package/dist/esm-node/plugins/contractGateAutopilot.mjs +0 -125
  106. package/dist/esm-node/plugins/contractGateSnapshotStore.mjs +0 -182
  107. package/dist/esm-node/plugins/mfCache.mjs +0 -36
  108. package/dist/esm-node/plugins/telemetry.mjs +0 -1196
  109. package/dist/types/adapters/node/plugins/moduleFederationCss.d.ts +0 -33
  110. package/dist/types/plugins/contractGateAutopilot.d.ts +0 -35
  111. package/dist/types/plugins/contractGateSnapshotStore.d.ts +0 -57
  112. package/dist/types/plugins/mfCache.d.ts +0 -12
  113. package/dist/types/plugins/telemetry.d.ts +0 -309
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,13 +27,13 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- isResFinalized: ()=>isResFinalized
28
- });
29
30
  const isResFinalized = (res)=>{
30
31
  const response = res;
31
32
  return Boolean(response.headersSent) || Boolean(response._modernBodyPiped) || Boolean(response.writableEnded) || Boolean(response.finished) || response.socket?.writable === false;
32
33
  };
34
+ __webpack_require__.d(__webpack_exports__, {}, {
35
+ isResFinalized: isResFinalized
36
+ });
33
37
  exports.isResFinalized = __webpack_exports__.isResFinalized;
34
38
  for(var __rspack_i in __webpack_exports__)if (-1 === [
35
39
  "isResFinalized"
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -30,11 +30,15 @@ function __webpack_require__(moduleId) {
30
30
  };
31
31
  })();
32
32
  (()=>{
33
- __webpack_require__.d = (exports1, definition)=>{
34
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
35
- enumerable: true,
36
- get: definition[key]
37
- });
33
+ __webpack_require__.d = (exports1, getters, values)=>{
34
+ var define = (defs, kind)=>{
35
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
36
+ enumerable: true,
37
+ [kind]: defs[key]
38
+ });
39
+ };
40
+ define(getters, "get");
41
+ define(values, "value");
38
42
  };
39
43
  })();
40
44
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- injectNodeSeverPlugin: ()=>injectNodeSeverPlugin
28
- });
29
30
  const injectNodeSeverPlugin = ({ nodeServer })=>({
30
31
  name: '@modern-js/plugin-inject-node-server',
31
32
  setup (api) {
@@ -34,6 +35,9 @@ const injectNodeSeverPlugin = ({ nodeServer })=>({
34
35
  });
35
36
  }
36
37
  });
38
+ __webpack_require__.d(__webpack_exports__, {}, {
39
+ injectNodeSeverPlugin: injectNodeSeverPlugin
40
+ });
37
41
  exports.injectNodeSeverPlugin = __webpack_exports__.injectNodeSeverPlugin;
38
42
  for(var __rspack_i in __webpack_exports__)if (-1 === [
39
43
  "injectNodeSeverPlugin"
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -48,7 +52,6 @@ const utils_namespaceObject = require("@modern-js/utils");
48
52
  const external_path_namespaceObject = require("path");
49
53
  var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
50
54
  const index_js_namespaceObject = require("../../../utils/index.js");
51
- const external_moduleFederationCss_js_namespaceObject = require("./moduleFederationCss.js");
52
55
  async function getHtmlTemplates(pwd, routes) {
53
56
  const htmlRoutes = routes.filter((route)=>route.entryName);
54
57
  const htmls = await Promise.all(htmlRoutes.map(async (route)=>{
@@ -103,16 +106,12 @@ async function getServerManifest(pwd, routes, monitors) {
103
106
  const routeManifest = await (0, utils_namespaceObject.compatibleRequire)(routesManifestUri).catch((_)=>({}));
104
107
  const nestedRoutesJsonPath = external_path_default().join(pwd, utils_namespaceObject.NESTED_ROUTE_SPEC_FILE);
105
108
  const nestedRoutesJson = await (0, utils_namespaceObject.compatibleRequire)(nestedRoutesJsonPath).catch((_)=>({}));
106
- const moduleFederationCssAssets = await (0, external_moduleFederationCss_js_namespaceObject.collectDirectRemoteModuleFederationCss)(pwd, {
107
- monitors
108
- });
109
109
  return {
110
110
  loaderBundles,
111
111
  renderBundles,
112
112
  loadableStats,
113
113
  routeManifest,
114
- nestedRoutesJson,
115
- moduleFederationCssAssets
114
+ nestedRoutesJson
116
115
  };
117
116
  }
118
117
  function injectServerManifest(pwd, routes, manifestPromise) {
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -44,6 +48,8 @@ const external_path_namespaceObject = require("path");
44
48
  var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
45
49
  const index_js_namespaceObject = require("../../../utils/index.js");
46
50
  const publicDir_js_namespaceObject = require("../../../utils/publicDir.js");
51
+ const external_staticModuleFederation_js_namespaceObject = require("./staticModuleFederation.js");
52
+ const external_staticPrecompressed_js_namespaceObject = require("./staticPrecompressed.js");
47
53
  const serverStaticPlugin = ()=>({
48
54
  name: '@modern-js/plugin-server-static',
49
55
  setup (api) {
@@ -64,98 +70,13 @@ const serverStaticPlugin = ()=>({
64
70
  });
65
71
  }
66
72
  });
67
- const PRE_COMPRESSED_ASSET_EXTENSIONS = {
68
- br: '.br',
69
- gzip: '.gz'
70
- };
71
- const PRE_COMPRESSED_SUPPORTED_ENCODINGS = [
72
- 'br',
73
- 'gzip'
74
- ];
75
- const parseAcceptEncoding = (value)=>value.split(',').map((item)=>item.trim()).filter(Boolean).map((item)=>{
76
- const [rawName, ...params] = item.split(';');
77
- const name = rawName.trim().toLowerCase();
78
- let q = 1;
79
- for (const param of params){
80
- const [key, rawValue] = param.split('=').map((v)=>v.trim());
81
- if ('q' !== key.toLowerCase() || null == rawValue) continue;
82
- const parsedQ = Number(rawValue);
83
- if (!Number.isNaN(parsedQ)) q = Math.max(0, Math.min(parsedQ, 1));
84
- }
85
- return {
86
- name,
87
- q
88
- };
89
- });
90
- const getAcceptedEncodings = (value)=>{
91
- if (!value) return [];
92
- const parsed = parseAcceptEncoding(value);
93
- const qualityByEncoding = new Map();
94
- let wildcardQuality;
95
- for (const { name, q } of parsed){
96
- if ('*' === name) {
97
- wildcardQuality = q;
98
- continue;
99
- }
100
- qualityByEncoding.set(name, q);
101
- }
102
- const getQuality = (encoding)=>{
103
- const explicit = qualityByEncoding.get(encoding);
104
- if (void 0 !== explicit) return explicit;
105
- return wildcardQuality ?? 0;
106
- };
107
- return PRE_COMPRESSED_SUPPORTED_ENCODINGS.map((encoding)=>({
108
- encoding,
109
- quality: getQuality(encoding)
110
- })).filter((item)=>item.quality > 0).sort((a, b)=>b.quality - a.quality).map((item)=>item.encoding);
111
- };
112
- const appendVaryHeader = (c, value)=>{
113
- const current = c.res.headers.get('Vary');
114
- if (!current) return void c.header('Vary', value);
115
- const values = current.split(',').map((item)=>item.trim().toLowerCase()).filter(Boolean);
116
- if (!values.includes(value.toLowerCase())) c.header('Vary', `${current}, ${value}`);
117
- };
118
- const resolvePreCompressedAsset = async (c, filepath)=>{
119
- const brPath = `${filepath}${PRE_COMPRESSED_ASSET_EXTENSIONS.br}`;
120
- const gzipPath = `${filepath}${PRE_COMPRESSED_ASSET_EXTENSIONS.gzip}`;
121
- const [hasBr, hasGzip] = await Promise.all([
122
- utils_namespaceObject.fs.pathExists(brPath),
123
- utils_namespaceObject.fs.pathExists(gzipPath)
124
- ]);
125
- const hasVariant = hasBr || hasGzip;
126
- if (!hasVariant) return {
127
- selected: null,
128
- hasVariant: false
129
- };
130
- const acceptedEncodings = getAcceptedEncodings(c.req.header('accept-encoding'));
131
- for (const encoding of acceptedEncodings){
132
- if ('br' === encoding && hasBr) return {
133
- selected: {
134
- filepath: brPath,
135
- encoding
136
- },
137
- hasVariant: true
138
- };
139
- if ('gzip' === encoding && hasGzip) return {
140
- selected: {
141
- filepath: gzipPath,
142
- encoding
143
- },
144
- hasVariant: true
145
- };
146
- }
147
- return {
148
- selected: null,
149
- hasVariant: true
150
- };
151
- };
152
73
  function createPublicMiddleware({ pwd, routes }) {
153
74
  return async (c, next)=>{
154
75
  const route = matchPublicRoute(c.req, routes);
155
76
  if (route) {
156
77
  const { entryPath } = route;
157
78
  const originFilename = external_path_default().join(pwd, entryPath);
158
- const preCompressedAsset = await resolvePreCompressedAsset(c, originFilename);
79
+ const preCompressedAsset = await (0, external_staticPrecompressed_js_namespaceObject.resolvePreCompressedAsset)(c, originFilename);
159
80
  const filename = preCompressedAsset.selected?.filepath ?? originFilename;
160
81
  const data = await fileReader_namespaceObject.fileReader.readFile(filename, 'buffer');
161
82
  const mimeType = (0, mime_namespaceObject.getMimeType)(originFilename);
@@ -165,8 +86,7 @@ function createPublicMiddleware({ pwd, routes }) {
165
86
  Object.entries(route.responseHeaders || {}).forEach(([k, v])=>{
166
87
  c.header(k, v);
167
88
  });
168
- if (preCompressedAsset.hasVariant) appendVaryHeader(c, 'Accept-Encoding');
169
- if (preCompressedAsset.selected) c.header('Content-Encoding', preCompressedAsset.selected.encoding);
89
+ (0, external_staticPrecompressed_js_namespaceObject.applyPreCompressedAssetHeaders)(c, preCompressedAsset);
170
90
  c.header('Content-Length', String(data.byteLength));
171
91
  return c.body(body, 200);
172
92
  }
@@ -186,91 +106,6 @@ const extractPathname = (url)=>{
186
106
  return url;
187
107
  }
188
108
  };
189
- const MODULE_FEDERATION_MANIFEST_FILE = 'mf-manifest.json';
190
- const MODULE_FEDERATION_OPTIONAL_FILES = [
191
- 'mf-stats.json'
192
- ];
193
- const trimLeadingSlash = (value)=>value.replace(/^\/+/, '');
194
- const joinModuleFederationAssetPath = (assetPath, assetName)=>{
195
- if (!assetName) return '';
196
- return trimLeadingSlash(external_path_default().posix.join(assetPath || '', assetName));
197
- };
198
- const appendModuleFederationAsset = (set, assetPath)=>{
199
- if (!assetPath) return;
200
- set.add(trimLeadingSlash(assetPath));
201
- };
202
- const appendModuleFederationAssets = (set, assets)=>{
203
- assets?.js?.sync?.forEach((asset)=>appendModuleFederationAsset(set, asset));
204
- assets?.js?.async?.forEach((asset)=>appendModuleFederationAsset(set, asset));
205
- assets?.css?.sync?.forEach((asset)=>appendModuleFederationAsset(set, asset));
206
- assets?.css?.async?.forEach((asset)=>appendModuleFederationAsset(set, asset));
207
- };
208
- const hasAbsoluteProtocol = (value)=>/^https?:\/\//i.test(value) || value.startsWith('//');
209
- const ensureLeadingSlash = (value)=>{
210
- if ('' === value) return '/';
211
- return value.startsWith('/') ? value : `/${value}`;
212
- };
213
- const ensureTrailingSlash = (value)=>value.endsWith('/') ? value : `${value}/`;
214
- const patchModuleFederationManifestPublicPath = (c, manifestBuffer, pathPrefix)=>{
215
- try {
216
- const manifest = JSON.parse(manifestBuffer.toString('utf-8'));
217
- const publicPath = manifest.metaData?.publicPath;
218
- if (!publicPath || hasAbsoluteProtocol(publicPath)) return manifestBuffer;
219
- const requestURL = new URL(c.req.url);
220
- const prefixPath = ensureTrailingSlash(ensureLeadingSlash(pathPrefix || '/'));
221
- manifest.metaData = {
222
- ...manifest.metaData,
223
- publicPath: `${requestURL.origin}${prefixPath}`
224
- };
225
- return Buffer.from(JSON.stringify(manifest), 'utf-8');
226
- } catch {
227
- return manifestBuffer;
228
- }
229
- };
230
- const patchModuleFederationRemoteEntryPublicPath = (c, remoteEntryBuffer, pathPrefix)=>{
231
- const requestURL = new URL(c.req.url);
232
- const prefixPath = ensureTrailingSlash(ensureLeadingSlash(pathPrefix || '/'));
233
- const publicPath = `${requestURL.origin}${prefixPath}`;
234
- const source = remoteEntryBuffer.toString('utf-8');
235
- const patched = source.replace(/__webpack_require__\.p\s*=\s*(['"`])[^'"`]*\1;/, `__webpack_require__.p = ${JSON.stringify(publicPath)};`).replace(/__rspack_require__\.p\s*=\s*(['"`])[^'"`]*\1;/, `__rspack_require__.p = ${JSON.stringify(publicPath)};`);
236
- if (patched === source) return remoteEntryBuffer;
237
- return Buffer.from(patched, 'utf-8');
238
- };
239
- const getModuleFederationAssetList = async (pwd)=>{
240
- const assets = new Set();
241
- const manifestPath = external_path_default().join(pwd, MODULE_FEDERATION_MANIFEST_FILE);
242
- if (!await utils_namespaceObject.fs.pathExists(manifestPath)) return {
243
- assets,
244
- remoteEntry: null
245
- };
246
- assets.add(MODULE_FEDERATION_MANIFEST_FILE);
247
- const manifestBuffer = await fileReader_namespaceObject.fileReader.readFileFromSystem(manifestPath, 'buffer');
248
- if (null === manifestBuffer) return {
249
- assets,
250
- remoteEntry: null
251
- };
252
- for (const filename of MODULE_FEDERATION_OPTIONAL_FILES)if (await utils_namespaceObject.fs.pathExists(external_path_default().join(pwd, filename))) assets.add(filename);
253
- let remoteEntryFile = null;
254
- try {
255
- const manifest = JSON.parse(manifestBuffer.toString('utf-8'));
256
- const remoteEntry = joinModuleFederationAssetPath(manifest.metaData?.remoteEntry?.path, manifest.metaData?.remoteEntry?.name);
257
- const dtsZip = joinModuleFederationAssetPath(manifest.metaData?.types?.path, manifest.metaData?.types?.zip);
258
- const dtsApi = joinModuleFederationAssetPath(manifest.metaData?.types?.path, manifest.metaData?.types?.api);
259
- if (remoteEntry) {
260
- assets.add(remoteEntry);
261
- remoteEntryFile = remoteEntry;
262
- }
263
- if (dtsZip) assets.add(dtsZip);
264
- if (dtsApi) assets.add(dtsApi);
265
- manifest.shared?.forEach((item)=>appendModuleFederationAssets(assets, item.assets));
266
- manifest.remotes?.forEach((item)=>appendModuleFederationAssets(assets, item.assets));
267
- manifest.exposes?.forEach((item)=>appendModuleFederationAssets(assets, item.assets));
268
- } catch {}
269
- return {
270
- assets,
271
- remoteEntry: remoteEntryFile
272
- };
273
- };
274
109
  function createStaticMiddleware(options) {
275
110
  const { pwd, routes } = options;
276
111
  const prefix = options.output.assetPrefix || '/';
@@ -307,30 +142,25 @@ function createStaticMiddleware(options) {
307
142
  });
308
143
  let moduleFederationAssetsPromise = null;
309
144
  const getModuleFederationAssets = async ()=>{
310
- if (!moduleFederationAssetsPromise) moduleFederationAssetsPromise = getModuleFederationAssetList(pwd);
145
+ if (!moduleFederationAssetsPromise) moduleFederationAssetsPromise = (0, external_staticModuleFederation_js_namespaceObject.getModuleFederationAssetList)(pwd);
311
146
  return moduleFederationAssetsPromise;
312
147
  };
313
148
  const serveFile = async (c, filepath, moduleFederationAsset = false, moduleFederationRemoteEntry = false, requestPath = '')=>{
314
- if (moduleFederationAsset) {
315
- c.header('Access-Control-Allow-Origin', '*');
316
- c.header('Access-Control-Allow-Headers', '*');
317
- c.header('Access-Control-Allow-Methods', 'GET,HEAD,OPTIONS');
318
- }
149
+ if (moduleFederationAsset) (0, external_staticModuleFederation_js_namespaceObject.applyModuleFederationAssetHeaders)(c);
319
150
  const mimeType = (0, mime_namespaceObject.getMimeType)(filepath);
320
151
  if (mimeType) c.header('Content-Type', mimeType);
321
- const shouldPatchManifest = moduleFederationAsset && requestPath === MODULE_FEDERATION_MANIFEST_FILE;
152
+ const shouldPatchManifest = moduleFederationAsset && (0, external_staticModuleFederation_js_namespaceObject.isModuleFederationManifestRequest)(requestPath);
322
153
  const shouldPatchRemoteEntry = moduleFederationRemoteEntry;
323
154
  const canUsePreCompressed = !shouldPatchManifest && !shouldPatchRemoteEntry;
324
- const preCompressedAsset = canUsePreCompressed ? await resolvePreCompressedAsset(c, filepath) : {
155
+ const preCompressedAsset = canUsePreCompressed ? await (0, external_staticPrecompressed_js_namespaceObject.resolvePreCompressedAsset)(c, filepath) : {
325
156
  selected: null,
326
157
  hasVariant: false
327
158
  };
328
159
  const targetFilepath = preCompressedAsset.selected?.filepath ?? filepath;
329
160
  const chunk = await fileReader_namespaceObject.fileReader.readFileFromSystem(targetFilepath, 'buffer');
330
161
  if (null === chunk) return null;
331
- const responseChunk = shouldPatchManifest ? patchModuleFederationManifestPublicPath(c, chunk, pathPrefix) : shouldPatchRemoteEntry ? patchModuleFederationRemoteEntryPublicPath(c, chunk, pathPrefix) : chunk;
332
- if (preCompressedAsset.hasVariant) appendVaryHeader(c, 'Accept-Encoding');
333
- if (preCompressedAsset.selected) c.header('Content-Encoding', preCompressedAsset.selected.encoding);
162
+ const responseChunk = shouldPatchManifest ? (0, external_staticModuleFederation_js_namespaceObject.patchModuleFederationManifestPublicPath)(c, chunk, pathPrefix) : shouldPatchRemoteEntry ? (0, external_staticModuleFederation_js_namespaceObject.patchModuleFederationRemoteEntryPublicPath)(c, chunk, pathPrefix) : chunk;
163
+ (0, external_staticPrecompressed_js_namespaceObject.applyPreCompressedAssetHeaders)(c, preCompressedAsset);
334
164
  c.header('Content-Length', String(responseChunk.byteLength));
335
165
  const body = new Uint8Array(responseChunk.buffer, responseChunk.byteOffset, responseChunk.byteLength);
336
166
  return c.body(body, 200);
@@ -340,7 +170,7 @@ function createStaticMiddleware(options) {
340
170
  const pathname = c.req.path;
341
171
  if (pageRoute && '' === external_path_default().extname(pathname)) return next();
342
172
  const hit = staticPathRegExp.test(pathname);
343
- const requestPath = trimLeadingSlash(pathname.replace(pathPrefix, ()=>''));
173
+ const requestPath = (0, external_staticModuleFederation_js_namespaceObject.getModuleFederationRequestPath)(pathname, pathPrefix);
344
174
  if (requestPath.includes('..')) return next();
345
175
  const moduleFederationAssetMeta = await getModuleFederationAssets();
346
176
  const isModuleFederationAsset = moduleFederationAssetMeta.assets.has(requestPath);