@modern-js/prod-server 2.42.2 → 2.44.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 (90) hide show
  1. package/dist/cjs/libs/{render/cache/page-caches/index.js → hook-api/afterRenderForStream.js} +12 -14
  2. package/dist/cjs/libs/hook-api/index.js +12 -0
  3. package/dist/cjs/libs/render/index.js +4 -14
  4. package/dist/cjs/libs/render/ssr.js +15 -4
  5. package/dist/cjs/libs/render/{cache/page-caches/lru.js → ssrCache/cacheMod.js} +21 -31
  6. package/dist/cjs/libs/render/ssrCache/index.js +81 -0
  7. package/dist/cjs/libs/render/ssrCache/manager.js +104 -0
  8. package/dist/cjs/libs/render/static.js +5 -5
  9. package/dist/cjs/server/index.js +2 -0
  10. package/dist/cjs/server/modernServer.js +2 -9
  11. package/dist/esm/libs/hook-api/afterRenderForStream.js +33 -0
  12. package/dist/esm/libs/hook-api/index.js +10 -0
  13. package/dist/esm/libs/render/index.js +4 -14
  14. package/dist/esm/libs/render/ssr.js +19 -5
  15. package/dist/esm/libs/render/ssrCache/cacheMod.js +33 -0
  16. package/dist/esm/libs/render/ssrCache/index.js +146 -0
  17. package/dist/esm/libs/render/ssrCache/manager.js +159 -0
  18. package/dist/esm/libs/render/static.js +5 -5
  19. package/dist/esm/server/index.js +14 -4
  20. package/dist/esm/server/modernServer.js +32 -42
  21. package/dist/esm-node/libs/hook-api/afterRenderForStream.js +10 -0
  22. package/dist/esm-node/libs/hook-api/index.js +11 -0
  23. package/dist/esm-node/libs/render/index.js +4 -14
  24. package/dist/esm-node/libs/render/ssr.js +15 -4
  25. package/dist/esm-node/libs/render/ssrCache/cacheMod.js +22 -0
  26. package/dist/esm-node/libs/render/ssrCache/index.js +57 -0
  27. package/dist/esm-node/libs/render/ssrCache/manager.js +80 -0
  28. package/dist/esm-node/libs/render/static.js +5 -5
  29. package/dist/esm-node/server/index.js +2 -0
  30. package/dist/esm-node/server/modernServer.js +2 -9
  31. package/dist/types/libs/context/index.d.ts +2 -0
  32. package/dist/types/libs/hook-api/afterRenderForStream.d.ts +4 -0
  33. package/dist/types/libs/hook-api/index.d.ts +2 -1
  34. package/dist/types/libs/preload/flushServerHeader.d.ts +2 -0
  35. package/dist/types/libs/proxy.d.ts +2 -0
  36. package/dist/types/libs/render/ssr.d.ts +5 -5
  37. package/dist/types/libs/render/ssrCache/cacheMod.d.ts +8 -0
  38. package/dist/types/libs/render/ssrCache/index.d.ts +7 -0
  39. package/dist/types/libs/render/ssrCache/manager.d.ts +14 -0
  40. package/dist/types/renderHtml.d.ts +2 -0
  41. package/dist/types/server/index.d.ts +2 -0
  42. package/dist/types/server/modernServer.d.ts +2 -3
  43. package/dist/types/type.d.ts +2 -0
  44. package/package.json +8 -11
  45. package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +0 -95
  46. package/dist/cjs/libs/render/cache/__tests__/cache.test.js +0 -223
  47. package/dist/cjs/libs/render/cache/__tests__/cacheable.js +0 -93
  48. package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +0 -71
  49. package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +0 -173
  50. package/dist/cjs/libs/render/cache/index.js +0 -92
  51. package/dist/cjs/libs/render/cache/spr.js +0 -247
  52. package/dist/cjs/libs/render/cache/type.js +0 -16
  53. package/dist/cjs/libs/render/cache/util.js +0 -121
  54. package/dist/cjs/libs/render/reader.js +0 -131
  55. package/dist/esm/libs/render/cache/__tests__/cache.fun.test.js +0 -124
  56. package/dist/esm/libs/render/cache/__tests__/cache.test.js +0 -612
  57. package/dist/esm/libs/render/cache/__tests__/cacheable.js +0 -69
  58. package/dist/esm/libs/render/cache/__tests__/error-configuration.js +0 -47
  59. package/dist/esm/libs/render/cache/__tests__/matched-cache.js +0 -149
  60. package/dist/esm/libs/render/cache/index.js +0 -204
  61. package/dist/esm/libs/render/cache/page-caches/index.js +0 -34
  62. package/dist/esm/libs/render/cache/page-caches/lru.js +0 -57
  63. package/dist/esm/libs/render/cache/spr.js +0 -345
  64. package/dist/esm/libs/render/cache/type.js +0 -0
  65. package/dist/esm/libs/render/cache/util.js +0 -105
  66. package/dist/esm/libs/render/reader.js +0 -196
  67. package/dist/esm-node/libs/render/cache/__tests__/cache.fun.test.js +0 -72
  68. package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +0 -222
  69. package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +0 -69
  70. package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +0 -47
  71. package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +0 -149
  72. package/dist/esm-node/libs/render/cache/index.js +0 -72
  73. package/dist/esm-node/libs/render/cache/page-caches/index.js +0 -12
  74. package/dist/esm-node/libs/render/cache/page-caches/lru.js +0 -32
  75. package/dist/esm-node/libs/render/cache/spr.js +0 -212
  76. package/dist/esm-node/libs/render/cache/type.js +0 -0
  77. package/dist/esm-node/libs/render/cache/util.js +0 -80
  78. package/dist/esm-node/libs/render/reader.js +0 -93
  79. package/dist/types/libs/render/cache/__tests__/cache.fun.test.d.ts +0 -1
  80. package/dist/types/libs/render/cache/__tests__/cache.test.d.ts +0 -1
  81. package/dist/types/libs/render/cache/__tests__/cacheable.d.ts +0 -62
  82. package/dist/types/libs/render/cache/__tests__/error-configuration.d.ts +0 -28
  83. package/dist/types/libs/render/cache/__tests__/matched-cache.d.ts +0 -124
  84. package/dist/types/libs/render/cache/index.d.ts +0 -6
  85. package/dist/types/libs/render/cache/page-caches/index.d.ts +0 -2
  86. package/dist/types/libs/render/cache/page-caches/lru.d.ts +0 -15
  87. package/dist/types/libs/render/cache/spr.d.ts +0 -22
  88. package/dist/types/libs/render/cache/type.d.ts +0 -48
  89. package/dist/types/libs/render/cache/util.d.ts +0 -18
  90. package/dist/types/libs/render/reader.d.ts +0 -20
