@modern-js/server-core 2.48.5-alpha.2 → 2.48.5

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 (209) hide show
  1. package/dist/cjs/index.js +4 -6
  2. package/dist/cjs/{core/loadPlugins.js → loadPlugins.js} +7 -4
  3. package/dist/cjs/{core/plugin.js → plugin.js} +42 -1
  4. package/dist/esm/index.js +2 -3
  5. package/dist/{esm-node/core → esm}/loadPlugins.js +7 -4
  6. package/dist/{esm-node/core → esm}/plugin.js +42 -1
  7. package/dist/types/index.d.ts +2 -3
  8. package/dist/types/loadPlugins.d.ts +5 -0
  9. package/dist/types/plugin.d.ts +493 -0
  10. package/package.json +6 -44
  11. package/dist/cjs/base/adapters/node/bff.js +0 -70
  12. package/dist/cjs/base/adapters/node/hono.js +0 -63
  13. package/dist/cjs/base/adapters/node/index.js +0 -54
  14. package/dist/cjs/base/adapters/node/loadServer.js +0 -56
  15. package/dist/cjs/base/adapters/node/middlewares/index.js +0 -28
  16. package/dist/cjs/base/adapters/node/middlewares/mock.js +0 -113
  17. package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +0 -82
  18. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +0 -67
  19. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +0 -109
  20. package/dist/cjs/base/adapters/node/middlewares/templates.js +0 -67
  21. package/dist/cjs/base/adapters/node/node.js +0 -127
  22. package/dist/cjs/base/adapters/node/polyfills/index.js +0 -24
  23. package/dist/cjs/base/adapters/node/polyfills/install.js +0 -72
  24. package/dist/cjs/base/adapters/node/polyfills/stream.js +0 -153
  25. package/dist/cjs/base/constants.js +0 -58
  26. package/dist/cjs/base/index.js +0 -49
  27. package/dist/cjs/base/middlewares/customServer/base.js +0 -154
  28. package/dist/cjs/base/middlewares/customServer/context.js +0 -73
  29. package/dist/cjs/base/middlewares/customServer/index.js +0 -130
  30. package/dist/cjs/base/middlewares/customServer/routerApi.js +0 -44
  31. package/dist/cjs/base/middlewares/customServer/template.js +0 -58
  32. package/dist/cjs/base/middlewares/faviconFallback.js +0 -34
  33. package/dist/cjs/base/middlewares/frameworkHeader.js +0 -31
  34. package/dist/cjs/base/middlewares/index.js +0 -30
  35. package/dist/cjs/base/middlewares/logger.js +0 -77
  36. package/dist/cjs/base/middlewares/monitor.js +0 -90
  37. package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +0 -46
  38. package/dist/cjs/base/middlewares/renderHandler/index.js +0 -106
  39. package/dist/cjs/base/middlewares/renderHandler/render.js +0 -126
  40. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +0 -40
  41. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -197
  42. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +0 -208
  43. package/dist/cjs/base/serverBase.js +0 -203
  44. package/dist/cjs/base/utils/debug.js +0 -29
  45. package/dist/cjs/base/utils/entry.js +0 -30
  46. package/dist/cjs/base/utils/env.js +0 -45
  47. package/dist/cjs/base/utils/error.js +0 -65
  48. package/dist/cjs/base/utils/index.js +0 -34
  49. package/dist/cjs/base/utils/middlewareCollector.js +0 -54
  50. package/dist/cjs/base/utils/request.js +0 -65
  51. package/dist/cjs/base/utils/serverConfig.js +0 -70
  52. package/dist/cjs/base/utils/transformStream.js +0 -61
  53. package/dist/cjs/base/utils/warmup.js +0 -43
  54. package/dist/cjs/core/index.js +0 -22
  55. package/dist/cjs/core/render.js +0 -16
  56. package/dist/cjs/core/server.js +0 -16
  57. package/dist/esm/base/adapters/node/bff.js +0 -128
  58. package/dist/esm/base/adapters/node/hono.js +0 -83
  59. package/dist/esm/base/adapters/node/index.js +0 -19
  60. package/dist/esm/base/adapters/node/loadServer.js +0 -73
  61. package/dist/esm/base/adapters/node/middlewares/index.js +0 -4
  62. package/dist/esm/base/adapters/node/middlewares/mock.js +0 -198
  63. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +0 -132
  64. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +0 -85
  65. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +0 -119
  66. package/dist/esm/base/adapters/node/middlewares/templates.js +0 -114
  67. package/dist/esm/base/adapters/node/node.js +0 -197
  68. package/dist/esm/base/adapters/node/polyfills/index.js +0 -2
  69. package/dist/esm/base/adapters/node/polyfills/install.js +0 -48
  70. package/dist/esm/base/adapters/node/polyfills/stream.js +0 -316
  71. package/dist/esm/base/constants.js +0 -31
  72. package/dist/esm/base/index.js +0 -16
  73. package/dist/esm/base/middlewares/customServer/base.js +0 -182
  74. package/dist/esm/base/middlewares/customServer/context.js +0 -68
  75. package/dist/esm/base/middlewares/customServer/index.js +0 -214
  76. package/dist/esm/base/middlewares/customServer/routerApi.js +0 -26
  77. package/dist/esm/base/middlewares/customServer/template.js +0 -47
  78. package/dist/esm/base/middlewares/faviconFallback.js +0 -28
  79. package/dist/esm/base/middlewares/frameworkHeader.js +0 -27
  80. package/dist/esm/base/middlewares/index.js +0 -5
  81. package/dist/esm/base/middlewares/logger.js +0 -75
  82. package/dist/esm/base/middlewares/monitor.js +0 -157
  83. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +0 -45
  84. package/dist/esm/base/middlewares/renderHandler/index.js +0 -165
  85. package/dist/esm/base/middlewares/renderHandler/render.js +0 -216
  86. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +0 -21
  87. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -306
  88. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +0 -265
  89. package/dist/esm/base/serverBase.js +0 -383
  90. package/dist/esm/base/utils/debug.js +0 -5
  91. package/dist/esm/base/utils/entry.js +0 -6
  92. package/dist/esm/base/utils/env.js +0 -20
  93. package/dist/esm/base/utils/error.js +0 -12
  94. package/dist/esm/base/utils/index.js +0 -7
  95. package/dist/esm/base/utils/middlewareCollector.js +0 -31
  96. package/dist/esm/base/utils/request.js +0 -39
  97. package/dist/esm/base/utils/serverConfig.js +0 -58
  98. package/dist/esm/base/utils/transformStream.js +0 -90
  99. package/dist/esm/base/utils/warmup.js +0 -9
  100. package/dist/esm/core/index.js +0 -1
  101. package/dist/esm/core/loadPlugins.js +0 -26
  102. package/dist/esm/core/plugin.js +0 -59
  103. package/dist/esm/core/render.js +0 -0
  104. package/dist/esm/core/server.js +0 -0
  105. package/dist/esm-node/base/adapters/node/bff.js +0 -46
  106. package/dist/esm-node/base/adapters/node/hono.js +0 -38
  107. package/dist/esm-node/base/adapters/node/index.js +0 -19
  108. package/dist/esm-node/base/adapters/node/loadServer.js +0 -22
  109. package/dist/esm-node/base/adapters/node/middlewares/index.js +0 -4
  110. package/dist/esm-node/base/adapters/node/middlewares/mock.js +0 -79
  111. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +0 -48
  112. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +0 -33
  113. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +0 -75
  114. package/dist/esm-node/base/adapters/node/middlewares/templates.js +0 -32
  115. package/dist/esm-node/base/adapters/node/node.js +0 -101
  116. package/dist/esm-node/base/adapters/node/polyfills/index.js +0 -2
  117. package/dist/esm-node/base/adapters/node/polyfills/install.js +0 -48
  118. package/dist/esm-node/base/adapters/node/polyfills/stream.js +0 -126
  119. package/dist/esm-node/base/constants.js +0 -31
  120. package/dist/esm-node/base/index.js +0 -16
  121. package/dist/esm-node/base/middlewares/customServer/base.js +0 -130
  122. package/dist/esm-node/base/middlewares/customServer/context.js +0 -46
  123. package/dist/esm-node/base/middlewares/customServer/index.js +0 -106
  124. package/dist/esm-node/base/middlewares/customServer/routerApi.js +0 -20
  125. package/dist/esm-node/base/middlewares/customServer/template.js +0 -34
  126. package/dist/esm-node/base/middlewares/faviconFallback.js +0 -10
  127. package/dist/esm-node/base/middlewares/frameworkHeader.js +0 -7
  128. package/dist/esm-node/base/middlewares/index.js +0 -5
  129. package/dist/esm-node/base/middlewares/logger.js +0 -53
  130. package/dist/esm-node/base/middlewares/monitor.js +0 -63
  131. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +0 -22
  132. package/dist/esm-node/base/middlewares/renderHandler/index.js +0 -71
  133. package/dist/esm-node/base/middlewares/renderHandler/render.js +0 -102
  134. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +0 -16
  135. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +0 -162
  136. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +0 -173
  137. package/dist/esm-node/base/serverBase.js +0 -168
  138. package/dist/esm-node/base/utils/debug.js +0 -5
  139. package/dist/esm-node/base/utils/entry.js +0 -6
  140. package/dist/esm-node/base/utils/env.js +0 -20
  141. package/dist/esm-node/base/utils/error.js +0 -41
  142. package/dist/esm-node/base/utils/index.js +0 -7
  143. package/dist/esm-node/base/utils/middlewareCollector.js +0 -29
  144. package/dist/esm-node/base/utils/request.js +0 -38
  145. package/dist/esm-node/base/utils/serverConfig.js +0 -34
  146. package/dist/esm-node/base/utils/transformStream.js +0 -36
  147. package/dist/esm-node/base/utils/warmup.js +0 -9
  148. package/dist/esm-node/core/index.js +0 -1
  149. package/dist/esm-node/core/render.js +0 -0
  150. package/dist/esm-node/core/server.js +0 -0
  151. package/dist/esm-node/index.js +0 -5
  152. package/dist/esm-node/types/config/bff.js +0 -0
  153. package/dist/esm-node/types/config/dev.js +0 -0
  154. package/dist/esm-node/types/config/html.js +0 -0
  155. package/dist/esm-node/types/config/index.js +0 -6
  156. package/dist/esm-node/types/config/output.js +0 -0
  157. package/dist/esm-node/types/config/security.js +0 -0
  158. package/dist/esm-node/types/config/server.js +0 -0
  159. package/dist/esm-node/types/config/share.js +0 -0
  160. package/dist/esm-node/types/config/source.js +0 -0
  161. package/dist/esm-node/types/config/tools.js +0 -0
  162. package/dist/types/base/adapters/node/bff.d.ts +0 -3
  163. package/dist/types/base/adapters/node/hono.d.ts +0 -22
  164. package/dist/types/base/adapters/node/index.d.ts +0 -6
  165. package/dist/types/base/adapters/node/loadServer.d.ts +0 -3
  166. package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -4
  167. package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
  168. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +0 -3
  169. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +0 -7
  170. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -11
  171. package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -4
  172. package/dist/types/base/adapters/node/node.d.ts +0 -13
  173. package/dist/types/base/adapters/node/polyfills/index.d.ts +0 -2
  174. package/dist/types/base/adapters/node/polyfills/install.d.ts +0 -1
  175. package/dist/types/base/adapters/node/polyfills/stream.d.ts +0 -18
  176. package/dist/types/base/constants.d.ts +0 -24
  177. package/dist/types/base/index.d.ts +0 -7
  178. package/dist/types/base/middlewares/customServer/base.d.ts +0 -3
  179. package/dist/types/base/middlewares/customServer/context.d.ts +0 -7
  180. package/dist/types/base/middlewares/customServer/index.d.ts +0 -13
  181. package/dist/types/base/middlewares/customServer/routerApi.d.ts +0 -9
  182. package/dist/types/base/middlewares/customServer/template.d.ts +0 -11
  183. package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
  184. package/dist/types/base/middlewares/frameworkHeader.d.ts +0 -2
  185. package/dist/types/base/middlewares/index.d.ts +0 -5
  186. package/dist/types/base/middlewares/logger.d.ts +0 -2
  187. package/dist/types/base/middlewares/monitor.d.ts +0 -6
  188. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +0 -5
  189. package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
  190. package/dist/types/base/middlewares/renderHandler/render.d.ts +0 -12
  191. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +0 -7
  192. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -28
  193. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +0 -20
  194. package/dist/types/base/serverBase.d.ts +0 -70
  195. package/dist/types/base/utils/debug.d.ts +0 -1
  196. package/dist/types/base/utils/entry.d.ts +0 -2
  197. package/dist/types/base/utils/env.d.ts +0 -2
  198. package/dist/types/base/utils/error.d.ts +0 -1
  199. package/dist/types/base/utils/index.d.ts +0 -7
  200. package/dist/types/base/utils/middlewareCollector.d.ts +0 -12
  201. package/dist/types/base/utils/request.d.ts +0 -12
  202. package/dist/types/base/utils/serverConfig.d.ts +0 -14
  203. package/dist/types/base/utils/transformStream.d.ts +0 -5
  204. package/dist/types/base/utils/warmup.d.ts +0 -1
  205. package/dist/types/core/index.d.ts +0 -1
  206. package/dist/types/core/loadPlugins.d.ts +0 -3
  207. package/dist/types/core/plugin.d.ts +0 -202
  208. package/dist/types/core/render.d.ts +0 -15
  209. package/dist/types/core/server.d.ts +0 -44
