create-jen-app 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +89 -0
  3. package/dist/index.js +72 -0
  4. package/package.json +50 -0
  5. package/templates/static/.esbuild/jen.config.js +1 -0
  6. package/templates/static/README.md +67 -0
  7. package/templates/static/build.js +106 -0
  8. package/templates/static/jen.config.ts +128 -0
  9. package/templates/static/jenjs.d.ts +33 -0
  10. package/templates/static/lib/api/(hello).d.ts +7 -0
  11. package/templates/static/lib/api/(hello).js +26 -0
  12. package/templates/static/lib/auth/cookie-utils.d.ts +24 -0
  13. package/templates/static/lib/auth/cookie-utils.js +99 -0
  14. package/templates/static/lib/auth/index.d.ts +2 -0
  15. package/templates/static/lib/auth/index.js +19 -0
  16. package/templates/static/lib/auth/jwt.d.ts +2 -0
  17. package/templates/static/lib/auth/jwt.js +30 -0
  18. package/templates/static/lib/auth/session.d.ts +44 -0
  19. package/templates/static/lib/auth/session.js +111 -0
  20. package/templates/static/lib/build/asset-hashing.d.ts +10 -0
  21. package/templates/static/lib/build/asset-hashing.js +42 -0
  22. package/templates/static/lib/build/asset-manifest.d.ts +11 -0
  23. package/templates/static/lib/build/asset-manifest.js +38 -0
  24. package/templates/static/lib/build/build.d.ts +4 -0
  25. package/templates/static/lib/build/build.js +113 -0
  26. package/templates/static/lib/build/island-hydration.d.ts +25 -0
  27. package/templates/static/lib/build/island-hydration.js +62 -0
  28. package/templates/static/lib/build/minifier.d.ts +20 -0
  29. package/templates/static/lib/build/minifier.js +65 -0
  30. package/templates/static/lib/build/page-renderer.d.ts +17 -0
  31. package/templates/static/lib/build/page-renderer.js +45 -0
  32. package/templates/static/lib/build/production-build.d.ts +10 -0
  33. package/templates/static/lib/build/production-build.js +30 -0
  34. package/templates/static/lib/build/ssg-pipeline.d.ts +15 -0
  35. package/templates/static/lib/build/ssg-pipeline.js +119 -0
  36. package/templates/static/lib/build-tools/build-site.d.ts +6 -0
  37. package/templates/static/lib/build-tools/build-site.js +56 -0
  38. package/templates/static/lib/cache/index.d.ts +2 -0
  39. package/templates/static/lib/cache/index.js +19 -0
  40. package/templates/static/lib/cache/memory.d.ts +6 -0
  41. package/templates/static/lib/cache/memory.js +31 -0
  42. package/templates/static/lib/cache/redis.d.ts +6 -0
  43. package/templates/static/lib/cache/redis.js +33 -0
  44. package/templates/static/lib/cli/banner.d.ts +1 -0
  45. package/templates/static/lib/cli/banner.js +41 -0
  46. package/templates/static/lib/cli/templates/ssg/jen.config.d.ts +3 -0
  47. package/templates/static/lib/cli/templates/ssg/jen.config.js +49 -0
  48. package/templates/static/lib/cli/templates/ssg/site/index.d.ts +2 -0
  49. package/templates/static/lib/cli/templates/ssg/site/index.js +4 -0
  50. package/templates/static/lib/cli/templates/ssr/jen.config.d.ts +3 -0
  51. package/templates/static/lib/cli/templates/ssr/jen.config.js +49 -0
  52. package/templates/static/lib/cli/templates/ssr/site/index.d.ts +2 -0
  53. package/templates/static/lib/cli/templates/ssr/site/index.js +4 -0
  54. package/templates/static/lib/compilers/esbuild-plugins.d.ts +6 -0
  55. package/templates/static/lib/compilers/esbuild-plugins.js +130 -0
  56. package/templates/static/lib/compilers/svelte.d.ts +18 -0
  57. package/templates/static/lib/compilers/svelte.js +61 -0
  58. package/templates/static/lib/compilers/vue.d.ts +15 -0
  59. package/templates/static/lib/compilers/vue.js +99 -0
  60. package/templates/static/lib/core/config.d.ts +53 -0
  61. package/templates/static/lib/core/config.js +18 -0
  62. package/templates/static/lib/core/http.d.ts +3 -0
  63. package/templates/static/lib/core/http.js +42 -0
  64. package/templates/static/lib/core/middleware-hooks.d.ts +46 -0
  65. package/templates/static/lib/core/middleware-hooks.js +69 -0
  66. package/templates/static/lib/core/paths.d.ts +6 -0
  67. package/templates/static/lib/core/paths.js +24 -0
  68. package/templates/static/lib/core/routes/match.d.ts +6 -0
  69. package/templates/static/lib/core/routes/match.js +31 -0
  70. package/templates/static/lib/core/routes/scan.d.ts +9 -0
  71. package/templates/static/lib/core/routes/scan.js +148 -0
  72. package/templates/static/lib/core/types.d.ts +18 -0
  73. package/templates/static/lib/core/types.js +18 -0
  74. package/templates/static/lib/css/compiler.d.ts +20 -0
  75. package/templates/static/lib/css/compiler.js +87 -0
  76. package/templates/static/lib/db/connector.d.ts +4 -0
  77. package/templates/static/lib/db/connector.js +33 -0
  78. package/templates/static/lib/db/drivers/jdb.d.ts +13 -0
  79. package/templates/static/lib/db/drivers/jdb.js +59 -0
  80. package/templates/static/lib/db/drivers/sql.d.ts +18 -0
  81. package/templates/static/lib/db/drivers/sql.js +182 -0
  82. package/templates/static/lib/db/index.d.ts +19 -0
  83. package/templates/static/lib/db/index.js +65 -0
  84. package/templates/static/lib/db/types.d.ts +29 -0
  85. package/templates/static/lib/db/types.js +18 -0
  86. package/templates/static/lib/graphql/index.d.ts +1 -0
  87. package/templates/static/lib/graphql/index.js +22 -0
  88. package/templates/static/lib/graphql/resolvers.d.ts +17 -0
  89. package/templates/static/lib/graphql/resolvers.js +26 -0
  90. package/templates/static/lib/graphql/schema.d.ts +1 -0
  91. package/templates/static/lib/graphql/schema.js +20 -0
  92. package/templates/static/lib/i18n/en.json +4 -0
  93. package/templates/static/lib/i18n/es.json +4 -0
  94. package/templates/static/lib/i18n/index.d.ts +8 -0
  95. package/templates/static/lib/i18n/index.js +32 -0
  96. package/templates/static/lib/import/jen-import.d.ts +27 -0
  97. package/templates/static/lib/import/jen-import.js +128 -0
  98. package/templates/static/lib/index.d.ts +81 -0
  99. package/templates/static/lib/index.js +120 -0
  100. package/templates/static/lib/jdb/engine.d.ts +9 -0
  101. package/templates/static/lib/jdb/engine.js +176 -0
  102. package/templates/static/lib/jdb/index.d.ts +2 -0
  103. package/templates/static/lib/jdb/index.js +19 -0
  104. package/templates/static/lib/jdb/types.d.ts +46 -0
  105. package/templates/static/lib/jdb/types.js +18 -0
  106. package/templates/static/lib/jdb/utils.d.ts +6 -0
  107. package/templates/static/lib/jdb/utils.js +141 -0
  108. package/templates/static/lib/middleware/builtins/body-parser.d.ts +1 -0
  109. package/templates/static/lib/middleware/builtins/body-parser.js +55 -0
  110. package/templates/static/lib/middleware/builtins/cors.d.ts +13 -0
  111. package/templates/static/lib/middleware/builtins/cors.js +67 -0
  112. package/templates/static/lib/middleware/builtins/logger.d.ts +1 -0
  113. package/templates/static/lib/middleware/builtins/logger.js +33 -0
  114. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +5 -0
  115. package/templates/static/lib/middleware/builtins/rate-limit.js +76 -0
  116. package/templates/static/lib/middleware/builtins/request-id.d.ts +1 -0
  117. package/templates/static/lib/middleware/builtins/request-id.js +25 -0
  118. package/templates/static/lib/middleware/builtins/security-headers.d.ts +1 -0
  119. package/templates/static/lib/middleware/builtins/security-headers.js +39 -0
  120. package/templates/static/lib/middleware/context.d.ts +18 -0
  121. package/templates/static/lib/middleware/context.js +50 -0
  122. package/templates/static/lib/middleware/decorators.d.ts +2 -0
  123. package/templates/static/lib/middleware/decorators.js +61 -0
  124. package/templates/static/lib/middleware/errors/handler.d.ts +1 -0
  125. package/templates/static/lib/middleware/errors/handler.js +65 -0
  126. package/templates/static/lib/middleware/errors/http-error.d.ts +5 -0
  127. package/templates/static/lib/middleware/errors/http-error.js +27 -0
  128. package/templates/static/lib/middleware/kernel.d.ts +6 -0
  129. package/templates/static/lib/middleware/kernel.js +39 -0
  130. package/templates/static/lib/middleware/pipeline.d.ts +4 -0
  131. package/templates/static/lib/middleware/pipeline.js +67 -0
  132. package/templates/static/lib/middleware/registry.d.ts +10 -0
  133. package/templates/static/lib/middleware/registry.js +41 -0
  134. package/templates/static/lib/middleware/response.d.ts +13 -0
  135. package/templates/static/lib/middleware/response.js +60 -0
  136. package/templates/static/lib/middleware/types.d.ts +1 -0
  137. package/templates/static/lib/middleware/types.js +18 -0
  138. package/templates/static/lib/middleware/utils/matcher.d.ts +1 -0
  139. package/templates/static/lib/middleware/utils/matcher.js +31 -0
  140. package/templates/static/lib/native/bundle.d.ts +19 -0
  141. package/templates/static/lib/native/bundle.js +39 -0
  142. package/templates/static/lib/native/dev-server.d.ts +6 -0
  143. package/templates/static/lib/native/dev-server.js +38 -0
  144. package/templates/static/lib/native/index.d.ts +30 -0
  145. package/templates/static/lib/native/index.js +48 -0
  146. package/templates/static/lib/native/optimizer.d.ts +17 -0
  147. package/templates/static/lib/native/optimizer.js +37 -0
  148. package/templates/static/lib/native/style-compiler.d.ts +10 -0
  149. package/templates/static/lib/native/style-compiler.js +36 -0
  150. package/templates/static/lib/plugin/loader.d.ts +8 -0
  151. package/templates/static/lib/plugin/loader.js +59 -0
  152. package/templates/static/lib/runtime/client-runtime.d.ts +1 -0
  153. package/templates/static/lib/runtime/client-runtime.js +28 -0
  154. package/templates/static/lib/runtime/hmr.d.ts +1 -0
  155. package/templates/static/lib/runtime/hmr.js +54 -0
  156. package/templates/static/lib/runtime/hydrate.d.ts +1 -0
  157. package/templates/static/lib/runtime/hydrate.js +45 -0
  158. package/templates/static/lib/runtime/island-hydration-client.d.ts +5 -0
  159. package/templates/static/lib/runtime/island-hydration-client.js +132 -0
  160. package/templates/static/lib/runtime/islands.d.ts +46 -0
  161. package/templates/static/lib/runtime/islands.js +89 -0
  162. package/templates/static/lib/runtime/render.d.ts +13 -0
  163. package/templates/static/lib/runtime/render.js +183 -0
  164. package/templates/static/lib/server/api-routes.d.ts +44 -0
  165. package/templates/static/lib/server/api-routes.js +196 -0
  166. package/templates/static/lib/server/api.d.ts +6 -0
  167. package/templates/static/lib/server/api.js +124 -0
  168. package/templates/static/lib/server/app.d.ts +10 -0
  169. package/templates/static/lib/server/app.js +381 -0
  170. package/templates/static/lib/server/runtimeServe.d.ts +4 -0
  171. package/templates/static/lib/server/runtimeServe.js +125 -0
  172. package/templates/static/lib/shared/log.d.ts +5 -0
  173. package/templates/static/lib/shared/log.js +31 -0
  174. package/templates/static/node_modules/.bin/esbuild +16 -0
  175. package/templates/static/node_modules/.bin/esbuild.cmd +17 -0
  176. package/templates/static/node_modules/.bin/esbuild.ps1 +28 -0
  177. package/templates/static/node_modules/.bin/tsc +16 -0
  178. package/templates/static/node_modules/.bin/tsc.cmd +17 -0
  179. package/templates/static/node_modules/.bin/tsc.ps1 +28 -0
  180. package/templates/static/node_modules/.bin/tsserver +16 -0
  181. package/templates/static/node_modules/.bin/tsserver.cmd +17 -0
  182. package/templates/static/node_modules/.bin/tsserver.ps1 +28 -0
  183. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +14 -0
  184. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +11 -0
  185. package/templates/static/node_modules/.package-lock.json +585 -0
  186. package/templates/static/node_modules/@esbuild/win32-x64/README.md +3 -0
  187. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  188. package/templates/static/node_modules/@esbuild/win32-x64/package.json +20 -0
  189. package/templates/static/node_modules/@jenjs/master/README.md +24 -0
  190. package/templates/static/node_modules/@jenjs/master/index.js +3655 -0
  191. package/templates/static/node_modules/@jenjs/master/package.json +36 -0
  192. package/templates/static/node_modules/@polka/url/build.js +49 -0
  193. package/templates/static/node_modules/@polka/url/build.mjs +47 -0
  194. package/templates/static/node_modules/@polka/url/index.d.ts +11 -0
  195. package/templates/static/node_modules/@polka/url/package.json +30 -0
  196. package/templates/static/node_modules/@polka/url/readme.md +68 -0
  197. package/templates/static/node_modules/@types/node/LICENSE +21 -0
  198. package/templates/static/node_modules/@types/node/README.md +15 -0
  199. package/templates/static/node_modules/@types/node/assert/strict.d.ts +111 -0
  200. package/templates/static/node_modules/@types/node/assert.d.ts +1078 -0
  201. package/templates/static/node_modules/@types/node/async_hooks.d.ts +603 -0
  202. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  203. package/templates/static/node_modules/@types/node/buffer.d.ts +1934 -0
  204. package/templates/static/node_modules/@types/node/child_process.d.ts +1476 -0
  205. package/templates/static/node_modules/@types/node/cluster.d.ts +578 -0
  206. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
  207. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +9 -0
  208. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  209. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
  210. package/templates/static/node_modules/@types/node/console.d.ts +452 -0
  211. package/templates/static/node_modules/@types/node/constants.d.ts +21 -0
  212. package/templates/static/node_modules/@types/node/crypto.d.ts +4545 -0
  213. package/templates/static/node_modules/@types/node/dgram.d.ts +600 -0
  214. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  215. package/templates/static/node_modules/@types/node/dns/promises.d.ts +503 -0
  216. package/templates/static/node_modules/@types/node/dns.d.ts +923 -0
  217. package/templates/static/node_modules/@types/node/domain.d.ts +170 -0
  218. package/templates/static/node_modules/@types/node/events.d.ts +976 -0
  219. package/templates/static/node_modules/@types/node/fs/promises.d.ts +1295 -0
  220. package/templates/static/node_modules/@types/node/fs.d.ts +4461 -0
  221. package/templates/static/node_modules/@types/node/globals.d.ts +172 -0
  222. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  223. package/templates/static/node_modules/@types/node/http.d.ts +2089 -0
  224. package/templates/static/node_modules/@types/node/http2.d.ts +2644 -0
  225. package/templates/static/node_modules/@types/node/https.d.ts +579 -0
  226. package/templates/static/node_modules/@types/node/index.d.ts +97 -0
  227. package/templates/static/node_modules/@types/node/inspector.d.ts +253 -0
  228. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +4052 -0
  229. package/templates/static/node_modules/@types/node/module.d.ts +891 -0
  230. package/templates/static/node_modules/@types/node/net.d.ts +1057 -0
  231. package/templates/static/node_modules/@types/node/os.d.ts +506 -0
  232. package/templates/static/node_modules/@types/node/package.json +145 -0
  233. package/templates/static/node_modules/@types/node/path.d.ts +200 -0
  234. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +968 -0
  235. package/templates/static/node_modules/@types/node/process.d.ts +2089 -0
  236. package/templates/static/node_modules/@types/node/punycode.d.ts +117 -0
  237. package/templates/static/node_modules/@types/node/querystring.d.ts +152 -0
  238. package/templates/static/node_modules/@types/node/readline/promises.d.ts +161 -0
  239. package/templates/static/node_modules/@types/node/readline.d.ts +594 -0
  240. package/templates/static/node_modules/@types/node/repl.d.ts +428 -0
  241. package/templates/static/node_modules/@types/node/sea.d.ts +153 -0
  242. package/templates/static/node_modules/@types/node/sqlite.d.ts +721 -0
  243. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +38 -0
  244. package/templates/static/node_modules/@types/node/stream/promises.d.ts +90 -0
  245. package/templates/static/node_modules/@types/node/stream/web.d.ts +622 -0
  246. package/templates/static/node_modules/@types/node/stream.d.ts +1664 -0
  247. package/templates/static/node_modules/@types/node/string_decoder.d.ts +67 -0
  248. package/templates/static/node_modules/@types/node/test.d.ts +2163 -0
  249. package/templates/static/node_modules/@types/node/timers/promises.d.ts +108 -0
  250. package/templates/static/node_modules/@types/node/timers.d.ts +287 -0
  251. package/templates/static/node_modules/@types/node/tls.d.ts +1319 -0
  252. package/templates/static/node_modules/@types/node/trace_events.d.ts +197 -0
  253. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  254. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  255. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +97 -0
  256. package/templates/static/node_modules/@types/node/tty.d.ts +208 -0
  257. package/templates/static/node_modules/@types/node/url.d.ts +984 -0
  258. package/templates/static/node_modules/@types/node/util.d.ts +2606 -0
  259. package/templates/static/node_modules/@types/node/v8.d.ts +920 -0
  260. package/templates/static/node_modules/@types/node/vm.d.ts +1000 -0
  261. package/templates/static/node_modules/@types/node/wasi.d.ts +181 -0
  262. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  263. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  264. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +97 -0
  265. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
  266. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
  267. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  268. package/templates/static/node_modules/@types/node/worker_threads.d.ts +784 -0
  269. package/templates/static/node_modules/@types/node/zlib.d.ts +683 -0
  270. package/templates/static/node_modules/esbuild/LICENSE.md +21 -0
  271. package/templates/static/node_modules/esbuild/README.md +3 -0
  272. package/templates/static/node_modules/esbuild/bin/esbuild +223 -0
  273. package/templates/static/node_modules/esbuild/install.js +289 -0
  274. package/templates/static/node_modules/esbuild/lib/main.d.ts +716 -0
  275. package/templates/static/node_modules/esbuild/lib/main.js +2242 -0
  276. package/templates/static/node_modules/esbuild/package.json +49 -0
  277. package/templates/static/node_modules/mrmime/index.d.ts +2 -0
  278. package/templates/static/node_modules/mrmime/index.js +449 -0
  279. package/templates/static/node_modules/mrmime/index.mjs +448 -0
  280. package/templates/static/node_modules/mrmime/license +21 -0
  281. package/templates/static/node_modules/mrmime/package.json +44 -0
  282. package/templates/static/node_modules/mrmime/readme.md +130 -0
  283. package/templates/static/node_modules/preact/LICENSE +21 -0
  284. package/templates/static/node_modules/preact/README.md +185 -0
  285. package/templates/static/node_modules/preact/compat/client.d.ts +13 -0
  286. package/templates/static/node_modules/preact/compat/client.js +21 -0
  287. package/templates/static/node_modules/preact/compat/client.mjs +24 -0
  288. package/templates/static/node_modules/preact/compat/dist/compat.js +2 -0
  289. package/templates/static/node_modules/preact/compat/dist/compat.js.map +1 -0
  290. package/templates/static/node_modules/preact/compat/dist/compat.mjs +2 -0
  291. package/templates/static/node_modules/preact/compat/dist/compat.module.js +2 -0
  292. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +1 -0
  293. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +2 -0
  294. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +1 -0
  295. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +3 -0
  296. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +3 -0
  297. package/templates/static/node_modules/preact/compat/jsx-runtime.js +3 -0
  298. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +3 -0
  299. package/templates/static/node_modules/preact/compat/package.json +55 -0
  300. package/templates/static/node_modules/preact/compat/scheduler.js +15 -0
  301. package/templates/static/node_modules/preact/compat/scheduler.mjs +23 -0
  302. package/templates/static/node_modules/preact/compat/server.browser.js +11 -0
  303. package/templates/static/node_modules/preact/compat/server.js +36 -0
  304. package/templates/static/node_modules/preact/compat/server.mjs +17 -0
  305. package/templates/static/node_modules/preact/compat/src/Children.js +21 -0
  306. package/templates/static/node_modules/preact/compat/src/PureComponent.js +16 -0
  307. package/templates/static/node_modules/preact/compat/src/forwardRef.js +44 -0
  308. package/templates/static/node_modules/preact/compat/src/hooks.js +70 -0
  309. package/templates/static/node_modules/preact/compat/src/index.d.ts +351 -0
  310. package/templates/static/node_modules/preact/compat/src/index.js +238 -0
  311. package/templates/static/node_modules/preact/compat/src/internal.d.ts +48 -0
  312. package/templates/static/node_modules/preact/compat/src/memo.js +35 -0
  313. package/templates/static/node_modules/preact/compat/src/portals.js +78 -0
  314. package/templates/static/node_modules/preact/compat/src/render.js +313 -0
  315. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +16 -0
  316. package/templates/static/node_modules/preact/compat/src/suspense-list.js +127 -0
  317. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +19 -0
  318. package/templates/static/node_modules/preact/compat/src/suspense.js +291 -0
  319. package/templates/static/node_modules/preact/compat/src/util.js +33 -0
  320. package/templates/static/node_modules/preact/compat/test-utils.js +1 -0
  321. package/templates/static/node_modules/preact/compat/test-utils.mjs +1 -0
  322. package/templates/static/node_modules/preact/debug/dist/debug.js +2 -0
  323. package/templates/static/node_modules/preact/debug/dist/debug.js.map +1 -0
  324. package/templates/static/node_modules/preact/debug/dist/debug.mjs +2 -0
  325. package/templates/static/node_modules/preact/debug/dist/debug.module.js +2 -0
  326. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +1 -0
  327. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +2 -0
  328. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +1 -0
  329. package/templates/static/node_modules/preact/debug/package.json +27 -0
  330. package/templates/static/node_modules/preact/debug/src/check-props.js +54 -0
  331. package/templates/static/node_modules/preact/debug/src/component-stack.js +146 -0
  332. package/templates/static/node_modules/preact/debug/src/constants.js +3 -0
  333. package/templates/static/node_modules/preact/debug/src/debug.js +593 -0
  334. package/templates/static/node_modules/preact/debug/src/index.d.ts +23 -0
  335. package/templates/static/node_modules/preact/debug/src/index.js +12 -0
  336. package/templates/static/node_modules/preact/debug/src/internal.d.ts +82 -0
  337. package/templates/static/node_modules/preact/debug/src/util.js +15 -0
  338. package/templates/static/node_modules/preact/devtools/dist/devtools.js +2 -0
  339. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +1 -0
  340. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +2 -0
  341. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +2 -0
  342. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +1 -0
  343. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +2 -0
  344. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -0
  345. package/templates/static/node_modules/preact/devtools/package.json +25 -0
  346. package/templates/static/node_modules/preact/devtools/src/devtools.js +21 -0
  347. package/templates/static/node_modules/preact/devtools/src/index.d.ts +8 -0
  348. package/templates/static/node_modules/preact/devtools/src/index.js +15 -0
  349. package/templates/static/node_modules/preact/dist/preact.js +2 -0
  350. package/templates/static/node_modules/preact/dist/preact.js.map +1 -0
  351. package/templates/static/node_modules/preact/dist/preact.min.js +2 -0
  352. package/templates/static/node_modules/preact/dist/preact.min.js.map +1 -0
  353. package/templates/static/node_modules/preact/dist/preact.min.module.js +2 -0
  354. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +1 -0
  355. package/templates/static/node_modules/preact/dist/preact.min.umd.js +2 -0
  356. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +1 -0
  357. package/templates/static/node_modules/preact/dist/preact.mjs +2 -0
  358. package/templates/static/node_modules/preact/dist/preact.module.js +2 -0
  359. package/templates/static/node_modules/preact/dist/preact.module.js.map +1 -0
  360. package/templates/static/node_modules/preact/dist/preact.umd.js +2 -0
  361. package/templates/static/node_modules/preact/dist/preact.umd.js.map +1 -0
  362. package/templates/static/node_modules/preact/hooks/dist/hooks.js +2 -0
  363. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +1 -0
  364. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +2 -0
  365. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +2 -0
  366. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +1 -0
  367. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +2 -0
  368. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -0
  369. package/templates/static/node_modules/preact/hooks/package.json +35 -0
  370. package/templates/static/node_modules/preact/hooks/src/index.d.ts +145 -0
  371. package/templates/static/node_modules/preact/hooks/src/index.js +555 -0
  372. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +103 -0
  373. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +2 -0
  374. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +1 -0
  375. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +2 -0
  376. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +2 -0
  377. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +1 -0
  378. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +2 -0
  379. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +1 -0
  380. package/templates/static/node_modules/preact/jsx-runtime/package.json +28 -0
  381. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +62 -0
  382. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +206 -0
  383. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +36 -0
  384. package/templates/static/node_modules/preact/package.json +258 -0
  385. package/templates/static/node_modules/preact/src/cjs.js +3 -0
  386. package/templates/static/node_modules/preact/src/clone-element.js +48 -0
  387. package/templates/static/node_modules/preact/src/component.js +249 -0
  388. package/templates/static/node_modules/preact/src/constants.js +22 -0
  389. package/templates/static/node_modules/preact/src/create-context.js +60 -0
  390. package/templates/static/node_modules/preact/src/create-element.js +97 -0
  391. package/templates/static/node_modules/preact/src/diff/catch-error.js +46 -0
  392. package/templates/static/node_modules/preact/src/diff/children.js +451 -0
  393. package/templates/static/node_modules/preact/src/diff/index.js +684 -0
  394. package/templates/static/node_modules/preact/src/diff/props.js +173 -0
  395. package/templates/static/node_modules/preact/src/dom.d.ts +2476 -0
  396. package/templates/static/node_modules/preact/src/index-5.d.ts +399 -0
  397. package/templates/static/node_modules/preact/src/index.d.ts +402 -0
  398. package/templates/static/node_modules/preact/src/index.js +13 -0
  399. package/templates/static/node_modules/preact/src/internal.d.ts +190 -0
  400. package/templates/static/node_modules/preact/src/jsx.d.ts +2878 -0
  401. package/templates/static/node_modules/preact/src/options.js +16 -0
  402. package/templates/static/node_modules/preact/src/render.js +78 -0
  403. package/templates/static/node_modules/preact/src/util.js +28 -0
  404. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +2 -0
  405. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +1 -0
  406. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +2 -0
  407. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +2 -0
  408. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +1 -0
  409. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +2 -0
  410. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +1 -0
  411. package/templates/static/node_modules/preact/test-utils/package.json +28 -0
  412. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +3 -0
  413. package/templates/static/node_modules/preact/test-utils/src/index.js +129 -0
  414. package/templates/static/node_modules/preact-render-to-string/LICENSE +21 -0
  415. package/templates/static/node_modules/preact-render-to-string/README.md +149 -0
  416. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +2 -0
  417. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +17 -0
  418. package/templates/static/node_modules/preact-render-to-string/dist/index.js +6 -0
  419. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +1 -0
  420. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +2 -0
  421. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +2 -0
  422. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +1 -0
  423. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +2 -0
  424. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +1 -0
  425. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +35 -0
  426. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +2 -0
  427. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +4 -0
  428. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +1 -0
  429. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +2 -0
  430. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +2 -0
  431. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +1 -0
  432. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +2 -0
  433. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +1 -0
  434. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +24 -0
  435. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +2 -0
  436. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +1 -0
  437. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +2 -0
  438. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +2 -0
  439. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +1 -0
  440. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +2 -0
  441. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +1 -0
  442. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +884 -0
  443. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +1 -0
  444. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +884 -0
  445. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +884 -0
  446. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +1 -0
  447. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +888 -0
  448. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +1 -0
  449. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +19 -0
  450. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +10 -0
  451. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +24 -0
  452. package/templates/static/node_modules/preact-render-to-string/jsx.js +1 -0
  453. package/templates/static/node_modules/preact-render-to-string/package.json +152 -0
  454. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +17 -0
  455. package/templates/static/node_modules/preact-render-to-string/src/index.js +764 -0
  456. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +35 -0
  457. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +24 -0
  458. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +102 -0
  459. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +97 -0
  460. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +62 -0
  461. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +20 -0
  462. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +8 -0
  463. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +208 -0
  464. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +491 -0
  465. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +19 -0
  466. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +84 -0
  467. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +10 -0
  468. package/templates/static/node_modules/preact-render-to-string/src/stream.js +43 -0
  469. package/templates/static/node_modules/preact-render-to-string/typings.json +5 -0
  470. package/templates/static/node_modules/sirv/build.js +197 -0
  471. package/templates/static/node_modules/sirv/build.mjs +197 -0
  472. package/templates/static/node_modules/sirv/index.d.mts +29 -0
  473. package/templates/static/node_modules/sirv/index.d.ts +33 -0
  474. package/templates/static/node_modules/sirv/package.json +40 -0
  475. package/templates/static/node_modules/sirv/readme.md +238 -0
  476. package/templates/static/node_modules/totalist/dist/index.js +24 -0
  477. package/templates/static/node_modules/totalist/dist/index.mjs +22 -0
  478. package/templates/static/node_modules/totalist/index.d.ts +3 -0
  479. package/templates/static/node_modules/totalist/license +21 -0
  480. package/templates/static/node_modules/totalist/package.json +55 -0
  481. package/templates/static/node_modules/totalist/readme.md +109 -0
  482. package/templates/static/node_modules/totalist/sync/index.d.ts +3 -0
  483. package/templates/static/node_modules/totalist/sync/index.js +17 -0
  484. package/templates/static/node_modules/totalist/sync/index.mjs +15 -0
  485. package/templates/static/node_modules/typescript/bin/tsc +2 -0
  486. package/templates/static/node_modules/typescript/bin/tsserver +2 -0
  487. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  488. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  489. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  490. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  491. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  492. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  493. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  494. package/templates/static/node_modules/typescript/lib/lib.d.ts +22 -0
  495. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  496. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  497. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  498. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  499. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  500. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  501. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  502. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  503. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  504. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  505. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  506. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  507. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  508. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  509. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  510. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  511. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  512. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  513. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  514. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  515. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  516. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  517. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  518. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  519. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  520. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  521. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  522. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  523. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  524. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  525. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  526. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  527. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  528. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  529. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  530. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  531. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  532. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  533. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  534. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  535. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  536. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  537. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  538. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  539. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  540. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  541. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  542. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  543. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  544. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  545. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  546. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  547. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  548. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  549. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  550. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  551. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  552. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  553. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  554. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  555. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  556. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  557. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  558. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  559. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  560. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  561. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  562. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  563. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  564. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  565. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  566. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  567. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  568. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  569. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  570. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  571. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  572. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  573. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  574. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  575. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  576. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  577. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  578. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  579. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  580. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  581. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  582. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  583. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  584. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  585. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  586. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  587. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  588. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  589. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  590. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  591. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  592. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  593. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  594. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  595. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  596. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  597. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  598. package/templates/static/node_modules/typescript/lib/tsc.js +8 -0
  599. package/templates/static/node_modules/typescript/lib/tsserver.js +8 -0
  600. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  601. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  602. package/templates/static/node_modules/typescript/lib/typescript.d.ts +11437 -0
  603. package/templates/static/package.json +20 -0
  604. package/templates/static/server.js +130 -0
  605. package/templates/static/site/(home).tsx +12 -0
  606. package/templates/static/site/styles/global.scss +78 -0
  607. package/templates/static/tsconfig.json +39 -0
