@modern-js/prod-server 1.1.3 → 1.1.6

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 (71) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/js/modern/libs/context/context.js +11 -5
  3. package/dist/js/modern/libs/hook-api/route.js +8 -3
  4. package/dist/js/modern/libs/hook-api/template.js +4 -1
  5. package/dist/js/modern/libs/proxy.js +2 -2
  6. package/dist/js/modern/libs/render/cache/page-caches/lru.js +6 -2
  7. package/dist/js/modern/libs/render/cache/spr.js +7 -4
  8. package/dist/js/modern/libs/render/reader.js +4 -1
  9. package/dist/js/modern/libs/route/index.js +6 -2
  10. package/dist/js/modern/libs/route/matcher.js +10 -4
  11. package/dist/js/modern/libs/route/route.js +20 -9
  12. package/dist/js/modern/server/index.js +12 -6
  13. package/dist/js/modern/server/modern-server.js +81 -33
  14. package/dist/js/node/libs/context/context.js +11 -5
  15. package/dist/js/node/libs/hook-api/route.js +8 -3
  16. package/dist/js/node/libs/hook-api/template.js +5 -1
  17. package/dist/js/node/libs/proxy.js +2 -2
  18. package/dist/js/node/libs/render/cache/page-caches/lru.js +6 -2
  19. package/dist/js/node/libs/render/cache/spr.js +6 -6
  20. package/dist/js/node/libs/render/reader.js +4 -1
  21. package/dist/js/node/libs/route/index.js +6 -2
  22. package/dist/js/node/libs/route/matcher.js +10 -4
  23. package/dist/js/node/libs/route/route.js +20 -9
  24. package/dist/js/node/server/index.js +12 -6
  25. package/dist/js/node/server/modern-server.js +84 -33
  26. package/dist/types/server/modern-server.d.ts +10 -3
  27. package/package.json +31 -9
  28. package/.eslintrc.js +0 -8
  29. package/dist/js/styles/tsconfig.json +0 -12
  30. package/jest.config.js +0 -8
  31. package/modern.config.js +0 -2
  32. package/src/constants.ts +0 -31
  33. package/src/index.ts +0 -19
  34. package/src/libs/context/context.ts +0 -178
  35. package/src/libs/context/index.ts +0 -7
  36. package/src/libs/hook-api/route.ts +0 -42
  37. package/src/libs/hook-api/template.ts +0 -53
  38. package/src/libs/loadConfig.ts +0 -59
  39. package/src/libs/metrics.ts +0 -15
  40. package/src/libs/proxy.ts +0 -44
  41. package/src/libs/render/cache/__tests__/cache.fun.test.ts +0 -94
  42. package/src/libs/render/cache/__tests__/cache.test.ts +0 -240
  43. package/src/libs/render/cache/__tests__/cacheable.ts +0 -44
  44. package/src/libs/render/cache/__tests__/error-configuration.ts +0 -34
  45. package/src/libs/render/cache/__tests__/matched-cache.ts +0 -88
  46. package/src/libs/render/cache/index.ts +0 -73
  47. package/src/libs/render/cache/page-caches/index.ts +0 -11
  48. package/src/libs/render/cache/page-caches/lru.ts +0 -38
  49. package/src/libs/render/cache/spr.ts +0 -300
  50. package/src/libs/render/cache/type.ts +0 -59
  51. package/src/libs/render/cache/util.ts +0 -94
  52. package/src/libs/render/index.ts +0 -79
  53. package/src/libs/render/measure.ts +0 -66
  54. package/src/libs/render/modern/browser-list.ts +0 -7
  55. package/src/libs/render/modern/index.ts +0 -41
  56. package/src/libs/render/modern/module.d.ts +0 -4
  57. package/src/libs/render/reader.ts +0 -119
  58. package/src/libs/render/ssr.ts +0 -69
  59. package/src/libs/render/static.ts +0 -52
  60. package/src/libs/render/type.ts +0 -38
  61. package/src/libs/route/index.ts +0 -76
  62. package/src/libs/route/matcher.ts +0 -108
  63. package/src/libs/route/route.ts +0 -34
  64. package/src/libs/serve-file.ts +0 -34
  65. package/src/server/index.ts +0 -232
  66. package/src/server/modern-server-split.ts +0 -93
  67. package/src/server/modern-server.ts +0 -620
  68. package/src/tsconfig.json +0 -12
  69. package/src/type.ts +0 -95
  70. package/src/utils.ts +0 -116
  71. package/tsconfig.json +0 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @modern-js/prod-server