@@ -1,31 +0,0 @@
1
- var mergeExtension = function(users) {
2
- var output = [];
3
- return {
4
- middleware: output.concat(users)
5
- };
6
- };
7
- var createMiddlewareCollecter = function() {
8
- var webMiddlewares = [];
9
- var apiMiddlewares = [];
10
- var addWebMiddleware = function(input) {
11
- webMiddlewares.push(input);
12
- };
13
- var addAPIMiddleware = function(input) {
14
- apiMiddlewares.push(input);
15
- };
16
- var getMiddlewares = function() {
17
- return {
18
- web: webMiddlewares,
19
- api: apiMiddlewares
20
- };
21
- };
22
- return {
23
- getMiddlewares,
24
- addWebMiddleware,
25
- addAPIMiddleware
26
- };
27
- };
28
- export {
29
- createMiddlewareCollecter,
30
- mergeExtension
31
- };
@@ -1,39 +0,0 @@
1
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
- function parseQuery(request) {
3
- var url = request.url;
4
- var q = url.split("?")[1];
5
- var query = {};
6
- if (q) {
7
- q.split("&").forEach(function(item) {
8
- var _item_split = _sliced_to_array(item.split("="), 2), key = _item_split[0], value = _item_split[1];
9
- query[key] = value;
10
- });
11
- }
12
- return query;
13
- }
14
- function parseHeaders(request) {
15
- var headersData = {};
16
- request.headers.forEach(function(value, key) {
17
- headersData[key] = value;
18
- });
19
- return headersData;
20
- }
21
- function getPathname(request) {
22
- var match = request.url.match(/^https?:\/\/[^/]+(\/[^?]*)/);
23
- return match ? match[1] : "/";
24
- }
25
- function getHost(request) {
26
- var headers = request.headers;
27
- var host = headers.get("X-Forwarded-Host");
28
- if (!host) {
29
- host = headers.get("Host");
30
- }
31
- host = (host === null || host === void 0 ? void 0 : host.split(/\s*,\s*/, 1)[0]) || "undefined";
32
- return host;
33
- }
34
- export {
35
- getHost,
36
- getPathname,
37
- parseHeaders,
38
- parseQuery
39
- };
@@ -1,58 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
- import { compatRequire, fs, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
6
- import mergeDeep from "merge-deep";
7
- var getServerConfigPath = function() {
8
- var _ref = _async_to_generator(function(distDirectory) {
9
- var serverConfigFile, path, serverConfigPath;
10
- var _arguments = arguments;
11
- return _ts_generator(this, function(_state) {
12
- switch (_state.label) {
13
- case 0:
14
- serverConfigFile = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : DEFAULT_SERVER_CONFIG;
15
- return [
16
- 4,
17
- import("path")
18
- ];
19
- case 1:
20
- path = _state.sent();
21
- serverConfigPath = path.join(distDirectory, serverConfigFile);
22
- return [
23
- 2,
24
- "".concat(serverConfigPath, ".js")
25
- ];
26
- }
27
- });
28
- });
29
- return function getServerConfigPath2(distDirectory) {
30
- return _ref.apply(this, arguments);
31
- };
32
- }();
33
- var requireConfig = function(serverConfigPath) {
34
- if (fs.pathExistsSync(serverConfigPath)) {
35
- return compatRequire(serverConfigPath);
36
- }
37
- return {};
38
- };
39
- var loadConfig = function(param) {
40
- var cliConfig = param.cliConfig, serverConfig = param.serverConfig, resolvedConfigPath = param.resolvedConfigPath;
41
- var config = null;
42
- if (process.env.NODE_ENV === "production") {
43
- var resolvedConfig = requireConfig(resolvedConfigPath);
44
- config = mergeDeep(_object_spread_props(_object_spread({}, resolvedConfig), {
45
- plugins: []
46
- }), serverConfig, cliConfig);
47
- } else {
48
- config = mergeDeep(_object_spread_props(_object_spread({}, cliConfig), {
49
- plugins: []
50
- }), serverConfig);
51
- }
52
- return config;
53
- };
54
- export {
55
- getServerConfigPath,
56
- loadConfig,
57
- requireConfig
58
- };
@@ -1,90 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- function createTransformStream(fn) {
4
- var decoder = new TextDecoder();
5
- var encoder = new TextEncoder();
6
- return new TransformStream({
7
- transform: function transform(chunk, controller) {
8
- return _async_to_generator(function() {
9
- var content, newContent;
10
- return _ts_generator(this, function(_state) {
11
- switch (_state.label) {
12
- case 0:
13
- content = decoder.decode(chunk);
14
- return [
15
- 4,
16
- fn(content)
17
- ];
18
- case 1:
19
- newContent = _state.sent();
20
- controller.enqueue(encoder.encode(newContent));
21
- return [
22
- 2
23
- ];
24
- }
25
- });
26
- })();
27
- }
28
- });
29
- }
30
- function transformResponse(response, transformCb) {
31
- var readable = null;
32
- if (response.body) {
33
- var stream = createTransformStream(function() {
34
- var _ref = _async_to_generator(function(before) {
35
- return _ts_generator(this, function(_state) {
36
- if (Array.isArray(transformCb)) {
37
- return [
38
- 2,
39
- transformCb.reduce(function() {
40
- var _ref2 = _async_to_generator(function(before2, cb) {
41
- return _ts_generator(this, function(_state2) {
42
- switch (_state2.label) {
43
- case 0:
44
- return [
45
- 4,
46
- before2
47
- ];
48
- case 1:
49
- return [
50
- 2,
51
- cb.apply(void 0, [
52
- _state2.sent()
53
- ])
54
- ];
55
- }
56
- });
57
- });
58
- return function(before2, cb) {
59
- return _ref2.apply(this, arguments);
60
- };
61
- }(), Promise.resolve(before))
62
- ];
63
- } else {
64
- return [
65
- 2,
66
- transformCb(before)
67
- ];
68
- }
69
- return [
70
- 2
71
- ];
72
- });
73
- });
74
- return function(before) {
75
- return _ref.apply(this, arguments);
76
- };
77
- }());
78
- response.body.pipeThrough(stream);
79
- readable = stream.readable;
80
- }
81
- return new Response(readable, {
82
- status: response.status,
83
- headers: response.headers,
84
- statusText: response.statusText
85
- });
86
- }
87
- export {
88
- createTransformStream,
89
- transformResponse
90
- };
@@ -1,9 +0,0 @@
1
- function warmup(bundles) {
2
- bundles.forEach(function(bundle) {
3
- bundle && import(bundle).catch(function(_) {
4
- });
5
- });
6
- }
7
- export {
8
- warmup
9
- };
@@ -1 +0,0 @@
1
- export * from "./plugin";
@@ -1,26 +0,0 @@
1
- import { compatRequire, getInternalPlugins, tryResolve } from "@modern-js/utils";
2
- import { createPlugin } from "../core/plugin";
3
- var resolvePlugin = function(p, appDirectory) {
4
- var isPluginInstance = typeof p !== "string";
5
- if (isPluginInstance) {
6
- return {
7
- module: createPlugin(p.setup, p)
8
- };
9
- }
10
- var pluginPath = tryResolve(p, appDirectory);
11
- var module = compatRequire(pluginPath);
12
- var pluginInstance = module();
13
- return {
14
- module: createPlugin(pluginInstance.setup, pluginInstance)
15
- };
16
- };
17
- var loadPlugins = function(appDirectory, internalPlugins) {
18
- var loadedPlugins = getInternalPlugins(appDirectory, internalPlugins);
19
- return loadedPlugins.map(function(plugin) {
20
- var module = resolvePlugin(plugin, appDirectory).module;
21
- return module;
22
- });
23
- };
24
- export {
25
- loadPlugins
26
- };
@@ -1,59 +0,0 @@
1
- import { createContext, createAsyncManager, createAsyncPipeline, createAsyncWaterfall, createParallelWorkflow, createWaterfall } from "@modern-js/plugin";
2
- var gather = createParallelWorkflow();
3
- var config = createWaterfall();
4
- var prepare = createWaterfall();
5
- var prepareWebServer = createAsyncPipeline();
6
- var prepareApiServer = createAsyncPipeline();
7
- var onApiChange = createAsyncWaterfall();
8
- var repack = createWaterfall();
9
- var beforeServerInit = createAsyncWaterfall();
10
- var afterMatch = createAsyncPipeline();
11
- var afterRender = createAsyncPipeline();
12
- var afterStreamingRender = createAsyncPipeline();
13
- var reset = createParallelWorkflow();
14
- var AppContext = createContext({});
15
- var setAppContext = function(value) {
16
- return AppContext.set(value);
17
- };
18
- var ConfigContext = createContext({});
19
- var useConfigContext = function() {
20
- return ConfigContext.use().value;
21
- };
22
- var useAppContext = function() {
23
- return AppContext.use().value;
24
- };
25
- var pluginAPI = {
26
- useAppContext,
27
- useConfigContext,
28
- setAppContext
29
- };
30
- var serverHooks = {
31
- // server hook
32
- gather,
33
- config,
34
- prepare,
35
- prepareWebServer,
36
- prepareApiServer,
37
- repack,
38
- onApiChange,
39
- beforeServerInit,
40
- afterMatch,
41
- afterRender,
42
- afterStreamingRender,
43
- reset
44
- };
45
- var createServerManager = function() {
46
- return createAsyncManager(serverHooks, pluginAPI);
47
- };
48
- var serverManager = createServerManager();
49
- var createPlugin = serverManager.createPlugin;
50
- export {
51
- AppContext,
52
- ConfigContext,
53
- createPlugin,
54
- createServerManager,
55
- serverManager,
56
- setAppContext,
57
- useAppContext,
58
- useConfigContext
59
- };
File without changes
File without changes
@@ -1,46 +0,0 @@
1
- import { isWebOnly } from "@modern-js/utils";
2
- import { getRenderHandler } from "../../../base/middlewares";
3
- import { createMiddlewareCollecter, getRuntimeEnv } from "../../utils";
4
- const bindBFFHandler = async (server, options) => {
5
- var _options_config_bff, _options_config, _options_config1, _options_config_bff1, _options_config2;
6
- const prefix = (options === null || options === void 0 ? void 0 : (_options_config = options.config) === null || _options_config === void 0 ? void 0 : (_options_config_bff = _options_config.bff) === null || _options_config_bff === void 0 ? void 0 : _options_config_bff.prefix) || "/api";
7
- const enableHandleWeb = options === null || options === void 0 ? void 0 : (_options_config1 = options.config) === null || _options_config1 === void 0 ? void 0 : _options_config1.bff.enableHandleWeb;
8
- const httpMethodDecider = options === null || options === void 0 ? void 0 : (_options_config2 = options.config) === null || _options_config2 === void 0 ? void 0 : (_options_config_bff1 = _options_config2.bff) === null || _options_config_bff1 === void 0 ? void 0 : _options_config_bff1.httpMethodDecider;
9
- const runtimeEnv = getRuntimeEnv();
10
- if (runtimeEnv !== "node") {
11
- return;
12
- }
13
- const { getMiddlewares, ...collector } = createMiddlewareCollecter();
14
- const { runner } = server;
15
- await runner.gather(collector);
16
- const webOnly = await isWebOnly();
17
- let handler;
18
- if (webOnly) {
19
- handler = async (c, next) => {
20
- c.body("");
21
- await next();
22
- };
23
- } else {
24
- const renderHandler = enableHandleWeb ? await getRenderHandler(options) : null;
25
- handler = await server.runner.prepareApiServer({
26
- pwd: options.pwd,
27
- prefix,
28
- render: renderHandler,
29
- httpMethodDecider
30
- }, {
31
- onLast: () => null
32
- });
33
- }
34
- if (handler) {
35
- server.all(`*`, (c, next) => {
36
- if (!c.req.path.startsWith(prefix) && !enableHandleWeb) {
37
- return next();
38
- } else {
39
- return handler(c, next);
40
- }
41
- });
42
- }
43
- };
44
- export {
45
- bindBFFHandler
46
- };
@@ -1,38 +0,0 @@
1
- const httpCallBack2HonoMid = (handler) => {
2
- return async (context, next) => {
3
- const { req, res } = context.env.node;
4
- req.__honoRequest = context.req;
5
- req.__templates = context.get("templates") || {};
6
- req.__serverManifest = context.get("serverManifest") || {};
7
- await handler(req, res);
8
- if (res.headersSent) {
9
- context.finalized = true;
10
- } else {
11
- await next();
12
- }
13
- };
14
- };
15
- const noop = () => {
16
- };
17
- const connectMid2HonoMid = (handler) => {
18
- return async (context, next) => {
19
- return new Promise((resolve, reject) => {
20
- const { req, res } = context.env.node;
21
- if (handler.length < 3) {
22
- resolve(handler(req, res, noop));
23
- } else {
24
- handler(req, res, (err) => {
25
- if (err) {
26
- reject(err);
27
- } else {
28
- resolve(next());
29
- }
30
- });
31
- }
32
- });
33
- };
34
- };
35
- export {
36
- connectMid2HonoMid,
37
- httpCallBack2HonoMid
38
- };
@@ -1,19 +0,0 @@
1
- import { loadServerEnv } from "./loadServer";
2
- import { httpCallBack2HonoMid, connectMid2HonoMid } from "./hono";
3
- import { createNodeServer, sendResponse, createWebRequest } from "./node";
4
- import { bindBFFHandler } from "./bff";
5
- import { createStaticMiddleware, registerMockHandlers, injectServerManifest, injectTemplates, getHtmlTemplates } from "./middlewares";
6
- export {
7
- bindBFFHandler,
8
- connectMid2HonoMid,
9
- createNodeServer,
10
- createStaticMiddleware,
11
- createWebRequest,
12
- getHtmlTemplates,
13
- httpCallBack2HonoMid,
14
- injectServerManifest,
15
- injectTemplates,
16
- loadServerEnv,
17
- registerMockHandlers,
18
- sendResponse
19
- };
@@ -1,22 +0,0 @@
1
- import path from "path";
2
- import { fs, dotenv, dotenvExpand } from "@modern-js/utils";
3
- async function loadServerEnv(options) {
4
- const { pwd } = options;
5
- const serverEnv = process.env.MODERN_ENV;
6
- const defaultEnvPath = path.resolve(pwd, `.env`);
7
- const serverEnvPath = path.resolve(pwd, `.env.${serverEnv}`);
8
- for (const envPath of [
9
- serverEnvPath,
10
- defaultEnvPath
11
- ]) {
12
- if (await fs.pathExists(envPath) && !(await fs.stat(envPath)).isDirectory()) {
13
- const envConfig = dotenv.config({
14
- path: envPath
15
- });
16
- dotenvExpand(envConfig);
17
- }
18
- }
19
- }
20
- export {
21
- loadServerEnv
22
- };
@@ -1,4 +0,0 @@
1
- export * from "./mock";
2
- export * from "./serverStatic";
3
- export * from "./templates";
4
- export * from "./serverManifest";
@@ -1,79 +0,0 @@
1
- import path from "node:path";
2
- import { fs } from "@modern-js/utils";
3
- import { AGGRED_DIR } from "../../../constants";
4
- import { connectMid2HonoMid } from "../hono";
5
- const parseKey = (key) => {
6
- const _blank = " ";
7
- const splitted = key.split(_blank).filter(Boolean);
8
- if (splitted.length > 1) {
9
- const [method, pathname] = splitted;
10
- return {
11
- method: method.toLowerCase(),
12
- path: pathname
13
- };
14
- }
15
- return {
16
- method: "get",
17
- path: key
18
- };
19
- };
20
- const mockHandlerRegistry = /* @__PURE__ */ new Map();
21
- const registerMockHandlers = async ({ pwd, server }) => {
22
- const exts = [
23
- ".ts",
24
- ".js"
25
- ];
26
- let mockFilePath = "";
27
- for (const ext of exts) {
28
- const maybeMatch = path.join(pwd, `${AGGRED_DIR.mock}/index${ext}`);
29
- if (await fs.pathExists(maybeMatch)) {
30
- mockFilePath = maybeMatch;
31
- break;
32
- }
33
- }
34
- if (!mockFilePath) {
35
- return null;
36
- }
37
- const { default: mockModule, config } = await import(mockFilePath);
38
- const enable = config === null || config === void 0 ? void 0 : config.enable;
39
- if (enable === false) {
40
- return;
41
- }
42
- if (!mockModule) {
43
- throw new Error(`Mock file ${mockFilePath} parsed failed!`);
44
- }
45
- Object.entries(mockModule).forEach(([key, handler]) => {
46
- const { method, path: path2 } = parseKey(key);
47
- const methodName = method.toLowerCase();
48
- const handlerId = `${methodName}-${path2}`;
49
- mockHandlerRegistry.set(handlerId, {
50
- handler,
51
- isRegistered: false
52
- });
53
- if (typeof server[methodName] === "function") {
54
- const mockHandler = async (c, next) => {
55
- var _mockHandlerRegistry_get;
56
- if (typeof enable === "function") {
57
- const isEnabled = enable(c.env.node.req, c.env.node.res);
58
- if (!isEnabled) {
59
- return next();
60
- }
61
- }
62
- const handler2 = (_mockHandlerRegistry_get = mockHandlerRegistry.get(handlerId)) === null || _mockHandlerRegistry_get === void 0 ? void 0 : _mockHandlerRegistry_get.handler;
63
- if (typeof handler2 === "function") {
64
- await connectMid2HonoMid(handler2)(c, next);
65
- } else {
66
- return c.json(handler2);
67
- }
68
- };
69
- const handlerInfo = mockHandlerRegistry.get(handlerId);
70
- if (handlerInfo && !(handlerInfo === null || handlerInfo === void 0 ? void 0 : handlerInfo.isRegistered)) {
71
- server[methodName](path2, mockHandler);
72
- handlerInfo.isRegistered = true;
73
- }
74
- }
75
- });
76
- };
77
- export {
78
- registerMockHandlers
79
- };
@@ -1,48 +0,0 @@
1
- import path from "path";
2
- import { LOADABLE_STATS_FILE, MAIN_ENTRY_NAME, ROUTE_MANIFEST_FILE, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils";
3
- async function getServerManifest(pwd, routes) {
4
- const loaderBundles = {};
5
- const renderBundles = {};
6
- await Promise.all([
7
- routes.map(async (route) => {
8
- const entryName = route.entryName || MAIN_ENTRY_NAME;
9
- const loaderBundlePath = path.join(pwd, SERVER_BUNDLE_DIRECTORY, `${entryName}-server-loaders.js`);
10
- const renderBundlePath = path.join(pwd, route.bundle || "");
11
- await Promise.allSettled([
12
- import(loaderBundlePath),
13
- import(renderBundlePath)
14
- ]).then((results) => {
15
- const { status: loaderStatus } = results[0];
16
- if (loaderStatus === "fulfilled") {
17
- loaderBundles[entryName] = results[0].value;
18
- }
19
- const { status: renderStatus } = results[1];
20
- if (renderStatus === "fulfilled") {
21
- renderBundles[entryName] = results[1].value;
22
- }
23
- });
24
- })
25
- ]);
26
- const loadableUri = path.join(pwd, LOADABLE_STATS_FILE);
27
- const loadableStats = await import(loadableUri).catch((_) => ({}));
28
- const routesManifestUri = path.join(pwd, ROUTE_MANIFEST_FILE);
29
- const routeManifest = await import(routesManifestUri).catch((_) => ({}));
30
- return {
31
- loaderBundles,
32
- renderBundles,
33
- loadableStats,
34
- routeManifest
35
- };
36
- }
37
- function injectServerManifest(pwd, routes) {
38
- return async (c, next) => {
39
- if (routes && !c.get("serverManifest")) {
40
- const serverManifest = await getServerManifest(pwd, routes);
41
- c.set("serverManifest", serverManifest);
42
- }
43
- await next();
44
- };
45
- }
46
- export {
47
- injectServerManifest
48
- };
@@ -1,33 +0,0 @@
1
- import path from "path";
2
- import { fileReader } from "@modern-js/runtime-utils/fileReader";
3
- import { getMimeType } from "hono/utils/mime";
4
- import { sortRoutes } from "../../../utils";
5
- function createPublicMiddleware({ pwd, routes }) {
6
- return async (c, next) => {
7
- const route = matchRoute(c.req, routes);
8
- if (route) {
9
- const { entryPath } = route;
10
- const filename = path.join(pwd, entryPath);
11
- const data = await fileReader.readFile(filename, "buffer");
12
- const mimeType = getMimeType(filename);
13
- if (data !== null) {
14
- if (mimeType) {
15
- c.header("Content-Type", mimeType);
16
- }
17
- return c.body(data, 200);
18
- }
19
- }
20
- return await next();
21
- };
22
- }
23
- function matchRoute(req, routes) {
24
- for (const route of routes.sort(sortRoutes)) {
25
- if (!route.isSSR && !route.isApi && route.entryPath.startsWith("public") && req.path.startsWith(route.urlPath)) {
26
- return route;
27
- }
28
- }
29
- return void 0;
30
- }
31
- export {
32
- createPublicMiddleware
33
- };