create-jen-app 1.2.2 → 1.2.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 (861) hide show
  1. package/README.md +3 -1
  2. package/dist/colors.js +0 -17
  3. package/dist/create.js +5 -17
  4. package/dist/generator.js +14 -31
  5. package/package.json +2 -2
  6. package/templates/ssr-isr/README.md +77 -0
  7. package/templates/ssr-isr/build.js +118 -0
  8. package/templates/ssr-isr/jen.config.ts +109 -0
  9. package/templates/ssr-isr/jenjs.d.ts +22 -0
  10. package/templates/ssr-isr/lib/api/(hello).d.ts +7 -0
  11. package/templates/ssr-isr/lib/api/(hello).js +9 -0
  12. package/templates/ssr-isr/lib/auth/cookie-utils.d.ts +33 -0
  13. package/templates/ssr-isr/lib/auth/cookie-utils.js +79 -0
  14. package/templates/ssr-isr/lib/auth/index.js +2 -0
  15. package/templates/ssr-isr/lib/auth/jwt.d.ts +30 -0
  16. package/templates/ssr-isr/lib/auth/jwt.js +57 -0
  17. package/templates/ssr-isr/lib/auth/session.d.ts +44 -0
  18. package/templates/ssr-isr/lib/auth/session.js +92 -0
  19. package/templates/ssr-isr/lib/build/asset-hashing.d.ts +10 -0
  20. package/templates/ssr-isr/lib/build/asset-hashing.js +25 -0
  21. package/templates/ssr-isr/lib/build/asset-manifest.d.ts +11 -0
  22. package/templates/ssr-isr/lib/build/asset-manifest.js +21 -0
  23. package/templates/ssr-isr/lib/build/build.d.ts +24 -0
  24. package/templates/ssr-isr/lib/build/build.js +141 -0
  25. package/templates/{static → ssr-isr}/lib/build/island-hydration.d.ts +8 -5
  26. package/templates/ssr-isr/lib/build/island-hydration.js +44 -0
  27. package/templates/ssr-isr/lib/build/minifier.d.ts +20 -0
  28. package/templates/ssr-isr/lib/build/minifier.js +46 -0
  29. package/templates/ssr-isr/lib/build/page-renderer.d.ts +17 -0
  30. package/templates/ssr-isr/lib/build/page-renderer.js +28 -0
  31. package/templates/ssr-isr/lib/build/production-build.d.ts +10 -0
  32. package/templates/ssr-isr/lib/build/production-build.js +13 -0
  33. package/templates/ssr-isr/lib/build/ssg-pipeline.d.ts +15 -0
  34. package/templates/ssr-isr/lib/build/ssg-pipeline.js +113 -0
  35. package/templates/{static → ssr-isr}/lib/build-tools/build-site.d.ts +3 -3
  36. package/templates/ssr-isr/lib/build-tools/build-site.js +36 -0
  37. package/templates/ssr-isr/lib/cache/index.d.ts +10 -0
  38. package/templates/ssr-isr/lib/cache/index.js +10 -0
  39. package/templates/ssr-isr/lib/cache/memory.d.ts +33 -0
  40. package/templates/ssr-isr/lib/cache/memory.js +40 -0
  41. package/templates/ssr-isr/lib/cache/redis.d.ts +45 -0
  42. package/templates/ssr-isr/lib/cache/redis.js +61 -0
  43. package/templates/ssr-isr/lib/cli/banner.d.ts +5 -0
  44. package/templates/ssr-isr/lib/cli/banner.js +28 -0
  45. package/templates/ssr-isr/lib/cli/templates/ssg/jen.config.js +32 -0
  46. package/templates/ssr-isr/lib/cli/templates/ssg/site/index.js +9 -0
  47. package/templates/ssr-isr/lib/cli/templates/ssr/jen.config.js +32 -0
  48. package/templates/ssr-isr/lib/cli/templates/ssr/site/index.js +9 -0
  49. package/templates/ssr-isr/lib/compilers/esbuild-plugins.js +111 -0
  50. package/templates/ssr-isr/lib/compilers/svelte.d.ts +18 -0
  51. package/templates/ssr-isr/lib/compilers/svelte.js +44 -0
  52. package/templates/ssr-isr/lib/compilers/vue.d.ts +15 -0
  53. package/templates/ssr-isr/lib/compilers/vue.js +90 -0
  54. package/templates/ssr-isr/lib/core/config.d.ts +220 -0
  55. package/templates/ssr-isr/lib/core/http.d.ts +56 -0
  56. package/templates/ssr-isr/lib/core/http.js +71 -0
  57. package/templates/ssr-isr/lib/core/middleware-hooks.d.ts +219 -0
  58. package/templates/ssr-isr/lib/core/middleware-hooks.js +97 -0
  59. package/templates/ssr-isr/lib/core/paths.d.ts +44 -0
  60. package/templates/ssr-isr/lib/core/paths.js +39 -0
  61. package/templates/ssr-isr/lib/core/routes/match.d.ts +54 -0
  62. package/templates/ssr-isr/lib/core/routes/match.js +47 -0
  63. package/templates/ssr-isr/lib/core/routes/scan.d.ts +53 -0
  64. package/templates/ssr-isr/lib/core/routes/scan.js +190 -0
  65. package/templates/ssr-isr/lib/core/types.d.ts +153 -0
  66. package/templates/ssr-isr/lib/core/types.js +1 -0
  67. package/templates/ssr-isr/lib/css/compiler.d.ts +23 -0
  68. package/templates/ssr-isr/lib/css/compiler.js +74 -0
  69. package/templates/ssr-isr/lib/db/connector.d.ts +30 -0
  70. package/templates/ssr-isr/lib/db/connector.js +42 -0
  71. package/templates/ssr-isr/lib/db/drivers/jdb.d.ts +17 -0
  72. package/templates/ssr-isr/lib/db/drivers/jdb.js +44 -0
  73. package/templates/ssr-isr/lib/db/drivers/sql.d.ts +22 -0
  74. package/templates/ssr-isr/lib/db/drivers/sql.js +182 -0
  75. package/templates/ssr-isr/lib/db/index.d.ts +27 -0
  76. package/templates/ssr-isr/lib/db/index.js +48 -0
  77. package/templates/ssr-isr/lib/db/types.d.ts +33 -0
  78. package/templates/ssr-isr/lib/db/types.js +1 -0
  79. package/templates/ssr-isr/lib/graphql/index.d.ts +48 -0
  80. package/templates/ssr-isr/lib/graphql/index.js +52 -0
  81. package/templates/ssr-isr/lib/graphql/resolvers.d.ts +57 -0
  82. package/templates/ssr-isr/lib/graphql/resolvers.js +25 -0
  83. package/templates/ssr-isr/lib/graphql/schema.d.ts +35 -0
  84. package/templates/ssr-isr/lib/graphql/schema.js +35 -0
  85. package/templates/ssr-isr/lib/i18n/en.json +4 -0
  86. package/templates/ssr-isr/lib/i18n/es.json +4 -0
  87. package/templates/ssr-isr/lib/i18n/index.d.ts +8 -0
  88. package/templates/ssr-isr/lib/i18n/index.js +15 -0
  89. package/templates/ssr-isr/lib/import/jen-import.d.ts +56 -0
  90. package/templates/ssr-isr/lib/import/jen-import.js +161 -0
  91. package/templates/{static → ssr-isr}/lib/index.d.ts +42 -11
  92. package/templates/ssr-isr/lib/index.js +116 -0
  93. package/templates/ssr-isr/lib/jdb/engine.d.ts +38 -0
  94. package/templates/ssr-isr/lib/jdb/engine.js +275 -0
  95. package/templates/ssr-isr/lib/jdb/index.d.ts +34 -0
  96. package/templates/ssr-isr/lib/jdb/index.js +34 -0
  97. package/templates/ssr-isr/lib/jdb/types.d.ts +228 -0
  98. package/templates/ssr-isr/lib/jdb/types.js +1 -0
  99. package/templates/ssr-isr/lib/jdb/utils.d.ts +66 -0
  100. package/templates/ssr-isr/lib/jdb/utils.js +176 -0
  101. package/templates/ssr-isr/lib/middleware/builtins/body-parser.d.ts +16 -0
  102. package/templates/ssr-isr/lib/middleware/builtins/body-parser.js +56 -0
  103. package/templates/ssr-isr/lib/middleware/builtins/cors.d.ts +15 -0
  104. package/templates/ssr-isr/lib/middleware/builtins/cors.js +54 -0
  105. package/templates/ssr-isr/lib/middleware/builtins/logger.d.ts +19 -0
  106. package/templates/ssr-isr/lib/middleware/builtins/logger.js +34 -0
  107. package/templates/ssr-isr/lib/middleware/builtins/rate-limit.d.ts +22 -0
  108. package/templates/ssr-isr/lib/middleware/builtins/rate-limit.js +79 -0
  109. package/templates/ssr-isr/lib/middleware/builtins/request-id.d.ts +19 -0
  110. package/templates/ssr-isr/lib/middleware/builtins/request-id.js +29 -0
  111. package/templates/ssr-isr/lib/middleware/builtins/security-headers.d.ts +19 -0
  112. package/templates/ssr-isr/lib/middleware/builtins/security-headers.js +53 -0
  113. package/templates/ssr-isr/lib/middleware/context.d.ts +105 -0
  114. package/templates/ssr-isr/lib/middleware/context.js +124 -0
  115. package/templates/ssr-isr/lib/middleware/decorators.d.ts +19 -0
  116. package/templates/ssr-isr/lib/middleware/decorators.js +93 -0
  117. package/templates/ssr-isr/lib/middleware/errors/handler.js +46 -0
  118. package/templates/ssr-isr/lib/middleware/errors/http-error.d.ts +5 -0
  119. package/templates/ssr-isr/lib/middleware/errors/http-error.js +10 -0
  120. package/templates/ssr-isr/lib/middleware/kernel.d.ts +69 -0
  121. package/templates/ssr-isr/lib/middleware/kernel.js +85 -0
  122. package/templates/ssr-isr/lib/middleware/pipeline.d.ts +53 -0
  123. package/templates/ssr-isr/lib/middleware/pipeline.js +148 -0
  124. package/templates/ssr-isr/lib/middleware/registry.d.ts +69 -0
  125. package/templates/ssr-isr/lib/middleware/registry.js +85 -0
  126. package/templates/ssr-isr/lib/middleware/response.d.ts +75 -0
  127. package/templates/ssr-isr/lib/middleware/response.js +107 -0
  128. package/templates/ssr-isr/lib/middleware/types.d.ts +1 -0
  129. package/templates/ssr-isr/lib/middleware/types.js +1 -0
  130. package/templates/ssr-isr/lib/middleware/utils/matcher.js +13 -0
  131. package/templates/ssr-isr/lib/native/bundle.d.ts +24 -0
  132. package/templates/ssr-isr/lib/native/bundle.js +22 -0
  133. package/templates/ssr-isr/lib/native/dev-server.d.ts +13 -0
  134. package/templates/ssr-isr/lib/native/dev-server.js +23 -0
  135. package/templates/{static → ssr-isr}/lib/native/index.d.ts +20 -20
  136. package/templates/ssr-isr/lib/native/index.js +33 -0
  137. package/templates/ssr-isr/lib/native/optimizer.d.ts +21 -0
  138. package/templates/ssr-isr/lib/native/optimizer.js +20 -0
  139. package/templates/ssr-isr/lib/native/style-compiler.d.ts +19 -0
  140. package/templates/ssr-isr/lib/native/style-compiler.js +19 -0
  141. package/templates/ssr-isr/lib/plugin/loader.d.ts +10 -0
  142. package/templates/ssr-isr/lib/plugin/loader.js +36 -0
  143. package/templates/ssr-isr/lib/runtime/client-runtime.d.ts +16 -0
  144. package/templates/ssr-isr/lib/runtime/client-runtime.js +25 -0
  145. package/templates/ssr-isr/lib/runtime/hmr.d.ts +23 -0
  146. package/templates/ssr-isr/lib/runtime/hmr.js +59 -0
  147. package/templates/ssr-isr/lib/runtime/hydrate.d.ts +18 -0
  148. package/templates/ssr-isr/lib/runtime/hydrate.js +55 -0
  149. package/templates/ssr-isr/lib/runtime/island-hydration-client.d.ts +8 -0
  150. package/templates/ssr-isr/lib/runtime/island-hydration-client.js +146 -0
  151. package/templates/ssr-isr/lib/runtime/islands.d.ts +101 -0
  152. package/templates/ssr-isr/lib/runtime/islands.js +110 -0
  153. package/templates/ssr-isr/lib/runtime/render.d.ts +40 -0
  154. package/templates/ssr-isr/lib/runtime/render.js +244 -0
  155. package/templates/ssr-isr/lib/server/api-routes.d.ts +112 -0
  156. package/templates/ssr-isr/lib/server/api-routes.js +237 -0
  157. package/templates/{static → ssr-isr}/lib/server/api.d.ts +3 -3
  158. package/templates/ssr-isr/lib/server/api.js +108 -0
  159. package/templates/ssr-isr/lib/server/app.d.ts +44 -0
  160. package/templates/ssr-isr/lib/server/app.js +438 -0
  161. package/templates/ssr-isr/lib/server/runtimeServe.d.ts +60 -0
  162. package/templates/ssr-isr/lib/server/runtimeServe.js +169 -0
  163. package/templates/ssr-isr/lib/server/ssr.d.ts +161 -0
  164. package/templates/ssr-isr/lib/server/ssr.js +202 -0
  165. package/templates/ssr-isr/lib/shared/log.d.ts +49 -0
  166. package/templates/ssr-isr/lib/shared/log.js +64 -0
  167. package/templates/ssr-isr/package.json +23 -0
  168. package/templates/ssr-isr/server.js +128 -0
  169. package/templates/ssr-isr/site/pages/(index).tsx +11 -0
  170. package/templates/ssr-isr/site/styles/global.scss +37 -0
  171. package/templates/ssr-isr/tsconfig.json +39 -0
  172. package/templates/static/README.md +63 -67
  173. package/templates/static/build.js +31 -21
  174. package/templates/static/jen.config.ts +0 -20
  175. package/templates/static/jenjs.d.ts +0 -18
  176. package/templates/static/lib/api/(hello).js +7 -24
  177. package/templates/static/lib/api/examples/files/[...slug].js +22 -0
  178. package/templates/static/lib/api/examples/hello.js +11 -0
  179. package/templates/static/lib/api/examples/posts/[id].js +37 -0
  180. package/templates/static/lib/api/examples/posts.js +37 -0
  181. package/templates/static/lib/api/examples/search.js +23 -0
  182. package/templates/static/lib/api/index.js +41 -0
  183. package/templates/static/lib/api/loader.js +234 -0
  184. package/templates/static/lib/api/router.js +259 -0
  185. package/templates/static/lib/assets/types.js +1 -0
  186. package/templates/static/lib/auth/cookie-utils.js +69 -85
  187. package/templates/static/lib/auth/index.js +0 -17
  188. package/templates/static/lib/auth/jwt.js +48 -21
  189. package/templates/static/lib/auth/session.js +79 -98
  190. package/templates/static/lib/build/asset-hashing.js +47 -39
  191. package/templates/static/lib/build/asset-manifest.js +18 -35
  192. package/templates/static/lib/build/build.js +277 -95
  193. package/templates/static/lib/build/bundle-analyzer-ui.js +417 -0
  194. package/templates/static/lib/build/bundle-analyzer.js +945 -0
  195. package/templates/static/lib/build/code-splitter.js +194 -0
  196. package/templates/static/lib/build/feature-analyzer.js +190 -0
  197. package/templates/static/lib/build/feature-gate.js +257 -0
  198. package/templates/static/lib/build/island-hydration.js +17 -35
  199. package/templates/static/lib/build/lazy-loader.js +322 -0
  200. package/templates/static/lib/build/minifier.js +42 -61
  201. package/templates/static/lib/build/page-renderer.js +25 -42
  202. package/templates/static/lib/build/production-build.js +11 -28
  203. package/templates/static/lib/build/rust-hashing.js +71 -0
  204. package/templates/static/lib/build/script-optimizer.js +285 -0
  205. package/templates/static/lib/build/ssg-pipeline.js +107 -113
  206. package/templates/static/lib/build/vercel-output.js +298 -0
  207. package/templates/static/lib/build-tools/build-site.js +27 -47
  208. package/templates/static/lib/cache/index.js +6 -15
  209. package/templates/static/lib/cache/memory.js +37 -28
  210. package/templates/static/lib/cache/redis.js +56 -28
  211. package/templates/static/lib/cli/banner.js +18 -31
  212. package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -46
  213. package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
  214. package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -46
  215. package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
  216. package/templates/static/lib/client/Image.js +42 -0
  217. package/templates/static/lib/client/Link.js +190 -0
  218. package/templates/static/lib/client/PWA.js +46 -0
  219. package/templates/static/lib/client/Seo.js +97 -0
  220. package/templates/static/lib/client/index.js +9 -0
  221. package/templates/static/lib/client/useNavigation.js +25 -0
  222. package/templates/static/lib/client/useRouter.js +64 -0
  223. package/templates/static/lib/client-routing/Link.js +17 -0
  224. package/templates/static/lib/client-routing/index.js +19 -0
  225. package/templates/static/lib/client-routing/router.js +151 -0
  226. package/templates/static/lib/client-routing/signal.js +147 -0
  227. package/templates/static/lib/compilers/esbuild-plugins.js +96 -115
  228. package/templates/static/lib/compilers/svelte.js +31 -48
  229. package/templates/static/lib/compilers/vue.js +76 -85
  230. package/templates/static/lib/core/config.js +0 -17
  231. package/templates/static/lib/core/feature-guard.js +136 -0
  232. package/templates/static/lib/core/features.js +99 -0
  233. package/templates/static/lib/core/http.js +65 -36
  234. package/templates/static/lib/core/layouts/index.js +10 -0
  235. package/templates/static/lib/core/layouts/render.js +158 -0
  236. package/templates/static/lib/core/layouts/scan.js +112 -0
  237. package/templates/static/lib/core/layouts/types.js +1 -0
  238. package/templates/static/lib/core/lifecycle.js +129 -0
  239. package/templates/static/lib/core/loader-schema.js +81 -0
  240. package/templates/static/lib/core/middleware-hooks.js +86 -58
  241. package/templates/static/lib/core/paths.js +31 -16
  242. package/templates/static/lib/core/routes/advanced.js +114 -0
  243. package/templates/static/lib/core/routes/handlers.js +181 -0
  244. package/templates/static/lib/core/routes/match.js +129 -24
  245. package/templates/static/lib/core/routes/orchestrator.js +171 -0
  246. package/templates/static/lib/core/routes/rendering-config.js +131 -0
  247. package/templates/static/lib/core/routes/scan.js +174 -132
  248. package/templates/static/lib/core/types.js +0 -17
  249. package/templates/static/lib/css/compiler.js +63 -76
  250. package/templates/static/lib/data-fetching/cache.js +223 -0
  251. package/templates/static/lib/data-fetching/client.js +202 -0
  252. package/templates/static/lib/data-fetching/feature-guard.js +29 -0
  253. package/templates/static/lib/data-fetching/graphql.js +265 -0
  254. package/templates/static/lib/data-fetching/index.js +57 -0
  255. package/templates/static/lib/data-fetching/rest.js +256 -0
  256. package/templates/static/lib/data-fetching/server.js +182 -0
  257. package/templates/static/lib/data-fetching/types.js +5 -0
  258. package/templates/static/lib/db/connector.js +37 -28
  259. package/templates/static/lib/db/drivers/jdb.js +41 -56
  260. package/templates/static/lib/db/drivers/sql.js +152 -152
  261. package/templates/static/lib/db/index.js +42 -59
  262. package/templates/static/lib/db/types.js +0 -17
  263. package/templates/static/lib/devtools/component-tree.js +106 -0
  264. package/templates/static/lib/devtools/devtools.js +638 -0
  265. package/templates/static/lib/devtools/event-bus.js +29 -0
  266. package/templates/static/lib/devtools/event-logger.js +67 -0
  267. package/templates/static/lib/devtools/index.js +9 -0
  268. package/templates/static/lib/devtools/integration.js +149 -0
  269. package/templates/static/lib/devtools/performance.js +84 -0
  270. package/templates/static/lib/devtools/persistence.js +57 -0
  271. package/templates/static/lib/devtools/plugins.js +97 -0
  272. package/templates/static/lib/devtools/search.js +89 -0
  273. package/templates/static/lib/devtools/ui.js +769 -0
  274. package/templates/static/lib/features/api/handler.js +10 -0
  275. package/templates/static/lib/features/api/index.js +5 -0
  276. package/templates/static/lib/features/api/types.js +4 -0
  277. package/templates/static/lib/features/middleware/compiled.js +7 -0
  278. package/templates/static/lib/features/middleware/index.js +5 -0
  279. package/templates/static/lib/features/middleware/types.js +4 -0
  280. package/templates/static/lib/fonts/index.js +46 -0
  281. package/templates/static/lib/fonts/inject.js +125 -0
  282. package/templates/static/lib/fonts/loader.js +196 -0
  283. package/templates/static/lib/fonts/types.js +1 -0
  284. package/templates/static/lib/graphql/index.js +46 -16
  285. package/templates/static/lib/graphql/resolvers.js +42 -19
  286. package/templates/static/lib/graphql/schema.js +30 -15
  287. package/templates/static/lib/i18n/en.json +2 -2
  288. package/templates/static/lib/i18n/es.json +2 -2
  289. package/templates/static/lib/i18n/index.js +17 -29
  290. package/templates/static/lib/import/jen-import.js +130 -97
  291. package/templates/static/lib/index.js +82 -115
  292. package/templates/static/lib/jdb/engine.js +259 -160
  293. package/templates/static/lib/jdb/index.js +28 -13
  294. package/templates/static/lib/jdb/types.js +0 -17
  295. package/templates/static/lib/jdb/utils.js +159 -124
  296. package/templates/static/lib/middleware/builtins/cors.js +55 -64
  297. package/templates/static/lib/middleware/context.js +120 -46
  298. package/templates/static/lib/middleware/kernel.js +186 -31
  299. package/templates/static/lib/middleware/pipeline.js +140 -59
  300. package/templates/static/lib/middleware/registry.js +80 -36
  301. package/templates/static/lib/middleware/response.js +101 -54
  302. package/templates/static/lib/plugin/examples/analytics-plugin.js +183 -0
  303. package/templates/static/lib/plugin/examples/cdn-upload-plugin.js +94 -0
  304. package/templates/static/lib/plugin/loader.js +25 -48
  305. package/templates/static/lib/plugin/plugin-manager.js +177 -0
  306. package/templates/static/lib/plugin/types.js +28 -0
  307. package/templates/static/lib/runtime/client-runtime.js +19 -22
  308. package/templates/static/lib/runtime/hmr.js +23 -18
  309. package/templates/static/lib/runtime/hydrate.js +47 -37
  310. package/templates/static/lib/runtime/island-hydration-client.js +122 -108
  311. package/templates/static/lib/runtime/islands.js +92 -71
  312. package/templates/static/lib/runtime/render.js +385 -149
  313. package/templates/static/lib/security/security-config.js +60 -0
  314. package/templates/static/lib/security/security-middleware.js +229 -0
  315. package/templates/static/lib/server/api-routes.js +339 -171
  316. package/templates/static/lib/server/api.js +93 -109
  317. package/templates/static/lib/server/app.js +660 -270
  318. package/templates/static/lib/server/isr.js +365 -0
  319. package/templates/static/lib/server/runtimeServe.js +157 -89
  320. package/templates/static/lib/server/ssr.js +295 -0
  321. package/templates/static/lib/server-actions/handler.js +180 -0
  322. package/templates/static/lib/server-actions/index.js +19 -0
  323. package/templates/static/lib/server-actions/middleware.js +146 -0
  324. package/templates/static/lib/server-actions/scan.js +152 -0
  325. package/templates/static/lib/server-actions/types.js +1 -0
  326. package/templates/static/lib/server-actions/validators.js +156 -0
  327. package/templates/static/lib/shared/log.js +74 -25
  328. package/templates/static/lib/telemetry/api/rate-limiter.js +32 -0
  329. package/templates/static/lib/telemetry/api/validator.js +67 -0
  330. package/templates/static/lib/telemetry/client.js +121 -0
  331. package/templates/static/lib/telemetry/tests/rate-limiter.test.js +46 -0
  332. package/templates/static/lib/telemetry/tests/validator.test.js +62 -0
  333. package/templates/static/lib/vendor/glob/glob.js +4766 -0
  334. package/templates/static/lib/vendor/preact/preact.module.js +797 -0
  335. package/templates/static/lib/vendor/sass/sass.node.mjs +212 -0
  336. package/templates/static/package.json +4 -0
  337. package/templates/static/server.js +23 -25
  338. package/templates/static/site/(home).tsx +12 -12
  339. package/templates/static/site/styles/global.scss +89 -78
  340. package/templates/static/tsconfig.json +43 -39
  341. package/templates/static/.esbuild/jen.config.js +0 -1
  342. package/templates/static/lib/api/(hello).d.ts +0 -7
  343. package/templates/static/lib/auth/cookie-utils.d.ts +0 -24
  344. package/templates/static/lib/auth/jwt.d.ts +0 -2
  345. package/templates/static/lib/auth/session.d.ts +0 -44
  346. package/templates/static/lib/build/asset-hashing.d.ts +0 -10
  347. package/templates/static/lib/build/asset-manifest.d.ts +0 -11
  348. package/templates/static/lib/build/build.d.ts +0 -4
  349. package/templates/static/lib/build/minifier.d.ts +0 -20
  350. package/templates/static/lib/build/page-renderer.d.ts +0 -17
  351. package/templates/static/lib/build/production-build.d.ts +0 -10
  352. package/templates/static/lib/build/ssg-pipeline.d.ts +0 -15
  353. package/templates/static/lib/cache/index.d.ts +0 -2
  354. package/templates/static/lib/cache/memory.d.ts +0 -6
  355. package/templates/static/lib/cache/redis.d.ts +0 -6
  356. package/templates/static/lib/cli/banner.d.ts +0 -1
  357. package/templates/static/lib/compilers/svelte.d.ts +0 -18
  358. package/templates/static/lib/compilers/vue.d.ts +0 -15
  359. package/templates/static/lib/core/config.d.ts +0 -53
  360. package/templates/static/lib/core/http.d.ts +0 -3
  361. package/templates/static/lib/core/middleware-hooks.d.ts +0 -46
  362. package/templates/static/lib/core/paths.d.ts +0 -6
  363. package/templates/static/lib/core/routes/match.d.ts +0 -6
  364. package/templates/static/lib/core/routes/scan.d.ts +0 -9
  365. package/templates/static/lib/core/types.d.ts +0 -18
  366. package/templates/static/lib/css/compiler.d.ts +0 -20
  367. package/templates/static/lib/db/connector.d.ts +0 -4
  368. package/templates/static/lib/db/drivers/jdb.d.ts +0 -13
  369. package/templates/static/lib/db/drivers/sql.d.ts +0 -18
  370. package/templates/static/lib/db/index.d.ts +0 -19
  371. package/templates/static/lib/db/types.d.ts +0 -29
  372. package/templates/static/lib/graphql/index.d.ts +0 -1
  373. package/templates/static/lib/graphql/resolvers.d.ts +0 -17
  374. package/templates/static/lib/graphql/schema.d.ts +0 -1
  375. package/templates/static/lib/i18n/index.d.ts +0 -8
  376. package/templates/static/lib/import/jen-import.d.ts +0 -27
  377. package/templates/static/lib/jdb/engine.d.ts +0 -9
  378. package/templates/static/lib/jdb/index.d.ts +0 -2
  379. package/templates/static/lib/jdb/types.d.ts +0 -46
  380. package/templates/static/lib/jdb/utils.d.ts +0 -6
  381. package/templates/static/lib/middleware/builtins/body-parser.d.ts +0 -1
  382. package/templates/static/lib/middleware/builtins/body-parser.js +0 -55
  383. package/templates/static/lib/middleware/builtins/cors.d.ts +0 -13
  384. package/templates/static/lib/middleware/builtins/logger.d.ts +0 -1
  385. package/templates/static/lib/middleware/builtins/logger.js +0 -33
  386. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +0 -5
  387. package/templates/static/lib/middleware/builtins/rate-limit.js +0 -76
  388. package/templates/static/lib/middleware/builtins/request-id.d.ts +0 -1
  389. package/templates/static/lib/middleware/builtins/request-id.js +0 -25
  390. package/templates/static/lib/middleware/builtins/security-headers.d.ts +0 -1
  391. package/templates/static/lib/middleware/builtins/security-headers.js +0 -39
  392. package/templates/static/lib/middleware/context.d.ts +0 -18
  393. package/templates/static/lib/middleware/decorators.d.ts +0 -2
  394. package/templates/static/lib/middleware/decorators.js +0 -61
  395. package/templates/static/lib/middleware/errors/handler.js +0 -65
  396. package/templates/static/lib/middleware/errors/http-error.d.ts +0 -5
  397. package/templates/static/lib/middleware/errors/http-error.js +0 -27
  398. package/templates/static/lib/middleware/kernel.d.ts +0 -6
  399. package/templates/static/lib/middleware/pipeline.d.ts +0 -4
  400. package/templates/static/lib/middleware/registry.d.ts +0 -10
  401. package/templates/static/lib/middleware/response.d.ts +0 -13
  402. package/templates/static/lib/middleware/types.js +0 -18
  403. package/templates/static/lib/middleware/utils/matcher.js +0 -31
  404. package/templates/static/lib/native/bundle.d.ts +0 -19
  405. package/templates/static/lib/native/bundle.js +0 -39
  406. package/templates/static/lib/native/dev-server.d.ts +0 -6
  407. package/templates/static/lib/native/dev-server.js +0 -38
  408. package/templates/static/lib/native/index.js +0 -48
  409. package/templates/static/lib/native/optimizer.d.ts +0 -17
  410. package/templates/static/lib/native/optimizer.js +0 -37
  411. package/templates/static/lib/native/style-compiler.d.ts +0 -10
  412. package/templates/static/lib/native/style-compiler.js +0 -36
  413. package/templates/static/lib/plugin/loader.d.ts +0 -8
  414. package/templates/static/lib/runtime/client-runtime.d.ts +0 -1
  415. package/templates/static/lib/runtime/hmr.d.ts +0 -1
  416. package/templates/static/lib/runtime/hydrate.d.ts +0 -1
  417. package/templates/static/lib/runtime/island-hydration-client.d.ts +0 -5
  418. package/templates/static/lib/runtime/islands.d.ts +0 -46
  419. package/templates/static/lib/runtime/render.d.ts +0 -13
  420. package/templates/static/lib/server/api-routes.d.ts +0 -44
  421. package/templates/static/lib/server/app.d.ts +0 -10
  422. package/templates/static/lib/server/runtimeServe.d.ts +0 -4
  423. package/templates/static/lib/shared/log.d.ts +0 -5
  424. package/templates/static/node_modules/.bin/esbuild +0 -16
  425. package/templates/static/node_modules/.bin/esbuild.cmd +0 -17
  426. package/templates/static/node_modules/.bin/esbuild.ps1 +0 -28
  427. package/templates/static/node_modules/.bin/tsc +0 -16
  428. package/templates/static/node_modules/.bin/tsc.cmd +0 -17
  429. package/templates/static/node_modules/.bin/tsc.ps1 +0 -28
  430. package/templates/static/node_modules/.bin/tsserver +0 -16
  431. package/templates/static/node_modules/.bin/tsserver.cmd +0 -17
  432. package/templates/static/node_modules/.bin/tsserver.ps1 +0 -28
  433. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -14
  434. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +0 -11
  435. package/templates/static/node_modules/.package-lock.json +0 -585
  436. package/templates/static/node_modules/@esbuild/win32-x64/README.md +0 -3
  437. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  438. package/templates/static/node_modules/@esbuild/win32-x64/package.json +0 -20
  439. package/templates/static/node_modules/@jenjs/master/README.md +0 -24
  440. package/templates/static/node_modules/@jenjs/master/index.js +0 -3655
  441. package/templates/static/node_modules/@jenjs/master/package.json +0 -36
  442. package/templates/static/node_modules/@polka/url/build.js +0 -49
  443. package/templates/static/node_modules/@polka/url/build.mjs +0 -47
  444. package/templates/static/node_modules/@polka/url/index.d.ts +0 -11
  445. package/templates/static/node_modules/@polka/url/package.json +0 -30
  446. package/templates/static/node_modules/@polka/url/readme.md +0 -68
  447. package/templates/static/node_modules/@types/node/LICENSE +0 -21
  448. package/templates/static/node_modules/@types/node/README.md +0 -15
  449. package/templates/static/node_modules/@types/node/assert/strict.d.ts +0 -111
  450. package/templates/static/node_modules/@types/node/assert.d.ts +0 -1078
  451. package/templates/static/node_modules/@types/node/async_hooks.d.ts +0 -603
  452. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  453. package/templates/static/node_modules/@types/node/buffer.d.ts +0 -1934
  454. package/templates/static/node_modules/@types/node/child_process.d.ts +0 -1476
  455. package/templates/static/node_modules/@types/node/cluster.d.ts +0 -578
  456. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  457. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +0 -9
  458. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  459. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  460. package/templates/static/node_modules/@types/node/console.d.ts +0 -452
  461. package/templates/static/node_modules/@types/node/constants.d.ts +0 -21
  462. package/templates/static/node_modules/@types/node/crypto.d.ts +0 -4545
  463. package/templates/static/node_modules/@types/node/dgram.d.ts +0 -600
  464. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  465. package/templates/static/node_modules/@types/node/dns/promises.d.ts +0 -503
  466. package/templates/static/node_modules/@types/node/dns.d.ts +0 -923
  467. package/templates/static/node_modules/@types/node/domain.d.ts +0 -170
  468. package/templates/static/node_modules/@types/node/events.d.ts +0 -976
  469. package/templates/static/node_modules/@types/node/fs/promises.d.ts +0 -1295
  470. package/templates/static/node_modules/@types/node/fs.d.ts +0 -4461
  471. package/templates/static/node_modules/@types/node/globals.d.ts +0 -172
  472. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  473. package/templates/static/node_modules/@types/node/http.d.ts +0 -2089
  474. package/templates/static/node_modules/@types/node/http2.d.ts +0 -2644
  475. package/templates/static/node_modules/@types/node/https.d.ts +0 -579
  476. package/templates/static/node_modules/@types/node/index.d.ts +0 -97
  477. package/templates/static/node_modules/@types/node/inspector.d.ts +0 -253
  478. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  479. package/templates/static/node_modules/@types/node/module.d.ts +0 -891
  480. package/templates/static/node_modules/@types/node/net.d.ts +0 -1057
  481. package/templates/static/node_modules/@types/node/os.d.ts +0 -506
  482. package/templates/static/node_modules/@types/node/package.json +0 -145
  483. package/templates/static/node_modules/@types/node/path.d.ts +0 -200
  484. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +0 -968
  485. package/templates/static/node_modules/@types/node/process.d.ts +0 -2089
  486. package/templates/static/node_modules/@types/node/punycode.d.ts +0 -117
  487. package/templates/static/node_modules/@types/node/querystring.d.ts +0 -152
  488. package/templates/static/node_modules/@types/node/readline/promises.d.ts +0 -161
  489. package/templates/static/node_modules/@types/node/readline.d.ts +0 -594
  490. package/templates/static/node_modules/@types/node/repl.d.ts +0 -428
  491. package/templates/static/node_modules/@types/node/sea.d.ts +0 -153
  492. package/templates/static/node_modules/@types/node/sqlite.d.ts +0 -721
  493. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +0 -38
  494. package/templates/static/node_modules/@types/node/stream/promises.d.ts +0 -90
  495. package/templates/static/node_modules/@types/node/stream/web.d.ts +0 -622
  496. package/templates/static/node_modules/@types/node/stream.d.ts +0 -1664
  497. package/templates/static/node_modules/@types/node/string_decoder.d.ts +0 -67
  498. package/templates/static/node_modules/@types/node/test.d.ts +0 -2163
  499. package/templates/static/node_modules/@types/node/timers/promises.d.ts +0 -108
  500. package/templates/static/node_modules/@types/node/timers.d.ts +0 -287
  501. package/templates/static/node_modules/@types/node/tls.d.ts +0 -1319
  502. package/templates/static/node_modules/@types/node/trace_events.d.ts +0 -197
  503. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  504. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  505. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  506. package/templates/static/node_modules/@types/node/tty.d.ts +0 -208
  507. package/templates/static/node_modules/@types/node/url.d.ts +0 -984
  508. package/templates/static/node_modules/@types/node/util.d.ts +0 -2606
  509. package/templates/static/node_modules/@types/node/v8.d.ts +0 -920
  510. package/templates/static/node_modules/@types/node/vm.d.ts +0 -1000
  511. package/templates/static/node_modules/@types/node/wasi.d.ts +0 -181
  512. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  513. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  514. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +0 -97
  515. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  516. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  517. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  518. package/templates/static/node_modules/@types/node/worker_threads.d.ts +0 -784
  519. package/templates/static/node_modules/@types/node/zlib.d.ts +0 -683
  520. package/templates/static/node_modules/esbuild/LICENSE.md +0 -21
  521. package/templates/static/node_modules/esbuild/README.md +0 -3
  522. package/templates/static/node_modules/esbuild/bin/esbuild +0 -223
  523. package/templates/static/node_modules/esbuild/install.js +0 -289
  524. package/templates/static/node_modules/esbuild/lib/main.d.ts +0 -716
  525. package/templates/static/node_modules/esbuild/lib/main.js +0 -2242
  526. package/templates/static/node_modules/esbuild/package.json +0 -49
  527. package/templates/static/node_modules/mrmime/index.d.ts +0 -2
  528. package/templates/static/node_modules/mrmime/index.js +0 -449
  529. package/templates/static/node_modules/mrmime/index.mjs +0 -448
  530. package/templates/static/node_modules/mrmime/license +0 -21
  531. package/templates/static/node_modules/mrmime/package.json +0 -44
  532. package/templates/static/node_modules/mrmime/readme.md +0 -130
  533. package/templates/static/node_modules/preact/README.md +0 -185
  534. package/templates/static/node_modules/preact/compat/client.d.ts +0 -13
  535. package/templates/static/node_modules/preact/compat/client.js +0 -21
  536. package/templates/static/node_modules/preact/compat/client.mjs +0 -24
  537. package/templates/static/node_modules/preact/compat/dist/compat.js +0 -2
  538. package/templates/static/node_modules/preact/compat/dist/compat.js.map +0 -1
  539. package/templates/static/node_modules/preact/compat/dist/compat.mjs +0 -2
  540. package/templates/static/node_modules/preact/compat/dist/compat.module.js +0 -2
  541. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +0 -1
  542. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +0 -2
  543. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
  544. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
  545. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
  546. package/templates/static/node_modules/preact/compat/jsx-runtime.js +0 -3
  547. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +0 -3
  548. package/templates/static/node_modules/preact/compat/package.json +0 -55
  549. package/templates/static/node_modules/preact/compat/scheduler.js +0 -15
  550. package/templates/static/node_modules/preact/compat/scheduler.mjs +0 -23
  551. package/templates/static/node_modules/preact/compat/server.browser.js +0 -11
  552. package/templates/static/node_modules/preact/compat/server.js +0 -36
  553. package/templates/static/node_modules/preact/compat/server.mjs +0 -17
  554. package/templates/static/node_modules/preact/compat/src/Children.js +0 -21
  555. package/templates/static/node_modules/preact/compat/src/PureComponent.js +0 -16
  556. package/templates/static/node_modules/preact/compat/src/forwardRef.js +0 -44
  557. package/templates/static/node_modules/preact/compat/src/hooks.js +0 -70
  558. package/templates/static/node_modules/preact/compat/src/index.d.ts +0 -351
  559. package/templates/static/node_modules/preact/compat/src/index.js +0 -238
  560. package/templates/static/node_modules/preact/compat/src/internal.d.ts +0 -48
  561. package/templates/static/node_modules/preact/compat/src/memo.js +0 -35
  562. package/templates/static/node_modules/preact/compat/src/portals.js +0 -78
  563. package/templates/static/node_modules/preact/compat/src/render.js +0 -313
  564. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +0 -16
  565. package/templates/static/node_modules/preact/compat/src/suspense-list.js +0 -127
  566. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +0 -19
  567. package/templates/static/node_modules/preact/compat/src/suspense.js +0 -291
  568. package/templates/static/node_modules/preact/compat/src/util.js +0 -33
  569. package/templates/static/node_modules/preact/compat/test-utils.js +0 -1
  570. package/templates/static/node_modules/preact/compat/test-utils.mjs +0 -1
  571. package/templates/static/node_modules/preact/debug/dist/debug.js +0 -2
  572. package/templates/static/node_modules/preact/debug/dist/debug.js.map +0 -1
  573. package/templates/static/node_modules/preact/debug/dist/debug.mjs +0 -2
  574. package/templates/static/node_modules/preact/debug/dist/debug.module.js +0 -2
  575. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +0 -1
  576. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +0 -2
  577. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
  578. package/templates/static/node_modules/preact/debug/package.json +0 -27
  579. package/templates/static/node_modules/preact/debug/src/check-props.js +0 -54
  580. package/templates/static/node_modules/preact/debug/src/component-stack.js +0 -146
  581. package/templates/static/node_modules/preact/debug/src/constants.js +0 -3
  582. package/templates/static/node_modules/preact/debug/src/debug.js +0 -593
  583. package/templates/static/node_modules/preact/debug/src/index.d.ts +0 -23
  584. package/templates/static/node_modules/preact/debug/src/index.js +0 -12
  585. package/templates/static/node_modules/preact/debug/src/internal.d.ts +0 -82
  586. package/templates/static/node_modules/preact/debug/src/util.js +0 -15
  587. package/templates/static/node_modules/preact/devtools/dist/devtools.js +0 -2
  588. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +0 -1
  589. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +0 -2
  590. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  591. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
  592. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
  593. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
  594. package/templates/static/node_modules/preact/devtools/package.json +0 -25
  595. package/templates/static/node_modules/preact/devtools/src/devtools.js +0 -21
  596. package/templates/static/node_modules/preact/devtools/src/index.d.ts +0 -8
  597. package/templates/static/node_modules/preact/devtools/src/index.js +0 -15
  598. package/templates/static/node_modules/preact/dist/preact.js +0 -2
  599. package/templates/static/node_modules/preact/dist/preact.js.map +0 -1
  600. package/templates/static/node_modules/preact/dist/preact.min.js +0 -2
  601. package/templates/static/node_modules/preact/dist/preact.min.js.map +0 -1
  602. package/templates/static/node_modules/preact/dist/preact.min.module.js +0 -2
  603. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +0 -1
  604. package/templates/static/node_modules/preact/dist/preact.min.umd.js +0 -2
  605. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +0 -1
  606. package/templates/static/node_modules/preact/dist/preact.mjs +0 -2
  607. package/templates/static/node_modules/preact/dist/preact.module.js +0 -2
  608. package/templates/static/node_modules/preact/dist/preact.module.js.map +0 -1
  609. package/templates/static/node_modules/preact/dist/preact.umd.js +0 -2
  610. package/templates/static/node_modules/preact/dist/preact.umd.js.map +0 -1
  611. package/templates/static/node_modules/preact/hooks/dist/hooks.js +0 -2
  612. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +0 -1
  613. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +0 -2
  614. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +0 -2
  615. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
  616. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
  617. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
  618. package/templates/static/node_modules/preact/hooks/package.json +0 -35
  619. package/templates/static/node_modules/preact/hooks/src/index.d.ts +0 -145
  620. package/templates/static/node_modules/preact/hooks/src/index.js +0 -555
  621. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +0 -103
  622. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
  623. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
  624. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
  625. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  626. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
  627. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
  628. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
  629. package/templates/static/node_modules/preact/jsx-runtime/package.json +0 -28
  630. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +0 -62
  631. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +0 -206
  632. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +0 -36
  633. package/templates/static/node_modules/preact/package.json +0 -258
  634. package/templates/static/node_modules/preact/src/cjs.js +0 -3
  635. package/templates/static/node_modules/preact/src/clone-element.js +0 -48
  636. package/templates/static/node_modules/preact/src/component.js +0 -249
  637. package/templates/static/node_modules/preact/src/constants.js +0 -22
  638. package/templates/static/node_modules/preact/src/create-context.js +0 -60
  639. package/templates/static/node_modules/preact/src/create-element.js +0 -97
  640. package/templates/static/node_modules/preact/src/diff/catch-error.js +0 -46
  641. package/templates/static/node_modules/preact/src/diff/children.js +0 -451
  642. package/templates/static/node_modules/preact/src/diff/index.js +0 -684
  643. package/templates/static/node_modules/preact/src/diff/props.js +0 -173
  644. package/templates/static/node_modules/preact/src/dom.d.ts +0 -2476
  645. package/templates/static/node_modules/preact/src/index-5.d.ts +0 -399
  646. package/templates/static/node_modules/preact/src/index.d.ts +0 -402
  647. package/templates/static/node_modules/preact/src/index.js +0 -13
  648. package/templates/static/node_modules/preact/src/internal.d.ts +0 -190
  649. package/templates/static/node_modules/preact/src/jsx.d.ts +0 -2878
  650. package/templates/static/node_modules/preact/src/options.js +0 -16
  651. package/templates/static/node_modules/preact/src/render.js +0 -78
  652. package/templates/static/node_modules/preact/src/util.js +0 -28
  653. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +0 -2
  654. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
  655. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
  656. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
  657. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
  658. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
  659. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
  660. package/templates/static/node_modules/preact/test-utils/package.json +0 -28
  661. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +0 -3
  662. package/templates/static/node_modules/preact/test-utils/src/index.js +0 -129
  663. package/templates/static/node_modules/preact-render-to-string/LICENSE +0 -21
  664. package/templates/static/node_modules/preact-render-to-string/README.md +0 -149
  665. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
  666. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +0 -17
  667. package/templates/static/node_modules/preact-render-to-string/dist/index.js +0 -6
  668. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +0 -1
  669. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +0 -2
  670. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +0 -2
  671. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
  672. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +0 -2
  673. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +0 -1
  674. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +0 -35
  675. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +0 -2
  676. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +0 -4
  677. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +0 -1
  678. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +0 -2
  679. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +0 -2
  680. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +0 -1
  681. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +0 -2
  682. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +0 -1
  683. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -24
  684. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +0 -2
  685. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +0 -1
  686. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +0 -2
  687. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +0 -2
  688. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +0 -1
  689. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +0 -2
  690. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +0 -1
  691. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +0 -884
  692. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +0 -1
  693. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +0 -884
  694. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +0 -884
  695. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +0 -1
  696. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +0 -888
  697. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +0 -1
  698. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +0 -19
  699. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +0 -10
  700. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +0 -24
  701. package/templates/static/node_modules/preact-render-to-string/jsx.js +0 -1
  702. package/templates/static/node_modules/preact-render-to-string/package.json +0 -152
  703. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +0 -17
  704. package/templates/static/node_modules/preact-render-to-string/src/index.js +0 -764
  705. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +0 -35
  706. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +0 -24
  707. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +0 -102
  708. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +0 -97
  709. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +0 -62
  710. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +0 -20
  711. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +0 -8
  712. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +0 -208
  713. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +0 -491
  714. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +0 -19
  715. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +0 -84
  716. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +0 -10
  717. package/templates/static/node_modules/preact-render-to-string/src/stream.js +0 -43
  718. package/templates/static/node_modules/preact-render-to-string/typings.json +0 -5
  719. package/templates/static/node_modules/sirv/build.js +0 -197
  720. package/templates/static/node_modules/sirv/build.mjs +0 -197
  721. package/templates/static/node_modules/sirv/index.d.mts +0 -29
  722. package/templates/static/node_modules/sirv/index.d.ts +0 -33
  723. package/templates/static/node_modules/sirv/package.json +0 -40
  724. package/templates/static/node_modules/sirv/readme.md +0 -238
  725. package/templates/static/node_modules/totalist/dist/index.js +0 -24
  726. package/templates/static/node_modules/totalist/dist/index.mjs +0 -22
  727. package/templates/static/node_modules/totalist/index.d.ts +0 -3
  728. package/templates/static/node_modules/totalist/license +0 -21
  729. package/templates/static/node_modules/totalist/package.json +0 -55
  730. package/templates/static/node_modules/totalist/readme.md +0 -109
  731. package/templates/static/node_modules/totalist/sync/index.d.ts +0 -3
  732. package/templates/static/node_modules/totalist/sync/index.js +0 -17
  733. package/templates/static/node_modules/totalist/sync/index.mjs +0 -15
  734. package/templates/static/node_modules/typescript/bin/tsc +0 -2
  735. package/templates/static/node_modules/typescript/bin/tsserver +0 -2
  736. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  737. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  738. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  739. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  740. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  741. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  742. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  743. package/templates/static/node_modules/typescript/lib/lib.d.ts +0 -22
  744. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  745. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  746. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  747. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  748. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  749. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  750. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  751. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  752. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  753. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  754. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  755. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  756. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  757. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  758. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  759. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  760. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  761. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  762. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  763. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  764. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  765. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  766. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  767. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  768. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  769. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  770. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  771. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  772. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  773. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  774. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  775. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  776. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  777. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  778. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  779. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  780. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  781. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  782. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  783. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  784. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  785. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  786. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  787. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  788. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  789. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  790. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  791. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  792. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  793. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  794. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  795. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  796. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  797. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  798. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  799. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  800. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  801. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  802. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  803. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  804. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  805. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  806. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  807. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  808. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  809. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  810. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  811. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  812. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  813. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  814. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  815. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  816. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  817. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  818. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  819. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  820. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  821. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  822. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  823. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  824. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  825. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  826. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  827. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  828. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  829. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  830. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  831. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  832. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  833. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  834. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  835. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  836. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  837. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  838. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  839. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  840. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  841. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  842. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  843. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  844. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  845. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  846. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  847. package/templates/static/node_modules/typescript/lib/tsc.js +0 -8
  848. package/templates/static/node_modules/typescript/lib/tsserver.js +0 -8
  849. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  850. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  851. package/templates/static/node_modules/typescript/lib/typescript.d.ts +0 -11437
  852. /package/templates/{static → ssr-isr}/lib/auth/index.d.ts +0 -0
  853. /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/jen.config.d.ts +0 -0
  854. /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/site/index.d.ts +0 -0
  855. /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/jen.config.d.ts +0 -0
  856. /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/site/index.d.ts +0 -0
  857. /package/templates/{static → ssr-isr}/lib/compilers/esbuild-plugins.d.ts +0 -0
  858. /package/templates/{static/lib/middleware/types.d.ts → ssr-isr/lib/core/config.js} +0 -0
  859. /package/templates/{static → ssr-isr}/lib/middleware/errors/handler.d.ts +0 -0
  860. /package/templates/{static → ssr-isr}/lib/middleware/utils/matcher.d.ts +0 -0
  861. /package/templates/static/{node_modules → lib/vendor}/preact/LICENSE +0 -0
