@modern-js/prod-server 2.46.1 → 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 +19 -93
  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 -97
  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 -81
  33. package/dist/cjs/libs/render/ssrCache/manager.js +0 -104
  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 -142
  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 -146
  73. package/dist/esm/libs/render/ssrCache/manager.js +0 -159
  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 -63
  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 -57
  113. package/dist/esm-node/libs/render/ssrCache/manager.js +0 -80
  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,84 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
- var RegList = {
5
- before: {
6
- head: "<head[^>]*>",
7
- body: "<body[^>]*>"
8
- },
9
- after: {
10
- head: "</head>",
11
- body: "</body>"
12
- }
13
- };
14
- var TemplateAPI = /* @__PURE__ */ function() {
15
- "use strict";
16
- function TemplateAPI2(content) {
17
- _class_call_check(this, TemplateAPI2);
18
- _define_property(this, "content", void 0);
19
- this.content = content;
20
- }
21
- _create_class(TemplateAPI2, [
22
- {
23
- key: "get",
24
- value: function get() {
25
- return this.content;
26
- }
27
- },
28
- {
29
- key: "set",
30
- value: function set(content) {
31
- this.content = content;
32
- }
33
- },
34
- {
35
- key: "prependHead",
36
- value: function prependHead(fragment) {
37
- var head = RegList.before.head;
38
- return this.replaceByFunction(new RegExp(head), function(beforeHead) {
39
- return "".concat(beforeHead).concat(fragment);
40
- });
41
- }
42
- },
43
- {
44
- key: "appendHead",
45
- value: function appendHead(fragment) {
46
- var head = RegList.after.head;
47
- return this.replace(head, "".concat(fragment).concat(head));
48
- }
49
- },
50
- {
51
- key: "prependBody",
52
- value: function prependBody(fragment) {
53
- var body = RegList.before.body;
54
- return this.replaceByFunction(new RegExp(body), function(beforeBody) {
55
- return "".concat(beforeBody).concat(fragment);
56
- });
57
- }
58
- },
59
- {
60
- key: "appendBody",
61
- value: function appendBody(fragment) {
62
- var body = RegList.after.body;
63
- return this.replace(body, "".concat(fragment).concat(body));
64
- }
65
- },
66
- {
67
- key: "replaceByFunction",
68
- value: function replaceByFunction(reg, replacer) {
69
- this.content = this.content.replace(reg, replacer);
70
- }
71
- },
72
- {
73
- key: "replace",
74
- value: function replace(reg, text) {
75
- this.content = this.content.replace(reg, text);
76
- }
77
- }
78
- ]);
79
- return TemplateAPI2;
80
- }();
81
- export {
82
- RegList,
83
- TemplateAPI
84
- };
@@ -1,35 +0,0 @@
1
- import { Transform } from "stream";
2
- import { RegList } from "./template";
3
- var templateInjectableStream = function(param) {
4
- var prependHead = param.prependHead, appendHead = param.appendHead, prependBody = param.prependBody, appendBody = param.appendBody;
5
- return new Transform({
6
- write: function write(chunk, _, callback) {
7
- var chunk_str = chunk.toString();
8
- if (prependHead) {
9
- var head = RegList.before.head;
10
- chunk_str = chunk_str.replace(new RegExp(head), function(beforeHead) {
11
- return "".concat(beforeHead).concat(prependHead);
12
- });
13
- }
14
- if (appendHead) {
15
- var head1 = RegList.after.head;
16
- chunk_str = chunk_str.replace(head1, "".concat(appendHead).concat(head1));
17
- }
18
- if (prependBody) {
19
- var body = RegList.before.body;
20
- chunk_str = chunk_str.replace(new RegExp(body), function(beforeBody) {
21
- return "".concat(beforeBody).concat(prependBody);
22
- });
23
- }
24
- if (appendBody) {
25
- var body1 = RegList.after.body;
26
- chunk_str = chunk_str.replace(body1, "".concat(appendBody).concat(body1));
27
- }
28
- this.push(chunk_str);
29
- callback();
30
- }
31
- });
32
- };
33
- export {
34
- templateInjectableStream
35
- };
@@ -1,36 +0,0 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
- import * as path from "path";
4
- import { compatRequire, fs, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
5
- import mergeDeep from "merge-deep";
6
- var getServerConfigPath = function(distDirectory) {
7
- var serverConfigFile = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_SERVER_CONFIG;
8
- var serverConfigPath = path.join(distDirectory, serverConfigFile);
9
- return "".concat(serverConfigPath, ".js");
10
- };
11
- var requireConfig = function(serverConfigPath) {
12
- if (fs.pathExistsSync(serverConfigPath)) {
13
- return compatRequire(serverConfigPath);
14
- }
15
- return {};
16
- };
17
- var loadConfig = function(param) {
18
- var cliConfig = param.cliConfig, serverConfig = param.serverConfig, resolvedConfigPath = param.resolvedConfigPath;
19
- var config = null;
20
- if (process.env.NODE_ENV === "production") {
21
- var resolvedConfig = requireConfig(resolvedConfigPath);
22
- config = mergeDeep(_object_spread_props(_object_spread({}, resolvedConfig), {
23
- plugins: []
24
- }), serverConfig, cliConfig);
25
- } else {
26
- config = mergeDeep(_object_spread_props(_object_spread({}, cliConfig), {
27
- plugins: []
28
- }), serverConfig);
29
- }
30
- return config;
31
- };
32
- export {
33
- getServerConfigPath,
34
- loadConfig,
35
- requireConfig
36
- };
@@ -1,9 +0,0 @@
1
- var metrics = {
2
- emitCounter: function emitCounter() {
3
- },
4
- emitTimer: function emitTimer() {
5
- }
6
- };
7
- export {
8
- metrics
9
- };
@@ -1,50 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { parseLinks } from "./parseLinks";
4
- import { transformLinks2String } from "./transformLinks2String";
5
- function flushServerHeader(_) {
6
- return _flushServerHeader.apply(this, arguments);
7
- }
8
- function _flushServerHeader() {
9
- _flushServerHeader = _async_to_generator(function(param) {
10
- var serverConf, ctx, distDir, template, headers, _ref, ssrConf, res, links, link, key, value;
11
- return _ts_generator(this, function(_state) {
12
- switch (_state.label) {
13
- case 0:
14
- serverConf = param.serverConf, ctx = param.ctx, distDir = param.distDir, template = param.template, headers = param.headers;
15
- _ref = serverConf || {}, ssrConf = _ref.ssr;
16
- if (typeof ssrConf !== "object") {
17
- return [
18
- 2
19
- ];
20
- }
21
- res = ctx.res;
22
- return [
23
- 4,
24
- parseLinks({
25
- template,
26
- distDir,
27
- pathname: ctx.path
28
- })
29
- ];
30
- case 1:
31
- links = _state.sent();
32
- link = transformLinks2String(links, ssrConf.preload);
33
- res.set("link", link);
34
- for (var key2 in headers || {}) {
35
- value = headers === null || headers === void 0 ? void 0 : headers[key2];
36
- value && res.set(key2, value);
37
- }
38
- res.flushHeaders();
39
- res.modernFlushedHeaders = true;
40
- return [
41
- 2
42
- ];
43
- }
44
- });
45
- });
46
- return _flushServerHeader.apply(this, arguments);
47
- }
48
- export {
49
- flushServerHeader
50
- };
@@ -1,2 +0,0 @@
1
- export * from "./parseLinks";
2
- export * from "./flushServerHeader";
@@ -1,172 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
- import path from "path";
5
- import { NESTED_ROUTE_SPEC_FILE, ROUTE_MANIFEST_FILE, ROUTE_SPEC_FILE, fs } from "@modern-js/utils";
6
- import { parse as htmlParse } from "node-html-parser";
7
- import { matchRoutes } from "@modern-js/runtime-utils/remix-router";
8
- import { matchEntry } from "@modern-js/runtime-utils/node";
9
- function parseLinks(_) {
10
- return _parseLinks.apply(this, arguments);
11
- }
12
- function _parseLinks() {
13
- _parseLinks = _async_to_generator(function(param) {
14
- var pathname, distDir, template, links;
15
- return _ts_generator(this, function(_state) {
16
- switch (_state.label) {
17
- case 0:
18
- pathname = param.pathname, distDir = param.distDir, template = param.template;
19
- return [
20
- 4,
21
- parseLinksFromRoutes(pathname, distDir)
22
- ];
23
- case 1:
24
- links = _state.sent();
25
- return [
26
- 2,
27
- links.concat(parseLinksFromHtml(template))
28
- ];
29
- }
30
- });
31
- });
32
- return _parseLinks.apply(this, arguments);
33
- }
34
- function parseLinksFromHtml(html) {
35
- var root = htmlParse(html);
36
- var scripts = root.querySelectorAll("script").filter(function(elem) {
37
- return Boolean(elem.getAttribute("src"));
38
- });
39
- var css = root.querySelectorAll("link").filter(function(elem) {
40
- var href = elem.getAttribute("href");
41
- var rel = elem.getAttribute("rel");
42
- return href && rel === "stylesheet";
43
- });
44
- var images = root.querySelectorAll("img").filter(function(elem) {
45
- return Boolean(elem.getAttribute("src"));
46
- });
47
- return scripts.map(function(elem) {
48
- var src = elem.getAttribute("src");
49
- return {
50
- uri: src,
51
- as: "script"
52
- };
53
- }).concat(css.map(function(elem) {
54
- var href = elem.getAttribute("href");
55
- return {
56
- uri: href,
57
- as: "style"
58
- };
59
- })).concat(images.map(function(elem) {
60
- var src = elem.getAttribute("src");
61
- return {
62
- uri: src,
63
- as: "image"
64
- };
65
- }));
66
- }
67
- function parseLinksFromRoutes(pathname, distDir) {
68
- return _parseLinksFromRoutes.apply(this, arguments);
69
- }
70
- function _parseLinksFromRoutes() {
71
- _parseLinksFromRoutes = _async_to_generator(function(pathname, distDir) {
72
- var noopLinks, nestedRoutesSpec, routesJsonPath, routeManifestPath, routesJson, serverRoutes, entry, _routeAssets_entryName, _assets_filter, _assets_filter1, routes, entryName, entryRoutes, routesManifest, routeAssets, matches, entryAssets, assets, cssLinks, scriptLinks;
73
- return _ts_generator(this, function(_state) {
74
- switch (_state.label) {
75
- case 0:
76
- noopLinks = [];
77
- nestedRoutesSpec = path.join(distDir, NESTED_ROUTE_SPEC_FILE);
78
- routesJsonPath = path.join(distDir, ROUTE_SPEC_FILE);
79
- routeManifestPath = path.join(distDir, ROUTE_MANIFEST_FILE);
80
- if (!fs.existsSync(nestedRoutesSpec) || !fs.existsSync(routesJsonPath) || !fs.existsSync(routeManifestPath)) {
81
- return [
82
- 2,
83
- noopLinks
84
- ];
85
- }
86
- return [
87
- 4,
88
- import(routesJsonPath)
89
- ];
90
- case 1:
91
- routesJson = _state.sent();
92
- serverRoutes = routesJson.routes;
93
- entry = matchEntry(pathname, serverRoutes);
94
- if (!entry)
95
- return [
96
- 3,
97
- 4
98
- ];
99
- return [
100
- 4,
101
- import(nestedRoutesSpec)
102
- ];
103
- case 2:
104
- routes = _state.sent();
105
- entryName = entry.entryName;
106
- if (!entryName) {
107
- return [
108
- 2,
109
- noopLinks
110
- ];
111
- }
112
- entryRoutes = routes[entryName];
113
- if (!entryRoutes) {
114
- return [
115
- 2,
116
- noopLinks
117
- ];
118
- }
119
- return [
120
- 4,
121
- import(routeManifestPath)
122
- ];
123
- case 3:
124
- routesManifest = _state.sent();
125
- routeAssets = routesManifest.routeAssets;
126
- matches = matchRoutes(entryRoutes, pathname, entry.urlPath);
127
- entryAssets = (_routeAssets_entryName = routeAssets[entryName]) === null || _routeAssets_entryName === void 0 ? void 0 : _routeAssets_entryName.assets;
128
- assets = matches === null || matches === void 0 ? void 0 : matches.reduce(function(acc, match) {
129
- var routeId = match.route.id;
130
- if (routeId) {
131
- var matchedManifest = routeAssets[routeId];
132
- var assets2 = matchedManifest === null || matchedManifest === void 0 ? void 0 : matchedManifest.assets;
133
- if (Array.isArray(assets2)) {
134
- var _acc;
135
- (_acc = acc).push.apply(_acc, _to_consumable_array(assets2));
136
- }
137
- }
138
- return acc;
139
- }, []).concat(entryAssets || []);
140
- cssLinks = assets === null || assets === void 0 ? void 0 : (_assets_filter = assets.filter(function(asset) {
141
- return asset.endsWith(".css");
142
- })) === null || _assets_filter === void 0 ? void 0 : _assets_filter.map(function(uri) {
143
- return {
144
- uri,
145
- as: "style"
146
- };
147
- });
148
- scriptLinks = assets === null || assets === void 0 ? void 0 : (_assets_filter1 = assets.filter(function(asset) {
149
- return asset.endsWith(".js");
150
- })) === null || _assets_filter1 === void 0 ? void 0 : _assets_filter1.map(function(uri) {
151
- return {
152
- uri,
153
- as: "script"
154
- };
155
- });
156
- return [
157
- 2,
158
- (cssLinks || []).concat(scriptLinks || [])
159
- ];
160
- case 4:
161
- return [
162
- 2,
163
- noopLinks
164
- ];
165
- }
166
- });
167
- });
168
- return _parseLinksFromRoutes.apply(this, arguments);
169
- }
170
- export {
171
- parseLinks
172
- };
@@ -1,27 +0,0 @@
1
- function transformToRegExp(input) {
2
- if (typeof input === "string") {
3
- return new RegExp(input);
4
- }
5
- return input;
6
- }
7
- function shouldFlushServerHeader(serverConf, userAgent, disablePreload) {
8
- var _ref = serverConf || {}, ssrConf = _ref.ssr;
9
- if (disablePreload) {
10
- return false;
11
- }
12
- if (typeof ssrConf === "object" && ssrConf.preload) {
13
- if (typeof ssrConf.preload === "object") {
14
- var userAgentFilter = ssrConf.preload.userAgentFilter;
15
- if (userAgentFilter && userAgent) {
16
- return !transformToRegExp(userAgentFilter).test(userAgent);
17
- }
18
- return true;
19
- }
20
- return true;
21
- }
22
- return false;
23
- }
24
- export {
25
- shouldFlushServerHeader,
26
- transformToRegExp
27
- };
@@ -1,140 +0,0 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
- import { transformToRegExp } from "./shouldFlushServerHeader";
5
- function transformLinks2String(links, preload) {
6
- if (typeof preload === "boolean") {
7
- return transformLinkToString(dedup(links));
8
- }
9
- var include = preload.include, exclude = preload.exclude, attributes = preload.attributes;
10
- var resolveLinks = transformLinkToString(addAttributes(dedup(removeExclude(addInclude(links, include), exclude)), attributes));
11
- return resolveLinks;
12
- }
13
- function addInclude(links, include) {
14
- var images = [
15
- "gif",
16
- "jpg",
17
- "jpeg",
18
- "png",
19
- "webp",
20
- "bmp",
21
- "tiff",
22
- "anpg",
23
- "ico"
24
- ];
25
- var videos = [
26
- "mp4",
27
- "webm",
28
- "ogm",
29
- "ogv",
30
- "ogg"
31
- ];
32
- var fonts = [
33
- "woff",
34
- "woff2",
35
- "eot",
36
- "ttf",
37
- "otf"
38
- ];
39
- var includes = (include === null || include === void 0 ? void 0 : include.map(function(item) {
40
- if (typeof item === "string") {
41
- var type = function() {
42
- if (item.endsWith(".js")) {
43
- return "script";
44
- }
45
- if (item.endsWith(".css")) {
46
- return "style";
47
- }
48
- if (images.some(function(image) {
49
- return item.endsWith(".".concat(image));
50
- })) {
51
- return "image";
52
- }
53
- if (videos.some(function(video) {
54
- return item.endsWith(".".concat(video));
55
- })) {
56
- return "video";
57
- }
58
- if (fonts.some(function(font) {
59
- return item.endsWith(".".concat(font));
60
- })) {
61
- return "font";
62
- }
63
- }();
64
- return {
65
- uri: item,
66
- as: type
67
- };
68
- }
69
- return {
70
- uri: item.url,
71
- as: item.as,
72
- rel: item.rel
73
- };
74
- })) || [];
75
- return links.concat(includes);
76
- }
77
- function removeExclude(links, exclude) {
78
- return exclude ? links.filter(function(param) {
79
- var uri = param.uri;
80
- return !transformToRegExp(exclude).test(uri);
81
- }) : links;
82
- }
83
- function addAttributes(links, attributes) {
84
- var parseAttributes = function(_attributes) {
85
- return Object.entries(_attributes || {}).reduce(function(results, param) {
86
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
87
- if (typeof value === "boolean") {
88
- value && results.push("; ".concat(key));
89
- return results;
90
- }
91
- results.push("; ".concat(key, "=").concat(value));
92
- return results;
93
- }, []).join("");
94
- };
95
- return links.map(function(link) {
96
- var as = link.as;
97
- if (as) {
98
- var attributesStr = function() {
99
- var _ref = attributes || {}, style = _ref.style, script = _ref.script, image = _ref.image, font = _ref.font;
100
- switch (as) {
101
- case "script":
102
- return parseAttributes(script);
103
- case "style":
104
- return parseAttributes(style);
105
- case "image":
106
- return parseAttributes(image);
107
- case "font":
108
- return parseAttributes(font);
109
- default:
110
- return "";
111
- }
112
- }();
113
- return _object_spread_props(_object_spread({}, link), {
114
- rest: attributesStr
115
- });
116
- }
117
- return link;
118
- });
119
- }
120
- function dedup(links) {
121
- var set = /* @__PURE__ */ new Set();
122
- return links.filter(function(param) {
123
- var uri = param.uri;
124
- if (set.has(uri)) {
125
- return false;
126
- }
127
- set.add(uri);
128
- return true;
129
- });
130
- }
131
- function transformLinkToString(links) {
132
- return links.map(function(param) {
133
- var uri = param.uri, as = param.as, originalRel = param.rel, rest = param.rest;
134
- var rel = originalRel || "preload";
135
- return as ? "<".concat(uri, ">; rel=").concat(rel, "; as=").concat(as).concat(rest || "") : "<".concat(uri, ">; rel=").concat(rel).concat(rest || "");
136
- }).join(", ");
137
- }
138
- export {
139
- transformLinks2String
140
- };