@modern-js/prod-server 2.0.0-beta.3 → 2.0.0-beta.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 (130) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/js/modern/constants.js +32 -25
  3. package/dist/js/modern/index.js +11 -6
  4. package/dist/js/modern/libs/context/context.js +52 -84
  5. package/dist/js/modern/libs/context/index.js +5 -2
  6. package/dist/js/modern/libs/hook-api/index.js +42 -35
  7. package/dist/js/modern/libs/hook-api/route.js +6 -7
  8. package/dist/js/modern/libs/hook-api/template.js +20 -34
  9. package/dist/js/modern/libs/loadConfig.js +45 -24
  10. package/dist/js/modern/libs/metrics.js +3 -4
  11. package/dist/js/modern/libs/proxy.js +68 -37
  12. package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +112 -67
  13. package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +246 -216
  14. package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +43 -49
  15. package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +36 -34
  16. package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +83 -113
  17. package/dist/js/modern/libs/render/cache/index.js +88 -54
  18. package/dist/js/modern/libs/render/cache/page-caches/index.js +31 -8
  19. package/dist/js/modern/libs/render/cache/page-caches/lru.js +6 -6
  20. package/dist/js/modern/libs/render/cache/spr.js +133 -117
  21. package/dist/js/modern/libs/render/cache/type.js +0 -1
  22. package/dist/js/modern/libs/render/cache/util.js +71 -39
  23. package/dist/js/modern/libs/render/index.js +76 -56
  24. package/dist/js/modern/libs/render/measure.js +38 -27
  25. package/dist/js/modern/libs/render/reader.js +65 -62
  26. package/dist/js/modern/libs/render/ssr.js +50 -32
  27. package/dist/js/modern/libs/render/static.js +50 -33
  28. package/dist/js/modern/libs/render/type.js +9 -6
  29. package/dist/js/modern/libs/route/index.js +8 -15
  30. package/dist/js/modern/libs/route/matcher.js +20 -34
  31. package/dist/js/modern/libs/route/route.js +9 -18
  32. package/dist/js/modern/libs/serve-file.js +33 -20
  33. package/dist/js/modern/server/index.js +144 -145
  34. package/dist/js/modern/server/modern-server-split.js +46 -12
  35. package/dist/js/modern/server/modern-server.js +377 -417
  36. package/dist/js/modern/type.js +0 -1
  37. package/dist/js/modern/utils.js +62 -43
  38. package/dist/js/modern/worker-server.js +34 -14
  39. package/dist/js/node/constants.js +45 -30
  40. package/dist/js/node/index.js +31 -57
  41. package/dist/js/node/libs/context/context.js +79 -94
  42. package/dist/js/node/libs/context/index.js +23 -13
  43. package/dist/js/node/libs/hook-api/index.js +69 -48
  44. package/dist/js/node/libs/hook-api/route.js +22 -11
  45. package/dist/js/node/libs/hook-api/template.js +36 -39
  46. package/dist/js/node/libs/loadConfig.js +69 -35
  47. package/dist/js/node/libs/metrics.js +21 -9
  48. package/dist/js/node/libs/proxy.js +86 -44
  49. package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +132 -70
  50. package/dist/js/node/libs/render/cache/__tests__/cache.test.js +268 -218
  51. package/dist/js/node/libs/render/cache/__tests__/cacheable.js +61 -55
  52. package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +54 -40
  53. package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +101 -119
  54. package/dist/js/node/libs/render/cache/index.js +110 -64
  55. package/dist/js/node/libs/render/cache/page-caches/index.js +50 -14
  56. package/dist/js/node/libs/render/cache/page-caches/lru.js +29 -12
  57. package/dist/js/node/libs/render/cache/spr.js +156 -129
  58. package/dist/js/node/libs/render/cache/type.js +0 -5
  59. package/dist/js/node/libs/render/cache/util.js +88 -45
  60. package/dist/js/node/libs/render/index.js +102 -67
  61. package/dist/js/node/libs/render/measure.js +55 -31
  62. package/dist/js/node/libs/render/reader.js +87 -70
  63. package/dist/js/node/libs/render/ssr.js +76 -47
  64. package/dist/js/node/libs/render/static.js +75 -40
  65. package/dist/js/node/libs/render/type.js +27 -12
  66. package/dist/js/node/libs/route/index.js +26 -26
  67. package/dist/js/node/libs/route/matcher.js +36 -41
  68. package/dist/js/node/libs/route/route.js +25 -22
  69. package/dist/js/node/libs/serve-file.js +61 -32
  70. package/dist/js/node/server/index.js +160 -160
  71. package/dist/js/node/server/modern-server-split.js +68 -22
  72. package/dist/js/node/server/modern-server.js +395 -441
  73. package/dist/js/node/type.js +0 -3
  74. package/dist/js/node/utils.js +74 -52
  75. package/dist/js/node/worker-server.js +53 -21
  76. package/dist/js/treeshaking/constants.js +26 -25
  77. package/dist/js/treeshaking/index.js +10 -10
  78. package/dist/js/treeshaking/libs/context/context.js +268 -237
  79. package/dist/js/treeshaking/libs/context/index.js +3 -3
  80. package/dist/js/treeshaking/libs/hook-api/index.js +265 -143
  81. package/dist/js/treeshaking/libs/hook-api/route.js +65 -30
  82. package/dist/js/treeshaking/libs/hook-api/template.js +121 -85
  83. package/dist/js/treeshaking/libs/loadConfig.js +80 -37
  84. package/dist/js/treeshaking/libs/metrics.js +4 -10
  85. package/dist/js/treeshaking/libs/proxy.js +240 -76
  86. package/dist/js/treeshaking/libs/render/cache/__tests__/cache.fun.test.js +288 -121
  87. package/dist/js/treeshaking/libs/render/cache/__tests__/cache.test.js +772 -455
  88. package/dist/js/treeshaking/libs/render/cache/__tests__/cacheable.js +65 -51
  89. package/dist/js/treeshaking/libs/render/cache/__tests__/error-configuration.js +45 -35
  90. package/dist/js/treeshaking/libs/render/cache/__tests__/matched-cache.js +144 -118
  91. package/dist/js/treeshaking/libs/render/cache/index.js +337 -175
  92. package/dist/js/treeshaking/libs/render/cache/page-caches/index.js +151 -27
  93. package/dist/js/treeshaking/libs/render/cache/page-caches/lru.js +80 -42
  94. package/dist/js/treeshaking/libs/render/cache/spr.js +470 -340
  95. package/dist/js/treeshaking/libs/render/cache/type.js +1 -1
  96. package/dist/js/treeshaking/libs/render/cache/util.js +271 -92
  97. package/dist/js/treeshaking/libs/render/index.js +228 -95
  98. package/dist/js/treeshaking/libs/render/measure.js +142 -57
  99. package/dist/js/treeshaking/libs/render/reader.js +325 -177
  100. package/dist/js/treeshaking/libs/render/ssr.js +220 -95
  101. package/dist/js/treeshaking/libs/render/static.js +210 -78
  102. package/dist/js/treeshaking/libs/render/type.js +7 -6
  103. package/dist/js/treeshaking/libs/route/index.js +125 -89
  104. package/dist/js/treeshaking/libs/route/matcher.js +132 -107
  105. package/dist/js/treeshaking/libs/route/route.js +40 -26
  106. package/dist/js/treeshaking/libs/serve-file.js +177 -68
  107. package/dist/js/treeshaking/server/index.js +468 -327
  108. package/dist/js/treeshaking/server/modern-server-split.js +352 -144
  109. package/dist/js/treeshaking/server/modern-server.js +1046 -909
  110. package/dist/js/treeshaking/type.js +1 -1
  111. package/dist/js/treeshaking/utils.js +138 -81
  112. package/dist/js/treeshaking/worker-server.js +176 -55
  113. package/dist/types/index.d.ts +2 -0
  114. package/dist/types/libs/context/context.d.ts +4 -1
  115. package/dist/types/libs/loadConfig.d.ts +1 -0
  116. package/dist/types/libs/render/cache/index.d.ts +2 -0
  117. package/dist/types/libs/render/cache/spr.d.ts +2 -0
  118. package/dist/types/libs/route/route.d.ts +0 -1
  119. package/dist/types/server/index.d.ts +3 -0
  120. package/dist/types/utils.d.ts +1 -1
  121. package/dist/types/worker-server.d.ts +1 -2
  122. package/package.json +7 -14
  123. package/dist/js/modern/libs/render/modern/browser-list.js +0 -7
  124. package/dist/js/modern/libs/render/modern/index.js +0 -37
  125. package/dist/js/node/libs/render/modern/browser-list.js +0 -14
  126. package/dist/js/node/libs/render/modern/index.js +0 -46
  127. package/dist/js/treeshaking/libs/render/modern/browser-list.js +0 -7
  128. package/dist/js/treeshaking/libs/render/modern/index.js +0 -39
  129. package/dist/types/libs/render/modern/browser-list.d.ts +0 -1
  130. package/dist/types/libs/render/modern/index.d.ts +0 -3
