acrylblends 0.6.2 → 0.6.4

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 (316) hide show
  1. package/README.md +5 -1
  2. package/docs/framework/README.md +3 -2
  3. package/docs/framework/UPSTREAM.md +1 -1
  4. package/docs/framework/cordis/acryl-in-a-cordis-app.md +6 -0
  5. package/docs/framework/getting-started/basic.md +1 -0
  6. package/docs/framework/getting-started/desktop.md +41 -0
  7. package/docs/framework/guides/jsx-dom.md +0 -3
  8. package/docs/framework/guides/jsx.md +24 -3
  9. package/docs/framework/helpers/css.md +0 -3
  10. package/docs/framework/helpers/ssg.md +3 -6
  11. package/docs/framework/middleware/builtin/jsx-renderer.md +0 -3
  12. package/docs/framework/upstream.json +3 -3
  13. package/lib/accepts.d.ts +1 -1
  14. package/lib/acryl-base.d.ts +1 -1
  15. package/lib/adapter.d.ts +1 -1
  16. package/lib/{app-BdrVHBlJ.d.ts → app-D8riatvv.d.ts} +1 -1
  17. package/lib/base-BpQy2Rk7.d.ts +783 -0
  18. package/lib/base-ddiVmiE7.js +721 -0
  19. package/lib/basic-auth.d.ts +1 -1
  20. package/lib/bearer-auth.d.ts +1 -1
  21. package/lib/body-limit.d.ts +1 -1
  22. package/lib/cache.d.ts +1 -1
  23. package/lib/cache.js +4 -4
  24. package/lib/{client-BHTr318g.js → client-DDLXwhBo.js} +2 -125
  25. package/lib/client.d.ts +2 -2
  26. package/lib/client.js +2 -1
  27. package/lib/combine.d.ts +1 -1
  28. package/lib/common-D8Z4JRCw.d.ts +46 -0
  29. package/lib/components-0o0CBYNv.js +268 -0
  30. package/lib/components-DdI7-ns7.js +24 -0
  31. package/lib/compress.d.ts +1 -1
  32. package/lib/conninfo.d.ts +2 -2
  33. package/lib/constants-BR9jM9BC.js +9 -0
  34. package/lib/{context-B5Y1lLha.d.ts → context-DS3fYyG-.d.ts} +2 -2
  35. package/lib/context-DxFdY_un.d.ts +250 -0
  36. package/lib/context-storage.d.ts +1 -1
  37. package/lib/{cookie-D9_nQbsM.d.ts → cookie-CCelEqky.d.ts} +1 -1
  38. package/lib/cookie.d.ts +3 -3
  39. package/lib/cors.d.ts +1 -1
  40. package/lib/csrf.d.ts +1 -1
  41. package/lib/css-D2jb7X8b.js +320 -0
  42. package/lib/css.d.ts +82 -0
  43. package/lib/css.js +134 -0
  44. package/lib/dev.d.ts +2 -2
  45. package/lib/etag.d.ts +1 -1
  46. package/lib/factory.d.ts +2 -2
  47. package/lib/hooks-BMw6BAyP.js +762 -0
  48. package/lib/html-SllAe0YT.d.ts +46 -0
  49. package/lib/html.d.ts +1 -1
  50. package/lib/{index-m12zcmph.d.ts → index-Bb7YJKCq.d.ts} +3 -3
  51. package/lib/{index-Kqou8Fjh.d.ts → index-BvFh1Gfx.d.ts} +2 -2
  52. package/lib/index-C850MeBA.d.ts +94 -0
  53. package/lib/{index-DtEoak1i.d.ts → index-CTy4N7ng.d.ts} +2 -2
  54. package/lib/index.d.ts +4 -4
  55. package/lib/ip-restriction.d.ts +2 -2
  56. package/lib/jsx/dom/client.d.ts +30 -0
  57. package/lib/jsx/dom/client.js +49 -0
  58. package/lib/jsx/dom/css.d.ts +84 -0
  59. package/lib/jsx/dom/css.js +2 -0
  60. package/lib/jsx/dom/jsx-dev-runtime.d.ts +3 -0
  61. package/lib/jsx/dom/jsx-dev-runtime.js +2 -0
  62. package/lib/jsx/dom/jsx-runtime.d.ts +3 -0
  63. package/lib/jsx/dom/jsx-runtime.js +2 -0
  64. package/lib/jsx/dom/server.d.ts +105 -0
  65. package/lib/jsx/dom/server.js +37 -0
  66. package/lib/jsx/dom.d.ts +5 -0
  67. package/lib/jsx/dom.js +74 -0
  68. package/lib/jsx/jsx-dev-runtime.d.ts +6 -0
  69. package/lib/jsx/jsx-dev-runtime.js +14 -0
  70. package/lib/jsx/jsx-runtime.d.ts +10 -0
  71. package/lib/jsx/jsx-runtime.js +30 -0
  72. package/lib/jsx/streaming.d.ts +2 -0
  73. package/lib/jsx/streaming.js +2 -0
  74. package/lib/jsx-dev-runtime-B22O-Npk.d.ts +7 -0
  75. package/lib/jsx-dev-runtime-D18Y35TI.js +354 -0
  76. package/lib/jsx-renderer.d.ts +75 -0
  77. package/lib/jsx-renderer.js +99 -0
  78. package/lib/jsx-runtime-BVVgDSdq.d.ts +1 -0
  79. package/lib/jsx.d.ts +3 -0
  80. package/lib/jsx.js +47 -0
  81. package/lib/jwk.d.ts +4 -4
  82. package/lib/{jwt-BA65QhnJ.d.ts → jwt-BARhotDz.d.ts} +1 -1
  83. package/lib/jwt.d.ts +4 -4
  84. package/lib/language.d.ts +1 -1
  85. package/lib/logger.d.ts +1 -1
  86. package/lib/loopback-only.d.ts +1 -1
  87. package/lib/method-not-allowed.d.ts +2 -2
  88. package/lib/method-override.d.ts +2 -2
  89. package/lib/mount.d.ts +1 -1
  90. package/lib/node-server/conninfo.d.ts +1 -1
  91. package/lib/node-server/serve-static.d.ts +1 -1
  92. package/lib/node-server/serve-static.js +1 -1
  93. package/lib/node-server.d.ts +1 -1
  94. package/lib/node-server.js +1 -1
  95. package/lib/powered-by.d.ts +1 -1
  96. package/lib/pretty-json.d.ts +1 -1
  97. package/lib/proxy.d.ts +1 -1
  98. package/lib/quick.d.ts +1 -1
  99. package/lib/request-id.d.ts +1 -1
  100. package/lib/request.d.ts +1 -1
  101. package/lib/route.d.ts +1 -1
  102. package/lib/schema-validator.d.ts +1 -1
  103. package/lib/secure-headers.d.ts +1 -1
  104. package/lib/{serve-static-Dw_m6KxR.js → serve-static-B14MF1Va.js} +2 -0
  105. package/lib/serve-static.d.ts +1 -1
  106. package/lib/ssg-BwjcA-Ge.js +389 -0
  107. package/lib/ssg.d.ts +156 -0
  108. package/lib/ssg.js +2 -0
  109. package/lib/streaming.d.ts +1 -1
  110. package/lib/testing.d.ts +4 -4
  111. package/lib/testing.js +1 -1
  112. package/lib/timeout.d.ts +1 -1
  113. package/lib/timing.d.ts +1 -1
  114. package/lib/tiny.d.ts +1 -1
  115. package/lib/trailing-slash.d.ts +1 -1
  116. package/lib/{types-ZM9gIiKh.d.ts → types-Dv_nV2cv.d.ts} +1 -1
  117. package/lib/{types-D9DEXMjE.d.ts → types-Lqx5BxQF.d.ts} +8 -1
  118. package/lib/{types-Bd29gh2o.d.ts → types-zNxyEpG2.d.ts} +3 -3
  119. package/lib/types.d.ts +1 -1
  120. package/lib/utils/body.d.ts +1 -1
  121. package/lib/utils/cookie.d.ts +1 -1
  122. package/lib/utils/crypto.d.ts +1 -1
  123. package/lib/utils/html.d.ts +1 -45
  124. package/lib/utils/ipaddr.d.ts +1 -1
  125. package/lib/utils/jwt.d.ts +1 -1
  126. package/lib/utils/types.d.ts +2 -2
  127. package/lib/utils-Cx61GFMC.js +125 -0
  128. package/lib/validator.d.ts +2 -2
  129. package/lib/ws.d.ts +1 -1
  130. package/package.json +53 -1
  131. package/plugins/acryl-inspect/upstream.json +1 -1
  132. package/plugins/acryl-node-server/upstream.json +1 -1
  133. package/plugins/acryl-router/src/core/helper/css/common.ts +337 -0
  134. package/plugins/acryl-router/src/core/helper/css/index.ts +262 -0
  135. package/plugins/acryl-router/src/core/helper/ssg/index.ts +14 -0
  136. package/plugins/acryl-router/src/core/helper/ssg/middleware.ts +83 -0
  137. package/plugins/acryl-router/src/core/helper/ssg/plugins.ts +72 -0
  138. package/plugins/acryl-router/src/core/helper/ssg/ssg.ts +471 -0
  139. package/plugins/acryl-router/src/core/helper/ssg/utils.ts +118 -0
  140. package/plugins/acryl-router/src/core/jsx/base.ts +490 -0
  141. package/plugins/acryl-router/src/core/jsx/children.ts +20 -0
  142. package/plugins/acryl-router/src/core/jsx/components.ts +257 -0
  143. package/plugins/acryl-router/src/core/jsx/constants.ts +6 -0
  144. package/plugins/acryl-router/src/core/jsx/context.ts +266 -0
  145. package/plugins/acryl-router/src/core/jsx/dom/client.ts +89 -0
  146. package/plugins/acryl-router/src/core/jsx/dom/components.ts +39 -0
  147. package/plugins/acryl-router/src/core/jsx/dom/context.ts +52 -0
  148. package/plugins/acryl-router/src/core/jsx/dom/css.ts +263 -0
  149. package/plugins/acryl-router/src/core/jsx/dom/hooks/index.ts +91 -0
  150. package/plugins/acryl-router/src/core/jsx/dom/index.ts +170 -0
  151. package/plugins/acryl-router/src/core/jsx/dom/intrinsic-element/components.ts +438 -0
  152. package/plugins/acryl-router/src/core/jsx/dom/jsx-dev-runtime.ts +23 -0
  153. package/plugins/acryl-router/src/core/jsx/dom/jsx-runtime.ts +8 -0
  154. package/plugins/acryl-router/src/core/jsx/dom/render.ts +879 -0
  155. package/plugins/acryl-router/src/core/jsx/dom/server.ts +76 -0
  156. package/plugins/acryl-router/src/core/jsx/dom/utils.ts +7 -0
  157. package/plugins/acryl-router/src/core/jsx/hooks/index.ts +437 -0
  158. package/plugins/acryl-router/src/core/jsx/index.ts +115 -0
  159. package/plugins/acryl-router/src/core/jsx/intrinsic-element/common.ts +23 -0
  160. package/plugins/acryl-router/src/core/jsx/intrinsic-element/components.ts +210 -0
  161. package/plugins/acryl-router/src/core/jsx/intrinsic-elements.ts +938 -0
  162. package/plugins/acryl-router/src/core/jsx/jsx-dev-runtime.ts +26 -0
  163. package/plugins/acryl-router/src/core/jsx/jsx-runtime.ts +51 -0
  164. package/plugins/acryl-router/src/core/jsx/streaming.ts +231 -0
  165. package/plugins/acryl-router/src/core/jsx/types.ts +41 -0
  166. package/plugins/acryl-router/src/core/jsx/utils.ts +202 -0
  167. package/plugins/acryl-router/src/core/middleware/cache/index.ts +4 -4
  168. package/plugins/acryl-router/src/core/middleware/jsx-renderer/index.ts +162 -0
  169. package/plugins/acryl-router/src/core/utils/types.ts +6 -0
  170. package/plugins/acryl-router/src/helpers/index.ts +2 -0
  171. package/plugins/acryl-router/src/middleware/index.ts +1 -0
  172. package/plugins/acryl-router/upstream.json +3 -3
  173. package/plugins/acryl-router-http/upstream.json +1 -1
  174. package/plugins/acryl-state/upstream.json +1 -1
  175. package/plugins/desktop/upstream.json +1 -1
  176. package/plugins/desktop-web/upstream.json +1 -1
  177. package/plugins/extensions/resolve.ts +4 -0
  178. package/plugins/save/plugin.json +1 -1
  179. package/shared/AGENTS.core.md +4 -0
  180. package/templates/agent/tsconfig.json +7 -1
  181. package/templates/todo/upstream.json +1 -1
  182. package/plugins/acryl-inspect/tests/report.spec.ts +0 -69
  183. package/plugins/acryl-inspect/tests/service.spec.ts +0 -121
  184. package/plugins/acryl-node-server/tests/adapter/app.ts +0 -76
  185. package/plugins/acryl-node-server/tests/adapter/assets/.static/plain.txt +0 -1
  186. package/plugins/acryl-node-server/tests/adapter/assets/favicon.ico +0 -0
  187. package/plugins/acryl-node-server/tests/adapter/assets/secret.txt +0 -1
  188. package/plugins/acryl-node-server/tests/adapter/assets/static/acryl.html +0 -1
  189. package/plugins/acryl-node-server/tests/adapter/assets/static/admin/secret.txt +0 -1
  190. package/plugins/acryl-node-server/tests/adapter/assets/static/data.json +0 -5
  191. package/plugins/acryl-node-server/tests/adapter/assets/static/extensionless +0 -1
  192. package/plugins/acryl-node-server/tests/adapter/assets/static/foo..bar.txt +0 -0
  193. package/plugins/acryl-node-server/tests/adapter/assets/static/index.html +0 -1
  194. package/plugins/acryl-node-server/tests/adapter/assets/static/plain.txt +0 -1
  195. package/plugins/acryl-node-server/tests/adapter/assets/static-with-context-path/plain.txt +0 -1
  196. package/plugins/acryl-node-server/tests/adapter/assets/static-with-precompressed/hello.bin +0 -1
  197. package/plugins/acryl-node-server/tests/adapter/assets/static-with-precompressed/hello.bin.br +0 -1
  198. package/plugins/acryl-node-server/tests/adapter/assets/static-with-precompressed/hello.txt +0 -1
  199. package/plugins/acryl-node-server/tests/adapter/assets/static-with-precompressed/hello.txt.br +0 -1
  200. package/plugins/acryl-node-server/tests/adapter/assets/static-with-precompressed/hello.txt.zst +0 -1
  201. package/plugins/acryl-node-server/tests/adapter/conninfo.test.ts +0 -34
  202. package/plugins/acryl-node-server/tests/adapter/content-length.test.ts +0 -248
  203. package/plugins/acryl-node-server/tests/adapter/early-hints.test.ts +0 -457
  204. package/plugins/acryl-node-server/tests/adapter/fixtures/keys/agent1-cert.pem +0 -23
  205. package/plugins/acryl-node-server/tests/adapter/fixtures/keys/agent1-key.pem +0 -27
  206. package/plugins/acryl-node-server/tests/adapter/headers.test.ts +0 -252
  207. package/plugins/acryl-node-server/tests/adapter/helpers/request.ts +0 -190
  208. package/plugins/acryl-node-server/tests/adapter/listener.test.ts +0 -727
  209. package/plugins/acryl-node-server/tests/adapter/request-client-disconnect.test.ts +0 -189
  210. package/plugins/acryl-node-server/tests/adapter/request.test.ts +0 -1230
  211. package/plugins/acryl-node-server/tests/adapter/response.test.ts +0 -285
  212. package/plugins/acryl-node-server/tests/adapter/serve-static.test.ts +0 -849
  213. package/plugins/acryl-node-server/tests/adapter/server-socket.test.ts +0 -790
  214. package/plugins/acryl-node-server/tests/adapter/server.test.ts +0 -1312
  215. package/plugins/acryl-node-server/tests/adapter/setup.ts +0 -16
  216. package/plugins/acryl-node-server/tests/adapter/url.test.ts +0 -76
  217. package/plugins/acryl-node-server/tests/adapter/utils/response.test.ts +0 -23
  218. package/plugins/acryl-node-server/tests/adapter/utils/stream.test.ts +0 -75
  219. package/plugins/acryl-node-server/tests/adapter/utils.test.ts +0 -235
  220. package/plugins/acryl-node-server/tests/adapter/websocket.test.ts +0 -260
  221. package/plugins/acryl-node-server/tests/server.spec.ts +0 -141
  222. package/plugins/acryl-router/src/core/app.test.ts +0 -3833
  223. package/plugins/acryl-router/src/core/client/client.test.ts +0 -2313
  224. package/plugins/acryl-router/src/core/client/types.test.ts +0 -149
  225. package/plugins/acryl-router/src/core/client/utils.test.ts +0 -405
  226. package/plugins/acryl-router/src/core/compose.test.ts +0 -751
  227. package/plugins/acryl-router/src/core/context.test.ts +0 -629
  228. package/plugins/acryl-router/src/core/helper/accepts/accepts.test.ts +0 -344
  229. package/plugins/acryl-router/src/core/helper/adapter/index.test.ts +0 -55
  230. package/plugins/acryl-router/src/core/helper/cookie/index.test.ts +0 -510
  231. package/plugins/acryl-router/src/core/helper/dev/index.test.ts +0 -181
  232. package/plugins/acryl-router/src/core/helper/factory/index.test.ts +0 -434
  233. package/plugins/acryl-router/src/core/helper/html/index.test.ts +0 -78
  234. package/plugins/acryl-router/src/core/helper/proxy/index.test.ts +0 -356
  235. package/plugins/acryl-router/src/core/helper/route/index.test.ts +0 -259
  236. package/plugins/acryl-router/src/core/helper/streaming/stream.test.ts +0 -128
  237. package/plugins/acryl-router/src/core/helper/streaming/text.test.ts +0 -34
  238. package/plugins/acryl-router/src/core/helper/testing/index.test.ts +0 -42
  239. package/plugins/acryl-router/src/core/helper/websocket/index.test.ts +0 -124
  240. package/plugins/acryl-router/src/core/http-exception.test.ts +0 -45
  241. package/plugins/acryl-router/src/core/middleware/basic-auth/index.test.ts +0 -434
  242. package/plugins/acryl-router/src/core/middleware/bearer-auth/index.test.ts +0 -1018
  243. package/plugins/acryl-router/src/core/middleware/body-limit/index.test.ts +0 -273
  244. package/plugins/acryl-router/src/core/middleware/cache/index.test.ts +0 -1211
  245. package/plugins/acryl-router/src/core/middleware/combine/index.test.ts +0 -355
  246. package/plugins/acryl-router/src/core/middleware/compress/index.test.ts +0 -535
  247. package/plugins/acryl-router/src/core/middleware/context-storage/index.test.ts +0 -43
  248. package/plugins/acryl-router/src/core/middleware/cors/index.test.ts +0 -532
  249. package/plugins/acryl-router/src/core/middleware/csrf/index.test.ts +0 -534
  250. package/plugins/acryl-router/src/core/middleware/etag/digest.test.ts +0 -21
  251. package/plugins/acryl-router/src/core/middleware/etag/index.test.ts +0 -503
  252. package/plugins/acryl-router/src/core/middleware/ip-restriction/index.test.ts +0 -217
  253. package/plugins/acryl-router/src/core/middleware/jwk/index.test.ts +0 -1135
  254. package/plugins/acryl-router/src/core/middleware/jwk/keys.test.json +0 -48
  255. package/plugins/acryl-router/src/core/middleware/jwt/index.test.ts +0 -802
  256. package/plugins/acryl-router/src/core/middleware/language/index.test.ts +0 -552
  257. package/plugins/acryl-router/src/core/middleware/logger/index.test.ts +0 -204
  258. package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.test.ts +0 -292
  259. package/plugins/acryl-router/src/core/middleware/method-override/index.test.ts +0 -221
  260. package/plugins/acryl-router/src/core/middleware/mount/index.test.ts +0 -334
  261. package/plugins/acryl-router/src/core/middleware/powered-by/index.test.ts +0 -37
  262. package/plugins/acryl-router/src/core/middleware/pretty-json/index.test.ts +0 -218
  263. package/plugins/acryl-router/src/core/middleware/request-id/index.test.ts +0 -168
  264. package/plugins/acryl-router/src/core/middleware/secure-headers/index.test.ts +0 -671
  265. package/plugins/acryl-router/src/core/middleware/serve-static/index.test.ts +0 -450
  266. package/plugins/acryl-router/src/core/middleware/serve-static/path.test.ts +0 -50
  267. package/plugins/acryl-router/src/core/middleware/timeout/index.test.ts +0 -70
  268. package/plugins/acryl-router/src/core/middleware/timing/index.test.ts +0 -310
  269. package/plugins/acryl-router/src/core/middleware/trailing-slash/index.test.ts +0 -381
  270. package/plugins/acryl-router/src/core/preset/quick.test.ts +0 -42
  271. package/plugins/acryl-router/src/core/preset/tiny.test.ts +0 -42
  272. package/plugins/acryl-router/src/core/request.test.ts +0 -751
  273. package/plugins/acryl-router/src/core/router/common.case.test.ts +0 -1132
  274. package/plugins/acryl-router/src/core/router/linear-router/router.test.ts +0 -80
  275. package/plugins/acryl-router/src/core/router/pattern-router/router.test.ts +0 -46
  276. package/plugins/acryl-router/src/core/router/reg-exp-router/prepared-router.test.ts +0 -154
  277. package/plugins/acryl-router/src/core/router/reg-exp-router/router.test.ts +0 -265
  278. package/plugins/acryl-router/src/core/router/smart-router/router.test.ts +0 -13
  279. package/plugins/acryl-router/src/core/router/trie-router/node.test.ts +0 -896
  280. package/plugins/acryl-router/src/core/router/trie-router/router.test.ts +0 -8
  281. package/plugins/acryl-router/src/core/types.test.ts +0 -4134
  282. package/plugins/acryl-router/src/core/utils/accept.test.ts +0 -299
  283. package/plugins/acryl-router/src/core/utils/basic-auth.test.ts +0 -56
  284. package/plugins/acryl-router/src/core/utils/body.test.ts +0 -496
  285. package/plugins/acryl-router/src/core/utils/buffer.test.ts +0 -147
  286. package/plugins/acryl-router/src/core/utils/color.test.ts +0 -23
  287. package/plugins/acryl-router/src/core/utils/concurrent.test.ts +0 -69
  288. package/plugins/acryl-router/src/core/utils/cookie.test.ts +0 -460
  289. package/plugins/acryl-router/src/core/utils/crypto.test.ts +0 -43
  290. package/plugins/acryl-router/src/core/utils/encode.test.ts +0 -61
  291. package/plugins/acryl-router/src/core/utils/filepath.test.ts +0 -78
  292. package/plugins/acryl-router/src/core/utils/html.test.ts +0 -16
  293. package/plugins/acryl-router/src/core/utils/ipaddr.test.ts +0 -149
  294. package/plugins/acryl-router/src/core/utils/jwt/jwa.test.ts +0 -86
  295. package/plugins/acryl-router/src/core/utils/jwt/jwt.test.ts +0 -1788
  296. package/plugins/acryl-router/src/core/utils/mime.test.ts +0 -64
  297. package/plugins/acryl-router/src/core/utils/stream.test.ts +0 -212
  298. package/plugins/acryl-router/src/core/utils/types.test.ts +0 -295
  299. package/plugins/acryl-router/src/core/utils/url.test.ts +0 -384
  300. package/plugins/acryl-router/src/core/validator/utils.test.ts +0 -82
  301. package/plugins/acryl-router/src/core/validator/validator.test.ts +0 -1488
  302. package/plugins/acryl-router/tests/docs-examples.spec.ts +0 -152
  303. package/plugins/acryl-router/tests/live-install.spec.ts +0 -64
  304. package/plugins/acryl-router/tests/loader.spec.ts +0 -72
  305. package/plugins/acryl-router/tests/loopback-only.spec.ts +0 -80
  306. package/plugins/acryl-router/tests/no-dom/consumer.ts +0 -11
  307. package/plugins/acryl-router/tests/no-dom/tsconfig.json +0 -13
  308. package/plugins/acryl-router/tests/service.spec.ts +0 -426
  309. package/plugins/acryl-router/tests/shadow-state.spec.ts +0 -79
  310. package/plugins/acryl-router-http/tests/adapter.spec.ts +0 -174
  311. package/plugins/acryl-router-http/tests/stream.spec.ts +0 -133
  312. package/plugins/acryl-router-http/tests/surfaces.spec.ts +0 -101
  313. package/plugins/acryl-state/src/react.ts +0 -11
  314. package/plugins/acryl-state/tests/cell.spec.ts +0 -71
  315. package/plugins/acryl-state/tests/react.spec.ts +0 -39
  316. package/plugins/acryl-state/tests/service.spec.ts +0 -132