@@ -1,149 +0,0 @@
1
- var matchedCacheableAry = [
2
- [
3
- {
4
- requestOpt: {
5
- url: "/level-one",
6
- headers: {},
7
- query: {
8
- name: "byted"
9
- }
10
- },
11
- cacheConfig: {
12
- level: 1,
13
- includes: {
14
- query: [
15
- "name"
16
- ]
17
- },
18
- matches: {
19
- query: {
20
- name: {
21
- weixin: "^byted"
22
- }
23
- }
24
- }
25
- },
26
- content: "level1"
27
- },
28
- {
29
- url: "/level-one",
30
- headers: {},
31
- query: {
32
- name: "byted_likely"
33
- }
34
- },
35
- {
36
- url: "/level-one",
37
- headers: {},
38
- query: {
39
- name: "not_byted"
40
- }
41
- }
42
- ],
43
- [
44
- {
45
- requestOpt: {
46
- url: "/level-two",
47
- query: {},
48
- headers: {
49
- age: "17"
50
- }
51
- },
52
- cacheConfig: {
53
- level: 2,
54
- includes: {
55
- header: [
56
- "age"
57
- ]
58
- },
59
- matches: {
60
- header: {
61
- age: {
62
- one: "^1"
63
- }
64
- }
65
- }
66
- },
67
- content: "level2"
68
- },
69
- {
70
- url: "/level-two",
71
- query: {},
72
- headers: {
73
- age: "11"
74
- }
75
- },
76
- {
77
- url: "/level-two",
78
- query: {},
79
- headers: {
80
- age: "22"
81
- }
82
- }
83
- ],
84
- [
85
- {
86
- requestOpt: {
87
- url: "/level-three",
88
- headers: {
89
- age: "17"
90
- },
91
- query: {
92
- name: "byted"
93
- }
94
- },
95
- cacheConfig: {
96
- level: 3,
97
- includes: {
98
- query: [
99
- "name"
100
- ],
101
- header: [
102
- "age"
103
- ]
104
- },
105
- matches: {
106
- query: {
107
- name: {
108
- weixin: "^byted"
109
- }
110
- },
111
- header: {
112
- age: {
113
- one: "^1"
114
- }
115
- }
116
- }
117
- },
118
- content: "level3"
119
- },
120
- {
121
- url: "/level-three",
122
- query: {
123
- name: "byted_likely"
124
- },
125
- headers: {
126
- age: "19"
127
- }
128
- },
129
- {
130
- url: "/level-three",
131
- query: {
132
- name: "byted_likely"
133
- },
134
- headers: {}
135
- },
136
- {
137
- url: "/level-three",
138
- query: {
139
- name: "not_byted"
140
- },
141
- headers: {
142
- age: "19"
143
- }
144
- }
145
- ]
146
- ];
147
- export {
148
- matchedCacheableAry
149
- };
@@ -1,204 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
- import { Transform } from "stream";
5
- import { ERROR_DIGEST } from "../../../constants";
6
- import { createCache } from "./spr";
7
- import { namespaceHash, withCoalescedInvoke } from "./util";
8
- function cache_default(renderFn, ctx) {
9
- var sprCache = createCache();
10
- var doRender = function() {
11
- var _ref = _async_to_generator(function(context) {
12
- var cacheContext, cacheFile, renderResult, cacheHash, renderResult1, render;
13
- function afterRender(source, onAfterRender) {
14
- return _afterRender.apply(this, arguments);
15
- }
16
- function _afterRender() {
17
- _afterRender = _async_to_generator(function(source, onAfterRender) {
18
- var htmlForStream, cacheStream;
19
- return _ts_generator(this, function(_state) {
20
- switch (_state.label) {
21
- case 0:
22
- if (!source) {
23
- return [
24
- 2,
25
- ""
26
- ];
27
- }
28
- if (!(typeof source === "string"))
29
- return [
30
- 3,
31
- 2
32
- ];
33
- return [
34
- 4,
35
- onAfterRender(source)
36
- ];
37
- case 1:
38
- _state.sent();
39
- return [
40
- 2,
41
- source
42
- ];
43
- case 2:
44
- htmlForStream = "";
45
- cacheStream = new Transform({
46
- write: function write(chunk, _, callback) {
47
- htmlForStream += chunk.toString();
48
- this.push(chunk);
49
- callback();
50
- }
51
- });
52
- cacheStream.on("close", function() {
53
- return onAfterRender(htmlForStream);
54
- });
55
- return [
56
- 2,
57
- source(cacheStream)
58
- ];
59
- case 3:
60
- return [
61
- 2
62
- ];
63
- }
64
- });
65
- });
66
- return _afterRender.apply(this, arguments);
67
- }
68
- function saveHtmlIntoCache(html) {
69
- return _saveHtmlIntoCache.apply(this, arguments);
70
- }
71
- function _saveHtmlIntoCache() {
72
- _saveHtmlIntoCache = _async_to_generator(function(html) {
73
- var cacheConfig;
74
- return _ts_generator(this, function(_state) {
75
- switch (_state.label) {
76
- case 0:
77
- cacheConfig = context.cacheConfig;
78
- if (!(html && cacheConfig))
79
- return [
80
- 3,
81
- 2
82
- ];
83
- return [
84
- 4,
85
- sprCache.set(cacheContext, html, cacheConfig)
86
- ];
87
- case 1:
88
- _state.sent();
89
- _state.label = 2;
90
- case 2:
91
- return [
92
- 2
93
- ];
94
- }
95
- });
96
- });
97
- return _saveHtmlIntoCache.apply(this, arguments);
98
- }
99
- return _ts_generator(this, function(_state) {
100
- switch (_state.label) {
101
- case 0:
102
- cacheContext = _object_spread({
103
- entry: context.entryName
104
- }, context.request);
105
- return [
106
- 4,
107
- sprCache.get(cacheContext)
108
- ];
109
- case 1:
110
- cacheFile = _state.sent();
111
- if (!!cacheFile)
112
- return [
113
- 3,
114
- 3
115
- ];
116
- return [
117
- 4,
118
- renderFn(context)
119
- ];
120
- case 2:
121
- renderResult = _state.sent();
122
- return [
123
- 2,
124
- afterRender(renderResult, saveHtmlIntoCache)
125
- ];
126
- case 3:
127
- cacheHash = cacheFile === null || cacheFile === void 0 ? void 0 : cacheFile.hash;
128
- if (!cacheFile.isGarbage)
129
- return [
130
- 3,
131
- 5
132
- ];
133
- return [
134
- 4,
135
- renderFn(context)
136
- ];
137
- case 4:
138
- renderResult1 = _state.sent();
139
- return [
140
- 2,
141
- afterRender(renderResult1, saveHtmlIntoCache)
142
- ];
143
- case 5:
144
- if (cacheFile.isStale) {
145
- render = withCoalescedInvoke(function() {
146
- return renderFn(context);
147
- }).bind(null, namespaceHash("render", cacheFile.hash), []);
148
- render().then(function() {
149
- var _ref2 = _async_to_generator(function(res) {
150
- var cacheConfig;
151
- return _ts_generator(this, function(_state2) {
152
- if (res.value && res.isOrigin) {
153
- cacheConfig = context.cacheConfig;
154
- if (cacheConfig) {
155
- afterRender(res.value, function() {
156
- var _ref3 = _async_to_generator(function(html) {
157
- return _ts_generator(this, function(_state3) {
158
- sprCache.set(cacheContext, html, cacheConfig);
159
- return [
160
- 2
161
- ];
162
- });
163
- });
164
- return function(html) {
165
- return _ref3.apply(this, arguments);
166
- };
167
- }());
168
- } else {
169
- sprCache.del(cacheContext, cacheHash);
170
- }
171
- }
172
- return [
173
- 2
174
- ];
175
- });
176
- });
177
- return function(res) {
178
- return _ref2.apply(this, arguments);
179
- };
180
- }()).catch(function(e) {
181
- sprCache.del(cacheContext, cacheHash);
182
- ctx.error(ERROR_DIGEST.ERENDER, e);
183
- });
184
- }
185
- _state.label = 6;
186
- case 6:
187
- ctx.res.setHeader("x-modern-spr", "1");
188
- return [
189
- 2,
190
- cacheFile.content
191
- ];
192
- }
193
- });
194
- });
195
- return function doRender2(context) {
196
- return _ref.apply(this, arguments);
197
- };
198
- }();
199
- return doRender;
200
- }
201
- ;
202
- export {
203
- cache_default as default
204
- };
@@ -1,34 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { LRUCaches } from "./lru";
4
- function createPageCaches(max) {
5
- return _createPageCaches.apply(this, arguments);
6
- }
7
- function _createPageCaches() {
8
- _createPageCaches = _async_to_generator(function(max) {
9
- var constructorOptions, cacheInstance;
10
- return _ts_generator(this, function(_state) {
11
- switch (_state.label) {
12
- case 0:
13
- constructorOptions = {
14
- max
15
- };
16
- cacheInstance = new LRUCaches(constructorOptions);
17
- return [
18
- 4,
19
- cacheInstance.init()
20
- ];
21
- case 1:
22
- _state.sent();
23
- return [
24
- 2,
25
- cacheInstance
26
- ];
27
- }
28
- });
29
- });
30
- return _createPageCaches.apply(this, arguments);
31
- }
32
- export {
33
- createPageCaches
34
- };
@@ -1,57 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
- import LRU from "lru-cache";
5
- var LRUCaches = /* @__PURE__ */ function() {
6
- "use strict";
7
- function LRUCaches2(options) {
8
- _class_call_check(this, LRUCaches2);
9
- _define_property(this, "caches", void 0);
10
- _define_property(this, "max", void 0);
11
- this.max = options.max;
12
- this.caches = new LRU(this.max);
13
- }
14
- _create_class(LRUCaches2, [
15
- {
16
- key: "init",
17
- value: function init() {
18
- return Promise.resolve();
19
- }
20
- },
21
- {
22
- key: "keys",
23
- value: function keys() {
24
- return this.caches.keys();
25
- }
26
- },
27
- {
28
- key: "get",
29
- value: function get(key) {
30
- return Promise.resolve(this.caches.get(key) || null);
31
- }
32
- },
33
- {
34
- key: "peek",
35
- value: function peek(key) {
36
- return this.caches.peek(key) || null;
37
- }
38
- },
39
- {
40
- key: "set",
41
- value: function set(key, cache) {
42
- this.caches.set(key, cache);
43
- return Promise.resolve();
44
- }
45
- },
46
- {
47
- key: "del",
48
- value: function del(key) {
49
- this.caches.del(key);
50
- }
51
- }
52
- ]);
53
- return LRUCaches2;
54
- }();
55
- export {
56
- LRUCaches
57
- };