2
2
 
3
+ ## 1.1.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 430d417e: optimize server side hot reload
8
+ - Updated dependencies [6451a098]
9
+ - Updated dependencies [d5a2cfd8]
10
+ - Updated dependencies [437367c6]
11
+ - @modern-js/utils@1.7.6
12
+ - @modern-js/server-core@1.3.5
13
+
14
+ ## 1.1.5
15
+
16
+ ### Patch Changes
17
+
18
+ - d32f35134: chore: add modern/jest/eslint/ts config files to .npmignore
19
+ - 86fe5a657: support handle server context init error
20
+ - Updated dependencies [d32f35134]
21
+ - Updated dependencies [6ae4a34ae]
22
+ - Updated dependencies [b80229c79]
23
+ - Updated dependencies [948cc4436]
24
+ - @modern-js/server-core@1.3.5
25
+ - @modern-js/utils@1.7.3
26
+
27
+ ## 1.1.4
28
+
29
+ ### Patch Changes
30
+
31
+ - 69a728375: fix: remove exports.jsnext:source after publish
32
+ - Updated dependencies [cd7346b0d]
33
+ - Updated dependencies [69a728375]
34
+ - @modern-js/utils@1.7.2
35
+ - @modern-js/server-core@1.3.4
36
+
3
37
  ## 1.1.3
4
38
 
5
39
  ### Patch Changes
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { URL } from 'url';
2
4
  import qs from 'querystring';