package/lib/ssg.d.ts ADDED
@@ -0,0 +1,156 @@
1
+ import { L as MiddlewareHandler, Y as Schema, t as Context, v as Env } from "./context-DS3fYyG-.js";
2
+ import { t as Acryl } from "./app-D8riatvv.js";
3
+
4
+ //#region ../../plugins/acryl-router/src/core/helper/ssg/ssg.d.ts
5
+ declare const DEFAULT_OUTPUT_DIR = "./static";
6
+ /**
7
+ * @experimental
8
+ * `FileSystemModule` is an experimental feature.
9
+ * The API might be changed.
10
+ */
11
+ interface FileSystemModule {
12
+ writeFile(path: string, data: string | Uint8Array): Promise<void>;
13
+ mkdir(path: string, options: {
14
+ recursive: boolean;
15
+ }): Promise<void | string>;
16
+ }
17
+ /**
18
+ * @experimental
19
+ * `ToSSGResult` is an experimental feature.
20
+ * The API might be changed.
21
+ */
22
+ interface ToSSGResult {
23
+ success: boolean;
24
+ files: string[];
25
+ error?: Error;
26
+ }
27
+ declare const defaultExtensionMap: Record<string, string>;
28
+ type BeforeRequestHook = (req: Request) => Request | false | Promise<Request | false>;
29
+ type AfterResponseHook = (res: Response) => Response | false | Promise<Response | false>;
30
+ type AfterGenerateHook = (result: ToSSGResult, fsModule: FileSystemModule, options?: ToSSGOptions) => void | Promise<void>;
31
+ declare const combineBeforeRequestHooks: (hooks: BeforeRequestHook | BeforeRequestHook[]) => BeforeRequestHook;
32
+ declare const combineAfterResponseHooks: (hooks: AfterResponseHook | AfterResponseHook[]) => AfterResponseHook;
33
+ declare const combineAfterGenerateHooks: (hooks: AfterGenerateHook | AfterGenerateHook[], fsModule: FileSystemModule, options?: ToSSGOptions) => AfterGenerateHook;
34
+ interface SSGPlugin {
35
+ beforeRequestHook?: BeforeRequestHook | BeforeRequestHook[];
36
+ afterResponseHook?: AfterResponseHook | AfterResponseHook[];
37
+ afterGenerateHook?: AfterGenerateHook | AfterGenerateHook[];
38
+ }
39
+ interface ToSSGOptions {
40
+ dir?: string;
41
+ /**
42
+ * @deprecated Use plugins[].beforeRequestHook instead.
43
+ */
44
+ beforeRequestHook?: BeforeRequestHook | BeforeRequestHook[];
45
+ /**
46
+ * @deprecated Use plugins[].afterResponseHook instead.
47
+ */
48
+ afterResponseHook?: AfterResponseHook | AfterResponseHook[];
49
+ /**
50
+ * @deprecated Use plugins[].afterGenerateHook instead.
51
+ */
52
+ afterGenerateHook?: AfterGenerateHook | AfterGenerateHook[];
53
+ concurrency?: number;
54
+ extensionMap?: Record<string, string>;
55
+ plugins?: SSGPlugin[];
56
+ }
57
+ /**
58
+ * @experimental
59
+ * `fetchRoutesContent` is an experimental feature.
60
+ * The API might be changed.
61
+ */
62
+ declare const fetchRoutesContent: <E extends Env = Env, S extends Schema = {}, BasePath extends string = "/">(app: Acryl<E, S, BasePath>, beforeRequestHook?: BeforeRequestHook, afterResponseHook?: AfterResponseHook, concurrency?: number) => Generator<Promise<Generator<Promise<{
63
+ routePath: string;
64
+ mimeType: string;
65
+ content: string | ArrayBuffer;
66
+ } | undefined>> | undefined>>;
67
+ declare const saveContentToFile: (data: Promise<{
68
+ routePath: string;
69
+ content: string | ArrayBuffer;
70
+ mimeType: string;
71
+ } | undefined>, fsModule: FileSystemModule, outDir: string, extensionMap?: Record<string, string>) => Promise<string | undefined>;
72
+ /**
73
+ * @experimental
74
+ * `ToSSGInterface` is an experimental feature.
75
+ * The API might be changed.
76
+ */
77
+ interface ToSSGInterface {
78
+ (app: Acryl<any, any, any>, fsModule: FileSystemModule, options?: ToSSGOptions): Promise<ToSSGResult>;
79
+ }
80
+ /**
81
+ * @experimental
82
+ * `ToSSGAdaptorInterface` is an experimental feature.
83
+ * The API might be changed.
84
+ */
85
+ interface ToSSGAdaptorInterface<E extends Env = Env, S extends Schema = {}, BasePath extends string = '/'> {
86
+ (app: Acryl<E, S, BasePath>, options?: ToSSGOptions): Promise<ToSSGResult>;
87
+ }
88
+ /**
89
+ * @experimental
90
+ * `toSSG` is an experimental feature.
91
+ * The API might be changed.
92
+ */
93
+ declare const toSSG: ToSSGInterface;
94
+ //#endregion
95
+ //#region ../../plugins/acryl-router/src/core/helper/ssg/middleware.d.ts
96
+ declare const X_ACRYL_DISABLE_SSG_HEADER_KEY = "x-acryl-disable-ssg";
97
+ interface SSGParam {
98
+ [key: string]: string;
99
+ }
100
+ type SSGParams = SSGParam[];
101
+ interface SSGParamsMiddleware {
102
+ <E extends Env = Env>(generateParams: (c: Context<E>) => SSGParams | Promise<SSGParams>): MiddlewareHandler<E>;
103
+ <E extends Env = Env>(params: SSGParams): MiddlewareHandler<E>;
104
+ }
105
+ /**
106
+ * Define SSG Route
107
+ */
108
+ declare const ssgParams: SSGParamsMiddleware;
109
+ /**
110
+ * @experimental
111
+ * `isSSGContext` is an experimental feature.
112
+ * The API might be changed.
113
+ */
114
+ declare const isSSGContext: (c: Context) => boolean;
115
+ /**
116
+ * @experimental
117
+ * `disableSSG` is an experimental feature.
118
+ * The API might be changed.
119
+ */
120
+ declare const disableSSG: () => MiddlewareHandler;
121
+ /**
122
+ * @experimental
123
+ * `onlySSG` is an experimental feature.
124
+ * The API might be changed.
125
+ */
126
+ declare const onlySSG: () => MiddlewareHandler;
127
+ //#endregion
128
+ //#region ../../plugins/acryl-router/src/core/helper/ssg/plugins.d.ts
129
+ /**
130
+ * The default plugin that defines the recommended behavior.
131
+ *
132
+ * @experimental
133
+ * `defaultPlugin` is an experimental feature.
134
+ * The API might be changed.
135
+ */
136
+ declare const defaultPlugin: () => SSGPlugin;
137
+ /**
138
+ * The redirect plugin that generates HTML redirect pages for HTTP redirect responses for status codes 301, 302, 303, 307 and 308.
139
+ *
140
+ * When used with `defaultPlugin`, place `redirectPlugin` before it, because `defaultPlugin` skips non-200 responses.
141
+ *
142
+ * ```ts
143
+ * // ✅ Will work as expected
144
+ * toSSG(app, fs, { plugins: [redirectPlugin(), defaultPlugin()] })
145
+ *
146
+ * // ❌ Will not work as expected
147
+ * toSSG(app, fs, { plugins: [defaultPlugin(), redirectPlugin()] })
148
+ * ```
149
+ *
150
+ * @experimental
151
+ * `redirectPlugin` is an experimental feature.
152
+ * The API might be changed.
153
+ */
154
+ declare const redirectPlugin: () => SSGPlugin;
155
+ //#endregion
156
+ export { AfterGenerateHook, AfterResponseHook, BeforeRequestHook, DEFAULT_OUTPUT_DIR, FileSystemModule, SSGPlugin, ToSSGAdaptorInterface, ToSSGInterface, ToSSGOptions, ToSSGResult, X_ACRYL_DISABLE_SSG_HEADER_KEY, combineAfterGenerateHooks, combineAfterResponseHooks, combineBeforeRequestHooks, defaultExtensionMap, defaultPlugin, disableSSG, fetchRoutesContent, isSSGContext, onlySSG, redirectPlugin, saveContentToFile, ssgParams, toSSG };
package/lib/ssg.js ADDED
@@ -0,0 +1,2 @@
1
+ import { a as defaultExtensionMap, c as toSSG, d as X_ACRYL_DISABLE_SSG_HEADER_KEY, f as disableSSG, h as ssgParams, i as combineBeforeRequestHooks, l as defaultPlugin, m as onlySSG, n as combineAfterGenerateHooks, o as fetchRoutesContent, p as isSSGContext, r as combineAfterResponseHooks, s as saveContentToFile, t as DEFAULT_OUTPUT_DIR, u as redirectPlugin } from "./ssg-BwjcA-Ge.js";
2
+ export { DEFAULT_OUTPUT_DIR, X_ACRYL_DISABLE_SSG_HEADER_KEY, combineAfterGenerateHooks, combineAfterResponseHooks, combineBeforeRequestHooks, defaultExtensionMap, defaultPlugin, disableSSG, fetchRoutesContent, isSSGContext, onlySSG, redirectPlugin, saveContentToFile, ssgParams, toSSG };
@@ -1,4 +1,4 @@
1
- import { t as Context } from "./context-B5Y1lLha.js";
1
+ import { t as Context } from "./context-DS3fYyG-.js";
2
2
  import { t as StreamingApi } from "./stream-CPdqZ0Fp.js";
