@modern-js/server-core 2.48.3-alpha.0 → 2.48.4

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 (204) 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} +3 -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 +3 -1
  7. package/dist/types/index.d.ts +2 -3
  8. package/dist/types/loadPlugins.d.ts +5 -0
  9. package/dist/types/{core/plugin.d.ts → plugin.d.ts} +35 -32
  10. package/package.json +6 -41
  11. package/dist/cjs/base/adapters/node/bff.js +0 -69
  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 -126
  22. package/dist/cjs/base/adapters/node/polyfills/index.js +0 -24
  23. package/dist/cjs/base/adapters/node/polyfills/install.js +0 -70
  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 -45
  27. package/dist/cjs/base/middlewares/customServer/base.js +0 -111
  28. package/dist/cjs/base/middlewares/customServer/context.js +0 -78
  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/index.js +0 -26
  34. package/dist/cjs/base/middlewares/monitor.js +0 -90
  35. package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +0 -46
  36. package/dist/cjs/base/middlewares/renderHandler/index.js +0 -104
  37. package/dist/cjs/base/middlewares/renderHandler/render.js +0 -123
  38. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +0 -40
  39. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -197
  40. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +0 -168
  41. package/dist/cjs/base/serverBase.js +0 -203
  42. package/dist/cjs/base/utils/debug.js +0 -29
  43. package/dist/cjs/base/utils/entry.js +0 -30
  44. package/dist/cjs/base/utils/env.js +0 -45
  45. package/dist/cjs/base/utils/error.js +0 -65
  46. package/dist/cjs/base/utils/index.js +0 -45
  47. package/dist/cjs/base/utils/middlewareCollector.js +0 -54
  48. package/dist/cjs/base/utils/request.js +0 -65
  49. package/dist/cjs/base/utils/serverConfig.js +0 -70
  50. package/dist/cjs/base/utils/transformStream.js +0 -61
  51. package/dist/cjs/base/utils/warmup.js +0 -43
  52. package/dist/cjs/core/hono.js +0 -16
  53. package/dist/cjs/core/index.js +0 -22
  54. package/dist/cjs/core/render.js +0 -16
  55. package/dist/cjs/core/server.js +0 -16
  56. package/dist/esm/base/adapters/node/bff.js +0 -128
  57. package/dist/esm/base/adapters/node/hono.js +0 -83
  58. package/dist/esm/base/adapters/node/index.js +0 -19
  59. package/dist/esm/base/adapters/node/loadServer.js +0 -73
  60. package/dist/esm/base/adapters/node/middlewares/index.js +0 -4
  61. package/dist/esm/base/adapters/node/middlewares/mock.js +0 -198
  62. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +0 -132
  63. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +0 -85
  64. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +0 -109
  65. package/dist/esm/base/adapters/node/middlewares/templates.js +0 -114
  66. package/dist/esm/base/adapters/node/node.js +0 -194
  67. package/dist/esm/base/adapters/node/polyfills/index.js +0 -2
  68. package/dist/esm/base/adapters/node/polyfills/install.js +0 -46
  69. package/dist/esm/base/adapters/node/polyfills/stream.js +0 -316
  70. package/dist/esm/base/constants.js +0 -31
  71. package/dist/esm/base/index.js +0 -14
  72. package/dist/esm/base/middlewares/customServer/base.js +0 -126
  73. package/dist/esm/base/middlewares/customServer/context.js +0 -70
  74. package/dist/esm/base/middlewares/customServer/index.js +0 -208
  75. package/dist/esm/base/middlewares/customServer/routerApi.js +0 -26
  76. package/dist/esm/base/middlewares/customServer/template.js +0 -47
  77. package/dist/esm/base/middlewares/faviconFallback.js +0 -28
  78. package/dist/esm/base/middlewares/index.js +0 -3
  79. package/dist/esm/base/middlewares/monitor.js +0 -157
  80. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +0 -45
  81. package/dist/esm/base/middlewares/renderHandler/index.js +0 -163
  82. package/dist/esm/base/middlewares/renderHandler/render.js +0 -213
  83. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +0 -21
  84. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -306
  85. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +0 -226
  86. package/dist/esm/base/serverBase.js +0 -383
  87. package/dist/esm/base/utils/debug.js +0 -5
  88. package/dist/esm/base/utils/entry.js +0 -6
  89. package/dist/esm/base/utils/env.js +0 -20
  90. package/dist/esm/base/utils/error.js +0 -12
  91. package/dist/esm/base/utils/index.js +0 -13
  92. package/dist/esm/base/utils/middlewareCollector.js +0 -31
  93. package/dist/esm/base/utils/request.js +0 -39
  94. package/dist/esm/base/utils/serverConfig.js +0 -58
  95. package/dist/esm/base/utils/transformStream.js +0 -90
  96. package/dist/esm/base/utils/warmup.js +0 -9
  97. package/dist/esm/core/hono.js +0 -0
  98. package/dist/esm/core/index.js +0 -1
  99. package/dist/esm/core/loadPlugins.js +0 -26
  100. package/dist/esm/core/plugin.js +0 -98
  101. package/dist/esm/core/render.js +0 -0
  102. package/dist/esm/core/server.js +0 -0
  103. package/dist/esm-node/base/adapters/node/bff.js +0 -45
  104. package/dist/esm-node/base/adapters/node/hono.js +0 -38
  105. package/dist/esm-node/base/adapters/node/index.js +0 -19
  106. package/dist/esm-node/base/adapters/node/loadServer.js +0 -22
  107. package/dist/esm-node/base/adapters/node/middlewares/index.js +0 -4
  108. package/dist/esm-node/base/adapters/node/middlewares/mock.js +0 -79
  109. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +0 -48
  110. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +0 -33
  111. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +0 -75
  112. package/dist/esm-node/base/adapters/node/middlewares/templates.js +0 -32
  113. package/dist/esm-node/base/adapters/node/node.js +0 -100
  114. package/dist/esm-node/base/adapters/node/polyfills/index.js +0 -2
  115. package/dist/esm-node/base/adapters/node/polyfills/install.js +0 -46
  116. package/dist/esm-node/base/adapters/node/polyfills/stream.js +0 -126
  117. package/dist/esm-node/base/constants.js +0 -31
  118. package/dist/esm-node/base/index.js +0 -14
  119. package/dist/esm-node/base/middlewares/customServer/base.js +0 -87
  120. package/dist/esm-node/base/middlewares/customServer/context.js +0 -51
  121. package/dist/esm-node/base/middlewares/customServer/index.js +0 -106
  122. package/dist/esm-node/base/middlewares/customServer/routerApi.js +0 -20
  123. package/dist/esm-node/base/middlewares/customServer/template.js +0 -34
  124. package/dist/esm-node/base/middlewares/faviconFallback.js +0 -10
  125. package/dist/esm-node/base/middlewares/index.js +0 -3
  126. package/dist/esm-node/base/middlewares/monitor.js +0 -63
  127. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +0 -22
  128. package/dist/esm-node/base/middlewares/renderHandler/index.js +0 -69
  129. package/dist/esm-node/base/middlewares/renderHandler/render.js +0 -99
  130. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +0 -16
  131. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +0 -162
  132. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +0 -134
  133. package/dist/esm-node/base/serverBase.js +0 -168
  134. package/dist/esm-node/base/utils/debug.js +0 -5
  135. package/dist/esm-node/base/utils/entry.js +0 -6
  136. package/dist/esm-node/base/utils/env.js +0 -20
  137. package/dist/esm-node/base/utils/error.js +0 -41
  138. package/dist/esm-node/base/utils/index.js +0 -13
  139. package/dist/esm-node/base/utils/middlewareCollector.js +0 -29
  140. package/dist/esm-node/base/utils/request.js +0 -38
  141. package/dist/esm-node/base/utils/serverConfig.js +0 -34
  142. package/dist/esm-node/base/utils/transformStream.js +0 -36
  143. package/dist/esm-node/base/utils/warmup.js +0 -9
  144. package/dist/esm-node/core/hono.js +0 -0
  145. package/dist/esm-node/core/index.js +0 -1
  146. package/dist/esm-node/core/render.js +0 -0
  147. package/dist/esm-node/core/server.js +0 -0
  148. package/dist/esm-node/index.js +0 -5
  149. package/dist/esm-node/types/config/bff.js +0 -0
  150. package/dist/esm-node/types/config/dev.js +0 -0
  151. package/dist/esm-node/types/config/html.js +0 -0
  152. package/dist/esm-node/types/config/index.js +0 -6
  153. package/dist/esm-node/types/config/output.js +0 -0
  154. package/dist/esm-node/types/config/security.js +0 -0
  155. package/dist/esm-node/types/config/server.js +0 -0
  156. package/dist/esm-node/types/config/share.js +0 -0
  157. package/dist/esm-node/types/config/source.js +0 -0
  158. package/dist/esm-node/types/config/tools.js +0 -0
  159. package/dist/types/base/adapters/node/bff.d.ts +0 -4
  160. package/dist/types/base/adapters/node/hono.d.ts +0 -22
  161. package/dist/types/base/adapters/node/index.d.ts +0 -6
  162. package/dist/types/base/adapters/node/loadServer.d.ts +0 -3
  163. package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -4
  164. package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
  165. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +0 -3
  166. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +0 -7
  167. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -11
  168. package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -4
  169. package/dist/types/base/adapters/node/node.d.ts +0 -12
  170. package/dist/types/base/adapters/node/polyfills/index.d.ts +0 -2
  171. package/dist/types/base/adapters/node/polyfills/install.d.ts +0 -1
  172. package/dist/types/base/adapters/node/polyfills/stream.d.ts +0 -18
  173. package/dist/types/base/constants.d.ts +0 -24
  174. package/dist/types/base/index.d.ts +0 -7
  175. package/dist/types/base/middlewares/customServer/base.d.ts +0 -3
  176. package/dist/types/base/middlewares/customServer/context.d.ts +0 -7
  177. package/dist/types/base/middlewares/customServer/index.d.ts +0 -13
  178. package/dist/types/base/middlewares/customServer/routerApi.d.ts +0 -9
  179. package/dist/types/base/middlewares/customServer/template.d.ts +0 -11
  180. package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
  181. package/dist/types/base/middlewares/index.d.ts +0 -3
  182. package/dist/types/base/middlewares/monitor.d.ts +0 -6
  183. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +0 -5
  184. package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
  185. package/dist/types/base/middlewares/renderHandler/render.d.ts +0 -12
  186. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +0 -7
  187. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -29
  188. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +0 -18
  189. package/dist/types/base/serverBase.d.ts +0 -52
  190. package/dist/types/base/utils/debug.d.ts +0 -1
  191. package/dist/types/base/utils/entry.d.ts +0 -2
  192. package/dist/types/base/utils/env.d.ts +0 -2
  193. package/dist/types/base/utils/error.d.ts +0 -1
  194. package/dist/types/base/utils/index.d.ts +0 -8
  195. package/dist/types/base/utils/middlewareCollector.d.ts +0 -12
  196. package/dist/types/base/utils/request.d.ts +0 -12
  197. package/dist/types/base/utils/serverConfig.d.ts +0 -14
  198. package/dist/types/base/utils/transformStream.d.ts +0 -5
  199. package/dist/types/base/utils/warmup.d.ts +0 -1
  200. package/dist/types/core/hono.d.ts +0 -1
  201. package/dist/types/core/index.d.ts +0 -1
  202. package/dist/types/core/loadPlugins.d.ts +0 -3
  203. package/dist/types/core/render.d.ts +0 -13
  204. package/dist/types/core/server.d.ts +0 -99