@@ -0,0 +1,39 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ // Native bundler (C++ stub)
19
+ // High-performance bundler for assets and code
20
+ // Currently: esbuild wrapper (use native C++ bundler in production)
21
+ import esbuild from "esbuild";
22
+ export async function bundle(opts) {
23
+ const result = await esbuild.build({
24
+ entryPoints: [opts.entryPoint],
25
+ outdir: opts.outdir || "dist",
26
+ format: opts.format || "esm",
27
+ minify: opts.minify ?? false,
28
+ sourcemap: opts.sourcemap ?? false,
29
+ platform: "browser",
30
+ target: "es2022",
31
+ logLevel: "info",
32
+ });
33
+ return result;
34
+ }
35
+ export async function bundleAssets(assetsDir, outdir) {
36
+ // Copy assets with optional optimization
37
+ console.log(`[BUNDLER] Packaging assets from ${assetsDir} to ${outdir}`);
38
+ // Implementation: use native bundler for CSS/image optimization
39
+ }
@@ -0,0 +1,6 @@
1
+ export interface DevServerOptions {
2
+ port?: number;
3
+ hostname?: string;
4
+ root?: string;
5
+ }
6
+ export declare function startDevServer(opts?: DevServerOptions): Promise<import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>>;
@@ -0,0 +1,38 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ // Native dev server (Rust stub)
19
+ // Provides high-performance development server
20
+ // Currently: TypeScript implementation (use Bun or esbuild-serve in production)
21
+ import { createServer } from "node:http";
22
+ export async function startDevServer(opts = {}) {
23
+ const port = opts.port || 5173;
24
+ const hostname = opts.hostname || "0.0.0.0";
25
+ const root = opts.root || process.cwd();
26
+ const server = createServer((req, res) => {
27
+ res.writeHead(200, { "content-type": "text/plain" });
28
+ res.end("TypeScript dev server stub (replace with Rust native build in production)\n");
29
+ });
30
+ server.listen(port, hostname, () => {
31
+ console.log(`[DEV SERVER] Listening on http://${hostname}:${port}`);
32
+ });
33
+ return server;
34
+ }
35
+ // Export default for direct execution
36
+ if (import.meta.url === `file://${process.argv[1]}`) {
37
+ startDevServer();
38
+ }
@@ -0,0 +1,30 @@
1
+ export { startDevServer } from "./dev-server.js";
2
+ export type { DevServerOptions } from "./dev-server.js";
3
+ export { bundle, bundleAssets } from "./bundle.js";
4
+ export type { BundlerOptions } from "./bundle.js";
5
+ export { compileScss, compileCSS, watchStyles } from "./style-compiler.js";
6
+ export type { StyleCompilerOptions } from "./style-compiler.js";
7
+ export { optimize, optimizeImages, minifyHTML } from "./optimizer.js";
8
+ export type { OptimizerOptions } from "./optimizer.js";
9
+ export declare const NATIVE_MODULES: {
10
+ devServer: {
11
+ name: string;
12
+ status: string;
13
+ implementation: string;
14
+ };
15
+ bundler: {
16
+ name: string;
17
+ status: string;
18
+ implementation: string;
19
+ };
20
+ styleCompiler: {
21
+ name: string;
22
+ status: string;
23
+ implementation: string;
24
+ };
25
+ optimizer: {
26
+ name: string;
27
+ status: string;
28
+ implementation: string;
29
+ };
30
+ };
@@ -0,0 +1,48 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ // Native modules entry point
19
+ // Provides high-performance implementations
20
+ // Note: These are TypeScript stubs. In production, replace with native Rust/C++ bindings.
21
+ export { startDevServer } from "./dev-server.js";
22
+ export { bundle, bundleAssets } from "./bundle.js";
23
+ export { compileScss, compileCSS, watchStyles } from "./style-compiler.js";
24
+ export { optimize, optimizeImages, minifyHTML } from "./optimizer.js";
25
+ // Native module status
26
+ export const NATIVE_MODULES = {
27
+ devServer: {
28
+ name: "dev-server",
29
+ status: "stub",
30
+ implementation: "TypeScript",
31
+ },
32
+ bundler: {
33
+ name: "bundler",
34
+ status: "stub",
35
+ implementation: "esbuild wrapper",
36
+ },
37
+ styleCompiler: {
38
+ name: "style-compiler",
39
+ status: "stub",
40
+ implementation: "TypeScript",
41
+ },
42
+ optimizer: {
43
+ name: "optimizer",
44
+ status: "stub",
45
+ implementation: "TypeScript",
46
+ },
47
+ };
48
+ console.log("[NATIVE MODULES] Loaded (TypeScript stubs - replace with native bindings in production)");
@@ -0,0 +1,17 @@
1
+ export interface OptimizerOptions {
2
+ files: string[];
3
+ minify?: boolean;
4
+ compress?: boolean;
5
+ imageOptimization?: boolean;
6
+ }
7
+ export declare function optimize(opts: OptimizerOptions): Promise<{
8
+ originalSize: number;
9
+ optimizedSize: number;
10
+ savings: number;
11
+ files: string[];
12
+ }>;
13
+ export declare function optimizeImages(inputDir: string, outputDir: string, options?: {
14
+ format?: "webp" | "avif";
15
+ quality?: number;
16
+ }): Promise<void>;
17
+ export declare function minifyHTML(html: string): Promise<string>;
@@ -0,0 +1,37 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ export async function optimize(opts) {
19
+ console.log(`[OPTIMIZER] Optimizing ${opts.files.length} files`);
20
+ // Placeholder: simulated optimization results
21
+ const originalSize = 1024 * 100; // 100KB
22
+ const optimizedSize = 1024 * 75; // 75KB (25% reduction)
23
+ return {
24
+ originalSize,
25
+ optimizedSize,
26
+ savings: originalSize - optimizedSize,
27
+ files: opts.files,
28
+ };
29
+ }
30
+ export async function optimizeImages(inputDir, outputDir, options = {}) {
31
+ console.log(`[OPTIMIZER] Image optimization: ${inputDir} -> ${outputDir}`);
32
+ // Placeholder: would use native image processing
33
+ }
34
+ export async function minifyHTML(html) {
35
+ // Simple minification placeholder
36
+ return html.replace(/\s+/g, " ").replace(/>\s+</g, "><").trim();
37
+ }
@@ -0,0 +1,10 @@
1
+ export interface StyleCompilerOptions {
2
+ input: string;
3
+ output?: string;
4
+ minify?: boolean;
5
+ sourcemap?: boolean;
6
+ includePaths?: string[];
7
+ }
8
+ export declare function compileScss(opts: StyleCompilerOptions): Promise<string>;
9
+ export declare function compileCSS(input: string, minify?: boolean): Promise<string>;
10
+ export declare function watchStyles(input: string, output: string, onChange: (css: string) => void): Promise<void>;
@@ -0,0 +1,36 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ export async function compileScss(opts) {
19
+ // Placeholder: returns CSS placeholder
20
+ console.log(`[STYLE COMPILER] Compiling SCSS: ${opts.input}`);
21
+ const css = `
22
+ /* SCSS compiled from: ${opts.input} */
23
+ /* Note: Full SCSS compilation requires dart-sass or native Rust implementation */
24
+ body { margin: 0; padding: 0; }
25
+ `;
26
+ return css;
27
+ }
28
+ export async function compileCSS(input, minify = false) {
29
+ console.log(`[STYLE COMPILER] Processing CSS: ${input}`);
30
+ // Placeholder: returns input CSS
31
+ return input;
32
+ }
33
+ export async function watchStyles(input, output, onChange) {
34
+ // Placeholder watcher
35
+ console.log(`[STYLE COMPILER] Watching: ${input}`);
36
+ }
@@ -0,0 +1,8 @@
1
+ export interface Plugin {
2
+ name: string;
3
+ version?: string;
4
+ onBuild?: () => void | Promise<void>;
5
+ onServe?: () => void | Promise<void>;
6
+ onDeploy?: () => void | Promise<void>;
7
+ }
8
+ export declare function runPlugins(event?: "build" | "serve" | "deploy"): Promise<void>;
@@ -0,0 +1,59 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ // Plugin loader
19
+ // Migrated from Python src/python/plugins.py
20
+ import { readdirSync } from "node:fs";
21
+ import { join } from "node:path";
22
+ import { pathToFileURL } from "node:url";
23
+ import { log } from "../shared/log.js";
24
+ const PLUGIN_DIR = "src/plugin/plugins";
25
+ export async function runPlugins(event = "build") {
26
+ log.info(`Running plugins (${event})...`);
27
+ try {
28
+ const files = readdirSync(PLUGIN_DIR);
29
+ for (const file of files) {
30
+ if (!file.endsWith(".ts") && !file.endsWith(".js"))
31
+ continue;
32
+ const pluginPath = join(process.cwd(), PLUGIN_DIR, file);
33
+ const pluginUrl = pathToFileURL(pluginPath).href;
34
+ try {
35
+ const module = (await import(pluginUrl));
36
+ const plugin = module.default;
37
+ if (!plugin)
38
+ continue;
39
+ log.info(` Loading plugin: ${plugin.name}`);
40
+ if (event === "build" && plugin.onBuild) {
41
+ await plugin.onBuild();
42
+ }
43
+ else if (event === "serve" && plugin.onServe) {
44
+ await plugin.onServe();
45
+ }
46
+ else if (event === "deploy" && plugin.onDeploy) {
47
+ await plugin.onDeploy();
48
+ }
49
+ }
50
+ catch (err) {
51
+ log.error(` Plugin error: ${file} - ${String(err)}`);
52
+ }
53
+ }
54
+ log.info("Plugins executed.");
55
+ }
56
+ catch (err) {
57
+ log.warn(`Plugin directory not found: ${PLUGIN_DIR}`);
58
+ }
59
+ }
@@ -0,0 +1 @@
1
+ export declare function getFrameworkData(): any;
@@ -0,0 +1,28 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ 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
+ }
28
+ }
@@ -0,0 +1 @@
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";
@@ -0,0 +1,54 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ // Client-side Hot Module Replacement (HMR) / Live Reload
19
+ // Injected into the browser during development
20
+ export const HMR_CLIENT_SCRIPT = `
21
+ (function() {
22
+ console.log("[Jen.js] Connecting to HMR...");
23
+ const evt = new EventSource("/__hmr");
24
+
25
+ evt.onopen = () => console.log("[Jen.js] HMR Connected");
26
+
27
+ evt.addEventListener("reload", () => {
28
+ console.log("[Jen.js] Reloading...");
29
+ window.location.reload();
30
+ });
31
+
32
+ evt.addEventListener("style-update", (e) => {
33
+ const file = JSON.parse(e.data).file; // e.g., "styles.css"
34
+ console.log("[Jen.js] Style update:", file);
35
+
36
+ // Find matching link tags
37
+ const links = document.querySelectorAll('link[rel="stylesheet"]');
38
+ for (const link of links) {
39
+ const url = new URL(link.href);
40
+ if (url.pathname.endsWith(file)) {
41
+ // Force reload by updating query param
42
+ url.searchParams.set("t", Date.now());
43
+ link.href = url.toString();
44
+ console.log("[Jen.js] Updated stylesheet:", file);
45
+ }
46
+ }
47
+ });
48
+
49
+ evt.onerror = () => {
50
+ // console.log("[Jen.js] HMR disconnected, retrying...");
51
+ // EventSource automatically retries
52
+ };
53
+ })();
54
+ `;
@@ -0,0 +1 @@
1
+ export declare function hydrateClient(entryPath: string): Promise<void>;
@@ -0,0 +1,45 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { hydrate } from "preact";
19
+ import { h } from "preact";
20
+ import { getFrameworkData } from "./client-runtime.js";
21
+ 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);
41
+ }
42
+ catch (err) {
43
+ console.error("Hydration failed:", err instanceof Error ? err.message : String(err));
44
+ }
45
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Initialize island hydration
3
+ * Called by framework at page load
4
+ */
5
+ export declare function initializeIslands(): void;
@@ -0,0 +1,132 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { hydrate } from "preact";
19
+ import { h } from "preact";
20
+ /**
21
+ * Extract islands from HTML markers
22
+ * Format: <!--__ISLAND_LOAD__:id:componentPath:props-->
23
+ */
24
+ 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
+ }
45
+ }
46
+ return islands;
47
+ }
48
+ /**
49
+ * Hydrate a single island
50
+ */
51
+ 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);
71
+ }
72
+ }
73
+ /**
74
+ * Hydrate islands based on strategy
75
+ */
76
+ 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);
110
+ }
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ /**
116
+ * Initialize island hydration
117
+ * Called by framework at page load
118
+ */
119
+ 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
+ }
130
+ }
131
+ // Auto-initialize on import
132
+ initializeIslands();
@@ -0,0 +1,46 @@
1
+ export type HydrationStrategy = "load" | "idle" | "visible";
2
+ export interface IslandProps {
3
+ "client:load"?: boolean;
4
+ "client:idle"?: boolean;
5
+ "client:visible"?: boolean;
6
+ }
7
+ /**
8
+ * Mark a component as an interactive island.
9
+ * Wraps component with hydration metadata.
10
+ *
11
+ * Usage in route:
12
+ * import { Island } from "jenjs";
13
+ * const Counter = Island(CounterImpl, "load");
14
+ *
15
+ * Then use in JSX: <Counter count={5} />
16
+ *
17
+ * Server will:
18
+ * - Render the component to HTML
19
+ * - Emit hydration markers
20
+ * - Include serialized props
21
+ *
22
+ * Client will:
23
+ * - Discover islands from markers
24
+ * - Hydrate based on strategy
25
+ */
26
+ export declare function Island<P extends Record<string, any>>(Component: any, strategy: HydrationStrategy): any;
27
+ /**
28
+ * Detect islands in a component tree (called by server renderer).
29
+ * Returns array of island metadata to inject into HTML.
30
+ */
31
+ export interface DetectedIsland {
32
+ id: string;
33
+ component: string;
34
+ strategy: HydrationStrategy;
35
+ props: any;
36
+ }
37
+ /**
38
+ * Generate island hydration markers for server-rendered HTML.
39
+ * Call this after SSR to inject island metadata.
40
+ */
41
+ export declare function createIslandMarker(id: string, componentPath: string, strategy: HydrationStrategy, props: any): string;
42
+ /**
43
+ * Extract islands from server-rendered HTML.
44
+ * Called by client to discover islands and their hydration strategy.
45
+ */
46
+ export declare function extractIslandsFromHtml(html: string): DetectedIsland[];