3
3
 
4
4
  //#region ../../plugins/acryl-router/src/core/helper/streaming/stream.d.ts
package/lib/testing.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { J as Schema, a as ExecutionContext } from "./context-B5Y1lLha.js";
2
- import { E as UnionToIntersection } from "./types-D9DEXMjE.js";
3
- import { t as Acryl } from "./app-BdrVHBlJ.js";
4
- import { i as ClientRequestOptions, n as Client } from "./types-Bd29gh2o.js";
1
+ import { Y as Schema, a as ExecutionContext } from "./context-DS3fYyG-.js";
2
+ import { D as UnionToIntersection } from "./types-Lqx5BxQF.js";
3
+ import { t as Acryl } from "./app-D8riatvv.js";
4
+ import { i as ClientRequestOptions, n as Client } from "./types-zNxyEpG2.js";
5
5
 
6
6
  //#region ../../plugins/acryl-router/src/core/helper/testing/index.d.ts
7
7
  type ExtractEnv<T> = T extends Acryl<infer E, Schema, string> ? E : never;
package/lib/testing.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as hc } from "./client-BHTr318g.js";
1
+ import { t as hc } from "./client-DDLXwhBo.js";
2
2
  //#region ../../plugins/acryl-router/src/core/helper/testing/index.ts