3
5
  export class ModernServerContext {
@@ -21,10 +23,14 @@ export class ModernServerContext {
21
23
  }
22
24
 
23
25
  constructor(req, res) {
24
- this.req = void 0;
25
- this.res = void 0;
26
- this.params = {};
27
- this.serverData = void 0;
26
+ _defineProperty(this, "req", void 0);
27
+
28
+ _defineProperty(this, "res", void 0);
29
+
30
+ _defineProperty(this, "params", {});
31
+
32
+ _defineProperty(this, "serverData", void 0);
33
+
28
34
  this.req = req;
29
35
  this.res = res;
30
36
  this.serverData = {};
@@ -121,7 +127,7 @@ export class ModernServerContext {
121
127
  }
122
128
 
123
129
  set path(p) {
124
- const url = new URL(this.req.url, this.origin); // this should never happend
130
+ const url = new URL(this.req.url, this.origin); // this should never happened
125
131
 
126
132
  if (!url || !p) {
127
133
  return;
@@ -1,8 +1,13 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  class RouteAPI {
2
4
  constructor(matched, router, url) {
3
- this.router = void 0;
4
- this.current = void 0;
5
- this.url = void 0;
5
+ _defineProperty(this, "router", void 0);
6
+
7
+ _defineProperty(this, "current", void 0);
8
+
9
+ _defineProperty(this, "url", void 0);
10
+
6
11
  this.current = matched;
7
12
  this.router = router;
8
13
  this.url = url;
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  const RegList = {
2
4
  before: {
3
5
  head: '<head>',
@@ -11,7 +13,8 @@ const RegList = {
11
13
 
12
14
  class TemplateAPI {
13
15
  constructor(content) {
14
- this.content = void 0;
16
+ _defineProperty(this, "content", void 0);
17
+
15
18
  this.content = content;
16
19
  }
17
20
 
@@ -10,8 +10,8 @@ export const createProxyHandler = proxyOptions => {
10
10
  // or an object in the form of { source: ProxyDetail }
11
11
 
12
12
 
13
- const formatedProxy = formatProxyOptions(proxyOptions);
14
- const middlewares = formatedProxy.map(option => {
13
+ const formattedProxy = formatProxyOptions(proxyOptions);
14
+ const middlewares = formattedProxy.map(option => {
15
15
  const middleware = createProxyMiddleware(option.context, option); // eslint-disable-next-line consistent-return
16
16
 
17
17
  return async (ctx, next) => {
@@ -1,8 +1,12 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import LRU from 'lru-cache';
2
4
  export class LRUCaches {
3
5
  constructor(options) {
4
- this.caches = void 0;
5
- this.max = void 0;
6
+ _defineProperty(this, "caches", void 0);
7
+
8
+ _defineProperty(this, "max", void 0);
9
+
6
10
  this.max = options.max;
7
11
  this.caches = new LRU(this.max);
8
12
  }
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  /* eslint-disable @typescript-eslint/member-ordering */
2
4
 
3
5
  /* eslint-disable no-lone-blocks */
@@ -15,10 +17,11 @@ const QUERY_HEADER_LEVEL = 3;
15
17
 
16
18
  class CacheManager {
17
19
  constructor(cacheOptions) {
18
- this.cache = void 0;
19
- this.cacheOptions = void 0;
20
+ _defineProperty(this, "cache", void 0);
21
+
22
+ _defineProperty(this, "cacheOptions", void 0);
20
23
 
21
- this.find = (() => {
24
+ _defineProperty(this, "find", (() => {
22
25
  {
23
26
  // eslint-disable-next-line consistent-this,@typescript-eslint/no-this-alias
24
27
  const _this = this;
@@ -63,7 +66,7 @@ class CacheManager {
63
66
 
64
67
  };
65
68
  }
66
- })();
69
+ })());
67
70
 
68
71
  this.cacheOptions = cacheOptions;
69
72
  this.cache = new LRUCache({
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { fs } from '@modern-js/utils';
2
4
  import LRU from 'lru-cache';
3
5
  const Byte = 1;
@@ -17,7 +19,8 @@ const createCacheItem = async (filepath, mtime) => {
17
19
  export class LruReader {
18
20
  // private timer?: NodeJS.Timeout;
19
21
  constructor() {
20
- this.cache = void 0;
22
+ _defineProperty(this, "cache", void 0);
23
+
21
24
  this.cache = new LRU({
22
25
  max: 256 * MB,
23
26
  length: getContentLength,
@@ -1,8 +1,12 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { RouteMatcher } from "./matcher";
2
4
  export class RouteMatchManager {
3
5
  constructor() {
4
- this.matchers = void 0;
5
- this.specs = [];
6
+ _defineProperty(this, "matchers", void 0);
7
+
8
+ _defineProperty(this, "specs", []);
9
+
6
10
  this.matchers = [];
7
11
  } // get all routes matches pathname
8
12
 
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { removeTailSlash } from '@modern-js/utils';
2
4
  import { match, pathToRegexp } from 'path-to-regexp';
3
5
  import { toPath } from "../../utils";
@@ -6,10 +8,14 @@ import { ModernRoute } from "./route"; // eslint-disable-next-line no-useless-es
6
8
  const regCharsDetector = /[^a-zA-Z\-_0-9\/\.]/;
7
9
  export class RouteMatcher {
8
10
  constructor(spec) {
9
- this.spec = void 0;
10
- this.urlPath = '';
11
- this.urlMatcher = void 0;
12
- this.urlReg = void 0;
11
+ _defineProperty(this, "spec", void 0);
12
+
13
+ _defineProperty(this, "urlPath", '');
14
+
15
+ _defineProperty(this, "urlMatcher", void 0);
16
+
17
+ _defineProperty(this, "urlReg", void 0);
18
+
13
19
  this.spec = spec;
14
20
  this.setupUrlPath();
15
21
  } // generate modern route object
@@ -1,16 +1,27 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  export class ModernRoute {
2
4
  constructor(routeSpec) {
3
5
  var _routeSpec$enableMode;
4
6
 
5
- this.entryName = void 0;
6
- this.urlPath = void 0;
7
- this.entryPath = void 0;
8
- this.bundle = void 0;
9
- this.isApi = void 0;
10
- this.isSSR = void 0;
11
- this.isSPA = void 0;
12
- this.enableModernMode = void 0;
13
- this.params = {};
7
+ _defineProperty(this, "entryName", void 0);
8
+
9
+ _defineProperty(this, "urlPath", void 0);
10
+
11
+ _defineProperty(this, "entryPath", void 0);
12
+
13
+ _defineProperty(this, "bundle", void 0);
14
+
15
+ _defineProperty(this, "isApi", void 0);
16
+
17
+ _defineProperty(this, "isSSR", void 0);
18
+
19
+ _defineProperty(this, "isSPA", void 0);
20
+
21
+ _defineProperty(this, "enableModernMode", void 0);
22
+
23
+ _defineProperty(this, "params", {});
24
+
14
25
  this.entryName = routeSpec.entryName || '';
15
26
  this.urlPath = routeSpec.urlPath;
16
27
  this.entryPath = routeSpec.entryPath || '';
@@ -13,12 +13,18 @@ import { debug } from "../utils";
13
13
  import { createProdServer } from "./modern-server-split";
14
14
  export class Server {
15
15
  constructor(options) {
16
- this.options = void 0;
17
- this.serverImpl = createProdServer;
18
- this.server = void 0;
19
- this.app = void 0;
20
- this.runner = void 0;
21
- this.serverConfig = void 0;
16
+ _defineProperty(this, "options", void 0);
17
+
18
+ _defineProperty(this, "serverImpl", createProdServer);
19
+
20
+ _defineProperty(this, "server", void 0);
21
+
22
+ _defineProperty(this, "app", void 0);
23
+
24
+ _defineProperty(this, "runner", void 0);
25
+
26
+ _defineProperty(this, "serverConfig", void 0);
27
+
22
28
  options.logger = options.logger || new Logger({
23
29
  level: 'warn'
24
30
  });
@@ -4,12 +4,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
4
4
 
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
-
9
7
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
8
 
11
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
10
 
11
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+
13
13
  /* eslint-disable max-lines */
14
14
  import { createServer } from 'http';
15
15
  import util from 'util';
@@ -45,26 +45,45 @@ export class ModernServer {
45
45
  }) {
46
46
  var _config$output;
47
47
 
48
- this.pwd = void 0;
49
- this.distDir = void 0;
50
- this.workDir = void 0;
51
- this.router = void 0;
52
- this.conf = void 0;
53
- this.handlers = [];
54
- this.presetRoutes = void 0;
55
- this.runner = void 0;
56
- this.logger = void 0;
57
- this.metrics = void 0;
58
- this.runMode = void 0;
59
- this.reader = reader;
60
- this.proxyTarget = void 0;
61
- this.staticFileHandler = void 0;
62
- this.routeRenderHandler = void 0;
63
- this.frameWebHandler = null;
64
- this.frameAPIHandler = null;
65
- this.proxyHandler = null;
66
- this._handler = void 0;
67
- this.staticGenerate = void 0;
48
+ _defineProperty(this, "pwd", void 0);
49
+
50
+ _defineProperty(this, "distDir", void 0);
51
+
52
+ _defineProperty(this, "workDir", void 0);
53
+
54
+ _defineProperty(this, "router", void 0);
55
+
56
+ _defineProperty(this, "conf", void 0);
57
+
58
+ _defineProperty(this, "handlers", []);
59
+
60
+ _defineProperty(this, "presetRoutes", void 0);
61
+
62
+ _defineProperty(this, "runner", void 0);
63
+
64
+ _defineProperty(this, "logger", void 0);
65
+
66
+ _defineProperty(this, "metrics", void 0);
67
+
68
+ _defineProperty(this, "runMode", void 0);
69
+
70
+ _defineProperty(this, "reader", reader);
71
+
72
+ _defineProperty(this, "proxyTarget", void 0);
73
+
74
+ _defineProperty(this, "staticFileHandler", void 0);
75
+
76
+ _defineProperty(this, "routeRenderHandler", void 0);
77
+
78
+ _defineProperty(this, "frameWebHandler", null);
79
+
80
+ _defineProperty(this, "frameAPIHandler", null);
81
+
82
+ _defineProperty(this, "proxyHandler", null);
83
+
84
+ _defineProperty(this, "_handler", void 0);
85
+
86
+ _defineProperty(this, "staticGenerate", void 0);
68
87
 
69
88
  require('ignore-styles');
70
89
 
@@ -148,8 +167,24 @@ export class ModernServer {
148
167
  onListening(_) {// empty
149
168
  }
150
169
 
151
- onServerChange(_) {
152
- this.prepareFrameHandler();
170
+ onServerChange({
171
+ filepath
172
+ }) {
173
+ const {
174
+ pwd
175
+ } = this;
176
+ const {
177
+ api,
178
+ server
179
+ } = AGGRED_DIR;
180
+ const apiPath = path.normalize(path.join(pwd, api));
181
+ const serverPath = path.normalize(path.join(pwd, server));
182
+ const onlyApi = filepath.startsWith(apiPath);
183
+ const onlyWeb = filepath.startsWith(serverPath);
184
+ this.prepareFrameHandler({
185
+ onlyWeb,
186
+ onlyApi
187
+ });
153
188
  } // exposed requestHandler
154
189
 
155
190
 
@@ -198,11 +233,15 @@ export class ModernServer {
198
233
  } // gather frame extension and get framework handler
199
234
 
200
235
 
201
- async prepareFrameHandler() {
236
+ async prepareFrameHandler(options) {
202
237
  const {
203
238
  workDir,
204
239
  runner
205
- } = this; // server hook, gather plugin inject
240
+ } = this;
241
+ const {
242
+ onlyApi,
243
+ onlyWeb
244
+ } = options || {}; // server hook, gather plugin inject
206
245
 
207
246
  const _createMiddlewareColl = createMiddlewareCollecter(),
208
247
  {
@@ -218,12 +257,12 @@ export class ModernServer {
218
257
  const apiDir = path.join(workDir, API_DIR);
219
258
  const serverDir = path.join(workDir, SERVER_DIR); // get api or web server handler from server-framework plugin
220
259
 
221
- if (await fs.pathExists(path.join(serverDir))) {
260
+ if ((await fs.pathExists(path.join(serverDir))) && !onlyApi) {
222
261
  const webExtension = mergeExtension(pluginWebExt);
223
262
  this.frameWebHandler = await this.prepareWebHandler(webExtension);
224
263
  }
225
264
 
226
- if (fs.existsSync(apiDir)) {
265
+ if (fs.existsSync(apiDir) && !onlyWeb) {
227
266
  const mode = fs.existsSync(path.join(apiDir, AGGRED_DIR.lambda)) ? ApiServerMode.frame : ApiServerMode.func;
228
267
  debug('exists api dir', mode); // if use lambda/, mean framework style of writing, then discard user extension
229
268
 
@@ -294,7 +333,7 @@ export class ModernServer {
294
333
  } = context;
295
334
 
296
335
  if (!this.frameAPIHandler) {
297
- throw new Error('can not found api hanlder');
336
+ throw new Error('can not found api handler');
298
337
  }
299
338
 
300
339
  await this.frameAPIHandler(req, res);
@@ -527,12 +566,21 @@ export class ModernServer {
527
566
  res.statusCode = 200;
528
567
  req.logger = this.logger;
529
568
  req.metrics = this.metrics;
530
- const context = createContext(req, res);
569
+ let context;
570
+
571
+ try {
572
+ context = createContext(req, res);
573
+ } catch (e) {
574
+ this.logger.error(e);
575
+ res.statusCode = 500;
576
+ res.setHeader('content-type', mime.contentType('html'));
577
+ return res.end(createErrorDocument(500, ERROR_PAGE_TEXT[500]));
578
+ }
531
579
 
532
580
  try {
533
- this._handler(context, next);
581
+ return this._handler(context, next);
534
582
  } catch (err) {
535
- this.onError(context, err);
583
+ return this.onError(context, err);
536
584
  }
537
585
  }
538
586
 
@@ -555,7 +603,7 @@ export class ModernServer {
555
603
  const route = matched.generate(context.url);
556
604
  const {
557
605
  entryName
558
- } = route; // check entryName, aviod matched '/' route
606
+ } = route; // check entryName, avoid matched '/' route
559
607
 
560
608
  if (entryName === status.toString() || entryName === '_error') {
561
609
  try {
@@ -11,6 +11,8 @@ var _querystring = _interopRequireDefault(require("querystring"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+
14
16
  class ModernServerContext {
15
17
  /**
16
18
  * http request
@@ -32,10 +34,14 @@ class ModernServerContext {
32
34
  }
33
35
 
34
36
  constructor(req, res) {
35
- this.req = void 0;
36
- this.res = void 0;
37
- this.params = {};
38
- this.serverData = void 0;
37
+ _defineProperty(this, "req", void 0);
38
+
39
+ _defineProperty(this, "res", void 0);
40
+
41
+ _defineProperty(this, "params", {});
42
+
43
+ _defineProperty(this, "serverData", void 0);
44
+
39
45
  this.req = req;
40
46
  this.res = res;
41
47
  this.serverData = {};
@@ -132,7 +138,7 @@ class ModernServerContext {
132
138
  }
133
139
 
134
140
  set path(p) {
135
- const url = new _url.URL(this.req.url, this.origin); // this should never happend
141
+ const url = new _url.URL(this.req.url, this.origin); // this should never happened
136
142
 
137
143
  if (!url || !p) {
138
144
  return;
@@ -5,11 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createRouteAPI = void 0;
7
7
 
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
8
10
  class RouteAPI {
9
11
  constructor(matched, router, url) {
10
- this.router = void 0;
11
- this.current = void 0;
12
- this.url = void 0;
12
+ _defineProperty(this, "router", void 0);
13
+
14
+ _defineProperty(this, "current", void 0);
15
+
16
+ _defineProperty(this, "url", void 0);
17
+
13
18
  this.current = matched;
14
19
  this.router = router;
15
20
  this.url = url;
@@ -4,6 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createTemplateAPI = void 0;
7
+
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
7
10
  const RegList = {
8
11
  before: {
9
12
  head: '<head>',
@@ -17,7 +20,8 @@ const RegList = {
17
20
 
18
21
  class TemplateAPI {
19
22
  constructor(content) {
20
- this.content = void 0;
23
+ _defineProperty(this, "content", void 0);
24
+
21
25
  this.content = content;
22
26
  }
23
27
 
@@ -20,8 +20,8 @@ const createProxyHandler = proxyOptions => {
20
20
  // or an object in the form of { source: ProxyDetail }
21
21
 
22
22
 
23
- const formatedProxy = (0, _utils.formatProxyOptions)(proxyOptions);
24
- const middlewares = formatedProxy.map(option => {
23
+ const formattedProxy = (0, _utils.formatProxyOptions)(proxyOptions);
24
+ const middlewares = formattedProxy.map(option => {
25
25
  const middleware = (0, _httpProxyMiddleware.createProxyMiddleware)(option.context, option); // eslint-disable-next-line consistent-return
26
26
 
27
27
  return async (ctx, next) => {
@@ -9,10 +9,14 @@ var _lruCache = _interopRequireDefault(require("lru-cache"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
12
14
  class LRUCaches {
13
15
  constructor(options) {
14
- this.caches = void 0;
15
- this.max = void 0;
16
+ _defineProperty(this, "caches", void 0);
17
+
18
+ _defineProperty(this, "max", void 0);
19
+
16
20
  this.max = options.max;
17
21
  this.caches = new _lruCache.default(this.max);
18
22
  }
@@ -18,9 +18,8 @@ var _pageCaches = require("./page-caches");
18
18
 
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
 
21
- /* eslint-disable @typescript-eslint/member-ordering */
21
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
22
 
23
- /* eslint-disable no-lone-blocks */
24
23
  const MAX_CACHE_EACH_REQ = Number(process.env.ROUTE_CACHE_LIMIT) || 10;
25
24
  const MAX_SIZE_EACH_CLUSTER = Number(process.env.CLUSTER_CACHE_LIMIT) || 100;
26
25
  const BASE_LEVEL = 0;
@@ -30,10 +29,11 @@ const QUERY_HEADER_LEVEL = 3;
30
29
 
31
30
  class CacheManager {
32
31
  constructor(cacheOptions) {
33
- this.cache = void 0;
34
- this.cacheOptions = void 0;
32
+ _defineProperty(this, "cache", void 0);
35
33
 
36
- this.find = (() => {
34
+ _defineProperty(this, "cacheOptions", void 0);
35
+
36
+ _defineProperty(this, "find", (() => {
37
37
  {
38
38
  // eslint-disable-next-line consistent-this,@typescript-eslint/no-this-alias
39
39
  const _this = this;
@@ -78,7 +78,7 @@ class CacheManager {
78
78
 
79
79
  };
80
80
  }
81
- })();
81
+ })());
82
82
 
83
83
  this.cacheOptions = cacheOptions;
84
84
  this.cache = new _lruCache.default({
@@ -11,6 +11,8 @@ var _lruCache = _interopRequireDefault(require("lru-cache"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+
14
16
  const Byte = 1;
15
17
  const KB = 1024 * Byte;
16
18
  const MB = 1024 * KB;
@@ -28,7 +30,8 @@ const createCacheItem = async (filepath, mtime) => {
28
30
  class LruReader {
29
31
  // private timer?: NodeJS.Timeout;
30
32
  constructor() {
31
- this.cache = void 0;
33
+ _defineProperty(this, "cache", void 0);
34
+
32
35
  this.cache = new _lruCache.default({
33
36
  max: 256 * MB,
34
37
  length: getContentLength,
@@ -13,10 +13,14 @@ Object.defineProperty(exports, "RouteMatcher", {
13
13
 
14
14
  var _matcher = require("./matcher");
15
15
 
16
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
16
18
  class RouteMatchManager {
17
19
  constructor() {
18
- this.matchers = void 0;
19
- this.specs = [];
20
+ _defineProperty(this, "matchers", void 0);
21
+
22
+ _defineProperty(this, "specs", []);
23
+
20
24
  this.matchers = [];
21
25
  } // get all routes matches pathname
22
26