@modern-js/server-core 2.46.1 → 2.47.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 (142) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +69 -0
  2. package/dist/cjs/base/adapters/node/hono.js +62 -0
  3. package/dist/cjs/base/adapters/node/index.js +32 -0
  4. package/dist/cjs/base/adapters/node/loadServer.js +56 -0
  5. package/dist/cjs/base/adapters/node/middlewares/index.js +26 -0
  6. package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
  7. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +105 -0
  8. package/dist/cjs/base/adapters/node/middlewares/templates.js +65 -0
  9. package/dist/cjs/base/adapters/node/node.js +121 -0
  10. package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
  11. package/dist/cjs/base/adapters/node/polyfills/install.js +57 -0
  12. package/dist/cjs/base/adapters/node/polyfills/stream.js +159 -0
  13. package/dist/cjs/base/constants.js +55 -0
  14. package/dist/cjs/base/index.js +73 -0
  15. package/dist/cjs/base/middlewares/customServer/base.js +115 -0
  16. package/dist/cjs/base/middlewares/customServer/context.js +78 -0
  17. package/dist/cjs/base/middlewares/customServer/index.js +138 -0
  18. package/dist/cjs/base/middlewares/customServer/routerApi.js +48 -0
  19. package/dist/cjs/base/middlewares/customServer/template.js +60 -0
  20. package/dist/cjs/base/middlewares/dataHandler.js +69 -0
  21. package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
  22. package/dist/cjs/base/middlewares/index.js +28 -0
  23. package/dist/cjs/base/middlewares/monitor.js +75 -0
  24. package/dist/cjs/base/middlewares/renderHandler/index.js +92 -0
  25. package/dist/cjs/base/middlewares/renderHandler/render.js +90 -0
  26. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +43 -0
  27. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +173 -0
  28. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +183 -0
  29. package/dist/cjs/base/serverBase.js +167 -0
  30. package/dist/cjs/base/utils/debug.js +29 -0
  31. package/dist/cjs/base/utils/entry.js +30 -0
  32. package/dist/cjs/base/utils/env.js +45 -0
  33. package/dist/cjs/base/utils/error.js +65 -0
  34. package/dist/cjs/base/utils/index.js +40 -0
  35. package/dist/cjs/base/utils/middlewareCollector.js +54 -0
  36. package/dist/cjs/base/utils/path.js +46 -0
  37. package/dist/cjs/base/utils/request.js +65 -0
  38. package/dist/cjs/base/utils/serverConfig.js +71 -0
  39. package/dist/cjs/base/utils/transformStream.js +38 -0
  40. package/dist/cjs/base/utils/warmup.js +43 -0
  41. package/dist/cjs/core/hono.js +16 -0
  42. package/dist/cjs/core/index.js +24 -0
  43. package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +1 -1
  44. package/dist/cjs/{plugin.js → core/plugin.js} +3 -3
  45. package/dist/cjs/core/render.js +16 -0
  46. package/dist/cjs/core/server.js +22 -0
  47. package/dist/cjs/index.js +6 -4
  48. package/dist/esm/base/adapters/node/bff.js +45 -0
  49. package/dist/esm/base/adapters/node/hono.js +37 -0
  50. package/dist/esm/base/adapters/node/index.js +6 -0
  51. package/dist/esm/base/adapters/node/loadServer.js +22 -0
  52. package/dist/esm/base/adapters/node/middlewares/index.js +3 -0
  53. package/dist/esm/base/adapters/node/middlewares/mock.js +79 -0
  54. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +71 -0
  55. package/dist/esm/base/adapters/node/middlewares/templates.js +31 -0
  56. package/dist/esm/base/adapters/node/node.js +95 -0
  57. package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
  58. package/dist/esm/base/adapters/node/polyfills/install.js +33 -0
  59. package/dist/esm/base/adapters/node/polyfills/stream.js +132 -0
  60. package/dist/esm/base/constants.js +29 -0
  61. package/dist/esm/base/index.js +32 -0
  62. package/dist/esm/base/middlewares/customServer/base.js +91 -0
  63. package/dist/esm/base/middlewares/customServer/context.js +51 -0
  64. package/dist/esm/base/middlewares/customServer/index.js +114 -0
  65. package/dist/esm/base/middlewares/customServer/routerApi.js +24 -0
  66. package/dist/esm/base/middlewares/customServer/template.js +36 -0
  67. package/dist/esm/base/middlewares/dataHandler.js +35 -0
  68. package/dist/esm/base/middlewares/faviconFallback.js +10 -0
  69. package/dist/esm/base/middlewares/index.js +4 -0
  70. package/dist/esm/base/middlewares/monitor.js +49 -0
  71. package/dist/esm/base/middlewares/renderHandler/index.js +67 -0
  72. package/dist/esm/base/middlewares/renderHandler/render.js +66 -0
  73. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +19 -0
  74. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +149 -0
  75. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +149 -0
  76. package/dist/esm/base/serverBase.js +143 -0
  77. package/dist/esm/base/utils/debug.js +5 -0
  78. package/dist/esm/base/utils/entry.js +6 -0
  79. package/dist/esm/base/utils/env.js +20 -0
  80. package/dist/esm/base/utils/error.js +41 -0
  81. package/dist/esm/base/utils/index.js +10 -0
  82. package/dist/esm/base/utils/middlewareCollector.js +29 -0
  83. package/dist/esm/base/utils/path.js +12 -0
  84. package/dist/esm/base/utils/request.js +38 -0
  85. package/dist/esm/base/utils/serverConfig.js +35 -0
  86. package/dist/esm/base/utils/transformStream.js +14 -0
  87. package/dist/esm/base/utils/warmup.js +9 -0
  88. package/dist/esm/core/hono.js +0 -0
  89. package/dist/esm/core/index.js +2 -0
  90. package/dist/esm/{loadPlugins.js → core/loadPlugins.js} +1 -1
  91. package/dist/esm/{plugin.js → core/plugin.js} +3 -3
  92. package/dist/esm/core/render.js +0 -0
  93. package/dist/esm/core/server.js +1 -0
  94. package/dist/esm/index.js +3 -2
  95. package/dist/types/base/adapters/node/bff.d.ts +4 -0
  96. package/dist/types/base/adapters/node/hono.d.ts +30 -0
  97. package/dist/types/base/adapters/node/index.d.ts +6 -0
  98. package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
  99. package/dist/types/base/adapters/node/middlewares/index.d.ts +3 -0
  100. package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
  101. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +9 -0
  102. package/dist/types/base/adapters/node/middlewares/templates.d.ts +3 -0
  103. package/dist/types/base/adapters/node/node.d.ts +12 -0
  104. package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
  105. package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
  106. package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
  107. package/dist/types/base/constants.d.ts +23 -0
  108. package/dist/types/base/index.d.ts +9 -0
  109. package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
  110. package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
  111. package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
  112. package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
  113. package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
  114. package/dist/types/base/middlewares/dataHandler.d.ts +3 -0
  115. package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
  116. package/dist/types/base/middlewares/index.d.ts +4 -0
  117. package/dist/types/base/middlewares/monitor.d.ts +7 -0
  118. package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
  119. package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
  120. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
  121. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +17 -0
  122. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +18 -0
  123. package/dist/types/base/serverBase.d.ts +49 -0
  124. package/dist/types/base/utils/debug.d.ts +1 -0
  125. package/dist/types/base/utils/entry.d.ts +2 -0
  126. package/dist/types/base/utils/env.d.ts +2 -0
  127. package/dist/types/base/utils/error.d.ts +1 -0
  128. package/dist/types/base/utils/index.d.ts +10 -0
  129. package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
  130. package/dist/types/base/utils/path.d.ts +3 -0
  131. package/dist/types/base/utils/request.d.ts +12 -0
  132. package/dist/types/base/utils/serverConfig.d.ts +14 -0
  133. package/dist/types/base/utils/transformStream.d.ts +2 -0
  134. package/dist/types/base/utils/warmup.d.ts +1 -0
  135. package/dist/types/core/hono.d.ts +1 -0
  136. package/dist/types/core/index.d.ts +2 -0
  137. package/dist/types/{loadPlugins.d.ts → core/loadPlugins.d.ts} +1 -1
  138. package/dist/types/{plugin.d.ts → core/plugin.d.ts} +60 -35
  139. package/dist/types/core/render.d.ts +11 -0
  140. package/dist/types/core/server.d.ts +71 -0
  141. package/dist/types/index.d.ts +3 -2
  142. package/package.json +29 -6
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var install_exports = {};
20
+ __export(install_exports, {
21
+ installGlobals: () => installGlobals
22
+ });
23
+ module.exports = __toCommonJS(install_exports);
24
+ var import_fetch = require("@web-std/fetch");
25
+ var import_stream = require("@web-std/stream");
26
+ Object.defineProperty(import_fetch.Headers.prototype, "getSetCookie", {
27
+ value: function getSetCookie() {
28
+ const cookies = [];
29
+ this.forEach((value, name) => {
30
+ if (name.toLowerCase() === "set-cookie") {
31
+ cookies.push(value);
32
+ }
33
+ });
34
+ return cookies;
35
+ }
36
+ });
37
+ const installGlobals = () => {
38
+ if (!global.Headers) {
39
+ global.Headers = import_fetch.Headers;
40
+ }
41
+ if (!global.Request) {
42
+ global.Request = import_fetch.Request;
43
+ }
44
+ if (!global.Response) {
45
+ global.Response = import_fetch.Response;
46
+ }
47
+ if (!global.TransformStream) {
48
+ global.TransformStream = import_stream.TransformStream;
49
+ }
50
+ if (!global.ReadableStream) {
51
+ global.ReadableStream = import_stream.ReadableStream;
52
+ }
53
+ };
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ installGlobals
57
+ });
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var stream_exports = {};
20
+ __export(stream_exports, {
21
+ createReadableStreamFromReadable: () => createReadableStreamFromReadable,
22
+ readableStreamToString: () => readableStreamToString,
23
+ writeAsyncIterableToWritable: () => writeAsyncIterableToWritable,
24
+ writeReadableStreamToWritable: () => writeReadableStreamToWritable
25
+ });
26
+ module.exports = __toCommonJS(stream_exports);
27
+ var import_define_property = require("@swc/helpers/_/_define_property");
28
+ var import_node_stream = require("node:stream");
29
+ var import_stream = require("@web-std/stream");
30
+ async function writeReadableStreamToWritable(stream, writable) {
31
+ const reader = stream.getReader();
32
+ const flushable = writable;
33
+ try {
34
+ while (true) {
35
+ const { done, value } = await reader.read();
36
+ if (done) {
37
+ writable.end();
38
+ break;
39
+ }
40
+ writable.write(value);
41
+ if (typeof flushable.flush === "function") {
42
+ flushable.flush();
43
+ }
44
+ }
45
+ } catch (error) {
46
+ writable.destroy(error);
47
+ throw error;
48
+ }
49
+ }
50
+ async function writeAsyncIterableToWritable(iterable, writable) {
51
+ try {
52
+ for await (const chunk of iterable) {
53
+ writable.write(chunk);
54
+ }
55
+ writable.end();
56
+ } catch (error) {
57
+ writable.destroy(error);
58
+ throw error;
59
+ }
60
+ }
61
+ async function readableStreamToString(stream, encoding) {
62
+ const reader = stream.getReader();
63
+ const chunks = [];
64
+ while (true) {
65
+ const { done, value } = await reader.read();
66
+ if (done) {
67
+ break;
68
+ }
69
+ if (value) {
70
+ chunks.push(value);
71
+ }
72
+ }
73
+ return Buffer.concat(chunks).toString(encoding);
74
+ }
75
+ const createReadableStreamFromReadable = (source) => {
76
+ const pump = new StreamPump(source);
77
+ const stream = new import_stream.ReadableStream(pump, pump);
78
+ return stream;
79
+ };
80
+ class StreamPump {
81
+ size(chunk) {
82
+ return (chunk === null || chunk === void 0 ? void 0 : chunk.byteLength) || 0;
83
+ }
84
+ start(controller) {
85
+ this.controller = controller;
86
+ this.stream.on("data", this.enqueue);
87
+ this.stream.once("error", this.error);
88
+ this.stream.once("end", this.close);
89
+ this.stream.once("close", this.close);
90
+ }
91
+ pull() {
92
+ this.resume();
93
+ }
94
+ cancel(reason) {
95
+ if (this.stream.destroy) {
96
+ this.stream.destroy(reason);
97
+ }
98
+ this.stream.off("data", this.enqueue);
99
+ this.stream.off("error", this.error);
100
+ this.stream.off("end", this.close);
101
+ this.stream.off("close", this.close);
102
+ }
103
+ enqueue(chunk) {
104
+ if (this.controller) {
105
+ try {
106
+ const bytes = chunk instanceof Uint8Array ? chunk : Buffer.from(chunk);
107
+ const available = (this.controller.desiredSize || 0) - bytes.byteLength;
108
+ this.controller.enqueue(bytes);
109
+ if (available <= 0) {
110
+ this.pause();
111
+ }
112
+ } catch (error) {
113
+ 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"));
114
+ this.cancel();
115
+ }
116
+ }
117
+ }
118
+ pause() {
119
+ if (this.stream.pause) {
120
+ this.stream.pause();
121
+ }
122
+ }
123
+ resume() {
124
+ if (this.stream.readable && this.stream.resume) {
125
+ this.stream.resume();
126
+ }
127
+ }
128
+ close() {
129
+ if (this.controller) {
130
+ this.controller.close();
131
+ delete this.controller;
132
+ }
133
+ }
134
+ error(error) {
135
+ if (this.controller) {
136
+ this.controller.error(error);
137
+ delete this.controller;
138
+ }
139
+ }
140
+ constructor(stream) {
141
+ (0, import_define_property._)(this, "highWaterMark", void 0);
142
+ (0, import_define_property._)(this, "accumalatedSize", void 0);
143
+ (0, import_define_property._)(this, "stream", void 0);
144
+ (0, import_define_property._)(this, "controller", void 0);
145
+ this.highWaterMark = stream.readableHighWaterMark || new import_node_stream.Stream.Readable().readableHighWaterMark;
146
+ this.accumalatedSize = 0;
147
+ this.stream = stream;
148
+ this.enqueue = this.enqueue.bind(this);
149
+ this.error = this.error.bind(this);
150
+ this.close = this.close.bind(this);
151
+ }
152
+ }
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ createReadableStreamFromReadable,
156
+ readableStreamToString,
157
+ writeAsyncIterableToWritable,
158
+ writeReadableStreamToWritable
159
+ });
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var constants_exports = {};
20
+ __export(constants_exports, {
21
+ AGGRED_DIR: () => AGGRED_DIR,
22
+ REPLACE_REG: () => REPLACE_REG,
23
+ ServerReportTimings: () => ServerReportTimings
24
+ });
25
+ module.exports = __toCommonJS(constants_exports);
26
+ const AGGRED_DIR = {
27
+ mock: "config/mock",
28
+ server: "server",
29
+ api: "api",
30
+ shared: "shared",
31
+ lambda: "lambda"
32
+ };
33
+ const REPLACE_REG = {
34
+ before: {
35
+ head: "<head[^>]*>",
36
+ body: "<body[^>]*>"
37
+ },
38
+ after: {
39
+ head: "</head>",
40
+ body: "</body>"
41
+ }
42
+ };
43
+ var ServerReportTimings;
44
+ (function(ServerReportTimings2) {
45
+ ServerReportTimings2["SERVER_HANDLE_REQUEST"] = "server-handle-request";
46
+ ServerReportTimings2["SERVER_MIDDLEWARE"] = "server-middleware";
47
+ ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
48
+ ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
49
+ })(ServerReportTimings || (ServerReportTimings = {}));
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ AGGRED_DIR,
53
+ REPLACE_REG,
54
+ ServerReportTimings
55
+ });
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var base_exports = {};
20
+ __export(base_exports, {
21
+ AGGRED_DIR: () => import_constants.AGGRED_DIR,
22
+ bindBFFHandler: () => import_node.bindBFFHandler,
23
+ bindDataHandlers: () => import_middlewares.bindDataHandlers,
24
+ bindRenderHandler: () => import_middlewares.bindRenderHandler,
25
+ connectMid2HonoMid: () => import_node.connectMid2HonoMid,
26
+ createErrorHtml: () => import_utils.createErrorHtml,
27
+ createInjectHtml: () => import_node.createInjectHtml,
28
+ createNodeServer: () => import_node.createNodeServer,
29
+ createServerBase: () => createServerBase,
30
+ createStaticMiddleware: () => import_node.createStaticMiddleware,
31
+ favionFallbackMiddleware: () => import_middlewares.favionFallbackMiddleware,
32
+ getRenderHandler: () => import_middlewares.getRenderHandler,
33
+ httpCallBack2HonoMid: () => import_node.httpCallBack2HonoMid,
34
+ injectLogger: () => import_middlewares.injectLogger,
35
+ injectReporter: () => import_middlewares.injectReporter,
36
+ loadServerEnv: () => import_node.loadServerEnv,
37
+ registerMockHandlers: () => import_node.registerMockHandlers,
38
+ sendResponse: () => import_node.sendResponse
39
+ });
40
+ module.exports = __toCommonJS(base_exports);
41
+ var import_serverBase = require("./serverBase");
42
+ var import_utils = require("./utils");
43
+ var import_constants = require("./constants");
44
+ var import_node = require("./adapters/node");
45
+ var import_middlewares = require("./middlewares");
46
+ function createServerBase(options) {
47
+ if (options == null) {
48
+ throw new Error("can not start server without options");
49
+ }
50
+ const server = new import_serverBase.ServerBase(options);
51
+ return server;
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ AGGRED_DIR,
56
+ bindBFFHandler,
57
+ bindDataHandlers,
58
+ bindRenderHandler,
59
+ connectMid2HonoMid,
60
+ createErrorHtml,
61
+ createInjectHtml,
62
+ createNodeServer,
63
+ createServerBase,
64
+ createStaticMiddleware,
65
+ favionFallbackMiddleware,
66
+ getRenderHandler,
67
+ httpCallBack2HonoMid,
68
+ injectLogger,
69
+ injectReporter,
70
+ loadServerEnv,
71
+ registerMockHandlers,
72
+ sendResponse
73
+ });
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var base_exports = {};
20
+ __export(base_exports, {
21
+ createBaseHookContext: () => createBaseHookContext
22
+ });
23
+ module.exports = __toCommonJS(base_exports);
24
+ var import_define_property = require("@swc/helpers/_/_define_property");
25
+ var import_cookie = require("hono/cookie");
26
+ var import_utils = require("../../utils");
27
+ function createBaseHookContext(c, logger, metrics) {
28
+ return {
29
+ request: new BaseHookRequest(c),
30
+ response: new BaseHookResponse(c),
31
+ logger,
32
+ metrics
33
+ };
34
+ }
35
+ class BaseHookRequest {
36
+ get url() {
37
+ return this.req.url;
38
+ }
39
+ get host() {
40
+ return (0, import_utils.getHost)(this.req.raw);
41
+ }
42
+ get pathname() {
43
+ return this.req.path;
44
+ }
45
+ get query() {
46
+ return this.req.query();
47
+ }
48
+ get headers() {
49
+ return this.req.header();
50
+ }
51
+ get cookies() {
52
+ return {
53
+ // FIXME: ModernRequest Type Error
54
+ get: (key) => {
55
+ return (0, import_cookie.getCookie)(this.c, key);
56
+ }
57
+ };
58
+ }
59
+ get cookie() {
60
+ return this.req.header("cookie");
61
+ }
62
+ constructor(c) {
63
+ (0, import_define_property._)(this, "req", void 0);
64
+ (0, import_define_property._)(this, "c", void 0);
65
+ this.c = c;
66
+ this.req = c.req;
67
+ }
68
+ }
69
+ class BaseHookResponse {
70
+ get(key) {
71
+ return this.c.res.headers.get(key);
72
+ }
73
+ set(key, value) {
74
+ if ([
75
+ "set-cookie",
76
+ "Set-Cookie"
77
+ ].includes(key)) {
78
+ this.c.header(key, value.toString(), {
79
+ append: true
80
+ });
81
+ } else {
82
+ this.c.header(key, value.toString());
83
+ }
84
+ }
85
+ status(code) {
86
+ this.c.status(code);
87
+ }
88
+ get cookies() {
89
+ const setCookie = (key, value) => {
90
+ this.c.header("set-cookie", `${key}=${value}`, {
91
+ append: true
92
+ });
93
+ };
94
+ const clearCookie = () => {
95
+ this.c.header("set-cookie", void 0);
96
+ };
97
+ return {
98
+ set: setCookie,
99
+ clear: clearCookie
100
+ };
101
+ }
102
+ raw(body, options) {
103
+ this.c.res = this.c.newResponse(body, options);
104
+ this.private_overrided = true;
105
+ }
106
+ constructor(c) {
107
+ (0, import_define_property._)(this, "private_overrided", false);
108
+ (0, import_define_property._)(this, "c", void 0);
109
+ this.c = c;
110
+ }
111
+ }
112
+ // Annotate the CommonJS export names for ESM import in node:
113
+ 0 && (module.exports = {
114
+ createBaseHookContext
115
+ });
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var context_exports = {};
20
+ __export(context_exports, {
21
+ createAfterMatchCtx: () => createAfterMatchCtx,
22
+ createAfterRenderCtx: () => createAfterRenderCtx,
23
+ createAfterStreamingRenderContext: () => createAfterStreamingRenderContext,
24
+ createCustomMiddlewaresCtx: () => createCustomMiddlewaresCtx
25
+ });
26
+ module.exports = __toCommonJS(context_exports);
27
+ var import_routerApi = require("./routerApi");
28
+ var import_template = require("./template");
29
+ var import_base = require("./base");
30
+ function createAfterMatchCtx(c, entryName, logger, metrics) {
31
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
32
+ return {
33
+ ...baseContext,
34
+ router: new import_routerApi.RouterAPI(entryName)
35
+ };
36
+ }
37
+ async function createAfterRenderCtx(c, logger, metrics) {
38
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
39
+ const resBody = await c.res.text();
40
+ return {
41
+ ...baseContext,
42
+ template: new import_template.TemplateApi(resBody)
43
+ };
44
+ }
45
+ function createCustomMiddlewaresCtx(c, logger, metrics) {
46
+ var _c_env_node, _c_env_node1;
47
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
48
+ const reporter = c.get("reporter");
49
+ return {
50
+ ...baseContext,
51
+ reporter,
52
+ response: {
53
+ ...baseContext.response,
54
+ locals: {}
55
+ },
56
+ source: {
57
+ req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
58
+ res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
59
+ }
60
+ };
61
+ }
62
+ function createAfterStreamingRenderContext(c, logger, route, metrics) {
63
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
64
+ return (chunk) => {
65
+ return {
66
+ ...baseContext,
67
+ route,
68
+ chunk
69
+ };
70
+ };
71
+ }
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ createAfterMatchCtx,
75
+ createAfterRenderCtx,
76
+ createAfterStreamingRenderContext,
77
+ createCustomMiddlewaresCtx
78
+ });
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var customServer_exports = {};
20
+ __export(customServer_exports, {
21
+ CustomServer: () => CustomServer
22
+ });
23
+ module.exports = __toCommonJS(customServer_exports);
24
+ var import_define_property = require("@swc/helpers/_/_define_property");
25
+ var import_time = require("@modern-js/runtime-utils/time");
26
+ var import_utils = require("../../utils");
27
+ var import_constants = require("../../constants");
28
+ var import_context = require("./context");
29
+ const noop = () => {
30
+ };
31
+ class CustomServer {
32
+ getHookMiddleware(entryName, routes) {
33
+ return async (c, next) => {
34
+ const routeInfo = routes.find((route) => route.entryName === entryName);
35
+ const logger = c.get("logger");
36
+ const reporter = c.get("reporter");
37
+ const metrics = c.get("metrics");
38
+ const afterMatchCtx = (0, import_context.createAfterMatchCtx)(c, entryName, logger, metrics);
39
+ const getCost = (0, import_time.time)();
40
+ await this.runner.afterMatch(afterMatchCtx, {
41
+ onLast: noop
42
+ });
43
+ const cost = getCost();
44
+ cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost);
45
+ const {
46
+ // current,
47
+ url,
48
+ status
49
+ } = afterMatchCtx.router;
50
+ if (url) {
51
+ return c.redirect(url, status);
52
+ }
53
+ const { current } = afterMatchCtx.router;
54
+ if (current !== entryName) {
55
+ const rewriteRoute = routes.find((route) => route.entryName === current);
56
+ if (rewriteRoute) {
57
+ return this.serverBase.request(rewriteRoute.urlPath);
58
+ }
59
+ }
60
+ if (c.finalized) {
61
+ return void 0;
62
+ }
63
+ await next();
64
+ if (c.finalized && !c.res.body) {
65
+ return void 0;
66
+ }
67
+ if (routeInfo.isStream) {
68
+ var _c_res_body;
69
+ const afterStreamingRenderContext = (0, import_context.createAfterStreamingRenderContext)(c, logger, routeInfo, metrics);
70
+ const injectStream = (0, import_utils.createTransformStream)((chunk) => {
71
+ const context = afterStreamingRenderContext(chunk);
72
+ return this.runner.afterStreamingRender(context, {
73
+ onLast: ({ chunk: chunk2 }) => chunk2
74
+ });
75
+ });
76
+ (_c_res_body = c.res.body) === null || _c_res_body === void 0 ? void 0 : _c_res_body.pipeThrough(injectStream);
77
+ const { headers, status: status2, statusText } = c.res;
78
+ c.res = c.body(injectStream.readable, {
79
+ headers,
80
+ status: status2,
81
+ statusText
82
+ });
83
+ } else {
84
+ const afterRenderCtx = await (0, import_context.createAfterRenderCtx)(c, logger, metrics);
85
+ const getCost2 = (0, import_time.time)();
86
+ await this.runner.afterRender(afterRenderCtx, {
87
+ onLast: noop
88
+ });
89
+ const cost2 = getCost2();
90
+ cost2 && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost2);
91
+ if (afterRenderCtx.response.private_overrided) {
92
+ return void 0;
93
+ }
94
+ const newBody = afterRenderCtx.template.get();
95
+ c.res = c.body(newBody);
96
+ }
97
+ };
98
+ }
99
+ getServerMiddleware() {
100
+ return async (c, next) => {
101
+ const serverMiddleware = await this.serverMiddlewarePromise;
102
+ if (!serverMiddleware) {
103
+ return next();
104
+ }
105
+ const reporter = c.get("reporter");
106
+ const logger = c.get("logger");
107
+ const metrics = c.get("metrics");
108
+ const customMiddlewareCtx = (0, import_context.createCustomMiddlewaresCtx)(c, logger, metrics);
109
+ const getCost = (0, import_time.time)();
110
+ await serverMiddleware(customMiddlewareCtx);
111
+ const cost = getCost();
112
+ cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_MIDDLEWARE, cost);
113
+ if (!c.finalized) {
114
+ return next();
115
+ }
116
+ };
117
+ }
118
+ constructor(runner, serverBase, pwd) {
119
+ (0, import_define_property._)(this, "runner", void 0);
120
+ (0, import_define_property._)(this, "serverMiddlewarePromise", void 0);
121
+ (0, import_define_property._)(this, "serverBase", void 0);
122
+ this.runner = runner;
123
+ this.serverBase = serverBase;
124
+ const webExtension = [];
125
+ this.serverMiddlewarePromise = runner.prepareWebServer({
126
+ pwd,
127
+ config: {
128
+ middleware: webExtension
129
+ }
130
+ }, {
131
+ onLast: () => null
132
+ });
133
+ }
134
+ }
135
+ // Annotate the CommonJS export names for ESM import in node:
136
+ 0 && (module.exports = {
137
+ CustomServer
138
+ });