3
3
  /**
4
4
  * @module
package/lib/timeout.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { I as MiddlewareHandler, t as Context } from "./context-B5Y1lLha.js";
1
+ import { L as MiddlewareHandler, t as Context } from "./context-DS3fYyG-.js";
2
2
  import { HTTPException } from "./http-exception.js";
3
3
 
4
4
  //#region ../../plugins/acryl-router/src/core/middleware/timeout/index.d.ts
package/lib/timing.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { I as MiddlewareHandler, t as Context } from "./context-B5Y1lLha.js";
1
+ import { L as MiddlewareHandler, t as Context } from "./context-DS3fYyG-.js";
2
2
 
3
3
  //#region ../../plugins/acryl-router/src/core/middleware/timing/timing.d.ts
4
4
  type TimingVariables = {
package/lib/tiny.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as Acryl$1, J as Schema, _ as Env, et as AcrylOptions, h as BlankSchema, p as BlankEnv } from "./context-B5Y1lLha.js";
1
+ import { Y as Schema, et as Acryl$1, g as BlankSchema, m as BlankEnv, tt as AcrylOptions, v as Env } from "./context-DS3fYyG-.js";
2
2
 
3
3
  //#region ../../plugins/acryl-router/src/core/preset/tiny.d.ts
4
4
  declare class Acryl<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends Acryl$1<E, S, BasePath> {
@@ -1,4 +1,4 @@
1
- import { I as MiddlewareHandler } from "./context-B5Y1lLha.js";
1
+ import { L as MiddlewareHandler } from "./context-DS3fYyG-.js";
2
2
 
3
3
  //#region ../../plugins/acryl-router/src/core/middleware/trailing-slash/index.d.ts
4
4
  type TrimTrailingSlashOptions = {
@@ -1,4 +1,4 @@
1
- import { t as Context } from "./context-B5Y1lLha.js";
1
+ import { t as Context } from "./context-DS3fYyG-.js";
2
2
 
3
3
  //#region ../../plugins/acryl-router/src/core/helper/conninfo/types.d.ts
4
4
  type AddressType = 'IPv6' | 'IPv4' | undefined;
@@ -103,5 +103,12 @@ interface JsonWebKey {
103
103
  x?: string;
104
104
  y?: string;
105
105
  }
106
+ /**
107
+ * A DOM event type by its global name: the DOM library's own type when it is loaded (a browser project), otherwise the runtime's `Event`,
108
+ * so the JSX types (event handler props) do not need the DOM library on a server.
109
+ */
110
+ type DomEvent<Name extends string> = typeof globalThis extends { readonly [K in Name]: {
111
+ readonly prototype: infer E;
112
+ } } ? E : Event;
106
113
  //#endregion
