create-jen-app 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/README.md +3 -1
  2. package/dist/index.js +1 -6
  3. package/package.json +2 -2
  4. package/templates/static/.esbuild/jen.config.js +18 -0
  5. package/templates/static/README.md +63 -67
  6. package/templates/static/build.js +4 -6
  7. package/templates/static/jen.config.ts +3 -5
  8. package/templates/static/jenjs.d.ts +3 -3
  9. package/templates/static/lib/api/(hello).d.ts +5 -5
  10. package/templates/static/lib/api/(hello).js +7 -7
  11. package/templates/static/lib/auth/cookie-utils.d.ts +20 -11
  12. package/templates/static/lib/auth/cookie-utils.js +66 -69
  13. package/templates/static/lib/auth/jwt.d.ts +28 -0
  14. package/templates/static/lib/auth/jwt.js +50 -6
  15. package/templates/static/lib/auth/session.d.ts +34 -34
  16. package/templates/static/lib/auth/session.js +79 -81
  17. package/templates/static/lib/build/asset-hashing.js +4 -4
  18. package/templates/static/lib/build/asset-manifest.js +4 -4
  19. package/templates/static/lib/build/build.d.ts +20 -0
  20. package/templates/static/lib/build/build.js +43 -6
  21. package/templates/static/lib/build/island-hydration.js +2 -2
  22. package/templates/static/lib/build/minifier.js +12 -12
  23. package/templates/static/lib/build/page-renderer.d.ts +2 -2
  24. package/templates/static/lib/build/page-renderer.js +3 -3
  25. package/templates/static/lib/build/production-build.d.ts +1 -1
  26. package/templates/static/lib/build/production-build.js +4 -4
  27. package/templates/static/lib/build/ssg-pipeline.d.ts +1 -1
  28. package/templates/static/lib/build/ssg-pipeline.js +19 -19
  29. package/templates/static/lib/build-tools/build-site.d.ts +3 -3
  30. package/templates/static/lib/build-tools/build-site.js +27 -30
  31. package/templates/static/lib/cache/index.d.ts +8 -0
  32. package/templates/static/lib/cache/index.js +8 -0
  33. package/templates/static/lib/cache/memory.d.ts +31 -4
  34. package/templates/static/lib/cache/memory.js +38 -12
  35. package/templates/static/lib/cache/redis.d.ts +43 -4
  36. package/templates/static/lib/cache/redis.js +59 -14
  37. package/templates/static/lib/cli/banner.d.ts +5 -1
  38. package/templates/static/lib/cli/banner.js +18 -14
  39. package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -29
  40. package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
  41. package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -29
  42. package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
  43. package/templates/static/lib/compilers/esbuild-plugins.js +96 -98
  44. package/templates/static/lib/compilers/svelte.d.ts +10 -10
  45. package/templates/static/lib/compilers/svelte.js +31 -31
  46. package/templates/static/lib/compilers/vue.d.ts +8 -8
  47. package/templates/static/lib/compilers/vue.js +76 -68
  48. package/templates/static/lib/core/config.d.ts +217 -50
  49. package/templates/static/lib/core/http.d.ts +55 -2
  50. package/templates/static/lib/core/http.js +66 -20
  51. package/templates/static/lib/core/middleware-hooks.d.ts +204 -31
  52. package/templates/static/lib/core/middleware-hooks.js +86 -41
  53. package/templates/static/lib/core/paths.d.ts +42 -4
  54. package/templates/static/lib/core/paths.js +34 -2
  55. package/templates/static/lib/core/routes/match.d.ts +51 -3
  56. package/templates/static/lib/core/routes/match.js +44 -11
  57. package/templates/static/lib/core/routes/scan.d.ts +49 -5
  58. package/templates/static/lib/core/routes/scan.js +174 -115
  59. package/templates/static/lib/core/types.d.ts +148 -13
  60. package/templates/static/lib/css/compiler.d.ts +16 -13
  61. package/templates/static/lib/css/compiler.js +62 -58
  62. package/templates/static/lib/db/connector.d.ts +27 -1
  63. package/templates/static/lib/db/connector.js +37 -11
  64. package/templates/static/lib/db/drivers/jdb.d.ts +13 -9
  65. package/templates/static/lib/db/drivers/jdb.js +41 -39
  66. package/templates/static/lib/db/drivers/sql.d.ts +16 -12
  67. package/templates/static/lib/db/drivers/sql.js +152 -135
  68. package/templates/static/lib/db/index.d.ts +20 -12
  69. package/templates/static/lib/db/index.js +41 -41
  70. package/templates/static/lib/db/types.d.ts +22 -18
  71. package/templates/static/lib/graphql/index.d.ts +47 -0
  72. package/templates/static/lib/graphql/index.js +50 -3
  73. package/templates/static/lib/graphql/resolvers.d.ts +51 -11
  74. package/templates/static/lib/graphql/resolvers.js +22 -6
  75. package/templates/static/lib/graphql/schema.d.ts +34 -0
  76. package/templates/static/lib/graphql/schema.js +34 -2
  77. package/templates/static/lib/i18n/en.json +2 -2
  78. package/templates/static/lib/i18n/es.json +2 -2
  79. package/templates/static/lib/i18n/index.d.ts +4 -4
  80. package/templates/static/lib/i18n/index.js +10 -10
  81. package/templates/static/lib/import/jen-import.d.ts +39 -10
  82. package/templates/static/lib/import/jen-import.js +130 -80
  83. package/templates/static/lib/index.d.ts +42 -11
  84. package/templates/static/lib/index.js +21 -8
  85. package/templates/static/lib/jdb/engine.d.ts +35 -6
  86. package/templates/static/lib/jdb/engine.js +260 -144
  87. package/templates/static/lib/jdb/index.d.ts +32 -0
  88. package/templates/static/lib/jdb/index.js +32 -0
  89. package/templates/static/lib/jdb/types.d.ts +212 -30
  90. package/templates/static/lib/jdb/utils.d.ts +60 -0
  91. package/templates/static/lib/jdb/utils.js +159 -107
  92. package/templates/static/lib/middleware/builtins/body-parser.d.ts +15 -0
  93. package/templates/static/lib/middleware/builtins/body-parser.js +53 -35
  94. package/templates/static/lib/middleware/builtins/cors.d.ts +8 -6
  95. package/templates/static/lib/middleware/builtins/cors.js +52 -48
  96. package/templates/static/lib/middleware/builtins/logger.d.ts +18 -0
  97. package/templates/static/lib/middleware/builtins/logger.js +31 -13
  98. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +19 -2
  99. package/templates/static/lib/middleware/builtins/rate-limit.js +75 -55
  100. package/templates/static/lib/middleware/builtins/request-id.d.ts +18 -0
  101. package/templates/static/lib/middleware/builtins/request-id.js +26 -5
  102. package/templates/static/lib/middleware/builtins/security-headers.d.ts +18 -0
  103. package/templates/static/lib/middleware/builtins/security-headers.js +51 -20
  104. package/templates/static/lib/middleware/context.d.ts +102 -15
  105. package/templates/static/lib/middleware/context.js +121 -30
  106. package/templates/static/lib/middleware/decorators.d.ts +18 -1
  107. package/templates/static/lib/middleware/decorators.js +83 -34
  108. package/templates/static/lib/middleware/errors/handler.js +22 -24
  109. package/templates/static/lib/middleware/errors/http-error.d.ts +3 -3
  110. package/templates/static/lib/middleware/errors/http-error.js +8 -8
  111. package/templates/static/lib/middleware/kernel.d.ts +67 -4
  112. package/templates/static/lib/middleware/kernel.js +80 -17
  113. package/templates/static/lib/middleware/pipeline.d.ts +51 -2
  114. package/templates/static/lib/middleware/pipeline.js +143 -45
  115. package/templates/static/lib/middleware/registry.d.ts +67 -8
  116. package/templates/static/lib/middleware/registry.js +83 -22
  117. package/templates/static/lib/middleware/response.d.ts +73 -11
  118. package/templates/static/lib/middleware/response.js +104 -40
  119. package/templates/static/lib/middleware/utils/matcher.js +11 -12
  120. package/templates/static/lib/native/bundle.d.ts +13 -8
  121. package/templates/static/lib/native/bundle.js +14 -14
  122. package/templates/static/lib/native/dev-server.d.ts +11 -4
  123. package/templates/static/lib/native/dev-server.js +14 -12
  124. package/templates/static/lib/native/index.d.ts +20 -20
  125. package/templates/static/lib/native/index.js +23 -21
  126. package/templates/static/lib/native/optimizer.d.ts +14 -10
  127. package/templates/static/lib/native/optimizer.js +14 -14
  128. package/templates/static/lib/native/style-compiler.d.ts +17 -8
  129. package/templates/static/lib/native/style-compiler.js +9 -9
  130. package/templates/static/lib/plugin/loader.d.ts +8 -6
  131. package/templates/static/lib/plugin/loader.js +25 -31
  132. package/templates/static/lib/runtime/client-runtime.d.ts +15 -0
  133. package/templates/static/lib/runtime/client-runtime.js +23 -9
  134. package/templates/static/lib/runtime/hmr.d.ts +23 -1
  135. package/templates/static/lib/runtime/hmr.js +27 -5
  136. package/templates/static/lib/runtime/hydrate.d.ts +17 -0
  137. package/templates/static/lib/runtime/hydrate.js +48 -21
  138. package/templates/static/lib/runtime/island-hydration-client.d.ts +5 -2
  139. package/templates/static/lib/runtime/island-hydration-client.js +122 -91
  140. package/templates/static/lib/runtime/islands.d.ts +82 -27
  141. package/templates/static/lib/runtime/islands.js +92 -54
  142. package/templates/static/lib/runtime/render.d.ts +36 -9
  143. package/templates/static/lib/runtime/render.js +208 -130
  144. package/templates/static/lib/server/api-routes.d.ts +96 -28
  145. package/templates/static/lib/server/api-routes.js +214 -156
  146. package/templates/static/lib/server/api.d.ts +3 -3
  147. package/templates/static/lib/server/api.js +93 -92
  148. package/templates/static/lib/server/app.d.ts +37 -3
  149. package/templates/static/lib/server/app.js +328 -254
  150. package/templates/static/lib/server/runtimeServe.d.ts +56 -0
  151. package/templates/static/lib/server/runtimeServe.js +130 -69
  152. package/templates/static/lib/server/ssr.d.ts +161 -0
  153. package/templates/static/lib/server/ssr.js +219 -0
  154. package/templates/static/lib/shared/log.d.ts +47 -3
  155. package/templates/static/lib/shared/log.js +60 -10
  156. package/templates/static/package.json +5 -1
  157. package/templates/static/server.js +4 -6
  158. package/templates/static/site/(home).tsx +30 -12
  159. package/templates/static/site/styles/global.scss +89 -78
  160. package/templates/static/tsconfig.json +39 -39
  161. package/templates/static/node_modules/.bin/esbuild +0 -16
  162. package/templates/static/node_modules/.bin/esbuild.cmd +0 -17
  163. package/templates/static/node_modules/.bin/esbuild.ps1 +0 -28
  164. package/templates/static/node_modules/.bin/tsc +0 -16
  165. package/templates/static/node_modules/.bin/tsc.cmd +0 -17
  166. package/templates/static/node_modules/.bin/tsc.ps1 +0 -28
  167. package/templates/static/node_modules/.bin/tsserver +0 -16
  168. package/templates/static/node_modules/.bin/tsserver.cmd +0 -17
  169. package/templates/static/node_modules/.bin/tsserver.ps1 +0 -28
  170. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -14
  171. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +0 -11
  172. package/templates/static/node_modules/.package-lock.json +0 -585
  173. package/templates/static/node_modules/@esbuild/win32-x64/README.md +0 -3
  174. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  175. package/templates/static/node_modules/@esbuild/win32-x64/package.json +0 -20
  176. package/templates/static/node_modules/@jenjs/master/README.md +0 -24
  177. package/templates/static/node_modules/@jenjs/master/index.js +0 -3655
  178. package/templates/static/node_modules/@jenjs/master/package.json +0 -36
  179. package/templates/static/node_modules/@polka/url/build.js +0 -49
  180. package/templates/static/node_modules/@polka/url/build.mjs +0 -47
  181. package/templates/static/node_modules/@polka/url/index.d.ts +0 -11
  182. package/templates/static/node_modules/@polka/url/package.json +0 -30
  183. package/templates/static/node_modules/@polka/url/readme.md +0 -68
  184. package/templates/static/node_modules/@types/node/LICENSE +0 -21
  185. package/templates/static/node_modules/@types/node/README.md +0 -15
  186. package/templates/static/node_modules/@types/node/assert/strict.d.ts +0 -111
  187. package/templates/static/node_modules/@types/node/assert.d.ts +0 -1078
  188. package/templates/static/node_modules/@types/node/async_hooks.d.ts +0 -603
  189. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  190. package/templates/static/node_modules/@types/node/buffer.d.ts +0 -1934
  191. package/templates/static/node_modules/@types/node/child_process.d.ts +0 -1476
  192. package/templates/static/node_modules/@types/node/cluster.d.ts +0 -578
  193. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  194. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +0 -9
  195. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  196. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  197. package/templates/static/node_modules/@types/node/console.d.ts +0 -452
  198. package/templates/static/node_modules/@types/node/constants.d.ts +0 -21
  199. package/templates/static/node_modules/@types/node/crypto.d.ts +0 -4545
  200. package/templates/static/node_modules/@types/node/dgram.d.ts +0 -600
  201. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  202. package/templates/static/node_modules/@types/node/dns/promises.d.ts +0 -503
  203. package/templates/static/node_modules/@types/node/dns.d.ts +0 -923
  204. package/templates/static/node_modules/@types/node/domain.d.ts +0 -170
  205. package/templates/static/node_modules/@types/node/events.d.ts +0 -976
  206. package/templates/static/node_modules/@types/node/fs/promises.d.ts +0 -1295
  207. package/templates/static/node_modules/@types/node/fs.d.ts +0 -4461
  208. package/templates/static/node_modules/@types/node/globals.d.ts +0 -172
  209. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  210. package/templates/static/node_modules/@types/node/http.d.ts +0 -2089
  211. package/templates/static/node_modules/@types/node/http2.d.ts +0 -2644
  212. package/templates/static/node_modules/@types/node/https.d.ts +0 -579
  213. package/templates/static/node_modules/@types/node/index.d.ts +0 -97
  214. package/templates/static/node_modules/@types/node/inspector.d.ts +0 -253
  215. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  216. package/templates/static/node_modules/@types/node/module.d.ts +0 -891
  217. package/templates/static/node_modules/@types/node/net.d.ts +0 -1057
  218. package/templates/static/node_modules/@types/node/os.d.ts +0 -506
  219. package/templates/static/node_modules/@types/node/package.json +0 -145
  220. package/templates/static/node_modules/@types/node/path.d.ts +0 -200
  221. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +0 -968
  222. package/templates/static/node_modules/@types/node/process.d.ts +0 -2089
  223. package/templates/static/node_modules/@types/node/punycode.d.ts +0 -117
  224. package/templates/static/node_modules/@types/node/querystring.d.ts +0 -152
  225. package/templates/static/node_modules/@types/node/readline/promises.d.ts +0 -161
  226. package/templates/static/node_modules/@types/node/readline.d.ts +0 -594
  227. package/templates/static/node_modules/@types/node/repl.d.ts +0 -428
  228. package/templates/static/node_modules/@types/node/sea.d.ts +0 -153
  229. package/templates/static/node_modules/@types/node/sqlite.d.ts +0 -721
  230. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +0 -38
  231. package/templates/static/node_modules/@types/node/stream/promises.d.ts +0 -90
  232. package/templates/static/node_modules/@types/node/stream/web.d.ts +0 -622
  233. package/templates/static/node_modules/@types/node/stream.d.ts +0 -1664
  234. package/templates/static/node_modules/@types/node/string_decoder.d.ts +0 -67
  235. package/templates/static/node_modules/@types/node/test.d.ts +0 -2163
  236. package/templates/static/node_modules/@types/node/timers/promises.d.ts +0 -108
  237. package/templates/static/node_modules/@types/node/timers.d.ts +0 -287
  238. package/templates/static/node_modules/@types/node/tls.d.ts +0 -1319
  239. package/templates/static/node_modules/@types/node/trace_events.d.ts +0 -197
  240. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  241. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  242. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  243. package/templates/static/node_modules/@types/node/tty.d.ts +0 -208
  244. package/templates/static/node_modules/@types/node/url.d.ts +0 -984
  245. package/templates/static/node_modules/@types/node/util.d.ts +0 -2606
  246. package/templates/static/node_modules/@types/node/v8.d.ts +0 -920
  247. package/templates/static/node_modules/@types/node/vm.d.ts +0 -1000
  248. package/templates/static/node_modules/@types/node/wasi.d.ts +0 -181
  249. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  250. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  251. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +0 -97
  252. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  253. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  254. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  255. package/templates/static/node_modules/@types/node/worker_threads.d.ts +0 -784
  256. package/templates/static/node_modules/@types/node/zlib.d.ts +0 -683
  257. package/templates/static/node_modules/esbuild/LICENSE.md +0 -21
  258. package/templates/static/node_modules/esbuild/README.md +0 -3
  259. package/templates/static/node_modules/esbuild/bin/esbuild +0 -223
  260. package/templates/static/node_modules/esbuild/install.js +0 -289
  261. package/templates/static/node_modules/esbuild/lib/main.d.ts +0 -716
  262. package/templates/static/node_modules/esbuild/lib/main.js +0 -2242
  263. package/templates/static/node_modules/esbuild/package.json +0 -49
  264. package/templates/static/node_modules/mrmime/index.d.ts +0 -2
  265. package/templates/static/node_modules/mrmime/index.js +0 -449
  266. package/templates/static/node_modules/mrmime/index.mjs +0 -448
  267. package/templates/static/node_modules/mrmime/license +0 -21
  268. package/templates/static/node_modules/mrmime/package.json +0 -44
  269. package/templates/static/node_modules/mrmime/readme.md +0 -130
  270. package/templates/static/node_modules/preact/LICENSE +0 -21
  271. package/templates/static/node_modules/preact/README.md +0 -185
  272. package/templates/static/node_modules/preact/compat/client.d.ts +0 -13
  273. package/templates/static/node_modules/preact/compat/client.js +0 -21
  274. package/templates/static/node_modules/preact/compat/client.mjs +0 -24
  275. package/templates/static/node_modules/preact/compat/dist/compat.js +0 -2
  276. package/templates/static/node_modules/preact/compat/dist/compat.js.map +0 -1
  277. package/templates/static/node_modules/preact/compat/dist/compat.mjs +0 -2
  278. package/templates/static/node_modules/preact/compat/dist/compat.module.js +0 -2
  279. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +0 -1
  280. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +0 -2
  281. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
  282. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
  283. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
  284. package/templates/static/node_modules/preact/compat/jsx-runtime.js +0 -3
  285. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +0 -3
  286. package/templates/static/node_modules/preact/compat/package.json +0 -55
  287. package/templates/static/node_modules/preact/compat/scheduler.js +0 -15
  288. package/templates/static/node_modules/preact/compat/scheduler.mjs +0 -23
  289. package/templates/static/node_modules/preact/compat/server.browser.js +0 -11
  290. package/templates/static/node_modules/preact/compat/server.js +0 -36
  291. package/templates/static/node_modules/preact/compat/server.mjs +0 -17
  292. package/templates/static/node_modules/preact/compat/src/Children.js +0 -21
  293. package/templates/static/node_modules/preact/compat/src/PureComponent.js +0 -16
  294. package/templates/static/node_modules/preact/compat/src/forwardRef.js +0 -44
  295. package/templates/static/node_modules/preact/compat/src/hooks.js +0 -70
  296. package/templates/static/node_modules/preact/compat/src/index.d.ts +0 -351
  297. package/templates/static/node_modules/preact/compat/src/index.js +0 -238
  298. package/templates/static/node_modules/preact/compat/src/internal.d.ts +0 -48
  299. package/templates/static/node_modules/preact/compat/src/memo.js +0 -35
  300. package/templates/static/node_modules/preact/compat/src/portals.js +0 -78
  301. package/templates/static/node_modules/preact/compat/src/render.js +0 -313
  302. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +0 -16
  303. package/templates/static/node_modules/preact/compat/src/suspense-list.js +0 -127
  304. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +0 -19
  305. package/templates/static/node_modules/preact/compat/src/suspense.js +0 -291
  306. package/templates/static/node_modules/preact/compat/src/util.js +0 -33
  307. package/templates/static/node_modules/preact/compat/test-utils.js +0 -1
  308. package/templates/static/node_modules/preact/compat/test-utils.mjs +0 -1
  309. package/templates/static/node_modules/preact/debug/dist/debug.js +0 -2
  310. package/templates/static/node_modules/preact/debug/dist/debug.js.map +0 -1
  311. package/templates/static/node_modules/preact/debug/dist/debug.mjs +0 -2
  312. package/templates/static/node_modules/preact/debug/dist/debug.module.js +0 -2
  313. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +0 -1
  314. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +0 -2
  315. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
  316. package/templates/static/node_modules/preact/debug/package.json +0 -27
  317. package/templates/static/node_modules/preact/debug/src/check-props.js +0 -54
  318. package/templates/static/node_modules/preact/debug/src/component-stack.js +0 -146
  319. package/templates/static/node_modules/preact/debug/src/constants.js +0 -3
  320. package/templates/static/node_modules/preact/debug/src/debug.js +0 -593
  321. package/templates/static/node_modules/preact/debug/src/index.d.ts +0 -23
  322. package/templates/static/node_modules/preact/debug/src/index.js +0 -12
  323. package/templates/static/node_modules/preact/debug/src/internal.d.ts +0 -82
  324. package/templates/static/node_modules/preact/debug/src/util.js +0 -15
  325. package/templates/static/node_modules/preact/devtools/dist/devtools.js +0 -2
  326. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +0 -1
  327. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +0 -2
  328. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  329. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
  330. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
  331. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
  332. package/templates/static/node_modules/preact/devtools/package.json +0 -25
  333. package/templates/static/node_modules/preact/devtools/src/devtools.js +0 -21
  334. package/templates/static/node_modules/preact/devtools/src/index.d.ts +0 -8
  335. package/templates/static/node_modules/preact/devtools/src/index.js +0 -15
  336. package/templates/static/node_modules/preact/dist/preact.js +0 -2
  337. package/templates/static/node_modules/preact/dist/preact.js.map +0 -1
  338. package/templates/static/node_modules/preact/dist/preact.min.js +0 -2
  339. package/templates/static/node_modules/preact/dist/preact.min.js.map +0 -1
  340. package/templates/static/node_modules/preact/dist/preact.min.module.js +0 -2
  341. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +0 -1
  342. package/templates/static/node_modules/preact/dist/preact.min.umd.js +0 -2
  343. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +0 -1
  344. package/templates/static/node_modules/preact/dist/preact.mjs +0 -2
  345. package/templates/static/node_modules/preact/dist/preact.module.js +0 -2
  346. package/templates/static/node_modules/preact/dist/preact.module.js.map +0 -1
  347. package/templates/static/node_modules/preact/dist/preact.umd.js +0 -2
  348. package/templates/static/node_modules/preact/dist/preact.umd.js.map +0 -1
  349. package/templates/static/node_modules/preact/hooks/dist/hooks.js +0 -2
  350. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +0 -1
  351. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +0 -2
  352. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +0 -2
  353. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
  354. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
  355. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
  356. package/templates/static/node_modules/preact/hooks/package.json +0 -35
  357. package/templates/static/node_modules/preact/hooks/src/index.d.ts +0 -145
  358. package/templates/static/node_modules/preact/hooks/src/index.js +0 -555
  359. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +0 -103
  360. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
  361. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
  362. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
  363. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  364. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
  365. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
  366. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
  367. package/templates/static/node_modules/preact/jsx-runtime/package.json +0 -28
  368. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +0 -62
  369. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +0 -206
  370. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +0 -36
  371. package/templates/static/node_modules/preact/package.json +0 -258
  372. package/templates/static/node_modules/preact/src/cjs.js +0 -3
  373. package/templates/static/node_modules/preact/src/clone-element.js +0 -48
  374. package/templates/static/node_modules/preact/src/component.js +0 -249
  375. package/templates/static/node_modules/preact/src/constants.js +0 -22
  376. package/templates/static/node_modules/preact/src/create-context.js +0 -60
  377. package/templates/static/node_modules/preact/src/create-element.js +0 -97
  378. package/templates/static/node_modules/preact/src/diff/catch-error.js +0 -46
  379. package/templates/static/node_modules/preact/src/diff/children.js +0 -451
  380. package/templates/static/node_modules/preact/src/diff/index.js +0 -684
  381. package/templates/static/node_modules/preact/src/diff/props.js +0 -173
  382. package/templates/static/node_modules/preact/src/dom.d.ts +0 -2476
  383. package/templates/static/node_modules/preact/src/index-5.d.ts +0 -399
  384. package/templates/static/node_modules/preact/src/index.d.ts +0 -402
  385. package/templates/static/node_modules/preact/src/index.js +0 -13
  386. package/templates/static/node_modules/preact/src/internal.d.ts +0 -190
  387. package/templates/static/node_modules/preact/src/jsx.d.ts +0 -2878
  388. package/templates/static/node_modules/preact/src/options.js +0 -16
  389. package/templates/static/node_modules/preact/src/render.js +0 -78
  390. package/templates/static/node_modules/preact/src/util.js +0 -28
  391. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +0 -2
  392. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
  393. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
  394. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
  395. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
  396. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
  397. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
  398. package/templates/static/node_modules/preact/test-utils/package.json +0 -28
  399. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +0 -3
  400. package/templates/static/node_modules/preact/test-utils/src/index.js +0 -129
  401. package/templates/static/node_modules/preact-render-to-string/LICENSE +0 -21
  402. package/templates/static/node_modules/preact-render-to-string/README.md +0 -149
  403. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
  404. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +0 -17
  405. package/templates/static/node_modules/preact-render-to-string/dist/index.js +0 -6
  406. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +0 -1
  407. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +0 -2
  408. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +0 -2
  409. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
  410. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +0 -2
  411. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +0 -1
  412. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +0 -35
  413. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +0 -2
  414. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +0 -4
  415. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +0 -1
  416. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +0 -2
  417. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +0 -2
  418. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +0 -1
  419. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +0 -2
  420. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +0 -1
  421. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -24
  422. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +0 -2
  423. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +0 -1
  424. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +0 -2
  425. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +0 -2
  426. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +0 -1
  427. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +0 -2
  428. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +0 -1
  429. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +0 -884
  430. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +0 -1
  431. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +0 -884
  432. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +0 -884
  433. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +0 -1
  434. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +0 -888
  435. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +0 -1
  436. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +0 -19
  437. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +0 -10
  438. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +0 -24
  439. package/templates/static/node_modules/preact-render-to-string/jsx.js +0 -1
  440. package/templates/static/node_modules/preact-render-to-string/package.json +0 -152
  441. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +0 -17
  442. package/templates/static/node_modules/preact-render-to-string/src/index.js +0 -764
  443. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +0 -35
  444. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +0 -24
  445. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +0 -102
  446. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +0 -97
  447. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +0 -62
  448. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +0 -20
  449. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +0 -8
  450. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +0 -208
  451. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +0 -491
  452. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +0 -19
  453. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +0 -84
  454. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +0 -10
  455. package/templates/static/node_modules/preact-render-to-string/src/stream.js +0 -43
  456. package/templates/static/node_modules/preact-render-to-string/typings.json +0 -5
  457. package/templates/static/node_modules/sirv/build.js +0 -197
  458. package/templates/static/node_modules/sirv/build.mjs +0 -197
  459. package/templates/static/node_modules/sirv/index.d.mts +0 -29
  460. package/templates/static/node_modules/sirv/index.d.ts +0 -33
  461. package/templates/static/node_modules/sirv/package.json +0 -40
  462. package/templates/static/node_modules/sirv/readme.md +0 -238
  463. package/templates/static/node_modules/totalist/dist/index.js +0 -24
  464. package/templates/static/node_modules/totalist/dist/index.mjs +0 -22
  465. package/templates/static/node_modules/totalist/index.d.ts +0 -3
  466. package/templates/static/node_modules/totalist/license +0 -21
  467. package/templates/static/node_modules/totalist/package.json +0 -55
  468. package/templates/static/node_modules/totalist/readme.md +0 -109
  469. package/templates/static/node_modules/totalist/sync/index.d.ts +0 -3
  470. package/templates/static/node_modules/totalist/sync/index.js +0 -17
  471. package/templates/static/node_modules/totalist/sync/index.mjs +0 -15
  472. package/templates/static/node_modules/typescript/bin/tsc +0 -2
  473. package/templates/static/node_modules/typescript/bin/tsserver +0 -2
  474. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  475. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  476. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  477. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  478. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  479. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  480. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  481. package/templates/static/node_modules/typescript/lib/lib.d.ts +0 -22
  482. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  483. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  484. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  485. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  486. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  487. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  488. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  489. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  490. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  491. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  492. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  493. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  494. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  495. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  496. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  497. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  498. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  499. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  500. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  501. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  502. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  503. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  504. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  505. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  506. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  507. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  508. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  509. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  510. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  511. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  512. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  513. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  514. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  515. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  516. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  517. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  518. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  519. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  520. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  521. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  522. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  523. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  524. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  525. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  526. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  527. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  528. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  529. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  530. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  531. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  532. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  533. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  534. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  535. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  536. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  537. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  538. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  539. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  540. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  541. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  542. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  543. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  544. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  545. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  546. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  547. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  548. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  549. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  550. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  551. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  552. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  553. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  554. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  555. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  556. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  557. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  558. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  559. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  560. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  561. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  562. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  563. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  564. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  565. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  566. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  567. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  568. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  569. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  570. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  571. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  572. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  573. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  574. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  575. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  576. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  577. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  578. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  579. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  580. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  581. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  582. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  583. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  584. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  585. package/templates/static/node_modules/typescript/lib/tsc.js +0 -8
  586. package/templates/static/node_modules/typescript/lib/tsserver.js +0 -8
  587. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  588. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  589. package/templates/static/node_modules/typescript/lib/typescript.d.ts +0 -11437
