acrylblends 0.4.1 → 0.5.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 (416) hide show
  1. package/LICENSE +73 -0
  2. package/docs/framework/README.md +51 -51
  3. package/docs/framework/UPSTREAM.md +1 -1
  4. package/docs/framework/agents/index.md +24 -0
  5. package/docs/framework/api/acryl.md +259 -0
  6. package/docs/framework/api/context.md +527 -0
  7. package/docs/framework/api/exception.md +80 -0
  8. package/docs/framework/api/index.md +12 -0
  9. package/docs/framework/api/presets.md +65 -0
  10. package/docs/framework/api/request.md +396 -0
  11. package/docs/framework/api/routing.md +303 -0
  12. package/docs/framework/{api-summary.md → api/summary.md} +19 -17
  13. package/docs/framework/concepts/benchmarks.md +26 -0
  14. package/docs/framework/concepts/developer-experience.md +5 -0
  15. package/docs/framework/concepts/middleware.md +21 -0
  16. package/docs/framework/concepts/motivation.md +14 -0
  17. package/docs/framework/concepts/routers.md +63 -0
  18. package/docs/framework/concepts/stacks.md +235 -0
  19. package/docs/framework/concepts/web-standard.md +37 -0
  20. package/docs/framework/{getting-started.md → cordis/acryl-in-a-cordis-app.md} +16 -16
  21. package/docs/framework/{concepts.md → cordis/concepts.md} +2 -2
  22. package/docs/framework/cordis/middleware.md +8 -0
  23. package/docs/framework/{migration-from-0-3.md → cordis/migration-from-0-3.md} +16 -13
  24. package/docs/framework/cordis/migration-from-0-4.md +14 -0
  25. package/docs/framework/{migration-from-dsh-webserver.md → cordis/migration-from-dsh-webserver.md} +7 -7
  26. package/docs/framework/{routing.md → cordis/mounting.md} +5 -108
  27. package/docs/framework/{node-server.md → cordis/node-server.md} +4 -4
  28. package/docs/framework/{surfaces.md → cordis/surfaces.md} +2 -2
  29. package/docs/framework/cordis/transport-and-cancellation.md +57 -0
  30. package/docs/framework/{validation.md → cordis/validation.md} +9 -9
  31. package/docs/framework/getting-started/basic.md +196 -0
  32. package/docs/framework/getting-started/bun.md +221 -0
  33. package/docs/framework/getting-started/nodejs.md +344 -0
  34. package/docs/framework/getting-started/other-runtimes.md +23 -0
  35. package/docs/framework/guides/best-practices.md +231 -0
  36. package/docs/framework/guides/create-acrylblends.md +79 -0
  37. package/docs/framework/guides/examples.md +3 -0
  38. package/docs/framework/guides/faq.md +19 -0
  39. package/docs/framework/guides/helpers.md +33 -0
  40. package/docs/framework/guides/jsx-dom.md +299 -0
  41. package/docs/framework/guides/jsx.md +440 -0
  42. package/docs/framework/guides/middleware.md +253 -0
  43. package/docs/framework/guides/rpc.md +886 -0
  44. package/docs/framework/guides/testing.md +133 -0
  45. package/docs/framework/guides/validation.md +383 -0
  46. package/docs/framework/helpers/accepts.md +60 -0
  47. package/docs/framework/helpers/adapter.md +87 -0
  48. package/docs/framework/helpers/conninfo.md +112 -0
  49. package/docs/framework/helpers/cookie.md +232 -0
  50. package/docs/framework/helpers/css.md +285 -0
  51. package/docs/framework/helpers/dev.md +67 -0
  52. package/docs/framework/helpers/factory.md +180 -0
  53. package/docs/framework/helpers/html.md +123 -0
  54. package/docs/framework/helpers/jwt.md +184 -0
  55. package/docs/framework/helpers/proxy.md +118 -0
  56. package/docs/framework/helpers/route.md +143 -0
  57. package/docs/framework/helpers/ssg.md +393 -0
  58. package/docs/framework/helpers/streaming.md +119 -0
  59. package/docs/framework/helpers/testing.md +101 -0
  60. package/docs/framework/helpers/websocket.md +215 -0
  61. package/docs/framework/middleware/builtin/basic-auth.md +165 -0
  62. package/docs/framework/middleware/builtin/bearer-auth.md +138 -0
  63. package/docs/framework/middleware/builtin/body-limit.md +71 -0
  64. package/docs/framework/middleware/builtin/cache.md +122 -0
  65. package/docs/framework/middleware/builtin/combine.md +94 -0
  66. package/docs/framework/middleware/builtin/compress.md +59 -0
  67. package/docs/framework/middleware/builtin/context-storage.md +78 -0
  68. package/docs/framework/middleware/builtin/cors.md +135 -0
  69. package/docs/framework/middleware/builtin/csrf.md +105 -0
  70. package/docs/framework/middleware/builtin/etag.md +54 -0
  71. package/docs/framework/middleware/builtin/ip-restriction.md +69 -0
  72. package/docs/framework/middleware/builtin/jsx-renderer.md +286 -0
  73. package/docs/framework/middleware/builtin/jwk.md +192 -0
  74. package/docs/framework/middleware/builtin/jwt.md +145 -0
  75. package/docs/framework/middleware/builtin/language.md +232 -0
  76. package/docs/framework/middleware/builtin/logger.md +74 -0
  77. package/docs/framework/middleware/builtin/loopback-only.md +31 -0
  78. package/docs/framework/middleware/builtin/method-not-allowed.md +48 -0
  79. package/docs/framework/middleware/builtin/method-override.md +80 -0
  80. package/docs/framework/middleware/builtin/mount.md +106 -0
  81. package/docs/framework/middleware/builtin/pretty-json.md +53 -0
  82. package/docs/framework/middleware/builtin/request-id.md +94 -0
  83. package/docs/framework/middleware/builtin/secure-headers.md +247 -0
  84. package/docs/framework/middleware/builtin/timeout.md +98 -0
  85. package/docs/framework/middleware/builtin/timing.md +101 -0
  86. package/docs/framework/middleware/builtin/trailing-slash.md +74 -0
  87. package/docs/framework/middleware/third-party.md +4 -0
  88. package/docs/framework/upstream.json +3 -3
  89. package/lib/accepts-XBuZPVRI.js +52 -0
  90. package/lib/accepts.d.ts +33 -0
  91. package/lib/accepts.js +2 -0
  92. package/lib/acryl-base.d.ts +2 -0
  93. package/lib/acryl-base.js +332 -0
  94. package/lib/adapter.d.ts +12 -0
  95. package/lib/adapter.js +37 -0
  96. package/lib/app-BM0rTCp7.js +26 -0
  97. package/lib/app-CmAYW1Al.d.ts +21 -0
  98. package/lib/basic-auth.d.ts +72 -0
  99. package/lib/basic-auth.js +95 -0
  100. package/lib/bearer-auth.d.ts +89 -0
  101. package/lib/bearer-auth.js +94 -0
  102. package/lib/body-limit.d.ts +42 -0
  103. package/lib/body-limit.js +66 -0
  104. package/lib/client-BHTr318g.js +266 -0
  105. package/lib/client.d.ts +3 -0
  106. package/lib/client.js +2 -0
  107. package/lib/combine.d.ts +85 -0
  108. package/lib/combine.js +137 -0
  109. package/lib/compose-BuW2B6PZ.js +50 -0
  110. package/lib/compress.d.ts +38 -0
  111. package/lib/compress.js +79 -0
  112. package/lib/connection-C7xgP1hP.js +24 -0
  113. package/lib/conninfo.d.ts +25 -0
  114. package/lib/conninfo.js +2 -0
  115. package/lib/constants-Dy7ZvN1H.js +4 -0
  116. package/lib/context-Bm7rI-oK.d.ts +1234 -0
  117. package/lib/context-DDO0cfuP.js +365 -0
  118. package/lib/context-storage.d.ts +38 -0
  119. package/lib/context-storage.js +52 -0
  120. package/lib/cookie-ClMaKDQf.d.ts +40 -0
  121. package/lib/cookie.d.ts +24 -0
  122. package/lib/cookie.js +82 -0
  123. package/lib/cors.d.ts +52 -0
  124. package/lib/cors.js +106 -0
  125. package/lib/csrf.d.ts +75 -0
  126. package/lib/csrf.js +101 -0
  127. package/lib/etag.d.ts +40 -0
  128. package/lib/etag.js +135 -0
  129. package/lib/factory.d.ts +35 -0
  130. package/lib/factory.js +30 -0
  131. package/lib/headers-tu2YYN8T.d.ts +11 -0
  132. package/lib/html.d.ts +6 -0
  133. package/lib/html.js +31 -0
  134. package/lib/http-exception.d.ts +57 -0
  135. package/lib/http-exception.js +54 -0
  136. package/lib/http-status-DaAwGAFL.d.ts +35 -0
  137. package/lib/index-B-3F4wt2.d.ts +12 -0
  138. package/lib/index-UTBmM3GX.d.ts +68 -0
  139. package/lib/index-oOClm_Xk.d.ts +45 -0
  140. package/lib/index.d.ts +5 -0
  141. package/lib/index.js +28 -0
  142. package/lib/ip-restriction.d.ts +68 -0
  143. package/lib/ip-restriction.js +166 -0
  144. package/lib/jwk.d.ts +52 -0
  145. package/lib/jwk.js +117 -0
  146. package/lib/jwt-BGJBw5AF.js +403 -0
  147. package/lib/jwt-Dg493Tai.d.ts +51 -0
  148. package/lib/jwt.d.ts +72 -0
  149. package/lib/jwt.js +115 -0
  150. package/lib/language.d.ts +88 -0
  151. package/lib/language.js +198 -0
  152. package/lib/logger.d.ts +22 -0
  153. package/lib/logger.js +54 -0
  154. package/lib/loopback-only.d.ts +45 -0
  155. package/lib/loopback-only.js +90 -0
  156. package/lib/method-not-allowed.d.ts +47 -0
  157. package/lib/method-not-allowed.js +82 -0
  158. package/lib/method-override.d.ts +46 -0
  159. package/lib/method-override.js +103 -0
  160. package/lib/mime-BQOYHl-l.d.ts +72 -0
  161. package/lib/node-server/conninfo.d.ts +11 -0
  162. package/lib/node-server/conninfo.js +19 -0
  163. package/lib/node-server/serve-static.d.ts +19 -0
  164. package/lib/node-server/serve-static.js +2 -0
  165. package/lib/node-server.d.ts +103 -0
  166. package/lib/node-server.js +1325 -0
  167. package/lib/powered-by.d.ts +28 -0
  168. package/lib/powered-by.js +24 -0
  169. package/lib/pretty-json.d.ts +40 -0
  170. package/lib/pretty-json.js +39 -0
  171. package/lib/reg-exp-router-DC1R3qoY.js +363 -0
  172. package/lib/request-id.d.ts +45 -0
  173. package/lib/request-id.js +34 -0
  174. package/lib/request.d.ts +2 -0
  175. package/lib/request.js +323 -0
  176. package/lib/route.d.ts +78 -0
  177. package/lib/route.js +126 -0
  178. package/lib/router/linear-router.d.ts +11 -0
  179. package/lib/router/linear-router.js +96 -0
  180. package/lib/router/pattern-router.d.ts +11 -0
  181. package/lib/router/pattern-router.js +41 -0
  182. package/lib/router/reg-exp-router.d.ts +35 -0
  183. package/lib/router/reg-exp-router.js +2 -0
  184. package/lib/router/smart-router.d.ts +15 -0
  185. package/lib/router/smart-router.js +2 -0
  186. package/lib/router/trie-router.d.ts +11 -0
  187. package/lib/router/trie-router.js +2 -0
  188. package/lib/router-CvUxUTOq.d.ts +99 -0
  189. package/lib/router.d.ts +2 -0
  190. package/lib/router.js +35 -0
  191. package/lib/schema-validator.d.ts +28 -0
  192. package/lib/schema-validator.js +22 -0
  193. package/lib/secure-headers.d.ts +125 -0
  194. package/lib/secure-headers.js +163 -0
  195. package/lib/serve-static-Dw_m6KxR.js +213 -0
  196. package/lib/serve-static.d.ts +31 -0
  197. package/lib/serve-static.js +77 -0
  198. package/lib/smart-router-C5CZ5XSM.js +49 -0
  199. package/lib/stream-CPdqZ0Fp.d.ts +34 -0
  200. package/lib/streaming-DHST3Scg.js +96 -0
  201. package/lib/streaming.d.ts +23 -0
  202. package/lib/streaming.js +2 -0
  203. package/lib/testing.d.ts +10 -0
  204. package/lib/testing.js +17 -0
  205. package/lib/timeout.d.ts +30 -0
  206. package/lib/timeout.js +42 -0
  207. package/lib/timing.d.ts +130 -0
  208. package/lib/timing.js +183 -0
  209. package/lib/trailing-slash.d.ts +91 -0
  210. package/lib/trailing-slash.js +85 -0
  211. package/lib/trie-router-CfFbapzL.js +146 -0
  212. package/lib/types-CDO6I3B0.d.ts +40 -0
  213. package/lib/types-CHesD1KG.d.ts +195 -0
  214. package/lib/types-CwrQjlaM.d.ts +105 -0
  215. package/lib/types-DR95J00T.d.ts +29 -0
  216. package/lib/types.d.ts +2 -0
  217. package/lib/types.js +4 -0
  218. package/lib/utils/accept.d.ts +9 -0
  219. package/lib/utils/accept.js +193 -0
  220. package/lib/utils/basic-auth.d.ts +8 -0
  221. package/lib/utils/basic-auth.js +20 -0
  222. package/lib/utils/body.d.ts +2 -0
  223. package/lib/utils/body.js +94 -0
  224. package/lib/utils/buffer.d.ts +19 -0
  225. package/lib/utils/buffer.js +51 -0
  226. package/lib/utils/color.d.ts +24 -0
  227. package/lib/utils/color.js +37 -0
  228. package/lib/utils/compress.d.ts +11 -0
  229. package/lib/utils/compress.js +11 -0
  230. package/lib/utils/concurrent.d.ts +17 -0
  231. package/lib/utils/concurrent.js +30 -0
  232. package/lib/utils/constants.d.ts +7 -0
  233. package/lib/utils/constants.js +7 -0
  234. package/lib/utils/cookie.d.ts +2 -0
  235. package/lib/utils/cookie.js +125 -0
  236. package/lib/utils/crypto.d.ts +14 -0
  237. package/lib/utils/crypto.js +34 -0
  238. package/lib/utils/encode.d.ts +11 -0
  239. package/lib/utils/encode.js +33 -0
  240. package/lib/utils/filepath.d.ts +14 -0
  241. package/lib/utils/filepath.js +25 -0
  242. package/lib/utils/handler.d.ts +9 -0
  243. package/lib/utils/handler.js +12 -0
  244. package/lib/utils/headers.d.ts +2 -0
  245. package/lib/utils/headers.js +1 -0
  246. package/lib/utils/html.d.ts +46 -0
  247. package/lib/utils/html.js +103 -0
  248. package/lib/utils/http-status.d.ts +2 -0
  249. package/lib/utils/http-status.js +1 -0
  250. package/lib/utils/ipaddr.d.ts +56 -0
  251. package/lib/utils/ipaddr.js +238 -0
  252. package/lib/utils/jwt.d.ts +24 -0
  253. package/lib/utils/jwt.js +2 -0
  254. package/lib/utils/mime.d.ts +2 -0
  255. package/lib/utils/mime.js +77 -0
  256. package/lib/utils/stream.d.ts +2 -0
  257. package/lib/utils/stream.js +88 -0
  258. package/lib/utils/types.d.ts +2 -0
  259. package/lib/utils/types.js +1 -0
  260. package/lib/utils/url.d.ts +46 -0
  261. package/lib/utils/url.js +197 -0
  262. package/lib/utils-dw8lxqjL.js +4 -0
  263. package/lib/validator-D84mq-dO.js +65 -0
  264. package/lib/validator.d.ts +42 -0
  265. package/lib/validator.js +2 -0
  266. package/lib/ws.d.ts +2 -0
  267. package/lib/ws.js +53 -0
  268. package/package.json +312 -14
  269. package/plugins/acryl-inspect/src/service.ts +2 -2
  270. package/plugins/acryl-inspect/tests/service.spec.ts +3 -3
  271. package/plugins/acryl-inspect/upstream.json +2 -2
  272. package/plugins/acryl-node-server/tests/adapter/app.ts +2 -2
  273. package/plugins/acryl-node-server/tests/adapter/assets/static/acryl.html +1 -1
  274. package/plugins/acryl-node-server/tests/adapter/assets/static/index.html +1 -1
  275. package/plugins/acryl-node-server/tests/adapter/conninfo.test.ts +2 -2
  276. package/plugins/acryl-node-server/tests/adapter/content-length.test.ts +4 -4
  277. package/plugins/acryl-node-server/tests/adapter/early-hints.test.ts +5 -5
  278. package/plugins/acryl-node-server/tests/adapter/request-client-disconnect.test.ts +2 -2
  279. package/plugins/acryl-node-server/tests/adapter/serve-static.test.ts +20 -20
  280. package/plugins/acryl-node-server/tests/adapter/server-socket.test.ts +2 -2
  281. package/plugins/acryl-node-server/tests/adapter/server.test.ts +50 -50
  282. package/plugins/acryl-node-server/tests/adapter/utils/response.test.ts +4 -4
  283. package/plugins/acryl-node-server/tests/adapter/websocket.test.ts +9 -9
  284. package/plugins/acryl-node-server/tests/server.spec.ts +6 -6
  285. package/plugins/acryl-node-server/upstream.json +2 -2
  286. package/plugins/acryl-router/src/client.ts +1 -1
  287. package/plugins/acryl-router/src/connection.ts +2 -2
  288. package/plugins/acryl-router/src/core/app-base.ts +29 -29
  289. package/plugins/acryl-router/src/core/app.test.ts +175 -175
  290. package/plugins/acryl-router/src/core/app.ts +8 -8
  291. package/plugins/acryl-router/src/core/client/client.test.ts +76 -76
  292. package/plugins/acryl-router/src/core/client/client.ts +2 -2
  293. package/plugins/acryl-router/src/core/client/fetch-result-please.ts +1 -1
  294. package/plugins/acryl-router/src/core/client/index.ts +1 -1
  295. package/plugins/acryl-router/src/core/client/types.test.ts +6 -6
  296. package/plugins/acryl-router/src/core/client/types.ts +16 -16
  297. package/plugins/acryl-router/src/core/client/utils.test.ts +2 -2
  298. package/plugins/acryl-router/src/core/context.test.ts +4 -4
  299. package/plugins/acryl-router/src/core/context.ts +6 -6
  300. package/plugins/acryl-router/src/core/helper/accepts/accepts.test.ts +3 -3
  301. package/plugins/acryl-router/src/core/helper/accepts/index.ts +1 -1
  302. package/plugins/acryl-router/src/core/helper/adapter/index.test.ts +6 -6
  303. package/plugins/acryl-router/src/core/helper/adapter/index.ts +1 -1
  304. package/plugins/acryl-router/src/core/helper/conninfo/index.ts +1 -1
  305. package/plugins/acryl-router/src/core/helper/cookie/index.test.ts +8 -8
  306. package/plugins/acryl-router/src/core/helper/cookie/index.ts +1 -1
  307. package/plugins/acryl-router/src/core/helper/factory/index.test.ts +9 -9
  308. package/plugins/acryl-router/src/core/helper/factory/index.ts +10 -10
  309. package/plugins/acryl-router/src/core/helper/html/index.test.ts +4 -4
  310. package/plugins/acryl-router/src/core/helper/html/index.ts +1 -1
  311. package/plugins/acryl-router/src/core/helper/route/index.test.ts +7 -7
  312. package/plugins/acryl-router/src/core/helper/route/index.ts +8 -8
  313. package/plugins/acryl-router/src/core/helper/streaming/index.ts +1 -1
  314. package/plugins/acryl-router/src/core/helper/testing/index.test.ts +6 -6
  315. package/plugins/acryl-router/src/core/helper/testing/index.ts +4 -4
  316. package/plugins/acryl-router/src/core/helper/websocket/index.ts +2 -1
  317. package/plugins/acryl-router/src/core/http-exception.ts +1 -1
  318. package/plugins/acryl-router/src/core/index.ts +9 -9
  319. package/plugins/acryl-router/src/core/middleware/basic-auth/index.test.ts +6 -6
  320. package/plugins/acryl-router/src/core/middleware/basic-auth/index.ts +3 -3
  321. package/plugins/acryl-router/src/core/middleware/bearer-auth/index.test.ts +5 -5
  322. package/plugins/acryl-router/src/core/middleware/bearer-auth/index.ts +3 -3
  323. package/plugins/acryl-router/src/core/middleware/body-limit/index.test.ts +6 -6
  324. package/plugins/acryl-router/src/core/middleware/body-limit/index.ts +3 -3
  325. package/plugins/acryl-router/src/core/middleware/combine/index.test.ts +9 -9
  326. package/plugins/acryl-router/src/core/middleware/combine/index.ts +7 -7
  327. package/plugins/acryl-router/src/core/middleware/compress/index.test.ts +9 -9
  328. package/plugins/acryl-router/src/core/middleware/compress/index.ts +3 -3
  329. package/plugins/acryl-router/src/core/middleware/context-storage/index.test.ts +5 -5
  330. package/plugins/acryl-router/src/core/middleware/context-storage/index.ts +4 -4
  331. package/plugins/acryl-router/src/core/middleware/cors/index.test.ts +7 -7
  332. package/plugins/acryl-router/src/core/middleware/cors/index.ts +3 -3
  333. package/plugins/acryl-router/src/core/middleware/csrf/index.test.ts +10 -10
  334. package/plugins/acryl-router/src/core/middleware/csrf/index.ts +3 -3
  335. package/plugins/acryl-router/src/core/middleware/etag/index.test.ts +42 -42
  336. package/plugins/acryl-router/src/core/middleware/etag/index.ts +4 -4
  337. package/plugins/acryl-router/src/core/middleware/ip-restriction/index.test.ts +4 -4
  338. package/plugins/acryl-router/src/core/middleware/ip-restriction/index.ts +6 -6
  339. package/plugins/acryl-router/src/core/middleware/jwk/index.test.ts +16 -16
  340. package/plugins/acryl-router/src/core/middleware/jwk/jwk.ts +7 -6
  341. package/plugins/acryl-router/src/core/middleware/jwt/index.test.ts +16 -16
  342. package/plugins/acryl-router/src/core/middleware/jwt/jwt.ts +4 -3
  343. package/plugins/acryl-router/src/core/middleware/language/index.test.ts +3 -3
  344. package/plugins/acryl-router/src/core/middleware/language/language.ts +3 -3
  345. package/plugins/acryl-router/src/core/middleware/logger/index.test.ts +5 -5
  346. package/plugins/acryl-router/src/core/middleware/logger/index.ts +4 -4
  347. package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.test.ts +24 -24
  348. package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.ts +8 -8
  349. package/plugins/acryl-router/src/core/middleware/method-override/index.test.ts +5 -5
  350. package/plugins/acryl-router/src/core/middleware/method-override/index.ts +6 -6
  351. package/plugins/acryl-router/src/core/middleware/powered-by/index.test.ts +4 -4
  352. package/plugins/acryl-router/src/core/middleware/powered-by/index.ts +6 -6
  353. package/plugins/acryl-router/src/core/middleware/pretty-json/index.test.ts +30 -30
  354. package/plugins/acryl-router/src/core/middleware/pretty-json/index.ts +4 -4
  355. package/plugins/acryl-router/src/core/middleware/request-id/index.test.ts +15 -15
  356. package/plugins/acryl-router/src/core/middleware/request-id/request-id.ts +3 -3
  357. package/plugins/acryl-router/src/core/middleware/secure-headers/index.test.ts +35 -35
  358. package/plugins/acryl-router/src/core/middleware/secure-headers/secure-headers.ts +3 -3
  359. package/plugins/acryl-router/src/core/middleware/serve-static/index.test.ts +23 -23
  360. package/plugins/acryl-router/src/core/middleware/serve-static/index.ts +1 -1
  361. package/plugins/acryl-router/src/core/middleware/timeout/index.test.ts +2 -2
  362. package/plugins/acryl-router/src/core/middleware/timeout/index.ts +3 -3
  363. package/plugins/acryl-router/src/core/middleware/timing/index.test.ts +14 -14
  364. package/plugins/acryl-router/src/core/middleware/timing/timing.ts +3 -3
  365. package/plugins/acryl-router/src/core/middleware/trailing-slash/index.test.ts +7 -7
  366. package/plugins/acryl-router/src/core/middleware/trailing-slash/index.ts +7 -7
  367. package/plugins/acryl-router/src/core/request.test.ts +42 -42
  368. package/plugins/acryl-router/src/core/request.ts +6 -6
  369. package/plugins/acryl-router/src/core/router/linear-router/index.ts +1 -1
  370. package/plugins/acryl-router/src/core/router/pattern-router/index.ts +1 -1
  371. package/plugins/acryl-router/src/core/router/reg-exp-router/index.ts +1 -1
  372. package/plugins/acryl-router/src/core/router/smart-router/index.ts +1 -1
  373. package/plugins/acryl-router/src/core/router/trie-router/index.ts +1 -1
  374. package/plugins/acryl-router/src/core/types.test.ts +115 -115
  375. package/plugins/acryl-router/src/core/types.ts +72 -72
  376. package/plugins/acryl-router/src/core/utils/body.ts +8 -8
  377. package/plugins/acryl-router/src/core/utils/html.ts +1 -1
  378. package/plugins/acryl-router/src/core/utils/jwt/jws.ts +3 -3
  379. package/plugins/acryl-router/src/core/utils/jwt/jwt.test.ts +2 -2
  380. package/plugins/acryl-router/src/core/utils/jwt/jwt.ts +3 -3
  381. package/plugins/acryl-router/src/core/utils/jwt/types.ts +1 -1
  382. package/plugins/acryl-router/src/core/utils/types.ts +42 -0
  383. package/plugins/acryl-router/src/core/utils/url.test.ts +2 -2
  384. package/plugins/acryl-router/src/core/validator/index.ts +1 -1
  385. package/plugins/acryl-router/src/core/validator/validator.test.ts +28 -28
  386. package/plugins/acryl-router/src/deprecated.ts +15 -0
  387. package/plugins/acryl-router/src/index.ts +3 -2
  388. package/plugins/acryl-router/src/service.ts +10 -10
  389. package/plugins/acryl-router/tests/docs-examples.spec.ts +11 -11
  390. package/plugins/acryl-router/tests/live-install.spec.ts +2 -2
  391. package/plugins/acryl-router/tests/loader.spec.ts +3 -3
  392. package/plugins/acryl-router/tests/loopback-only.spec.ts +4 -4
  393. package/plugins/acryl-router/tests/no-dom/consumer.ts +11 -0
  394. package/plugins/acryl-router/tests/no-dom/tsconfig.json +13 -0
  395. package/plugins/acryl-router/tests/service.spec.ts +23 -23
  396. package/plugins/acryl-router/upstream.json +3 -3
  397. package/plugins/acryl-router-http/tests/adapter.spec.ts +3 -3
  398. package/plugins/acryl-router-http/tests/surfaces.spec.ts +2 -2
  399. package/plugins/acryl-router-http/upstream.json +2 -2
  400. package/plugins/acryl-state/src/service.ts +2 -2
  401. package/plugins/acryl-state/upstream.json +2 -2
  402. package/plugins/builder/script.ts +2 -2
  403. package/plugins/extensions/resolve.ts +70 -10
  404. package/plugins/openai/prompt.ts +5 -5
  405. package/shared/AGENTS.core.md +16 -9
  406. package/templates/agent/src/routes.ts +2 -2
  407. package/templates/agent/test/model.test.ts +2 -2
  408. package/templates/agent/tsconfig.json +40 -0
  409. package/templates/blank/src/routes.ts +2 -2
  410. package/templates/todo/src/todo.ts +2 -2
  411. package/templates/todo/upstream.json +2 -2
  412. package/docs/framework/context.md +0 -129
  413. package/docs/framework/helpers.md +0 -118
  414. package/docs/framework/middleware.md +0 -154
  415. package/docs/framework/request.md +0 -106
  416. /package/docs/framework/{plugin-lifecycle.md → cordis/plugin-lifecycle.md} +0 -0