@@ -1 +1 @@
1
- export {};
1
+ "use strict";
@@ -1,101 +1,280 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
- import url from 'url';
6
- export function namespaceHash(namespace, hash) {
7
- return "".concat(namespace, "/").concat(hash);
8
- }
9
- export function fname(lv) {
10
- return "f".concat(lv);
11
- }
12
- export function connectFactor() {
13
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
14
- args[_key] = arguments[_key];
15
- }
16
- return args.join('-');
17
- }
18
- export function valueFactory(obj) {
19
- if (obj instanceof url.URLSearchParams) {
20
- return function (key) {
21
- return obj.get(key);
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithHoles(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _arrayWithoutHoles(arr) {
10
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
11
+ }
12
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
13
+ try {
14
+ var info = gen[key](arg);
15
+ var value = info.value;
16
+ } catch (error) {
17
+ reject(error);
18
+ return;
19
+ }
20
+ if (info.done) {
21
+ resolve(value);
22
+ } else {
23
+ Promise.resolve(value).then(_next, _throw);
24
+ }
25
+ }
26
+ function _asyncToGenerator(fn) {
27
+ return function() {
28
+ var self = this, args = arguments;
29
+ return new Promise(function(resolve, reject) {
30
+ var gen = fn.apply(self, args);
31
+ function _next(value) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
33
+ }
34
+ function _throw(err) {
35
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
36
+ }
37
+ _next(undefined);
38
+ });
22
39
  };
23
- } else {
24
- return function (key) {
25
- var value = obj[key];
26
- if (Array.isArray(value)) {
27
- return value.join(',');
28
- }
29
- return value;
40
+ }
41
+ function _instanceof(left, right) {
42
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
43
+ return !!right[Symbol.hasInstance](left);
44
+ } else {
45
+ return left instanceof right;
46
+ }
47
+ }
48
+ function _iterableToArray(iter) {
49
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
50
+ }
51
+ function _iterableToArrayLimit(arr, i) {
52
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
53
+ if (_i == null) return;
54
+ var _arr = [];
55
+ var _n = true;
56
+ var _d = false;
57
+ var _s, _e;
58
+ try {
59
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
60
+ _arr.push(_s.value);
61
+ if (i && _arr.length === i) break;
62
+ }
63
+ } catch (err) {
64
+ _d = true;
65
+ _e = err;
66
+ } finally{
67
+ try {
68
+ if (!_n && _i["return"] != null) _i["return"]();
69
+ } finally{
70
+ if (_d) throw _e;
71
+ }
72
+ }
73
+ return _arr;
74
+ }
75
+ function _nonIterableRest() {
76
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
77
+ }
78
+ function _nonIterableSpread() {
79
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
80
+ }
81
+ function _slicedToArray(arr, i) {
82
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
83
+ }
84
+ function _toConsumableArray(arr) {
85
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
86
+ }
87
+ function _unsupportedIterableToArray(o, minLen) {
88
+ if (!o) return;
89
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
90
+ var n = Object.prototype.toString.call(o).slice(8, -1);
91
+ if (n === "Object" && o.constructor) n = o.constructor.name;
92
+ if (n === "Map" || n === "Set") return Array.from(n);
93
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
94
+ }
95
+ var __generator = this && this.__generator || function(thisArg, body) {
96
+ var f, y, t, g, _ = {
97
+ label: 0,
98
+ sent: function() {
99
+ if (t[0] & 1) throw t[1];
100
+ return t[1];
101
+ },
102
+ trys: [],
103
+ ops: []
30
104
  };
31
- }
105
+ return(g = {
106
+ next: verb(0),
107
+ "throw": verb(1),
108
+ "return": verb(2)
109
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
110
+ return this;
111
+ }), g);
112
+ function verb(n) {
113
+ return function(v) {
114
+ return step([
115
+ n,
116
+ v
117
+ ]);
118
+ };
119
+ }
120
+ function step(op) {
121
+ if (f) throw new TypeError("Generator is already executing.");
122
+ while(_)try {
123
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
124
+ if (y = 0, t) op = [
125
+ op[0] & 2,
126
+ t.value
127
+ ];
128
+ switch(op[0]){
129
+ case 0:
130
+ case 1:
131
+ t = op;
132
+ break;
133
+ case 4:
134
+ _.label++;
135
+ return {
136
+ value: op[1],
137
+ done: false
138
+ };
139
+ case 5:
140
+ _.label++;
141
+ y = op[1];
142
+ op = [
143
+ 0
144
+ ];
145
+ continue;
146
+ case 7:
147
+ op = _.ops.pop();
148
+ _.trys.pop();
149
+ continue;
150
+ default:
151
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
152
+ _ = 0;
153
+ continue;
154
+ }
155
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
156
+ _.label = op[1];
157
+ break;
158
+ }
159
+ if (op[0] === 6 && _.label < t[1]) {
160
+ _.label = t[1];
161
+ t = op;
162
+ break;
163
+ }
164
+ if (t && _.label < t[2]) {
165
+ _.label = t[2];
166
+ _.ops.push(op);
167
+ break;
168
+ }
169
+ if (t[2]) _.ops.pop();
170
+ _.trys.pop();
171
+ continue;
172
+ }
173
+ op = body.call(thisArg, _);
174
+ } catch (e) {
175
+ op = [
176
+ 6,
177
+ e
178
+ ];
179
+ y = 0;
180
+ } finally{
181
+ f = t = 0;
182
+ }
183
+ if (op[0] & 5) throw op[1];
184
+ return {
185
+ value: op[0] ? op[1] : void 0,
186
+ done: true
187
+ };
188
+ }
189
+ };
190
+ import url from "url";
191
+ function namespaceHash(namespace, hash) {
192
+ return "".concat(namespace, "/").concat(hash);
32
193
  }
