create-jen-app 1.2.1 → 1.2.3

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 (589) hide show
  1. package/README.md +3 -1
  2. package/dist/index.js +1 -6
  3. package/package.json +2 -2
  4. package/templates/static/.esbuild/jen.config.js +18 -0
  5. package/templates/static/README.md +63 -67
  6. package/templates/static/build.js +4 -6
  7. package/templates/static/jen.config.ts +3 -5
  8. package/templates/static/jenjs.d.ts +3 -3
  9. package/templates/static/lib/api/(hello).d.ts +5 -5
  10. package/templates/static/lib/api/(hello).js +7 -7
  11. package/templates/static/lib/auth/cookie-utils.d.ts +20 -11
  12. package/templates/static/lib/auth/cookie-utils.js +66 -69
  13. package/templates/static/lib/auth/jwt.d.ts +28 -0
  14. package/templates/static/lib/auth/jwt.js +50 -6
  15. package/templates/static/lib/auth/session.d.ts +34 -34
  16. package/templates/static/lib/auth/session.js +79 -81
  17. package/templates/static/lib/build/asset-hashing.js +4 -4
  18. package/templates/static/lib/build/asset-manifest.js +4 -4
  19. package/templates/static/lib/build/build.d.ts +20 -0
  20. package/templates/static/lib/build/build.js +43 -6
  21. package/templates/static/lib/build/island-hydration.js +2 -2
  22. package/templates/static/lib/build/minifier.js +12 -12
  23. package/templates/static/lib/build/page-renderer.d.ts +2 -2
  24. package/templates/static/lib/build/page-renderer.js +3 -3
  25. package/templates/static/lib/build/production-build.d.ts +1 -1
  26. package/templates/static/lib/build/production-build.js +4 -4
  27. package/templates/static/lib/build/ssg-pipeline.d.ts +1 -1
  28. package/templates/static/lib/build/ssg-pipeline.js +19 -19
  29. package/templates/static/lib/build-tools/build-site.d.ts +3 -3
  30. package/templates/static/lib/build-tools/build-site.js +27 -30
  31. package/templates/static/lib/cache/index.d.ts +8 -0
  32. package/templates/static/lib/cache/index.js +8 -0
  33. package/templates/static/lib/cache/memory.d.ts +31 -4
  34. package/templates/static/lib/cache/memory.js +38 -12
  35. package/templates/static/lib/cache/redis.d.ts +43 -4
  36. package/templates/static/lib/cache/redis.js +59 -14
  37. package/templates/static/lib/cli/banner.d.ts +5 -1
  38. package/templates/static/lib/cli/banner.js +18 -14
  39. package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -29
  40. package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
  41. package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -29
  42. package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
  43. package/templates/static/lib/compilers/esbuild-plugins.js +96 -98
  44. package/templates/static/lib/compilers/svelte.d.ts +10 -10
  45. package/templates/static/lib/compilers/svelte.js +31 -31
  46. package/templates/static/lib/compilers/vue.d.ts +8 -8
  47. package/templates/static/lib/compilers/vue.js +76 -68
  48. package/templates/static/lib/core/config.d.ts +217 -50
  49. package/templates/static/lib/core/http.d.ts +55 -2
  50. package/templates/static/lib/core/http.js +66 -20
  51. package/templates/static/lib/core/middleware-hooks.d.ts +204 -31
  52. package/templates/static/lib/core/middleware-hooks.js +86 -41
  53. package/templates/static/lib/core/paths.d.ts +42 -4
  54. package/templates/static/lib/core/paths.js +34 -2
  55. package/templates/static/lib/core/routes/match.d.ts +51 -3
  56. package/templates/static/lib/core/routes/match.js +44 -11
  57. package/templates/static/lib/core/routes/scan.d.ts +49 -5
  58. package/templates/static/lib/core/routes/scan.js +174 -115
  59. package/templates/static/lib/core/types.d.ts +148 -13
  60. package/templates/static/lib/css/compiler.d.ts +16 -13
  61. package/templates/static/lib/css/compiler.js +62 -58
  62. package/templates/static/lib/db/connector.d.ts +27 -1
  63. package/templates/static/lib/db/connector.js +37 -11
  64. package/templates/static/lib/db/drivers/jdb.d.ts +13 -9
  65. package/templates/static/lib/db/drivers/jdb.js +41 -39
  66. package/templates/static/lib/db/drivers/sql.d.ts +16 -12
  67. package/templates/static/lib/db/drivers/sql.js +152 -135
  68. package/templates/static/lib/db/index.d.ts +20 -12
  69. package/templates/static/lib/db/index.js +41 -41
  70. package/templates/static/lib/db/types.d.ts +22 -18
  71. package/templates/static/lib/graphql/index.d.ts +47 -0
  72. package/templates/static/lib/graphql/index.js +50 -3
  73. package/templates/static/lib/graphql/resolvers.d.ts +51 -11
  74. package/templates/static/lib/graphql/resolvers.js +22 -6
  75. package/templates/static/lib/graphql/schema.d.ts +34 -0
  76. package/templates/static/lib/graphql/schema.js +34 -2
  77. package/templates/static/lib/i18n/en.json +2 -2
  78. package/templates/static/lib/i18n/es.json +2 -2
  79. package/templates/static/lib/i18n/index.d.ts +4 -4
  80. package/templates/static/lib/i18n/index.js +10 -10
  81. package/templates/static/lib/import/jen-import.d.ts +39 -10
  82. package/templates/static/lib/import/jen-import.js +130 -80
  83. package/templates/static/lib/index.d.ts +42 -11
  84. package/templates/static/lib/index.js +21 -8
  85. package/templates/static/lib/jdb/engine.d.ts +35 -6
  86. package/templates/static/lib/jdb/engine.js +260 -144
  87. package/templates/static/lib/jdb/index.d.ts +32 -0
  88. package/templates/static/lib/jdb/index.js +32 -0
  89. package/templates/static/lib/jdb/types.d.ts +212 -30
  90. package/templates/static/lib/jdb/utils.d.ts +60 -0
  91. package/templates/static/lib/jdb/utils.js +159 -107
  92. package/templates/static/lib/middleware/builtins/body-parser.d.ts +15 -0
  93. package/templates/static/lib/middleware/builtins/body-parser.js +53 -35
  94. package/templates/static/lib/middleware/builtins/cors.d.ts +8 -6
  95. package/templates/static/lib/middleware/builtins/cors.js +52 -48
  96. package/templates/static/lib/middleware/builtins/logger.d.ts +18 -0
  97. package/templates/static/lib/middleware/builtins/logger.js +31 -13
  98. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +19 -2
  99. package/templates/static/lib/middleware/builtins/rate-limit.js +75 -55
  100. package/templates/static/lib/middleware/builtins/request-id.d.ts +18 -0
  101. package/templates/static/lib/middleware/builtins/request-id.js +26 -5
  102. package/templates/static/lib/middleware/builtins/security-headers.d.ts +18 -0
  103. package/templates/static/lib/middleware/builtins/security-headers.js +51 -20
  104. package/templates/static/lib/middleware/context.d.ts +102 -15
  105. package/templates/static/lib/middleware/context.js +121 -30
  106. package/templates/static/lib/middleware/decorators.d.ts +18 -1
  107. package/templates/static/lib/middleware/decorators.js +83 -34
  108. package/templates/static/lib/middleware/errors/handler.js +22 -24
  109. package/templates/static/lib/middleware/errors/http-error.d.ts +3 -3
  110. package/templates/static/lib/middleware/errors/http-error.js +8 -8
  111. package/templates/static/lib/middleware/kernel.d.ts +67 -4
  112. package/templates/static/lib/middleware/kernel.js +80 -17
  113. package/templates/static/lib/middleware/pipeline.d.ts +51 -2
  114. package/templates/static/lib/middleware/pipeline.js +143 -45
  115. package/templates/static/lib/middleware/registry.d.ts +67 -8
  116. package/templates/static/lib/middleware/registry.js +83 -22
  117. package/templates/static/lib/middleware/response.d.ts +73 -11
  118. package/templates/static/lib/middleware/response.js +104 -40
  119. package/templates/static/lib/middleware/utils/matcher.js +11 -12
  120. package/templates/static/lib/native/bundle.d.ts +13 -8
  121. package/templates/static/lib/native/bundle.js +14 -14
  122. package/templates/static/lib/native/dev-server.d.ts +11 -4
  123. package/templates/static/lib/native/dev-server.js +14 -12
  124. package/templates/static/lib/native/index.d.ts +20 -20
  125. package/templates/static/lib/native/index.js +23 -21
  126. package/templates/static/lib/native/optimizer.d.ts +14 -10
  127. package/templates/static/lib/native/optimizer.js +14 -14
  128. package/templates/static/lib/native/style-compiler.d.ts +17 -8
  129. package/templates/static/lib/native/style-compiler.js +9 -9
  130. package/templates/static/lib/plugin/loader.d.ts +8 -6
  131. package/templates/static/lib/plugin/loader.js +25 -31
  132. package/templates/static/lib/runtime/client-runtime.d.ts +15 -0
  133. package/templates/static/lib/runtime/client-runtime.js +23 -9
  134. package/templates/static/lib/runtime/hmr.d.ts +23 -1
  135. package/templates/static/lib/runtime/hmr.js +27 -5
  136. package/templates/static/lib/runtime/hydrate.d.ts +17 -0
  137. package/templates/static/lib/runtime/hydrate.js +48 -21
  138. package/templates/static/lib/runtime/island-hydration-client.d.ts +5 -2
  139. package/templates/static/lib/runtime/island-hydration-client.js +122 -91
  140. package/templates/static/lib/runtime/islands.d.ts +82 -27
  141. package/templates/static/lib/runtime/islands.js +92 -54
  142. package/templates/static/lib/runtime/render.d.ts +36 -9
  143. package/templates/static/lib/runtime/render.js +208 -130
  144. package/templates/static/lib/server/api-routes.d.ts +96 -28
  145. package/templates/static/lib/server/api-routes.js +214 -156
  146. package/templates/static/lib/server/api.d.ts +3 -3
  147. package/templates/static/lib/server/api.js +93 -92
  148. package/templates/static/lib/server/app.d.ts +37 -3
  149. package/templates/static/lib/server/app.js +328 -254
  150. package/templates/static/lib/server/runtimeServe.d.ts +56 -0
  151. package/templates/static/lib/server/runtimeServe.js +130 -69
  152. package/templates/static/lib/server/ssr.d.ts +161 -0
  153. package/templates/static/lib/server/ssr.js +219 -0
  154. package/templates/static/lib/shared/log.d.ts +47 -3
  155. package/templates/static/lib/shared/log.js +60 -10
  156. package/templates/static/package.json +5 -1
  157. package/templates/static/server.js +4 -6
  158. package/templates/static/site/(home).tsx +30 -12
  159. package/templates/static/site/styles/global.scss +89 -78
  160. package/templates/static/tsconfig.json +39 -39
  161. package/templates/static/node_modules/.bin/esbuild +0 -16
  162. package/templates/static/node_modules/.bin/esbuild.cmd +0 -17
  163. package/templates/static/node_modules/.bin/esbuild.ps1 +0 -28
  164. package/templates/static/node_modules/.bin/tsc +0 -16
  165. package/templates/static/node_modules/.bin/tsc.cmd +0 -17
  166. package/templates/static/node_modules/.bin/tsc.ps1 +0 -28
  167. package/templates/static/node_modules/.bin/tsserver +0 -16
  168. package/templates/static/node_modules/.bin/tsserver.cmd +0 -17
  169. package/templates/static/node_modules/.bin/tsserver.ps1 +0 -28
  170. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -14
  171. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +0 -11
  172. package/templates/static/node_modules/.package-lock.json +0 -585
  173. package/templates/static/node_modules/@esbuild/win32-x64/README.md +0 -3
  174. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  175. package/templates/static/node_modules/@esbuild/win32-x64/package.json +0 -20
  176. package/templates/static/node_modules/@jenjs/master/README.md +0 -24
  177. package/templates/static/node_modules/@jenjs/master/index.js +0 -3655
  178. package/templates/static/node_modules/@jenjs/master/package.json +0 -36
  179. package/templates/static/node_modules/@polka/url/build.js +0 -49
  180. package/templates/static/node_modules/@polka/url/build.mjs +0 -47
  181. package/templates/static/node_modules/@polka/url/index.d.ts +0 -11
  182. package/templates/static/node_modules/@polka/url/package.json +0 -30
  183. package/templates/static/node_modules/@polka/url/readme.md +0 -68
  184. package/templates/static/node_modules/@types/node/LICENSE +0 -21
  185. package/templates/static/node_modules/@types/node/README.md +0 -15
  186. package/templates/static/node_modules/@types/node/assert/strict.d.ts +0 -111
  187. package/templates/static/node_modules/@types/node/assert.d.ts +0 -1078
  188. package/templates/static/node_modules/@types/node/async_hooks.d.ts +0 -603
  189. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  190. package/templates/static/node_modules/@types/node/buffer.d.ts +0 -1934
  191. package/templates/static/node_modules/@types/node/child_process.d.ts +0 -1476
  192. package/templates/static/node_modules/@types/node/cluster.d.ts +0 -578
  193. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  194. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +0 -9
  195. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  196. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  197. package/templates/static/node_modules/@types/node/console.d.ts +0 -452
  198. package/templates/static/node_modules/@types/node/constants.d.ts +0 -21
  199. package/templates/static/node_modules/@types/node/crypto.d.ts +0 -4545
  200. package/templates/static/node_modules/@types/node/dgram.d.ts +0 -600
  201. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  202. package/templates/static/node_modules/@types/node/dns/promises.d.ts +0 -503
  203. package/templates/static/node_modules/@types/node/dns.d.ts +0 -923
  204. package/templates/static/node_modules/@types/node/domain.d.ts +0 -170
  205. package/templates/static/node_modules/@types/node/events.d.ts +0 -976
  206. package/templates/static/node_modules/@types/node/fs/promises.d.ts +0 -1295
  207. package/templates/static/node_modules/@types/node/fs.d.ts +0 -4461
  208. package/templates/static/node_modules/@types/node/globals.d.ts +0 -172
  209. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  210. package/templates/static/node_modules/@types/node/http.d.ts +0 -2089
  211. package/templates/static/node_modules/@types/node/http2.d.ts +0 -2644
  212. package/templates/static/node_modules/@types/node/https.d.ts +0 -579
  213. package/templates/static/node_modules/@types/node/index.d.ts +0 -97
  214. package/templates/static/node_modules/@types/node/inspector.d.ts +0 -253
  215. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  216. package/templates/static/node_modules/@types/node/module.d.ts +0 -891
  217. package/templates/static/node_modules/@types/node/net.d.ts +0 -1057
  218. package/templates/static/node_modules/@types/node/os.d.ts +0 -506
  219. package/templates/static/node_modules/@types/node/package.json +0 -145
  220. package/templates/static/node_modules/@types/node/path.d.ts +0 -200
  221. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +0 -968
  222. package/templates/static/node_modules/@types/node/process.d.ts +0 -2089
  223. package/templates/static/node_modules/@types/node/punycode.d.ts +0 -117
  224. package/templates/static/node_modules/@types/node/querystring.d.ts +0 -152
  225. package/templates/static/node_modules/@types/node/readline/promises.d.ts +0 -161
  226. package/templates/static/node_modules/@types/node/readline.d.ts +0 -594
  227. package/templates/static/node_modules/@types/node/repl.d.ts +0 -428
  228. package/templates/static/node_modules/@types/node/sea.d.ts +0 -153
  229. package/templates/static/node_modules/@types/node/sqlite.d.ts +0 -721
  230. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +0 -38
  231. package/templates/static/node_modules/@types/node/stream/promises.d.ts +0 -90
  232. package/templates/static/node_modules/@types/node/stream/web.d.ts +0 -622
  233. package/templates/static/node_modules/@types/node/stream.d.ts +0 -1664
  234. package/templates/static/node_modules/@types/node/string_decoder.d.ts +0 -67
  235. package/templates/static/node_modules/@types/node/test.d.ts +0 -2163
  236. package/templates/static/node_modules/@types/node/timers/promises.d.ts +0 -108
  237. package/templates/static/node_modules/@types/node/timers.d.ts +0 -287
  238. package/templates/static/node_modules/@types/node/tls.d.ts +0 -1319
  239. package/templates/static/node_modules/@types/node/trace_events.d.ts +0 -197
  240. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  241. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  242. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  243. package/templates/static/node_modules/@types/node/tty.d.ts +0 -208
  244. package/templates/static/node_modules/@types/node/url.d.ts +0 -984
  245. package/templates/static/node_modules/@types/node/util.d.ts +0 -2606
  246. package/templates/static/node_modules/@types/node/v8.d.ts +0 -920
  247. package/templates/static/node_modules/@types/node/vm.d.ts +0 -1000
  248. package/templates/static/node_modules/@types/node/wasi.d.ts +0 -181
  249. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  250. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  251. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +0 -97
  252. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  253. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  254. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  255. package/templates/static/node_modules/@types/node/worker_threads.d.ts +0 -784
  256. package/templates/static/node_modules/@types/node/zlib.d.ts +0 -683
  257. package/templates/static/node_modules/esbuild/LICENSE.md +0 -21
  258. package/templates/static/node_modules/esbuild/README.md +0 -3
  259. package/templates/static/node_modules/esbuild/bin/esbuild +0 -223
  260. package/templates/static/node_modules/esbuild/install.js +0 -289
  261. package/templates/static/node_modules/esbuild/lib/main.d.ts +0 -716
  262. package/templates/static/node_modules/esbuild/lib/main.js +0 -2242
  263. package/templates/static/node_modules/esbuild/package.json +0 -49
  264. package/templates/static/node_modules/mrmime/index.d.ts +0 -2
  265. package/templates/static/node_modules/mrmime/index.js +0 -449
  266. package/templates/static/node_modules/mrmime/index.mjs +0 -448
  267. package/templates/static/node_modules/mrmime/license +0 -21
  268. package/templates/static/node_modules/mrmime/package.json +0 -44
  269. package/templates/static/node_modules/mrmime/readme.md +0 -130
  270. package/templates/static/node_modules/preact/LICENSE +0 -21
  271. package/templates/static/node_modules/preact/README.md +0 -185
  272. package/templates/static/node_modules/preact/compat/client.d.ts +0 -13
  273. package/templates/static/node_modules/preact/compat/client.js +0 -21
  274. package/templates/static/node_modules/preact/compat/client.mjs +0 -24
  275. package/templates/static/node_modules/preact/compat/dist/compat.js +0 -2
  276. package/templates/static/node_modules/preact/compat/dist/compat.js.map +0 -1
  277. package/templates/static/node_modules/preact/compat/dist/compat.mjs +0 -2
  278. package/templates/static/node_modules/preact/compat/dist/compat.module.js +0 -2
  279. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +0 -1
  280. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +0 -2
  281. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
  282. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
  283. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
  284. package/templates/static/node_modules/preact/compat/jsx-runtime.js +0 -3
  285. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +0 -3
  286. package/templates/static/node_modules/preact/compat/package.json +0 -55
  287. package/templates/static/node_modules/preact/compat/scheduler.js +0 -15
  288. package/templates/static/node_modules/preact/compat/scheduler.mjs +0 -23
  289. package/templates/static/node_modules/preact/compat/server.browser.js +0 -11
  290. package/templates/static/node_modules/preact/compat/server.js +0 -36
  291. package/templates/static/node_modules/preact/compat/server.mjs +0 -17
  292. package/templates/static/node_modules/preact/compat/src/Children.js +0 -21
  293. package/templates/static/node_modules/preact/compat/src/PureComponent.js +0 -16
  294. package/templates/static/node_modules/preact/compat/src/forwardRef.js +0 -44
  295. package/templates/static/node_modules/preact/compat/src/hooks.js +0 -70
  296. package/templates/static/node_modules/preact/compat/src/index.d.ts +0 -351
  297. package/templates/static/node_modules/preact/compat/src/index.js +0 -238
  298. package/templates/static/node_modules/preact/compat/src/internal.d.ts +0 -48
  299. package/templates/static/node_modules/preact/compat/src/memo.js +0 -35
  300. package/templates/static/node_modules/preact/compat/src/portals.js +0 -78
  301. package/templates/static/node_modules/preact/compat/src/render.js +0 -313
  302. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +0 -16
  303. package/templates/static/node_modules/preact/compat/src/suspense-list.js +0 -127
  304. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +0 -19
  305. package/templates/static/node_modules/preact/compat/src/suspense.js +0 -291
  306. package/templates/static/node_modules/preact/compat/src/util.js +0 -33
  307. package/templates/static/node_modules/preact/compat/test-utils.js +0 -1
  308. package/templates/static/node_modules/preact/compat/test-utils.mjs +0 -1
  309. package/templates/static/node_modules/preact/debug/dist/debug.js +0 -2
  310. package/templates/static/node_modules/preact/debug/dist/debug.js.map +0 -1
  311. package/templates/static/node_modules/preact/debug/dist/debug.mjs +0 -2
  312. package/templates/static/node_modules/preact/debug/dist/debug.module.js +0 -2
  313. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +0 -1
  314. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +0 -2
  315. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
  316. package/templates/static/node_modules/preact/debug/package.json +0 -27
  317. package/templates/static/node_modules/preact/debug/src/check-props.js +0 -54
  318. package/templates/static/node_modules/preact/debug/src/component-stack.js +0 -146
  319. package/templates/static/node_modules/preact/debug/src/constants.js +0 -3
  320. package/templates/static/node_modules/preact/debug/src/debug.js +0 -593
  321. package/templates/static/node_modules/preact/debug/src/index.d.ts +0 -23
  322. package/templates/static/node_modules/preact/debug/src/index.js +0 -12
  323. package/templates/static/node_modules/preact/debug/src/internal.d.ts +0 -82
  324. package/templates/static/node_modules/preact/debug/src/util.js +0 -15
  325. package/templates/static/node_modules/preact/devtools/dist/devtools.js +0 -2
  326. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +0 -1
  327. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +0 -2
  328. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  329. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
  330. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
  331. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
  332. package/templates/static/node_modules/preact/devtools/package.json +0 -25
  333. package/templates/static/node_modules/preact/devtools/src/devtools.js +0 -21
  334. package/templates/static/node_modules/preact/devtools/src/index.d.ts +0 -8
  335. package/templates/static/node_modules/preact/devtools/src/index.js +0 -15
  336. package/templates/static/node_modules/preact/dist/preact.js +0 -2
  337. package/templates/static/node_modules/preact/dist/preact.js.map +0 -1
  338. package/templates/static/node_modules/preact/dist/preact.min.js +0 -2
  339. package/templates/static/node_modules/preact/dist/preact.min.js.map +0 -1
  340. package/templates/static/node_modules/preact/dist/preact.min.module.js +0 -2
  341. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +0 -1
  342. package/templates/static/node_modules/preact/dist/preact.min.umd.js +0 -2
  343. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +0 -1
  344. package/templates/static/node_modules/preact/dist/preact.mjs +0 -2
  345. package/templates/static/node_modules/preact/dist/preact.module.js +0 -2
  346. package/templates/static/node_modules/preact/dist/preact.module.js.map +0 -1
  347. package/templates/static/node_modules/preact/dist/preact.umd.js +0 -2
  348. package/templates/static/node_modules/preact/dist/preact.umd.js.map +0 -1
  349. package/templates/static/node_modules/preact/hooks/dist/hooks.js +0 -2
  350. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +0 -1
  351. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +0 -2
  352. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +0 -2
  353. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
  354. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
  355. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
  356. package/templates/static/node_modules/preact/hooks/package.json +0 -35
  357. package/templates/static/node_modules/preact/hooks/src/index.d.ts +0 -145
  358. package/templates/static/node_modules/preact/hooks/src/index.js +0 -555
  359. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +0 -103
  360. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
  361. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
  362. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
  363. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  364. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
  365. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
  366. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
  367. package/templates/static/node_modules/preact/jsx-runtime/package.json +0 -28
  368. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +0 -62
  369. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +0 -206
  370. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +0 -36
  371. package/templates/static/node_modules/preact/package.json +0 -258
  372. package/templates/static/node_modules/preact/src/cjs.js +0 -3
  373. package/templates/static/node_modules/preact/src/clone-element.js +0 -48
  374. package/templates/static/node_modules/preact/src/component.js +0 -249
  375. package/templates/static/node_modules/preact/src/constants.js +0 -22
  376. package/templates/static/node_modules/preact/src/create-context.js +0 -60
  377. package/templates/static/node_modules/preact/src/create-element.js +0 -97
  378. package/templates/static/node_modules/preact/src/diff/catch-error.js +0 -46
  379. package/templates/static/node_modules/preact/src/diff/children.js +0 -451
  380. package/templates/static/node_modules/preact/src/diff/index.js +0 -684
  381. package/templates/static/node_modules/preact/src/diff/props.js +0 -173
  382. package/templates/static/node_modules/preact/src/dom.d.ts +0 -2476
  383. package/templates/static/node_modules/preact/src/index-5.d.ts +0 -399
  384. package/templates/static/node_modules/preact/src/index.d.ts +0 -402
  385. package/templates/static/node_modules/preact/src/index.js +0 -13
  386. package/templates/static/node_modules/preact/src/internal.d.ts +0 -190
  387. package/templates/static/node_modules/preact/src/jsx.d.ts +0 -2878
  388. package/templates/static/node_modules/preact/src/options.js +0 -16
  389. package/templates/static/node_modules/preact/src/render.js +0 -78
  390. package/templates/static/node_modules/preact/src/util.js +0 -28
  391. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +0 -2
  392. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
  393. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
  394. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
  395. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
  396. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
  397. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
  398. package/templates/static/node_modules/preact/test-utils/package.json +0 -28
  399. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +0 -3
  400. package/templates/static/node_modules/preact/test-utils/src/index.js +0 -129
  401. package/templates/static/node_modules/preact-render-to-string/LICENSE +0 -21
  402. package/templates/static/node_modules/preact-render-to-string/README.md +0 -149
  403. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
  404. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +0 -17
  405. package/templates/static/node_modules/preact-render-to-string/dist/index.js +0 -6
  406. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +0 -1
  407. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +0 -2
  408. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +0 -2
  409. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
  410. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +0 -2
  411. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +0 -1
  412. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +0 -35
  413. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +0 -2
  414. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +0 -4
  415. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +0 -1
  416. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +0 -2
  417. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +0 -2
  418. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +0 -1
  419. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +0 -2
  420. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +0 -1
  421. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -24
  422. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +0 -2
  423. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +0 -1
  424. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +0 -2
  425. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +0 -2
  426. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +0 -1
  427. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +0 -2
  428. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +0 -1
  429. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +0 -884
  430. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +0 -1
  431. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +0 -884
  432. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +0 -884
  433. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +0 -1
  434. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +0 -888
  435. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +0 -1
  436. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +0 -19
  437. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +0 -10
  438. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +0 -24
  439. package/templates/static/node_modules/preact-render-to-string/jsx.js +0 -1
  440. package/templates/static/node_modules/preact-render-to-string/package.json +0 -152
  441. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +0 -17
  442. package/templates/static/node_modules/preact-render-to-string/src/index.js +0 -764
  443. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +0 -35
  444. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +0 -24
  445. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +0 -102
  446. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +0 -97
  447. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +0 -62
  448. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +0 -20
  449. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +0 -8
  450. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +0 -208
  451. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +0 -491
  452. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +0 -19
  453. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +0 -84
  454. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +0 -10
  455. package/templates/static/node_modules/preact-render-to-string/src/stream.js +0 -43
  456. package/templates/static/node_modules/preact-render-to-string/typings.json +0 -5
  457. package/templates/static/node_modules/sirv/build.js +0 -197
  458. package/templates/static/node_modules/sirv/build.mjs +0 -197
  459. package/templates/static/node_modules/sirv/index.d.mts +0 -29
  460. package/templates/static/node_modules/sirv/index.d.ts +0 -33
  461. package/templates/static/node_modules/sirv/package.json +0 -40
  462. package/templates/static/node_modules/sirv/readme.md +0 -238
  463. package/templates/static/node_modules/totalist/dist/index.js +0 -24
  464. package/templates/static/node_modules/totalist/dist/index.mjs +0 -22
  465. package/templates/static/node_modules/totalist/index.d.ts +0 -3
  466. package/templates/static/node_modules/totalist/license +0 -21
  467. package/templates/static/node_modules/totalist/package.json +0 -55
  468. package/templates/static/node_modules/totalist/readme.md +0 -109
  469. package/templates/static/node_modules/totalist/sync/index.d.ts +0 -3
  470. package/templates/static/node_modules/totalist/sync/index.js +0 -17
  471. package/templates/static/node_modules/totalist/sync/index.mjs +0 -15
  472. package/templates/static/node_modules/typescript/bin/tsc +0 -2
  473. package/templates/static/node_modules/typescript/bin/tsserver +0 -2
  474. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  475. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  476. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  477. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  478. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  479. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  480. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  481. package/templates/static/node_modules/typescript/lib/lib.d.ts +0 -22
  482. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  483. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  484. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  485. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  486. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  487. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  488. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  489. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  490. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  491. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  492. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  493. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  494. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  495. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  496. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  497. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  498. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  499. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  500. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  501. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  502. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  503. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  504. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  505. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  506. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  507. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  508. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  509. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  510. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  511. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  512. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  513. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  514. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  515. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  516. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  517. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  518. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  519. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  520. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  521. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  522. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  523. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  524. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  525. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  526. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  527. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  528. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  529. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  530. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  531. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  532. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  533. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  534. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  535. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  536. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  537. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  538. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  539. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  540. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  541. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  542. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  543. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  544. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  545. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  546. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  547. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  548. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  549. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  550. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  551. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  552. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  553. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  554. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  555. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  556. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  557. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  558. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  559. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  560. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  561. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  562. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  563. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  564. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  565. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  566. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  567. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  568. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  569. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  570. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  571. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  572. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  573. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  574. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  575. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  576. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  577. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  578. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  579. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  580. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  581. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  582. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  583. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  584. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  585. package/templates/static/node_modules/typescript/lib/tsc.js +0 -8
  586. package/templates/static/node_modules/typescript/lib/tsserver.js +0 -8
  587. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  588. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  589. package/templates/static/node_modules/typescript/lib/typescript.d.ts +0 -11437