@@ -1,884 +0,0 @@
1
- var node_stream = require('node:stream');
2
- var preact = require('preact');
3
-
4
- // Options hooks
5
- const DIFF = '__b';
6
- const RENDER = '__r';
7
- const DIFFED = 'diffed';
8
- const COMMIT = '__c';
9
- const SKIP_EFFECTS = '__s';
10
- const CATCH_ERROR = '__e'; // VNode properties
11
-
12
- const COMPONENT = '__c';
13
- const CHILDREN = '__k';
14
- const PARENT = '__';
15
-
16
- const VNODE = '__v';
17
- const DIRTY = '__d';
18
- const BITS = '__g';
19
- const NEXT_STATE = '__s';
20
- const CHILD_DID_SUSPEND = '__c';
21
-
22
- const UNSAFE_NAME = /[\s\n\\/='"\0<>]/;
23
- const NAMESPACE_REPLACE_REGEX = /^(xlink|xmlns|xml)([A-Z])/;
24
- const HTML_LOWER_CASE = /^(?:accessK|auto[A-Z]|cell|ch|col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|popoverT|readO|rowS|src[A-Z]|tabI|useM|item[A-Z])/;
25
- const SVG_CAMEL_CASE = /^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/; // Boolean DOM properties that translate to enumerated ('true'/'false') attributes
26
-
27
- const HTML_ENUMERATED = new Set(['draggable', 'spellcheck']);
28
- const COMPONENT_DIRTY_BIT = 1 << 3;
29
- function setDirty(component) {
30
- if (component[BITS] !== undefined) {
31
- component[BITS] |= COMPONENT_DIRTY_BIT;
32
- } else {
33
- component[DIRTY] = true;
34
- }
35
- }
36
- function unsetDirty(component) {
37
- if (component.__g !== undefined) {
38
- component.__g &= ~COMPONENT_DIRTY_BIT;
39
- } else {
40
- component[DIRTY] = false;
41
- }
42
- }
43
- function isDirty(component) {
44
- if (component.__g !== undefined) {
45
- return (component.__g & COMPONENT_DIRTY_BIT) !== 0;
46
- }
47
-
48
- return component[DIRTY] === true;
49
- } // DOM properties that should NOT have "px" added when numeric
50
-
51
- const ENCODED_ENTITIES = /["&<]/;
52
- /** @param {string} str */
53
-
54
- function encodeEntities(str) {
55
- // Skip all work for strings with no entities needing encoding:
56
- if (str.length === 0 || ENCODED_ENTITIES.test(str) === false) return str;
57
- let last = 0,
58
- i = 0,
59
- out = '',
60
- ch = ''; // Seek forward in str until the next entity char:
61
-
62
- for (; i < str.length; i++) {
63
- switch (str.charCodeAt(i)) {
64
- case 34:
65
- ch = '&quot;';
66
- break;
67
-
68
- case 38:
69
- ch = '&amp;';
70
- break;
71
-
72
- case 60:
73
- ch = '&lt;';
74
- break;
75
-
76
- default:
77
- continue;
78
- } // Append skipped/buffered characters and the encoded entity:
79
-
80
-
81
- if (i !== last) out = out + str.slice(last, i);
82
- out = out + ch; // Start the next seek/buffer after the entity's offset:
83
-
84
- last = i + 1;
85
- }
86
-
87
- if (i !== last) out = out + str.slice(last, i);
88
- return out;
89
- }
90
- const JS_TO_CSS = {};
91
- const IS_NON_DIMENSIONAL = new Set(['animation-iteration-count', 'border-image-outset', 'border-image-slice', 'border-image-width', 'box-flex', 'box-flex-group', 'box-ordinal-group', 'column-count', 'fill-opacity', 'flex', 'flex-grow', 'flex-negative', 'flex-order', 'flex-positive', 'flex-shrink', 'flood-opacity', 'font-weight', 'grid-column', 'grid-row', 'line-clamp', 'line-height', 'opacity', 'order', 'orphans', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'tab-size', 'widows', 'z-index', 'zoom']);
92
- const CSS_REGEX = /[A-Z]/g; // Convert an Object style to a CSSText string
93
-
94
- function styleObjToCss(s) {
95
- let str = '';
96
-
97
- for (let prop in s) {
98
- let val = s[prop];
99
-
100
- if (val != null && val !== '') {
101
- const name = prop[0] == '-' ? prop : JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(CSS_REGEX, '-$&').toLowerCase());
102
- let suffix = ';';
103
-
104
- if (typeof val === 'number' && // Exclude custom-attributes
105
- !name.startsWith('--') && !IS_NON_DIMENSIONAL.has(name)) {
106
- suffix = 'px;';
107
- }
108
-
109
- str = str + name + ':' + val + suffix;
110
- }
111
- }
112
-
113
- return str || undefined;
114
- }
115
-
116
- function markAsDirty() {
117
- this.__d = true;
118
- }
119
-
120
- function createComponent(vnode, context) {
121
- return {
122
- __v: vnode,
123
- context,
124
- props: vnode.props,
125
- // silently drop state updates
126
- setState: markAsDirty,
127
- forceUpdate: markAsDirty,
128
- __d: true,
129
- // hooks
130
- // oxlint-disable-next-line no-new-array
131
- __h: new Array(0)
132
- };
133
- } // Necessary for createContext api. Setting this property will pass
134
- /**
135
- * @template T
136
- */
137
-
138
- class Deferred {
139
- constructor() {
140
- /** @type {Promise<T>} */
141
- this.promise = new Promise((resolve, reject) => {
142
- this.resolve = resolve;
143
- this.reject = reject;
144
- });
145
- }
146
-
147
- }
148
-
149
- const EMPTY_OBJ = {};
150
- const EMPTY_ARR = [];
151
- const isArray = Array.isArray;
152
- const assign = Object.assign;
153
- const EMPTY_STR = '';
154
- const BEGIN_SUSPENSE_DENOMINATOR = '<!--$s-->';
155
- const END_SUSPENSE_DENOMINATOR = '<!--/$s-->'; // Global state for the current render pass
156
-
157
- let beforeDiff, afterDiff, renderHook, ummountHook;
158
- /**
159
- * Render Preact JSX + Components to an HTML string.
160
- * @param {VNode} vnode JSX Element / VNode to render
161
- * @param {Object} [context={}] Initial root context object
162
- * @param {RendererState} [_rendererState] for internal use
163
- * @returns {string} serialized HTML
164
- */
165
-
166
- function renderToString(vnode, context, _rendererState) {
167
- // Performance optimization: `renderToString` is synchronous and we
168
- // therefore don't execute any effects. To do that we pass an empty
169
- // array to `options._commit` (`__c`). But we can go one step further
170
- // and avoid a lot of dirty checks and allocations by setting
171
- // `options._skipEffects` (`__s`) too.
172
- const previousSkipEffects = preact.options[SKIP_EFFECTS];
173
- preact.options[SKIP_EFFECTS] = true; // store options hooks once before each synchronous render call
174
-
175
- beforeDiff = preact.options[DIFF];
176
- afterDiff = preact.options[DIFFED];
177
- renderHook = preact.options[RENDER];
178
- ummountHook = preact.options.unmount;
179
- const parent = preact.h(preact.Fragment, null);
180
- parent[CHILDREN] = [vnode];
181
-
182
- try {
183
- const rendered = _renderToString(vnode, context || EMPTY_OBJ, false, undefined, parent, false, _rendererState);
184
-
185
- if (isArray(rendered)) {
186
- return rendered.join(EMPTY_STR);
187
- }
188
-
189
- return rendered;
190
- } catch (e) {
191
- if (e.then) {
192
- throw new Error('Use "renderToStringAsync" for suspenseful rendering.');
193
- }
194
-
195
- throw e;
196
- } finally {
197
- // options._commit, we don't schedule any effects in this library right now,
198
- // so we can pass an empty queue to this hook.
199
- if (preact.options[COMMIT]) preact.options[COMMIT](vnode, EMPTY_ARR);
200
- preact.options[SKIP_EFFECTS] = previousSkipEffects;
201
- EMPTY_ARR.length = 0;
202
- }
203
- }
204
- /**
205
- * @param {VNode} vnode
206
- * @param {Record<string, unknown>} context
207
- */
208
-
209
- function renderClassComponent(vnode, context) {
210
- let type =
211
- /** @type {import("preact").ComponentClass<typeof vnode.props>} */
212
- vnode.type;
213
- let isMounting = true;
214
- let c;
215
-
216
- if (vnode[COMPONENT]) {
217
- isMounting = false;
218
- c = vnode[COMPONENT];
219
- c.state = c[NEXT_STATE];
220
- } else {
221
- c = new type(vnode.props, context);
222
- }
223
-
224
- vnode[COMPONENT] = c;
225
- c[VNODE] = vnode;
226
- c.props = vnode.props;
227
- c.context = context; // Turn off stateful rendering
228
-
229
- setDirty(c);
230
- if (c.state == null) c.state = EMPTY_OBJ;
231
-
232
- if (c[NEXT_STATE] == null) {
233
- c[NEXT_STATE] = c.state;
234
- }
235
-
236
- if (type.getDerivedStateFromProps) {
237
- c.state = assign({}, c.state, type.getDerivedStateFromProps(c.props, c.state));
238
- } else if (isMounting && c.componentWillMount) {
239
- c.componentWillMount(); // If the user called setState in cWM we need to flush pending,
240
- // state updates. This is the same behaviour in React.
241
-
242
- c.state = c[NEXT_STATE] !== c.state ? c[NEXT_STATE] : c.state;
243
- } else if (!isMounting && c.componentWillUpdate) {
244
- c.componentWillUpdate();
245
- }
246
-
247
- if (renderHook) renderHook(vnode);
248
- return c.render(c.props, c.state, context);
249
- }
250
- /**
251
- * Recursively render VNodes to HTML.
252
- * @param {VNode|any} vnode
253
- * @param {any} context
254
- * @param {boolean} isSvgMode
255
- * @param {any} selectValue
256
- * @param {VNode} parent
257
- * @param {boolean} asyncMode
258
- * @param {RendererState | undefined} [renderer]
259
- * @returns {string | Promise<string> | (string | Promise<string>)[]}
260
- */
261
-
262
-
263
- function _renderToString(vnode, context, isSvgMode, selectValue, parent, asyncMode, renderer) {
264
- // Ignore non-rendered VNodes/values
265
- if (vnode == null || vnode === true || vnode === false || vnode === EMPTY_STR) {
266
- return EMPTY_STR;
267
- }
268
-
269
- let vnodeType = typeof vnode; // Text VNodes: escape as HTML
270
-
271
- if (vnodeType != 'object') {
272
- if (vnodeType == 'function') return EMPTY_STR;
273
- return vnodeType == 'string' ? encodeEntities(vnode) : vnode + EMPTY_STR;
274
- } // Recurse into children / Arrays
275
-
276
-
277
- if (isArray(vnode)) {
278
- let rendered = EMPTY_STR,
279
- renderArray;
280
- parent[CHILDREN] = vnode;
281
- const vnodeLength = vnode.length;
282
-
283
- for (let i = 0; i < vnodeLength; i++) {
284
- let child = vnode[i];
285
- if (child == null || typeof child == 'boolean') continue;
286
-
287
- const childRender = _renderToString(child, context, isSvgMode, selectValue, parent, asyncMode, renderer);
288
-
289
- if (typeof childRender == 'string') {
290
- rendered = rendered + childRender;
291
- } else {
292
- if (!renderArray) {
293
- // oxlint-disable-next-line no-new-array
294
- renderArray = new Array(vnodeLength);
295
- }
296
-
297
- if (rendered) renderArray.push(rendered);
298
- rendered = EMPTY_STR;
299
-
300
- if (isArray(childRender)) {
301
- renderArray.push(...childRender);
302
- } else {
303
- renderArray.push(childRender);
304
- }
305
- }
306
- }
307
-
308
- if (renderArray) {
309
- if (rendered) renderArray.push(rendered);
310
- return renderArray;
311
- }
312
-
313
- return rendered;
314
- } // VNodes have {constructor:undefined} to prevent JSON injection:
315
-
316
-
317
- if (vnode.constructor !== undefined) return EMPTY_STR;
318
- vnode[PARENT] = parent;
319
- if (beforeDiff) beforeDiff(vnode);
320
- let type = vnode.type,
321
- props = vnode.props; // Invoke rendering on Components
322
-
323
- if (typeof type == 'function') {
324
- let cctx = context,
325
- contextType,
326
- rendered,
327
- component;
328
-
329
- if (type === preact.Fragment) {
330
- // Serialized precompiled JSX.
331
- if ('tpl' in props) {
332
- let out = EMPTY_STR;
333
-
334
- for (let i = 0; i < props.tpl.length; i++) {
335
- out = out + props.tpl[i];
336
-
337
- if (props.exprs && i < props.exprs.length) {
338
- const value = props.exprs[i];
339
- if (value == null) continue; // Check if we're dealing with a vnode or an array of nodes
340
-
341
- if (typeof value == 'object' && (value.constructor === undefined || isArray(value))) {
342
- out = out + _renderToString(value, context, isSvgMode, selectValue, vnode, asyncMode, renderer);
343
- } else {
344
- // Values are pre-escaped by the JSX transform
345
- out = out + value;
346
- }
347
- }
348
- }
349
-
350
- return out;
351
- } else if ('UNSTABLE_comment' in props) {
352
- // Fragments are the least used components of core that's why
353
- // branching here for comments has the least effect on perf.
354
- return '<!--' + encodeEntities(props.UNSTABLE_comment) + '-->';
355
- }
356
-
357
- rendered = props.children;
358
- } else {
359
- contextType = type.contextType;
360
-
361
- if (contextType != null) {
362
- let provider = context[contextType.__c];
363
- cctx = provider ? provider.props.value : contextType.__;
364
- }
365
-
366
- let isClassComponent = type.prototype && typeof type.prototype.render == 'function';
367
-
368
- if (isClassComponent) {
369
- rendered =
370
- /**#__NOINLINE__**/
371
- renderClassComponent(vnode, cctx);
372
- component = vnode[COMPONENT];
373
- } else {
374
- vnode[COMPONENT] = component =
375
- /**#__NOINLINE__**/
376
- createComponent(vnode, cctx); // If a hook invokes setState() to invalidate the component during rendering,
377
- // re-render it up to 25 times to allow "settling" of memoized states.
378
- // Note:
379
- // This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:
380
- // https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44
381
-
382
- let count = 0;
383
-
384
- while (isDirty(component) && count++ < 25) {
385
- unsetDirty(component);
386
- if (renderHook) renderHook(vnode);
387
-
388
- try {
389
- rendered = type.call(component, props, cctx);
390
- } catch (error) {
391
- if (asyncMode && error && typeof error.then == 'function') {
392
- vnode._suspended = true;
393
- }
394
-
395
- throw error;
396
- }
397
- }
398
-
399
- setDirty(component);
400
- }
401
-
402
- if (component.getChildContext != null) {
403
- context = assign({}, context, component.getChildContext());
404
- }
405
-
406
- if (isClassComponent && preact.options.errorBoundaries && (type.getDerivedStateFromError || component.componentDidCatch)) {
407
- // When a component returns a Fragment node we flatten it in core, so we
408
- // need to mirror that logic here too
409
- let isTopLevelFragment = rendered != null && rendered.type === preact.Fragment && rendered.key == null && rendered.props.tpl == null;
410
- rendered = isTopLevelFragment ? rendered.props.children : rendered;
411
-
412
- try {
413
- return _renderToString(rendered, context, isSvgMode, selectValue, vnode, asyncMode, false, renderer);
414
- } catch (err) {
415
- if (type.getDerivedStateFromError) {
416
- component[NEXT_STATE] = type.getDerivedStateFromError(err);
417
- }
418
-
419
- if (component.componentDidCatch) {
420
- component.componentDidCatch(err, EMPTY_OBJ);
421
- }
422
-
423
- if (isDirty(component)) {
424
- rendered = renderClassComponent(vnode, context);
425
- component = vnode[COMPONENT];
426
-
427
- if (component.getChildContext != null) {
428
- context = assign({}, context, component.getChildContext());
429
- }
430
-
431
- let isTopLevelFragment = rendered != null && rendered.type === preact.Fragment && rendered.key == null && rendered.props.tpl == null;
432
- rendered = isTopLevelFragment ? rendered.props.children : rendered;
433
- return _renderToString(rendered, context, isSvgMode, selectValue, vnode, asyncMode, renderer);
434
- }
435
-
436
- return EMPTY_STR;
437
- } finally {
438
- if (afterDiff) afterDiff(vnode);
439
- if (ummountHook) ummountHook(vnode);
440
- }
441
- }
442
- } // When a component returns a Fragment node we flatten it in core, so we
443
- // need to mirror that logic here too
444
-
445
-
446
- let isTopLevelFragment = rendered != null && rendered.type === preact.Fragment && rendered.key == null && rendered.props.tpl == null;
447
- rendered = isTopLevelFragment ? rendered.props.children : rendered;
448
-
449
- try {
450
- // Recurse into children before invoking the after-diff hook
451
- const str = _renderToString(rendered, context, isSvgMode, selectValue, vnode, asyncMode, renderer);
452
-
453
- if (afterDiff) afterDiff(vnode); // when we are dealing with suspense we can't do this...
454
-
455
- if (preact.options.unmount) preact.options.unmount(vnode);
456
-
457
- if (vnode._suspended) {
458
- if (typeof str === 'string') {
459
- return BEGIN_SUSPENSE_DENOMINATOR + str + END_SUSPENSE_DENOMINATOR;
460
- } else if (isArray(str)) {
461
- str.unshift(BEGIN_SUSPENSE_DENOMINATOR);
462
- str.push(END_SUSPENSE_DENOMINATOR);
463
- return str;
464
- }
465
-
466
- return str.then(resolved => BEGIN_SUSPENSE_DENOMINATOR + resolved + END_SUSPENSE_DENOMINATOR);
467
- }
468
-
469
- return str;
470
- } catch (error) {
471
- if (!asyncMode && renderer && renderer.onError) {
472
- const onError = error => {
473
- return renderer.onError(error, vnode, (child, parent) => {
474
- try {
475
- return _renderToString(child, context, isSvgMode, selectValue, parent, asyncMode, renderer);
476
- } catch (e) {
477
- return onError(e);
478
- }
479
- });
480
- };
481
-
482
- let res = onError(error);
483
- if (res !== undefined) return res;
484
- let errorHook = preact.options[CATCH_ERROR];
485
- if (errorHook) errorHook(error, vnode);
486
- return EMPTY_STR;
487
- }
488
-
489
- if (!asyncMode) throw error;
490
- if (!error || typeof error.then != 'function') throw error;
491
-
492
- const renderNestedChildren = () => {
493
- try {
494
- const result = _renderToString(rendered, context, isSvgMode, selectValue, vnode, asyncMode, renderer);
495
-
496
- return vnode._suspended ? BEGIN_SUSPENSE_DENOMINATOR + result + END_SUSPENSE_DENOMINATOR : result;
497
- } catch (e) {
498
- if (!e || typeof e.then != 'function') throw e;
499
- return e.then(renderNestedChildren);
500
- }
501
- };
502
-
503
- return error.then(renderNestedChildren);
504
- }
505
- } // Serialize Element VNodes to HTML
506
-
507
-
508
- let s = '<' + type,
509
- html = EMPTY_STR,
510
- children;
511
-
512
- for (let name in props) {
513
- let v = props[name];
514
- v = isSignal(v) ? v.value : v;
515
-
516
- if (typeof v == 'function' && name !== 'class' && name !== 'className') {
517
- continue;
518
- }
519
-
520
- switch (name) {
521
- case 'children':
522
- children = v;
523
- continue;
524
- // VDOM-specific props
525
-
526
- case 'key':
527
- case 'ref':
528
- case '__self':
529
- case '__source':
530
- continue;
531
- // prefer for/class over htmlFor/className
532
-
533
- case 'htmlFor':
534
- if ('for' in props) continue;
535
- name = 'for';
536
- break;
537
-
538
- case 'className':
539
- if ('class' in props) continue;
540
- name = 'class';
541
- break;
542
- // Form element reflected properties
543
-
544
- case 'defaultChecked':
545
- name = 'checked';
546
- break;
547
-
548
- case 'defaultSelected':
549
- name = 'selected';
550
- break;
551
- // Special value attribute handling
552
-
553
- case 'defaultValue':
554
- case 'value':
555
- name = 'value';
556
-
557
- switch (type) {
558
- // <textarea value="a&b"> --> <textarea>a&amp;b</textarea>
559
- case 'textarea':
560
- children = v;
561
- continue;
562
- // <select value> is serialized as a selected attribute on the matching option child
563
-
564
- case 'select':
565
- selectValue = v;
566
- continue;
567
- // Add a selected attribute to <option> if its value matches the parent <select> value
568
-
569
- case 'option':
570
- if (selectValue == v && !('selected' in props)) {
571
- s = s + ' selected';
572
- }
573
-
574
- break;
575
- }
576
-
577
- break;
578
-
579
- case 'dangerouslySetInnerHTML':
580
- html = v && v.__html;
581
- continue;
582
- // serialize object styles to a CSS string
583
-
584
- case 'style':
585
- if (typeof v === 'object') {
586
- v = styleObjToCss(v);
587
- }
588
-
589
- break;
590
-
591
- case 'acceptCharset':
592
- name = 'accept-charset';
593
- break;
594
-
595
- case 'httpEquiv':
596
- name = 'http-equiv';
597
- break;
598
-
599
- default:
600
- {
601
- if (NAMESPACE_REPLACE_REGEX.test(name)) {
602
- name = name.replace(NAMESPACE_REPLACE_REGEX, '$1:$2').toLowerCase();
603
- } else if (UNSAFE_NAME.test(name)) {
604
- continue;
605
- } else if ((name[4] === '-' || HTML_ENUMERATED.has(name)) && v != null) {
606
- // serialize boolean aria-xyz or enumerated attribute values as strings
607
- v = v + EMPTY_STR;
608
- } else if (isSvgMode) {
609
- if (SVG_CAMEL_CASE.test(name)) {
610
- name = name === 'panose1' ? 'panose-1' : name.replace(/([A-Z])/g, '-$1').toLowerCase();
611
- }
612
- } else if (HTML_LOWER_CASE.test(name)) {
613
- name = name.toLowerCase();
614
- }
615
- }
616
- } // write this attribute to the buffer
617
-
618
-
619
- if (v != null && v !== false) {
620
- if (v === true || v === EMPTY_STR) {
621
- s = s + ' ' + name;
622
- } else {
623
- s = s + ' ' + name + '="' + (typeof v == 'string' ? encodeEntities(v) : v + EMPTY_STR) + '"';
624
- }
625
- }
626
- }
627
-
628
- if (UNSAFE_NAME.test(type)) {
629
- // this seems to performs a lot better than throwing
630
- // return '<!-- -->';
631
- throw new Error(`${type} is not a valid HTML tag name in ${s}>`);
632
- }
633
-
634
- if (html) ; else if (typeof children === 'string') {
635
- // single text child
636
- html = encodeEntities(children);
637
- } else if (children != null && children !== false && children !== true) {
638
- // recurse into this element VNode's children
639
- let childSvgMode = type === 'svg' || type !== 'foreignObject' && isSvgMode;
640
- html = _renderToString(children, context, childSvgMode, selectValue, vnode, asyncMode, renderer);
641
- }
642
-
643
- if (afterDiff) afterDiff(vnode);
644
- if (ummountHook) ummountHook(vnode); // Emit self-closing tag for empty void elements:
645
-
646
- if (!html && SELF_CLOSING.has(type)) {
647
- return s + '/>';
648
- }
649
-
650
- const endTag = '</' + type + '>';
651
- const startTag = s + '>';
652
- if (isArray(html)) return [startTag, ...html, endTag];else if (typeof html != 'string') return [startTag, html, endTag];
653
- return startTag + html + endTag;
654
- }
655
-
656
- const SELF_CLOSING = new Set(['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']);
657
-
658
- function isSignal(x) {
659
- return x !== null && typeof x === 'object' && typeof x.peek === 'function' && 'value' in x;
660
- }
661
-
662
- /* eslint-disable no-var, key-spacing, object-curly-spacing, prefer-arrow-callback, semi, keyword-spacing */
663
- // function initPreactIslandElement() {
664
- // class PreactIslandElement extends HTMLElement {
665
- // connectedCallback() {
666
- // var d = this;
667
- // if (!d.isConnected) return;
668
- // let i = this.getAttribute('data-target');
669
- // if (!i) return;
670
- // var s,
671
- // e,
672
- // c = document.createNodeIterator(document, 128);
673
- // while (c.nextNode()) {
674
- // let n = c.referenceNode;
675
- // if (n.data == 'preact-island:' + i) s = n;
676
- // else if (n.data == '/preact-island:' + i) e = n;
677
- // if (s && e) break;
678
- // }
679
- // if (s && e) {
680
- // requestAnimationFrame(() => {
681
- // var p = e.previousSibling;
682
- // while (p != s) {
683
- // if (!p || p == s) break;
684
- // e.parentNode.removeChild(p);
685
- // p = e.previousSibling;
686
- // }
687
- // c = s;
688
- // while (d.firstChild) {
689
- // s = d.firstChild;
690
- // d.removeChild(s);
691
- // c.after(s);
692
- // c = s;
693
- // }
694
- // d.parentNode.removeChild(d);
695
- // });
696
- // }
697
- // }
698
- // }
699
- // customElements.define('preact-island', PreactIslandElement);
700
- // }
701
- // To modify the INIT_SCRIPT, uncomment the above code, modify it, and paste it into https://try.terser.org/.
702
- const INIT_SCRIPT = `class e extends HTMLElement{connectedCallback(){var e=this;if(!e.isConnected)return;let t=this.getAttribute("data-target");if(t){for(var r,a,i=document.createNodeIterator(document,128);i.nextNode();){let e=i.referenceNode;if(e.data=="preact-island:"+t?r=e:e.data=="/preact-island:"+t&&(a=e),r&&a)break}r&&a&&requestAnimationFrame((()=>{for(var t=a.previousSibling;t!=r&&t&&t!=r;)a.parentNode.removeChild(t),t=a.previousSibling;for(i=r;e.firstChild;)r=e.firstChild,e.removeChild(r),i.after(r),i=r;e.parentNode.removeChild(e)}))}}}customElements.define("preact-island",e);`;
703
- function createInitScript() {
704
- return `<script>(function(){${INIT_SCRIPT}}())</script>`;
705
- }
706
- /**
707
- * @param {string} id
708
- * @param {string} content
709
- * @returns {string}
710
- */
711
-
712
- function createSubtree(id, content) {
713
- return `<preact-island hidden data-target="${id}">${content}</preact-island>`;
714
- }
715
-
716
- /**
717
- * @param {VNode} vnode
718
- * @param {RenderToChunksOptions} options
719
- * @returns {Promise<void>}
720
- */
721
-
722
- async function renderToChunks(vnode, {
723
- context,
724
- onWrite,
725
- abortSignal
726
- }) {
727
- context = context || {};
728
- /** @type {RendererState} */
729
-
730
- const renderer = {
731
- start: Date.now(),
732
- abortSignal,
733
- onWrite,
734
- onError: handleError,
735
- suspended: []
736
- }; // Synchronously render the shell
737
- // @ts-ignore - using third internal RendererState argument
738
-
739
- const shell = renderToString(vnode, context, renderer);
740
- onWrite(shell); // Wait for any suspended sub-trees if there are any
741
-
742
- const len = renderer.suspended.length;
743
-
744
- if (len > 0) {
745
- onWrite('<div hidden>');
746
- onWrite(createInitScript()); // We should keep checking all promises
747
-
748
- await forkPromises(renderer);
749
- onWrite('</div>');
750
- }
751
- }
752
-
753
- async function forkPromises(renderer) {
754
- if (renderer.suspended.length > 0) {
755
- const suspensions = [...renderer.suspended];
756
- await Promise.all(renderer.suspended.map(s => s.promise));
757
- renderer.suspended = renderer.suspended.filter(s => !suspensions.includes(s));
758
- await forkPromises(renderer);
759
- }
760
- }
761
- /** @type {RendererErrorHandler} */
762
-
763
-
764
- function handleError(error, vnode, renderChild) {
765
- if (!error || !error.then) return; // walk up to the Suspense boundary
766
-
767
- while (vnode = vnode[PARENT]) {
768
- let component = vnode[COMPONENT];
769
-
770
- if (component && component[CHILD_DID_SUSPEND]) {
771
- break;
772
- }
773
- }
774
-
775
- if (!vnode) return;
776
- const id = vnode.__v;
777
- const found = this.suspended.find(x => x.id === id);
778
- const race = new Deferred();
779
- const abortSignal = this.abortSignal;
780
-
781
- if (abortSignal) {
782
- // @ts-ignore 2554 - implicit undefined arg
783
- if (abortSignal.aborted) race.resolve();else abortSignal.addEventListener('abort', race.resolve);
784
- }
785
-
786
- const promise = error.then(() => {
787
- if (abortSignal && abortSignal.aborted) return;
788
- const child = renderChild(vnode.props.children, vnode);
789
- if (child) this.onWrite(createSubtree(id, child));
790
- }, // TODO: Abort and send hydration code snippet to client
791
- // to attempt to recover during hydration
792
- this.onError);
793
- this.suspended.push({
794
- id,
795
- vnode,
796
- promise: Promise.race([promise, race.promise])
797
- });
798
- const fallback = renderChild(vnode.props.fallback);
799
- return found ? '' : `<!--preact-island:${id}-->${fallback}<!--/preact-island:${id}-->`;
800
- }
801
-
802
- /**
803
- * @typedef {object} RenderToPipeableStreamOptions
804
- * @property {() => void} [onShellReady]
805
- * @property {() => void} [onAllReady]
806
- * @property {(error) => void} [onError]
807
- */
808
-
809
- /**
810
- * @typedef {object} PipeableStream
811
- * @property {() => void} abort
812
- * @property {(writable: import('stream').Writable) => void} pipe
813
- */
814
-
815
- /**
816
- * @param {import('preact').VNode} vnode
817
- * @param {RenderToPipeableStreamOptions} options
818
- * @param {any} [context]
819
- * @returns {PipeableStream}
820
- */
821
-
822
- function renderToPipeableStream(vnode, options, context) {
823
- const encoder = new TextEncoder('utf-8');
824
- const controller = new AbortController();
825
- const stream = new node_stream.PassThrough();
826
- renderToChunks(vnode, {
827
- context,
828
- abortSignal: controller.signal,
829
- onError: error => {
830
- if (options.onError) {
831
- options.onError(error);
832
- }
833
-
834
- controller.abort(error);
835
- },
836
-
837
- onWrite(s) {
838
- stream.write(encoder.encode(s));
839
- }
840
-
841
- }).then(() => {
842
- options.onAllReady && options.onAllReady();
843
- stream.end();
844
- }).catch(error => {
845
- stream.destroy();
846
-
847
- if (options.onError) {
848
- options.onError(error);
849
- } else {
850
- throw error;
851
- }
852
- });
853
- Promise.resolve().then(() => {
854
- options.onShellReady && options.onShellReady();
855
- });
856
- return {
857
- /**
858
- * @param {unknown} [reason]
859
- */
860
- abort(reason = new Error('The render was aborted by the server without a reason.')) {
861
- // Remix/React-Router will always call abort after a timeout, even on success
862
- if (stream.closed) return;
863
- controller.abort();
864
- stream.destroy();
865
-
866
- if (options.onError) {
867
- options.onError(reason);
868
- }
869
- },
870
-
871
- /**
872
- * @param {import("stream").Writable} writable
873
- */
874
- pipe(writable) {
875
- stream.pipe(writable, {
876
- end: true
877
- });
878
- }
879
-
880
- };
881
- }
882
-
883
- exports.renderToPipeableStream = renderToPipeableStream;
884
- //# sourceMappingURL=index.js.map