@@ -1,306 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
4
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { Readable } from "stream";
7
- import { SERVER_DIR, requireExistModule } from "@modern-js/utils";
8
- import { createMemoryStorage } from "@modern-js/runtime-utils/storer";
9
- import { createReadableStreamFromReadable } from "../../adapters/node/polyfills/stream";
10
- import { createTransformStream, getPathname } from "../../utils";
11
- var CacheManager = /* @__PURE__ */ function() {
12
- "use strict";
13
- function CacheManager2(container) {
14
- _class_call_check(this, CacheManager2);
15
- this.container = container;
16
- }
17
- var _proto = CacheManager2.prototype;
18
- _proto.getCacheResult = function getCacheResult(req, cacheControl, render, ssrContext) {
19
- var _this = this;
20
- return _async_to_generator(function() {
21
- var key, value, maxAge, staleWhileRevalidate, ttl, cache, interval;
22
- return _ts_generator(this, function(_state) {
23
- switch (_state.label) {
24
- case 0:
25
- key = _this.computedKey(req, cacheControl);
26
- return [
27
- 4,
28
- _this.container.get(key)
29
- ];
30
- case 1:
31
- value = _state.sent();
32
- maxAge = cacheControl.maxAge, staleWhileRevalidate = cacheControl.staleWhileRevalidate;
33
- ttl = maxAge + staleWhileRevalidate;
34
- if (value) {
35
- cache = JSON.parse(value);
36
- interval = Date.now() - cache.cursor;
37
- if (interval <= maxAge) {
38
- return [
39
- 2,
40
- {
41
- data: cache.val,
42
- status: "hit"
43
- }
44
- ];
45
- } else if (interval <= staleWhileRevalidate + maxAge) {
46
- _this.processCache(key, render, ssrContext, ttl);
47
- return [
48
- 2,
49
- {
50
- data: cache.val,
51
- status: "stale"
52
- }
53
- ];
54
- } else {
55
- return [
56
- 2,
57
- _this.processCache(key, render, ssrContext, ttl, "expired")
58
- ];
59
- }
60
- } else {
61
- return [
62
- 2,
63
- _this.processCache(key, render, ssrContext, ttl, "miss")
64
- ];
65
- }
66
- return [
67
- 2
68
- ];
69
- }
70
- });
71
- })();
72
- };
73
- _proto.processCache = function processCache(key, render, ssrContext, ttl, status) {
74
- var _this = this;
75
- return _async_to_generator(function() {
76
- var renderResult, current, cache, body, html, stream;
77
- return _ts_generator(this, function(_state) {
78
- switch (_state.label) {
79
- case 0:
80
- return [
81
- 4,
82
- render(ssrContext)
83
- ];
84
- case 1:
85
- renderResult = _state.sent();
86
- if (!!renderResult)
87
- return [
88
- 3,
89
- 2
90
- ];
91
- return [
92
- 2,
93
- {
94
- data: ""
95
- }
96
- ];
97
- case 2:
98
- if (!(typeof renderResult === "string"))
99
- return [
100
- 3,
101
- 4
102
- ];
103
- current = Date.now();
104
- cache = {
105
- val: renderResult,
106
- cursor: current
107
- };
108
- return [
109
- 4,
110
- _this.container.set(key, JSON.stringify(cache), {
111
- ttl
112
- })
113
- ];
114
- case 3:
115
- _state.sent();
116
- return [
117
- 2,
118
- {
119
- data: renderResult,
120
- status
121
- }
122
- ];
123
- case 4:
124
- body = // TODO: remove node:stream, move it to ssr entry.
125
- _instanceof(renderResult, Readable) ? createReadableStreamFromReadable(renderResult) : renderResult;
126
- html = "";
127
- stream = createTransformStream(function(chunk) {
128
- html += chunk;
129
- return chunk;
130
- });
131
- stream.readable.getReader().closed.then(function() {
132
- var current2 = Date.now();
133
- var cache2 = {
134
- val: html,
135
- cursor: current2
136
- };
137
- _this.container.set(key, JSON.stringify(cache2), {
138
- ttl
139
- });
140
- });
141
- body.pipeThrough(stream);
142
- return [
143
- 2,
144
- {
145
- data: stream.readable,
146
- status
147
- }
148
- ];
149
- case 5:
150
- return [
151
- 2
152
- ];
153
- }
154
- });
155
- })();
156
- };
157
- _proto.computedKey = function computedKey(req, cacheControl) {
158
- var pathname = getPathname(req);
159
- var customKey = cacheControl.customKey;
160
- var defaultKey = pathname.replace(/.+\/+$/, "");
161
- if (customKey) {
162
- if (typeof customKey === "string") {
163
- return customKey;
164
- } else {
165
- return customKey(defaultKey);
166
- }
167
- } else {
168
- return defaultKey;
169
- }
170
- };
171
- return CacheManager2;
172
- }();
173
- var CACHE_FILENAME = "cache";
174
- var ServerCache = /* @__PURE__ */ function() {
175
- "use strict";
176
- function ServerCache2() {
177
- _class_call_check(this, ServerCache2);
178
- }
179
- var _proto = ServerCache2.prototype;
180
- _proto.loadCacheMod = function loadCacheMod() {
181
- var pwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd();
182
- var _this = this;
183
- return _async_to_generator(function() {
184
- var path, serverCacheFilepath, mod, cacheStorage;
185
- return _ts_generator(this, function(_state) {
186
- switch (_state.label) {
187
- case 0:
188
- return [
189
- 4,
190
- import("path").catch(function() {
191
- return {};
192
- })
193
- ];
194
- case 1:
195
- path = _state.sent();
196
- serverCacheFilepath = path.resolve(pwd, SERVER_DIR, CACHE_FILENAME);
197
- mod = requireExistModule(serverCacheFilepath, {
198
- interop: false
199
- });
200
- _this.cacheOption = mod === null || mod === void 0 ? void 0 : mod.cacheOption;
201
- if (_this.cacheOption && !(mod === null || mod === void 0 ? void 0 : mod.customContainer)) {
202
- cacheStorage = createMemoryStorage("__ssr__cache");
203
- _this.customContainer = cacheStorage;
204
- } else {
205
- _this.customContainer = mod === null || mod === void 0 ? void 0 : mod.customContainer;
206
- }
207
- if (_this.customContainer) {
208
- _this.cacheManger = new CacheManager(_this.customContainer);
209
- }
210
- return [
211
- 2
212
- ];
213
- }
214
- });
215
- })();
216
- };
217
- _proto.matchCacheControl = function matchCacheControl(req) {
218
- var cacheOption = this.cacheOption;
219
- if (!cacheOption || !req) {
220
- return void 0;
221
- } else if (isCacheControl(cacheOption)) {
222
- return cacheOption;
223
- } else if (isCacheOptionProvider(cacheOption)) {
224
- return cacheOption(req);
225
- } else {
226
- var url = req.url;
227
- var options = Object.entries(cacheOption);
228
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
229
- try {
230
- for (var _iterator = options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
231
- var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], option = _step_value[1];
232
- if (key === "*" || new RegExp(key).test(url)) {
233
- if (typeof option === "function") {
234
- return option(req);
235
- } else {
236
- return option;
237
- }
238
- }
239
- }
240
- } catch (err) {
241
- _didIteratorError = true;
242
- _iteratorError = err;
243
- } finally {
244
- try {
245
- if (!_iteratorNormalCompletion && _iterator.return != null) {
246
- _iterator.return();
247
- }
248
- } finally {
249
- if (_didIteratorError) {
250
- throw _iteratorError;
251
- }
252
- }
253
- }
254
- return void 0;
255
- }
256
- function isCacheOptionProvider(option2) {
257
- return typeof option2 === "function";
258
- }
259
- function isCacheControl(option2) {
260
- return typeof option2 === "object" && option2 !== null && "maxAge" in option2;
261
- }
262
- };
263
- _proto.getCache = function getCache(req, cacheControl, render, ssrContext) {
264
- var _this = this;
265
- return _async_to_generator(function() {
266
- var renderResult;
267
- return _ts_generator(this, function(_state) {
268
- switch (_state.label) {
269
- case 0:
270
- if (!_this.cacheManger)
271
- return [
272
- 3,
273
- 1
274
- ];
275
- return [
276
- 2,
277
- _this.cacheManger.getCacheResult(req, cacheControl, render, ssrContext)
278
- ];
279
- case 1:
280
- return [
281
- 4,
282
- render(ssrContext)
283
- ];
284
- case 2:
285
- renderResult = _state.sent();
286
- return [
287
- 2,
288
- {
289
- data: renderResult
290
- }
291
- ];
292
- case 3:
293
- return [
294
- 2
295
- ];
296
- }
297
- });
298
- })();
299
- };
300
- return ServerCache2;
301
- }();
302
- var ssrCache = new ServerCache();
303
- export {
304
- CacheManager,
305
- ssrCache
306
- };
@@ -1,226 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
4
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
- import { SERVER_RENDER_FUNCTION_NAME, MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
6
- import * as isbot from "isbot";
7
- import { getRuntimeEnv, parseHeaders, parseQuery, getHost } from "../../utils";
8
- import { X_RENDER_CACHE } from "../../constants";
9
- import { ServerTiming } from "./serverTiming";
10
- var defaultReporter = {
11
- init: function init() {
12
- },
13
- reportError: function reportError() {
14
- },
15
- reportTiming: function reportTiming() {
16
- },
17
- reportInfo: function reportInfo() {
18
- },
19
- reportWarn: function reportWarn() {
20
- }
21
- };
22
- function ssrRender(request, _) {
23
- return _ssrRender.apply(this, arguments);
24
- }
25
- function _ssrRender() {
26
- _ssrRender = _async_to_generator(function(request, param) {
27
- var routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, _serverManifest_renderBundles, entryName, loadableStats, routeManifest, host, isSpider, responseProxy, query, headers, ssrContext, renderBundle, runtimeEnv, ssrResult, cacheStatus, render, cacheModuleName, ssrCache, incomingMessage, cacheControl, _ref, data, status, redirection, headers1, Readable, streamModule, createReadableStreamFromReadable, _tmp, data1;
28
- return _ts_generator(this, function(_state) {
29
- switch (_state.label) {
30
- case 0:
31
- routeInfo = param.routeInfo, html = param.html, staticGenerate = param.staticGenerate, nonce = param.nonce, metaName = param.metaName, reporter = param.reporter, logger = param.logger, nodeReq = param.nodeReq, serverManifest = param.serverManifest;
32
- entryName = routeInfo.entryName;
33
- loadableStats = serverManifest.loadableStats || {};
34
- routeManifest = serverManifest.routeManifest || {};
35
- host = getHost(request);
36
- isSpider = isbot.default(request.headers.get("user-agent"));
37
- responseProxy = new ResponseProxy();
38
- query = parseQuery(request);
39
- headers = parseHeaders(request);
40
- ssrContext = {
41
- request: {
42
- baseUrl: routeInfo.urlPath,
43
- params: {},
44
- // eslint-disable-next-line node/no-unsupported-features/node-builtins, node/prefer-global/url
45
- pathname: new URL(request.url).pathname,
46
- host,
47
- query,
48
- url: request.url,
49
- headers
50
- },
51
- response: {
52
- setHeader: function setHeader(key, value) {
53
- responseProxy.headers.set(key, value);
54
- },
55
- status: function status2(code) {
56
- responseProxy.status = code;
57
- }
58
- },
59
- redirection: {},
60
- template: html,
61
- loadableStats,
62
- routeManifest,
63
- entryName,
64
- staticGenerate,
65
- logger,
66
- serverTiming: new ServerTiming(responseProxy.headers, metaName),
67
- reporter: reporter || defaultReporter,
68
- /** @deprecated node req */
69
- req: nodeReq,
70
- /** @deprecated node res */
71
- res: void 0,
72
- isSpider,
73
- nonce
74
- };
75
- renderBundle = (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[entryName || MAIN_ENTRY_NAME];
76
- if (!renderBundle) {
77
- throw new Error("Can't found renderBundle ".concat(entryName || MAIN_ENTRY_NAME));
78
- }
79
- runtimeEnv = getRuntimeEnv();
80
- render = renderBundle[SERVER_RENDER_FUNCTION_NAME];
81
- if (!(runtimeEnv === "node"))
82
- return [
83
- 3,
84
- 7
85
- ];
86
- cacheModuleName = "./ssrCache";
87
- return [
88
- 4,
89
- import(cacheModuleName)
90
- ];
91
- case 1:
92
- ssrCache = _state.sent().ssrCache;
93
- incomingMessage = nodeReq ? nodeReq : new IncomingMessgeProxy(request);
94
- return [
95
- 4,
96
- ssrCache.matchCacheControl(incomingMessage)
97
- ];
98
- case 2:
99
- cacheControl = _state.sent();
100
- if (!cacheControl)
101
- return [
102
- 3,
103
- 4
104
- ];
105
- return [
106
- 4,
107
- ssrCache.getCache(request, cacheControl, render, ssrContext)
108
- ];
109
- case 3:
110
- _ref = _state.sent(), data = _ref.data, status = _ref.status;
111
- ssrResult = data;
112
- cacheStatus = status;
113
- return [
114
- 3,
115
- 6
116
- ];
117
- case 4:
118
- return [
119
- 4,
120
- render(ssrContext)
121
- ];
122
- case 5:
123
- ssrResult = _state.sent();
124
- _state.label = 6;
125
- case 6:
126
- return [
127
- 3,
128
- 9
129
- ];
130
- case 7:
131
- return [
132
- 4,
133
- render(ssrContext)
134
- ];
135
- case 8:
136
- ssrResult = _state.sent();
137
- _state.label = 9;
138
- case 9:
139
- redirection = ssrContext.redirection;
140
- if (cacheStatus) {
141
- responseProxy.headers.set(X_RENDER_CACHE, cacheStatus);
142
- }
143
- if (redirection.url) {
144
- headers1 = responseProxy.headers;
145
- headers1.set("Location", redirection.url);
146
- return [
147
- 2,
148
- new Response(null, {
149
- status: redirection.status || 302,
150
- headers: {
151
- Location: redirection.url
152
- }
153
- })
154
- ];
155
- }
156
- return [
157
- 4,
158
- import("stream").catch(function(_) {
159
- return {
160
- Readable: void 0
161
- };
162
- })
163
- ];
164
- case 10:
165
- Readable = _state.sent().Readable;
166
- streamModule = "../../adapters/node/polyfills/stream";
167
- if (!(runtimeEnv === "node"))
168
- return [
169
- 3,
170
- 12
171
- ];
172
- return [
173
- 4,
174
- import(streamModule).catch(function(_) {
175
- return {
176
- createReadableStreamFromReadable: void 0
177
- };
178
- })
179
- ];
180
- case 11:
181
- _tmp = _state.sent();
182
- return [
183
- 3,
184
- 13
185
- ];
186
- case 12:
187
- _tmp = {
188
- createReadableStreamFromReadable: void 0
189
- };
190
- _state.label = 13;
191
- case 13:
192
- createReadableStreamFromReadable = _tmp.createReadableStreamFromReadable;
193
- data1 = Readable && _instanceof(ssrResult, Readable) ? (createReadableStreamFromReadable === null || createReadableStreamFromReadable === void 0 ? void 0 : createReadableStreamFromReadable(ssrResult)) || "" : ssrResult;
194
- return [
195
- 2,
196
- new Response(data1, {
197
- status: responseProxy.status,
198
- headers: responseProxy.headers
199
- })
200
- ];
201
- }
202
- });
203
- });
204
- return _ssrRender.apply(this, arguments);
205
- }
206
- var ResponseProxy = function ResponseProxy2() {
207
- "use strict";
208
- _class_call_check(this, ResponseProxy2);
209
- this.headers = new Headers();
210
- this.status = 200;
211
- this.headers.set("content-type", "text/html; charset=UTF-8");
212
- };
213
- var IncomingMessgeProxy = function IncomingMessgeProxy2(req) {
214
- "use strict";
215
- var _this = this;
216
- _class_call_check(this, IncomingMessgeProxy2);
217
- this.headers = {};
218
- req.headers.forEach(function(value, key) {
219
- _this.headers[key] = value;
220
- });
221
- this.method = req.method;
222
- this.url = new URL(req.url).pathname;
223
- };
224
- export {
225
- ssrRender
226
- };