@@ -1,4 +1,60 @@
1
+ /**
2
+ * Generate the browser-safe hydration runtime code.
3
+ * Uses CDN-hosted Preact (esm.sh) for minimal payload and no bundler overhead.
4
+ * This runtime is injected into the page and provides hydration primitives.
5
+ *
6
+ * Note: In production, consider self-hosting the Preact bundle for better performance
7
+ * and reliability (no external CDN dependency).
8
+ *
9
+ * @returns ES module code string for browser hydration runtime
10
+ */
1
11
  export declare function runtimeHydrateModule(): string;
12
+ /**
13
+ * Clear cached compiled module for a file path.
14
+ * Called when a source file changes during development to ensure fresh compilation
15
+ * on next request.
16
+ *
17
+ * @param filePath - Absolute file path to invalidate
18
+ */
2
19
  export declare function invalidateCache(filePath: string): void;
20
+ /**
21
+ * Build a client-side hydration module for a route.
22
+ * Takes a route file path, extracts the default component export,
23
+ * transpiles to browser-executable JavaScript with Preact imports resolved.
24
+ *
25
+ * How it works:
26
+ * 1. Create a proxy file that re-exports only the default component
27
+ * This allows tree-shaking to remove server-only exports (loader, middleware, etc.)
28
+ * 2. Use esbuild buildSync to transpile and bundle with Preact
29
+ * 3. Cache the result with ETag for HTTP conditional requests
30
+ * 4. Return JS code or fallback to empty component on error
31
+ *
32
+ * Transpilation:
33
+ * - Format: ESM (for client-side import)
34
+ * - Platform: browser (not Node.js)
35
+ * - JSX: Automatic via Preact JSX runtime
36
+ * - Sourcemap: Inline for debugging in browser DevTools
37
+ * - External: Preact and runtime libs (assumed available in browser)
38
+ *
39
+ * Caching:
40
+ * - Cache is per-file-path; invalidated via invalidateCache() when file changes
41
+ * - ETag allows HTTP 304 Not Modified responses
42
+ * - Development mode trusts explicit invalidation (file watcher triggers it)
43
+ *
44
+ * Error handling:
45
+ * - Failed builds return empty Page component (graceful degradation)
46
+ * - Errors are logged but don't stop request
47
+ *
48
+ * @param routeIdOrPath - File path to route component (e.g., "./routes/index.tsx")
49
+ * Note: routeId support for future config-based resolution
50
+ * @returns ES module JavaScript code (browser-executable)
51
+ */
3
52
  export declare function buildHydrationModule(routeIdOrPath: string): string;
