@modern-js/prod-server 2.47.0 → 2.47.1-alpha.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 (169) hide show
  1. package/README.md +20 -16
  2. package/dist/cjs/{libs/hook-api/route.js → error.js} +16 -25
  3. package/dist/cjs/index.js +46 -24
  4. package/dist/esm/error.js +15 -0
  5. package/dist/esm/index.js +105 -19
  6. package/dist/esm-node/error.js +14 -0
  7. package/dist/esm-node/index.js +44 -17
  8. package/dist/types/error.d.ts +6 -0
  9. package/dist/types/index.d.ts +21 -11
  10. package/package.json +18 -92
  11. package/dist/cjs/constants.js +0 -72
  12. package/dist/cjs/libs/context/context.js +0 -240
  13. package/dist/cjs/libs/context/index.js +0 -31
  14. package/dist/cjs/libs/hook-api/afterRenderForStream.js +0 -34
  15. package/dist/cjs/libs/hook-api/base.js +0 -107
  16. package/dist/cjs/libs/hook-api/index.js +0 -85
  17. package/dist/cjs/libs/hook-api/index.worker.js +0 -119
  18. package/dist/cjs/libs/hook-api/template.js +0 -74
  19. package/dist/cjs/libs/hook-api/templateForStream.js +0 -52
  20. package/dist/cjs/libs/loadConfig.js +0 -70
  21. package/dist/cjs/libs/metrics.js +0 -33
  22. package/dist/cjs/libs/preload/flushServerHeader.js +0 -49
  23. package/dist/cjs/libs/preload/index.js +0 -24
  24. package/dist/cjs/libs/preload/parseLinks.js +0 -124
  25. package/dist/cjs/libs/preload/shouldFlushServerHeader.js +0 -52
  26. package/dist/cjs/libs/preload/transformLinks2String.js +0 -150
  27. package/dist/cjs/libs/proxy.js +0 -99
  28. package/dist/cjs/libs/render/index.js +0 -109
  29. package/dist/cjs/libs/render/measure.js +0 -74
  30. package/dist/cjs/libs/render/ssr.js +0 -126
  31. package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -56
  32. package/dist/cjs/libs/render/ssrCache/index.js +0 -83
  33. package/dist/cjs/libs/render/ssrCache/manager.js +0 -106
  34. package/dist/cjs/libs/render/static.js +0 -72
  35. package/dist/cjs/libs/render/type.js +0 -33
  36. package/dist/cjs/libs/render/utils.js +0 -41
  37. package/dist/cjs/libs/reporter.js +0 -39
  38. package/dist/cjs/libs/route/index.js +0 -85
  39. package/dist/cjs/libs/route/matcher.js +0 -117
  40. package/dist/cjs/libs/route/route.js +0 -49
  41. package/dist/cjs/libs/serveFile.js +0 -84
  42. package/dist/cjs/libs/serverTiming.js +0 -44
  43. package/dist/cjs/renderHtml.js +0 -72
  44. package/dist/cjs/server/index.js +0 -229
  45. package/dist/cjs/server/modernServer.js +0 -532
  46. package/dist/cjs/server/modernServerSplit.js +0 -67
  47. package/dist/cjs/type.js +0 -16
  48. package/dist/cjs/utils.js +0 -164
  49. package/dist/cjs/workerServer.js +0 -264
  50. package/dist/esm/constants.js +0 -43
  51. package/dist/esm/libs/context/context.js +0 -292
  52. package/dist/esm/libs/context/index.js +0 -8
  53. package/dist/esm/libs/hook-api/afterRenderForStream.js +0 -33
  54. package/dist/esm/libs/hook-api/base.js +0 -108
  55. package/dist/esm/libs/hook-api/index.js +0 -55
  56. package/dist/esm/libs/hook-api/index.worker.js +0 -113
  57. package/dist/esm/libs/hook-api/route.js +0 -41
  58. package/dist/esm/libs/hook-api/template.js +0 -84
  59. package/dist/esm/libs/hook-api/templateForStream.js +0 -35
  60. package/dist/esm/libs/loadConfig.js +0 -36
  61. package/dist/esm/libs/metrics.js +0 -9
  62. package/dist/esm/libs/preload/flushServerHeader.js +0 -50
  63. package/dist/esm/libs/preload/index.js +0 -2
  64. package/dist/esm/libs/preload/parseLinks.js +0 -172
  65. package/dist/esm/libs/preload/shouldFlushServerHeader.js +0 -27
  66. package/dist/esm/libs/preload/transformLinks2String.js +0 -140
  67. package/dist/esm/libs/proxy.js +0 -160
  68. package/dist/esm/libs/render/index.js +0 -175
  69. package/dist/esm/libs/render/measure.js +0 -69
  70. package/dist/esm/libs/render/ssr.js +0 -129
  71. package/dist/esm/libs/render/ssrCache/cacheMod.js +0 -33
  72. package/dist/esm/libs/render/ssrCache/index.js +0 -151
  73. package/dist/esm/libs/render/ssrCache/manager.js +0 -170
  74. package/dist/esm/libs/render/static.js +0 -100
  75. package/dist/esm/libs/render/type.js +0 -9
  76. package/dist/esm/libs/render/utils.js +0 -16
  77. package/dist/esm/libs/reporter.js +0 -15
  78. package/dist/esm/libs/route/index.js +0 -116
  79. package/dist/esm/libs/route/matcher.js +0 -128
  80. package/dist/esm/libs/route/route.js +0 -26
  81. package/dist/esm/libs/serveFile.js +0 -68
  82. package/dist/esm/libs/serverTiming.js +0 -30
  83. package/dist/esm/renderHtml.js +0 -150
  84. package/dist/esm/server/index.js +0 -426
  85. package/dist/esm/server/modernServer.js +0 -1018
  86. package/dist/esm/server/modernServerSplit.js +0 -138
  87. package/dist/esm/type.js +0 -0
  88. package/dist/esm/utils.js +0 -103
  89. package/dist/esm/workerServer.js +0 -347
  90. package/dist/esm-node/constants.js +0 -43
  91. package/dist/esm-node/libs/context/context.js +0 -206
  92. package/dist/esm-node/libs/context/index.js +0 -6
  93. package/dist/esm-node/libs/hook-api/afterRenderForStream.js +0 -10
  94. package/dist/esm-node/libs/hook-api/base.js +0 -72
  95. package/dist/esm-node/libs/hook-api/index.js +0 -57
  96. package/dist/esm-node/libs/hook-api/index.worker.js +0 -92
  97. package/dist/esm-node/libs/hook-api/route.js +0 -24
  98. package/dist/esm-node/libs/hook-api/template.js +0 -49
  99. package/dist/esm-node/libs/hook-api/templateForStream.js +0 -28
  100. package/dist/esm-node/libs/loadConfig.js +0 -34
  101. package/dist/esm-node/libs/metrics.js +0 -9
  102. package/dist/esm-node/libs/preload/flushServerHeader.js +0 -25
  103. package/dist/esm-node/libs/preload/index.js +0 -2
  104. package/dist/esm-node/libs/preload/parseLinks.js +0 -90
  105. package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +0 -27
  106. package/dist/esm-node/libs/preload/transformLinks2String.js +0 -126
  107. package/dist/esm-node/libs/proxy.js +0 -74
  108. package/dist/esm-node/libs/render/index.js +0 -75
  109. package/dist/esm-node/libs/render/measure.js +0 -49
  110. package/dist/esm-node/libs/render/ssr.js +0 -92
  111. package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -22
  112. package/dist/esm-node/libs/render/ssrCache/index.js +0 -59
  113. package/dist/esm-node/libs/render/ssrCache/manager.js +0 -82
  114. package/dist/esm-node/libs/render/static.js +0 -38
  115. package/dist/esm-node/libs/render/type.js +0 -9
  116. package/dist/esm-node/libs/render/utils.js +0 -16
  117. package/dist/esm-node/libs/reporter.js +0 -15
  118. package/dist/esm-node/libs/route/index.js +0 -60
  119. package/dist/esm-node/libs/route/matcher.js +0 -93
  120. package/dist/esm-node/libs/route/route.js +0 -25
  121. package/dist/esm-node/libs/serveFile.js +0 -49
  122. package/dist/esm-node/libs/serverTiming.js +0 -20
  123. package/dist/esm-node/renderHtml.js +0 -80
  124. package/dist/esm-node/server/index.js +0 -195
  125. package/dist/esm-node/server/modernServer.js +0 -498
  126. package/dist/esm-node/server/modernServerSplit.js +0 -43
  127. package/dist/esm-node/type.js +0 -0
  128. package/dist/esm-node/utils.js +0 -132
  129. package/dist/esm-node/workerServer.js +0 -239
  130. package/dist/types/constants.d.ts +0 -30
  131. package/dist/types/libs/context/context.d.ts +0 -62
  132. package/dist/types/libs/context/index.d.ts +0 -7
  133. package/dist/types/libs/hook-api/afterRenderForStream.d.ts +0 -4
  134. package/dist/types/libs/hook-api/base.d.ts +0 -53
  135. package/dist/types/libs/hook-api/index.d.ts +0 -6
  136. package/dist/types/libs/hook-api/index.worker.d.ts +0 -19
  137. package/dist/types/libs/hook-api/route.d.ts +0 -9
  138. package/dist/types/libs/hook-api/template.d.ts +0 -22
  139. package/dist/types/libs/hook-api/templateForStream.d.ts +0 -8
  140. package/dist/types/libs/loadConfig.d.ts +0 -13
  141. package/dist/types/libs/metrics.d.ts +0 -3
  142. package/dist/types/libs/preload/flushServerHeader.d.ts +0 -14
  143. package/dist/types/libs/preload/index.d.ts +0 -2
  144. package/dist/types/libs/preload/parseLinks.d.ts +0 -13
  145. package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +0 -3
  146. package/dist/types/libs/preload/transformLinks2String.d.ts +0 -3
  147. package/dist/types/libs/proxy.d.ts +0 -13
  148. package/dist/types/libs/render/index.d.ts +0 -21
  149. package/dist/types/libs/render/measure.d.ts +0 -10
  150. package/dist/types/libs/render/ssr.d.ts +0 -12
  151. package/dist/types/libs/render/ssrCache/cacheMod.d.ts +0 -8
  152. package/dist/types/libs/render/ssrCache/index.d.ts +0 -7
  153. package/dist/types/libs/render/ssrCache/manager.d.ts +0 -14
  154. package/dist/types/libs/render/static.d.ts +0 -3
  155. package/dist/types/libs/render/type.d.ts +0 -36
  156. package/dist/types/libs/render/utils.d.ts +0 -5
  157. package/dist/types/libs/reporter.d.ts +0 -2
  158. package/dist/types/libs/route/index.d.ts +0 -15
  159. package/dist/types/libs/route/matcher.d.ts +0 -15
  160. package/dist/types/libs/route/route.d.ts +0 -14
  161. package/dist/types/libs/serveFile.d.ts +0 -9
  162. package/dist/types/libs/serverTiming.d.ts +0 -13
  163. package/dist/types/renderHtml.d.ts +0 -23
  164. package/dist/types/server/index.d.ts +0 -55
  165. package/dist/types/server/modernServer.d.ts +0 -71
  166. package/dist/types/server/modernServerSplit.d.ts +0 -2
  167. package/dist/types/type.d.ts +0 -77
  168. package/dist/types/utils.d.ts +0 -24
  169. package/dist/types/workerServer.d.ts +0 -59
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var utils_exports = {};
20
- __export(utils_exports, {
21
- injectServerData: () => injectServerData,
22
- injectServerDataStream: () => injectServerDataStream
23
- });
24
- module.exports = __toCommonJS(utils_exports);
25
- var import_template = require("../hook-api/template");
26
- var import_templateForStream = require("../hook-api/templateForStream");
27
- const injectServerData = (content, context) => {
28
- const template = new import_template.TemplateAPI(content);
29
- template.prependHead(`<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(context.serverData)}</script>`);
30
- return template.get();
31
- };
32
- const injectServerDataStream = (content, context) => {
33
- return content.pipe((0, import_templateForStream.templateInjectableStream)({
34
- prependHead: `<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(context.serverData)}</script>`
35
- }));
36
- };
37
- // Annotate the CommonJS export names for ESM import in node:
38
- 0 && (module.exports = {
39
- injectServerData,
40
- injectServerDataStream
41
- });
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var reporter_exports = {};
20
- __export(reporter_exports, {
21
- defaultReporter: () => defaultReporter
22
- });
23
- module.exports = __toCommonJS(reporter_exports);
24
- const defaultReporter = {
25
- init() {
26
- },
27
- reportError() {
28
- },
29
- reportTiming() {
30
- },
31
- reportInfo() {
32
- },
33
- reportWarn() {
34
- }
35
- };
36
- // Annotate the CommonJS export names for ESM import in node:
37
- 0 && (module.exports = {
38
- defaultReporter
39
- });
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var route_exports = {};
20
- __export(route_exports, {
21
- RouteMatchManager: () => RouteMatchManager,
22
- RouteMatcher: () => import_matcher.RouteMatcher
23
- });
24
- module.exports = __toCommonJS(route_exports);
25
- var import_define_property = require("@swc/helpers/_/_define_property");
26
- var import_matcher = require("./matcher");
27
- class RouteMatchManager {
28
- // get all routes matches pathname
29
- filter(pathname) {
30
- return this.matchers.reduce((matches, matcher) => {
31
- if (matcher.matchUrlPath(pathname)) {
32
- matches.push(matcher);
33
- }
34
- return matches;
35
- }, []);
36
- }
37
- // get best match from a set of matches
38
- best(pathname, matches) {
39
- let best;
40
- let matchedLen = 0;
41
- for (const match of matches) {
42
- const len = match.matchLength(pathname);
43
- if (len === null) {
44
- continue;
45
- }
46
- if (len > matchedLen) {
47
- best = match;
48
- matchedLen = len;
49
- }
50
- }
51
- return best;
52
- }
53
- // reset routes matcher
54
- reset(specs) {
55
- this.specs = specs;
56
- const matchers = specs.reduce((ms, spec) => {
57
- ms.push(new import_matcher.RouteMatcher(spec));
58
- return ms;
59
- }, []);
60
- this.matchers = matchers;
61
- }
62
- // get best match from all matcher in manager
63
- match(pathname) {
64
- const matches = this.filter(pathname);
65
- const best = this.best(pathname, matches);
66
- return best;
67
- }
68
- matchEntry(entryname) {
69
- return this.matchers.find((matcher) => matcher.matchEntry(entryname));
70
- }
71
- getBundles() {
72
- const bundles = this.specs.filter((route) => route.isSSR).map((route) => route.bundle);
73
- return bundles;
74
- }
75
- constructor() {
76
- (0, import_define_property._)(this, "matchers", void 0);
77
- (0, import_define_property._)(this, "specs", []);
78
- this.matchers = [];
79
- }
80
- }
81
- // Annotate the CommonJS export names for ESM import in node:
82
- 0 && (module.exports = {
83
- RouteMatchManager,
84
- RouteMatcher
85
- });
@@ -1,117 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var matcher_exports = {};
20
- __export(matcher_exports, {
21
- RouteMatcher: () => RouteMatcher
22
- });
23
- module.exports = __toCommonJS(matcher_exports);
24
- var import_define_property = require("@swc/helpers/_/_define_property");
25
- var import_path_to_regexp = require("path-to-regexp");
26
- var import_route = require("./route");
27
- const removeTailSlash = (s) => s.replace(/\/+$/, "");
28
- const removeHtmlSuffix = (url) => {
29
- if (url.endsWith(".html")) {
30
- return url.slice(0, -5);
31
- }
32
- return url;
33
- };
34
- const toPath = (reg, params) => {
35
- const fn = (0, import_path_to_regexp.compile)(reg, {
36
- encode: encodeURIComponent
37
- });
38
- return fn(params);
39
- };
40
- const regCharsDetector = /[^a-zA-Z\-_0-9\/\.]/;
41
- class RouteMatcher {
42
- // generate modern route object
43
- generate(url) {
44
- const route = new import_route.ModernRoute(this.spec);
45
- if (this.urlPath) {
46
- const params = this.parseURLParams(url);
47
- route.urlPath = toPath(route.urlPath, params);
48
- route.params = params;
49
- }
50
- return route;
51
- }
52
- parseURLParams(pathname) {
53
- if (!this.urlMatcher) {
54
- return {};
55
- } else {
56
- const matchResult = this.urlMatcher(pathname);
57
- return matchResult.params;
58
- }
59
- }
60
- // get match url length
61
- matchLength(pathname) {
62
- if (!this.urlReg) {
63
- return this.urlPath.length;
64
- } else {
65
- var _result_;
66
- const result = this.urlReg.exec(pathname);
67
- return (result === null || result === void 0 ? void 0 : (_result_ = result[0]) === null || _result_ === void 0 ? void 0 : _result_.length) || null;
68
- }
69
- }
70
- // if match url path
71
- matchUrlPath(requestUrl) {
72
- let urlWithoutSlash = requestUrl.endsWith("/") && requestUrl !== "/" ? requestUrl.slice(0, -1) : requestUrl;
73
- urlWithoutSlash = removeHtmlSuffix(urlWithoutSlash);
74
- if (this.urlMatcher) {
75
- return Boolean(this.urlMatcher(urlWithoutSlash));
76
- } else {
77
- const urlPath = removeHtmlSuffix(this.urlPath);
78
- if (urlWithoutSlash.startsWith(urlPath)) {
79
- if (urlPath !== "/" && urlWithoutSlash.length > urlPath.length && !urlWithoutSlash.startsWith(`${urlPath}/`)) {
80
- return false;
81
- }
82
- return true;
83
- }
84
- return false;
85
- }
86
- }
87
- matchEntry(entryName) {
88
- return this.spec.entryName === entryName;
89
- }
90
- // compiler urlPath to regexp if necessary
91
- setupUrlPath() {
92
- const { urlPath } = this.spec;
93
- this.urlPath = urlPath === "/" ? urlPath : removeTailSlash(urlPath);
94
- const useReg = regCharsDetector.test(urlPath);
95
- if (useReg) {
96
- this.urlMatcher = (0, import_path_to_regexp.match)(urlPath, {
97
- end: false,
98
- decode: decodeURIComponent
99
- });
100
- this.urlReg = (0, import_path_to_regexp.pathToRegexp)(urlPath, [], {
101
- end: false
102
- });
103
- }
104
- }
105
- constructor(spec) {
106
- (0, import_define_property._)(this, "spec", void 0);
107
- (0, import_define_property._)(this, "urlPath", "");
108
- (0, import_define_property._)(this, "urlMatcher", void 0);
109
- (0, import_define_property._)(this, "urlReg", void 0);
110
- this.spec = spec;
111
- this.setupUrlPath();
112
- }
113
- }
114
- // Annotate the CommonJS export names for ESM import in node:
115
- 0 && (module.exports = {
116
- RouteMatcher
117
- });
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var route_exports = {};
20
- __export(route_exports, {
21
- ModernRoute: () => ModernRoute
22
- });
23
- module.exports = __toCommonJS(route_exports);
24
- var import_define_property = require("@swc/helpers/_/_define_property");
25
- class ModernRoute {
26
- constructor(routeSpec) {
27
- (0, import_define_property._)(this, "entryName", void 0);
28
- (0, import_define_property._)(this, "urlPath", void 0);
29
- (0, import_define_property._)(this, "entryPath", void 0);
30
- (0, import_define_property._)(this, "bundle", void 0);
31
- (0, import_define_property._)(this, "isApi", void 0);
32
- (0, import_define_property._)(this, "isSSR", void 0);
33
- (0, import_define_property._)(this, "isSPA", void 0);
34
- (0, import_define_property._)(this, "params", {});
35
- (0, import_define_property._)(this, "responseHeaders", void 0);
36
- this.entryName = routeSpec.entryName || "";
37
- this.urlPath = routeSpec.urlPath;
38
- this.entryPath = routeSpec.entryPath || "";
39
- this.isSSR = routeSpec.isSSR || false;
40
- this.isSPA = routeSpec.isSPA || false;
41
- this.isApi = routeSpec.isApi || false;
42
- this.bundle = routeSpec.bundle || "";
43
- this.responseHeaders = routeSpec.responseHeaders;
44
- }
45
- }
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- ModernRoute
49
- });
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var serveFile_exports = {};
30
- __export(serveFile_exports, {
31
- createStaticFileHandler: () => createStaticFileHandler,
32
- faviconFallbackHandler: () => faviconFallbackHandler
33
- });
34
- module.exports = __toCommonJS(serveFile_exports);
35
- var import_serve_static = __toESM(require("serve-static"));
36
- var import_utils = require("@modern-js/utils");
37
- const removedPrefix = (req, prefix) => {
38
- const useLocalPrefix = !prefix.includes(".");
39
- if (useLocalPrefix) {
40
- req.url = req.url.slice(prefix.length);
41
- return () => {
42
- req.url = prefix + req.url;
43
- };
44
- } else {
45
- return () => {
46
- };
47
- }
48
- };
49
- const faviconFallbackHandler = (context, next) => {
50
- if (context.url === "/favicon.ico") {
51
- context.res.statusCode = 204;
52
- context.res.end();
53
- } else {
54
- next();
55
- }
56
- };
57
- const createStaticFileHandler = (rules, assetPrefix = "/") => (
58
- // eslint-disable-next-line consistent-return
59
- async (context, next) => {
60
- const { url: requestUrl, req, res } = context;
61
- const hitRule = rules.find((item) => {
62
- if ((0, import_utils.isString)(item.path) && requestUrl.startsWith(item.path)) {
63
- return true;
64
- } else if ((0, import_utils.isRegExp)(item.path) && item.path.test(requestUrl)) {
65
- return true;
66
- }
67
- return false;
68
- });
69
- if (hitRule) {
70
- const resume = removedPrefix(req, assetPrefix);
71
- (0, import_serve_static.default)(hitRule.target)(req, res, () => {
72
- resume();
73
- next();
74
- });
75
- } else {
76
- return next();
77
- }
78
- }
79
- );
80
- // Annotate the CommonJS export names for ESM import in node:
81
- 0 && (module.exports = {
82
- createStaticFileHandler,
83
- faviconFallbackHandler
84
- });
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var serverTiming_exports = {};
20
- __export(serverTiming_exports, {
21
- ServerTiming: () => ServerTiming
22
- });
23
- module.exports = __toCommonJS(serverTiming_exports);
24
- var import_define_property = require("@swc/helpers/_/_define_property");
25
- const SERVER_TIMING = "Server-Timing";
26
- class ServerTiming {
27
- addServeTiming(name, dur, desc) {
28
- const _name = `bd-${this.meta}-${name}`;
29
- const serverTiming = this.res.getHeader(SERVER_TIMING) || this.res.getHeader(SERVER_TIMING.toLocaleLowerCase());
30
- const value = `${_name};${desc ? `decs="${desc}";` : ""} dur=${dur}`;
31
- this.res.set(SERVER_TIMING, serverTiming ? `${serverTiming}, ${value}` : value);
32
- return this;
33
- }
34
- constructor(res, meta) {
35
- (0, import_define_property._)(this, "meta", void 0);
36
- (0, import_define_property._)(this, "res", void 0);
37
- this.meta = meta;
38
- this.res = res;
39
- }
40
- }
41
- // Annotate the CommonJS export names for ESM import in node:
42
- 0 && (module.exports = {
43
- ServerTiming
44
- });
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var import_define_property = require("@swc/helpers/_/_define_property");
3
- var import_http = require("http");
4
- var import_stream = require("stream");
5
- var import_net = require("net");
6
- var import_server = require("./server");
7
- var import_utils = require("./utils");
8
- class IncomingMessageLike extends import_stream.Readable {
9
- constructor({ method, url, headers }) {
10
- super();
11
- (0, import_define_property._)(this, "headers", void 0);
12
- (0, import_define_property._)(this, "method", void 0);
13
- (0, import_define_property._)(this, "url", void 0);
14
- (0, import_define_property._)(this, "socket", void 0);
15
- this.socket = new import_net.Socket();
16
- this.headers = headers || {};
17
- this.headers.host = "localhost:8080";
18
- this.method = method || "get";
19
- this.url = url;
20
- }
21
- }
22
- class ServerResponseLike extends import_http.OutgoingMessage {
23
- end(chunk, _encoding, cb) {
24
- this.data.push(chunk.toString());
25
- cb && cb();
26
- this.emit("finish");
27
- return this;
28
- }
29
- constructor() {
30
- super();
31
- (0, import_define_property._)(this, "statusCode", void 0);
32
- (0, import_define_property._)(this, "data", void 0);
33
- this.statusCode = 200;
34
- this.data = [];
35
- }
36
- }
37
- class CustomServer extends import_server.Server {
38
- async render(req, res, _url) {
39
- const handler = this.getRequestHandler();
40
- handler(req, res);
41
- return null;
42
- }
43
- }
44
- async function renderHtml({ url, method, headers, body, serverOptions }) {
45
- const req = new IncomingMessageLike({
46
- method,
47
- url,
48
- headers
49
- });
50
- if (body) {
51
- req.push(body);
52
- req.push(null);
53
- }
54
- const res = new ServerResponseLike();
55
- const customServer = new CustomServer(serverOptions);
56
- await customServer.init({
57
- disableHttpServer: true
58
- });
59
- customServer.render(req, res);
60
- return new Promise((resolve) => {
61
- res.addListener("finish", () => {
62
- resolve({
63
- headers: res.getHeaders(),
64
- redirected: (0, import_utils.isRedirect)(res.statusCode),
65
- status: res.statusCode,
66
- url,
67
- body: res.data.join()
68
- });
69
- });
70
- });
71
- }
72
- module.exports = renderHtml;