@@ -15,14 +15,28 @@
15
15
  * You should have received a copy of the GNU General Public License
16
16
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
+ /**
19
+ * Retrieve framework data injected by the server into the page HTML.
20
+ * The server embeds loader result data, route params, and query parameters
21
+ * into a hidden DOM element with id "__FRAMEWORK_DATA__" as JSON.
22
+ *
23
+ * This data is passed to page components during hydration as props.
24
+ * Returns null if the element does not exist or JSON is malformed,
25
+ * allowing graceful degradation without throwing errors.
26
+ *
27
+ * Usage:
28
+ * const data = getFrameworkData();
29
+ * // data = { data: {...}, params: {...}, query: {...} }
30
+ *
31
+ * @returns Framework data object { data, params, query } or null if not found.
32
+ */
18
33
  export function getFrameworkData() {
19
- const el = document.getElementById("__FRAMEWORK_DATA__");
20
- if (!el)
21
- return null;
22
- try {
23
- return JSON.parse(el.textContent || "null");
24
- }
25
- catch {
26
- return null;
27
- }
34
+ const el = document.getElementById("__FRAMEWORK_DATA__");
35
+ if (!el) return null;
36
+ try {
37
+ return JSON.parse(el.textContent || "null");
38
+ } catch {
39
+ // Silently return null if JSON is invalid; page hydrates with default props
40
+ return null;
41
+ }
28
42
  }
