hono 4.11.7 → 4.12.7

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 (248) hide show
  1. package/dist/adapter/aws-lambda/conninfo.js +24 -0
  2. package/dist/adapter/aws-lambda/handler.js +2 -2
  3. package/dist/adapter/aws-lambda/index.js +2 -0
  4. package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
  5. package/dist/adapter/cloudflare-pages/index.js +2 -0
  6. package/dist/adapter/lambda-edge/handler.js +2 -1
  7. package/dist/adapter/netlify/conninfo.js +9 -0
  8. package/dist/adapter/netlify/mod.js +2 -0
  9. package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
  10. package/dist/cjs/adapter/aws-lambda/handler.js +2 -3
  11. package/dist/cjs/adapter/aws-lambda/index.js +3 -1
  12. package/dist/cjs/adapter/aws-lambda/types.js +0 -1
  13. package/dist/cjs/adapter/bun/conninfo.js +0 -1
  14. package/dist/cjs/adapter/bun/index.js +0 -1
  15. package/dist/cjs/adapter/bun/serve-static.js +0 -1
  16. package/dist/cjs/adapter/bun/server.js +0 -1
  17. package/dist/cjs/adapter/bun/ssg.js +0 -1
  18. package/dist/cjs/adapter/bun/websocket.js +0 -1
  19. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
  20. package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -1
  21. package/dist/cjs/adapter/cloudflare-pages/index.js +3 -1
  22. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -1
  23. package/dist/cjs/adapter/cloudflare-workers/index.js +0 -1
  24. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -1
  25. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -1
  26. package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -1
  27. package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -1
  28. package/dist/cjs/adapter/deno/conninfo.js +0 -1
  29. package/dist/cjs/adapter/deno/deno.d.js +0 -1
  30. package/dist/cjs/adapter/deno/index.js +0 -1
  31. package/dist/cjs/adapter/deno/serve-static.js +0 -1
  32. package/dist/cjs/adapter/deno/ssg.js +0 -1
  33. package/dist/cjs/adapter/deno/websocket.js +0 -1
  34. package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -1
  35. package/dist/cjs/adapter/lambda-edge/handler.js +2 -2
  36. package/dist/cjs/adapter/lambda-edge/index.js +0 -1
  37. package/dist/cjs/adapter/netlify/conninfo.js +31 -0
  38. package/dist/cjs/adapter/netlify/handler.js +0 -1
  39. package/dist/cjs/adapter/netlify/index.js +0 -1
  40. package/dist/cjs/adapter/netlify/mod.js +3 -1
  41. package/dist/cjs/adapter/service-worker/handler.js +0 -1
  42. package/dist/cjs/adapter/service-worker/index.js +0 -1
  43. package/dist/cjs/adapter/service-worker/types.js +0 -1
  44. package/dist/cjs/adapter/vercel/conninfo.js +0 -1
  45. package/dist/cjs/adapter/vercel/handler.js +0 -1
  46. package/dist/cjs/adapter/vercel/index.js +0 -1
  47. package/dist/cjs/client/client.js +8 -3
  48. package/dist/cjs/client/fetch-result-please.js +0 -1
  49. package/dist/cjs/client/index.js +0 -1
  50. package/dist/cjs/client/types.js +0 -1
  51. package/dist/cjs/client/utils.js +0 -1
  52. package/dist/cjs/compose.js +0 -1
  53. package/dist/cjs/context.js +6 -6
  54. package/dist/cjs/helper/accepts/accepts.js +0 -1
  55. package/dist/cjs/helper/accepts/index.js +0 -1
  56. package/dist/cjs/helper/adapter/index.js +0 -1
  57. package/dist/cjs/helper/conninfo/index.js +0 -1
  58. package/dist/cjs/helper/conninfo/types.js +0 -1
  59. package/dist/cjs/helper/cookie/index.js +0 -1
  60. package/dist/cjs/helper/css/common.js +0 -1
  61. package/dist/cjs/helper/css/index.js +0 -1
  62. package/dist/cjs/helper/dev/index.js +0 -1
  63. package/dist/cjs/helper/factory/index.js +0 -1
  64. package/dist/cjs/helper/html/index.js +0 -1
  65. package/dist/cjs/helper/proxy/index.js +0 -1
  66. package/dist/cjs/helper/route/index.js +0 -1
  67. package/dist/cjs/helper/ssg/index.js +5 -1
  68. package/dist/cjs/helper/ssg/middleware.js +0 -1
  69. package/dist/cjs/helper/ssg/plugins.js +70 -0
  70. package/dist/cjs/helper/ssg/ssg.js +2 -12
  71. package/dist/cjs/helper/ssg/utils.js +0 -1
  72. package/dist/cjs/helper/streaming/index.js +0 -1
  73. package/dist/cjs/helper/streaming/sse.js +5 -1
  74. package/dist/cjs/helper/streaming/stream.js +0 -1
  75. package/dist/cjs/helper/streaming/text.js +0 -1
  76. package/dist/cjs/helper/streaming/utils.js +0 -1
  77. package/dist/cjs/helper/testing/index.js +0 -1
  78. package/dist/cjs/helper/websocket/index.js +0 -1
  79. package/dist/cjs/hono-base.js +0 -1
  80. package/dist/cjs/hono.js +0 -1
  81. package/dist/cjs/http-exception.js +0 -1
  82. package/dist/cjs/index.js +0 -1
  83. package/dist/cjs/jsx/base.js +0 -1
  84. package/dist/cjs/jsx/children.js +0 -1
  85. package/dist/cjs/jsx/components.js +0 -1
  86. package/dist/cjs/jsx/constants.js +0 -1
  87. package/dist/cjs/jsx/context.js +4 -3
  88. package/dist/cjs/jsx/dom/client.js +0 -1
  89. package/dist/cjs/jsx/dom/components.js +0 -1
  90. package/dist/cjs/jsx/dom/context.js +0 -1
  91. package/dist/cjs/jsx/dom/css.js +0 -1
  92. package/dist/cjs/jsx/dom/hooks/index.js +0 -1
  93. package/dist/cjs/jsx/dom/index.js +0 -1
  94. package/dist/cjs/jsx/dom/intrinsic-element/components.js +40 -10
  95. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -1
  96. package/dist/cjs/jsx/dom/jsx-runtime.js +0 -1
  97. package/dist/cjs/jsx/dom/render.js +7 -10
  98. package/dist/cjs/jsx/dom/server.js +0 -1
  99. package/dist/cjs/jsx/dom/utils.js +0 -1
  100. package/dist/cjs/jsx/hooks/index.js +0 -1
  101. package/dist/cjs/jsx/index.js +0 -1
  102. package/dist/cjs/jsx/intrinsic-element/common.js +13 -3
  103. package/dist/cjs/jsx/intrinsic-element/components.js +18 -12
  104. package/dist/cjs/jsx/intrinsic-elements.js +0 -1
  105. package/dist/cjs/jsx/jsx-dev-runtime.js +0 -1
  106. package/dist/cjs/jsx/jsx-runtime.js +0 -1
  107. package/dist/cjs/jsx/streaming.js +13 -4
  108. package/dist/cjs/jsx/types.js +0 -1
  109. package/dist/cjs/jsx/utils.js +0 -1
  110. package/dist/cjs/middleware/basic-auth/index.js +6 -1
  111. package/dist/cjs/middleware/bearer-auth/index.js +1 -2
  112. package/dist/cjs/middleware/body-limit/index.js +0 -1
  113. package/dist/cjs/middleware/cache/index.js +0 -1
  114. package/dist/cjs/middleware/combine/index.js +0 -1
  115. package/dist/cjs/middleware/compress/index.js +0 -1
  116. package/dist/cjs/middleware/context-storage/index.js +0 -1
  117. package/dist/cjs/middleware/cors/index.js +0 -1
  118. package/dist/cjs/middleware/csrf/index.js +0 -1
  119. package/dist/cjs/middleware/etag/digest.js +0 -1
  120. package/dist/cjs/middleware/etag/index.js +0 -1
  121. package/dist/cjs/middleware/ip-restriction/index.js +0 -1
  122. package/dist/cjs/middleware/jsx-renderer/index.js +1 -1
  123. package/dist/cjs/middleware/jwk/index.js +0 -1
  124. package/dist/cjs/middleware/jwk/jwk.js +0 -1
  125. package/dist/cjs/middleware/jwt/index.js +0 -1
  126. package/dist/cjs/middleware/jwt/jwt.js +0 -1
  127. package/dist/cjs/middleware/language/index.js +0 -1
  128. package/dist/cjs/middleware/language/language.js +13 -3
  129. package/dist/cjs/middleware/logger/index.js +0 -1
  130. package/dist/cjs/middleware/method-override/index.js +0 -1
  131. package/dist/cjs/middleware/powered-by/index.js +0 -1
  132. package/dist/cjs/middleware/pretty-json/index.js +0 -1
  133. package/dist/cjs/middleware/request-id/index.js +0 -1
  134. package/dist/cjs/middleware/request-id/request-id.js +0 -1
  135. package/dist/cjs/middleware/secure-headers/index.js +0 -1
  136. package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -1
  137. package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -1
  138. package/dist/cjs/middleware/serve-static/index.js +2 -2
  139. package/dist/cjs/middleware/serve-static/path.js +0 -1
  140. package/dist/cjs/middleware/timeout/index.js +0 -1
  141. package/dist/cjs/middleware/timing/index.js +0 -1
  142. package/dist/cjs/middleware/timing/timing.js +0 -1
  143. package/dist/cjs/middleware/trailing-slash/index.js +18 -5
  144. package/dist/cjs/preset/quick.js +0 -1
  145. package/dist/cjs/preset/tiny.js +0 -1
  146. package/dist/cjs/request/constants.js +0 -1
  147. package/dist/cjs/request.js +0 -1
  148. package/dist/cjs/router/linear-router/index.js +0 -1
  149. package/dist/cjs/router/linear-router/router.js +0 -1
  150. package/dist/cjs/router/pattern-router/index.js +0 -1
  151. package/dist/cjs/router/pattern-router/router.js +0 -1
  152. package/dist/cjs/router/reg-exp-router/index.js +0 -1
  153. package/dist/cjs/router/reg-exp-router/matcher.js +0 -1
  154. package/dist/cjs/router/reg-exp-router/node.js +0 -1
  155. package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -1
  156. package/dist/cjs/router/reg-exp-router/router.js +0 -1
  157. package/dist/cjs/router/reg-exp-router/trie.js +0 -1
  158. package/dist/cjs/router/smart-router/index.js +0 -1
  159. package/dist/cjs/router/smart-router/router.js +0 -1
  160. package/dist/cjs/router/trie-router/index.js +0 -1
  161. package/dist/cjs/router/trie-router/node.js +33 -17
  162. package/dist/cjs/router/trie-router/router.js +0 -1
  163. package/dist/cjs/router.js +0 -1
  164. package/dist/cjs/types.js +0 -1
  165. package/dist/cjs/utils/accept.js +188 -29
  166. package/dist/cjs/utils/basic-auth.js +0 -1
  167. package/dist/cjs/utils/body.js +3 -1
  168. package/dist/cjs/utils/buffer.js +29 -3
  169. package/dist/cjs/utils/color.js +0 -1
  170. package/dist/cjs/utils/compress.js +0 -1
  171. package/dist/cjs/utils/concurrent.js +0 -1
  172. package/dist/cjs/utils/constants.js +0 -1
  173. package/dist/cjs/utils/cookie.js +5 -1
  174. package/dist/cjs/utils/crypto.js +0 -1
  175. package/dist/cjs/utils/encode.js +0 -1
  176. package/dist/cjs/utils/filepath.js +0 -1
  177. package/dist/cjs/utils/handler.js +0 -1
  178. package/dist/cjs/utils/headers.js +0 -1
  179. package/dist/cjs/utils/html.js +0 -1
  180. package/dist/cjs/utils/http-status.js +0 -1
  181. package/dist/cjs/utils/ipaddr.js +0 -1
  182. package/dist/cjs/utils/jwt/index.js +0 -1
  183. package/dist/cjs/utils/jwt/jwa.js +0 -1
  184. package/dist/cjs/utils/jwt/jws.js +0 -1
  185. package/dist/cjs/utils/jwt/jwt.js +17 -14
  186. package/dist/cjs/utils/jwt/types.js +0 -1
  187. package/dist/cjs/utils/jwt/utf8.js +0 -1
  188. package/dist/cjs/utils/mime.js +0 -1
  189. package/dist/cjs/utils/stream.js +0 -1
  190. package/dist/cjs/utils/types.js +0 -1
  191. package/dist/cjs/utils/url.js +8 -5
  192. package/dist/cjs/validator/index.js +0 -1
  193. package/dist/cjs/validator/utils.js +0 -1
  194. package/dist/cjs/validator/validator.js +2 -3
  195. package/dist/client/client.js +8 -2
  196. package/dist/context.js +6 -5
  197. package/dist/helper/ssg/index.js +3 -0
  198. package/dist/helper/ssg/plugins.js +47 -0
  199. package/dist/helper/ssg/ssg.js +2 -10
  200. package/dist/helper/streaming/sse.js +5 -0
  201. package/dist/jsx/context.js +4 -2
  202. package/dist/jsx/dom/intrinsic-element/components.js +47 -10
  203. package/dist/jsx/dom/render.js +7 -9
  204. package/dist/jsx/intrinsic-element/common.js +10 -1
  205. package/dist/jsx/intrinsic-element/components.js +24 -12
  206. package/dist/jsx/streaming.js +13 -3
  207. package/dist/middleware/basic-auth/index.js +6 -0
  208. package/dist/middleware/bearer-auth/index.js +1 -1
  209. package/dist/middleware/jsx-renderer/index.js +1 -0
  210. package/dist/middleware/language/language.js +13 -2
  211. package/dist/middleware/serve-static/index.js +2 -1
  212. package/dist/middleware/trailing-slash/index.js +18 -4
  213. package/dist/router/trie-router/node.js +33 -16
  214. package/dist/tsconfig.build.tsbuildinfo +1 -0
  215. package/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
  216. package/dist/types/adapter/aws-lambda/handler.d.ts +2 -2
  217. package/dist/types/adapter/aws-lambda/index.d.ts +1 -0
  218. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
  219. package/dist/types/adapter/cloudflare-pages/index.d.ts +1 -0
  220. package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
  221. package/dist/types/adapter/netlify/mod.d.ts +1 -0
  222. package/dist/types/client/index.d.ts +1 -1
  223. package/dist/types/client/types.d.ts +43 -2
  224. package/dist/types/context.d.ts +4 -0
  225. package/dist/types/helper/ssg/index.d.ts +1 -0
  226. package/dist/types/helper/ssg/plugins.d.ts +27 -0
  227. package/dist/types/helper/ssg/ssg.d.ts +0 -8
  228. package/dist/types/hono-base.d.ts +1 -1
  229. package/dist/types/jsx/intrinsic-element/common.d.ts +3 -0
  230. package/dist/types/jsx/types.d.ts +1 -1
  231. package/dist/types/middleware/basic-auth/index.d.ts +19 -0
  232. package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
  233. package/dist/types/middleware/jwt/index.d.ts +1 -1
  234. package/dist/types/middleware/jwt/jwt.d.ts +1 -1
  235. package/dist/types/middleware/trailing-slash/index.d.ts +43 -2
  236. package/dist/types/request.d.ts +1 -1
  237. package/dist/types/types.d.ts +18 -18
  238. package/dist/types/utils/accept.d.ts +0 -5
  239. package/dist/types/utils/buffer.d.ts +10 -1
  240. package/dist/types/utils/url.d.ts +10 -0
  241. package/dist/utils/accept.js +188 -28
  242. package/dist/utils/body.js +3 -0
  243. package/dist/utils/buffer.js +29 -2
  244. package/dist/utils/cookie.js +5 -0
  245. package/dist/utils/jwt/jwt.js +17 -13
  246. package/dist/utils/url.js +6 -3
  247. package/dist/validator/validator.js +2 -2
  248. package/package.json +5 -4
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -20,20 +19,25 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
19
  var ssg_exports = {};