107
- export { Simplify as C, UnionToIntersection as E, RequiredKeysOf as S, StringLiteralUnion as T, JSONValue as _, Equal as a, NotEqual as b, HeadersInit as c, InvalidJSONValue as d, IsAny as f, JSONPrimitive as g, JSONParsed as h, CryptoKey as i, IfAnyThenEmptyObject as l, JSONObject as m, BufferSource as n, Expect as o, JSONArray as p, CloseEvent as r, HasRequiredKeys as s, BinaryType as t, InterfaceToType as u, JsonWebKey as v, SimplifyDeepArray as w, RemoveBlankRecord as x, MessageEvent as y };
114
+ export { RequiredKeysOf as C, UnionToIntersection as D, StringLiteralUnion as E, RemoveBlankRecord as S, SimplifyDeepArray as T, JSONPrimitive as _, DomEvent as a, MessageEvent as b, HasRequiredKeys as c, InterfaceToType as d, InvalidJSONValue as f, JSONParsed as g, JSONObject as h, CryptoKey as i, HeadersInit as l, JSONArray as m, BufferSource as n, Equal as o, IsAny as p, CloseEvent as r, Expect as s, BinaryType as t, IfAnyThenEmptyObject as u, JSONValue as v, Simplify as w, NotEqual as x, JsonWebKey as y };
@@ -1,8 +1,8 @@
1
- import { $ as Acryl, J as Schema, K as ResponseFormat, N as KnownResponseFormat, g as Endpoint, x as ExtractSchema } from "./context-B5Y1lLha.js";
1
+ import { P as KnownResponseFormat, S as ExtractSchema, Y as Schema, _ as Endpoint, et as Acryl, q as ResponseFormat } from "./context-DS3fYyG-.js";
2
2
  import { i as METHOD_NAME_ALL_LOWERCASE, n as METHODS } from "./router-CvUxUTOq.js";
