@modern-js/server-core 2.48.6 → 2.49.1-alpha.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 (209) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +70 -0
  2. package/dist/cjs/base/adapters/node/hono.js +63 -0
  3. package/dist/cjs/base/adapters/node/index.js +56 -0
  4. package/dist/cjs/base/adapters/node/loadServer.js +56 -0
  5. package/dist/cjs/base/adapters/node/middlewares/index.js +28 -0
  6. package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
  7. package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +90 -0
  8. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +67 -0
  9. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +109 -0
  10. package/dist/cjs/base/adapters/node/middlewares/templates.js +67 -0
  11. package/dist/cjs/base/adapters/node/node.js +127 -0
  12. package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
  13. package/dist/cjs/base/adapters/node/polyfills/install.js +72 -0
  14. package/dist/cjs/base/adapters/node/polyfills/stream.js +153 -0
  15. package/dist/cjs/base/constants.js +58 -0
  16. package/dist/cjs/base/index.js +49 -0
  17. package/dist/cjs/base/middlewares/customServer/base.js +171 -0
  18. package/dist/cjs/base/middlewares/customServer/context.js +73 -0
  19. package/dist/cjs/base/middlewares/customServer/index.js +136 -0
  20. package/dist/cjs/base/middlewares/customServer/routerApi.js +44 -0
  21. package/dist/cjs/base/middlewares/customServer/template.js +58 -0
  22. package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
  23. package/dist/cjs/base/middlewares/frameworkHeader.js +31 -0
  24. package/dist/cjs/base/middlewares/index.js +30 -0
  25. package/dist/cjs/base/middlewares/logger.js +77 -0
  26. package/dist/cjs/base/middlewares/monitor.js +90 -0
  27. package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +46 -0
  28. package/dist/cjs/base/middlewares/renderHandler/index.js +108 -0
  29. package/dist/cjs/base/middlewares/renderHandler/render.js +132 -0
  30. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +40 -0
  31. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +197 -0
  32. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +212 -0
  33. package/dist/cjs/base/serverBase.js +203 -0
  34. package/dist/cjs/base/utils/debug.js +29 -0
  35. package/dist/cjs/base/utils/entry.js +30 -0
  36. package/dist/cjs/base/utils/env.js +45 -0
  37. package/dist/cjs/base/utils/error.js +65 -0
  38. package/dist/cjs/base/utils/index.js +34 -0
  39. package/dist/cjs/base/utils/middlewareCollector.js +54 -0
  40. package/dist/cjs/base/utils/request.js +65 -0
  41. package/dist/cjs/base/utils/serverConfig.js +70 -0
  42. package/dist/cjs/base/utils/transformStream.js +61 -0
  43. package/dist/cjs/base/utils/warmup.js +43 -0
  44. package/dist/cjs/core/index.js +22 -0
  45. package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +4 -7
  46. package/dist/cjs/{plugin.js → core/plugin.js} +1 -42
  47. package/dist/cjs/core/render.js +16 -0
  48. package/dist/cjs/core/server.js +16 -0
  49. package/dist/cjs/index.js +6 -4
  50. package/dist/esm/base/adapters/node/bff.js +128 -0
  51. package/dist/esm/base/adapters/node/hono.js +83 -0
  52. package/dist/esm/base/adapters/node/index.js +20 -0
  53. package/dist/esm/base/adapters/node/loadServer.js +73 -0
  54. package/dist/esm/base/adapters/node/middlewares/index.js +4 -0
  55. package/dist/esm/base/adapters/node/middlewares/mock.js +198 -0
  56. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +139 -0
  57. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +85 -0
  58. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +119 -0
  59. package/dist/esm/base/adapters/node/middlewares/templates.js +114 -0
  60. package/dist/esm/base/adapters/node/node.js +197 -0
  61. package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
  62. package/dist/esm/base/adapters/node/polyfills/install.js +48 -0
  63. package/dist/esm/base/adapters/node/polyfills/stream.js +316 -0
  64. package/dist/esm/base/constants.js +31 -0
  65. package/dist/esm/base/index.js +16 -0
  66. package/dist/esm/base/middlewares/customServer/base.js +199 -0
  67. package/dist/esm/base/middlewares/customServer/context.js +68 -0
  68. package/dist/esm/base/middlewares/customServer/index.js +220 -0
  69. package/dist/esm/base/middlewares/customServer/routerApi.js +26 -0
  70. package/dist/esm/base/middlewares/customServer/template.js +47 -0
  71. package/dist/esm/base/middlewares/faviconFallback.js +28 -0
  72. package/dist/esm/base/middlewares/frameworkHeader.js +27 -0
  73. package/dist/esm/base/middlewares/index.js +5 -0
  74. package/dist/esm/base/middlewares/logger.js +75 -0
  75. package/dist/esm/base/middlewares/monitor.js +157 -0
  76. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +45 -0
  77. package/dist/esm/base/middlewares/renderHandler/index.js +167 -0
  78. package/dist/esm/base/middlewares/renderHandler/render.js +225 -0
  79. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +21 -0
  80. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +306 -0
  81. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +269 -0
  82. package/dist/esm/base/serverBase.js +383 -0
  83. package/dist/esm/base/utils/debug.js +5 -0
  84. package/dist/esm/base/utils/entry.js +6 -0
  85. package/dist/esm/base/utils/env.js +20 -0
  86. package/dist/esm/base/utils/error.js +12 -0
  87. package/dist/esm/base/utils/index.js +7 -0
  88. package/dist/esm/base/utils/middlewareCollector.js +31 -0
  89. package/dist/esm/base/utils/request.js +39 -0
  90. package/dist/esm/base/utils/serverConfig.js +58 -0
  91. package/dist/esm/base/utils/transformStream.js +90 -0
  92. package/dist/esm/base/utils/warmup.js +9 -0
  93. package/dist/esm/core/index.js +1 -0
  94. package/dist/esm/core/loadPlugins.js +26 -0
  95. package/dist/esm/core/plugin.js +59 -0
  96. package/dist/esm/core/render.js +0 -0
  97. package/dist/esm/core/server.js +0 -0
  98. package/dist/esm/index.js +3 -2
  99. package/dist/esm-node/base/adapters/node/bff.js +46 -0
  100. package/dist/esm-node/base/adapters/node/hono.js +38 -0
  101. package/dist/esm-node/base/adapters/node/index.js +20 -0
  102. package/dist/esm-node/base/adapters/node/loadServer.js +22 -0
  103. package/dist/esm-node/base/adapters/node/middlewares/index.js +4 -0
  104. package/dist/esm-node/base/adapters/node/middlewares/mock.js +79 -0
  105. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +55 -0
  106. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +33 -0
  107. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +75 -0
  108. package/dist/esm-node/base/adapters/node/middlewares/templates.js +32 -0
  109. package/dist/esm-node/base/adapters/node/node.js +101 -0
  110. package/dist/esm-node/base/adapters/node/polyfills/index.js +2 -0
  111. package/dist/esm-node/base/adapters/node/polyfills/install.js +48 -0
  112. package/dist/esm-node/base/adapters/node/polyfills/stream.js +126 -0
  113. package/dist/esm-node/base/constants.js +31 -0
  114. package/dist/esm-node/base/index.js +16 -0
  115. package/dist/esm-node/base/middlewares/customServer/base.js +147 -0
  116. package/dist/esm-node/base/middlewares/customServer/context.js +46 -0
  117. package/dist/esm-node/base/middlewares/customServer/index.js +112 -0
  118. package/dist/esm-node/base/middlewares/customServer/routerApi.js +20 -0
  119. package/dist/esm-node/base/middlewares/customServer/template.js +34 -0
  120. package/dist/esm-node/base/middlewares/faviconFallback.js +10 -0
  121. package/dist/esm-node/base/middlewares/frameworkHeader.js +7 -0
  122. package/dist/esm-node/base/middlewares/index.js +5 -0
  123. package/dist/esm-node/base/middlewares/logger.js +53 -0
  124. package/dist/esm-node/base/middlewares/monitor.js +63 -0
  125. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +22 -0
  126. package/dist/esm-node/base/middlewares/renderHandler/index.js +73 -0
  127. package/dist/esm-node/base/middlewares/renderHandler/render.js +108 -0
  128. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +16 -0
  129. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +162 -0
  130. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +177 -0
  131. package/dist/esm-node/base/serverBase.js +168 -0
  132. package/dist/esm-node/base/utils/debug.js +5 -0
  133. package/dist/esm-node/base/utils/entry.js +6 -0
  134. package/dist/esm-node/base/utils/env.js +20 -0
  135. package/dist/esm-node/base/utils/error.js +41 -0
  136. package/dist/esm-node/base/utils/index.js +7 -0
  137. package/dist/esm-node/base/utils/middlewareCollector.js +29 -0
  138. package/dist/esm-node/base/utils/request.js +38 -0
  139. package/dist/esm-node/base/utils/serverConfig.js +34 -0
  140. package/dist/esm-node/base/utils/transformStream.js +36 -0
  141. package/dist/esm-node/base/utils/warmup.js +9 -0
  142. package/dist/esm-node/core/index.js +1 -0
  143. package/dist/{esm → esm-node/core}/loadPlugins.js +4 -7
  144. package/dist/{esm → esm-node/core}/plugin.js +1 -42
  145. package/dist/esm-node/core/render.js +0 -0
  146. package/dist/esm-node/core/server.js +0 -0
  147. package/dist/esm-node/index.js +5 -0
  148. package/dist/esm-node/types/config/bff.js +0 -0
  149. package/dist/esm-node/types/config/dev.js +0 -0
  150. package/dist/esm-node/types/config/html.js +0 -0
  151. package/dist/esm-node/types/config/index.js +6 -0
  152. package/dist/esm-node/types/config/output.js +0 -0
  153. package/dist/esm-node/types/config/security.js +0 -0
  154. package/dist/esm-node/types/config/server.js +0 -0
  155. package/dist/esm-node/types/config/share.js +0 -0
  156. package/dist/esm-node/types/config/source.js +0 -0
  157. package/dist/esm-node/types/config/tools.js +0 -0
  158. package/dist/types/base/adapters/node/bff.d.ts +3 -0
  159. package/dist/types/base/adapters/node/hono.d.ts +22 -0
  160. package/dist/types/base/adapters/node/index.d.ts +6 -0
  161. package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
  162. package/dist/types/base/adapters/node/middlewares/index.d.ts +4 -0
  163. package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
  164. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +4 -0
  165. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +7 -0
  166. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +11 -0
  167. package/dist/types/base/adapters/node/middlewares/templates.d.ts +4 -0
  168. package/dist/types/base/adapters/node/node.d.ts +13 -0
  169. package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
  170. package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
  171. package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
  172. package/dist/types/base/constants.d.ts +24 -0
  173. package/dist/types/base/index.d.ts +7 -0
  174. package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
  175. package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
  176. package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
  177. package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
  178. package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
  179. package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
  180. package/dist/types/base/middlewares/frameworkHeader.d.ts +2 -0
  181. package/dist/types/base/middlewares/index.d.ts +5 -0
  182. package/dist/types/base/middlewares/logger.d.ts +2 -0
  183. package/dist/types/base/middlewares/monitor.d.ts +6 -0
  184. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +5 -0
  185. package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
  186. package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
  187. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
  188. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +28 -0
  189. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +21 -0
  190. package/dist/types/base/serverBase.d.ts +70 -0
  191. package/dist/types/base/utils/debug.d.ts +1 -0
  192. package/dist/types/base/utils/entry.d.ts +2 -0
  193. package/dist/types/base/utils/env.d.ts +2 -0
  194. package/dist/types/base/utils/error.d.ts +1 -0
  195. package/dist/types/base/utils/index.d.ts +7 -0
  196. package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
  197. package/dist/types/base/utils/request.d.ts +12 -0
  198. package/dist/types/base/utils/serverConfig.d.ts +14 -0
  199. package/dist/types/base/utils/transformStream.d.ts +5 -0
  200. package/dist/types/base/utils/warmup.d.ts +1 -0
  201. package/dist/types/core/index.d.ts +1 -0
  202. package/dist/types/core/loadPlugins.d.ts +3 -0
  203. package/dist/types/core/plugin.d.ts +202 -0
  204. package/dist/types/core/render.d.ts +17 -0
  205. package/dist/types/core/server.d.ts +44 -0
  206. package/dist/types/index.d.ts +3 -2
  207. package/package.json +44 -6
  208. package/dist/types/loadPlugins.d.ts +0 -5
  209. package/dist/types/plugin.d.ts +0 -493
