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
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # create-jen-app
2
+
3
+ The fastest way to create a beautiful Jen.js application.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ npm create jen-app my-app
9
+ cd my-app
10
+ npm run dev
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ npm create jen-app [project-name]
17
+ ```
18
+
19
+ ### Interactive Prompts
20
+
21
+ When you run the command, you'll be guided through:
22
+
23
+ 1. **Project Name** - What to call your project
24
+ 2. **Template Selection** - The CLI currently offers:
25
+ - **Static** - Pure SSG with components
26
+ 3. **TypeScript** - Enable TypeScript support (recommended)
27
+ 4. **Dependencies** - Install npm packages automatically
28
+ 5. **Git** - Initialize a git repository
29
+
30
+ ## Templates
31
+
32
+ ### Static Template
33
+ Perfect for marketing sites, blogs, and documentation.
34
+
35
+ - ⚡ Pure static site generation
36
+ - 📝 Component-based with Preact
37
+ - 🎨 Beautiful dark theme styles
38
+ - 🚀 Zero JavaScript overhead
39
+
40
+ ## Available Commands
41
+
42
+ All templates come with these npm scripts:
43
+
44
+ ```bash
45
+ npm run dev # Start development server (port 3000)
46
+ npm run build # Build for production
47
+ npm run start # Start production server
48
+ npm run typecheck # TypeScript type checking (if enabled)
49
+ ```
50
+
51
+ ## Features
52
+
53
+ - 🎨 **Beautiful Dark Theme** - Modern, colorful CLI with no white backgrounds
54
+ - 🚀 **Fast Setup** - Get started in seconds with template selection
55
+ - 📦 **Modern Stack** - Pre-configured and ready to use
56
+ - 🔧 **TypeScript Ready** - Full TypeScript support included
57
+ - 🌈 **Colorful Prompts** - Interactive, beautiful terminal experience
58
+
59
+ ## Project Structure
60
+
61
+ ### Static Template
62
+ ```
63
+ my-app/
64
+ ├── site/
65
+ │ ├── styles/ # SCSS styles
66
+ │ ├── components/ # Preact components
67
+ │ ├── routes/ # Page routes (file-based)
68
+ │ └── assets/ # Static assets
69
+ ├── dist/ # Build output
70
+ ├── jen.config.ts # Jen.js config
71
+ └── package.json
72
+ ```
73
+
74
+ ## Technologies
75
+
76
+ - [Jen.js](https://github.com/kessud2021/Jen.js) - Web framework
77
+ - [Preact](https://preactjs.com) - Lightweight React alternative
78
+ - [TypeScript](https://www.typescriptlang.org) - Type safety
79
+ - [SCSS](https://sass-lang.com) - Advanced styling
80
+
81
+ ## Documentation
82
+
83
+ - [Jen.js Docs](https://github.com/kessud2021/Jen.js)
84
+ - [Preact Guide](https://preactjs.com)
85
+ - [TypeScript Handbook](https://www.typescriptlang.org/docs)
86
+
87
+ ## License
88
+
89
+ MIT - See LICENSE in the Jen.js repository
package/dist/index.js ADDED
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env node
2
+ import d from"fs";import b from"path";import{fileURLToPath as D}from"url";import m from"prompts";var t={primary:e=>`\x1B[38;2;99;102;241m${e}\x1B[0m`,accent:e=>`\x1B[38;2;139;92;246m${e}\x1B[0m`,success:e=>`\x1B[38;2;34;197;94m${e}\x1B[0m`,warning:e=>`\x1B[38;2;251;146;60m${e}\x1B[0m`,error:e=>`\x1B[38;2;239;68;68m${e}\x1B[0m`,cyan:e=>`\x1B[38;2;34;211;238m${e}\x1B[0m`,magenta:e=>`\x1B[38;2;219;39;119m${e}\x1B[0m`,yellow:e=>`\x1B[38;2;250;204;21m${e}\x1B[0m`,bold:e=>`\x1B[1m${e}\x1B[0m`,dim:e=>`\x1B[2m${e}\x1B[0m`,italic:e=>`\x1B[3m${e}\x1B[0m`,underline:e=>`\x1B[4m${e}\x1B[0m`,bgDark:e=>`\x1B[48;2;23;23;23m${e}\x1B[0m`,bgPrimary:e=>`\x1B[48;2;99;102;241m${e}\x1B[0m`,reset:"\x1B[0m"},f={arrow:"\u2192",check:"\u2713",cross:"\u2715",dot:"\u2022",star:"\u2605",sparkles:"\u2728",rocket:"\u{1F680}",folder:"\u{1F4C1}",package:"\u{1F4E6}",code:"\u{1F4BB}"};function v(){let e=`
3
+ ${t.accent(t.bold(`
4
+ \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557
5
+ \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557
6
+ \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D
7
+ \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u255D
8
+ \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551
9
+ \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D
10
+ `))}
11
+
12
+ ${t.primary(t.bold("Create a beautiful Jen.js application"))}
13
+ ${t.dim("v1.0.0")}
14
+ `;console.log(e)}function j(e){console.log(`
15
+ ${t.primary(t.bold(e))}`)}function g(e){console.log(`${t.success(f.check)} ${e}`)}function h(e){console.log(`${t.cyan("\u2139")} ${e}`)}function u(e,n,i){console.log(`${t.primary(`[${e}/${n}]`)} ${t.bold(i)}`)}function w(e){console.log(`
16
+ ${t.accent(t.bold("Next steps:"))}`),e.forEach((n,i)=>{console.log(` ${t.primary(i+1+".")} ${n}`)})}import r from"fs";import s from"path";function S(e,n){if(!r.existsSync(e))return;let i=r.readdirSync(e);for(let o of i){let c=s.join(e,o),a=s.join(n,o);r.statSync(c).isDirectory()?(r.mkdirSync(a,{recursive:!0}),S(c,a)):r.copyFileSync(c,a)}}function k(e,n){let i={},o=s.join(e,"package.json");if(r.existsSync(o)){let p=r.readFileSync(o,"utf-8");i=JSON.parse(p)}let c={...i,name:n.projectName.toLowerCase().replace(/\s+/g,"-"),version:"0.1.0",type:"module",scripts:{...i.scripts,dev:"jen dev",build:"jen build",start:"jen start",...n.typescript&&{typecheck:"tsc --noEmit"}},dependencies:{...i.dependencies,"@jenjs/master":"^1.2.5"},devDependencies:{...i.devDependencies,...n.typescript&&{"@types/node":"^22.10.0",typescript:"^5.7.2"}}};if(r.writeFileSync(s.join(e,"package.json"),JSON.stringify(c,null,2)),n.typescript){let p={compilerOptions:{target:"ES2022",module:"ESNext",moduleResolution:"node",strict:!0,jsx:"react-jsx",jsxImportSource:"preact",lib:["ES2022","DOM","DOM.Iterable"],skipLibCheck:!0,forceConsistentCasingInFileNames:!0,resolveJsonModule:!0,allowImportingTsExtensions:!0},include:["site/**/*"],exclude:["node_modules","dist"]};r.writeFileSync(s.join(e,"tsconfig.json"),JSON.stringify(p,null,2))}let a=`# ${n.projectName}
17
+
18
+ A beautiful Jen.js application.
19
+
20
+ ## Getting Started
21
+
22
+ \`\`\`bash
23
+ npm install
24
+ npm run dev
25
+ \`\`\`
26
+
27
+ ## Available Commands
28
+
29
+ - \`npm run dev\` - Start development server (http://localhost:3000)
30
+ - \`npm run build\` - Build for production
31
+ - \`npm run start\` - Start production server
32
+ ${n.typescript?"- `npm run typecheck` - Check TypeScript types\n":""}
33
+
34
+ ## Project Structure
35
+
36
+ \`\`\`
37
+ src/
38
+ \u251C\u2500\u2500 styles/ # Global styles
39
+ \u251C\u2500\u2500 components/ # Preact components
40
+ \u2514\u2500\u2500 routes/ # Page routes
41
+ dist/ # Build output
42
+ jen.config.ts # Jen.js configuration
43
+ \`\`\`
44
+
45
+ ## Learn More
46
+
47
+ - [Jen.js Documentation](https://github.com/kessud2021/Jen.js)
48
+ - [Preact Documentation](https://preactjs.com)
49
+
50
+ ## License
51
+
52
+ MIT
53
+ `;r.writeFileSync(s.join(e,"README.md"),a),r.writeFileSync(s.join(e,".env.example"),`# Database
54
+ DATABASE_URL=
55
+
56
+ # API
57
+ API_SECRET=
58
+
59
+ # Environment
60
+ NODE_ENV=development
61
+ `);let y=["site/styles","site/components","site/routes","site/assets"];for(let p of y)r.mkdirSync(s.join(e,p),{recursive:!0})}var I=b.dirname(D(import.meta.url));async function P(){v();let e=process.argv[2];e||(e=(await m({type:"text",name:"projectName",message:"Project name",initial:"my-jen-app",validate:$=>$?/^[a-zA-Z0-9._-]+$/.test($)?!0:"Project name can only contain alphanumeric characters, dots, dashes and underscores":"Project name is required"})).projectName);let n=b.resolve(process.cwd(),e);d.existsSync(n)&&((await m({type:"confirm",name:"overwrite",message:`${t.warning(e)} already exists. Overwrite?`,initial:!1})).overwrite||(console.log(`${t.dim("Cancelled")}`),process.exit(0)),d.rmSync(n,{recursive:!0})),j(`${f.sparkles} Configuring your project`);let i=await m({type:"select",name:"template",message:"Select a template",choices:[{title:`${t.accent("Static")} - Pure SSG with components`,value:"static",description:"Fast, lightweight static sites"}]}),o=await m({type:"confirm",name:"typescript",message:"Use TypeScript?",initial:!0}),c=await m({type:"confirm",name:"installDeps",message:"Install dependencies?",initial:!0}),a=await m({type:"confirm",name:"gitInit",message:"Initialize git repository?",initial:!0}),l={projectName:e,template:i.template,typescript:o.typescript,installDeps:c.installDeps,gitInit:a.gitInit};j(`${f.rocket} Creating project`),u(1,4,"Setting up directories"),d.mkdirSync(n,{recursive:!0}),g("Directories created"),u(2,4,"Copying template files");let y=b.join(I,"..","templates",l.template);if(d.existsSync(y)&&S(y,n),g("Template files copied"),u(3,4,"Generating configuration files"),k(n,l),g("Configuration files generated"),l.gitInit){u(4,4,"Initializing git repository");try{let{execSync:x}=await import("child_process");x("git init",{cwd:n,stdio:"pipe"}),d.writeFileSync(b.join(n,".gitignore"),`node_modules/
62
+ dist/
63
+ .jen/
64
+ .env
65
+ .env.local
66
+ .DS_Store
67
+ *.log
68
+ `),g("Git repository initialized")}catch{h("Git initialization skipped")}}console.log(`
69
+ ${t.accent(t.bold("\u2728 Your Jen.js app is ready!"))}`);let p=[`${t.cyan(`cd ${e}`)}`,l.installDeps?`${t.cyan("npm run dev")} ${t.dim("to start development server")}`:`${t.cyan("npm install")} then ${t.cyan("npm run dev")}`];w(p),console.log(`
70
+ ${t.dim("Happy coding! \u{1F389}")}
71
+ `)}P().catch(e=>{console.error(`
72
+ \u274C Error:`,e.message),process.exit(1)});
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "create-jen-app",
3
+ "version": "0.1.0",
4
+ "description": "Create a beautiful Jen.js application with a single command",
5
+ "type": "module",
6
+ "bin": {
7
+ "create-jen-app": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "dist",
12
+ "templates"
13
+ ],
14
+ "scripts": {
15
+ "build": "esbuild src/index.ts --minify --bundle --platform=node --target=es2022 --format=esm --external:prompts --external:child_process --outfile=dist/index.js",
16
+ "dev": "tsx src/index.ts",
17
+ "typecheck": "echo 'Type checking create-jen-app'"
18
+ },
19
+ "keywords": [
20
+ "jen",
21
+ "jenjs",
22
+ "create",
23
+ "cli",
24
+ "scaffold",
25
+ "boilerplate"
26
+ ],
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/kessud2021/Jen.js.git"
30
+ },
31
+ "bugs": {
32
+ "url": "https://github.com/kessud2021/Jen.js/issues"
33
+ },
34
+ "homepage": "https://github.com/kessud2021/Jen.js#readme",
35
+ "license": "GPL-3.0-only",
36
+ "dependencies": {
37
+ "@clack/core": "^1.0.1",
38
+ "@clack/prompts": "^1.0.1",
39
+ "@types/prompts": "^2.4.9",
40
+ "picocolors": "^1.1.1",
41
+ "prompts": "^2.4.2"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^25.2.3",
45
+ "esbuild": "^0.27.3",
46
+ "tsx": "^4.7.0",
47
+ "typescript": "^5.7.2"
48
+ },
49
+ "gitHead": "d75b257e51249af4f2863c56c8fe8b051bfc6303"
50
+ }
@@ -0,0 +1 @@
1
+ var e={siteDir:"site",distDir:"dist",routes:{fileExtensions:[".tsx",".jsx",".ts",".js"],routeFilePattern:/^\(([^)]+)\)\.(tsx|jsx|ts|js)$/,enableIndexFallback:!0},rendering:{defaultMode:"ssg",defaultRevalidateSeconds:0},inject:{head:[],bodyEnd:[]},css:{globalScss:"site/styles/global.scss"},assets:{publicDir:"site/assets",cacheControl:"public, max-age=3600"},server:{port:3001,hostname:"localhost"},dev:{liveReload:!0}},s=e;export{s as default};
@@ -0,0 +1,67 @@
1
+
2
+ # Jen.js Starter Kit: Static
3
+
4
+ ```sh
5
+ npm create jen-app@latest
6
+ ````
7
+
8
+
9
+ > ⚡ **Building something cool?** This is a static Jen.js starter template with file-based routing and fast builds.
10
+
11
+ ## 🚀 Project Structure
12
+
13
+ Inside your Jen.js project, you'll see the following folders and files:
14
+
15
+ ```text
16
+ /
17
+ ├── site/
18
+ │ ├── assets/
19
+ │ │ └── favicon.svg
20
+ │ ├── components/
21
+ │ │ └── Header.tsx
22
+ │ ├── layouts/
23
+ │ │ └── BaseLayout.tsx
24
+ │ ├── pages/
25
+ │ │ └── (index).tsx
26
+ │ ├── styles/
27
+ │ │ └── global.scss
28
+ │ └── jen.config.ts
29
+ ├── dist/
30
+ └── package.json
31
+ ```
32
+
33
+ ### Key Folders
34
+
35
+ * **`site/pages/`** → Your routes (file-based routing)
36
+ * **`site/components/`** → Reusable UI components
37
+ * **`site/layouts/`** → Layout wrappers
38
+ * **`site/assets/`** → Public static files
39
+ * **`site/styles/`** → Global styles
40
+
41
+ ## 🧞 Commands
42
+
43
+ All commands are run from the root of the project, from a terminal:
44
+
45
+ | Command | Action |
46
+ | :---------------- | :---------------------------------------- |
47
+ | `npm install` | Installs dependencies |
48
+ | `npm run dev` | Starts the dev server at `localhost:3001` |
49
+ | `npm run build` | Builds your static site into `./dist/` |
50
+ | `npm run preview` | Previews the production build locally |
51
+
52
+ ## 📦 Deployment
53
+
54
+ Jen.js outputs a fully static site into `dist/`.
55
+
56
+ You can deploy it easily to:
57
+
58
+ * GitHub Pages
59
+ * Netlify
60
+ * Vercel
61
+ * Cloudflare Pages
62
+
63
+ ## 👀 Want to learn more?
64
+
65
+ Check the Jen.js documentation (coming soon) or explore the source code to see how routing, builds, and rendering work.
66
+
67
+
@@ -0,0 +1,106 @@
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
+
19
+ import { dirname, join } from "node:path";
20
+ import { fileURLToPath, pathToFileURL } from "node:url";
21
+ import { readdir, stat, readFile, writeFile } from "node:fs/promises";
22
+ import esbuild from "esbuild";
23
+
24
+ const __filename = fileURLToPath(import.meta.url);
25
+ const currentDir = dirname(__filename);
26
+ const rootDir = join(currentDir, ".");
27
+
28
+ // Embedded Minifier Logic
29
+ const Minifier = {
30
+ html(input) {
31
+ return input
32
+ .replace(/<!--[\s\S]*?-->/g, "")
33
+ .replace(/>\s+</g, "><")
34
+ .replace(/\s+/g, " ")
35
+ .replace(/\s*([{};:,=])\s*/g, "$1")
36
+ .trim();
37
+ },
38
+ css(input) {
39
+ return input
40
+ .replace(/\/\*[\s\S]*?\*\//g, "")
41
+ .replace(/\/\/.*/g, "")
42
+ .replace(/\s*([{}:;,])\s*/g, "$1")
43
+ .replace(/\s+/g, " ")
44
+ .replace(/;\s*}/g, "}")
45
+ .trim();
46
+ },
47
+ };
48
+
49
+ async function main() {
50
+ console.log("[BUILD] Starting build...");
51
+
52
+ const configPath = join(currentDir, "jen.config.ts");
53
+ const outdir = join(currentDir, ".esbuild");
54
+
55
+ await esbuild.build({
56
+ entryPoints: [configPath],
57
+ outdir,
58
+ format: "esm",
59
+ platform: "node",
60
+ target: "es2022",
61
+ bundle: true,
62
+ minify: true,
63
+ sourcemap: true,
64
+ loader: { ".ts": "ts" },
65
+ logLevel: "silent",
66
+ });
67
+
68
+ const configFile = join(outdir, "jen.config.js");
69
+ const config = (await import(pathToFileURL(configFile).href)).default;
70
+
71
+ const buildPath = pathToFileURL(
72
+ join(rootDir, "lib/build/build.js"),
73
+ ).href;
74
+ const { buildSite } = await import(buildPath);
75
+
76
+ await buildSite({ config });
77
+
78
+ console.log("[BUILD] Minifying output...");
79
+
80
+ async function minifyDir(dir) {
81
+ try {
82
+ const files = await readdir(dir);
83
+ for (const file of files) {
84
+ const path = join(dir, file);
85
+ const s = await stat(path);
86
+ if (s.isDirectory()) {
87
+ await minifyDir(path);
88
+ } else if (file.endsWith(".html")) {
89
+ const content = await readFile(path, "utf-8");
90
+ await writeFile(path, Minifier.html(content));
91
+ } else if (file.endsWith(".css")) {
92
+ const content = await readFile(path, "utf-8");
93
+ await writeFile(path, Minifier.css(content));
94
+ }
95
+ }
96
+ } catch (e) {
97
+ if (e.code !== "ENOENT") console.warn("Minification warning:", e.message);
98
+ }
99
+ }
100
+
101
+ await minifyDir(join(currentDir, config.distDir || "dist"));
102
+
103
+ console.log("✅ Site built successfully!");
104
+ }
105
+
106
+ main().catch(console.error);
@@ -0,0 +1,128 @@
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
+
19
+
20
+ const config: FrameworkConfig = {
21
+ siteDir: "site",
22
+ distDir: "dist",
23
+ routes: {
24
+ fileExtensions: [".tsx", ".jsx", ".ts", ".js"],
25
+ routeFilePattern: /^\(([^)]+)\)\.(tsx|jsx|ts|js)$/,
26
+ enableIndexFallback: true,
27
+ },
28
+ rendering: {
29
+ defaultMode: "ssg",
30
+ defaultRevalidateSeconds: 0,
31
+ },
32
+ inject: {
33
+ head: [],
34
+ bodyEnd: [],
35
+ },
36
+ css: {
37
+ globalScss: "site/styles/global.scss",
38
+ },
39
+ assets: {
40
+ publicDir: "site/assets",
41
+ cacheControl: "public, max-age=3600",
42
+ },
43
+ server: {
44
+ port: 3001,
45
+ hostname: "localhost",
46
+ },
47
+ dev: {
48
+ liveReload: true,
49
+ },
50
+ };
51
+
52
+ export default config;
53
+
54
+
55
+ export type RenderMode = "ssg" | "ssr";
56
+
57
+ export interface FrameworkConfig {
58
+ /** Root directory where pages/components live */
59
+ siteDir: string;
60
+
61
+ /** Output directory for build artifacts */
62
+ distDir: string;
63
+
64
+ routes: {
65
+ /** Allowed extensions for route files */
66
+ fileExtensions: string[];
67
+
68
+ /**
69
+ * Pattern for matching route files.
70
+ * Example: (hello).tsx -> "hello"
71
+ */
72
+ routeFilePattern: RegExp;
73
+
74
+ /** If true, /about maps to /about/index */
75
+ enableIndexFallback: boolean;
76
+ };
77
+
78
+ rendering: {
79
+ /** Default rendering strategy */
80
+ defaultMode: RenderMode;
81
+
82
+ /**
83
+ * Default revalidation time in seconds (ISR-like behavior).
84
+ * 0 = never revalidate.
85
+ */
86
+ defaultRevalidateSeconds: number;
87
+ };
88
+
89
+ inject: {
90
+ /**
91
+ * HTML strings to inject into <head>.
92
+ * Example: `<meta charset="utf-8">`
93
+ */
94
+ head: string[];
95
+
96
+ /**
97
+ * HTML strings injected before </body>.
98
+ * Example: `<script src="/app.js"></script>`
99
+ */
100
+ bodyEnd: string[];
101
+ };
102
+
103
+ css: {
104
+ /** Path to global SCSS file loaded into every page */
105
+ globalScss?: string;
106
+ };
107
+
108
+ assets: {
109
+ /** Directory for static public assets */
110
+ publicDir: string;
111
+
112
+ /** Cache-Control header applied to assets */
113
+ cacheControl?: string;
114
+ };
115
+
116
+ server: {
117
+ /** Dev/SSR server port */
118
+ port: number;
119
+
120
+ /** Dev/SSR server hostname */
121
+ hostname: string;
122
+ };
123
+
124
+ dev: {
125
+ /** Enables live reload / HMR behavior */
126
+ liveReload: boolean;
127
+ };
128
+ }
@@ -0,0 +1,33 @@
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
+
19
+ declare module "@jenjs/master" {
20
+ export * from "@jenjs/master";
21
+ }
22
+
23
+ declare module "@jenjs/master/config" {
24
+ export * from "@jenjs/master/config";
25
+ }
26
+
27
+ declare module "@jenjs/master/compile" {
28
+ export * from "@jenjs/master/compile";
29
+ }
30
+
31
+ declare module "@jenjs/master/render" {
32
+ export * from "@jenjs/master/render";
33
+ }
@@ -0,0 +1,7 @@
1
+ export default function handler(ctx: any): Promise<{
2
+ ok: boolean;
3
+ message: string;
4
+ method: any;
5
+ query: any;
6
+ body: any;
7
+ }>;
@@ -0,0 +1,26 @@
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 default async function handler(ctx) {
19
+ return {
20
+ ok: true,
21
+ message: "Hello from API route",
22
+ method: ctx.method,
23
+ query: ctx.query,
24
+ body: ctx.body,
25
+ };
26
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Secure cookie utilities for session management
3
+ * Ensures cookies have proper security flags
4
+ */
5
+ export interface CookieOptions {
6
+ httpOnly?: boolean;
7
+ secure?: boolean;
8
+ sameSite?: "Strict" | "Lax" | "None";
9
+ maxAge?: number;
10
+ path?: string;
11
+ domain?: string;
12
+ }
13
+ /**
14
+ * Generate secure cookie header value
15
+ */
16
+ export declare function createSecureCookie(name: string, value: string, options?: CookieOptions): string;
17
+ /**
18
+ * Parse cookies from request header
19
+ */
20
+ export declare function parseCookies(cookieHeader: string): Record<string, string>;
21
+ /**
22
+ * Validate session cookie - check all security properties
23
+ */
24
+ export declare function validateSessionCookie(header: string, expectedName?: string): boolean;