21
20
  __export(ssg_exports, {
22
21
  X_HONO_DISABLE_SSG_HEADER_KEY: () => import_middleware.X_HONO_DISABLE_SSG_HEADER_KEY,
22
+ defaultPlugin: () => import_plugins.defaultPlugin,
23
23
  disableSSG: () => import_middleware.disableSSG,
24
24
  isSSGContext: () => import_middleware.isSSGContext,
25
25
  onlySSG: () => import_middleware.onlySSG,
26
+ redirectPlugin: () => import_plugins.redirectPlugin,
26
27
  ssgParams: () => import_middleware.ssgParams
27
28
  });
28
29
  module.exports = __toCommonJS(ssg_exports);
29
30
  __reExport(ssg_exports, require("./ssg"), module.exports);
30
31
  var import_middleware = require("./middleware");
32
+ var import_plugins = require("./plugins");
31
33
  // Annotate the CommonJS export names for ESM import in node:
32
34
  0 && (module.exports = {
33
35
  X_HONO_DISABLE_SSG_HEADER_KEY,
36
+ defaultPlugin,
34
37
  disableSSG,
35
38
  isSSGContext,
36
39
  onlySSG,
40
+ redirectPlugin,
37
41
  ssgParams,
38
42
  ...require("./ssg")
39
43
  });
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -0,0 +1,70 @@
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 plugins_exports = {};
19
+ __export(plugins_exports, {
20
+ defaultPlugin: () => defaultPlugin,
21
+ redirectPlugin: () => redirectPlugin
22
+ });
23
+ module.exports = __toCommonJS(plugins_exports);
24
+ var import_html = require("../html");
25
+ const defaultPlugin = () => {
26
+ return {
27
+ afterResponseHook: (res) => {
28
+ if (res.status !== 200) {
29
+ return false;
30
+ }
31
+ return res;
32
+ }
33
+ };
34
+ };
35
+ const REDIRECT_STATUS_CODES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
36
+ const generateRedirectHtml = (location) => {
37
+ const content = import_html.html`<!DOCTYPE html>
38
+ <title>Redirecting to: ${location}</title>
39
+ <meta http-equiv="refresh" content="0;url=${location}" />
40
+ <meta name="robots" content="noindex" />
41
+ <link rel="canonical" href="${location}" />
42
+ <body>
43
+ <a href="${location}">Redirecting to <code>${location}</code></a>
44
+ </body>
45
+ `;
46
+ return content.toString().replace(/\n/g, "");
47
+ };
48
+ const redirectPlugin = () => {
49
+ return {
50
+ afterResponseHook: (res) => {
51
+ if (REDIRECT_STATUS_CODES.has(res.status)) {
52
+ const location = res.headers.get("Location");
53
+ if (!location) {
54
+ return false;
55
+ }
56
+ const htmlBody = generateRedirectHtml(location);
57
+ return new Response(htmlBody, {
58
+ status: 200,
59
+ headers: { "Content-Type": "text/html; charset=utf-8" }
60
+ });
61
+ }
62
+ return res;
63
+ }
64
+ };
65
+ };
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ defaultPlugin,
69
+ redirectPlugin
70
+ });
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -23,7 +22,6 @@ __export(ssg_exports, {
23
22
  combineAfterResponseHooks: () => combineAfterResponseHooks,
24
23
  combineBeforeRequestHooks: () => combineBeforeRequestHooks,
25
24
  defaultExtensionMap: () => defaultExtensionMap,
26
- defaultPlugin: () => defaultPlugin,
27
25
  fetchRoutesContent: () => fetchRoutesContent,
28
26
  saveContentToFile: () => saveContentToFile,
29
27
  toSSG: () => toSSG
@@ -33,6 +31,7 @@ var import_utils = require("../../client/utils");
33
31
  var import_concurrent = require("../../utils/concurrent");
34
32
  var import_mime = require("../../utils/mime");
35
33
  var import_middleware = require("./middleware");
34
+ var import_plugins = require("./plugins");
36
35
  var import_utils2 = require("./utils");
37
36
  const DEFAULT_CONCURRENCY = 2;
38
37
  const DEFAULT_CONTENT_TYPE = "text/plain";
@@ -214,19 +213,11 @@ const saveContentToFile = async (data, fsModule, outDir, extensionMap) => {
214
213
  }
215
214
  return filePath;
216
215
  };
217
- const defaultPlugin = {
218
- afterResponseHook: (res) => {
219
- if (res.status !== 200) {
220
- return false;
221
- }
222
- return res;
223
- }
224
- };
225
216
  const toSSG = async (app, fs, options) => {
226
217
  let result;
227
218
  const getInfoPromises = [];
228
219
  const savePromises = [];
229
- const plugins = options?.plugins || [defaultPlugin];
220
+ const plugins = options?.plugins || [(0, import_plugins.defaultPlugin)()];
230
221
  const beforeRequestHooks = [];
231
222
  const afterResponseHooks = [];
232
223
  const afterGenerateHooks = [];
@@ -319,7 +310,6 @@ const toSSG = async (app, fs, options) => {
319
310
  combineAfterResponseHooks,
320
311
  combineBeforeRequestHooks,
321
312
  defaultExtensionMap,
322
- defaultPlugin,
323
313
  fetchRoutesContent,
324
314
  saveContentToFile,
325
315
  toSSG
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -34,6 +33,11 @@ class SSEStreamingApi extends import_stream.StreamingApi {
34
33
  const dataLines = data.split(/\r\n|\r|\n/).map((line) => {
35
34
  return `data: ${line}`;
36
35
  }).join("\n");
36
+ for (const key of ["event", "id", "retry"]) {
37
+ if (message[key] && /[\r\n]/.test(message[key])) {
38
+ throw new Error(`${key} must not contain "\\r" or "\\n"`);
39
+ }
40
+ }
37
41
  const sseData = [
38
42
  message.event && `event: ${message.event}`,
39
43
  dataLines,
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
package/dist/cjs/hono.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
package/dist/cjs/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -35,12 +34,14 @@ const createContext = (defaultValue) => {
35
34
  let string;
36
35
  try {
37
36
  string = props.children ? (Array.isArray(props.children) ? new import_base.JSXFragmentNode("", {}, props.children) : props.children).toString() : "";
38
- } finally {
37
+ } catch (e) {
39
38
  values.pop();
39
+ throw e;
40
40
  }
41
41
  if (string instanceof Promise) {
42
- return string.then((resString) => (0, import_html.raw)(resString, resString.callbacks));
42
+ return string.finally(() => values.pop()).then((resString) => (0, import_html.raw)(resString, resString.callbacks));
43
43
  } else {
44
+ values.pop();
44
45
  return (0, import_html.raw)(string);
45
46
  }
46
47
  });
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -80,11 +79,16 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
80
79
  let element = null;
81
80
  let created = false;
82
81
  const deDupeKeys = import_common.deDupeKeyMap[tag];
82
+ const deDupeByKey = (0, import_common.shouldDeDupeByKey)(tag, supportSort);
83
+ const isDeDupeCandidateLink = (e) => e.getAttribute("rel") === "stylesheet" && e.getAttribute(import_common.dataPrecedenceAttr) !== null;
83
84
  let existingElements = void 0;
84
- if (deDupeKeys.length > 0) {
85
+ if (deDupeByKey) {
85
86
  const tags = head.querySelectorAll(tag);
86
87
  LOOP: for (const e of tags) {
87
- for (const key of import_common.deDupeKeyMap[tag]) {
88
+ if (tag === "link" && !isDeDupeCandidateLink(e)) {
89
+ continue;
90
+ }
91
+ for (const key of deDupeKeys) {
88
92
  if (e.getAttribute(key) === props[key]) {
89
93
  element = e;
90
94
  break LOOP;
@@ -103,9 +107,9 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
103
107
  if (props[key] !== void 0) {
104
108
  e.setAttribute(key, props[key]);
105
109
  }
106
- if (props.rel) {
107
- e.setAttribute("rel", props.rel);
108
- }
110
+ }
111
+ if (props.rel) {
112
+ e.setAttribute("rel", props.rel);
109
113
  }
110
114
  return e;
111
115
  })();
@@ -119,7 +123,26 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
119
123
  }
120
124
  const insert = (0, import_hooks.useCallback)(
121
125
  (e) => {
122
- if (deDupeKeys.length > 0) {
126
+ if (deDupeByKey) {
127
+ if (tag === "link" && precedence !== void 0) {
128
+ let found2 = false;
129
+ for (const existingElement of head.querySelectorAll(tag)) {
130
+ const existingPrecedence = existingElement.getAttribute(import_common.dataPrecedenceAttr);
131
+ if (existingPrecedence === null) {
132
+ head.insertBefore(e, existingElement);
133
+ return;
134
+ }
135
+ if (found2 && existingPrecedence !== precedence) {
136
+ head.insertBefore(e, existingElement);
137
+ return;
138
+ }
139
+ if (existingPrecedence === precedence) {
140
+ found2 = true;
141
+ }
142
+ }
143
+ head.appendChild(e);
144
+ return;
145
+ }
123
146
  let found = false;
124
147
  for (const existingElement of head.querySelectorAll(tag)) {
125
148
  if (found && existingElement.getAttribute(import_common.dataPrecedenceAttr) !== precedence) {
@@ -131,6 +154,10 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
131
154
  }
132
155
  }
133
156
  head.appendChild(e);
157
+ } else if (tag === "link") {
158
+ if (!head.contains(e)) {
159
+ head.appendChild(e);
160
+ }
134
161
  } else if (existingElements) {
135
162
  let found = false;
136
163
  for (const existingElement of existingElements) {
@@ -148,7 +175,7 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
148
175
  existingElements = void 0;
149
176
  }
150
177
  },
151
- [precedence]
178
+ [deDupeByKey, precedence, tag]
152
179
  );
153
180
  const ref = composeRef(props.ref, (e) => {
154
181
  const key = deDupeKeys[0];
@@ -161,6 +188,9 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
161
188
  if (!onError && !onLoad) {
162
189
  return;
163
190
  }
191
+ if (!key) {
192
+ return;
193
+ }
164
194
  let promise = blockingPromiseMap[e.getAttribute(key)] ||= new Promise(
165
195
  (resolve, reject) => {
166
196
  e.addEventListener("load", resolve);
@@ -178,7 +208,7 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
178
208
  });
179
209
  if (supportBlocking && blocking === "render") {
180
210
  const key = import_common.deDupeKeyMap[tag][0];
181
- if (props[key]) {
211
+ if (key && props[key]) {
182
212
  const value = props[key];
183
213
  const promise = blockingPromiseMap[value] ||= new Promise((resolve, reject) => {
184
214
  insert(element);
@@ -254,7 +284,7 @@ const link = (props) => {
254
284
  ref: props.ref
255
285
  };
256
286
  }
257
- return documentMetadataTag("link", props, 1, "precedence" in props, true);
287
+ return documentMetadataTag("link", props, 1, (0, import_common.isStylesheetLinkWithPrecedence)(props), true);
258
288
  };
259
289
  const meta = (props) => {
260
290
  return documentMetadataTag("meta", props, void 0, false, false);
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -208,14 +207,10 @@ const getNextChildren = (node, container, nextChildren, childrenToRemove, callba
208
207
  });
209
208
  };
210
209
  const findInsertBefore = (node) => {
211
- for (; ; node = node.tag === HONO_PORTAL_ELEMENT || !node.vC || !node.pP ? node.nN : node.vC[0]) {
212
- if (!node) {
213
- return null;
214
- }
215
- if (node.tag !== HONO_PORTAL_ELEMENT && node.e) {
216
- return node.e;
217
- }
210
+ while (node && (node.tag === HONO_PORTAL_ELEMENT || !node.e)) {
211
+ node = node.tag === HONO_PORTAL_ELEMENT || !node.vC?.[0] ? node.nN : node.vC[0];
218
212
  }
213
+ return node?.e;
219
214
  };
220
215
  const removeNode = (node) => {
221
216
  if (!isNodeString(node)) {
@@ -313,7 +308,7 @@ const applyNodeObject = (node, container, isNew) => {
313
308
  }
314
309
  }
315
310
  if (node.pP) {
316
- delete node.pP;
311
+ node.pP = void 0;
317
312
  }
318
313
  if (callbacks.length) {
319
314
  const useLayoutEffectCbs = [];
@@ -354,7 +349,9 @@ const build = (context, node, children) => {
354
349
  let prevNode;
355
350
  for (let i = 0; i < children.length; i++) {
356
351
  if (Array.isArray(children[i])) {
357
- children.splice(i, 1, ...children[i].flat());
352
+ children.splice(i, 1, ...children[i].flat(Infinity));
353
+ i--;
354
+ continue;
358
355
  }
359
356
  let child = buildNode(children[i]);
360
357
  if (child) {
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -20,7 +19,9 @@ var common_exports = {};
20
19
  __export(common_exports, {
21
20
  dataPrecedenceAttr: () => dataPrecedenceAttr,
22
21
  deDupeKeyMap: () => deDupeKeyMap,
23
- domRenderers: () => domRenderers
22
+ domRenderers: () => domRenderers,
23
+ isStylesheetLinkWithPrecedence: () => isStylesheetLinkWithPrecedence,
24
+ shouldDeDupeByKey: () => shouldDeDupeByKey
24
25
  });
25
26
  module.exports = __toCommonJS(common_exports);
26
27
  const deDupeKeyMap = {
@@ -32,9 +33,18 @@ const deDupeKeyMap = {
32
33
  };
33
34
  const domRenderers = {};
34
35
  const dataPrecedenceAttr = "data-precedence";
36
+ const isStylesheetLinkWithPrecedence = (props) => props.rel === "stylesheet" && "precedence" in props;
37
+ const shouldDeDupeByKey = (tagName, supportSort) => {
38
+ if (tagName === "link") {
39
+ return supportSort;
40
+ }
41
+ return deDupeKeyMap[tagName].length > 0;
42
+ };
35
43
  // Annotate the CommonJS export names for ESM import in node:
36
44
  0 && (module.exports = {
37
45
  dataPrecedenceAttr,
38
46
  deDupeKeyMap,
39
- domRenderers
47
+ domRenderers,
48
+ isStylesheetLinkWithPrecedence,
49
+ shouldDeDupeByKey
40
50
  });