@depup/hono 4.12.8-depup.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 (564) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/changes.json +5 -0
  4. package/dist/adapter/aws-lambda/conninfo.js +24 -0
  5. package/dist/adapter/aws-lambda/handler.js +366 -0
  6. package/dist/adapter/aws-lambda/index.js +9 -0
  7. package/dist/adapter/aws-lambda/types.js +0 -0
  8. package/dist/adapter/bun/conninfo.js +27 -0
  9. package/dist/adapter/bun/index.js +16 -0
  10. package/dist/adapter/bun/serve-static.js +30 -0
  11. package/dist/adapter/bun/server.js +5 -0
  12. package/dist/adapter/bun/ssg.js +17 -0
  13. package/dist/adapter/bun/websocket.js +71 -0
  14. package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
  15. package/dist/adapter/cloudflare-pages/handler.js +67 -0
  16. package/dist/adapter/cloudflare-pages/index.js +9 -0
  17. package/dist/adapter/cloudflare-workers/conninfo.js +9 -0
  18. package/dist/adapter/cloudflare-workers/index.js +9 -0
  19. package/dist/adapter/cloudflare-workers/serve-static-module.js +8 -0
  20. package/dist/adapter/cloudflare-workers/serve-static.js +22 -0
  21. package/dist/adapter/cloudflare-workers/utils.js +35 -0
  22. package/dist/adapter/cloudflare-workers/websocket.js +41 -0
  23. package/dist/adapter/deno/conninfo.js +14 -0
  24. package/dist/adapter/deno/deno.d.js +0 -0
  25. package/dist/adapter/deno/index.js +12 -0
  26. package/dist/adapter/deno/serve-static.js +40 -0
  27. package/dist/adapter/deno/ssg.js +18 -0
  28. package/dist/adapter/deno/websocket.js +28 -0
  29. package/dist/adapter/lambda-edge/conninfo.js +9 -0
  30. package/dist/adapter/lambda-edge/handler.js +80 -0
  31. package/dist/adapter/lambda-edge/index.js +7 -0
  32. package/dist/adapter/netlify/conninfo.js +9 -0
  33. package/dist/adapter/netlify/handler.js +9 -0
  34. package/dist/adapter/netlify/index.js +2 -0
  35. package/dist/adapter/netlify/mod.js +7 -0
  36. package/dist/adapter/service-worker/handler.js +20 -0
  37. package/dist/adapter/service-worker/index.js +11 -0
  38. package/dist/adapter/service-worker/types.js +0 -0
  39. package/dist/adapter/vercel/conninfo.js +10 -0
  40. package/dist/adapter/vercel/handler.js +7 -0
  41. package/dist/adapter/vercel/index.js +7 -0
  42. package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
  43. package/dist/cjs/adapter/aws-lambda/handler.js +397 -0
  44. package/dist/cjs/adapter/aws-lambda/index.js +34 -0
  45. package/dist/cjs/adapter/aws-lambda/types.js +15 -0
  46. package/dist/cjs/adapter/bun/conninfo.js +49 -0
  47. package/dist/cjs/adapter/bun/index.js +45 -0
  48. package/dist/cjs/adapter/bun/serve-static.js +52 -0
  49. package/dist/cjs/adapter/bun/server.js +27 -0
  50. package/dist/cjs/adapter/bun/ssg.js +40 -0
  51. package/dist/cjs/adapter/bun/websocket.js +96 -0
  52. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
  53. package/dist/cjs/adapter/cloudflare-pages/handler.js +91 -0
  54. package/dist/cjs/adapter/cloudflare-pages/index.js +34 -0
  55. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +31 -0
  56. package/dist/cjs/adapter/cloudflare-workers/index.js +33 -0
  57. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +30 -0
  58. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +44 -0
  59. package/dist/cjs/adapter/cloudflare-workers/utils.js +57 -0
  60. package/dist/cjs/adapter/cloudflare-workers/websocket.js +63 -0
  61. package/dist/cjs/adapter/deno/conninfo.js +36 -0
  62. package/dist/cjs/adapter/deno/deno.d.js +0 -0
  63. package/dist/cjs/adapter/deno/index.js +38 -0
  64. package/dist/cjs/adapter/deno/serve-static.js +62 -0
  65. package/dist/cjs/adapter/deno/ssg.js +41 -0
  66. package/dist/cjs/adapter/deno/websocket.js +50 -0
  67. package/dist/cjs/adapter/lambda-edge/conninfo.js +31 -0
  68. package/dist/cjs/adapter/lambda-edge/handler.js +114 -0
  69. package/dist/cjs/adapter/lambda-edge/index.js +30 -0
  70. package/dist/cjs/adapter/netlify/conninfo.js +31 -0
  71. package/dist/cjs/adapter/netlify/handler.js +31 -0
  72. package/dist/cjs/adapter/netlify/index.js +21 -0
  73. package/dist/cjs/adapter/netlify/mod.js +30 -0
  74. package/dist/cjs/adapter/service-worker/handler.js +42 -0
  75. package/dist/cjs/adapter/service-worker/index.js +34 -0
  76. package/dist/cjs/adapter/service-worker/types.js +15 -0
  77. package/dist/cjs/adapter/vercel/conninfo.js +32 -0
  78. package/dist/cjs/adapter/vercel/handler.js +29 -0
  79. package/dist/cjs/adapter/vercel/index.js +30 -0
  80. package/dist/cjs/client/client.js +195 -0
  81. package/dist/cjs/client/fetch-result-please.js +85 -0
  82. package/dist/cjs/client/index.js +32 -0
  83. package/dist/cjs/client/types.js +15 -0
  84. package/dist/cjs/client/utils.js +105 -0
  85. package/dist/cjs/compose.js +68 -0
  86. package/dist/cjs/context.js +435 -0
  87. package/dist/cjs/helper/accepts/accepts.js +43 -0
  88. package/dist/cjs/helper/accepts/index.js +27 -0
  89. package/dist/cjs/helper/adapter/index.js +81 -0
  90. package/dist/cjs/helper/conninfo/index.js +15 -0
  91. package/dist/cjs/helper/conninfo/types.js +15 -0
  92. package/dist/cjs/helper/cookie/index.js +130 -0
  93. package/dist/cjs/helper/css/common.js +222 -0
  94. package/dist/cjs/helper/css/index.js +142 -0
  95. package/dist/cjs/helper/dev/index.js +79 -0
  96. package/dist/cjs/helper/factory/index.js +54 -0
  97. package/dist/cjs/helper/html/index.js +64 -0
  98. package/dist/cjs/helper/proxy/index.js +111 -0
  99. package/dist/cjs/helper/route/index.js +71 -0
  100. package/dist/cjs/helper/ssg/index.js +43 -0
  101. package/dist/cjs/helper/ssg/middleware.js +73 -0
  102. package/dist/cjs/helper/ssg/plugins.js +70 -0
  103. package/dist/cjs/helper/ssg/ssg.js +316 -0
  104. package/dist/cjs/helper/ssg/utils.js +84 -0
  105. package/dist/cjs/helper/streaming/index.js +35 -0
  106. package/dist/cjs/helper/streaming/sse.js +90 -0
  107. package/dist/cjs/helper/streaming/stream.js +56 -0
  108. package/dist/cjs/helper/streaming/text.js +34 -0
  109. package/dist/cjs/helper/streaming/utils.js +35 -0
  110. package/dist/cjs/helper/testing/index.js +33 -0
  111. package/dist/cjs/helper/websocket/index.js +81 -0
  112. package/dist/cjs/hono-base.js +400 -0
  113. package/dist/cjs/hono.js +43 -0
  114. package/dist/cjs/http-exception.js +57 -0
  115. package/dist/cjs/index.js +27 -0
  116. package/dist/cjs/jsx/base.js +374 -0
  117. package/dist/cjs/jsx/children.js +44 -0
  118. package/dist/cjs/jsx/components.js +201 -0
  119. package/dist/cjs/jsx/constants.js +42 -0
  120. package/dist/cjs/jsx/context.js +62 -0
  121. package/dist/cjs/jsx/dom/client.js +76 -0
  122. package/dist/cjs/jsx/dom/components.js +55 -0
  123. package/dist/cjs/jsx/dom/context.js +71 -0
  124. package/dist/cjs/jsx/dom/css.js +161 -0
  125. package/dist/cjs/jsx/dom/hooks/index.js +74 -0
  126. package/dist/cjs/jsx/dom/index.js +181 -0
  127. package/dist/cjs/jsx/dom/intrinsic-element/components.js +399 -0
  128. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +52 -0
  129. package/dist/cjs/jsx/dom/jsx-runtime.js +32 -0
  130. package/dist/cjs/jsx/dom/render.js +619 -0
  131. package/dist/cjs/jsx/dom/server.js +67 -0
  132. package/dist/cjs/jsx/dom/utils.js +32 -0
  133. package/dist/cjs/jsx/hooks/index.js +370 -0
  134. package/dist/cjs/jsx/index.js +138 -0
  135. package/dist/cjs/jsx/intrinsic-element/common.js +50 -0
  136. package/dist/cjs/jsx/intrinsic-element/components.js +189 -0
  137. package/dist/cjs/jsx/intrinsic-elements.js +15 -0
  138. package/dist/cjs/jsx/jsx-dev-runtime.js +41 -0
  139. package/dist/cjs/jsx/jsx-runtime.js +68 -0
  140. package/dist/cjs/jsx/streaming.js +177 -0
  141. package/dist/cjs/jsx/types.js +15 -0
  142. package/dist/cjs/jsx/utils.js +50 -0
  143. package/dist/cjs/middleware/basic-auth/index.js +88 -0
  144. package/dist/cjs/middleware/bearer-auth/index.js +114 -0
  145. package/dist/cjs/middleware/body-limit/index.js +84 -0
  146. package/dist/cjs/middleware/cache/index.js +111 -0
  147. package/dist/cjs/middleware/combine/index.js +101 -0
  148. package/dist/cjs/middleware/compress/index.js +61 -0
  149. package/dist/cjs/middleware/context-storage/index.js +47 -0
  150. package/dist/cjs/middleware/cors/index.js +109 -0
  151. package/dist/cjs/middleware/csrf/index.js +77 -0
  152. package/dist/cjs/middleware/etag/digest.js +55 -0
  153. package/dist/cjs/middleware/etag/index.js +95 -0
  154. package/dist/cjs/middleware/ip-restriction/index.js +124 -0
  155. package/dist/cjs/middleware/jsx-renderer/index.js +82 -0
  156. package/dist/cjs/middleware/jwk/index.js +27 -0
  157. package/dist/cjs/middleware/jwk/jwk.js +134 -0
  158. package/dist/cjs/middleware/jwt/index.js +38 -0
  159. package/dist/cjs/middleware/jwt/jwt.js +140 -0
  160. package/dist/cjs/middleware/language/index.js +35 -0
  161. package/dist/cjs/middleware/language/language.js +221 -0
  162. package/dist/cjs/middleware/logger/index.js +72 -0
  163. package/dist/cjs/middleware/method-override/index.js +104 -0
  164. package/dist/cjs/middleware/powered-by/index.js +32 -0
  165. package/dist/cjs/middleware/pretty-json/index.js +37 -0
  166. package/dist/cjs/middleware/request-id/index.js +27 -0
  167. package/dist/cjs/middleware/request-id/request-id.js +43 -0
  168. package/dist/cjs/middleware/secure-headers/index.js +29 -0
  169. package/dist/cjs/middleware/secure-headers/permissions-policy.js +15 -0
  170. package/dist/cjs/middleware/secure-headers/secure-headers.js +189 -0
  171. package/dist/cjs/middleware/serve-static/index.js +99 -0
  172. package/dist/cjs/middleware/serve-static/path.js +40 -0
  173. package/dist/cjs/middleware/timeout/index.js +47 -0
  174. package/dist/cjs/middleware/timing/index.js +35 -0
  175. package/dist/cjs/middleware/timing/timing.js +128 -0
  176. package/dist/cjs/middleware/trailing-slash/index.js +62 -0
  177. package/dist/cjs/package.json +3 -0
  178. package/dist/cjs/preset/quick.js +38 -0
  179. package/dist/cjs/preset/tiny.js +34 -0
  180. package/dist/cjs/request/constants.js +27 -0
  181. package/dist/cjs/request.js +324 -0
  182. package/dist/cjs/router/linear-router/index.js +27 -0
  183. package/dist/cjs/router/linear-router/router.js +140 -0
  184. package/dist/cjs/router/pattern-router/index.js +27 -0
  185. package/dist/cjs/router/pattern-router/router.js +70 -0
  186. package/dist/cjs/router/reg-exp-router/index.js +34 -0
  187. package/dist/cjs/router/reg-exp-router/matcher.js +48 -0
  188. package/dist/cjs/router/reg-exp-router/node.js +134 -0
  189. package/dist/cjs/router/reg-exp-router/prepared-router.js +166 -0
  190. package/dist/cjs/router/reg-exp-router/router.js +208 -0
  191. package/dist/cjs/router/reg-exp-router/trie.js +81 -0
  192. package/dist/cjs/router/smart-router/index.js +27 -0
  193. package/dist/cjs/router/smart-router/router.js +80 -0
  194. package/dist/cjs/router/trie-router/index.js +27 -0
  195. package/dist/cjs/router/trie-router/node.js +201 -0
  196. package/dist/cjs/router/trie-router/router.js +48 -0
  197. package/dist/cjs/router.js +40 -0
  198. package/dist/cjs/types.js +28 -0
  199. package/dist/cjs/utils/accept.js +245 -0
  200. package/dist/cjs/utils/basic-auth.js +45 -0
  201. package/dist/cjs/utils/body.js +97 -0
  202. package/dist/cjs/utils/buffer.js +102 -0
  203. package/dist/cjs/utils/color.js +48 -0
  204. package/dist/cjs/utils/compress.js +27 -0
  205. package/dist/cjs/utils/concurrent.js +61 -0
  206. package/dist/cjs/utils/constants.js +27 -0
  207. package/dist/cjs/utils/cookie.js +177 -0
  208. package/dist/cjs/utils/crypto.js +69 -0
  209. package/dist/cjs/utils/encode.js +54 -0
  210. package/dist/cjs/utils/filepath.js +58 -0
  211. package/dist/cjs/utils/handler.js +36 -0
  212. package/dist/cjs/utils/headers.js +15 -0
  213. package/dist/cjs/utils/html.js +150 -0
  214. package/dist/cjs/utils/http-status.js +15 -0
  215. package/dist/cjs/utils/ipaddr.js +129 -0
  216. package/dist/cjs/utils/jwt/index.js +28 -0
  217. package/dist/cjs/utils/jwt/jwa.js +42 -0
  218. package/dist/cjs/utils/jwt/jws.js +215 -0
  219. package/dist/cjs/utils/jwt/jwt.js +213 -0
  220. package/dist/cjs/utils/jwt/types.js +161 -0
  221. package/dist/cjs/utils/jwt/utf8.js +30 -0
  222. package/dist/cjs/utils/mime.js +108 -0
  223. package/dist/cjs/utils/stream.js +101 -0
  224. package/dist/cjs/utils/types.js +15 -0
  225. package/dist/cjs/utils/url.js +256 -0
  226. package/dist/cjs/validator/index.js +27 -0
  227. package/dist/cjs/validator/utils.js +15 -0
  228. package/dist/cjs/validator/validator.js +108 -0
  229. package/dist/client/client.js +180 -0
  230. package/dist/client/fetch-result-please.js +62 -0
  231. package/dist/client/index.js +8 -0
  232. package/dist/client/types.js +0 -0
  233. package/dist/client/utils.js +76 -0
  234. package/dist/compose.js +46 -0
  235. package/dist/context.js +412 -0
  236. package/dist/helper/accepts/accepts.js +20 -0
  237. package/dist/helper/accepts/index.js +5 -0
  238. package/dist/helper/adapter/index.js +56 -0
  239. package/dist/helper/conninfo/index.js +0 -0
  240. package/dist/helper/conninfo/types.js +0 -0
  241. package/dist/helper/cookie/index.js +102 -0
  242. package/dist/helper/css/common.js +185 -0
  243. package/dist/helper/css/index.js +125 -0
  244. package/dist/helper/dev/index.js +55 -0
  245. package/dist/helper/factory/index.js +30 -0
  246. package/dist/helper/html/index.js +41 -0
  247. package/dist/helper/proxy/index.js +89 -0
  248. package/dist/helper/route/index.js +46 -0
  249. package/dist/helper/ssg/index.js +19 -0
  250. package/dist/helper/ssg/middleware.js +45 -0
  251. package/dist/helper/ssg/plugins.js +47 -0
  252. package/dist/helper/ssg/ssg.js +287 -0
  253. package/dist/helper/ssg/utils.js +59 -0
  254. package/dist/helper/streaming/index.js +10 -0
  255. package/dist/helper/streaming/sse.js +67 -0
  256. package/dist/helper/streaming/stream.js +34 -0
  257. package/dist/helper/streaming/text.js +12 -0
  258. package/dist/helper/streaming/utils.js +13 -0
  259. package/dist/helper/testing/index.js +11 -0
  260. package/dist/helper/websocket/index.js +57 -0
  261. package/dist/hono-base.js +378 -0
  262. package/dist/hono.js +21 -0
  263. package/dist/http-exception.js +35 -0
  264. package/dist/index.js +5 -0
  265. package/dist/jsx/base.js +331 -0
  266. package/dist/jsx/children.js +21 -0
  267. package/dist/jsx/components.js +178 -0
  268. package/dist/jsx/constants.js +15 -0
  269. package/dist/jsx/context.js +38 -0
  270. package/dist/jsx/dom/client.js +53 -0
  271. package/dist/jsx/dom/components.js +32 -0
  272. package/dist/jsx/dom/context.js +48 -0
  273. package/dist/jsx/dom/css.js +143 -0
  274. package/dist/jsx/dom/hooks/index.js +48 -0
  275. package/dist/jsx/dom/index.js +142 -0
  276. package/dist/jsx/dom/intrinsic-element/components.js +374 -0
  277. package/dist/jsx/dom/jsx-dev-runtime.js +19 -0
  278. package/dist/jsx/dom/jsx-runtime.js +8 -0
  279. package/dist/jsx/dom/render.js +595 -0
  280. package/dist/jsx/dom/server.js +33 -0
  281. package/dist/jsx/dom/utils.js +10 -0
  282. package/dist/jsx/hooks/index.js +328 -0
  283. package/dist/jsx/index.js +103 -0
  284. package/dist/jsx/intrinsic-element/common.js +24 -0
  285. package/dist/jsx/intrinsic-element/components.js +165 -0
  286. package/dist/jsx/intrinsic-elements.js +0 -0
  287. package/dist/jsx/jsx-dev-runtime.js +18 -0
  288. package/dist/jsx/jsx-runtime.js +41 -0
  289. package/dist/jsx/streaming.js +153 -0
  290. package/dist/jsx/types.js +0 -0
  291. package/dist/jsx/utils.js +27 -0
  292. package/dist/middleware/basic-auth/index.js +66 -0
  293. package/dist/middleware/bearer-auth/index.js +92 -0
  294. package/dist/middleware/body-limit/index.js +62 -0
  295. package/dist/middleware/cache/index.js +89 -0
  296. package/dist/middleware/combine/index.js +77 -0
  297. package/dist/middleware/compress/index.js +39 -0
  298. package/dist/middleware/context-storage/index.js +23 -0
  299. package/dist/middleware/cors/index.js +87 -0
  300. package/dist/middleware/csrf/index.js +55 -0
  301. package/dist/middleware/etag/digest.js +33 -0
  302. package/dist/middleware/etag/index.js +72 -0
  303. package/dist/middleware/ip-restriction/index.js +107 -0
  304. package/dist/middleware/jsx-renderer/index.js +58 -0
  305. package/dist/middleware/jwk/index.js +5 -0
  306. package/dist/middleware/jwk/jwk.js +112 -0
  307. package/dist/middleware/jwt/index.js +11 -0
  308. package/dist/middleware/jwt/jwt.js +114 -0
  309. package/dist/middleware/language/index.js +15 -0
  310. package/dist/middleware/language/language.js +190 -0
  311. package/dist/middleware/logger/index.js +44 -0
  312. package/dist/middleware/method-override/index.js +82 -0
  313. package/dist/middleware/powered-by/index.js +10 -0
  314. package/dist/middleware/pretty-json/index.js +15 -0
  315. package/dist/middleware/request-id/index.js +5 -0
  316. package/dist/middleware/request-id/request-id.js +21 -0
  317. package/dist/middleware/secure-headers/index.js +6 -0
  318. package/dist/middleware/secure-headers/permissions-policy.js +0 -0
  319. package/dist/middleware/secure-headers/secure-headers.js +166 -0
  320. package/dist/middleware/serve-static/index.js +77 -0
  321. package/dist/middleware/serve-static/path.js +18 -0
  322. package/dist/middleware/timeout/index.js +25 -0
  323. package/dist/middleware/timing/index.js +9 -0
  324. package/dist/middleware/timing/timing.js +102 -0
  325. package/dist/middleware/trailing-slash/index.js +39 -0
  326. package/dist/preset/quick.js +16 -0
  327. package/dist/preset/tiny.js +12 -0
  328. package/dist/request/constants.js +5 -0
  329. package/dist/request.js +301 -0
  330. package/dist/router/linear-router/index.js +5 -0
  331. package/dist/router/linear-router/router.js +118 -0
  332. package/dist/router/pattern-router/index.js +5 -0
  333. package/dist/router/pattern-router/router.js +48 -0
  334. package/dist/router/reg-exp-router/index.js +9 -0
  335. package/dist/router/reg-exp-router/matcher.js +25 -0
  336. package/dist/router/reg-exp-router/node.js +111 -0
  337. package/dist/router/reg-exp-router/prepared-router.js +142 -0
  338. package/dist/router/reg-exp-router/router.js +190 -0
  339. package/dist/router/reg-exp-router/trie.js +59 -0
  340. package/dist/router/smart-router/index.js +5 -0
  341. package/dist/router/smart-router/router.js +58 -0
  342. package/dist/router/trie-router/index.js +5 -0
  343. package/dist/router/trie-router/node.js +179 -0
  344. package/dist/router/trie-router/router.js +26 -0
  345. package/dist/router.js +14 -0
  346. package/dist/tsconfig.build.tsbuildinfo +1 -0
  347. package/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
  348. package/dist/types/adapter/aws-lambda/handler.d.ts +184 -0
  349. package/dist/types/adapter/aws-lambda/index.d.ts +8 -0
  350. package/dist/types/adapter/aws-lambda/types.d.ts +144 -0
  351. package/dist/types/adapter/bun/conninfo.d.ts +7 -0
  352. package/dist/types/adapter/bun/index.d.ts +10 -0
  353. package/dist/types/adapter/bun/serve-static.d.ts +3 -0
  354. package/dist/types/adapter/bun/server.d.ts +12 -0
  355. package/dist/types/adapter/bun/ssg.d.ts +13 -0
  356. package/dist/types/adapter/bun/websocket.d.ts +39 -0
  357. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
  358. package/dist/types/adapter/cloudflare-pages/handler.d.ts +33 -0
  359. package/dist/types/adapter/cloudflare-pages/index.d.ts +7 -0
  360. package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
  361. package/dist/types/adapter/cloudflare-workers/index.d.ts +7 -0
  362. package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +4 -0
  363. package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +16 -0
  364. package/dist/types/adapter/cloudflare-workers/utils.d.ts +5 -0
  365. package/dist/types/adapter/cloudflare-workers/websocket.d.ts +2 -0
  366. package/dist/types/adapter/deno/conninfo.d.ts +7 -0
  367. package/dist/types/adapter/deno/index.d.ts +8 -0
  368. package/dist/types/adapter/deno/serve-static.d.ts +3 -0
  369. package/dist/types/adapter/deno/ssg.d.ts +13 -0
  370. package/dist/types/adapter/deno/websocket.d.ts +2 -0
  371. package/dist/types/adapter/lambda-edge/conninfo.d.ts +2 -0
  372. package/dist/types/adapter/lambda-edge/handler.d.ts +87 -0
  373. package/dist/types/adapter/lambda-edge/index.d.ts +7 -0
  374. package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
  375. package/dist/types/adapter/netlify/handler.d.ts +2 -0
  376. package/dist/types/adapter/netlify/index.d.ts +5 -0
  377. package/dist/types/adapter/netlify/mod.d.ts +2 -0
  378. package/dist/types/adapter/service-worker/handler.d.ts +16 -0
  379. package/dist/types/adapter/service-worker/index.d.ts +28 -0
  380. package/dist/types/adapter/service-worker/types.d.ts +12 -0
  381. package/dist/types/adapter/vercel/conninfo.d.ts +2 -0
  382. package/dist/types/adapter/vercel/handler.d.ts +2 -0
  383. package/dist/types/adapter/vercel/index.d.ts +6 -0
  384. package/dist/types/client/client.d.ts +4 -0
  385. package/dist/types/client/fetch-result-please.d.ts +35 -0
  386. package/dist/types/client/index.d.ts +7 -0
  387. package/dist/types/client/types.d.ts +209 -0
  388. package/dist/types/client/utils.d.ts +18 -0
  389. package/dist/types/compose.d.ts +14 -0
  390. package/dist/types/context.d.ts +455 -0
  391. package/dist/types/helper/accepts/accepts.d.ts +30 -0
  392. package/dist/types/helper/accepts/index.d.ts +5 -0
  393. package/dist/types/helper/adapter/index.d.ts +12 -0
  394. package/dist/types/helper/conninfo/index.d.ts +5 -0
  395. package/dist/types/helper/conninfo/types.d.ts +36 -0
  396. package/dist/types/helper/cookie/index.d.ts +24 -0
  397. package/dist/types/helper/css/common.d.ts +42 -0
  398. package/dist/types/helper/css/index.d.ts +73 -0
  399. package/dist/types/helper/dev/index.d.ts +20 -0
  400. package/dist/types/helper/factory/index.d.ts +82 -0
  401. package/dist/types/helper/html/index.d.ts +8 -0
  402. package/dist/types/helper/proxy/index.d.ts +72 -0
  403. package/dist/types/helper/route/index.d.ts +75 -0
  404. package/dist/types/helper/ssg/index.d.ts +7 -0
  405. package/dist/types/helper/ssg/middleware.d.ts +44 -0
  406. package/dist/types/helper/ssg/plugins.d.ts +27 -0
  407. package/dist/types/helper/ssg/ssg.d.ts +91 -0
  408. package/dist/types/helper/ssg/utils.d.ts +15 -0
  409. package/dist/types/helper/streaming/index.d.ts +8 -0
  410. package/dist/types/helper/streaming/sse.d.ts +13 -0
  411. package/dist/types/helper/streaming/stream.d.ts +3 -0
  412. package/dist/types/helper/streaming/text.d.ts +3 -0
  413. package/dist/types/helper/streaming/utils.d.ts +1 -0
  414. package/dist/types/helper/testing/index.d.ts +12 -0
  415. package/dist/types/helper/websocket/index.d.ts +69 -0
  416. package/dist/types/hono-base.d.ts +220 -0
  417. package/dist/types/hono.d.ts +19 -0
  418. package/dist/types/http-exception.d.ts +59 -0
  419. package/dist/types/index.d.ts +36 -0
  420. package/dist/types/jsx/base.d.ts +58 -0
  421. package/dist/types/jsx/children.d.ts +9 -0
  422. package/dist/types/jsx/components.d.ts +15 -0
  423. package/dist/types/jsx/constants.d.ts +6 -0
  424. package/dist/types/jsx/context.d.ts +12 -0
  425. package/dist/types/jsx/dom/client.d.ts +31 -0
  426. package/dist/types/jsx/dom/components.d.ts +10 -0
  427. package/dist/types/jsx/dom/context.d.ts +3 -0
  428. package/dist/types/jsx/dom/css.d.ts +77 -0
  429. package/dist/types/jsx/dom/hooks/index.d.ts +39 -0
  430. package/dist/types/jsx/dom/index.d.ts +88 -0
  431. package/dist/types/jsx/dom/intrinsic-element/components.d.ts +16 -0
  432. package/dist/types/jsx/dom/jsx-dev-runtime.d.ts +8 -0
  433. package/dist/types/jsx/dom/jsx-runtime.d.ts +7 -0
  434. package/dist/types/jsx/dom/render.d.ts +73 -0
  435. package/dist/types/jsx/dom/server.d.ts +106 -0
  436. package/dist/types/jsx/dom/utils.d.ts +1 -0
  437. package/dist/types/jsx/hooks/index.d.ts +45 -0
  438. package/dist/types/jsx/index.d.ts +75 -0
  439. package/dist/types/jsx/intrinsic-element/common.d.ts +6 -0
  440. package/dist/types/jsx/intrinsic-element/components.d.ts +13 -0
  441. package/dist/types/jsx/intrinsic-elements.d.ts +722 -0
  442. package/dist/types/jsx/jsx-dev-runtime.d.ts +8 -0
  443. package/dist/types/jsx/jsx-runtime.d.ts +12 -0
  444. package/dist/types/jsx/streaming.d.ts +36 -0
  445. package/dist/types/jsx/types.d.ts +35 -0
  446. package/dist/types/jsx/utils.d.ts +2 -0
  447. package/dist/types/middleware/basic-auth/index.d.ts +75 -0
  448. package/dist/types/middleware/bearer-auth/index.d.ts +91 -0
  449. package/dist/types/middleware/body-limit/index.d.ts +45 -0
  450. package/dist/types/middleware/cache/index.d.ts +41 -0
  451. package/dist/types/middleware/combine/index.d.ts +85 -0
  452. package/dist/types/middleware/compress/index.d.ts +29 -0
  453. package/dist/types/middleware/context-storage/index.d.ts +40 -0
  454. package/dist/types/middleware/cors/index.d.ts +55 -0
  455. package/dist/types/middleware/csrf/index.d.ts +78 -0
  456. package/dist/types/middleware/etag/digest.d.ts +1 -0
  457. package/dist/types/middleware/etag/index.d.ts +42 -0
  458. package/dist/types/middleware/ip-restriction/index.d.ts +31 -0
  459. package/dist/types/middleware/jsx-renderer/index.d.ts +77 -0
  460. package/dist/types/middleware/jwk/index.d.ts +1 -0
  461. package/dist/types/middleware/jwk/jwk.d.ts +54 -0
  462. package/dist/types/middleware/jwt/index.d.ts +8 -0
  463. package/dist/types/middleware/jwt/jwt.d.ts +67 -0
  464. package/dist/types/middleware/language/index.d.ts +7 -0
  465. package/dist/types/middleware/language/language.d.ts +102 -0
  466. package/dist/types/middleware/logger/index.d.ts +24 -0
  467. package/dist/types/middleware/method-override/index.d.ts +48 -0
  468. package/dist/types/middleware/powered-by/index.d.ts +29 -0
  469. package/dist/types/middleware/pretty-json/index.d.ts +42 -0
  470. package/dist/types/middleware/request-id/index.d.ts +7 -0
  471. package/dist/types/middleware/request-id/request-id.d.ts +37 -0
  472. package/dist/types/middleware/secure-headers/index.d.ts +8 -0
  473. package/dist/types/middleware/secure-headers/permissions-policy.d.ts +14 -0
  474. package/dist/types/middleware/secure-headers/secure-headers.d.ts +109 -0
  475. package/dist/types/middleware/serve-static/index.d.ts +31 -0
  476. package/dist/types/middleware/serve-static/path.d.ts +5 -0
  477. package/dist/types/middleware/timeout/index.d.ts +31 -0
  478. package/dist/types/middleware/timing/index.d.ts +7 -0
  479. package/dist/types/middleware/timing/timing.d.ts +129 -0
  480. package/dist/types/middleware/trailing-slash/index.d.ts +78 -0
  481. package/dist/types/package.json +3 -0
  482. package/dist/types/preset/quick.d.ts +10 -0
  483. package/dist/types/preset/tiny.d.ts +10 -0
  484. package/dist/types/request/constants.d.ts +1 -0
  485. package/dist/types/request.d.ts +313 -0
  486. package/dist/types/router/linear-router/index.d.ts +5 -0
  487. package/dist/types/router/linear-router/router.d.ts +7 -0
  488. package/dist/types/router/pattern-router/index.d.ts +5 -0
  489. package/dist/types/router/pattern-router/router.d.ts +7 -0
  490. package/dist/types/router/reg-exp-router/index.d.ts +6 -0
  491. package/dist/types/router/reg-exp-router/matcher.d.ts +7 -0
  492. package/dist/types/router/reg-exp-router/node.d.ts +10 -0
  493. package/dist/types/router/reg-exp-router/prepared-router.d.ts +17 -0
  494. package/dist/types/router/reg-exp-router/router.d.ts +11 -0
  495. package/dist/types/router/reg-exp-router/trie.d.ts +7 -0
  496. package/dist/types/router/smart-router/index.d.ts +5 -0
  497. package/dist/types/router/smart-router/router.d.ts +11 -0
  498. package/dist/types/router/trie-router/index.d.ts +5 -0
  499. package/dist/types/router/trie-router/node.d.ts +7 -0
  500. package/dist/types/router/trie-router/router.d.ts +8 -0
  501. package/dist/types/router.d.ts +97 -0
  502. package/dist/types/types.d.ts +573 -0
  503. package/dist/types/utils/accept.d.ts +6 -0
  504. package/dist/types/utils/basic-auth.d.ts +5 -0
  505. package/dist/types/utils/body.d.ts +79 -0
  506. package/dist/types/utils/buffer.d.ts +17 -0
  507. package/dist/types/utils/color.d.ts +21 -0
  508. package/dist/types/utils/compress.d.ts +8 -0
  509. package/dist/types/utils/concurrent.d.ts +11 -0
  510. package/dist/types/utils/constants.d.ts +4 -0
  511. package/dist/types/utils/cookie.d.ts +40 -0
  512. package/dist/types/utils/crypto.d.ts +15 -0
  513. package/dist/types/utils/encode.d.ts +8 -0
  514. package/dist/types/utils/filepath.d.ts +12 -0
  515. package/dist/types/utils/handler.d.ts +6 -0
  516. package/dist/types/utils/headers.d.ts +8 -0
  517. package/dist/types/utils/html.d.ts +44 -0
  518. package/dist/types/utils/http-status.d.ts +32 -0
  519. package/dist/types/utils/ipaddr.d.ts +40 -0
  520. package/dist/types/utils/jwt/index.d.ts +18 -0
  521. package/dist/types/utils/jwt/jwa.d.ts +23 -0
  522. package/dist/types/utils/jwt/jws.d.ts +12 -0
  523. package/dist/types/utils/jwt/jwt.d.ts +43 -0
  524. package/dist/types/utils/jwt/types.d.ts +86 -0
  525. package/dist/types/utils/jwt/utf8.d.ts +6 -0
  526. package/dist/types/utils/mime.d.ts +70 -0
  527. package/dist/types/utils/stream.d.ts +31 -0
  528. package/dist/types/utils/types.d.ts +74 -0
  529. package/dist/types/utils/url.d.ts +39 -0
  530. package/dist/types/validator/index.d.ts +7 -0
  531. package/dist/types/validator/utils.d.ts +29 -0
  532. package/dist/types/validator/validator.d.ts +16 -0
  533. package/dist/types.js +6 -0
  534. package/dist/utils/accept.js +223 -0
  535. package/dist/utils/basic-auth.js +23 -0
  536. package/dist/utils/body.js +75 -0
  537. package/dist/utils/buffer.js +77 -0
  538. package/dist/utils/color.js +25 -0
  539. package/dist/utils/compress.js +5 -0
  540. package/dist/utils/concurrent.js +39 -0
  541. package/dist/utils/constants.js +5 -0
  542. package/dist/utils/cookie.js +152 -0
  543. package/dist/utils/crypto.js +44 -0
  544. package/dist/utils/encode.js +29 -0
  545. package/dist/utils/filepath.js +35 -0
  546. package/dist/utils/handler.js +13 -0
  547. package/dist/utils/headers.js +0 -0
  548. package/dist/utils/html.js +123 -0
  549. package/dist/utils/http-status.js +0 -0
  550. package/dist/utils/ipaddr.js +102 -0
  551. package/dist/utils/jwt/index.js +6 -0
  552. package/dist/utils/jwt/jwa.js +20 -0
  553. package/dist/utils/jwt/jws.js +192 -0
  554. package/dist/utils/jwt/jwt.js +201 -0
  555. package/dist/utils/jwt/types.js +124 -0
  556. package/dist/utils/jwt/utf8.js +7 -0
  557. package/dist/utils/mime.js +84 -0
  558. package/dist/utils/stream.js +79 -0
  559. package/dist/utils/types.js +0 -0
  560. package/dist/utils/url.js +222 -0
  561. package/dist/validator/index.js +5 -0
  562. package/dist/validator/utils.js +0 -0
  563. package/dist/validator/validator.js +86 -0
  564. package/package.json +702 -0