3
3
  import { c as StatusCode, l as SuccessStatusCode } from "./http-status-DaAwGAFL.js";
4
- import { s as HasRequiredKeys } from "./types-D9DEXMjE.js";
5
- import { t as Acryl$1 } from "./app-BdrVHBlJ.js";
4
+ import { c as HasRequiredKeys } from "./types-Lqx5BxQF.js";
5
+ import { t as Acryl$1 } from "./app-D8riatvv.js";
6
6
 
7
7
  //#region ../../plugins/acryl-router/src/core/client/types.d.ts
8
8
  /**
package/lib/types.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as Input, B as NotFoundResponse, C as FetchEventLike, D as Handler, E as HTTPResponseError, F as MergeSchemaPath, G as RemoveQuestion, H as ParamKeyToRecord, I as MiddlewareHandler, J as Schema, K as ResponseFormat, L as MiddlewareHandlerInterface, M as IntersectNonAnyTypes, N as KnownResponseFormat, O as HandlerInterface, P as MergePath, Q as Variables, R as Next, S as ExtractSchemaForStatusCode, T as H, U as ParamKeys, V as OnHandlerInterface, W as ParsedFormValue, X as TypedResponse, Y as ToSchema, Z as ValidationTargets, _ as Env, b as ExtractInput, d as AddParam, f as Bindings, g as Endpoint, h as BlankSchema, j as InputToDataByTarget, k as HandlerResponse, m as BlankInput, p as BlankEnv, q as RouterRoute, v as ErrorHandler, w as FormValue, x as ExtractSchema, y as ExtractHandlerResponse, z as NotFoundHandler } from "./context-B5Y1lLha.js";
1
+ import { $ as Variables, A as HandlerResponse, B as NotFoundHandler, C as ExtractSchemaForStatusCode, D as HTTPResponseError, E as H, F as MergePath, G as ParsedFormValue, H as OnHandlerInterface, I as MergeSchemaPath, J as RouterRoute, K as RemoveQuestion, L as MiddlewareHandler, M as InputToDataByTarget, N as IntersectNonAnyTypes, O as Handler, P as KnownResponseFormat, Q as ValidationTargets, R as MiddlewareHandlerInterface, S as ExtractSchema, T as FormValue, U as ParamKeyToRecord, V as NotFoundResponse, W as ParamKeys, X as ToSchema, Y as Schema, Z as TypedResponse, _ as Endpoint, b as ExtractHandlerResponse, f as AddParam, g as BlankSchema, h as BlankInput, j as Input, k as HandlerInterface, m as BlankEnv, p as Bindings, q as ResponseFormat, v as Env, w as FetchEventLike, x as ExtractInput, y as ErrorHandler, z as Next } from "./context-DS3fYyG-.js";
2
2
  export { AddParam, Bindings, BlankEnv, BlankInput, BlankSchema, Endpoint, Env, ErrorHandler, ExtractHandlerResponse, ExtractInput, ExtractSchema, ExtractSchemaForStatusCode, FetchEventLike, FormValue, H, HTTPResponseError, Handler, HandlerInterface, HandlerResponse, Input, InputToDataByTarget, IntersectNonAnyTypes, KnownResponseFormat, MergePath, MergeSchemaPath, MiddlewareHandler, MiddlewareHandlerInterface, Next, NotFoundHandler, NotFoundResponse, OnHandlerInterface, ParamKeyToRecord, ParamKeys, ParsedFormValue, RemoveQuestion, ResponseFormat, RouterRoute, Schema, ToSchema, TypedResponse, ValidationTargets, Variables };
@@ -1,2 +1,2 @@
1
- import { c as BodyData, l as ParseBodyOptions, u as parseBody } from "../context-B5Y1lLha.js";
1
+ import { d as parseBody, l as BodyData, u as ParseBodyOptions } from "../context-DS3fYyG-.js";
2
2
  export { BodyData, ParseBodyOptions, parseBody };
@@ -1,2 +1,2 @@
1
- import { a as SignedCookie, c as serialize, i as CookiePrefixOptions, l as serializeSigned, n as CookieConstraint, o as parse, r as CookieOptions, s as parseSigned, t as Cookie } from "../cookie-D9_nQbsM.js";
1
+ import { a as SignedCookie, c as serialize, i as CookiePrefixOptions, l as serializeSigned, n as CookieConstraint, o as parse, r as CookieOptions, s as parseSigned, t as Cookie } from "../cookie-CCelEqky.js";
2
2
  export { Cookie, CookieConstraint, CookieOptions, CookiePrefixOptions, SignedCookie, parse, parseSigned, serialize, serializeSigned };
@@ -1,4 +1,4 @@
1
- import { _ as JSONValue } from "../types-D9DEXMjE.js";
1
+ import { v as JSONValue } from "../types-Lqx5BxQF.js";
2
2
 
3
3
  //#region ../../plugins/acryl-router/src/core/utils/crypto.d.ts
4
4
  type Algorithm = {
@@ -1,46 +1,2 @@
1
- //#region ../../plugins/acryl-router/src/core/utils/html.d.ts
2
- /**
3
- * @module
4
- * HTML utility.
5
- */
6
- declare const HtmlEscapedCallbackPhase: {
7
- readonly Stringify: 1;
8
- readonly BeforeStream: 2;
9
- readonly Stream: 3;
10
- };
11
- type HtmlEscapedCallbackOpts = {
12
- buffer?: [string];
13
- phase: (typeof HtmlEscapedCallbackPhase)[keyof typeof HtmlEscapedCallbackPhase];
14
- context: Readonly<object>;
15
- };
16
- type HtmlEscapedCallback = (opts: HtmlEscapedCallbackOpts) => Promise<string> | undefined;
17
- type HtmlEscaped = {
18
- isEscaped: true;
19
- callbacks?: HtmlEscapedCallback[];
20
- };
21
- type HtmlEscapedString = string & HtmlEscaped;
22
- /**
23
- * StringBuffer contains string and Promise<string> alternately
24
- * The length of the array will be odd, the odd numbered element will be a string,
25
- * and the even numbered element will be a Promise<string>.
26
- * When concatenating into a single string, it must be processed from the tail.
27
- * @example
28
- * [
29
- * 'framework.',
30
- * Promise.resolve('ultra fast'),
31
- * 'a ',
32
- * Promise.resolve('is '),
33
- * 'Acryl',
34
- * ]
35
- */
36
- type StringBuffer = (string | Promise<string>)[];
37
- type StringBufferWithCallbacks = StringBuffer & {
38
- callbacks: HtmlEscapedCallback[];
39
- };
40
- declare const raw: (value: unknown, callbacks?: HtmlEscapedCallback[]) => HtmlEscapedString;
41
- declare const stringBufferToString: (buffer: StringBuffer, callbacks: HtmlEscapedCallback[] | undefined) => Promise<HtmlEscapedString>;
42
- declare const escapeToBuffer: (str: string, buffer: StringBuffer) => void;
43
- declare const resolveCallbackSync: (str: string | HtmlEscapedString) => string;
44
- declare const resolveCallback: (str: string | HtmlEscapedString | Promise<string>, phase: (typeof HtmlEscapedCallbackPhase)[keyof typeof HtmlEscapedCallbackPhase], preserveCallbacks: boolean, context: object, buffer?: [string]) => Promise<string>;
45
- //#endregion
1
+ import { a as StringBuffer, c as raw, d as stringBufferToString, i as HtmlEscapedString, l as resolveCallback, n as HtmlEscapedCallback, o as StringBufferWithCallbacks, r as HtmlEscapedCallbackPhase, s as escapeToBuffer, t as HtmlEscaped, u as resolveCallbackSync } from "../html-SllAe0YT.js";
46
2
  export { HtmlEscaped, HtmlEscapedCallback, HtmlEscapedCallbackPhase, HtmlEscapedString, StringBuffer, StringBufferWithCallbacks, escapeToBuffer, raw, resolveCallback, resolveCallbackSync, stringBufferToString };