@@ -0,0 +1,114 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ import path from "path";
4
+ import { fileReader } from "@modern-js/runtime-utils/fileReader";
5
+ function getHtmlTemplates(pwd, routes) {
6
+ return _getHtmlTemplates.apply(this, arguments);
7
+ }
8
+ function _getHtmlTemplates() {
9
+ _getHtmlTemplates = _async_to_generator(function(pwd, routes) {
10
+ var htmls, templates;
11
+ return _ts_generator(this, function(_state) {
12
+ switch (_state.label) {
13
+ case 0:
14
+ return [
15
+ 4,
16
+ Promise.all(routes.map(function() {
17
+ var _ref = _async_to_generator(function(route) {
18
+ var html, _this, htmlPath, e;
19
+ return _ts_generator(this, function(_state2) {
20
+ switch (_state2.label) {
21
+ case 0:
22
+ _state2.trys.push([
23
+ 0,
24
+ 2,
25
+ ,
26
+ 3
27
+ ]);
28
+ htmlPath = path.join(pwd, route.entryPath);
29
+ return [
30
+ 4,
31
+ fileReader.readFile(htmlPath, "utf-8")
32
+ ];
33
+ case 1:
34
+ html = (_this = _state2.sent()) === null || _this === void 0 ? void 0 : _this.toString();
35
+ return [
36
+ 3,
37
+ 3
38
+ ];
39
+ case 2:
40
+ e = _state2.sent();
41
+ return [
42
+ 3,
43
+ 3
44
+ ];
45
+ case 3:
46
+ return [
47
+ 2,
48
+ [
49
+ route.entryName,
50
+ html
51
+ ]
52
+ ];
53
+ }
54
+ });
55
+ });
56
+ return function(route) {
57
+ return _ref.apply(this, arguments);
58
+ };
59
+ }()) || [])
60
+ ];
61
+ case 1:
62
+ htmls = _state.sent();
63
+ templates = Object.fromEntries(htmls);
64
+ return [
65
+ 2,
66
+ templates
67
+ ];
68
+ }
69
+ });
70
+ });
71
+ return _getHtmlTemplates.apply(this, arguments);
72
+ }
73
+ function injectTemplates(pwd, routes) {
74
+ return function() {
75
+ var _ref = _async_to_generator(function(c, next) {
76
+ var templates;
77
+ return _ts_generator(this, function(_state) {
78
+ switch (_state.label) {
79
+ case 0:
80
+ if (!(routes && !c.get("templates")))
81
+ return [
82
+ 3,
83
+ 2
84
+ ];
85
+ return [
86
+ 4,
87
+ getHtmlTemplates(pwd, routes)
88
+ ];
89
+ case 1:
90
+ templates = _state.sent();
91
+ c.set("templates", templates);
92
+ _state.label = 2;
93
+ case 2:
94
+ return [
95
+ 4,
96
+ next()
97
+ ];
98
+ case 3:
99
+ _state.sent();
100
+ return [
101
+ 2
102
+ ];
103
+ }
104
+ });
105
+ });
106
+ return function(c, next) {
107
+ return _ref.apply(this, arguments);
108
+ };
109
+ }();
110
+ }
111
+ export {
112
+ getHtmlTemplates,
113
+ injectTemplates
114
+ };
@@ -0,0 +1,197 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
3
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
+ import { createServer, ServerResponse } from "node:http";
6
+ import { createReadableStreamFromReadable, writeReadableStreamToWritable } from "./polyfills/stream";
7
+ import { installGlobals } from "./polyfills/install";
8
+ installGlobals();
9
+ var createWebRequest = function(req, res) {
10
+ var _req_url;
11
+ var headerRecord = [];
12
+ var len = req.rawHeaders.length;
13
+ for (var i = 0; i < len; i += 2) {
14
+ headerRecord.push([
15
+ req.rawHeaders[i],
16
+ req.rawHeaders[i + 1]
17
+ ]);
18
+ }
19
+ var method = req.method;
20
+ var controller = new AbortController();
21
+ var init = {
22
+ method,
23
+ headers: headerRecord,
24
+ signal: controller.signal
25
+ };
26
+ res.on("close", function() {
27
+ return controller.abort();
28
+ });
29
+ if (!(method === "GET" || method === "HEAD") && ((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.includes("__loader"))) {
30
+ init.body = createReadableStreamFromReadable(req);
31
+ init.duplex = "half";
32
+ }
33
+ var url = "http://".concat(req.headers.host).concat(req.url);
34
+ var request = new Request(url, init);
35
+ return request;
36
+ };
37
+ var sendResponse = function() {
38
+ var _ref = _async_to_generator(function(response, res) {
39
+ var _response_headers_get, cookies, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, key, value;
40
+ return _ts_generator(this, function(_state) {
41
+ switch (_state.label) {
42
+ case 0:
43
+ res.statusMessage = response.statusText;
44
+ res.statusCode = response.status;
45
+ cookies = [];
46
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
47
+ try {
48
+ for (_iterator = response.headers.entries()[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
49
+ _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
50
+ if (key === "set-cookie") {
51
+ cookies.push(value);
52
+ } else {
53
+ res.setHeader(key, value);
54
+ }
55
+ }
56
+ } catch (err) {
57
+ _didIteratorError = true;
58
+ _iteratorError = err;
59
+ } finally {
60
+ try {
61
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
62
+ _iterator.return();
63
+ }
64
+ } finally {
65
+ if (_didIteratorError) {
66
+ throw _iteratorError;
67
+ }
68
+ }
69
+ }
70
+ if (cookies.length > 0) {
71
+ res.setHeader("set-cookie", cookies);
72
+ }
73
+ if (((_response_headers_get = response.headers.get("Content-Type")) === null || _response_headers_get === void 0 ? void 0 : _response_headers_get.match(/text\/event-stream/i)) && _instanceof(res, ServerResponse)) {
74
+ res.flushHeaders();
75
+ }
76
+ if (!response.body)
77
+ return [
78
+ 3,
79
+ 2
80
+ ];
81
+ return [
82
+ 4,
83
+ writeReadableStreamToWritable(response.body, res)
84
+ ];
85
+ case 1:
86
+ _state.sent();
87
+ return [
88
+ 3,
89
+ 3
90
+ ];
91
+ case 2:
92
+ res.end();
93
+ _state.label = 3;
94
+ case 3:
95
+ return [
96
+ 2
97
+ ];
98
+ }
99
+ });
100
+ });
101
+ return function sendResponse2(response, res) {
102
+ return _ref.apply(this, arguments);
103
+ };
104
+ }();
105
+ var handleResponseError = function(e, res) {
106
+ var err = _instanceof(e, Error) ? e : new Error("unknown error", {
107
+ cause: e
108
+ });
109
+ if (err.code === "ERR_STREAM_PREMATURE_CLOSE") {
110
+ console.info("The user aborted a request.");
111
+ } else {
112
+ console.error(e);
113
+ if (!res.headersSent) {
114
+ res.writeHead(500, {
115
+ "Content-Type": "text/plain"
116
+ });
117
+ }
118
+ res.end("Error: ".concat(err.message));
119
+ res.destroy(err);
120
+ }
121
+ };
122
+ var getRequestListener = function(handler) {
123
+ return function() {
124
+ var _ref = _async_to_generator(function(req, res) {
125
+ var request, response, error;
126
+ return _ts_generator(this, function(_state) {
127
+ switch (_state.label) {
128
+ case 0:
129
+ _state.trys.push([
130
+ 0,
131
+ 4,
132
+ ,
133
+ 5
134
+ ]);
135
+ request = createWebRequest(req, res);
136
+ return [
137
+ 4,
138
+ handler(request, {
139
+ node: {
140
+ req,
141
+ res
142
+ }
143
+ })
144
+ ];
145
+ case 1:
146
+ response = _state.sent();
147
+ if (!(!res.headersSent && !response.res))
148
+ return [
149
+ 3,
150
+ 3
151
+ ];
152
+ return [
153
+ 4,
154
+ sendResponse(response, res)
155
+ ];
156
+ case 2:
157
+ _state.sent();
158
+ _state.label = 3;
159
+ case 3:
160
+ return [
161
+ 3,
162
+ 5
163
+ ];
164
+ case 4:
165
+ error = _state.sent();
166
+ return [
167
+ 2,
168
+ handleResponseError(error, res)
169
+ ];
170
+ case 5:
171
+ return [
172
+ 2
173
+ ];
174
+ }
175
+ });
176
+ });
177
+ return function(req, res) {
178
+ return _ref.apply(this, arguments);
179
+ };
180
+ }();
181
+ };
182
+ var createNodeServer = function(requestHandler) {
183
+ var requestListener = getRequestListener(requestHandler);
184
+ var nodeServer = createServer(requestListener);
185
+ nodeServer.getRequestListener = function() {
186
+ return requestListener;
187
+ };
188
+ nodeServer.getRequestHandler = function() {
189
+ return requestHandler;
190
+ };
191
+ return nodeServer;
192
+ };
193
+ export {
194
+ createNodeServer,
195
+ createWebRequest,
196
+ sendResponse
197
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./install";
2
+ export * from "./stream";
@@ -0,0 +1,48 @@
1
+ import { Request as NodeRequest, Response as NodeResponse, Headers as NodeHeaders, FormData as NodeFormData } from "@web-std/fetch";
2
+ import { TransformStream as NodeTransformStream, ReadableStream as NodeReadableStream, WritableStream as NodeWritableStream } from "@web-std/stream";
3
+ import { File as NodeFile, Blob as NodeBlob } from "@web-std/file";
4
+ if (!Object.getOwnPropertyDescriptor(NodeHeaders.prototype, "getSetCookie")) {
5
+ Object.defineProperty(NodeHeaders.prototype, "getSetCookie", {
6
+ value: function getSetCookie() {
7
+ var cookies = [];
8
+ this.forEach(function(value, name) {
9
+ if (name.toLowerCase() === "set-cookie") {
10
+ cookies.push(value);
11
+ }
12
+ });
13
+ return cookies;
14
+ }
15
+ });
16
+ }
17
+ var installGlobals = function() {
18
+ if (!global.Headers) {
19
+ global.Headers = NodeHeaders;
20
+ }
21
+ if (!global.Request) {
22
+ global.Request = NodeRequest;
23
+ }
24
+ if (!global.Response) {
25
+ global.Response = NodeResponse;
26
+ }
27
+ if (!global.FormData) {
28
+ global.FormData = NodeFormData;
29
+ }
30
+ if (!global.TransformStream) {
31
+ global.TransformStream = NodeTransformStream;
32
+ }
33
+ if (!global.ReadableStream) {
34
+ global.ReadableStream = NodeReadableStream;
35
+ }
36
+ if (!global.WritableStream) {
37
+ global.WritableStream = NodeWritableStream;
38
+ }
39
+ if (!global.File) {
40
+ global.File = NodeFile;
41
+ }
42
+ if (!global.Blob) {
43
+ global.Blob = NodeBlob;
44
+ }
45
+ };
46
+ export {
47
+ installGlobals
48
+ };
@@ -0,0 +1,316 @@
1
+ import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator";
2
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
3
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
4
+ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
5
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
+ import { Stream } from "node:stream";
7
+ function writeReadableStreamToWritable(stream, writable) {
8
+ return _writeReadableStreamToWritable.apply(this, arguments);
9
+ }
10
+ function _writeReadableStreamToWritable() {
11
+ _writeReadableStreamToWritable = _async_to_generator(function(stream, writable) {
12
+ var reader, flushable, _ref, done, value, error;
13
+ return _ts_generator(this, function(_state) {
14
+ switch (_state.label) {
15
+ case 0:
16
+ reader = stream.getReader();
17
+ flushable = writable;
18
+ _state.label = 1;
19
+ case 1:
20
+ _state.trys.push([
21
+ 1,
22
+ 5,
23
+ ,
24
+ 6
25
+ ]);
26
+ _state.label = 2;
27
+ case 2:
28
+ if (false)
29
+ return [
30
+ 3,
31
+ 4
32
+ ];
33
+ return [
34
+ 4,
35
+ reader.read()
36
+ ];
37
+ case 3:
38
+ _ref = _state.sent(), done = _ref.done, value = _ref.value;
39
+ if (done) {
40
+ writable.end();
41
+ return [
42
+ 3,
43
+ 4
44
+ ];
45
+ }
46
+ writable.write(value);
47
+ if (typeof flushable.flush === "function") {
48
+ flushable.flush();
49
+ }
50
+ return [
51
+ 3,
52
+ 2
53
+ ];
54
+ case 4:
55
+ return [
56
+ 3,
57
+ 6
58
+ ];
59
+ case 5:
60
+ error = _state.sent();
61
+ writable.destroy(error);
62
+ throw error;
63
+ case 6:
64
+ return [
65
+ 2
66
+ ];
67
+ }
68
+ });
69
+ });
70
+ return _writeReadableStreamToWritable.apply(this, arguments);
71
+ }
72
+ function writeAsyncIterableToWritable(iterable, writable) {
73
+ return _writeAsyncIterableToWritable.apply(this, arguments);
74
+ }
75
+ function _writeAsyncIterableToWritable() {
76
+ _writeAsyncIterableToWritable = _async_to_generator(function(iterable, writable) {
77
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err, error;
78
+ return _ts_generator(this, function(_state) {
79
+ switch (_state.label) {
80
+ case 0:
81
+ _state.trys.push([
82
+ 0,
83
+ 13,
84
+ ,
85
+ 14
86
+ ]);
87
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
88
+ _state.label = 1;
89
+ case 1:
90
+ _state.trys.push([
91
+ 1,
92
+ 6,
93
+ 7,
94
+ 12
95
+ ]);
96
+ _iterator = _async_iterator(iterable);
97
+ _state.label = 2;
98
+ case 2:
99
+ return [
100
+ 4,
101
+ _iterator.next()
102
+ ];
103
+ case 3:
104
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done))
105
+ return [
106
+ 3,
107
+ 5
108
+ ];
109
+ _value = _step.value;
110
+ chunk = _value;
111
+ writable.write(chunk);
112
+ _state.label = 4;
113
+ case 4:
114
+ _iteratorAbruptCompletion = false;
115
+ return [
116
+ 3,
117
+ 2
118
+ ];
119
+ case 5:
120
+ return [
121
+ 3,
122
+ 12
123
+ ];
124
+ case 6:
125
+ err = _state.sent();
126
+ _didIteratorError = true;
127
+ _iteratorError = err;
128
+ return [
129
+ 3,
130
+ 12
131
+ ];
132
+ case 7:
133
+ _state.trys.push([
134
+ 7,
135
+ ,
136
+ 10,
137
+ 11
138
+ ]);
139
+ if (!(_iteratorAbruptCompletion && _iterator.return != null))
140
+ return [
141
+ 3,
142
+ 9
143
+ ];
144
+ return [
145
+ 4,
146
+ _iterator.return()
147
+ ];
148
+ case 8:
149
+ _state.sent();
150
+ _state.label = 9;
151
+ case 9:
152
+ return [
153
+ 3,
154
+ 11
155
+ ];
156
+ case 10:
157
+ if (_didIteratorError) {
158
+ throw _iteratorError;
159
+ }
160
+ return [
161
+ 7
162
+ ];
163
+ case 11:
164
+ return [
165
+ 7
166
+ ];
167
+ case 12:
168
+ writable.end();
169
+ return [
170
+ 3,
171
+ 14
172
+ ];
173
+ case 13:
174
+ error = _state.sent();
175
+ writable.destroy(error);
176
+ throw error;
177
+ case 14:
178
+ return [
179
+ 2
180
+ ];
181
+ }
182
+ });
183
+ });
184
+ return _writeAsyncIterableToWritable.apply(this, arguments);
185
+ }
186
+ function readableStreamToString(stream, encoding) {
187
+ return _readableStreamToString.apply(this, arguments);
188
+ }
189
+ function _readableStreamToString() {
190
+ _readableStreamToString = _async_to_generator(function(stream, encoding) {
191
+ var reader, chunks, _ref, done, value;
192
+ return _ts_generator(this, function(_state) {
193
+ switch (_state.label) {
194
+ case 0:
195
+ reader = stream.getReader();
196
+ chunks = [];
197
+ _state.label = 1;
198
+ case 1:
199
+ if (false)
200
+ return [
201
+ 3,
202
+ 3
203
+ ];
204
+ return [
205
+ 4,
206
+ reader.read()
207
+ ];
208
+ case 2:
209
+ _ref = _state.sent(), done = _ref.done, value = _ref.value;
210
+ if (done) {
211
+ return [
212
+ 3,
213
+ 3
214
+ ];
215
+ }
216
+ if (value) {
217
+ chunks.push(value);
218
+ }
219
+ return [
220
+ 3,
221
+ 1
222
+ ];
223
+ case 3:
224
+ return [
225
+ 2,
226
+ Buffer.concat(chunks).toString(encoding)
227
+ ];
228
+ }
229
+ });
230
+ });
231
+ return _readableStreamToString.apply(this, arguments);
232
+ }
233
+ var createReadableStreamFromReadable = function(source) {
234
+ var pump = new StreamPump(source);
235
+ var stream = new ReadableStream(pump, pump);
236
+ return stream;
237
+ };
238
+ var StreamPump = /* @__PURE__ */ function() {
239
+ "use strict";
240
+ function StreamPump2(stream) {
241
+ _class_call_check(this, StreamPump2);
242
+ this.highWaterMark = stream.readableHighWaterMark || new Stream.Readable().readableHighWaterMark;
243
+ this.accumalatedSize = 0;
244
+ this.stream = stream;
245
+ this.enqueue = this.enqueue.bind(this);
246
+ this.error = this.error.bind(this);
247
+ this.close = this.close.bind(this);
248
+ }
249
+ var _proto = StreamPump2.prototype;
250
+ _proto.size = function size(chunk) {
251
+ return (chunk === null || chunk === void 0 ? void 0 : chunk.byteLength) || 0;
252
+ };
253
+ _proto.start = function start(controller) {
254
+ this.controller = controller;
255
+ this.stream.on("data", this.enqueue);
256
+ this.stream.once("error", this.error);
257
+ this.stream.once("end", this.close);
258
+ this.stream.once("close", this.close);
259
+ };
260
+ _proto.pull = function pull() {
261
+ this.resume();
262
+ };
263
+ _proto.cancel = function cancel(reason) {
264
+ if (this.stream.destroy) {
265
+ this.stream.destroy(reason);
266
+ }
267
+ this.stream.off("data", this.enqueue);
268
+ this.stream.off("error", this.error);
269
+ this.stream.off("end", this.close);
270
+ this.stream.off("close", this.close);
271
+ };
272
+ _proto.enqueue = function enqueue(chunk) {
273
+ if (this.controller) {
274
+ try {
275
+ var bytes = _instanceof(chunk, Uint8Array) ? chunk : Buffer.from(chunk);
276
+ var available = (this.controller.desiredSize || 0) - bytes.byteLength;
277
+ this.controller.enqueue(bytes);
278
+ if (available <= 0) {
279
+ this.pause();
280
+ }
281
+ } catch (error) {
282
+ this.controller.error(new Error("Could not create Buffer, chunk must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object"));
283
+ this.cancel();
284
+ }
285
+ }
286
+ };
287
+ _proto.pause = function pause() {
288
+ if (this.stream.pause) {
289
+ this.stream.pause();
290
+ }
291
+ };
292
+ _proto.resume = function resume() {
293
+ if (this.stream.readable && this.stream.resume) {
294
+ this.stream.resume();
295
+ }
296
+ };
297
+ _proto.close = function close() {
298
+ if (this.controller) {
299
+ this.controller.close();
300
+ delete this.controller;
301
+ }
302
+ };
303
+ _proto.error = function error(error) {
304
+ if (this.controller) {
305
+ this.controller.error(error);
306
+ delete this.controller;
307
+ }
308
+ };
309
+ return StreamPump2;
310
+ }();
311
+ export {
312
+ createReadableStreamFromReadable,
313
+ readableStreamToString,
314
+ writeAsyncIterableToWritable,
315
+ writeReadableStreamToWritable
316
+ };
@@ -0,0 +1,31 @@
1
+ var AGGRED_DIR = {
2
+ mock: "config/mock",
3
+ server: "server",
4
+ api: "api",
5
+ shared: "shared",
6
+ lambda: "lambda"
7
+ };
8
+ var REPLACE_REG = {
9
+ before: {
10
+ head: "<head[^>]*>",
11
+ body: "<body[^>]*>"
12
+ },
13
+ after: {
14
+ head: "</head>",
15
+ body: "</body>"
16
+ }
17
+ };
18
+ var ServerReportTimings;
19
+ (function(ServerReportTimings2) {
20
+ ServerReportTimings2["SERVER_HANDLE_REQUEST"] = "server-handle-request";
21
+ ServerReportTimings2["SERVER_MIDDLEWARE"] = "server-middleware";
22
+ ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
23
+ ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
24
+ })(ServerReportTimings || (ServerReportTimings = {}));
25
+ var X_RENDER_CACHE = "x-render-cache";
26
+ export {
27
+ AGGRED_DIR,
28
+ REPLACE_REG,
29
+ ServerReportTimings,
30
+ X_RENDER_CACHE
31
+ };