@modern-js/prod-server 2.15.0 → 2.16.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 (122) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/constants.js +15 -31
  3. package/dist/cjs/index.js +35 -37
  4. package/dist/cjs/libs/context/context.js +53 -66
  5. package/dist/cjs/libs/context/index.js +15 -28
  6. package/dist/cjs/libs/hook-api/index.js +59 -54
  7. package/dist/cjs/libs/hook-api/route.js +28 -30
  8. package/dist/cjs/libs/hook-api/template.js +30 -34
  9. package/dist/cjs/libs/loadConfig.js +74 -65
  10. package/dist/cjs/libs/logger.js +46 -37
  11. package/dist/cjs/libs/metrics.js +7 -25
  12. package/dist/cjs/libs/proxy.js +29 -46
  13. package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +48 -64
  14. package/dist/cjs/libs/render/cache/__tests__/cache.test.js +53 -37
  15. package/dist/cjs/libs/render/cache/__tests__/cacheable.js +38 -34
  16. package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +22 -30
  17. package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +86 -46
  18. package/dist/cjs/libs/render/cache/index.js +17 -37
  19. package/dist/cjs/libs/render/cache/page-caches/index.js +12 -28
  20. package/dist/cjs/libs/render/cache/page-caches/lru.js +32 -40
  21. package/dist/cjs/libs/render/cache/spr.js +104 -111
  22. package/dist/cjs/libs/render/cache/type.js +4 -15
  23. package/dist/cjs/libs/render/cache/util.js +29 -53
  24. package/dist/cjs/libs/render/index.js +75 -73
  25. package/dist/cjs/libs/render/measure.js +19 -34
  26. package/dist/cjs/libs/render/reader.js +52 -61
  27. package/dist/cjs/libs/render/ssr.js +34 -66
  28. package/dist/cjs/libs/render/static.js +22 -45
  29. package/dist/cjs/libs/render/type.js +10 -28
  30. package/dist/cjs/libs/render/utils.js +17 -38
  31. package/dist/cjs/libs/route/index.js +32 -31
  32. package/dist/cjs/libs/route/matcher.js +38 -38
  33. package/dist/cjs/libs/route/route.js +29 -26
  34. package/dist/cjs/libs/serveFile.js +23 -41
  35. package/dist/cjs/server/index.js +101 -107
  36. package/dist/cjs/server/modernServer.js +191 -171
  37. package/dist/cjs/server/modernServerSplit.js +12 -30
  38. package/dist/cjs/type.js +4 -15
  39. package/dist/cjs/utils.js +50 -50
  40. package/dist/cjs/workerServer.js +26 -36
  41. package/dist/esm/constants.js +24 -25
  42. package/dist/esm/index.js +11 -10
  43. package/dist/esm/libs/context/context.js +271 -264
  44. package/dist/esm/libs/context/index.js +3 -3
  45. package/dist/esm/libs/hook-api/index.js +237 -223
  46. package/dist/esm/libs/hook-api/route.js +62 -60
  47. package/dist/esm/libs/hook-api/template.js +117 -115
  48. package/dist/esm/libs/loadConfig.js +68 -69
  49. package/dist/esm/libs/logger.js +188 -174
  50. package/dist/esm/libs/metrics.js +6 -3
  51. package/dist/esm/libs/proxy.js +236 -221
  52. package/dist/esm/libs/render/cache/__tests__/cache.fun.test.js +286 -267
  53. package/dist/esm/libs/render/cache/__tests__/cache.test.js +765 -745
  54. package/dist/esm/libs/render/cache/__tests__/cacheable.js +62 -63
  55. package/dist/esm/libs/render/cache/__tests__/error-configuration.js +42 -43
  56. package/dist/esm/libs/render/cache/__tests__/matched-cache.js +134 -135
  57. package/dist/esm/libs/render/cache/index.js +337 -326
  58. package/dist/esm/libs/render/cache/page-caches/index.js +147 -141
  59. package/dist/esm/libs/render/cache/page-caches/lru.js +78 -76
  60. package/dist/esm/libs/render/cache/spr.js +465 -456
  61. package/dist/esm/libs/render/cache/type.js +1 -1
  62. package/dist/esm/libs/render/cache/util.js +266 -246
  63. package/dist/esm/libs/render/index.js +226 -218
  64. package/dist/esm/libs/render/measure.js +136 -128
  65. package/dist/esm/libs/render/reader.js +315 -304
  66. package/dist/esm/libs/render/ssr.js +214 -209
  67. package/dist/esm/libs/render/static.js +208 -198
  68. package/dist/esm/libs/render/type.js +6 -7
  69. package/dist/esm/libs/render/utils.js +8 -9
  70. package/dist/esm/libs/route/index.js +134 -123
  71. package/dist/esm/libs/route/matcher.js +140 -130
  72. package/dist/esm/libs/route/route.js +36 -37
  73. package/dist/esm/libs/serveFile.js +177 -168
  74. package/dist/esm/server/index.js +578 -549
  75. package/dist/esm/server/modernServer.js +1137 -1074
  76. package/dist/esm/server/modernServerSplit.js +344 -328
  77. package/dist/esm/type.js +1 -1
  78. package/dist/esm/utils.js +133 -124
  79. package/dist/esm/workerServer.js +226 -220
  80. package/dist/esm-node/constants.js +7 -14
  81. package/dist/esm-node/index.js +4 -9
  82. package/dist/esm-node/libs/context/context.js +32 -25
  83. package/dist/esm-node/libs/context/index.js +2 -5
  84. package/dist/esm-node/libs/hook-api/index.js +40 -21
  85. package/dist/esm-node/libs/hook-api/route.js +21 -8
  86. package/dist/esm-node/libs/hook-api/template.js +19 -14
  87. package/dist/esm-node/libs/loadConfig.js +11 -28
  88. package/dist/esm-node/libs/logger.js +37 -17
  89. package/dist/esm-node/libs/metrics.js +1 -3
  90. package/dist/esm-node/libs/proxy.js +14 -22
  91. package/dist/esm-node/libs/render/cache/__tests__/cache.fun.test.js +25 -36
  92. package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +23 -11
  93. package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +32 -13
  94. package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +16 -9
  95. package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +80 -25
  96. package/dist/esm-node/libs/render/cache/index.js +3 -10
  97. package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -5
  98. package/dist/esm-node/libs/render/cache/page-caches/lru.js +20 -8
  99. package/dist/esm-node/libs/render/cache/spr.js +79 -80
  100. package/dist/esm-node/libs/render/cache/type.js +1 -0
  101. package/dist/esm-node/libs/render/cache/util.js +13 -23
  102. package/dist/esm-node/libs/render/index.js +10 -28
  103. package/dist/esm-node/libs/render/measure.js +7 -13
  104. package/dist/esm-node/libs/render/reader.js +31 -26
  105. package/dist/esm-node/libs/render/ssr.js +5 -21
  106. package/dist/esm-node/libs/render/static.js +1 -4
  107. package/dist/esm-node/libs/render/type.js +3 -6
  108. package/dist/esm-node/libs/render/utils.js +6 -18
  109. package/dist/esm-node/libs/route/index.js +20 -9
  110. package/dist/esm-node/libs/route/matcher.js +28 -17
  111. package/dist/esm-node/libs/route/route.js +23 -5
  112. package/dist/esm-node/libs/serveFile.js +2 -6
  113. package/dist/esm-node/server/index.js +72 -75
  114. package/dist/esm-node/server/modernServer.js +102 -130
  115. package/dist/esm-node/server/modernServerSplit.js +1 -4
  116. package/dist/esm-node/type.js +1 -0
  117. package/dist/esm-node/utils.js +41 -32
  118. package/dist/esm-node/workerServer.js +9 -10
  119. package/dist/types/libs/context/context.d.ts +1 -1
  120. package/dist/types/server/modernServer.d.ts +1 -1
  121. package/dist/types/utils.d.ts +1 -1
  122. package/package.json +12 -8