@@ -1,4 +1,4 @@
1
- import { t as AddressType } from "../types-ZM9gIiKh.js";
1
+ import { t as AddressType } from "../types-Dv_nV2cv.js";
2
2
 
3
3
  //#region ../../plugins/acryl-router/src/core/utils/ipaddr.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as SignatureKey, c as SignatureAlgorithm, i as AcrylJsonWebKey, n as VerifyOptions, r as VerifyOptionsWithAlg, s as AsymmetricAlgorithm, t as TokenHeader } from "../jwt-BA65QhnJ.js";
1
+ import { a as SignatureKey, c as SignatureAlgorithm, i as AcrylJsonWebKey, n as VerifyOptions, r as VerifyOptionsWithAlg, s as AsymmetricAlgorithm, t as TokenHeader } from "../jwt-BARhotDz.js";
2
2
  import { t as JWTPayload } from "../types-DR95J00T.js";
3
3
 
4
4
  //#region ../../plugins/acryl-router/src/core/utils/jwt/index.d.ts
@@ -1,2 +1,2 @@
1
- import { C as Simplify, E as UnionToIntersection, S as RequiredKeysOf, T as StringLiteralUnion, _ as JSONValue, a as Equal, b as NotEqual, c as HeadersInit, d as InvalidJSONValue, f as IsAny, g as JSONPrimitive, h as JSONParsed, i as CryptoKey, l as IfAnyThenEmptyObject, m as JSONObject, n as BufferSource, o as Expect, p as JSONArray, r as CloseEvent, s as HasRequiredKeys, t as BinaryType, u as InterfaceToType, v as JsonWebKey, w as SimplifyDeepArray, x as RemoveBlankRecord, y as MessageEvent } from "../types-D9DEXMjE.js";
2
- export { BinaryType, BufferSource, CloseEvent, CryptoKey, Equal, Expect, HasRequiredKeys, HeadersInit, IfAnyThenEmptyObject, InterfaceToType, InvalidJSONValue, IsAny, JSONArray, JSONObject, JSONParsed, JSONPrimitive, JSONValue, JsonWebKey, MessageEvent, NotEqual, RemoveBlankRecord, RequiredKeysOf, Simplify, SimplifyDeepArray, StringLiteralUnion, UnionToIntersection };
1
+ import { C as RequiredKeysOf, D as UnionToIntersection, E as StringLiteralUnion, S as RemoveBlankRecord, T as SimplifyDeepArray, _ as JSONPrimitive, a as DomEvent, b as MessageEvent, c as HasRequiredKeys, d as InterfaceToType, f as InvalidJSONValue, g as JSONParsed, h as JSONObject, i as CryptoKey, l as HeadersInit, m as JSONArray, n as BufferSource, o as Equal, p as IsAny, r as CloseEvent, s as Expect, t as BinaryType, u as IfAnyThenEmptyObject, v as JSONValue, w as Simplify, x as NotEqual, y as JsonWebKey } from "../types-Lqx5BxQF.js";
2
+ export { BinaryType, BufferSource, CloseEvent, CryptoKey, DomEvent, Equal, Expect, HasRequiredKeys, HeadersInit, IfAnyThenEmptyObject, InterfaceToType, InvalidJSONValue, IsAny, JSONArray, JSONObject, JSONParsed, JSONPrimitive, JSONValue, JsonWebKey, MessageEvent, NotEqual, RemoveBlankRecord, RequiredKeysOf, Simplify, SimplifyDeepArray, StringLiteralUnion, UnionToIntersection };
@@ -0,0 +1,125 @@
1
+ //#region ../../plugins/acryl-router/src/core/client/fetch-result-please.ts
2
+ /**
3
+ * @description This file is a modified version of `fetch-result-please` (`ofetch`), minimalized and adapted to Acryl's custom needs.
4
+ *
5
+ * @link https://www.npmjs.com/package/fetch-result-please
6
+ */
7
+ const nullBodyResponses = /* @__PURE__ */ new Set([
8
+ 101,
9
+ 204,
10
+ 205,
11
+ 304
12
+ ]);
13
+ /**
14
+ * Smartly parses and return the consumable result from a fetch `Response`.
15
+ *
16
+ * Throwing a structured error if the response is not `ok`. ({@link DetailedError})
17
+ */
18
+ async function fetchRP(fetchRes) {
19
+ const _fetchRes = await fetchRes;
20
+ if ((_fetchRes.body || _fetchRes._bodyInit) && !nullBodyResponses.has(_fetchRes.status)) _fetchRes._data = await _fetchRes[detectResponseType(_fetchRes)]();
21
+ if (!_fetchRes.ok) throw new DetailedError(`${_fetchRes.status} ${_fetchRes.statusText}`, {
22
+ statusCode: _fetchRes?.status,
23
+ detail: {
24
+ data: _fetchRes?._data,
25
+ statusText: _fetchRes?.statusText
26
+ }
27
+ });
28
+ return _fetchRes._data;
29
+ }
30
+ var DetailedError = class extends Error {
31
+ /**
32
+ * Additional `message` that will be logged AND returned to client
33
+ */
34
+ detail;
35
+ /**
36
+ * Additional `code` that will be logged AND returned to client
37
+ */
38
+ code;
39
+ /**
40
+ * Additional value that will be logged AND NOT returned to client
41
+ */
42
+ log;
43
+ /**
44
+ * Optionally set the status code to return, in a web server context
45
+ */
46
+ statusCode;
47
+ constructor(message, options = {}) {
48
+ super(message);
49
+ this.name = "DetailedError";
50
+ this.log = options.log;
51
+ this.detail = options.detail;
52
+ this.code = options.code;
53
+ this.statusCode = options.statusCode;
54
+ }
55
+ };
56
+ const jsonRegex = /^application\/(?:[\w!#$%&*.^`~-]*\+)?json(?:;.+)?$/i;
57
+ function detectResponseType(response) {
58
+ const _contentType = response.headers.get("content-type");
59
+ if (!_contentType) return "text";
60
+ const contentType = _contentType.split(";").shift();
61
+ if (jsonRegex.test(contentType)) return "json";
62
+ return "text";
63
+ }
64
+ //#endregion
65
+ //#region ../../plugins/acryl-router/src/core/client/utils.ts
66
+ const mergePath = (base, path) => {
67
+ base = base.replace(/\/+$/, "");
68
+ base = base + "/";
69
+ path = path.replace(/^\/+/, "");
70
+ return base + path;
71
+ };
72
+ const replaceUrlParam = (urlString, params) => {
73
+ for (const [k, v] of Object.entries(params)) {
74
+ const reg = new RegExp("/:" + k + "(?:{[^/]+})?\\??(?=/|$)");
75
+ urlString = urlString.replace(reg, () => v ? `/${v}` : "");
76
+ }
77
+ return urlString;
78
+ };
79
+ const buildSearchParams = (query) => {
80
+ const searchParams = new URLSearchParams();
81
+ for (const [k, v] of Object.entries(query)) {
82
+ if (v === void 0) continue;
83
+ if (Array.isArray(v)) for (const v2 of v) {
84
+ if (v2 === void 0) continue;
85
+ searchParams.append(k, v2);
86
+ }
87
+ else searchParams.set(k, v);
88
+ }
89
+ return searchParams;
90
+ };
91
+ const replaceUrlProtocol = (urlString, protocol) => {
92
+ switch (protocol) {
93
+ case "ws": return urlString.replace(/^http/, "ws");
94
+ case "http": return urlString.replace(/^ws/, "http");
95
+ }
96
+ };
97
+ const removeIndexString = (urlString) => {
98
+ if (/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(urlString)) return urlString.replace(/\/index(?=\?|$)/, "/");
99
+ return urlString.replace(/\/index(?=\?|$)/, "");
100
+ };
101
+ function isObject(item) {
102
+ return typeof item === "object" && item !== null && !Array.isArray(item);
103
+ }
104
+ function deepMerge(target, source) {
105
+ if (!isObject(target) && !isObject(source)) return source;
106
+ const merged = { ...target };
107
+ for (const key in source) {
108
+ const value = source[key];
109
+ if (isObject(merged[key]) && isObject(value)) merged[key] = deepMerge(merged[key], value);
110
+ else merged[key] = value;
111
+ }
112
+ return merged;
113
+ }
114
+ /**
115
+ * Shortcut to get a consumable response from `hc`'s fetch calls (Response), with types inference.
116
+ *
117
+ * Smartly parse the response data, throwing a structured error if the response is not `ok`. ({@link DetailedError})
118
+ *
119
+ * @example const result = await parseResponse(client.posts.$get())
120
+ */
121
+ async function parseResponse(fetchRes) {
122
+ return fetchRP(fetchRes);
123
+ }
124
+ //#endregion
125
+ export { removeIndexString as a, DetailedError as c, parseResponse as i, deepMerge as n, replaceUrlParam as o, mergePath as r, replaceUrlProtocol as s, buildSearchParams as t };
@@ -1,5 +1,5 @@
1
- import { I as MiddlewareHandler, W as ParsedFormValue, X as TypedResponse, Z as ValidationTargets, _ as Env, t as Context, w as FormValue } from "./context-B5Y1lLha.js";
2
- import { E as UnionToIntersection } from "./types-D9DEXMjE.js";
1
+ import { G as ParsedFormValue, L as MiddlewareHandler, Q as ValidationTargets, T as FormValue, Z as TypedResponse, t as Context, v as Env } from "./context-DS3fYyG-.js";
2
+ import { D as UnionToIntersection } from "./types-Lqx5BxQF.js";
3
3
 
4
4
  //#region ../../plugins/acryl-router/src/core/validator/utils.d.ts
5
5
  /**
package/lib/ws.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as WSEvents, c as WebSocketHelperDefineContext, d as defineWebSocketHelper, i as WSContextInit, l as WebSocketHelperDefineHandler, n as UpgradeWebSocket, o as WSMessageReceive, r as WSContext, s as WSReadyState, t as SendOptions, u as createWSMessageEvent } from "./index-Kqou8Fjh.js";
1
+ import { a as WSEvents, c as WebSocketHelperDefineContext, d as defineWebSocketHelper, i as WSContextInit, l as WebSocketHelperDefineHandler, n as UpgradeWebSocket, o as WSMessageReceive, r as WSContext, s as WSReadyState, t as SendOptions, u as createWSMessageEvent } from "./index-BvFh1Gfx.js";
2
2
  export { SendOptions, UpgradeWebSocket, WSContext, WSContextInit, WSEvents, WSMessageReceive, WSReadyState, WebSocketHelperDefineContext, WebSocketHelperDefineHandler, createWSMessageEvent, defineWebSocketHelper };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acrylblends",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "The Acryl web framework (import { Acryl } from \"acrylblends\") and the acrylblends command that scaffolds Cordis apps.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -82,6 +82,10 @@
82
82
  "types": "./lib/ip-restriction.d.ts",
83
83
  "default": "./lib/ip-restriction.js"
84
84
  },
85
+ "./jsx-renderer": {
86
+ "types": "./lib/jsx-renderer.d.ts",
87
+ "default": "./lib/jsx-renderer.js"
88
+ },
85
89
  "./jwk": {
86
90
  "types": "./lib/jwk.d.ts",
87
91
  "default": "./lib/jwk.js"
@@ -174,6 +178,10 @@
174
178
  "types": "./lib/route.d.ts",
175
179
  "default": "./lib/route.js"
176
180
  },
181
+ "./ssg": {
182
+ "types": "./lib/ssg.d.ts",
183
+ "default": "./lib/ssg.js"
184
+ },
177
185
  "./streaming": {
178
186
  "types": "./lib/streaming.d.ts",
179
187
  "default": "./lib/streaming.js"
@@ -186,6 +194,50 @@
186
194
  "types": "./lib/ws.d.ts",
187
195
  "default": "./lib/ws.js"
188
196
  },
197
+ "./css": {
198
+ "types": "./lib/css.d.ts",
199
+ "default": "./lib/css.js"
200
+ },
201
+ "./jsx": {
202
+ "types": "./lib/jsx.d.ts",
203
+ "default": "./lib/jsx.js"
204
+ },
205
+ "./jsx/jsx-runtime": {
206
+ "types": "./lib/jsx/jsx-runtime.d.ts",
207
+ "default": "./lib/jsx/jsx-runtime.js"
208
+ },
209
+ "./jsx/jsx-dev-runtime": {
210
+ "types": "./lib/jsx/jsx-dev-runtime.d.ts",
211
+ "default": "./lib/jsx/jsx-dev-runtime.js"
212
+ },
213
+ "./jsx/streaming": {
214
+ "types": "./lib/jsx/streaming.d.ts",
215
+ "default": "./lib/jsx/streaming.js"
216
+ },
217
+ "./jsx/dom": {
218
+ "types": "./lib/jsx/dom.d.ts",
219
+ "default": "./lib/jsx/dom.js"
220
+ },
221
+ "./jsx/dom/jsx-runtime": {
222
+ "types": "./lib/jsx/dom/jsx-runtime.d.ts",
223
+ "default": "./lib/jsx/dom/jsx-runtime.js"
224
+ },
225
+ "./jsx/dom/jsx-dev-runtime": {
226
+ "types": "./lib/jsx/dom/jsx-dev-runtime.d.ts",
227
+ "default": "./lib/jsx/dom/jsx-dev-runtime.js"
228
+ },
229
+ "./jsx/dom/client": {
230
+ "types": "./lib/jsx/dom/client.d.ts",
231
+ "default": "./lib/jsx/dom/client.js"
232
+ },
233
+ "./jsx/dom/css": {
234
+ "types": "./lib/jsx/dom/css.d.ts",
235
+ "default": "./lib/jsx/dom/css.js"
236
+ },
237
+ "./jsx/dom/server": {
238
+ "types": "./lib/jsx/dom/server.d.ts",
239
+ "default": "./lib/jsx/dom/server.js"
240
+ },
189
241
  "./conninfo": {
190
242
  "types": "./lib/conninfo.d.ts",
191
243
  "default": "./lib/conninfo.js"
@@ -2,7 +2,7 @@
2
2
  "source": {
3
3
  "repo": "acryldev/acryl",
4
4
  "path": "plugins/acryl-inspect",
5
- "commit": "0174cb01625bfd32d0162ad56179c582f353321e"
5
+ "commit": "fd1f7dcaaff8b757c0562294002c0d32d6e0a893"
6
6
  },
7
7
  "vendored": [
8
8
  "src",
@@ -2,7 +2,7 @@
2
2
  "source": {
3
3
  "repo": "acryldev/acryl",
4
4
  "path": "plugins/acryl-node-server",
5
- "commit": "0174cb01625bfd32d0162ad56179c582f353321e"
5
+ "commit": "fd1f7dcaaff8b757c0562294002c0d32d6e0a893"
6
6
  },
7
7
  "vendored": [
8
8
  "src",