@modern-js/server-core 2.48.5-alpha.1 → 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 (213) 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/hono.js +0 -16
  55. package/dist/cjs/core/index.js +0 -22
  56. package/dist/cjs/core/render.js +0 -16
  57. package/dist/cjs/core/server.js +0 -16
  58. package/dist/esm/base/adapters/node/bff.js +0 -128
  59. package/dist/esm/base/adapters/node/hono.js +0 -83
  60. package/dist/esm/base/adapters/node/index.js +0 -19
  61. package/dist/esm/base/adapters/node/loadServer.js +0 -73
  62. package/dist/esm/base/adapters/node/middlewares/index.js +0 -4
  63. package/dist/esm/base/adapters/node/middlewares/mock.js +0 -198
  64. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +0 -132
  65. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +0 -85
  66. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +0 -119
  67. package/dist/esm/base/adapters/node/middlewares/templates.js +0 -114
  68. package/dist/esm/base/adapters/node/node.js +0 -197
  69. package/dist/esm/base/adapters/node/polyfills/index.js +0 -2
  70. package/dist/esm/base/adapters/node/polyfills/install.js +0 -48
  71. package/dist/esm/base/adapters/node/polyfills/stream.js +0 -316
  72. package/dist/esm/base/constants.js +0 -31
  73. package/dist/esm/base/index.js +0 -16
  74. package/dist/esm/base/middlewares/customServer/base.js +0 -182
  75. package/dist/esm/base/middlewares/customServer/context.js +0 -68
  76. package/dist/esm/base/middlewares/customServer/index.js +0 -214
  77. package/dist/esm/base/middlewares/customServer/routerApi.js +0 -26
  78. package/dist/esm/base/middlewares/customServer/template.js +0 -47
  79. package/dist/esm/base/middlewares/faviconFallback.js +0 -28
  80. package/dist/esm/base/middlewares/frameworkHeader.js +0 -27
  81. package/dist/esm/base/middlewares/index.js +0 -5
  82. package/dist/esm/base/middlewares/logger.js +0 -75
  83. package/dist/esm/base/middlewares/monitor.js +0 -157
  84. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +0 -45
  85. package/dist/esm/base/middlewares/renderHandler/index.js +0 -165
  86. package/dist/esm/base/middlewares/renderHandler/render.js +0 -216
  87. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +0 -21
  88. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -306
  89. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +0 -265
  90. package/dist/esm/base/serverBase.js +0 -383
  91. package/dist/esm/base/utils/debug.js +0 -5
  92. package/dist/esm/base/utils/entry.js +0 -6
  93. package/dist/esm/base/utils/env.js +0 -20
  94. package/dist/esm/base/utils/error.js +0 -12
  95. package/dist/esm/base/utils/index.js +0 -7
  96. package/dist/esm/base/utils/middlewareCollector.js +0 -31
  97. package/dist/esm/base/utils/request.js +0 -39
  98. package/dist/esm/base/utils/serverConfig.js +0 -58
  99. package/dist/esm/base/utils/transformStream.js +0 -90
  100. package/dist/esm/base/utils/warmup.js +0 -9
  101. package/dist/esm/core/hono.js +0 -0
  102. package/dist/esm/core/index.js +0 -1
  103. package/dist/esm/core/loadPlugins.js +0 -26
  104. package/dist/esm/core/plugin.js +0 -59
  105. package/dist/esm/core/render.js +0 -0
  106. package/dist/esm/core/server.js +0 -0
  107. package/dist/esm-node/base/adapters/node/bff.js +0 -46
  108. package/dist/esm-node/base/adapters/node/hono.js +0 -38
  109. package/dist/esm-node/base/adapters/node/index.js +0 -19
  110. package/dist/esm-node/base/adapters/node/loadServer.js +0 -22
  111. package/dist/esm-node/base/adapters/node/middlewares/index.js +0 -4
  112. package/dist/esm-node/base/adapters/node/middlewares/mock.js +0 -79
  113. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +0 -48
  114. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +0 -33
  115. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +0 -75
  116. package/dist/esm-node/base/adapters/node/middlewares/templates.js +0 -32
  117. package/dist/esm-node/base/adapters/node/node.js +0 -101
  118. package/dist/esm-node/base/adapters/node/polyfills/index.js +0 -2
  119. package/dist/esm-node/base/adapters/node/polyfills/install.js +0 -48
  120. package/dist/esm-node/base/adapters/node/polyfills/stream.js +0 -126
  121. package/dist/esm-node/base/constants.js +0 -31
  122. package/dist/esm-node/base/index.js +0 -16
  123. package/dist/esm-node/base/middlewares/customServer/base.js +0 -130
  124. package/dist/esm-node/base/middlewares/customServer/context.js +0 -46
  125. package/dist/esm-node/base/middlewares/customServer/index.js +0 -106
  126. package/dist/esm-node/base/middlewares/customServer/routerApi.js +0 -20
  127. package/dist/esm-node/base/middlewares/customServer/template.js +0 -34
  128. package/dist/esm-node/base/middlewares/faviconFallback.js +0 -10
  129. package/dist/esm-node/base/middlewares/frameworkHeader.js +0 -7
  130. package/dist/esm-node/base/middlewares/index.js +0 -5
  131. package/dist/esm-node/base/middlewares/logger.js +0 -53
  132. package/dist/esm-node/base/middlewares/monitor.js +0 -63
  133. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +0 -22
  134. package/dist/esm-node/base/middlewares/renderHandler/index.js +0 -71
  135. package/dist/esm-node/base/middlewares/renderHandler/render.js +0 -102
  136. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +0 -16
  137. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +0 -162
  138. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +0 -173
  139. package/dist/esm-node/base/serverBase.js +0 -168
  140. package/dist/esm-node/base/utils/debug.js +0 -5
  141. package/dist/esm-node/base/utils/entry.js +0 -6
  142. package/dist/esm-node/base/utils/env.js +0 -20
  143. package/dist/esm-node/base/utils/error.js +0 -41
  144. package/dist/esm-node/base/utils/index.js +0 -7
  145. package/dist/esm-node/base/utils/middlewareCollector.js +0 -29
  146. package/dist/esm-node/base/utils/request.js +0 -38
  147. package/dist/esm-node/base/utils/serverConfig.js +0 -34
  148. package/dist/esm-node/base/utils/transformStream.js +0 -36
  149. package/dist/esm-node/base/utils/warmup.js +0 -9
  150. package/dist/esm-node/core/hono.js +0 -0
  151. package/dist/esm-node/core/index.js +0 -1
  152. package/dist/esm-node/core/render.js +0 -0
  153. package/dist/esm-node/core/server.js +0 -0
  154. package/dist/esm-node/index.js +0 -5
  155. package/dist/esm-node/types/config/bff.js +0 -0
  156. package/dist/esm-node/types/config/dev.js +0 -0
  157. package/dist/esm-node/types/config/html.js +0 -0
  158. package/dist/esm-node/types/config/index.js +0 -6
  159. package/dist/esm-node/types/config/output.js +0 -0
  160. package/dist/esm-node/types/config/security.js +0 -0
  161. package/dist/esm-node/types/config/server.js +0 -0
  162. package/dist/esm-node/types/config/share.js +0 -0
  163. package/dist/esm-node/types/config/source.js +0 -0
  164. package/dist/esm-node/types/config/tools.js +0 -0
  165. package/dist/types/base/adapters/node/bff.d.ts +0 -4
  166. package/dist/types/base/adapters/node/hono.d.ts +0 -22
  167. package/dist/types/base/adapters/node/index.d.ts +0 -6
  168. package/dist/types/base/adapters/node/loadServer.d.ts +0 -3
  169. package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -4
  170. package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
  171. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +0 -3
  172. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +0 -7
  173. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -11
  174. package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -4
  175. package/dist/types/base/adapters/node/node.d.ts +0 -13
  176. package/dist/types/base/adapters/node/polyfills/index.d.ts +0 -2
  177. package/dist/types/base/adapters/node/polyfills/install.d.ts +0 -1
  178. package/dist/types/base/adapters/node/polyfills/stream.d.ts +0 -18
  179. package/dist/types/base/constants.d.ts +0 -24
  180. package/dist/types/base/index.d.ts +0 -7
  181. package/dist/types/base/middlewares/customServer/base.d.ts +0 -3
  182. package/dist/types/base/middlewares/customServer/context.d.ts +0 -7
  183. package/dist/types/base/middlewares/customServer/index.d.ts +0 -13
  184. package/dist/types/base/middlewares/customServer/routerApi.d.ts +0 -9
  185. package/dist/types/base/middlewares/customServer/template.d.ts +0 -11
  186. package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
  187. package/dist/types/base/middlewares/frameworkHeader.d.ts +0 -2
  188. package/dist/types/base/middlewares/index.d.ts +0 -5
  189. package/dist/types/base/middlewares/logger.d.ts +0 -2
  190. package/dist/types/base/middlewares/monitor.d.ts +0 -6
  191. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +0 -5
  192. package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -10
  193. package/dist/types/base/middlewares/renderHandler/render.d.ts +0 -12
  194. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +0 -7
  195. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -29
  196. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +0 -21
  197. package/dist/types/base/serverBase.d.ts +0 -52
  198. package/dist/types/base/utils/debug.d.ts +0 -1
  199. package/dist/types/base/utils/entry.d.ts +0 -2
  200. package/dist/types/base/utils/env.d.ts +0 -2
  201. package/dist/types/base/utils/error.d.ts +0 -1
  202. package/dist/types/base/utils/index.d.ts +0 -7
  203. package/dist/types/base/utils/middlewareCollector.d.ts +0 -12
  204. package/dist/types/base/utils/request.d.ts +0 -12
  205. package/dist/types/base/utils/serverConfig.d.ts +0 -14
  206. package/dist/types/base/utils/transformStream.d.ts +0 -5
  207. package/dist/types/base/utils/warmup.d.ts +0 -1
  208. package/dist/types/core/hono.d.ts +0 -1
  209. package/dist/types/core/index.d.ts +0 -1
  210. package/dist/types/core/loadPlugins.d.ts +0 -3
  211. package/dist/types/core/plugin.d.ts +0 -202
  212. package/dist/types/core/render.d.ts +0 -15
  213. package/dist/types/core/server.d.ts +0 -94