@@ -1,27 +1,32 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
6
  for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var template_exports = {};
19
- __export(template_exports, {
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
20
13
  TemplateAPI: () => TemplateAPI,
21
14
  templateInjectableStream: () => templateInjectableStream
22
15
  });
23
- module.exports = __toCommonJS(template_exports);
24
- var import_stream = require("stream");
16
+ const _stream = require("stream");
17
+ function _define_property(obj, key, value) {
18
+ if (key in obj) {
19
+ Object.defineProperty(obj, key, {
20
+ value,
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true
24
+ });
25
+ } else {
26
+ obj[key] = value;
27
+ }
28
+ return obj;
29
+ }
25
30
  const RegList = {
26
31
  before: {
27
32
  head: "<head>",
@@ -33,9 +38,6 @@ const RegList = {
33
38
  }
34
39
  };
35
40
  class TemplateAPI {
36
- constructor(content) {
37
- this.content = content;
38
- }
39
41
  get() {
40
42
  return this.content;
41
43
  }
@@ -61,13 +63,12 @@ class TemplateAPI {
61
63
  replace(reg, text) {
62
64
  this.content = this.content.replace(reg, text);
63
65
  }
66
+ constructor(content) {
67
+ _define_property(this, "content", void 0);
68
+ this.content = content;
69
+ }
64
70
  }
65
- const templateInjectableStream = ({
66
- prependHead,
67
- appendHead,
68
- prependBody,
69
- appendBody
70
- }) => new import_stream.Transform({
71
+ const templateInjectableStream = ({ prependHead, appendHead, prependBody, appendBody }) => new _stream.Transform({
71
72
  write(chunk, _, callback) {
72
73
  let chunk_str = chunk.toString();
73
74
  if (prependHead) {
@@ -90,8 +91,3 @@ const templateInjectableStream = ({
90
91
  callback();
91
92
  }
92
93
  });
93
- // Annotate the CommonJS export names for ESM import in node:
94
- 0 && (module.exports = {
95
- TemplateAPI,
96
- templateInjectableStream
97
- });
@@ -1,81 +1,90 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
8
6
  for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var loadConfig_exports = {};
29
- __export(loadConfig_exports, {
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
30
13
  getServerConfigPath: () => getServerConfigPath,
31
- loadConfig: () => loadConfig,
32
- requireConfig: () => requireConfig
14
+ requireConfig: () => requireConfig,
15
+ loadConfig: () => loadConfig
33
16
  });
34
- module.exports = __toCommonJS(loadConfig_exports);
35
- var path = __toESM(require("path"));
36
- var import_utils = require("@modern-js/utils");
37
- var import_merge_deep = __toESM(require("merge-deep"));
38
- const getServerConfigPath = (distDirectory, serverConfigFile = import_utils.DEFAULT_SERVER_CONFIG) => {
39
- const serverConfigPath = path.join(distDirectory, serverConfigFile);
17
+ const _path = /* @__PURE__ */ _interop_require_wildcard(require("path"));
18
+ const _utils = require("@modern-js/utils");
19
+ const _mergedeep = /* @__PURE__ */ _interop_require_default(require("merge-deep"));
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ function _getRequireWildcardCache(nodeInterop) {
26
+ if (typeof WeakMap !== "function")
27
+ return null;
28
+ var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
29
+ var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
30
+ return (_getRequireWildcardCache = function(nodeInterop2) {
31
+ return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
32
+ })(nodeInterop);
33
+ }
34
+ function _interop_require_wildcard(obj, nodeInterop) {
35
+ if (!nodeInterop && obj && obj.__esModule) {
36
+ return obj;
37
+ }
38
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
39
+ return {
40
+ default: obj
41
+ };
42
+ }
43
+ var cache = _getRequireWildcardCache(nodeInterop);
44
+ if (cache && cache.has(obj)) {
45
+ return cache.get(obj);
46
+ }
47
+ var newObj = {};
48
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
49
+ for (var key in obj) {
50
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
51
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
52
+ if (desc && (desc.get || desc.set)) {
53
+ Object.defineProperty(newObj, key, desc);
54
+ } else {
55
+ newObj[key] = obj[key];
56
+ }
57
+ }
58
+ }
59
+ newObj.default = obj;
60
+ if (cache) {
61
+ cache.set(obj, newObj);
62
+ }
63
+ return newObj;
64
+ }
65
+ const getServerConfigPath = (distDirectory, serverConfigFile = _utils.DEFAULT_SERVER_CONFIG) => {
66
+ const serverConfigPath = _path.join(distDirectory, serverConfigFile);
40
67
  return `${serverConfigPath}.js`;
41
68
  };
42
69
  const requireConfig = (serverConfigPath) => {
43
- if (import_utils.fs.pathExistsSync(serverConfigPath)) {
44
- return (0, import_utils.compatRequire)(serverConfigPath);
70
+ if (_utils.fs.pathExistsSync(serverConfigPath)) {
71
+ return (0, _utils.compatRequire)(serverConfigPath);
45
72
  }
46
73
  return {};
47
74
  };
48
- const loadConfig = ({
49
- cliConfig,
50
- serverConfig,
51
- resolvedConfigPath
52
- }) => {
75
+ const loadConfig = ({ cliConfig, serverConfig, resolvedConfigPath }) => {
53
76
  let config = null;
54
77
  if (process.env.NODE_ENV === "production") {
55
78
  const resolvedConfig = requireConfig(resolvedConfigPath);
56
- config = (0, import_merge_deep.default)(
57
- {
58
- ...resolvedConfig,
59
- plugins: []
60
- // filter cli plugins
61
- },
62
- serverConfig,
63
- cliConfig
64
- );
79
+ config = (0, _mergedeep.default)({
80
+ ...resolvedConfig,
81
+ plugins: []
82
+ }, serverConfig, cliConfig);
65
83
  } else {
66
- config = (0, import_merge_deep.default)(
67
- {
68
- ...cliConfig,
69
- plugins: []
70
- },
71
- serverConfig
72
- );
84
+ config = (0, _mergedeep.default)({
85
+ ...cliConfig,
86
+ plugins: []
87
+ }, serverConfig);
73
88
  }
74
89
  return config;
75
90
  };
76
- // Annotate the CommonJS export names for ESM import in node:
77
- 0 && (module.exports = {
78
- getServerConfigPath,
79
- loadConfig,
80
- requireConfig
81
- });
@@ -1,26 +1,31 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
6
  for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var logger_exports = {};
19
- __export(logger_exports, {
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
20
13
  Logger: () => Logger,
21
14
  logger: () => logger
22
15
  });
23
- module.exports = __toCommonJS(logger_exports);
16
+ function _define_property(obj, key, value) {
17
+ if (key in obj) {
18
+ Object.defineProperty(obj, key, {
19
+ value,
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true
23
+ });
24
+ } else {
25
+ obj[key] = value;
26
+ }
27
+ return obj;
28
+ }
24
29
  const LOG_LEVEL = {
25
30
  error: 0,
26
31
  warn: 1,
@@ -54,25 +59,15 @@ const LOG_TYPES = {
54
59
  label: "debug",
55
60
  level: "debug"
56
61
  },
57
- log: { level: "log" }
62
+ log: {
63
+ level: "log"
64
+ }
58
65
  };
59
66
  const DEFAULT_CONFIG = {
60
67
  displayLabel: true,
61
68
  uppercaseLabel: false
62
69
  };
63
70
  class Logger {
64
- constructor(options = {}) {
65
- this.level = options.level || LOG_TYPES.log.level;
66
- this.config = { ...DEFAULT_CONFIG, ...options.config || {} };
67
- this.types = {
68
- ...LOG_TYPES,
69
- ...options.types || {}
70
- };
71
- this.longestLabel = this.getLongestLabel();
72
- Object.keys(this.types).forEach((type) => {
73
- this[type] = this._log.bind(this, type);
74
- });
75
- }
76
71
  _log(type, message, ...args) {
77
72
  if (message === void 0 || message === null) {
78
73
  console.log();
@@ -112,11 +107,25 @@ ${rest.join("\n")}`;
112
107
  });
113
108
  return longestLabel;
114
109
  }
110
+ constructor(options = {}) {
111
+ _define_property(this, "level", void 0);
112
+ _define_property(this, "config", void 0);
113
+ _define_property(this, "types", void 0);
114
+ _define_property(this, "longestLabel", void 0);
115
+ this.level = options.level || LOG_TYPES.log.level;
116
+ this.config = {
117
+ ...DEFAULT_CONFIG,
118
+ ...options.config || {}
119
+ };
120
+ this.types = {
121
+ ...LOG_TYPES,
122
+ ...options.types || {}
123
+ };
124
+ this.longestLabel = this.getLongestLabel();
125
+ Object.keys(this.types).forEach((type) => {
126
+ this[type] = this._log.bind(this, type);
127
+ });
128
+ }
115
129
  }
116
130
  const logger = new Logger();
117
131
  logger.Logger = Logger;
118
- // Annotate the CommonJS export names for ESM import in node:
119
- 0 && (module.exports = {
120
- Logger,
121
- logger
122
- });
@@ -1,25 +1,11 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var metrics_exports = {};
19
- __export(metrics_exports, {
20
- metrics: () => metrics
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "metrics", {
6
+ enumerable: true,
7
+ get: () => metrics
21
8
  });
22
- module.exports = __toCommonJS(metrics_exports);
23
9
  const metrics = {
24
10
  gauges() {
25
11
  },
@@ -28,7 +14,3 @@ const metrics = {
28
14
  emitTimer() {
29
15
  }
30
16
  };
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- metrics
34
- });
@@ -1,50 +1,38 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
6
  for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var proxy_exports = {};
19
- __export(proxy_exports, {
20
- createProxyHandler: () => createProxyHandler,
21
- formatProxyOptions: () => formatProxyOptions
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ formatProxyOptions: () => formatProxyOptions,
14
+ createProxyHandler: () => createProxyHandler
22
15
  });
23
- module.exports = __toCommonJS(proxy_exports);
24
- var import_http_proxy_middleware = require("http-proxy-middleware");
25
- var import_utils = require("../utils");
16
+ const _httpproxymiddleware = require("http-proxy-middleware");
17
+ const _utils = require("../utils");
26
18
  function formatProxyOptions(proxyOptions) {
27
19
  const formattedProxy = [];
28
20
  if (!Array.isArray(proxyOptions)) {
29
21
  if ("target" in proxyOptions) {
30
22
  formattedProxy.push(proxyOptions);
31
23
  } else {
32
- Array.prototype.push.apply(
33
- formattedProxy,
34
- Object.keys(proxyOptions).reduce(
35
- (total, source) => {
36
- const option = proxyOptions[source];
37
- total.push({
38
- context: source,
39
- changeOrigin: true,
40
- logLevel: "warn",
41
- ...typeof option === "string" ? { target: option } : option
42
- });
43
- return total;
44
- },
45
- []
46
- )
47
- );
24
+ Array.prototype.push.apply(formattedProxy, Object.keys(proxyOptions).reduce((total, source) => {
25
+ const option = proxyOptions[source];
26
+ total.push({
27
+ context: source,
28
+ changeOrigin: true,
29
+ logLevel: "warn",
30
+ ...typeof option === "string" ? {
31
+ target: option
32
+ } : option
33
+ });
34
+ return total;
35
+ }, []));
48
36
  }
49
37
  } else {
50
38
  formattedProxy.push(...proxyOptions);
@@ -52,13 +40,13 @@ function formatProxyOptions(proxyOptions) {
52
40
  return formattedProxy;
53
41
  }
54
42
  const createProxyHandler = (proxyOptions) => {
55
- (0, import_utils.debug)("createProxyHandler", proxyOptions);
43
+ (0, _utils.debug)("createProxyHandler", proxyOptions);
56
44
  if (!proxyOptions) {
57
45
  return null;
58
46
  }
59
47
  const formattedProxy = formatProxyOptions(proxyOptions);
60
48
  const middlewares = formattedProxy.map((option) => {
61
- const middleware = (0, import_http_proxy_middleware.createProxyMiddleware)(option.context, option);
49
+ const middleware = (0, _httpproxymiddleware.createProxyMiddleware)(option.context, option);
62
50
  return async (ctx, next) => {
63
51
  const { req, res } = ctx;
64
52
  const bypassUrl = typeof option.bypass === "function" ? option.bypass(req, res, option) : null;
@@ -74,8 +62,3 @@ const createProxyHandler = (proxyOptions) => {
74
62
  });
75
63
  return middlewares;
76
64
  };
77
- // Annotate the CommonJS export names for ESM import in node:
78
- 0 && (module.exports = {
79
- createProxyHandler,
80
- formatProxyOptions
81
- });
@@ -1,75 +1,63 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from === "object" || typeof from === "function") {
9
- for (let key of __getOwnPropNames(from))
10
- if (!__hasOwnProp.call(to, key) && key !== except)
11
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- }
13
- return to;
14
- };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
- mod
22
- ));
23
- var import_url = __toESM(require("url"));
24
- var import_spr = require("../spr");
25
- var import_util = require("../util");
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _url = /* @__PURE__ */ _interop_require_default(require("url"));
6
+ const _spr = require("../spr");
7
+ const _util = require("../util");
8
+ function _interop_require_default(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
26
13
  describe("test spr util functions", () => {
27
14
  it("should return value correctly", () => {
28
- expect((0, import_util.connectFactor)("bar", "foo")).toBe("bar-foo");
29
- expect((0, import_util.fname)(1)).toBe("f1");
30
- expect((0, import_util.namespaceHash)("modern", "!@#$%^&")).toBe("modern/!@#$%^&");
15
+ expect((0, _util.connectFactor)("bar", "foo")).toBe("bar-foo");
16
+ expect((0, _util.fname)(1)).toBe("f1");
17
+ expect((0, _util.namespaceHash)("modern", "!@#$%^&")).toBe("modern/!@#$%^&");
31
18
  });
32
19
  it("should create or destroy instance correctly", () => {
33
- const ins1 = (0, import_spr.createCache)();
34
- const ins2 = (0, import_spr.createCache)();
20
+ const ins1 = (0, _spr.createCache)();
21
+ const ins2 = (0, _spr.createCache)();
35
22
  expect(ins1 === ins2).toBe(true);
36
- (0, import_spr.destroyCache)();
37
- const ins3 = (0, import_spr.createCache)();
23
+ (0, _spr.destroyCache)();
24
+ const ins3 = (0, _spr.createCache)();
38
25
  expect(ins1 === ins3).toBe(false);
39
26
  expect(ins2 === ins3).toBe(false);
40
27
  });
41
28
  it("should return function correctly", () => {
42
- const urlParams = (() => new import_url.default.URLSearchParams())();
29
+ const urlParams = (() => new _url.default.URLSearchParams())();
43
30
  urlParams.set("name", "modern");
44
- const getParam = (0, import_util.valueFactory)(urlParams);
31
+ const getParam = (0, _util.valueFactory)(urlParams);
45
32
  expect(getParam("name")).toBe("modern");
46
- const headers = { age: "12345" };
47
- const getHeader = (0, import_util.valueFactory)(headers);
33
+ const headers = {
34
+ age: "12345"
35
+ };
36
+ const getHeader = (0, _util.valueFactory)(headers);
48
37
  expect(getHeader("age")).toBe("12345");
49
38
  });
50
39
  it("should add target html content", () => {
51
40
  const contentNoHead = "<div>123</div>";
52
- const html = (0, import_util.cacheAddition)(contentNoHead, Math.random().toString());
41
+ const html = (0, _util.cacheAddition)(contentNoHead, Math.random().toString());
53
42
  expect(html).toBe(contentNoHead);
54
43
  const contentWithHead = "<head></head><div>123</div>";
55
44
  const hash = Math.random().toString();
56
- const htmlWithHead = (0, import_util.cacheAddition)(contentWithHead, hash);
57
- expect(htmlWithHead).toBe(
58
- `<head><meta name="x-moden-spr" content="${hash}"></head><div>123</div>`
59
- );
45
+ const htmlWithHead = (0, _util.cacheAddition)(contentWithHead, hash);
46
+ expect(htmlWithHead).toBe(`<head><meta name="x-moden-spr" content="${hash}"></head><div>123</div>`);
60
47
  });
61
48
  it("should only invoke func one time", async () => {
62
49
  let index = 0;
63
- const fn = (0, import_util.withCoalescedInvoke)(
64
- async () => new Promise((resolve) => {
65
- setTimeout(() => {
66
- index += 1;
67
- resolve(index);
68
- }, 500);
69
- })
70
- );
50
+ const fn = (0, _util.withCoalescedInvoke)(async () => new Promise((resolve) => {
51
+ setTimeout(() => {
52
+ index += 1;
53
+ resolve(index);
54
+ }, 500);
55
+ }));
71
56
  const key = "test";
72
- const [res1, res2] = await Promise.all([fn(key, []), fn(key, [])]);
57
+ const [res1, res2] = await Promise.all([
58
+ fn(key, []),
59
+ fn(key, [])
60
+ ]);
73
61
  expect(res1.isOrigin && res2.isOrigin).toBe(false);
74
62
  expect(res1.isOrigin || res2.isOrigin).toBe(true);
75
63
  expect(res1.value).toBe(1);
@@ -77,21 +65,17 @@ describe("test spr util functions", () => {
77
65
  });
78
66
  it("should invoke sync or async", async () => {
79
67
  const foo = "";
80
- const async = await (0, import_util.maybeSync)(
81
- () => new Promise((resolve) => {
82
- setTimeout(() => {
83
- resolve(foo);
84
- }, 100);
85
- })
86
- )(false);
68
+ const async = await (0, _util.maybeSync)(() => new Promise((resolve) => {
69
+ setTimeout(() => {
70
+ resolve(foo);
71
+ }, 100);
72
+ }))(false);
87
73
  expect(async).toBeUndefined();
88
- const sync = await (0, import_util.maybeSync)(
89
- () => new Promise((resolve) => {
90
- setTimeout(() => {
91
- resolve(foo);
92
- }, 100);
93
- })
94
- )(true);
74
+ const sync = await (0, _util.maybeSync)(() => new Promise((resolve) => {
75
+ setTimeout(() => {
76
+ resolve(foo);
77
+ }, 100);
78
+ }))(true);
95
79
  expect(sync).toBe(foo);
96
80
  });
97
81
  });