33
- export function getTime(_ref) {
34
- var _ref2 = _slicedToArray(_ref, 2),
35
- s = _ref2[0],
36
- ns = _ref2[1];
37
- return Math.floor(s * 1e3 + ns / 1e6);
194
+ function fname(lv) {
195
+ return "f".concat(lv);
196
+ }
197
+ function connectFactor() {
198
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
199
+ args[_key] = arguments[_key];
200
+ }
201
+ return args.join("-");
202
+ }
203
+ function valueFactory(obj) {
204
+ if (_instanceof(obj, url.URLSearchParams)) {
205
+ return function(key) {
206
+ return obj.get(key);
207
+ };
208
+ } else {
209
+ return function(key) {
210
+ var value = obj[key];
211
+ if (Array.isArray(value)) {
212
+ return value.join(",");
213
+ }
214
+ return value;
215
+ };
216
+ }
217
+ }
218
+ function getTime(param) {
219
+ var _param = _slicedToArray(param, 2), s = _param[0], ns = _param[1];
220
+ return Math.floor(s * 1e3 + ns / 1e6);
38
221
  }
39
222
  var RE_START_IN_HEAD = /<head>/;
40
- export function cacheAddition(html, hash) {
41
- var additionHtml = html.replace(RE_START_IN_HEAD, "<head><meta name=\"x-moden-spr\" content=\"".concat(hash, "\">"));
42
- return additionHtml;
43
- }
44
- var globalInvokeCache = new Map();
45
- export function withCoalescedInvoke(func) {
46
- return /*#__PURE__*/function () {
47
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, args) {
48
- var entry, __wrapper, future;
49
- return _regeneratorRuntime().wrap(function _callee$(_context) {
50
- while (1) {
51
- switch (_context.prev = _context.next) {
52
- case 0:
53
- __wrapper = function _wrapper() {
223
+ function cacheAddition(html, hash) {
224
+ var additionHtml = html.replace(RE_START_IN_HEAD, '<head><meta name="x-moden-spr" content="'.concat(hash, '">'));
225
+ return additionHtml;
226
+ }
227
+ var globalInvokeCache = /* @__PURE__ */ new Map();
228
+ function withCoalescedInvoke(func) {
229
+ return function() {
230
+ var _ref = _asyncToGenerator(function(key, args) {
231
+ var entry, future;
232
+ function __wrapper() {
54
233
  return func.apply(void 0, _toConsumableArray(args));
55
- };
56
- entry = globalInvokeCache.get(key);
57
- if (!entry) {
58
- _context.next = 4;
59
- break;
60
- }
61
- return _context.abrupt("return", entry.then(function (res) {
62
- return {
63
- isOrigin: false,
64
- value: res.value
65
- };
66
- }));
67
- case 4:
68
- future = __wrapper().then(function (res) {
69
- globalInvokeCache["delete"](key);
70
- return {
71
- isOrigin: true,
72
- value: res
73
- };
74
- })["catch"](function (err) {
75
- globalInvokeCache["delete"](key);
76
- throw err;
77
- });
78
- globalInvokeCache.set(key, future);
79
- return _context.abrupt("return", future);
80
- case 7:
81
- case "end":
82
- return _context.stop();
83
- }
234
+ }
235
+ return __generator(this, function(_state) {
236
+ entry = globalInvokeCache.get(key);
237
+ if (entry) {
238
+ return [
239
+ 2,
240
+ entry.then(function(res) {
241
+ return {
242
+ isOrigin: false,
243
+ value: res.value
244
+ };
245
+ })
246
+ ];
247
+ }
248
+ future = __wrapper().then(function(res) {
249
+ globalInvokeCache.delete(key);
250
+ return {
251
+ isOrigin: true,
252
+ value: res
253
+ };
254
+ }).catch(function(err) {
255
+ globalInvokeCache.delete(key);
256
+ throw err;
257
+ });
258
+ globalInvokeCache.set(key, future);
259
+ return [
260
+ 2,
261
+ future
262
+ ];
263
+ });
264
+ });
265
+ return function(key, args) {
266
+ return _ref.apply(this, arguments);
267
+ };
268
+ }();
269
+ }
270
+ function maybeSync(fn) {
271
+ return function(sync) {
272
+ if (sync) {
273
+ return fn();
274
+ } else {
275
+ fn();
276
+ return Promise.resolve();
84
277
  }
85
- }, _callee);
86
- }));
87
- return function (_x, _x2) {
88
- return _ref3.apply(this, arguments);
89
278
  };
90
- }();
91
279
  }
92
- export function maybeSync(fn) {
93
- return function (sync) {
94
- if (sync) {
95
- return fn();
96
- } else {
97
- fn();
98
- return Promise.resolve();
99
- }
100
- };
101
- }
280
+ export { cacheAddition, connectFactor, fname, getTime, maybeSync, namespaceHash, valueFactory, withCoalescedInvoke };