@@ -1,75 +0,0 @@
1
- import path from "path";
2
- import { fs } from "@modern-js/utils";
3
- import { getMimeType } from "hono/utils/mime";
4
- import { fileReader } from "@modern-js/runtime-utils/fileReader";
5
- import { createErrorHtml } from "../../../utils";
6
- import { createPublicMiddleware } from "./serverPublic";
7
- function createStaticMiddleware(options) {
8
- const { pwd, routes } = options;
9
- const prefix = options.output.assetPrefix || "/";
10
- const { distPath: { css: cssPath, js: jsPath, media: mediaPath } = {} } = options.output;
11
- const { favicon, faviconByEntries } = options.html;
12
- const favicons = prepareFavicons(favicon, faviconByEntries);
13
- const staticFiles = [
14
- cssPath,
15
- jsPath,
16
- mediaPath
17
- ].filter((v) => Boolean(v));
18
- const staticReg = [
19
- "static/",
20
- "upload/",
21
- ...staticFiles
22
- ];
23
- const iconReg = [
24
- "favicon.ico",
25
- "icon.png",
26
- ...favicons
27
- ];
28
- const regPrefix = prefix.endsWith("/") ? prefix : `${prefix}/`;
29
- const staticPathRegExp = new RegExp(`^${regPrefix}(${[
30
- ...staticReg,
31
- ...iconReg
32
- ].join("|")})`);
33
- return async (c, next) => {
34
- const pathname = c.req.path;
35
- const hit = staticPathRegExp.test(pathname);
36
- if (hit) {
37
- const filepath = path.join(pwd, pathname.replace(prefix, () => ""));
38
- if (!await fs.pathExists(filepath)) {
39
- return c.html(createErrorHtml(404), 404);
40
- }
41
- const mimeType = getMimeType(filepath);
42
- if (mimeType) {
43
- c.header("Content-Type", mimeType);
44
- }
45
- const stat = await fs.lstat(filepath);
46
- const { size } = stat;
47
- const chunk = await fileReader.readFile(filepath, "buffer");
48
- c.header("Content-Length", String(size));
49
- return c.body(chunk, 200);
50
- } else {
51
- return createPublicMiddleware({
52
- pwd,
53
- routes: routes || []
54
- })(c, next);
55
- }
56
- };
57
- }
58
- const prepareFavicons = (favicon, faviconByEntries) => {
59
- const faviconNames = [];
60
- if (favicon && typeof favicon === "string") {
61
- faviconNames.push(favicon.substring(favicon.lastIndexOf("/") + 1));
62
- }
63
- if (faviconByEntries) {
64
- Object.keys(faviconByEntries).forEach((f) => {
65
- const curFavicon = faviconByEntries[f];
66
- if (curFavicon) {
67
- faviconNames.push(curFavicon.substring(curFavicon.lastIndexOf("/") + 1));
68
- }
69
- });
70
- }
71
- return faviconNames;
72
- };
73
- export {
74
- createStaticMiddleware
75
- };
@@ -1,32 +0,0 @@
1
- import path from "path";
2
- import { fileReader } from "@modern-js/runtime-utils/fileReader";
3
- async function getHtmlTemplates(pwd, routes) {
4
- const htmls = await Promise.all(routes.map(async (route) => {
5
- let html;
6
- try {
7
- var _this;
8
- const htmlPath = path.join(pwd, route.entryPath);
9
- html = (_this = await fileReader.readFile(htmlPath, "utf-8")) === null || _this === void 0 ? void 0 : _this.toString();
10
- } catch (e) {
11
- }
12
- return [
13
- route.entryName,
14
- html
15
- ];
16
- }) || []);
17
- const templates = Object.fromEntries(htmls);
18
- return templates;
19
- }
20
- function injectTemplates(pwd, routes) {
21
- return async (c, next) => {
22
- if (routes && !c.get("templates")) {
23
- const templates = await getHtmlTemplates(pwd, routes);
24
- c.set("templates", templates);
25
- }
26
- await next();
27
- };
28
- }
29
- export {
30
- getHtmlTemplates,
31
- injectTemplates
32
- };
@@ -1,101 +0,0 @@
1
- import { createServer, ServerResponse } from "node:http";
2
- import { createReadableStreamFromReadable, writeReadableStreamToWritable } from "./polyfills/stream";
3
- import { installGlobals } from "./polyfills/install";
4
- installGlobals();
5
- const createWebRequest = (req, res) => {
6
- var _req_url;
7
- const headerRecord = [];
8
- const len = req.rawHeaders.length;
9
- for (let i = 0; i < len; i += 2) {
10
- headerRecord.push([
11
- req.rawHeaders[i],
12
- req.rawHeaders[i + 1]
13
- ]);
14
- }
15
- const { method } = req;
16
- const controller = new AbortController();
17
- const init = {
18
- method,
19
- headers: headerRecord,
20
- signal: controller.signal
21
- };
22
- res.on("close", () => controller.abort());
23
- if (!(method === "GET" || method === "HEAD") && ((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.includes("__loader"))) {
24
- init.body = createReadableStreamFromReadable(req);
25
- init.duplex = "half";
26
- }
27
- const url = `http://${req.headers.host}${req.url}`;
28
- const request = new Request(url, init);
29
- return request;
30
- };
31
- const sendResponse = async (response, res) => {
32
- var _response_headers_get;
33
- res.statusMessage = response.statusText;
34
- res.statusCode = response.status;
35
- const cookies = [];
36
- for (const [key, value] of response.headers.entries()) {
37
- if (key === "set-cookie") {
38
- cookies.push(value);
39
- } else {
40
- res.setHeader(key, value);
41
- }
42
- }
43
- if (cookies.length > 0) {
44
- res.setHeader("set-cookie", cookies);
45
- }
46
- 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)) && res instanceof ServerResponse) {
47
- res.flushHeaders();
48
- }
49
- if (response.body) {
50
- await writeReadableStreamToWritable(response.body, res);
51
- } else {
52
- res.end();
53
- }
54
- };
55
- const handleResponseError = (e, res) => {
56
- const err = e instanceof Error ? e : new Error("unknown error", {
57
- cause: e
58
- });
59
- if (err.code === "ERR_STREAM_PREMATURE_CLOSE") {
60
- console.info("The user aborted a request.");
61
- } else {
62
- console.error(e);
63
- if (!res.headersSent) {
64
- res.writeHead(500, {
65
- "Content-Type": "text/plain"
66
- });
67
- }
68
- res.end(`Error: ${err.message}`);
69
- res.destroy(err);
70
- }
71
- };
72
- const getRequestListener = (handler) => {
73
- return async (req, res) => {
74
- try {
75
- const request = createWebRequest(req, res);
76
- const response = await handler(request, {
77
- node: {
78
- req,
79
- res
80
- }
81
- });
82
- if (!res.headersSent && !response.res) {
83
- await sendResponse(response, res);
84
- }
85
- } catch (error) {
86
- return handleResponseError(error, res);
87
- }
88
- };
89
- };
90
- const createNodeServer = (requestHandler) => {
91
- const requestListener = getRequestListener(requestHandler);
92
- const nodeServer = createServer(requestListener);
93
- nodeServer.getRequestListener = () => requestListener;
94
- nodeServer.getRequestHandler = () => requestHandler;
95
- return nodeServer;
96
- };
97
- export {
98
- createNodeServer,
99
- createWebRequest,
100
- sendResponse
101
- };
@@ -1,2 +0,0 @@
1
- export * from "./install";
2
- export * from "./stream";
@@ -1,48 +0,0 @@
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
- const cookies = [];
8
- this.forEach((value, name) => {
9
- if (name.toLowerCase() === "set-cookie") {
10
- cookies.push(value);
11
- }
12
- });
13
- return cookies;
14
- }
15
- });
16
- }
17
- const installGlobals = () => {
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
- };
@@ -1,126 +0,0 @@
1
- import { Stream } from "node:stream";
2
- async function writeReadableStreamToWritable(stream, writable) {
3
- const reader = stream.getReader();
4
- const flushable = writable;
5
- try {
6
- while (true) {
7
- const { done, value } = await reader.read();
8
- if (done) {
9
- writable.end();
10
- break;
11
- }
12
- writable.write(value);
13
- if (typeof flushable.flush === "function") {
14
- flushable.flush();
15
- }
16
- }
17
- } catch (error) {
18
- writable.destroy(error);
19
- throw error;
20
- }
21
- }
22
- async function writeAsyncIterableToWritable(iterable, writable) {
23
- try {
24
- for await (const chunk of iterable) {
25
- writable.write(chunk);
26
- }
27
- writable.end();
28
- } catch (error) {
29
- writable.destroy(error);
30
- throw error;
31
- }
32
- }
33
- async function readableStreamToString(stream, encoding) {
34
- const reader = stream.getReader();
35
- const chunks = [];
36
- while (true) {
37
- const { done, value } = await reader.read();
38
- if (done) {
39
- break;
40
- }
41
- if (value) {
42
- chunks.push(value);
43
- }
44
- }
45
- return Buffer.concat(chunks).toString(encoding);
46
- }
47
- const createReadableStreamFromReadable = (source) => {
48
- const pump = new StreamPump(source);
49
- const stream = new ReadableStream(pump, pump);
50
- return stream;
51
- };
52
- class StreamPump {
53
- size(chunk) {
54
- return (chunk === null || chunk === void 0 ? void 0 : chunk.byteLength) || 0;
55
- }
56
- start(controller) {
57
- this.controller = controller;
58
- this.stream.on("data", this.enqueue);
59
- this.stream.once("error", this.error);
60
- this.stream.once("end", this.close);
61
- this.stream.once("close", this.close);
62
- }
63
- pull() {
64
- this.resume();
65
- }
66
- cancel(reason) {
67
- if (this.stream.destroy) {
68
- this.stream.destroy(reason);
69
- }
70
- this.stream.off("data", this.enqueue);
71
- this.stream.off("error", this.error);
72
- this.stream.off("end", this.close);
73
- this.stream.off("close", this.close);
74
- }
75
- enqueue(chunk) {
76
- if (this.controller) {
77
- try {
78
- const bytes = chunk instanceof Uint8Array ? chunk : Buffer.from(chunk);
79
- const available = (this.controller.desiredSize || 0) - bytes.byteLength;
80
- this.controller.enqueue(bytes);
81
- if (available <= 0) {
82
- this.pause();
83
- }
84
- } catch (error) {
85
- 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"));
86
- this.cancel();
87
- }
88
- }
89
- }
90
- pause() {
91
- if (this.stream.pause) {
92
- this.stream.pause();
93
- }
94
- }
95
- resume() {
96
- if (this.stream.readable && this.stream.resume) {
97
- this.stream.resume();
98
- }
99
- }
100
- close() {
101
- if (this.controller) {
102
- this.controller.close();
103
- delete this.controller;
104
- }
105
- }
106
- error(error) {
107
- if (this.controller) {
108
- this.controller.error(error);
109
- delete this.controller;
110
- }
111
- }
112
- constructor(stream) {
113
- this.highWaterMark = stream.readableHighWaterMark || new Stream.Readable().readableHighWaterMark;
114
- this.accumalatedSize = 0;
115
- this.stream = stream;
116
- this.enqueue = this.enqueue.bind(this);
117
- this.error = this.error.bind(this);
118
- this.close = this.close.bind(this);
119
- }
120
- }
121
- export {
122
- createReadableStreamFromReadable,
123
- readableStreamToString,
124
- writeAsyncIterableToWritable,
125
- writeReadableStreamToWritable
126
- };
@@ -1,31 +0,0 @@
1
- const AGGRED_DIR = {
2
- mock: "config/mock",
3
- server: "server",
4
- api: "api",
5
- shared: "shared",
6
- lambda: "lambda"
7
- };
8
- const 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
- const X_RENDER_CACHE = "x-render-cache";
26
- export {
27
- AGGRED_DIR,
28
- REPLACE_REG,
29
- ServerReportTimings,
30
- X_RENDER_CACHE
31
- };
@@ -1,16 +0,0 @@
1
- import { createErrorHtml } from "./utils";
2
- import { AGGRED_DIR } from "./constants";
3
- import { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, processedBy } from "./middlewares";
4
- import { createServerBase } from "./serverBase";
5
- export {
6
- AGGRED_DIR,
7
- bindRenderHandler,
8
- createErrorHtml,
9
- createServerBase,
10
- favionFallbackMiddleware,
11
- getRenderHandler,
12
- injectLogger,
13
- injectReporter,
14
- logHandler,
15
- processedBy
16
- };
@@ -1,130 +0,0 @@
1
- import { _ as _class_private_field_get } from "@swc/helpers/_/_class_private_field_get";
2
- import { _ as _class_private_field_init } from "@swc/helpers/_/_class_private_field_init";
3
- import { _ as _class_private_field_set } from "@swc/helpers/_/_class_private_field_set";
4
- import { getCookie } from "hono/cookie";
5
- import { getHost } from "../../utils";
6
- function createBaseHookContext(c) {
7
- const logger = c.get("logger");
8
- const metrics = c.get("metrics");
9
- return {
10
- request: new BaseHookRequest(c),
11
- response: new BaseHookResponse(c),
12
- logger,
13
- metrics
14
- };
15
- }
16
- var _headers = /* @__PURE__ */ new WeakMap();
17
- class BaseHookRequest {
18
- get url() {
19
- return this.req.path;
20
- }
21
- // TODO: remove next major version
22
- set url(_u) {
23
- }
24
- get host() {
25
- return getHost(this.req.raw);
26
- }
27
- // TODO: remove next major version
28
- set host(_h) {
29
- }
30
- get pathname() {
31
- return this.req.path;
32
- }
33
- // TODO: remove next major version
34
- set pathname(_p) {
35
- }
36
- get query() {
37
- return this.req.query();
38
- }
39
- // TODO: remove next major version
40
- set query(_q) {
41
- }
42
- get headers() {
43
- return _class_private_field_get(this, _headers);
44
- }
45
- // TODO: remove next major version
46
- set headers(_h) {
47
- }
48
- get cookies() {
49
- return {
50
- // FIXME: ModernRequest Type Error
51
- get: (key) => {
52
- return getCookie(this.c, key);
53
- }
54
- };
55
- }
56
- get cookie() {
57
- return this.req.header("cookie");
58
- }
59
- // TODO: remove next major version
60
- set cookie(_c) {
61
- }
62
- constructor(c) {
63
- _class_private_field_init(this, _headers, {
64
- writable: true,
65
- value: void 0
66
- });
67
- this.headersData = {};
68
- this.c = c;
69
- this.req = c.req;
70
- const rawHeaders = this.req.raw.headers;
71
- rawHeaders.forEach((value, key) => {
72
- this.headersData[key] = value;
73
- });
74
- _class_private_field_set(this, _headers, new Proxy(this.headersData, {
75
- get(target, p) {
76
- return target[p];
77
- },
78
- set(target, p, newValue) {
79
- target[p] = newValue;
80
- rawHeaders.set(p, newValue);
81
- return true;
82
- }
83
- }));
84
- }
85
- }
86
- class BaseHookResponse {
87
- get(key) {
88
- return this.c.res.headers.get(key);
89
- }
90
- set(key, value) {
91
- if ([
92
- "set-cookie",
93
- "Set-Cookie"
94
- ].includes(key)) {
95
- this.c.header(key, value.toString(), {
96
- append: true
97
- });
98
- } else {
99
- this.c.header(key, value.toString());
100
- }
101
- }
102
- status(code) {
103
- this.c.status(code);
104
- }
105
- get cookies() {
106
- const setCookie = (key, value) => {
107
- this.c.header("set-cookie", `${key}=${value}`, {
108
- append: true
109
- });
110
- };
111
- const clearCookie = () => {
112
- this.c.header("set-cookie", void 0);
113
- };
114
- return {
115
- set: setCookie,
116
- clear: clearCookie
117
- };
118
- }
119
- raw(body, options) {
120
- this.c.res = this.c.newResponse(body, options);
121
- this.private_overrided = true;
122
- }
123
- constructor(c) {
124
- this.private_overrided = false;
125
- this.c = c;
126
- }
127
- }
128
- export {
129
- createBaseHookContext
130
- };
@@ -1,46 +0,0 @@
1
- import { RouterAPI } from "./routerApi";
2
- import { TemplateApi } from "./template";
3
- import { createBaseHookContext } from "./base";
4
- function getAfterMatchCtx(entryName, baseHookCtx) {
5
- const afterMatchCtx = baseHookCtx;
6
- afterMatchCtx.router = new RouterAPI(entryName);
7
- return afterMatchCtx;
8
- }
9
- async function getAfterRenderCtx(c, baseHookCtx, route) {
10
- const afterRenderCtx = baseHookCtx;
11
- const resBody = await c.res.text();
12
- afterRenderCtx.template = new TemplateApi(resBody);
13
- afterRenderCtx.route = route;
14
- return afterRenderCtx;
15
- }
16
- function createCustomMiddlewaresCtx(c, locals) {
17
- var _c_env_node, _c_env_node1;
18
- const baseContext = createBaseHookContext(c);
19
- const reporter = c.get("reporter");
20
- return {
21
- ...baseContext,
22
- reporter,
23
- response: {
24
- ...baseContext.response,
25
- locals
26
- },
27
- source: {
28
- req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
29
- res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
30
- }
31
- };
32
- }
33
- function createAfterStreamingRenderContext(baseHookCtx, route) {
34
- const streamingRenderCtx = baseHookCtx;
35
- streamingRenderCtx.route = route;
36
- return (chunk) => {
37
- streamingRenderCtx.chunk = chunk;
38
- return streamingRenderCtx;
39
- };
40
- }
41
- export {
42
- createAfterStreamingRenderContext,
43
- createCustomMiddlewaresCtx,
44
- getAfterMatchCtx,
45
- getAfterRenderCtx
46
- };