53
+ /**
54
+ * Retrieve the ETag (cache hash) for a compiled hydration module.
55
+ * Used for HTTP conditional requests (If-None-Match, 304 Not Modified).
56
+ *
57
+ * @param filePath - Route file path
58
+ * @returns ETag hash string or null if not cached
59
+ */
4
60
  export declare function getHydrationEtag(filePath: string): string | null;
@@ -19,13 +19,35 @@ import { buildSync } from "esbuild";
19
19
  import { createHash } from "node:crypto";
20
20
  import { existsSync } from "node:fs";
21
21
  import { basename, dirname } from "node:path";
22
+ /**
23
+ * Cache for compiled hydration modules.
24
+ * Stores transpiled JS code and computed ETag hash per source file path.
25
+ * Cache is invalidated when files change (via invalidateCache).
26
+ */
22
27
  const cache = new Map();
28
+ /**
29
+ * Compute SHA-1 hash (ETag) for a string.
30
+ * Used for HTTP cache validation and deduplicating compiled output.
31
+ *
32
+ * @param s - String to hash
33
+ * @returns Hex-encoded SHA-1 hash
34
+ */
23
35
  function etagOf(s) {
24
- return createHash("sha1").update(s).digest("hex");
36
+ return createHash("sha1").update(s).digest("hex");
25
37
  }