@@ -1 +1,23 @@
1
- export declare const HMR_CLIENT_SCRIPT = "\n(function() {\n console.log(\"[Jen.js] Connecting to HMR...\");\n const evt = new EventSource(\"/__hmr\");\n\n evt.onopen = () => console.log(\"[Jen.js] HMR Connected\");\n\n evt.addEventListener(\"reload\", () => {\n console.log(\"[Jen.js] Reloading...\");\n window.location.reload();\n });\n\n evt.addEventListener(\"style-update\", (e) => {\n const file = JSON.parse(e.data).file; // e.g., \"styles.css\"\n console.log(\"[Jen.js] Style update:\", file);\n \n // Find matching link tags\n const links = document.querySelectorAll('link[rel=\"stylesheet\"]');\n for (const link of links) {\n const url = new URL(link.href);\n if (url.pathname.endsWith(file)) {\n // Force reload by updating query param\n url.searchParams.set(\"t\", Date.now());\n link.href = url.toString();\n console.log(\"[Jen.js] Updated stylesheet:\", file);\n }\n }\n });\n\n evt.onerror = () => {\n // console.log(\"[Jen.js] HMR disconnected, retrying...\");\n // EventSource automatically retries\n };\n})();\n";
1
+ /**
2
+ * Client-side Hot Module Replacement (HMR) / Live Reload code.
3
+ * This script is injected into the browser during development mode.
4
+ *
5
+ * Features:
6
+ * - Establishes Server-Sent Events (SSE) connection to /__hmr endpoint
7
+ * - Listens for "reload" events (full page reload on route/component changes)
8
+ * - Listens for "style-update" events (CSS updates without full reload)
9
+ * - Automatically retries connection if lost
10
+ *
11
+ * The script uses IIFE (Immediately Invoked Function Expression) to avoid
12
+ * polluting the global scope.
13
+ *
14
+ * How it works:
15
+ * 1. Server watches file system for changes
16
+ * 2. On change, server sends SSE event to clients
17
+ * 3. Client receives event and either reloads or updates CSS
18
+ * 4. CSS updates use cache-busting query params to force fresh load
19
+ *
20
+ * Only injected in development mode; production builds do not include this.
21
+ */
22
+ export declare const HMR_CLIENT_SCRIPT =
23
+ '\n(function() {\n console.log("[Jen.js] Connecting to HMR...");\n const evt = new EventSource("/__hmr");\n\n evt.onopen = () => console.log("[Jen.js] HMR Connected");\n\n // Full page reload on route or component changes\n evt.addEventListener("reload", () => {\n console.log("[Jen.js] Reloading...");\n window.location.reload();\n });\n\n // CSS-only reload without full page reload (faster UX for style-only changes)\n evt.addEventListener("style-update", (e) => {\n const file = JSON.parse(e.data).file; // e.g., "styles.css"\n console.log("[Jen.js] Style update:", file);\n \n // Find matching link tags by pathname\n const links = document.querySelectorAll(\'link[rel="stylesheet"]\');\n for (const link of links) {\n const url = new URL(link.href);\n if (url.pathname.endsWith(file)) {\n // Force reload by updating cache-busting query param (timestamp)\n url.searchParams.set("t", Date.now());\n link.href = url.toString();\n console.log("[Jen.js] Updated stylesheet:", file);\n }\n }\n });\n\n evt.onerror = () => {\n // Connection closed; EventSource automatically retries\n // (commented out: chatty in development; uncomment if needed for debugging)\n // console.log("[Jen.js] HMR disconnected, retrying...");\n };\n})();\n';
@@ -15,8 +15,27 @@
15
15
  * You should have received a copy of the GNU General Public License