@@ -0,0 +1,111 @@
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 proxy_exports = {};
19
+ __export(proxy_exports, {
20
+ proxy: () => proxy
21
+ });
22
+ module.exports = __toCommonJS(proxy_exports);
23
+ var import_http_exception = require("../../http-exception");
24
+ const hopByHopHeaders = [
25
+ "connection",
26
+ "keep-alive",
27
+ "proxy-authenticate",
28
+ "proxy-authorization",
29
+ "te",
30
+ "trailer",
31
+ "transfer-encoding",
32
+ "upgrade"
33
+ ];
34
+ const ALLOWED_TOKEN_PATTERN = /^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/;
35
+ const buildRequestInitFromRequest = (request, strictConnectionProcessing) => {
36
+ if (!request) {
37
+ return {};
38
+ }
39
+ const headers = new Headers(request.headers);
40
+ if (strictConnectionProcessing) {
41
+ const connectionValue = headers.get("connection");
42
+ if (connectionValue) {
43
+ const headerNames = connectionValue.split(",").map((h) => h.trim());
44
+ const invalidHeaders = headerNames.filter((h) => !ALLOWED_TOKEN_PATTERN.test(h));
45
+ if (invalidHeaders.length > 0) {
46
+ throw new import_http_exception.HTTPException(400, {
47
+ message: `Invalid Connection header value: ${invalidHeaders.join(", ")}`
48
+ });
49
+ }
50
+ headerNames.forEach((headerName) => {
51
+ headers.delete(headerName);
52
+ });
53
+ }
54
+ }
55
+ hopByHopHeaders.forEach((header) => {
56
+ headers.delete(header);
57
+ });
58
+ return {
59
+ method: request.method,
60
+ body: request.body,
61
+ duplex: request.body ? "half" : void 0,
62
+ headers,
63
+ signal: request.signal
64
+ };
65
+ };
66
+ const preprocessRequestInit = (requestInit) => {
67
+ if (!requestInit.headers || Array.isArray(requestInit.headers) || requestInit.headers instanceof Headers) {
68
+ return requestInit;
69
+ }
70
+ const headers = new Headers();
71
+ for (const [key, value] of Object.entries(requestInit.headers)) {
72
+ if (value == null) {
73
+ headers.delete(key);
74
+ } else {
75
+ headers.set(key, value);
76
+ }
77
+ }
78
+ requestInit.headers = headers;
79
+ return requestInit;
80
+ };
81
+ const proxy = async (input, proxyInit) => {
82
+ const {
83
+ raw,
84
+ customFetch,
85
+ strictConnectionProcessing = false,
86
+ ...requestInit
87
+ } = proxyInit instanceof Request ? { raw: proxyInit } : proxyInit ?? {};
88
+ const req = new Request(input, {
89
+ ...buildRequestInitFromRequest(raw, strictConnectionProcessing),
90
+ ...preprocessRequestInit(requestInit)
91
+ });
92
+ req.headers.delete("accept-encoding");
93
+ const res = await (customFetch || fetch)(req);
94
+ const resHeaders = new Headers(res.headers);
95
+ hopByHopHeaders.forEach((header) => {
96
+ resHeaders.delete(header);
97
+ });
98
+ if (resHeaders.has("content-encoding")) {
99
+ resHeaders.delete("content-encoding");
100
+ resHeaders.delete("content-length");
101
+ }
102
+ return new Response(res.body, {
103
+ status: res.status,
104
+ statusText: res.statusText,
105
+ headers: resHeaders
106
+ });
107
+ };
108
+ // Annotate the CommonJS export names for ESM import in node:
109
+ 0 && (module.exports = {
110
+ proxy
111
+ });
@@ -0,0 +1,71 @@
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 route_exports = {};
19
+ __export(route_exports, {
20
+ basePath: () => basePath,
21
+ baseRoutePath: () => baseRoutePath,
22
+ matchedRoutes: () => matchedRoutes,
23
+ routePath: () => routePath
24
+ });
25
+ module.exports = __toCommonJS(route_exports);
26
+ var import_constants = require("../../request/constants");
27
+ var import_url = require("../../utils/url");
28
+ const matchedRoutes = (c) => (
29
+ // @ts-expect-error c.req[GET_MATCH_RESULT] is not typed
30
+ c.req[import_constants.GET_MATCH_RESULT][0].map(([[, route]]) => route)
31
+ );
32
+ const routePath = (c, index) => matchedRoutes(c).at(index ?? c.req.routeIndex)?.path ?? "";
33
+ const baseRoutePath = (c, index) => matchedRoutes(c).at(index ?? c.req.routeIndex)?.basePath ?? "";
34
+ const basePathCacheMap = /* @__PURE__ */ new WeakMap();
35
+ const basePath = (c, index) => {
36
+ index ??= c.req.routeIndex;
37
+ const cache = basePathCacheMap.get(c) || [];
38
+ if (typeof cache[index] === "string") {
39
+ return cache[index];
40
+ }
41
+ let result;
42
+ const rp = baseRoutePath(c, index);
43
+ if (!/[:*]/.test(rp)) {
44
+ result = rp;
45
+ } else {
46
+ const paths = (0, import_url.splitRoutingPath)(rp);
47
+ const reqPath = c.req.path;
48
+ let basePathLength = 0;
49
+ for (let i = 0, len = paths.length; i < len; i++) {
50
+ const pattern = (0, import_url.getPattern)(paths[i], paths[i + 1]);
51
+ if (pattern) {
52
+ const re = pattern[2] === true || pattern === "*" ? /[^\/]+/ : pattern[2];
53
+ basePathLength += reqPath.substring(basePathLength + 1).match(re)?.[0].length || 0;
54
+ } else {
55
+ basePathLength += paths[i].length;
56
+ }
57
+ basePathLength += 1;
58
+ }
59
+ result = reqPath.substring(0, basePathLength);
60
+ }
61
+ cache[index] = result;
62
+ basePathCacheMap.set(c, cache);
63
+ return result;
64
+ };
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ basePath,
68
+ baseRoutePath,
69
+ matchedRoutes,
70
+ routePath
71
+ });
@@ -0,0 +1,43 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var ssg_exports = {};
20
+ __export(ssg_exports, {
21
+ X_HONO_DISABLE_SSG_HEADER_KEY: () => import_middleware.X_HONO_DISABLE_SSG_HEADER_KEY,
22
+ defaultPlugin: () => import_plugins.defaultPlugin,
23
+ disableSSG: () => import_middleware.disableSSG,
24
+ isSSGContext: () => import_middleware.isSSGContext,
25
+ onlySSG: () => import_middleware.onlySSG,
26
+ redirectPlugin: () => import_plugins.redirectPlugin,
27
+ ssgParams: () => import_middleware.ssgParams
28
+ });
29
+ module.exports = __toCommonJS(ssg_exports);
30
+ __reExport(ssg_exports, require("./ssg"), module.exports);
31
+ var import_middleware = require("./middleware");
32
+ var import_plugins = require("./plugins");
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ X_HONO_DISABLE_SSG_HEADER_KEY,
36
+ defaultPlugin,
37
+ disableSSG,
38
+ isSSGContext,
39
+ onlySSG,
40
+ redirectPlugin,
41
+ ssgParams,
42
+ ...require("./ssg")
43
+ });
@@ -0,0 +1,73 @@
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 middleware_exports = {};
19
+ __export(middleware_exports, {
20
+ SSG_CONTEXT: () => SSG_CONTEXT,
21
+ SSG_DISABLED_RESPONSE: () => SSG_DISABLED_RESPONSE,
22
+ X_HONO_DISABLE_SSG_HEADER_KEY: () => X_HONO_DISABLE_SSG_HEADER_KEY,
23
+ disableSSG: () => disableSSG,
24
+ isSSGContext: () => isSSGContext,
25
+ onlySSG: () => onlySSG,
26
+ ssgParams: () => ssgParams
27
+ });
28
+ module.exports = __toCommonJS(middleware_exports);
29
+ var import_utils = require("./utils");
30
+ const SSG_CONTEXT = "HONO_SSG_CONTEXT";
31
+ const X_HONO_DISABLE_SSG_HEADER_KEY = "x-hono-disable-ssg";
32
+ const SSG_DISABLED_RESPONSE = (() => {
33
+ try {
34
+ return new Response("SSG is disabled", {
35
+ status: 404,
36
+ headers: { [X_HONO_DISABLE_SSG_HEADER_KEY]: "true" }
37
+ });
38
+ } catch {
39
+ return null;
40
+ }
41
+ })();
42
+ const ssgParams = (params) => async (c, next) => {
43
+ if ((0, import_utils.isDynamicRoute)(c.req.path)) {
44
+ ;
45
+ c.req.raw.ssgParams = Array.isArray(params) ? params : await params(c);
46
+ return c.notFound();
47
+ }
48
+ await next();
49
+ };
50
+ const isSSGContext = (c) => !!c.env?.[SSG_CONTEXT];
51
+ const disableSSG = () => async function disableSSG2(c, next) {
52
+ if (isSSGContext(c)) {
53
+ c.header(X_HONO_DISABLE_SSG_HEADER_KEY, "true");
54
+ return c.notFound();
55
+ }
56
+ await next();
57
+ };
58
+ const onlySSG = () => async function onlySSG2(c, next) {
59
+ if (!isSSGContext(c)) {
60
+ return c.notFound();
61
+ }
62
+ await next();
63
+ };
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ SSG_CONTEXT,
67
+ SSG_DISABLED_RESPONSE,
68
+ X_HONO_DISABLE_SSG_HEADER_KEY,
69
+ disableSSG,
70
+ isSSGContext,
71
+ onlySSG,
72
+ ssgParams
73
+ });
@@ -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
+ });
@@ -0,0 +1,316 @@
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 ssg_exports = {};
19
+ __export(ssg_exports, {
20
+ DEFAULT_OUTPUT_DIR: () => DEFAULT_OUTPUT_DIR,
21
+ combineAfterGenerateHooks: () => combineAfterGenerateHooks,
22
+ combineAfterResponseHooks: () => combineAfterResponseHooks,
23
+ combineBeforeRequestHooks: () => combineBeforeRequestHooks,
24
+ defaultExtensionMap: () => defaultExtensionMap,
25
+ fetchRoutesContent: () => fetchRoutesContent,
26
+ saveContentToFile: () => saveContentToFile,
27
+ toSSG: () => toSSG
28
+ });
29
+ module.exports = __toCommonJS(ssg_exports);
30
+ var import_utils = require("../../client/utils");
31
+ var import_concurrent = require("../../utils/concurrent");
32
+ var import_mime = require("../../utils/mime");
33
+ var import_middleware = require("./middleware");
34
+ var import_plugins = require("./plugins");
35
+ var import_utils2 = require("./utils");
36
+ const DEFAULT_CONCURRENCY = 2;
37
+ const DEFAULT_CONTENT_TYPE = "text/plain";
38
+ const DEFAULT_OUTPUT_DIR = "./static";
39
+ const generateFilePath = (routePath, outDir, mimeType, extensionMap) => {
40
+ const extension = determineExtension(mimeType, extensionMap);
41
+ if (routePath.endsWith(`.${extension}`)) {
42
+ return (0, import_utils2.joinPaths)(outDir, routePath);
43
+ }
44
+ if (routePath === "/") {
45
+ return (0, import_utils2.joinPaths)(outDir, `index.${extension}`);
46
+ }
47
+ if (routePath.endsWith("/")) {
48
+ return (0, import_utils2.joinPaths)(outDir, routePath, `index.${extension}`);
49
+ }
50
+ return (0, import_utils2.joinPaths)(outDir, `${routePath}.${extension}`);
51
+ };
52
+ const parseResponseContent = async (response) => {
53
+ const contentType = response.headers.get("Content-Type");
54
+ try {
55
+ if (contentType?.includes("text") || contentType?.includes("json")) {
56
+ return await response.text();
57
+ } else {
58
+ return await response.arrayBuffer();
59
+ }
60
+ } catch (error) {
61
+ throw new Error(
62
+ `Error processing response: ${error instanceof Error ? error.message : "Unknown error"}`
63
+ );
64
+ }
65
+ };
66
+ const defaultExtensionMap = {
67
+ "text/html": "html",
68
+ "text/xml": "xml",
69
+ "application/xml": "xml",
70
+ "application/yaml": "yaml"
71
+ };
72
+ const determineExtension = (mimeType, userExtensionMap) => {
73
+ const extensionMap = userExtensionMap || defaultExtensionMap;
74
+ if (mimeType in extensionMap) {
75
+ return extensionMap[mimeType];
76
+ }
77
+ return (0, import_mime.getExtension)(mimeType) || "html";
78
+ };
79
+ const combineBeforeRequestHooks = (hooks) => {
80
+ if (!Array.isArray(hooks)) {
81
+ return hooks;
82
+ }
83
+ return async (req) => {
84
+ let currentReq = req;
85
+ for (const hook of hooks) {
86
+ const result = await hook(currentReq);
87
+ if (result === false) {
88
+ return false;
89
+ }
90
+ if (result instanceof Request) {
91
+ currentReq = result;
92
+ }
93
+ }
94
+ return currentReq;
95
+ };
96
+ };
97
+ const combineAfterResponseHooks = (hooks) => {
98
+ if (!Array.isArray(hooks)) {
99
+ return hooks;
100
+ }
101
+ return async (res) => {
102
+ let currentRes = res;
103
+ for (const hook of hooks) {
104
+ const result = await hook(currentRes);
105
+ if (result === false) {
106
+ return false;
107
+ }
108
+ if (result instanceof Response) {
109
+ currentRes = result;
110
+ }
111
+ }
112
+ return currentRes;
113
+ };
114
+ };
115
+ const combineAfterGenerateHooks = (hooks, fsModule, options) => {
116
+ if (!Array.isArray(hooks)) {
117
+ return hooks;
118
+ }
119
+ return async (result) => {
120
+ for (const hook of hooks) {
121
+ await hook(result, fsModule, options);
122
+ }
123
+ };
124
+ };
125
+ const fetchRoutesContent = function* (app, beforeRequestHook, afterResponseHook, concurrency) {
126
+ const baseURL = "http://localhost";
127
+ const pool = (0, import_concurrent.createPool)({ concurrency });
128
+ for (const route of (0, import_utils2.filterStaticGenerateRoutes)(app)) {
129
+ const thisRouteBaseURL = new URL(route.path, baseURL).toString();
130
+ let forGetInfoURLRequest = new Request(thisRouteBaseURL);
131
+ yield new Promise(async (resolveGetInfo, rejectGetInfo) => {
132
+ try {
133
+ if (beforeRequestHook) {
134
+ const maybeRequest = await beforeRequestHook(forGetInfoURLRequest);
135
+ if (!maybeRequest) {
136
+ resolveGetInfo(void 0);
137
+ return;
138
+ }
139
+ forGetInfoURLRequest = maybeRequest;
140
+ }
141
+ await pool.run(() => app.fetch(forGetInfoURLRequest));
142
+ if (!forGetInfoURLRequest.ssgParams) {
143
+ if ((0, import_utils2.isDynamicRoute)(route.path)) {
144
+ resolveGetInfo(void 0);
145
+ return;
146
+ }
147
+ forGetInfoURLRequest.ssgParams = [{}];
148
+ }
149
+ const requestInit = {
150
+ method: forGetInfoURLRequest.method,
151
+ headers: forGetInfoURLRequest.headers
152
+ };
153
+ resolveGetInfo(
154
+ (function* () {
155
+ for (const param of forGetInfoURLRequest.ssgParams) {
156
+ yield new Promise(async (resolveReq, rejectReq) => {
157
+ try {
158
+ const replacedUrlParam = (0, import_utils.replaceUrlParam)(route.path, param);
159
+ let response = await pool.run(
160
+ () => app.request(replacedUrlParam, requestInit, {
161
+ [import_middleware.SSG_CONTEXT]: true
162
+ })
163
+ );
164
+ if (response.headers.get(import_middleware.X_HONO_DISABLE_SSG_HEADER_KEY)) {
165
+ resolveReq(void 0);
166
+ return;
167
+ }
168
+ if (afterResponseHook) {
169
+ const maybeResponse = await afterResponseHook(response);
170
+ if (!maybeResponse) {
171
+ resolveReq(void 0);
172
+ return;
173
+ }
174
+ response = maybeResponse;
175
+ }
176
+ const mimeType = response.headers.get("Content-Type")?.split(";")[0] || DEFAULT_CONTENT_TYPE;
177
+ const content = await parseResponseContent(response);
178
+ resolveReq({
179
+ routePath: replacedUrlParam,
180
+ mimeType,
181
+ content
182
+ });
183
+ } catch (error) {
184
+ rejectReq(error);
185
+ }
186
+ });
187
+ }
188
+ })()
189
+ );
190
+ } catch (error) {
191
+ rejectGetInfo(error);
192
+ }
193
+ });
194
+ }
195
+ };
196
+ const createdDirs = /* @__PURE__ */ new Set();
197
+ const saveContentToFile = async (data, fsModule, outDir, extensionMap) => {
198
+ const awaitedData = await data;
199
+ if (!awaitedData) {
200
+ return;
201
+ }
202
+ const { routePath, content, mimeType } = awaitedData;
203
+ const filePath = generateFilePath(routePath, outDir, mimeType, extensionMap);
204
+ const dirPath = (0, import_utils2.dirname)(filePath);
205
+ if (!createdDirs.has(dirPath)) {
206
+ await fsModule.mkdir(dirPath, { recursive: true });
207
+ createdDirs.add(dirPath);
208
+ }
209
+ if (typeof content === "string") {
210
+ await fsModule.writeFile(filePath, content);
211
+ } else if (content instanceof ArrayBuffer) {
212
+ await fsModule.writeFile(filePath, new Uint8Array(content));
213
+ }
214
+ return filePath;
215
+ };
216
+ const toSSG = async (app, fs, options) => {
217
+ let result;
218
+ const getInfoPromises = [];
219
+ const savePromises = [];
220
+ const plugins = options?.plugins || [(0, import_plugins.defaultPlugin)()];
221
+ const beforeRequestHooks = [];
222
+ const afterResponseHooks = [];
223
+ const afterGenerateHooks = [];
224
+ if (options?.beforeRequestHook) {
225
+ beforeRequestHooks.push(
226
+ ...Array.isArray(options.beforeRequestHook) ? options.beforeRequestHook : [options.beforeRequestHook]
227
+ );
228
+ }
229
+ if (options?.afterResponseHook) {
230
+ afterResponseHooks.push(
231
+ ...Array.isArray(options.afterResponseHook) ? options.afterResponseHook : [options.afterResponseHook]
232
+ );
233
+ }
234
+ if (options?.afterGenerateHook) {
235
+ afterGenerateHooks.push(
236
+ ...Array.isArray(options.afterGenerateHook) ? options.afterGenerateHook : [options.afterGenerateHook]
237
+ );
238
+ }
239
+ for (const plugin of plugins) {
240
+ if (plugin.beforeRequestHook) {
241
+ beforeRequestHooks.push(
242
+ ...Array.isArray(plugin.beforeRequestHook) ? plugin.beforeRequestHook : [plugin.beforeRequestHook]
243
+ );
244
+ }
245
+ if (plugin.afterResponseHook) {
246
+ afterResponseHooks.push(
247
+ ...Array.isArray(plugin.afterResponseHook) ? plugin.afterResponseHook : [plugin.afterResponseHook]
248
+ );
249
+ }
250
+ if (plugin.afterGenerateHook) {
251
+ afterGenerateHooks.push(
252
+ ...Array.isArray(plugin.afterGenerateHook) ? plugin.afterGenerateHook : [plugin.afterGenerateHook]
253
+ );
254
+ }
255
+ }
256
+ try {
257
+ const outputDir = options?.dir ?? DEFAULT_OUTPUT_DIR;
258
+ const concurrency = options?.concurrency ?? DEFAULT_CONCURRENCY;
259
+ const combinedBeforeRequestHook = combineBeforeRequestHooks(
260
+ beforeRequestHooks.length > 0 ? beforeRequestHooks : [(req) => req]
261
+ );
262
+ const combinedAfterResponseHook = combineAfterResponseHooks(
263
+ afterResponseHooks.length > 0 ? afterResponseHooks : [(req) => req]
264
+ );
265
+ const getInfoGen = fetchRoutesContent(
266
+ app,
267
+ combinedBeforeRequestHook,
268
+ combinedAfterResponseHook,
269
+ concurrency
270
+ );
271
+ for (const getInfo of getInfoGen) {
272
+ getInfoPromises.push(
273
+ getInfo.then((getContentGen) => {
274
+ if (!getContentGen) {
275
+ return;
276
+ }
277
+ for (const content of getContentGen) {
278
+ savePromises.push(
279
+ saveContentToFile(content, fs, outputDir, options?.extensionMap).catch((e) => e)
280
+ );
281
+ }
282
+ })
283
+ );
284
+ }
285
+ await Promise.all(getInfoPromises);
286
+ const files = [];
287
+ for (const savePromise of savePromises) {
288
+ const fileOrError = await savePromise;
289
+ if (typeof fileOrError === "string") {
290
+ files.push(fileOrError);
291
+ } else if (fileOrError) {
292
+ throw fileOrError;
293
+ }
294
+ }
295
+ result = { success: true, files };
296
+ } catch (error) {
297
+ const errorObj = error instanceof Error ? error : new Error(String(error));
298
+ result = { success: false, files: [], error: errorObj };
299
+ }
300
+ if (afterGenerateHooks.length > 0) {
301
+ const combinedAfterGenerateHooks = combineAfterGenerateHooks(afterGenerateHooks, fs, options);
302
+ await combinedAfterGenerateHooks(result, fs, options);
303
+ }
304
+ return result;
305
+ };
306
+ // Annotate the CommonJS export names for ESM import in node:
307
+ 0 && (module.exports = {
308
+ DEFAULT_OUTPUT_DIR,
309
+ combineAfterGenerateHooks,
310
+ combineAfterResponseHooks,
311
+ combineBeforeRequestHooks,
312
+ defaultExtensionMap,
313
+ fetchRoutesContent,
314
+ saveContentToFile,
315
+ toSSG
316
+ });