38
+ /**
39
+ * Generate the browser-safe hydration runtime code.
40
+ * Uses CDN-hosted Preact (esm.sh) for minimal payload and no bundler overhead.
41
+ * This runtime is injected into the page and provides hydration primitives.
42
+ *
43
+ * Note: In production, consider self-hosting the Preact bundle for better performance
44
+ * and reliability (no external CDN dependency).
45
+ *
46
+ * @returns ES module code string for browser hydration runtime
47
+ */
26
48
  export function runtimeHydrateModule() {
27
- // Browser-safe runtime (ESM) using CDN preact (fast + zero bundler)
28
- return `
49
+ // Browser-safe runtime (ESM) using CDN preact (fast + zero bundler)
50
+ return `
29
51
  import { hydrate } from "https://esm.sh/preact@10.25.4";
30
52
  import { h } from "https://esm.sh/preact@10.25.4";
31
53
 
@@ -50,76 +72,115 @@ export async function hydrateClient(entryPath) {
50
72
  }
51
73
  `;
52
74
  }
75
+ /**
76
+ * Clear cached compiled module for a file path.
77
+ * Called when a source file changes during development to ensure fresh compilation
78
+ * on next request.
79
+ *
80
+ * @param filePath - Absolute file path to invalidate
81
+ */
53
82
  export function invalidateCache(filePath) {
54
- cache.delete(filePath);
83
+ cache.delete(filePath);
55
84
  }
85
+ /**
86
+ * Build a client-side hydration module for a route.
87
+ * Takes a route file path, extracts the default component export,
88
+ * transpiles to browser-executable JavaScript with Preact imports resolved.
89
+ *
90
+ * How it works:
91
+ * 1. Create a proxy file that re-exports only the default component
92
+ * This allows tree-shaking to remove server-only exports (loader, middleware, etc.)
93
+ * 2. Use esbuild buildSync to transpile and bundle with Preact
94
+ * 3. Cache the result with ETag for HTTP conditional requests
95
+ * 4. Return JS code or fallback to empty component on error
96
+ *
97
+ * Transpilation:
98
+ * - Format: ESM (for client-side import)
99
+ * - Platform: browser (not Node.js)
100
+ * - JSX: Automatic via Preact JSX runtime
101
+ * - Sourcemap: Inline for debugging in browser DevTools
102
+ * - External: Preact and runtime libs (assumed available in browser)
103
+ *
104
+ * Caching:
105
+ * - Cache is per-file-path; invalidated via invalidateCache() when file changes
106
+ * - ETag allows HTTP 304 Not Modified responses
107
+ * - Development mode trusts explicit invalidation (file watcher triggers it)
108
+ *
109
+ * Error handling:
110
+ * - Failed builds return empty Page component (graceful degradation)
111
+ * - Errors are logged but don't stop request
112
+ *
113
+ * @param routeIdOrPath - File path to route component (e.g., "./routes/index.tsx")
114
+ * Note: routeId support for future config-based resolution
115
+ * @returns ES module JavaScript code (browser-executable)
116
+ */
56
117
  export function buildHydrationModule(routeIdOrPath) {
57
- // routeIdOrPath is now a route ID like "route_index" or "route_blog_slug"
58
- // or a fallback filePath for backwards compatibility
59
- let filePath = routeIdOrPath;
60
- // For now, keep simple direct file path support
61
- // In production, we'd resolve routeId -> filePath via config
62
- if (!existsSync(filePath)) {
63
- return `export default function Page(){ return null }`;
64
- }
65
- const key = filePath;
66
- // Simple dev cache: check if file content changed?
67
- // Actually, for dev speed, we trust explicit invalidation or just rebuild on request.
68
- // Since buildSync is fast for single files, let's just rebuild if not in cache.
69
- // The cache is populated. If invalidation happens, it's removed.
70
- if (cache.has(key)) {
71
- return cache.get(key).js;
72
- }
73
- // Use a proxy entry to allow tree-shaking of server-only exports (like loader)
74
- const fileName = basename(filePath);
75
- const dir = dirname(filePath);
76
- const proxyContent = `export { default } from "./${fileName}";`;
77
- try {
78
- const jsOutput = buildSync({
79
- stdin: {
80
- contents: proxyContent,
81
- resolveDir: dir,
82
- sourcefile: "hydration-proxy.tsx",
83
- loader: "tsx",
84
- },
85
- format: "esm",
86
- platform: "browser",
87
- bundle: true,
88
- write: false,
89
- sourcemap: "inline",
90
- jsx: "automatic",
91
- jsxImportSource: "preact",
92
- define: {
93
- "process.env.NODE_ENV": JSON.stringify("development"),
94
- },
95
- external: [
96
- "preact",
97
- "preact/hooks",
98
- "preact/jsx-runtime",
99
- "preact-render-to-string",
100
- ],
101
- // Plugins not supported in buildSync, only in build()
102
- // plugins: [vueEsbuildPlugin(), svelteEsbuildPlugin()],
103
- }).outputFiles?.[0]?.text;
104
- if (!jsOutput) {
105
- console.error("[HYDRATION] Failed to build module for:", filePath);
106
- return `export default function Page(){ return null }`;
107
- }
108
- const out = `
109
- import { h } from "https://esm.sh/preact@10.25.4";
110
- import { Fragment } from "https://esm.sh/preact@10.25.4";
111
- import { jsx, jsxs } from "https://esm.sh/preact@10.25.4/jsx-runtime";
112
- ` + jsOutput;
113
- const etag = etagOf(out);
114
- cache.set(key, { js: out, etag });
115
- return out;
116
- }
117
- catch (err) {
118
- console.error("[HYDRATION] Build error for", filePath, ":", err);
119
- return `export default function Page(){ return null }`;
118
+ // routeIdOrPath is a file path; future versions may support route IDs via config
119
+ let filePath = routeIdOrPath;
120
+ // Return fallback if file doesn't exist
121
+ if (!existsSync(filePath)) {
122
+ return `export default function Page(){ return null }`;
123
+ }
124
+ const key = filePath;
125
+ // Return cached result if available (invalidated by invalidateCache)
126
+ if (cache.has(key)) {
127
+ return cache.get(key).js;
128
+ }
129
+ // Create proxy file to enable tree-shaking of server-only exports (loader, middleware, etc.)
130
+ // The proxy re-exports only the default component, letting esbuild eliminate other exports
131
+ const fileName = basename(filePath);
132
+ const dir = dirname(filePath);
133
+ const proxyContent = `export { default } from "./${fileName}";`;
134
+ try {
135
+ // Transpile proxy with esbuild for browser-safe JavaScript
136
+ const jsOutput = buildSync({
137
+ stdin: {
138
+ contents: proxyContent,
139
+ resolveDir: dir, // Resolve imports relative to route directory
140
+ sourcefile: "hydration-proxy.tsx",
141
+ loader: "tsx", // Support TypeScript and JSX
142
+ },
143
+ format: "esm",
144
+ platform: "browser", // Browser-specific optimizations
145
+ bundle: true, // Inline dependencies (except external)
146
+ write: false, // Return code instead of writing file
147
+ sourcemap: "inline", // Include source map for debugging
148
+ jsx: "automatic", // Automatic JSX transform (Preact)
149
+ jsxImportSource: "preact",
150
+ define: {
151
+ "process.env.NODE_ENV": JSON.stringify("development"),
152
+ },
153
+ // Preact and runtime must be available in browser (loaded separately)
154
+ external: [
155
+ "preact",
156
+ "preact/hooks",
157
+ "preact/jsx-runtime",
158
+ "preact-render-to-string",
159
+ ],
160
+ // TODO: Add plugin support for Vue/Svelte components
161
+ // plugins: [vueEsbuildPlugin(), svelteEsbuildPlugin()],
162
+ }).outputFiles?.[0]?.text;
163
+ if (!jsOutput) {
164
+ console.error("[HYDRATION] Failed to build module for:", filePath);
165
+ return `export default function Page(){ return null }`;
120
166
  }
167
+ // Cache result with ETag
168
+ const etag = etagOf(jsOutput);
169
+ cache.set(key, { js: jsOutput, etag });
170
+ return jsOutput;
171
+ } catch (err) {
172
+ console.error("[HYDRATION] Build error for", filePath, ":", err);
173
+ return `export default function Page(){ return null }`;
174
+ }
121
175
  }
176
+ /**
177
+ * Retrieve the ETag (cache hash) for a compiled hydration module.
178
+ * Used for HTTP conditional requests (If-None-Match, 304 Not Modified).
179
+ *
180
+ * @param filePath - Route file path
181
+ * @returns ETag hash string or null if not cached
182
+ */
122
183
  export function getHydrationEtag(filePath) {
123
- const v = cache.get(filePath);
124
- return v?.etag ?? null;
184
+ const v = cache.get(filePath);
185
+ return v?.etag ?? null;
125
186
  }
@@ -0,0 +1,161 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { FrameworkConfig } from "../core/config.js";
3
+ import type { RouteEntry } from "../core/routes/scan.js";
4
+ /**
5
+ * Server-side rendering context passed to render() function.
6
+ * Contains all necessary information to render a page on the server.
7
+ */
8
+ export interface SSRContext {
9
+ req: IncomingMessage;
10
+ res: ServerResponse;
11
+ url: URL;
12
+ params: Record<string, string>;
13
+ query: Record<string, string>;
14
+ headers: Record<string, string>;
15
+ cookies: Record<string, string>;
16
+ }
17
+ /**
18
+ * Server-side props context passed to getServerSideProps().
19
+ * Provides access to request, params, and query string.
20
+ */
21
+ export interface GetServerSidePropsContext {
22
+ req: IncomingMessage;
23
+ res: ServerResponse;
24
+ params: Record<string, string>;
25
+ query: Record<string, string>;
26
+ headers: Record<string, string>;
27
+ cookies: Record<string, string>;
28
+ url: URL;
29
+ }
30
+ /**
31
+ * Return type from getServerSideProps().
32
+ * Can return notFound for 404, redirect for redirects, or props for rendering.
33
+ */
34
+ export type GetServerSidePropsResult<T = any> =
35
+ | {
36
+ props: T;
37
+ }
38
+ | {
39
+ notFound: true;
40
+ }
41
+ | {
42
+ redirect: {
43
+ destination: string;
44
+ permanent?: boolean;
45
+ };
46
+ };
47
+ /**
48
+ * Cache configuration and TTL management.
49
+ */
50
+ export interface CacheConfig {
51
+ enabled: boolean;
52
+ ttlSeconds: number;
53
+ }
54
+ /**
55
+ * Configure the SSR HTML cache behavior.
56
+ *
57
+ * @param config Cache configuration options
58
+ */
59
+ export declare function configureSsrCache(config: Partial<CacheConfig>): void;
60
+ /**
61
+ * Clear the entire SSR render cache.
62
+ * Useful in development or when data has changed.
63
+ */
64
+ export declare function clearSsrCache(): void;
65
+ /**
66
+ * Clear a specific cached page by URL pathname.
67
+ *
68
+ * @param pathname URL pathname to invalidate
69
+ */
70
+ export declare function invalidateSsrCache(pathname: string): void;
71
+ /**
72
+ * Core SSR render function: converts a component/template to HTML string.
73
+ * This is the main entry point for server-side rendering in Jen.js.
74
+ *
75
+ * Handles:
76
+ * 1. Cache lookup for performance
77
+ * 2. Module compilation (TS/JSX/Vue/Svelte → JS)
78
+ * 3. Route middleware execution
79
+ * 4. Loader function invocation (getServerSideProps pattern)
80
+ * 5. Component rendering to HTML string
81
+ * 6. Head management and hydration script injection
82
+ * 7. HTML caching for subsequent requests
83
+ *
84
+ * @param config Framework configuration
85
+ * @param route Route entry being rendered
86
+ * @param ctx Complete SSR context with request/response and metadata
87
+ * @returns Complete HTML document as a string
88
+ * @throws Error if rendering fails
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * const html = await render(config, route, {
93
+ * req, res, url, params, query, headers, cookies
94
+ * });
95
+ * res.setHeader("content-type", "text/html; charset=utf-8");
96
+ * res.end(html);
97
+ * ```
98
+ */
99
+ export declare function render(
100
+ config: FrameworkConfig,
101
+ route: RouteEntry,
102
+ ctx: SSRContext,
103
+ ): Promise<string>;
104
+ /**
105
+ * Advanced SSR render with optional caching control.
106
+ * Allows per-request cache bypass for revalidation.
107
+ *
108
+ * @param config Framework configuration
109
+ * @param route Route entry being rendered
110
+ * @param ctx Complete SSR context
111
+ * @param options Render options
112
+ * @param options.cache Whether to use/update cache (default: true)
113
+ * @returns Complete HTML document
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const html = await renderWithOptions(config, route, ctx, {
118
+ * cache: false // Bypass cache for this request
119
+ * });
120
+ * ```
121
+ */
122
+ export declare function renderWithOptions(
123
+ config: FrameworkConfig,
124
+ route: RouteEntry,
125
+ ctx: SSRContext,
126
+ options?: {
127
+ cache?: boolean;
128
+ },
129
+ ): Promise<string>;
130
+ /**
131
+ * Manual HTML rendering of a component to string (no full document).
132
+ * Useful when you need just the component HTML without head/body wrapper.
133
+ *
134
+ * This is a low-level API primarily for internal use.
135
+ * For typical routing, use render() instead.
136
+ *
137
+ * @param config Framework configuration
138
+ * @param route Route to render
139
+ * @param ctx SSR context
140
+ * @returns Just the component body HTML (no <!doctype>, no <head>, no hydration)
141
+ */
142
+ export declare function renderComponentToString(
143
+ config: FrameworkConfig,
144
+ route: RouteEntry,
145
+ ctx: SSRContext,
146
+ ): Promise<string>;
147
+ /**
148
+ * Get cache statistics for monitoring and debugging.
149
+ *
150
+ * @returns Cache statistics
151
+ */
152
+ export declare function getSsrCacheStats(): {
153
+ size: number;
154
+ enabled: boolean;
155
+ ttlSeconds: number;
156
+ entries: {
157
+ pathname: string;
158
+ age: number;
159
+ size: number;
160
+ }[];
161
+ };
@@ -0,0 +1,219 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { renderRouteToHtml } from "../runtime/render.js";
19
+ /**
20
+ * HTML rendering cache for performance optimization.
21
+ * Cache key is URL pathname. Useful for frequently accessed pages.
22
+ * In production, consider using Redis or external cache for distributed rendering.
23
+ */
24
+ const renderCache = new Map();
25
+ let cacheConfig = {
26
+ enabled: true,
27
+ ttlSeconds: 3600, // Default: 1 hour
28
+ };
29
+ /**
30
+ * Configure the SSR HTML cache behavior.
31
+ *
32
+ * @param config Cache configuration options
33
+ */
34
+ export function configureSsrCache(config) {
35
+ cacheConfig = { ...cacheConfig, ...config };
36
+ }
37
+ /**
38
+ * Clear the entire SSR render cache.
39
+ * Useful in development or when data has changed.
40
+ */
41
+ export function clearSsrCache() {
42
+ renderCache.clear();
43
+ }
44
+ /**
45
+ * Clear a specific cached page by URL pathname.
46
+ *
47
+ * @param pathname URL pathname to invalidate
48
+ */
49
+ export function invalidateSsrCache(pathname) {
50
+ renderCache.delete(pathname);
51
+ }
52
+ /**
53
+ * Get cached HTML for a page if it exists and hasn't expired.
54
+ *
55
+ * @param pathname URL pathname
56
+ * @returns Cached HTML string, or null if not cached/expired
57
+ */
58
+ function getCachedHtml(pathname) {
59
+ if (!cacheConfig.enabled) return null;
60
+ const cached = renderCache.get(pathname);
61
+ if (!cached) return null;
62
+ const age = (Date.now() - cached.timestamp) / 1000;
63
+ if (age > cacheConfig.ttlSeconds) {
64
+ renderCache.delete(pathname);
65
+ return null;
66
+ }
67
+ return cached.html;
68
+ }
69
+ /**
70
+ * Cache rendered HTML for a page.
71
+ *
72
+ * @param pathname URL pathname
73
+ * @param html Complete HTML string to cache
74
+ */
75
+ function cacheHtml(pathname, html) {
76
+ if (!cacheConfig.enabled) return;
77
+ renderCache.set(pathname, { html, timestamp: Date.now() });
78
+ }
79
+ /**
80
+ * Core SSR render function: converts a component/template to HTML string.
81
+ * This is the main entry point for server-side rendering in Jen.js.
82
+ *
83
+ * Handles:
84
+ * 1. Cache lookup for performance
85
+ * 2. Module compilation (TS/JSX/Vue/Svelte → JS)
86
+ * 3. Route middleware execution
87
+ * 4. Loader function invocation (getServerSideProps pattern)
88
+ * 5. Component rendering to HTML string
89
+ * 6. Head management and hydration script injection
90
+ * 7. HTML caching for subsequent requests
91
+ *
92
+ * @param config Framework configuration
93
+ * @param route Route entry being rendered
94
+ * @param ctx Complete SSR context with request/response and metadata
95
+ * @returns Complete HTML document as a string
96
+ * @throws Error if rendering fails
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * const html = await render(config, route, {
101
+ * req, res, url, params, query, headers, cookies
102
+ * });
103
+ * res.setHeader("content-type", "text/html; charset=utf-8");
104
+ * res.end(html);
105
+ * ```
106
+ */
107
+ export async function render(config, route, ctx) {
108
+ const pathname = ctx.url.pathname;
109
+ // Check cache first
110
+ const cached = getCachedHtml(pathname);
111
+ if (cached) {
112
+ return cached;
113
+ }
114
+ // Render the page
115
+ const html = await renderRouteToHtml({
116
+ config,
117
+ route,
118
+ req: ctx.req,
119
+ res: ctx.res,
120
+ url: ctx.url,
121
+ params: ctx.params,
122
+ query: ctx.query,
123
+ headers: ctx.headers,
124
+ cookies: ctx.cookies,
125
+ });
126
+ // Cache for next request
127
+ cacheHtml(pathname, html);
128
+ return html;
129
+ }
130
+ /**
131
+ * Advanced SSR render with optional caching control.
132
+ * Allows per-request cache bypass for revalidation.
133
+ *
134
+ * @param config Framework configuration
135
+ * @param route Route entry being rendered
136
+ * @param ctx Complete SSR context
137
+ * @param options Render options
138
+ * @param options.cache Whether to use/update cache (default: true)
139
+ * @returns Complete HTML document
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const html = await renderWithOptions(config, route, ctx, {
144
+ * cache: false // Bypass cache for this request
145
+ * });
146
+ * ```
147
+ */
148
+ export async function renderWithOptions(config, route, ctx, options = {}) {
149
+ const { cache = true } = options;
150
+ const pathname = ctx.url.pathname;
151
+ // Check cache if enabled
152
+ if (cache) {
153
+ const cached = getCachedHtml(pathname);
154
+ if (cached) return cached;
155
+ }
156
+ // Render the page
157
+ const html = await renderRouteToHtml({
158
+ config,
159
+ route,
160
+ req: ctx.req,
161
+ res: ctx.res,
162
+ url: ctx.url,
163
+ params: ctx.params,
164
+ query: ctx.query,
165
+ headers: ctx.headers,
166
+ cookies: ctx.cookies,
167
+ });
168
+ // Cache if enabled
169
+ if (cache) {
170
+ cacheHtml(pathname, html);
171
+ }
172
+ return html;
173
+ }
174
+ /**
175
+ * Manual HTML rendering of a component to string (no full document).
176
+ * Useful when you need just the component HTML without head/body wrapper.
177
+ *
178
+ * This is a low-level API primarily for internal use.
179
+ * For typical routing, use render() instead.
180
+ *
181
+ * @param config Framework configuration
182
+ * @param route Route to render
183
+ * @param ctx SSR context
184
+ * @returns Just the component body HTML (no <!doctype>, no <head>, no hydration)
185
+ */
186
+ export async function renderComponentToString(config, route, ctx) {
187
+ // For now, we render the full HTML and extract the body
188
+ const html = await renderRouteToHtml({
189
+ config,
190
+ route,
191
+ req: ctx.req,
192
+ res: ctx.res,
193
+ url: ctx.url,
194
+ params: ctx.params,
195
+ query: ctx.query,
196
+ headers: ctx.headers,
197
+ cookies: ctx.cookies,
198
+ });
199
+ // Extract body content
200
+ const bodyMatch = html.match(/<div id="app">([\s\S]*?)<\/div>/);
201
+ return bodyMatch ? bodyMatch[1] : "";
202
+ }
203
+ /**
204
+ * Get cache statistics for monitoring and debugging.
205
+ *
206
+ * @returns Cache statistics
207
+ */
208
+ export function getSsrCacheStats() {
209
+ return {
210
+ size: renderCache.size,
211
+ enabled: cacheConfig.enabled,
212
+ ttlSeconds: cacheConfig.ttlSeconds,
213
+ entries: Array.from(renderCache.entries()).map(([key, value]) => ({
214
+ pathname: key,
215
+ age: (Date.now() - value.timestamp) / 1000,
216
+ size: value.html.length,
217
+ })),
218
+ };
219
+ }