16
16
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
- // Client-side Hot Module Replacement (HMR) / Live Reload
19
- // Injected into the browser during development
18
+ /**
19
+ * Client-side Hot Module Replacement (HMR) / Live Reload code.
20
+ * This script is injected into the browser during development mode.
21
+ *
22
+ * Features:
23
+ * - Establishes Server-Sent Events (SSE) connection to /__hmr endpoint
24
+ * - Listens for "reload" events (full page reload on route/component changes)
25
+ * - Listens for "style-update" events (CSS updates without full reload)
26
+ * - Automatically retries connection if lost
27
+ *
28
+ * The script uses IIFE (Immediately Invoked Function Expression) to avoid
29
+ * polluting the global scope.
30
+ *
31
+ * How it works:
32
+ * 1. Server watches file system for changes
33
+ * 2. On change, server sends SSE event to clients
34
+ * 3. Client receives event and either reloads or updates CSS
35
+ * 4. CSS updates use cache-busting query params to force fresh load
36
+ *
37
+ * Only injected in development mode; production builds do not include this.
38
+ */
20
39
  export const HMR_CLIENT_SCRIPT = `
21
40
  (function() {
22
41
  console.log("[Jen.js] Connecting to HMR...");
@@ -24,21 +43,23 @@ export const HMR_CLIENT_SCRIPT = `
24
43
 