@@ -1,16 +1,16 @@
1
1
  import { testClient } from './index.ts'
2
- import { App } from '../../app.ts'
2
+ import { Acryl } from '../../app.ts'
3
3
 
4
4
  describe('acryl testClient', () => {
5
5
  it('Should return the correct search result', async () => {
6
- const app = new App().get('/search', (c) => c.json({ hello: 'world' }))
6
+ const app = new Acryl().get('/search', (c) => c.json({ hello: 'world' }))
7
7
  const res = await testClient(app).search.$get()
8
8
  expect(await res.json()).toEqual({ hello: 'world' })
9
9
  })
10
10
 
11
11
  it('Should return the correct environment variables value', async () => {
12
12
  type Bindings = { hello: string }
13
- const app = new App<{ Bindings: Bindings }>().get('/search', (c) => {
13
+ const app = new Acryl<{ Bindings: Bindings }>().get('/search', (c) => {
14
14
  return c.json({ hello: c.env.hello })
15
15
  })
16
16
  const res = await testClient(app, { hello: 'world' }).search.$get()
@@ -18,7 +18,7 @@ describe('acryl testClient', () => {
18
18
  })
19
19
 
20
20
  it('Should use the passed in headers', async () => {
21
- const app = new App().get('/search', (c) => {
21
+ const app = new Acryl().get('/search', (c) => {
22
22
  return c.json({ query: c.req.header('x-query') })
23
23
  })
24
24
  const res = await testClient(app, undefined, undefined, {
@@ -28,14 +28,14 @@ describe('acryl testClient', () => {
28
28
  })
29
29
 
30
30
  it('Should return a correct URL with out throwing an error', async () => {
31
- const app = new App().get('/abc', (c) => c.json(0))
31
+ const app = new Acryl().get('/abc', (c) => c.json(0))
32
32
  const url = testClient(app).abc.$url()
33
33
  expect(url.pathname).toBe('/abc')
34
34
  })
35
35
 
36
36
  it('Should not throw an error with $ws()', async () => {
37
37
  vi.stubGlobal('WebSocket', class {})
38
- const app = new App().get('/ws', (c) => c.text('Fake response of a WebSocket'))
38
+ const app = new Acryl().get('/ws', (c) => c.text('Fake response of a WebSocket'))
39
39
  // @ts-expect-error $ws is not typed correctly
40
40
  expect(() => testClient(app).ws.$ws()).not.toThrowError()
41
41
  })
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * @module
3
- * Testing Helper for App.
3
+ * Testing Helper for Acryl.
4
4
  */
5
5
 
6
6
  import { hc } from '../../client/index.ts'
7
7
  import type { ClientRequestOptions } from '../../client/index.ts'
8
8
  import type { Client } from '../../client/types.ts'
9
9
  import type { ExecutionContext } from '../../context.ts'
10
- import type { App } from '../../app.ts'
10
+ import type { Acryl } from '../../app.ts'
11
11
  import type { Schema } from '../../types.ts'
12
12
  import type { UnionToIntersection } from '../../utils/types.ts'
13
13
 
14
- type ExtractEnv<T> = T extends App<infer E, Schema, string> ? E : never
14
+ type ExtractEnv<T> = T extends Acryl<infer E, Schema, string> ? E : never
15
15
 
16
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- export const testClient = <T extends App<any, Schema, string>>(
17
+ export const testClient = <T extends Acryl<any, Schema, string>>(
18
18
  app: T,
19
19
  Env?: ExtractEnv<T>['Bindings'] | {},
20
20
  executionCtx?: ExecutionContext,
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @module
3
- * WebSocket Helper for App.
3
+ * WebSocket Helper for Acryl.
4
4
  */
5
5
 
6
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
7
  import type { Context } from '../../context.ts'
8
8
  import type { MiddlewareHandler, TypedResponse } from '../../types.ts'
9
9
  import type { StatusCode } from '../../utils/http-status.ts'
10
+ import type { BinaryType, CloseEvent, MessageEvent } from '../../utils/types.ts'
10
11
 
11
12
  /**
12
13
  * WebSocket Event Listeners type
@@ -29,7 +29,7 @@ type HTTPExceptionOptions = {
29
29
  *
30
30
  * @example
31
31
  * ```ts
32
- * import { HTTPException } from 'acryl-router'
32
+ * import { HTTPException } from 'acrylblends/http-exception'
33
33
  *
34
34
  * // ...
35
35
  *
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * @module
3
3
  *
4
- * App - Web Framework built on Web Standards
4
+ * Acryl - Web Framework built on Web Standards
5
5
  *
6
6
  * @example
7
7
  * ```ts
8
- * import { App } from 'acryl-router'
9
- * const app = new App()
8
+ * import { Acryl } from 'acrylblends'
9
+ * const app = new Acryl()
10
10
  *
11
- * app.get('/', (c) => c.text('App!'))
11
+ * app.get('/', (c) => c.text('Acryl!'))
12
12
  *
13
13
  * export default app
14
14
  * ```
15
15
  */
16
16
 
17
- import { App } from './app.ts'
17
+ import { Acryl } from './app.ts'
18
18
 
19
19
  /**
20
20
  * Types for environment variables, error handlers, handlers, middleware handlers, and more.
@@ -39,15 +39,15 @@ export type {
39
39
  export { Context } from './context.ts'
40
40
  export type { ContextVariableMap, ContextRenderer, ExecutionContext } from './context.ts'
41
41
  /**
42
- * Type for AppRequest.
42
+ * Type for AcrylRequest.
43
43
  */
44
- export type { AppRequest } from './request.ts'
44
+ export type { AcrylRequest } from './request.ts'
45
45
  /**
46
46
  * Types for inferring request and response types and client request options.
47
47
  */
48
48
  export type { InferRequestType, InferResponseType, ClientRequestOptions } from './client/index.ts'
49
49
 
50
50
  /**
51
- * App framework for building web applications.
51
+ * Acryl framework for building web applications.
52
52
  */
53
- export { App }
53
+ export { Acryl }
@@ -1,6 +1,6 @@
1
1
  import { createHash } from 'node:crypto'
2
2
  import { basicAuth } from './index.ts'
3
- import { App } from '../../app.ts'
3
+ import { Acryl } from '../../app.ts'
4
4
 
5
5
  describe('Basic Auth by Middleware', () => {
6
6
  let handlerExecuted: boolean
@@ -9,7 +9,7 @@ describe('Basic Auth by Middleware', () => {
9
9
  handlerExecuted = false
10
10
  })
11
11
 
12
- const app = new App()
12
+ const app = new Acryl()
13
13
 
14
14
  const username = 'acryl-user-a'
15
15
  const password = 'acryl-password-a'
@@ -326,7 +326,7 @@ describe('Basic Auth with onAuthSuccess', () => {
326
326
 
327
327
  it('should call onAuthSuccess callback on successful auth', async () => {
328
328
  type Env = { Variables: { custom: string } }
329
- const app = new App<Env>()
329
+ const app = new Acryl<Env>()
330
330
  let callbackCalled = false
331
331
  let callbackUsername = ''
332
332
 
@@ -357,7 +357,7 @@ describe('Basic Auth with onAuthSuccess', () => {
357
357
 
358
358
  it('should support async onAuthSuccess callback', async () => {
359
359
  type Env = { Variables: { asyncValue: string } }
360
- const app = new App<Env>()
360
+ const app = new Acryl<Env>()
361
361
 
362
362
  app.use(
363
363
  '/*',
@@ -381,7 +381,7 @@ describe('Basic Auth with onAuthSuccess', () => {
381
381
  })
382
382
 
383
383
  it('should not call onAuthSuccess on failed auth', async () => {
384
- const app = new App()
384
+ const app = new Acryl()
385
385
  let callbackCalled = false
386
386
 
387
387
  app.use(
@@ -407,7 +407,7 @@ describe('Basic Auth with onAuthSuccess', () => {
407
407
 
408
408
  it('should work with verifyUser mode', async () => {
409
409
  type Env = { Variables: { verified: string } }
410
- const app = new App<Env>()
410
+ const app = new Acryl<Env>()
411
411
  let callbackUsername = ''
412
412
 
413
413
  app.use(
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Basic Auth Middleware for App.
3
+ * Basic Auth Middleware for Acryl.
4
4
  */
5
5
 
6
6
  import type { Context } from '../../context.ts'
@@ -29,7 +29,7 @@ type BasicAuthOptions =
29
29
  }
30
30
 
31
31
  /**
32
- * Basic Auth Middleware for App.
32
+ * Basic Auth Middleware for Acryl.
33
33
  *
34
34
  *
35
35
  * @param {BasicAuthOptions} options - The options for the basic authentication middleware.
@@ -45,7 +45,7 @@ type BasicAuthOptions =
45
45
  *
46
46
  * @example
47
47
  * ```ts
48
- * const app = new App()
48
+ * const app = new Acryl()
49
49
  *
50
50
  * app.use(
51
51
  * '/auth/*',
@@ -1,16 +1,16 @@
1
1
  import { expectTypeOf } from 'vitest'
2
2
  import { bearerAuth } from './index.ts'
3
- import { App } from '../../app.ts'
3
+ import { Acryl } from '../../app.ts'
4
4
  import type { Context, MiddlewareHandler } from '../../index.ts'
5
5
 
6
6
  describe('Bearer Auth by Middleware', () => {
7
- let app: App
7
+ let app: Acryl
8
8
  let handlerExecuted: boolean
9
9
  let token: string
10
10
  let tokens: string[]
11
11
 
12
12
  beforeEach(async () => {
13
- app = new App()
13
+ app = new Acryl()
14
14
  handlerExecuted = false
15
15
  token = 'abcdefg12345-._~+/='
16
16
  tokens = ['abcdefg12345-._~+/=', 'alternative']
@@ -927,12 +927,12 @@ describe('Bearer Auth by Middleware', () => {
927
927
  })
928
928
 
929
929
  describe('Bearer Auth with prefix containing regex metacharacters', () => {
930
- let app: App
930
+ let app: Acryl
931
931
  let handlerExecuted: boolean
932
932
  const token = 'testtoken123'
933
933
 
934
934
  beforeEach(() => {
935
- app = new App()
935
+ app = new Acryl()
936
936
  handlerExecuted = false
937
937
  })
938
938
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Bearer Auth Middleware for App.
3
+ * Bearer Auth Middleware for Acryl.
4
4
  */
5
5
 
6
6
  import type { Context } from '../../context.ts'
@@ -66,7 +66,7 @@ type BearerAuthOptions<E extends Env = Env> =
66
66
  }
67
67
 
68
68
  /**
69
- * Bearer Auth Middleware for App.
69
+ * Bearer Auth Middleware for Acryl.
70
70
  *
71
71
  *
72
72
  * @template E - The environment type.
@@ -89,7 +89,7 @@ type BearerAuthOptions<E extends Env = Env> =
89
89
  *
90
90
  * @example
91
91
  * ```ts
92
- * const app = new App()
92
+ * const app = new Acryl()
93
93
  *
94
94
  * const token = process.env.API_TOKEN // never a literal in source
95
95
  *
@@ -1,5 +1,5 @@
1
1
  import { bodyLimit } from './index.ts'
2
- import { App } from '../../app.ts'
2
+ import { Acryl } from '../../app.ts'
3
3
 
4
4
  const buildRequestInit = (init: RequestInit = {}): RequestInit & { duplex: 'half' } => {
5
5
  const headers: Record<string, string> = {
@@ -18,13 +18,13 @@ const buildRequestInit = (init: RequestInit = {}): RequestInit & { duplex: 'half
18
18
  }
19
19
 
20
20
  describe('Body Limit Middleware', () => {
21
- let app: App
21
+ let app: Acryl
22
22
 
23
23
  const exampleText = 'data is so hot' // 14byte
24
24
  const exampleText2 = 'data is so hot and cute' // 23byte
25
25
 
26
26
  beforeEach(() => {
27
- app = new App()
27
+ app = new Acryl()
28
28
  app.use('*', bodyLimit({ maxSize: 14 }))
29
29
  app.get('/', (c) => c.text('index'))
30
30
  app.post('/body-limit-15byte', async (c) => {
@@ -104,7 +104,7 @@ describe('Body Limit Middleware', () => {
104
104
 
105
105
  describe('custom error handler', () => {
106
106
  beforeEach(() => {
107
- app = new App()
107
+ app = new Acryl()
108
108
  app.post(
109
109
  '/text-limit-15byte-custom',
110
110
  bodyLimit({
@@ -133,7 +133,7 @@ describe('Body Limit Middleware', () => {
133
133
 
134
134
  describe('Transfer-Encoding and Content-Length headers', () => {
135
135
  beforeEach(() => {
136
- app = new App()
136
+ app = new Acryl()
137
137
  app.use('*', bodyLimit({ maxSize: 10 }))
138
138
  app.post('/test', async (c) => {
139
139
  return c.text(await c.req.text())
@@ -217,7 +217,7 @@ describe('Body Limit Middleware', () => {
217
217
 
218
218
  beforeEach(() => {
219
219
  handler.mockReset()
220
- app = new App()
220
+ app = new Acryl()
221
221
  app.use('*', bodyLimit({ maxSize: 8 }))
222
222
  app.post('/no-read', (c) => {
223
223
  handler()
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Body Limit Middleware for App.
3
+ * Body Limit Middleware for Acryl.
4
4
  */
5
5
 
6
6
  import type { Context } from '../../context.ts'
@@ -16,7 +16,7 @@ type BodyLimitOptions = {
16
16
  }
17
17
 
18
18
  /**
19
- * Body Limit Middleware for App.
19
+ * Body Limit Middleware for Acryl.
20
20
  *
21
21
  *
22
22
  * @param {BodyLimitOptions} options - The options for the body limit middleware.
@@ -26,7 +26,7 @@ type BodyLimitOptions = {
26
26
  *
27
27
  * @example
28
28
  * ```ts
29
- * const app = new App()
29
+ * const app = new Acryl()
30
30
  *
31
31
  * app.post(
32
32
  * '/upload',
@@ -1,14 +1,14 @@
1
1
  import { every, except, some } from './index.ts'
2
- import { App } from '../../app.ts'
2
+ import { Acryl } from '../../app.ts'
3
3
  import type { MiddlewareHandler } from '../../types.ts'
4
4
 
5
5
  const nextMiddleware: MiddlewareHandler = async (_, next) => await next()
6
6
 
7
7
  describe('some', () => {
8
- let app: App
8
+ let app: Acryl
9
9
 
10
10
  beforeEach(() => {
11
- app = new App()
11
+ app = new Acryl()
12
12
  })
13
13
 
14
14
  it('Should call only the first middleware', async () => {
@@ -140,7 +140,7 @@ describe('some', () => {
140
140
  await n()
141
141
  })
142
142
 
143
- const app = new App()
143
+ const app = new Acryl()
144
144
  app.use('/', some(shortCircuit, next))
145
145
  app.get('/', (c) => c.text('handler'))
146
146
 
@@ -153,10 +153,10 @@ describe('some', () => {
153
153
  })
154
154
 
155
155
  describe('every', () => {
156
- let app: App
156
+ let app: Acryl
157
157
 
158
158
  beforeEach(() => {
159
- app = new App()
159
+ app = new Acryl()
160
160
  })
161
161
 
162
162
  it('Should call all middleware', async () => {
@@ -227,7 +227,7 @@ describe('every', () => {
227
227
  })
228
228
 
229
229
  it('Should pass the path params to middlewares', async () => {
230
- const app = new App()
230
+ const app = new Acryl()
231
231
  app.use('*', nextMiddleware)
232
232
  const paramMiddleware: MiddlewareHandler = async (c) => {
233
233
  return c.json(c.req.param(), 200)
@@ -244,10 +244,10 @@ describe('every', () => {
244
244
  })
245
245
 
246
246
  describe('except', () => {
247
- let app: App
247
+ let app: Acryl
248
248
 
249
249
  beforeEach(() => {
250
- app = new App()
250
+ app = new Acryl()
251
251
  })
252
252
 
253
253
  it('Should call all middleware, except the one that matches the condition', async () => {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Combine Middleware for App.
3
+ * Combine Middleware for Acryl.
4
4
  */
5
5
 
6
6
  import { compose } from '../../compose.ts'
@@ -23,8 +23,8 @@ type Condition = (c: Context) => boolean
23
23
  *
24
24
  * @example
25
25
  * ```ts
26
- * import { some } from 'acryl-router/middleware'
27
- * import { bearerAuth } from 'acryl-router/middleware'
26
+ * import { some } from 'acrylblends/combine'
27
+ * import { bearerAuth } from 'acrylblends/bearer-auth'
28
28
  * import { myRateLimit } from '@/rate-limit'
29
29
  *
30
30
  * // If client has a valid token, then skip rate limiting.
@@ -84,8 +84,8 @@ export const some = (...middleware: (MiddlewareHandler | Condition)[]): Middlewa
84
84
  *
85
85
  * @example
86
86
  * ```ts
87
- * import { some, every } from 'acryl-router/middleware'
88
- * import { bearerAuth } from 'acryl-router/middleware'
87
+ * import { some, every } from 'acrylblends/combine'
88
+ * import { bearerAuth } from 'acrylblends/bearer-auth'
89
89
  * import { myCheckLocalNetwork } from '@/check-local-network'
90
90
  * import { myRateLimit } from '@/rate-limit'
91
91
  *
@@ -133,8 +133,8 @@ export const every = (...middleware: (MiddlewareHandler | Condition)[]): Middlew
133
133
  *
134
134
  * @example
135
135
  * ```ts
136
- * import { except } from 'acryl-router/middleware'
137
- * import { bearerAuth } from 'acryl-router/middleware'
136
+ * import { except } from 'acrylblends/combine'
137
+ * import { bearerAuth } from 'acrylblends/bearer-auth'
138
138
  *
139
139
  * // If client is accessing public API, then skip authentication.
140
140
  * // Otherwise, require a valid token.
@@ -1,9 +1,9 @@
1
1
  import { compress } from './index.ts'
2
2
  import { stream, streamSSE } from '../../helper/streaming/index.ts'
3
- import { App } from '../../app.ts'
3
+ import { Acryl } from '../../app.ts'
4
4
 
5
5
  describe('Compress Middleware', () => {
6
- const app = new App()
6
+ const app = new Acryl()
7
7
 
8
8
  // Apply compress middleware to all routes
9
9
  app.use('*', compress())
@@ -208,7 +208,7 @@ describe('Compress Middleware', () => {
208
208
  })
209
209
 
210
210
  describe('ETag Handling', () => {
211
- const app = new App()
211
+ const app = new Acryl()
212
212
  app.use('*', compress())
213
213
  app.get('/strong-etag', (c) => {
214
214
  c.header('Content-Type', 'text/plain')
@@ -260,7 +260,7 @@ describe('Compress Middleware', () => {
260
260
  })
261
261
 
262
262
  describe('Vary Header', () => {
263
- const app = new App()
263
+ const app = new Acryl()
264
264
  app.use('*', compress())
265
265
  app.get('/no-vary', (c) => {
266
266
  c.header('Content-Type', 'text/plain')
@@ -348,7 +348,7 @@ describe('Compress Middleware', () => {
348
348
 
349
349
  describe('contentTypeFilter', () => {
350
350
  describe('RegExp', () => {
351
- const app = new App()
351
+ const app = new Acryl()
352
352
  app.use('*', compress({ contentTypeFilter: /^application\/json/, threshold: 0 }))
353
353
  app.get('/json', (c) => c.json({ data: 'a'.repeat(1024) }))
354
354
  app.get('/text', (c) => c.text('a'.repeat(1024)))
@@ -369,7 +369,7 @@ describe('Compress Middleware', () => {
369
369
  })
370
370
 
371
371
  describe('function', () => {
372
- const app = new App()
372
+ const app = new Acryl()
373
373
  app.use('*', compress({ contentTypeFilter: (type) => type.includes('json'), threshold: 0 }))
374
374
  app.get('/json', (c) => c.json({ data: 'a'.repeat(1024) }))
375
375
  app.get('/text', (c) => c.text('a'.repeat(1024)))
@@ -414,7 +414,7 @@ describe('Compress Middleware', () => {
414
414
 
415
415
  describe('Encoding Option', () => {
416
416
  const buildApp = (encoding: 'gzip' | 'deflate') => {
417
- const app = new App()
417
+ const app = new Acryl()
418
418
  app.use('*', compress({ encoding }))
419
419
  app.get('/large', (c) => {
420
420
  c.header('Content-Type', 'text/plain')
@@ -449,7 +449,7 @@ describe('Compress Middleware', () => {
449
449
 
450
450
  describe('Accept-Encoding parsing', () => {
451
451
  const buildAppDefault = () => {
452
- const app = new App()
452
+ const app = new Acryl()
453
453
  app.use('*', compress())
454
454
  app.get('/large', (c) => {
455
455
  c.header('Content-Type', 'text/plain')
@@ -460,7 +460,7 @@ describe('Compress Middleware', () => {
460
460
  }
461
461
 
462
462
  const buildAppWithEncoding = (encoding: 'gzip' | 'deflate') => {
463
- const app = new App()
463
+ const app = new Acryl()
464
464
  app.use('*', compress({ encoding }))
465
465
  app.get('/large', (c) => {
466
466
  c.header('Content-Type', 'text/plain')
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Compress Middleware for App.
3
+ * Compress Middleware for Acryl.
4
4
  */
5
5
 
6
6
  import type { MiddlewareHandler } from '../../types.ts'
@@ -46,7 +46,7 @@ const selectEncoding = (
46
46
  const varyAcceptEncodingRegExp = /(?:^|,)\s*accept-encoding\s*(?:,|$)/i
47
47
 
48
48
  /**
49
- * Compress Middleware for App.
49
+ * Compress Middleware for Acryl.
50
50
  *
51
51
  *
52
52
  * @param {CompressionOptions} [options] - The options for the compress middleware.
@@ -57,7 +57,7 @@ const varyAcceptEncodingRegExp = /(?:^|,)\s*accept-encoding\s*(?:,|$)/i
57
57
  *
58
58
  * @example
59
59
  * ```ts
60
- * const app = new App()
60
+ * const app = new Acryl()
61
61
  *
62
62
  * app.use(compress())
63
63
  *
@@ -1,5 +1,5 @@
1
1
  import { contextStorage, getContext, tryGetContext } from './index.ts'
2
- import { App } from '../../app.ts'
2
+ import { Acryl } from '../../app.ts'
3
3
 
4
4
  describe('Context Storage Middleware', () => {
5
5
  type Env = {
@@ -8,11 +8,11 @@ describe('Context Storage Middleware', () => {
8
8
  }
9
9
  }
10
10
 
11
- const app = new App<Env>()
11
+ const app = new Acryl<Env>()
12
12
 
13
13
  app.use(contextStorage())
14
14
  app.use(async (c, next) => {
15
- c.set('message', 'App is hot!!')
15
+ c.set('message', 'Acryl is hot!!')
16
16
  await next()
17
17
  })
18
18
  app.get('/', (c) => {
@@ -29,7 +29,7 @@ describe('Context Storage Middleware', () => {
29
29
 
30
30
  it('Should get context', async () => {
31
31
  const res = await app.request('/')
32
- expect(await res.text()).toBe('App is hot!!')
32
+ expect(await res.text()).toBe('Acryl is hot!!')
33
33
  })
34
34
 
35
35
  it('Should return undefined when context is missing', () => {
@@ -38,6 +38,6 @@ describe('Context Storage Middleware', () => {
38
38
 
39
39
  it('Should get context when available via tryGetContext', async () => {
40
40
  const res = await app.request('/optional')
41
- expect(await res.text()).toBe('App is hot!!')
41
+ expect(await res.text()).toBe('Acryl is hot!!')
42
42
  })
43
43
  })
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Context Storage Middleware for App.
3
+ * Context Storage Middleware for Acryl.
4
4
  */
5
5
 
6
6
  import { AsyncLocalStorage } from 'node:async_hooks'
@@ -10,7 +10,7 @@ import type { Env, MiddlewareHandler } from '../../types.ts'
10
10
  const asyncLocalStorage = new AsyncLocalStorage<Context>()
11
11
 
12
12
  /**
13
- * Context Storage Middleware for App.
13
+ * Context Storage Middleware for Acryl.
14
14
  *
15
15
  *
16
16
  * @returns {MiddlewareHandler} The middleware handler function.
@@ -23,12 +23,12 @@ const asyncLocalStorage = new AsyncLocalStorage<Context>()
23
23
  * }
24
24
  * }
25
25
  *
26
- * const app = new App<Env>()
26
+ * const app = new Acryl<Env>()
27
27
  *
28
28
  * app.use(contextStorage())
29
29
  *
30
30
  * app.use(async (c, next) => {
31
- * c.set('message', 'App is hot!!')
31
+ * c.set('message', 'Acryl is hot!!')
32
32
  * await next()
33
33
  * })
34
34
  *