25
44
  evt.onopen = () => console.log("[Jen.js] HMR Connected");
26
45
 
46
+ // Full page reload on route or component changes
27
47
  evt.addEventListener("reload", () => {
28
48
  console.log("[Jen.js] Reloading...");
29
49
  window.location.reload();
30
50
  });
31
51
 
52
+ // CSS-only reload without full page reload (faster UX for style-only changes)
32
53
  evt.addEventListener("style-update", (e) => {
33
54
  const file = JSON.parse(e.data).file; // e.g., "styles.css"
34
55
  console.log("[Jen.js] Style update:", file);
35
56
 
36
- // Find matching link tags
57
+ // Find matching link tags by pathname
37
58
  const links = document.querySelectorAll('link[rel="stylesheet"]');
38
59
  for (const link of links) {
39
60
  const url = new URL(link.href);
40
61
  if (url.pathname.endsWith(file)) {
41
- // Force reload by updating query param
62
+ // Force reload by updating cache-busting query param (timestamp)
42
63
  url.searchParams.set("t", Date.now());
43
64
  link.href = url.toString();
44
65
  console.log("[Jen.js] Updated stylesheet:", file);
@@ -47,8 +68,9 @@ export const HMR_CLIENT_SCRIPT = `
47
68
  });
48
69
 
49
70
  evt.onerror = () => {
71
+ // Connection closed; EventSource automatically retries
72
+ // (commented out: chatty in development; uncomment if needed for debugging)
50
73
  // console.log("[Jen.js] HMR disconnected, retrying...");
51
- // EventSource automatically retries
52
74
  };
53
75
  })();
54
76
  `;
@@ -1 +1,18 @@
1
+ /**
2
+ * Hydrate a server-rendered page with client-side interactivity.
3
+ * This function is called once on page load in the browser.
4
+ * It attaches Preact event listeners and state management to existing DOM without re-rendering.
5
+ *
6
+ * Flow:
7
+ * 1. Retrieve framework data (loader result, route params, query) injected by server into page HTML
8
+ * 2. Dynamically import the route component module
9
+ * 3. Construct Preact component tree passing data as props
10
+ * 4. Attach to existing #app element (matches server-rendered HTML structure)
11
+ *
12
+ * Errors during hydration are logged but do not throw; the page remains functional
13
+ * with reduced interactivity if hydration fails.
14
+ *
15
+ * @param entryPath - Path to the route component module (e.g., "./routes/index.js")
16
+ * This path is typically injected into the HTML as a script attribute by the server.
17
+ */
1
18
  export declare function hydrateClient(entryPath: string): Promise<void>;
@@ -18,28 +18,55 @@
18
18
  import { hydrate } from "preact";
19
19
  import { h } from "preact";
20
20
  import { getFrameworkData } from "./client-runtime.js";
21
+ /**
22
+ * Hydrate a server-rendered page with client-side interactivity.
23
+ * This function is called once on page load in the browser.
24
+ * It attaches Preact event listeners and state management to existing DOM without re-rendering.
25
+ *
26
+ * Flow:
27
+ * 1. Retrieve framework data (loader result, route params, query) injected by server into page HTML
28
+ * 2. Dynamically import the route component module
29
+ * 3. Construct Preact component tree passing data as props
30
+ * 4. Attach to existing #app element (matches server-rendered HTML structure)
31
+ *
32
+ * Errors during hydration are logged but do not throw; the page remains functional
33
+ * with reduced interactivity if hydration fails.
34
+ *
35
+ * @param entryPath - Path to the route component module (e.g., "./routes/index.js")
36
+ * This path is typically injected into the HTML as a script attribute by the server.
37
+ */
21
38
  export async function hydrateClient(entryPath) {
22
- try {
23
- const data = getFrameworkData();
24
- const mod = await import(entryPath);
25
- if (!mod.default) {
26
- console.error(`Failed to hydrate: route module does not export default component`);
27
- return;
28
- }
29
- const Page = mod.default;
30
- const app = h(Page, {
31
- data: data?.data ?? null,
32
- params: data?.params ?? {},
33
- query: data?.query ?? {},
34
- });
35
- const root = document.getElementById("app");
36
- if (!root) {
37
- console.error("Failed to hydrate: #app element not found in DOM");
38
- return;
39
- }
40
- hydrate(app, root);
39
+ try {
40
+ // Retrieve loader data, params, and query injected into page HTML by server
41
+ const data = getFrameworkData();
42
+ // Dynamically import route component
43
+ const mod = await import(entryPath);
44
+ // Validate that route exports a default component
45
+ if (!mod.default) {
46
+ console.error(
47
+ `Failed to hydrate: route module does not export default component`,
48
+ );
49
+ return;
41
50
  }
42
- catch (err) {
43
- console.error("Hydration failed:", err instanceof Error ? err.message : String(err));
51
+ // Construct Preact VDOM tree with data as props
52
+ const Page = mod.default;
53
+ const app = h(Page, {
54
+ data: data?.data ?? null,
55
+ params: data?.params ?? {},
56
+ query: data?.query ?? {},
57
+ });
58
+ // Find root DOM element for hydration
59
+ const root = document.getElementById("app");
60
+ if (!root) {
61
+ console.error("Failed to hydrate: #app element not found in DOM");
62
+ return;
44
63
  }
64
+ // Attach Preact to existing DOM tree without re-rendering
65
+ hydrate(app, root);
66
+ } catch (err) {
67
+ console.error(
68
+ "Hydration failed:",
69
+ err instanceof Error ? err.message : String(err),
70
+ );
71
+ }
45
72
  }
@@ -1,5 +1,8 @@
1
1
  /**
2
- * Initialize island hydration
3
- * Called by framework at page load
2
+ * Initialize island hydration when DOM is ready.
3
+ * Waits for DOMContentLoaded if the page is still loading, otherwise starts immediately.
4
+ * This ensures island DOM elements exist before hydration attempts.
5
+ *
6
+ * Called automatically on module import.
4
7
  */
5
8
  export declare function initializeIslands(): void;
@@ -18,115 +18,146 @@
18
18
  import { hydrate } from "preact";
19
19
  import { h } from "preact";
20
20
  /**
21
- * Extract islands from HTML markers
22
- * Format: <!--__ISLAND_LOAD__:id:componentPath:props-->
21
+ * Extract island metadata from HTML comment markers.
22
+ * Scans the entire document for markers in the format:
23
+ * <!--__ISLAND_{LOAD|IDLE|VISIBLE}__:id:componentPath:propsJson-->
24
+ *
25
+ * Silently skips malformed markers and continues processing remaining islands.
26
+ * This resilience allows graceful degradation if some islands fail to parse.
27
+ *
28
+ * @returns Array of detected islands ready for hydration.
23
29
  */
24
30
  function extractIslands() {
25
- const islands = [];
26
- const html = document.documentElement.outerHTML;
27
- const regex = /<!--__ISLAND_(LOAD|IDLE|VISIBLE)__:([^:]+):([^:]+):(.+?)-->/g;
28
- let match;
29
- while ((match = regex.exec(html)) !== null) {
30
- const strategy = match[1].toLowerCase();
31
- const id = match[2];
32
- const component = match[3];
33
- const propsStr = match[4].replace(/\\u003c/g, "<");
34
- try {
35
- islands.push({
36
- id,
37
- component,
38
- strategy,
39
- props: JSON.parse(propsStr),
40
- });
41
- }
42
- catch {
43
- console.warn(`Failed to parse island ${id}`);
44
- }
31
+ const islands = [];
32
+ const html = document.documentElement.outerHTML;
33
+ // Regex matches: <!--__ISLAND_{LOAD|IDLE|VISIBLE}__:id:componentPath:propsJson-->
34
+ const regex = /<!--__ISLAND_(LOAD|IDLE|VISIBLE)__:([^:]+):([^:]+):(.+?)-->/g;
35
+ let match;
36
+ while ((match = regex.exec(html)) !== null) {
37
+ const strategy = match[1].toLowerCase();
38
+ const id = match[2];
39
+ const component = match[3];
40
+ // Unescape '<' that was escaped to prevent HTML parsing issues
41
+ const propsStr = match[4].replace(/\\u003c/g, "<");
42
+ try {
43
+ islands.push({
44
+ id,
45
+ component,
46
+ strategy,
47
+ props: JSON.parse(propsStr),
48
+ });
49
+ } catch {
50
+ console.warn(`Failed to parse island ${id}`);
45
51
  }
46
- return islands;
52
+ }
53
+ return islands;
47
54
  }
48
55
  /**
49
- * Hydrate a single island
56
+ * Hydrate a single island by importing its component and attaching Preact listeners.
57
+ * Dynamically imports the component module via a hydration endpoint to ensure
58
+ * the component code is loaded before hydration.
59
+ *
60
+ * If the DOM element (island.id) is not found, logs a warning and returns early.
61
+ * If the component import or hydration fails, logs an error but does not propagate.
62
+ * This resilience prevents one failed island from breaking others.
63
+ *
64
+ * @param island - Island metadata including id, component path, and props.
50
65
  */
51
66
  async function hydrateIsland(island) {
52
- const target = document.getElementById(island.id);
53
- if (!target) {
54
- console.warn(`Island target #${island.id} not found`);
55
- return;
56
- }
57
- try {
58
- // Import the hydration module for this route
59
- const hydrationUrl = `/__hydrate?file=${encodeURIComponent(island.component)}`;
60
- const mod = await import(hydrationUrl);
61
- const Component = mod.default;
62
- if (!Component) {
63
- console.warn(`Component not exported from ${island.component}`);
64
- return;
65
- }
66
- const app = h(Component, island.props);
67
- hydrate(app, target);
68
- }
69
- catch (err) {
70
- console.error(`Failed to hydrate island ${island.id}:`, err);
67
+ const target = document.getElementById(island.id);
68
+ if (!target) {
69
+ console.warn(`Island target #${island.id} not found`);
70
+ return;
71
+ }
72
+ try {
73
+ // Import component via hydration endpoint which ensures proper module resolution
74
+ const hydrationUrl = `/__hydrate?file=${encodeURIComponent(island.component)}`;
75
+ const mod = await import(hydrationUrl);
76
+ const Component = mod.default;
77
+ if (!Component) {
78
+ console.warn(`Component not exported from ${island.component}`);
79
+ return;
71
80
  }
81
+ // Construct Preact VDOM with island props and attach to DOM element
82
+ const app = h(Component, island.props);
83
+ hydrate(app, target);
84
+ } catch (err) {
85
+ console.error(`Failed to hydrate island ${island.id}:`, err);
86
+ }
72
87
  }
73
88
  /**
74
- * Hydrate islands based on strategy
89
+ * Orchestrate island hydration based on strategy.
90
+ * Distributes hydration across the timeline to optimize page load performance.
91
+ *
92
+ * Strategies:
93
+ * - "load": Hydrate immediately (for critical above-the-fold interactive components)
94
+ * - "idle": Hydrate when browser is idle (requestIdleCallback, or 2000ms fallback)
95
+ * - "visible": Hydrate when element scrolls into view (IntersectionObserver, or 3000ms fallback)
96
+ *
97
+ * Fallbacks ensure older browsers still hydrate despite missing modern APIs.
98
+ *
99
+ * @param islands - Array of islands to hydrate.
75
100
  */
76
101
  function hydrateWithStrategy(islands) {
77
- for (const island of islands) {
78
- switch (island.strategy) {
79
- case "load":
80
- // Hydrate immediately
81
- hydrateIsland(island);
82
- break;
83
- case "idle":
84
- // Hydrate when browser is idle
85
- if ("requestIdleCallback" in window) {
86
- requestIdleCallback(() => hydrateIsland(island));
87
- }
88
- else {
89
- // Fallback: hydrate after a delay
90
- setTimeout(() => hydrateIsland(island), 2000);
91
- }
92
- break;
93
- case "visible":
94
- // Hydrate when element is visible
95
- if ("IntersectionObserver" in window) {
96
- const target = document.getElementById(island.id);
97
- if (target) {
98
- const observer = new IntersectionObserver((entries) => {
99
- if (entries[0].isIntersecting) {
100
- hydrateIsland(island);
101
- observer.disconnect();
102
- }
103
- }, { threshold: 0.1 });
104
- observer.observe(target);
105
- }
106
- }
107
- else {
108
- // Fallback: hydrate after delay
109
- setTimeout(() => hydrateIsland(island), 3000);
102
+ for (const island of islands) {
103
+ switch (island.strategy) {
104
+ case "load":
105
+ // Hydrate immediately for critical interactive components
106
+ hydrateIsland(island);
107
+ break;
108
+ case "idle":
109
+ // Hydrate when browser is idle to avoid blocking user interaction
110
+ if ("requestIdleCallback" in window) {
111
+ requestIdleCallback(() => hydrateIsland(island));
112
+ } else {
113
+ // Fallback: hydrate after 2 seconds (allows critical path to complete)
114
+ setTimeout(() => hydrateIsland(island), 2000);
115
+ }
116
+ break;
117
+ case "visible":
118
+ // Hydrate only when element becomes visible in the viewport
119
+ if ("IntersectionObserver" in window) {
120
+ const target = document.getElementById(island.id);
121
+ if (target) {
122
+ const observer = new IntersectionObserver(
123
+ (entries) => {
124
+ // Hydrate on first intersection and stop observing
125
+ if (entries[0].isIntersecting) {
126
+ hydrateIsland(island);
127
+ observer.disconnect();
110
128
  }
111
- break;
129
+ },
130
+ { threshold: 0.1 },
131
+ );
132
+ observer.observe(target);
133
+ }
134
+ } else {
135
+ // Fallback: hydrate after 3 seconds (reasonable delay for below-fold elements)
136
+ setTimeout(() => hydrateIsland(island), 3000);
112
137
  }
138
+ break;
113
139
  }
140
+ }
114
141
  }
115
142
  /**
116
- * Initialize island hydration
117
- * Called by framework at page load
143
+ * Initialize island hydration when DOM is ready.
144
+ * Waits for DOMContentLoaded if the page is still loading, otherwise starts immediately.
145
+ * This ensures island DOM elements exist before hydration attempts.
146
+ *
147
+ * Called automatically on module import.
118
148
  */
119
149
  export function initializeIslands() {
120
- if (document.readyState === "loading") {
121
- document.addEventListener("DOMContentLoaded", () => {
122
- const islands = extractIslands();
123
- hydrateWithStrategy(islands);
124
- });
125
- }
126
- else {
127
- const islands = extractIslands();
128
- hydrateWithStrategy(islands);
129
- }
150
+ if (document.readyState === "loading") {
151
+ // DOM still loading; wait for DOMContentLoaded before extracting islands
152
+ document.addEventListener("DOMContentLoaded", () => {
153
+ const islands = extractIslands();
154
+ hydrateWithStrategy(islands);
155
+ });
156
+ } else {
157
+ // DOM already loaded; hydrate immediately
158
+ const islands = extractIslands();
159
+ hydrateWithStrategy(islands);
160
+ }
130
161
  }
131
- // Auto-initialize on import
162
+ // Auto-initialize on import (framework injects this script into HTML in dev mode)
132
163
  initializeIslands();
@@ -1,46 +1,101 @@
1
+ /**
2
+ * Hydration strategy for interactive islands.
3
+ * Determines when client-side JavaScript is loaded and hydration occurs:
4
+ * - "load": Hydrate immediately on page load (eager)
5
+ * - "idle": Hydrate when browser is idle via requestIdleCallback (deferred, low-priority)
6
+ * - "visible": Hydrate when island becomes visible via IntersectionObserver (viewport-based)
7
+ */
1
8
  export type HydrationStrategy = "load" | "idle" | "visible";
9
+ /**
10
+ * Props interface for islands (not actively used, provided for type reference).
11
+ */
2
12
  export interface IslandProps {
3
- "client:load"?: boolean;
4
- "client:idle"?: boolean;
5
- "client:visible"?: boolean;
13
+ "client:load"?: boolean;
14
+ "client:idle"?: boolean;
15
+ "client:visible"?: boolean;
6
16
  }
7
17
  /**
8
- * Mark a component as an interactive island.
9
- * Wraps component with hydration metadata.
18
+ * Mark a component as an interactive island for partial hydration.
19
+ * Islands are components that require client-side interactivity while the rest of the page
20
+ * remains static HTML. This enables efficient selective hydration.
21
+ *
22
+ * How it works:
23
+ * - Marks component with metadata (__island, __hydrationStrategy)
24
+ * - Server renderer detects marked components and emits HTML comments with island metadata
25
+ * - Client JavaScript discovers islands from HTML comments and hydrates based on strategy
10
26
  *
11
27
  * Usage in route:
12
28
  * import { Island } from "jenjs";
13
- * const Counter = Island(CounterImpl, "load");
14
- *
15
- * Then use in JSX: <Counter count={5} />
29
+ * import CounterImpl from "./counter.tsx";
30
+ * export default function Page() {
31
+ * const Counter = Island(CounterImpl, "load");
32
+ * return <Counter count={5} />;
33
+ * }
16
34
  *
17
- * Server will:
18
- * - Render the component to HTML
19
- * - Emit hydration markers
20
- * - Include serialized props
35
+ * Strategies:
36
+ * - "load": Best for above-the-fold critical interactive components
37
+ * - "idle": Good for secondary interactive elements (lighter priority)
38
+ * - "visible": Best for below-the-fold components; hydrates only when scrolled into view
21
39
  *
22
- * Client will:
23
- * - Discover islands from markers
24
- * - Hydrate based on strategy
40
+ * @param Component - The Preact component to mark as an island.
41
+ * @param strategy - Hydration timing strategy.
42
+ * @returns The same component with island metadata attached.
25
43
  */
26
- export declare function Island<P extends Record<string, any>>(Component: any, strategy: HydrationStrategy): any;
44
+ export declare function Island<P extends Record<string, any>>(
45
+ Component: any,
46
+ strategy: HydrationStrategy,
47
+ ): any;
27
48
  /**
28
- * Detect islands in a component tree (called by server renderer).
29
- * Returns array of island metadata to inject into HTML.
49
+ * Metadata for a detected island extracted from server-rendered HTML.
50
+ * Includes the island's unique ID, component path, hydration strategy, and serialized props.
30
51
  */
31
52
  export interface DetectedIsland {
32
- id: string;
33
- component: string;
34
- strategy: HydrationStrategy;
35
- props: any;
53
+ /** Unique identifier for this island instance on the page. */
54
+ id: string;
55
+ /** Path to the component module (e.g., "./components/counter.js"). */
56
+ component: string;
57
+ /** Hydration strategy: when to hydrate this island. */
58
+ strategy: HydrationStrategy;
59
+ /** Serialized component props (deserialized from JSON in HTML comment). */
60
+ props: any;
36
61
  }
37
62
  /**
38
- * Generate island hydration markers for server-rendered HTML.
39
- * Call this after SSR to inject island metadata.
63
+ * Generate an HTML comment marker that encodes island metadata.
64
+ * Server renderer calls this after rendering each island component.
65
+ * The marker is embedded in the HTML and later parsed by the client.
66
+ *
67
+ * Format: <!--__ISLAND_{STRATEGY}__:{id}:{componentPath}:{propsJson}-->
68
+ * Example: <!--__ISLAND_LOAD__:island-1:./counter.js:{"count":5}-->
69
+ *
70
+ * Note: '<' in JSON is escaped to '\\u003c' to prevent breaking HTML parsing
71
+ * (literal '<' in props could confuse the HTML parser or regex extraction).
72
+ *
73
+ * @param id - Unique identifier for the island (e.g., "island-1", "counter-2").
74
+ * @param componentPath - Path to the component module.
75
+ * @param strategy - Hydration timing strategy.
76
+ * @param props - Component props object (will be JSON.stringify'd).
77
+ * @returns HTML comment string encoding the island metadata.
40
78
  */
41
- export declare function createIslandMarker(id: string, componentPath: string, strategy: HydrationStrategy, props: any): string;
79
+ export declare function createIslandMarker(
80
+ id: string,
81
+ componentPath: string,
82
+ strategy: HydrationStrategy,
83
+ props: any,
84
+ ): string;
42
85
  /**
43
- * Extract islands from server-rendered HTML.
44
- * Called by client to discover islands and their hydration strategy.
86
+ * Extract island metadata from server-rendered HTML.
87
+ * Client-side function that parses island markers from HTML comments.
88
+ * Called during page initialization to discover which components need hydration.
89
+ *
90
+ * Parsing strategy:
91
+ * - Regex finds HTML comments matching the island marker format
92
+ * - Extracts strategy, id, componentPath, and props from comment
93
+ * - Validates all fields are present and props are valid JSON
94
+ * - Logs warnings for invalid markers but continues processing remaining islands
95
+ *
96
+ * Return value includes only valid, parseable islands; invalid ones are skipped.
97
+ *
98
+ * @param html - Server-rendered HTML string (typically document.body.innerHTML or full page HTML).
99
+ * @returns Array of detected islands with complete metadata ready for hydration.
45
100
  */
46
101
  export declare function extractIslandsFromHtml(html: string): DetectedIsland[];