create-jen-app 1.0.0 → 1.2.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 (618) hide show
  1. package/dist/colors.js +92 -0
  2. package/dist/create.js +167 -0
  3. package/dist/generator.js +149 -0
  4. package/dist/index.js +5 -71
  5. package/package.json +12 -6
  6. package/templates/static/.esbuild/jen.config.js +0 -1
  7. package/templates/static/README.md +67 -0
  8. package/templates/static/build.js +28 -8
  9. package/templates/static/jen.config.ts +102 -9
  10. package/templates/static/jenjs.d.ts +33 -15
  11. package/templates/static/lib/api/(hello).d.ts +7 -0
  12. package/templates/static/lib/api/(hello).js +26 -0
  13. package/templates/static/lib/auth/cookie-utils.d.ts +24 -0
  14. package/templates/static/lib/auth/cookie-utils.js +99 -0
  15. package/templates/static/lib/auth/index.d.ts +2 -0
  16. package/templates/static/lib/auth/index.js +19 -0
  17. package/templates/static/lib/auth/jwt.d.ts +2 -0
  18. package/templates/static/lib/auth/jwt.js +30 -0
  19. package/templates/static/lib/auth/session.d.ts +44 -0
  20. package/templates/static/lib/auth/session.js +111 -0
  21. package/templates/static/lib/build/asset-hashing.d.ts +10 -0
  22. package/templates/static/lib/build/asset-hashing.js +42 -0
  23. package/templates/static/lib/build/asset-manifest.d.ts +11 -0
  24. package/templates/static/lib/build/asset-manifest.js +38 -0
  25. package/templates/static/lib/build/build.d.ts +4 -0
  26. package/templates/static/lib/build/build.js +113 -0
  27. package/templates/static/lib/build/island-hydration.d.ts +25 -0
  28. package/templates/static/lib/build/island-hydration.js +62 -0
  29. package/templates/static/lib/build/minifier.d.ts +20 -0
  30. package/templates/static/lib/build/minifier.js +65 -0
  31. package/templates/static/lib/build/page-renderer.d.ts +17 -0
  32. package/templates/static/lib/build/page-renderer.js +45 -0
  33. package/templates/static/lib/build/production-build.d.ts +10 -0
  34. package/templates/static/lib/build/production-build.js +30 -0
  35. package/templates/static/lib/build/ssg-pipeline.d.ts +15 -0
  36. package/templates/static/lib/build/ssg-pipeline.js +119 -0
  37. package/templates/static/lib/build-tools/build-site.d.ts +6 -0
  38. package/templates/static/lib/build-tools/build-site.js +56 -0
  39. package/templates/static/lib/cache/index.d.ts +2 -0
  40. package/templates/static/lib/cache/index.js +19 -0
  41. package/templates/static/lib/cache/memory.d.ts +6 -0
  42. package/templates/static/lib/cache/memory.js +31 -0
  43. package/templates/static/lib/cache/redis.d.ts +6 -0
  44. package/templates/static/lib/cache/redis.js +33 -0
  45. package/templates/static/lib/cli/banner.d.ts +1 -0
  46. package/templates/static/lib/cli/banner.js +41 -0
  47. package/templates/static/lib/cli/templates/ssg/jen.config.d.ts +3 -0
  48. package/templates/static/lib/cli/templates/ssg/jen.config.js +49 -0
  49. package/templates/static/lib/cli/templates/ssg/site/index.d.ts +2 -0
  50. package/templates/static/lib/cli/templates/ssg/site/index.js +4 -0
  51. package/templates/static/lib/cli/templates/ssr/jen.config.d.ts +3 -0
  52. package/templates/static/lib/cli/templates/ssr/jen.config.js +49 -0
  53. package/templates/static/lib/cli/templates/ssr/site/index.d.ts +2 -0
  54. package/templates/static/lib/cli/templates/ssr/site/index.js +4 -0
  55. package/templates/static/lib/compilers/esbuild-plugins.d.ts +6 -0
  56. package/templates/static/lib/compilers/esbuild-plugins.js +130 -0
  57. package/templates/static/lib/compilers/svelte.d.ts +18 -0
  58. package/templates/static/lib/compilers/svelte.js +61 -0
  59. package/templates/static/lib/compilers/vue.d.ts +15 -0
  60. package/templates/static/lib/compilers/vue.js +99 -0
  61. package/templates/static/lib/core/config.d.ts +53 -0
  62. package/templates/static/lib/core/config.js +18 -0
  63. package/templates/static/lib/core/http.d.ts +3 -0
  64. package/templates/static/lib/core/http.js +42 -0
  65. package/templates/static/lib/core/middleware-hooks.d.ts +46 -0
  66. package/templates/static/lib/core/middleware-hooks.js +69 -0
  67. package/templates/static/lib/core/paths.d.ts +6 -0
  68. package/templates/static/lib/core/paths.js +24 -0
  69. package/templates/static/lib/core/routes/match.d.ts +6 -0
  70. package/templates/static/lib/core/routes/match.js +31 -0
  71. package/templates/static/lib/core/routes/scan.d.ts +9 -0
  72. package/templates/static/lib/core/routes/scan.js +148 -0
  73. package/templates/static/lib/core/types.d.ts +18 -0
  74. package/templates/static/lib/core/types.js +18 -0
  75. package/templates/static/lib/css/compiler.d.ts +20 -0
  76. package/templates/static/lib/css/compiler.js +87 -0
  77. package/templates/static/lib/db/connector.d.ts +4 -0
  78. package/templates/static/lib/db/connector.js +33 -0
  79. package/templates/static/lib/db/drivers/jdb.d.ts +13 -0
  80. package/templates/static/lib/db/drivers/jdb.js +59 -0
  81. package/templates/static/lib/db/drivers/sql.d.ts +18 -0
  82. package/templates/static/lib/db/drivers/sql.js +182 -0
  83. package/templates/static/lib/db/index.d.ts +19 -0
  84. package/templates/static/lib/db/index.js +65 -0
  85. package/templates/static/lib/db/types.d.ts +29 -0
  86. package/templates/static/lib/db/types.js +18 -0
  87. package/templates/static/lib/graphql/index.d.ts +1 -0
  88. package/templates/static/lib/graphql/index.js +22 -0
  89. package/templates/static/lib/graphql/resolvers.d.ts +17 -0
  90. package/templates/static/lib/graphql/resolvers.js +26 -0
  91. package/templates/static/lib/graphql/schema.d.ts +1 -0
  92. package/templates/static/lib/graphql/schema.js +20 -0
  93. package/templates/static/lib/i18n/en.json +4 -0
  94. package/templates/static/lib/i18n/es.json +4 -0
  95. package/templates/static/lib/i18n/index.d.ts +8 -0
  96. package/templates/static/lib/i18n/index.js +32 -0
  97. package/templates/static/lib/import/jen-import.d.ts +27 -0
  98. package/templates/static/lib/import/jen-import.js +128 -0
  99. package/templates/static/lib/index.d.ts +81 -0
  100. package/templates/static/lib/index.js +120 -0
  101. package/templates/static/lib/jdb/engine.d.ts +9 -0
  102. package/templates/static/lib/jdb/engine.js +176 -0
  103. package/templates/static/lib/jdb/index.d.ts +2 -0
  104. package/templates/static/lib/jdb/index.js +19 -0
  105. package/templates/static/lib/jdb/types.d.ts +46 -0
  106. package/templates/static/lib/jdb/types.js +18 -0
  107. package/templates/static/lib/jdb/utils.d.ts +6 -0
  108. package/templates/static/lib/jdb/utils.js +141 -0
  109. package/templates/static/lib/middleware/builtins/body-parser.d.ts +1 -0
  110. package/templates/static/lib/middleware/builtins/body-parser.js +55 -0
  111. package/templates/static/lib/middleware/builtins/cors.d.ts +13 -0
  112. package/templates/static/lib/middleware/builtins/cors.js +67 -0
  113. package/templates/static/lib/middleware/builtins/logger.d.ts +1 -0
  114. package/templates/static/lib/middleware/builtins/logger.js +33 -0
  115. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +5 -0
  116. package/templates/static/lib/middleware/builtins/rate-limit.js +76 -0
  117. package/templates/static/lib/middleware/builtins/request-id.d.ts +1 -0
  118. package/templates/static/lib/middleware/builtins/request-id.js +25 -0
  119. package/templates/static/lib/middleware/builtins/security-headers.d.ts +1 -0
  120. package/templates/static/lib/middleware/builtins/security-headers.js +39 -0
  121. package/templates/static/lib/middleware/context.d.ts +18 -0
  122. package/templates/static/lib/middleware/context.js +50 -0
  123. package/templates/static/lib/middleware/decorators.d.ts +2 -0
  124. package/templates/static/lib/middleware/decorators.js +61 -0
  125. package/templates/static/lib/middleware/errors/handler.d.ts +1 -0
  126. package/templates/static/lib/middleware/errors/handler.js +65 -0
  127. package/templates/static/lib/middleware/errors/http-error.d.ts +5 -0
  128. package/templates/static/lib/middleware/errors/http-error.js +27 -0
  129. package/templates/static/lib/middleware/kernel.d.ts +6 -0
  130. package/templates/static/lib/middleware/kernel.js +39 -0
  131. package/templates/static/lib/middleware/pipeline.d.ts +4 -0
  132. package/templates/static/lib/middleware/pipeline.js +67 -0
  133. package/templates/static/lib/middleware/registry.d.ts +10 -0
  134. package/templates/static/lib/middleware/registry.js +41 -0
  135. package/templates/static/lib/middleware/response.d.ts +13 -0
  136. package/templates/static/lib/middleware/response.js +60 -0
  137. package/templates/static/lib/middleware/types.d.ts +1 -0
  138. package/templates/static/lib/middleware/types.js +18 -0
  139. package/templates/static/lib/middleware/utils/matcher.d.ts +1 -0
  140. package/templates/static/lib/middleware/utils/matcher.js +31 -0
  141. package/templates/static/lib/native/bundle.d.ts +19 -0
  142. package/templates/static/lib/native/bundle.js +39 -0
  143. package/templates/static/lib/native/dev-server.d.ts +6 -0
  144. package/templates/static/lib/native/dev-server.js +38 -0
  145. package/templates/static/lib/native/index.d.ts +30 -0
  146. package/templates/static/lib/native/index.js +48 -0
  147. package/templates/static/lib/native/optimizer.d.ts +17 -0
  148. package/templates/static/lib/native/optimizer.js +37 -0
  149. package/templates/static/lib/native/style-compiler.d.ts +10 -0
  150. package/templates/static/lib/native/style-compiler.js +36 -0
  151. package/templates/static/lib/plugin/loader.d.ts +8 -0
  152. package/templates/static/lib/plugin/loader.js +59 -0
  153. package/templates/static/lib/runtime/client-runtime.d.ts +1 -0
  154. package/templates/static/lib/runtime/client-runtime.js +28 -0
  155. package/templates/static/lib/runtime/hmr.d.ts +1 -0
  156. package/templates/static/lib/runtime/hmr.js +54 -0
  157. package/templates/static/lib/runtime/hydrate.d.ts +1 -0
  158. package/templates/static/lib/runtime/hydrate.js +45 -0
  159. package/templates/static/lib/runtime/island-hydration-client.d.ts +5 -0
  160. package/templates/static/lib/runtime/island-hydration-client.js +132 -0
  161. package/templates/static/lib/runtime/islands.d.ts +46 -0
  162. package/templates/static/lib/runtime/islands.js +89 -0
  163. package/templates/static/lib/runtime/render.d.ts +13 -0
  164. package/templates/static/lib/runtime/render.js +183 -0
  165. package/templates/static/lib/server/api-routes.d.ts +44 -0
  166. package/templates/static/lib/server/api-routes.js +196 -0
  167. package/templates/static/lib/server/api.d.ts +6 -0
  168. package/templates/static/lib/server/api.js +124 -0
  169. package/templates/static/lib/server/app.d.ts +10 -0
  170. package/templates/static/lib/server/app.js +381 -0
  171. package/templates/static/lib/server/runtimeServe.d.ts +4 -0
  172. package/templates/static/lib/server/runtimeServe.js +125 -0
  173. package/templates/static/lib/shared/log.d.ts +5 -0
  174. package/templates/static/lib/shared/log.js +31 -0
  175. package/templates/static/node_modules/.bin/esbuild +3 -8
  176. package/templates/static/node_modules/.bin/esbuild.cmd +17 -0
  177. package/templates/static/node_modules/.bin/esbuild.ps1 +4 -17
  178. package/templates/static/node_modules/.bin/tsc +3 -8
  179. package/templates/static/node_modules/.bin/tsc.cmd +17 -0
  180. package/templates/static/node_modules/.bin/tsc.ps1 +4 -17
  181. package/templates/static/node_modules/.bin/tsserver +3 -8
  182. package/templates/static/node_modules/.bin/tsserver.cmd +17 -0
  183. package/templates/static/node_modules/.bin/tsserver.ps1 +4 -17
  184. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +14 -0
  185. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +11 -0
  186. package/templates/static/node_modules/.package-lock.json +585 -0
  187. package/templates/static/node_modules/@esbuild/win32-x64/README.md +3 -0
  188. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  189. package/templates/static/node_modules/@esbuild/win32-x64/package.json +20 -0
  190. package/templates/static/node_modules/@jenjs/master/README.md +24 -0
  191. package/templates/static/node_modules/@jenjs/master/index.js +3655 -0
  192. package/templates/static/node_modules/@jenjs/master/package.json +36 -0
  193. package/templates/static/node_modules/@polka/url/build.js +49 -0
  194. package/templates/static/node_modules/@polka/url/build.mjs +47 -0
  195. package/templates/static/node_modules/@polka/url/index.d.ts +11 -0
  196. package/templates/static/node_modules/@polka/url/package.json +30 -0
  197. package/templates/static/node_modules/@polka/url/readme.md +68 -0
  198. package/templates/static/node_modules/@types/node/LICENSE +21 -0
  199. package/templates/static/node_modules/@types/node/README.md +15 -0
  200. package/templates/static/node_modules/@types/node/assert/strict.d.ts +111 -0
  201. package/templates/static/node_modules/@types/node/assert.d.ts +1078 -0
  202. package/templates/static/node_modules/@types/node/async_hooks.d.ts +603 -0
  203. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  204. package/templates/static/node_modules/@types/node/buffer.d.ts +1934 -0
  205. package/templates/static/node_modules/@types/node/child_process.d.ts +1476 -0
  206. package/templates/static/node_modules/@types/node/cluster.d.ts +578 -0
  207. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
  208. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +9 -0
  209. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  210. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
  211. package/templates/static/node_modules/@types/node/console.d.ts +452 -0
  212. package/templates/static/node_modules/@types/node/constants.d.ts +21 -0
  213. package/templates/static/node_modules/@types/node/crypto.d.ts +4545 -0
  214. package/templates/static/node_modules/@types/node/dgram.d.ts +600 -0
  215. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  216. package/templates/static/node_modules/@types/node/dns/promises.d.ts +503 -0
  217. package/templates/static/node_modules/@types/node/dns.d.ts +923 -0
  218. package/templates/static/node_modules/@types/node/domain.d.ts +170 -0
  219. package/templates/static/node_modules/@types/node/events.d.ts +976 -0
  220. package/templates/static/node_modules/@types/node/fs/promises.d.ts +1295 -0
  221. package/templates/static/node_modules/@types/node/fs.d.ts +4461 -0
  222. package/templates/static/node_modules/@types/node/globals.d.ts +172 -0
  223. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  224. package/templates/static/node_modules/@types/node/http.d.ts +2089 -0
  225. package/templates/static/node_modules/@types/node/http2.d.ts +2644 -0
  226. package/templates/static/node_modules/@types/node/https.d.ts +579 -0
  227. package/templates/static/node_modules/@types/node/index.d.ts +97 -0
  228. package/templates/static/node_modules/@types/node/inspector.d.ts +253 -0
  229. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +4052 -0
  230. package/templates/static/node_modules/@types/node/module.d.ts +891 -0
  231. package/templates/static/node_modules/@types/node/net.d.ts +1057 -0
  232. package/templates/static/node_modules/@types/node/os.d.ts +506 -0
  233. package/templates/static/node_modules/@types/node/package.json +145 -0
  234. package/templates/static/node_modules/@types/node/path.d.ts +200 -0
  235. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +968 -0
  236. package/templates/static/node_modules/@types/node/process.d.ts +2089 -0
  237. package/templates/static/node_modules/@types/node/punycode.d.ts +117 -0
  238. package/templates/static/node_modules/@types/node/querystring.d.ts +152 -0
  239. package/templates/static/node_modules/@types/node/readline/promises.d.ts +161 -0
  240. package/templates/static/node_modules/@types/node/readline.d.ts +594 -0
  241. package/templates/static/node_modules/@types/node/repl.d.ts +428 -0
  242. package/templates/static/node_modules/@types/node/sea.d.ts +153 -0
  243. package/templates/static/node_modules/@types/node/sqlite.d.ts +721 -0
  244. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +38 -0
  245. package/templates/static/node_modules/@types/node/stream/promises.d.ts +90 -0
  246. package/templates/static/node_modules/@types/node/stream/web.d.ts +622 -0
  247. package/templates/static/node_modules/@types/node/stream.d.ts +1664 -0
  248. package/templates/static/node_modules/@types/node/string_decoder.d.ts +67 -0
  249. package/templates/static/node_modules/@types/node/test.d.ts +2163 -0
  250. package/templates/static/node_modules/@types/node/timers/promises.d.ts +108 -0
  251. package/templates/static/node_modules/@types/node/timers.d.ts +287 -0
  252. package/templates/static/node_modules/@types/node/tls.d.ts +1319 -0
  253. package/templates/static/node_modules/@types/node/trace_events.d.ts +197 -0
  254. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  255. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  256. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +97 -0
  257. package/templates/static/node_modules/@types/node/tty.d.ts +208 -0
  258. package/templates/static/node_modules/@types/node/url.d.ts +984 -0
  259. package/templates/static/node_modules/@types/node/util.d.ts +2606 -0
  260. package/templates/static/node_modules/@types/node/v8.d.ts +920 -0
  261. package/templates/static/node_modules/@types/node/vm.d.ts +1000 -0
  262. package/templates/static/node_modules/@types/node/wasi.d.ts +181 -0
  263. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  264. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  265. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +97 -0
  266. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
  267. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
  268. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  269. package/templates/static/node_modules/@types/node/worker_threads.d.ts +784 -0
  270. package/templates/static/node_modules/@types/node/zlib.d.ts +683 -0
  271. package/templates/static/node_modules/esbuild/LICENSE.md +21 -0
  272. package/templates/static/node_modules/esbuild/README.md +3 -0
  273. package/templates/static/node_modules/esbuild/bin/esbuild +223 -0
  274. package/templates/static/node_modules/esbuild/install.js +289 -0
  275. package/templates/static/node_modules/esbuild/lib/main.d.ts +716 -0
  276. package/templates/static/node_modules/esbuild/lib/main.js +2242 -0
  277. package/templates/static/node_modules/esbuild/package.json +49 -0
  278. package/templates/static/node_modules/mrmime/index.d.ts +2 -0
  279. package/templates/static/node_modules/mrmime/index.js +449 -0
  280. package/templates/static/node_modules/mrmime/index.mjs +448 -0
  281. package/templates/static/node_modules/mrmime/license +21 -0
  282. package/templates/static/node_modules/mrmime/package.json +44 -0
  283. package/templates/static/node_modules/mrmime/readme.md +130 -0
  284. package/templates/static/node_modules/preact/LICENSE +21 -0
  285. package/templates/static/node_modules/preact/README.md +185 -0
  286. package/templates/static/node_modules/preact/compat/client.d.ts +13 -0
  287. package/templates/static/node_modules/preact/compat/client.js +21 -0
  288. package/templates/static/node_modules/preact/compat/client.mjs +24 -0
  289. package/templates/static/node_modules/preact/compat/dist/compat.js +2 -0
  290. package/templates/static/node_modules/preact/compat/dist/compat.js.map +1 -0
  291. package/templates/static/node_modules/preact/compat/dist/compat.mjs +2 -0
  292. package/templates/static/node_modules/preact/compat/dist/compat.module.js +2 -0
  293. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +1 -0
  294. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +2 -0
  295. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +1 -0
  296. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +3 -0
  297. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +3 -0
  298. package/templates/static/node_modules/preact/compat/jsx-runtime.js +3 -0
  299. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +3 -0
  300. package/templates/static/node_modules/preact/compat/package.json +55 -0
  301. package/templates/static/node_modules/preact/compat/scheduler.js +15 -0
  302. package/templates/static/node_modules/preact/compat/scheduler.mjs +23 -0
  303. package/templates/static/node_modules/preact/compat/server.browser.js +11 -0
  304. package/templates/static/node_modules/preact/compat/server.js +36 -0
  305. package/templates/static/node_modules/preact/compat/server.mjs +17 -0
  306. package/templates/static/node_modules/preact/compat/src/Children.js +21 -0
  307. package/templates/static/node_modules/preact/compat/src/PureComponent.js +16 -0
  308. package/templates/static/node_modules/preact/compat/src/forwardRef.js +44 -0
  309. package/templates/static/node_modules/preact/compat/src/hooks.js +70 -0
  310. package/templates/static/node_modules/preact/compat/src/index.d.ts +351 -0
  311. package/templates/static/node_modules/preact/compat/src/index.js +238 -0
  312. package/templates/static/node_modules/preact/compat/src/internal.d.ts +48 -0
  313. package/templates/static/node_modules/preact/compat/src/memo.js +35 -0
  314. package/templates/static/node_modules/preact/compat/src/portals.js +78 -0
  315. package/templates/static/node_modules/preact/compat/src/render.js +313 -0
  316. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +16 -0
  317. package/templates/static/node_modules/preact/compat/src/suspense-list.js +127 -0
  318. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +19 -0
  319. package/templates/static/node_modules/preact/compat/src/suspense.js +291 -0
  320. package/templates/static/node_modules/preact/compat/src/util.js +33 -0
  321. package/templates/static/node_modules/preact/compat/test-utils.js +1 -0
  322. package/templates/static/node_modules/preact/compat/test-utils.mjs +1 -0
  323. package/templates/static/node_modules/preact/debug/dist/debug.js +2 -0
  324. package/templates/static/node_modules/preact/debug/dist/debug.js.map +1 -0
  325. package/templates/static/node_modules/preact/debug/dist/debug.mjs +2 -0
  326. package/templates/static/node_modules/preact/debug/dist/debug.module.js +2 -0
  327. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +1 -0
  328. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +2 -0
  329. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +1 -0
  330. package/templates/static/node_modules/preact/debug/package.json +27 -0
  331. package/templates/static/node_modules/preact/debug/src/check-props.js +54 -0
  332. package/templates/static/node_modules/preact/debug/src/component-stack.js +146 -0
  333. package/templates/static/node_modules/preact/debug/src/constants.js +3 -0
  334. package/templates/static/node_modules/preact/debug/src/debug.js +593 -0
  335. package/templates/static/node_modules/preact/debug/src/index.d.ts +23 -0
  336. package/templates/static/node_modules/preact/debug/src/index.js +12 -0
  337. package/templates/static/node_modules/preact/debug/src/internal.d.ts +82 -0
  338. package/templates/static/node_modules/preact/debug/src/util.js +15 -0
  339. package/templates/static/node_modules/preact/devtools/dist/devtools.js +2 -0
  340. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +1 -0
  341. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +2 -0
  342. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +2 -0
  343. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +1 -0
  344. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +2 -0
  345. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -0
  346. package/templates/static/node_modules/preact/devtools/package.json +25 -0
  347. package/templates/static/node_modules/preact/devtools/src/devtools.js +21 -0
  348. package/templates/static/node_modules/preact/devtools/src/index.d.ts +8 -0
  349. package/templates/static/node_modules/preact/devtools/src/index.js +15 -0
  350. package/templates/static/node_modules/preact/dist/preact.js +2 -0
  351. package/templates/static/node_modules/preact/dist/preact.js.map +1 -0
  352. package/templates/static/node_modules/preact/dist/preact.min.js +2 -0
  353. package/templates/static/node_modules/preact/dist/preact.min.js.map +1 -0
  354. package/templates/static/node_modules/preact/dist/preact.min.module.js +2 -0
  355. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +1 -0
  356. package/templates/static/node_modules/preact/dist/preact.min.umd.js +2 -0
  357. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +1 -0
  358. package/templates/static/node_modules/preact/dist/preact.mjs +2 -0
  359. package/templates/static/node_modules/preact/dist/preact.module.js +2 -0
  360. package/templates/static/node_modules/preact/dist/preact.module.js.map +1 -0
  361. package/templates/static/node_modules/preact/dist/preact.umd.js +2 -0
  362. package/templates/static/node_modules/preact/dist/preact.umd.js.map +1 -0
  363. package/templates/static/node_modules/preact/hooks/dist/hooks.js +2 -0
  364. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +1 -0
  365. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +2 -0
  366. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +2 -0
  367. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +1 -0
  368. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +2 -0
  369. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -0
  370. package/templates/static/node_modules/preact/hooks/package.json +35 -0
  371. package/templates/static/node_modules/preact/hooks/src/index.d.ts +145 -0
  372. package/templates/static/node_modules/preact/hooks/src/index.js +555 -0
  373. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +103 -0
  374. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +2 -0
  375. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +1 -0
  376. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +2 -0
  377. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +2 -0
  378. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +1 -0
  379. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +2 -0
  380. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +1 -0
  381. package/templates/static/node_modules/preact/jsx-runtime/package.json +28 -0
  382. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +62 -0
  383. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +206 -0
  384. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +36 -0
  385. package/templates/static/node_modules/preact/package.json +258 -0
  386. package/templates/static/node_modules/preact/src/cjs.js +3 -0
  387. package/templates/static/node_modules/preact/src/clone-element.js +48 -0
  388. package/templates/static/node_modules/preact/src/component.js +249 -0
  389. package/templates/static/node_modules/preact/src/constants.js +22 -0
  390. package/templates/static/node_modules/preact/src/create-context.js +60 -0
  391. package/templates/static/node_modules/preact/src/create-element.js +97 -0
  392. package/templates/static/node_modules/preact/src/diff/catch-error.js +46 -0
  393. package/templates/static/node_modules/preact/src/diff/children.js +451 -0
  394. package/templates/static/node_modules/preact/src/diff/index.js +684 -0
  395. package/templates/static/node_modules/preact/src/diff/props.js +173 -0
  396. package/templates/static/node_modules/preact/src/dom.d.ts +2476 -0
  397. package/templates/static/node_modules/preact/src/index-5.d.ts +399 -0
  398. package/templates/static/node_modules/preact/src/index.d.ts +402 -0
  399. package/templates/static/node_modules/preact/src/index.js +13 -0
  400. package/templates/static/node_modules/preact/src/internal.d.ts +190 -0
  401. package/templates/static/node_modules/preact/src/jsx.d.ts +2878 -0
  402. package/templates/static/node_modules/preact/src/options.js +16 -0
  403. package/templates/static/node_modules/preact/src/render.js +78 -0
  404. package/templates/static/node_modules/preact/src/util.js +28 -0
  405. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +2 -0
  406. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +1 -0
  407. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +2 -0
  408. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +2 -0
  409. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +1 -0
  410. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +2 -0
  411. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +1 -0
  412. package/templates/static/node_modules/preact/test-utils/package.json +28 -0
  413. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +3 -0
  414. package/templates/static/node_modules/preact/test-utils/src/index.js +129 -0
  415. package/templates/static/node_modules/preact-render-to-string/LICENSE +21 -0
  416. package/templates/static/node_modules/preact-render-to-string/README.md +149 -0
  417. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +2 -0
  418. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +17 -0
  419. package/templates/static/node_modules/preact-render-to-string/dist/index.js +6 -0
  420. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +1 -0
  421. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +2 -0
  422. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +2 -0
  423. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +1 -0
  424. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +2 -0
  425. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +1 -0
  426. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +35 -0
  427. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +2 -0
  428. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +4 -0
  429. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +1 -0
  430. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +2 -0
  431. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +2 -0
  432. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +1 -0
  433. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +2 -0
  434. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +1 -0
  435. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +24 -0
  436. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +2 -0
  437. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +1 -0
  438. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +2 -0
  439. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +2 -0
  440. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +1 -0
  441. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +2 -0
  442. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +1 -0
  443. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +884 -0
  444. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +1 -0
  445. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +884 -0
  446. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +884 -0
  447. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +1 -0
  448. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +888 -0
  449. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +1 -0
  450. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +19 -0
  451. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +10 -0
  452. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +24 -0
  453. package/templates/static/node_modules/preact-render-to-string/jsx.js +1 -0
  454. package/templates/static/node_modules/preact-render-to-string/package.json +152 -0
  455. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +17 -0
  456. package/templates/static/node_modules/preact-render-to-string/src/index.js +764 -0
  457. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +35 -0
  458. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +24 -0
  459. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +102 -0
  460. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +97 -0
  461. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +62 -0
  462. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +20 -0
  463. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +8 -0
  464. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +208 -0
  465. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +491 -0
  466. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +19 -0
  467. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +84 -0
  468. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +10 -0
  469. package/templates/static/node_modules/preact-render-to-string/src/stream.js +43 -0
  470. package/templates/static/node_modules/preact-render-to-string/typings.json +5 -0
  471. package/templates/static/node_modules/sirv/build.js +197 -0
  472. package/templates/static/node_modules/sirv/build.mjs +197 -0
  473. package/templates/static/node_modules/sirv/index.d.mts +29 -0
  474. package/templates/static/node_modules/sirv/index.d.ts +33 -0
  475. package/templates/static/node_modules/sirv/package.json +40 -0
  476. package/templates/static/node_modules/sirv/readme.md +238 -0
  477. package/templates/static/node_modules/totalist/dist/index.js +24 -0
  478. package/templates/static/node_modules/totalist/dist/index.mjs +22 -0
  479. package/templates/static/node_modules/totalist/index.d.ts +3 -0
  480. package/templates/static/node_modules/totalist/license +21 -0
  481. package/templates/static/node_modules/totalist/package.json +55 -0
  482. package/templates/static/node_modules/totalist/readme.md +109 -0
  483. package/templates/static/node_modules/totalist/sync/index.d.ts +3 -0
  484. package/templates/static/node_modules/totalist/sync/index.js +17 -0
  485. package/templates/static/node_modules/totalist/sync/index.mjs +15 -0
  486. package/templates/static/node_modules/typescript/bin/tsc +2 -0
  487. package/templates/static/node_modules/typescript/bin/tsserver +2 -0
  488. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  489. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  490. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  491. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  492. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  493. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  494. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  495. package/templates/static/node_modules/typescript/lib/lib.d.ts +22 -0
  496. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  497. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  498. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  499. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  500. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  501. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  502. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  503. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  504. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  505. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  506. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  507. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  508. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  509. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  510. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  511. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  512. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  513. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  514. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  515. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  516. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  517. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  518. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  519. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  520. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  521. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  522. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  523. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  524. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  525. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  526. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  527. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  528. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  529. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  530. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  531. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  532. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  533. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  534. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  535. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  536. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  537. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  538. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  539. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  540. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  541. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  542. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  543. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  544. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  545. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  546. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  547. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  548. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  549. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  550. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  551. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  552. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  553. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  554. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  555. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  556. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  557. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  558. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  559. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  560. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  561. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  562. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  563. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  564. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  565. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  566. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  567. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  568. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  569. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  570. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  571. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  572. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  573. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  574. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  575. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  576. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  577. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  578. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  579. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  580. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  581. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  582. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  583. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  584. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  585. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  586. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  587. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  588. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  589. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  590. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  591. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  592. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  593. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  594. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  595. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  596. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  597. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  598. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  599. package/templates/static/node_modules/typescript/lib/tsc.js +8 -0
  600. package/templates/static/node_modules/typescript/lib/tsserver.js +8 -0
  601. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  602. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  603. package/templates/static/node_modules/typescript/lib/typescript.d.ts +11437 -0
  604. package/templates/static/package.json +1 -1
  605. package/templates/static/server.js +31 -9
  606. package/templates/static/site/(home).tsx +12 -11
  607. package/templates/static/site/styles/global.scss +78 -43
  608. package/templates/static/tsconfig.json +39 -0
  609. package/templates/static/.esbuild/jen.config.js.map +0 -7
  610. package/templates/static/dist/index.html +0 -1
  611. package/templates/static/dist/styles.css +0 -1
  612. package/templates/static/node_modules/.bin/esbuild.CMD +0 -12
  613. package/templates/static/node_modules/.bin/tsc.CMD +0 -12
  614. package/templates/static/node_modules/.bin/tsserver.CMD +0 -12
  615. package/templates/static/node_modules/.jen/cache/C__Users_rejes_Documents_GitHub_Jen.js_packages_create-jen-app_templates_new-sass-compiler_site_(home).tsx.mjs +0 -8
  616. package/templates/static/node_modules/.jen/cache/C__Users_rejes_Documents_GitHub_Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -8
  617. package/templates/static/site/(home).esbuild.mjs +0 -15
  618. package/templates/static/site/(index).esbuild.mjs +0 -14
package/dist/colors.js ADDED
@@ -0,0 +1,92 @@
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
+ // ANSI color codes for beautiful terminal output
19
+ export const colors = {
20
+ // Main colors
21
+ primary: (str) => `\x1b[38;2;99;102;241m${str}\x1b[0m`, // Indigo
22
+ accent: (str) => `\x1b[38;2;139;92;246m${str}\x1b[0m`, // Violet
23
+ success: (str) => `\x1b[38;2;34;197;94m${str}\x1b[0m`, // Green
24
+ warning: (str) => `\x1b[38;2;251;146;60m${str}\x1b[0m`, // Orange
25
+ error: (str) => `\x1b[38;2;239;68;68m${str}\x1b[0m`, // Red
26
+ // Utility colors
27
+ cyan: (str) => `\x1b[38;2;34;211;238m${str}\x1b[0m`,
28
+ magenta: (str) => `\x1b[38;2;219;39;119m${str}\x1b[0m`,
29
+ yellow: (str) => `\x1b[38;2;250;204;21m${str}\x1b[0m`,
30
+ // Text styles
31
+ bold: (str) => `\x1b[1m${str}\x1b[0m`,
32
+ dim: (str) => `\x1b[2m${str}\x1b[0m`,
33
+ italic: (str) => `\x1b[3m${str}\x1b[0m`,
34
+ underline: (str) => `\x1b[4m${str}\x1b[0m`,
35
+ // Background colors (dark theme)
36
+ bgDark: (str) => `\x1b[48;2;23;23;23m${str}\x1b[0m`,
37
+ bgPrimary: (str) => `\x1b[48;2;99;102;241m${str}\x1b[0m`,
38
+ // Reset
39
+ reset: "\x1b[0m",
40
+ };
41
+ export const symbols = {
42
+ arrow: "→",
43
+ check: "✓",
44
+ cross: "✕",
45
+ dot: "•",
46
+ star: "★",
47
+ sparkles: "✨",
48
+ rocket: "🚀",
49
+ folder: "📁",
50
+ package: "📦",
51
+ code: "💻",
52
+ };
53
+ export function printBanner() {
54
+ const banner = `
55
+ ${colors.accent(colors.bold(`
56
+ ██╗███████╗███╗ ██╗ █████╗ ██████╗ ██████╗
57
+ ██║██╔════╝████╗ ██║ ██╔══██╗██╔══██╗██╔══██╗
58
+ ██║█████╗ ██╔██╗ ██║ ███████║██████╔╝██████╔╝
59
+ ██║██╔══╝ ██║╚██╗██║ ██╔══██║██╔═══╝ ██╔═══╝
60
+ ██║███████╗██║ ╚████║ ██║ ██║██║ ██║
61
+ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝
62
+ `))}
63
+
64
+ ${colors.primary(colors.bold("Create a beautiful Jen.js application"))}
65
+ ${colors.dim("v1.0.0")}
66
+ `;
67
+ console.log(banner);
68
+ }
69
+ export function printSection(title) {
70
+ console.log(`\n${colors.primary(colors.bold(title))}`);
71
+ }
72
+ export function printSubsection(title) {
73
+ console.log(`${colors.accent(" " + title)}`);
74
+ }
75
+ export function printSuccess(message) {
76
+ console.log(`${colors.success(symbols.check)} ${message}`);
77
+ }
78
+ export function printInfo(message) {
79
+ console.log(`${colors.cyan("ℹ")} ${message}`);
80
+ }
81
+ export function printStep(step, total, message) {
82
+ console.log(`${colors.primary(`[${step}/${total}]`)} ${colors.bold(message)}`);
83
+ }
84
+ export function printCode(code) {
85
+ console.log(`\n${colors.dim(" " + code)}\n`);
86
+ }
87
+ export function printNext(steps) {
88
+ console.log(`\n${colors.accent(colors.bold("Next steps:"))}`);
89
+ steps.forEach((step, i) => {
90
+ console.log(` ${colors.primary(i + 1 + ".")} ${step}`);
91
+ });
92
+ }
package/dist/create.js ADDED
@@ -0,0 +1,167 @@
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 fs from "fs";
19
+ import path from "path";
20
+ import { fileURLToPath } from "url";
21
+ import pc from "picocolors";
22
+ import { intro, outro, text, confirm, select, cancel, isCancel, note, spinner, } from "@clack/prompts";
23
+ import { copyTemplateFiles, createProjectFiles } from "./generator.js";
24
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
25
+ function validateProjectName(val) {
26
+ if (!val)
27
+ return "Project name is required";
28
+ if (!/^[a-zA-Z0-9._-]+$/.test(val)) {
29
+ return "Project name can only contain alphanumeric characters, dots, dashes and underscores";
30
+ }
31
+ return undefined;
32
+ }
33
+ export async function createJenApp() {
34
+ intro(pc.cyan(pc.bold("Jen.js")) + pc.dim(" - create app"));
35
+ // Get project name from CLI args or prompt
36
+ let projectName = process.argv[2];
37
+ // @ts-nocheck
38
+ if (!projectName) {
39
+ const res = await text({
40
+ message: "Project name",
41
+ placeholder: "my-jen-app",
42
+ defaultValue: "my-jen-app",
43
+ validate: validateProjectName,
44
+ });
45
+ if (isCancel(res)) {
46
+ cancel(pc.dim("Cancelled"));
47
+ process.exit(0);
48
+ }
49
+ projectName = res;
50
+ }
51
+ const projectDir = path.resolve(process.cwd(), projectName);
52
+ // Check if directory exists
53
+ if (fs.existsSync(projectDir)) {
54
+ const overwrite = await confirm({
55
+ message: `${pc.yellow(projectName)} already exists. Overwrite?`,
56
+ initialValue: false,
57
+ });
58
+ if (isCancel(overwrite)) {
59
+ cancel(pc.dim("Cancelled"));
60
+ process.exit(0);
61
+ }
62
+ if (!overwrite) {
63
+ cancel(pc.dim("Cancelled"));
64
+ process.exit(0);
65
+ }
66
+ fs.rmSync(projectDir, { recursive: true, force: true });
67
+ }
68
+ note("Configuring your project", pc.magenta("Setup"));
69
+ // Template selection
70
+ const template = await select({
71
+ message: "Select a template",
72
+ options: [
73
+ {
74
+ label: `${pc.cyan("Static")} - Pure SSG with components`,
75
+ value: "static",
76
+ hint: "Fast, lightweight static sites",
77
+ },
78
+ ],
79
+ });
80
+ if (isCancel(template)) {
81
+ cancel(pc.dim("Cancelled"));
82
+ process.exit(0);
83
+ }
84
+ // TypeScript
85
+ const typescript = await confirm({
86
+ message: "Use TypeScript?",
87
+ initialValue: true,
88
+ });
89
+ if (isCancel(typescript)) {
90
+ cancel(pc.dim("Cancelled"));
91
+ process.exit(0);
92
+ }
93
+ // Deps installation
94
+ const installDeps = await confirm({
95
+ message: "Install dependencies?",
96
+ initialValue: true,
97
+ });
98
+ if (isCancel(installDeps)) {
99
+ cancel(pc.dim("Cancelled"));
100
+ process.exit(0);
101
+ }
102
+ // Git initialization
103
+ const gitInit = await confirm({
104
+ message: "Initialize git repository?",
105
+ initialValue: true,
106
+ });
107
+ if (isCancel(gitInit)) {
108
+ cancel(pc.dim("Cancelled"));
109
+ process.exit(0);
110
+ }
111
+ const options = {
112
+ projectName,
113
+ template,
114
+ typescript,
115
+ installDeps,
116
+ gitInit,
117
+ };
118
+ note("Creating project files", pc.green("Generator"));
119
+ // Spinner for progress
120
+ const s = spinner();
121
+ // Create project structure
122
+ s.start("Setting up directories");
123
+ fs.mkdirSync(projectDir, { recursive: true });
124
+ s.stop(pc.green("Directories created"));
125
+ // Copy template files
126
+ s.start("Copying template files");
127
+ const templateDir = path.join(__dirname, "..", "templates", options.template);
128
+ if (fs.existsSync(templateDir)) {
129
+ copyTemplateFiles(templateDir, projectDir);
130
+ }
131
+ s.stop(pc.green("Template files copied"));
132
+ // Create project files
133
+ s.start("Generating configuration files");
134
+ createProjectFiles(projectDir, options);
135
+ s.stop(pc.green("Configuration files generated"));
136
+ // Git init
137
+ if (options.gitInit) {
138
+ s.start("Initializing git repository");
139
+ try {
140
+ const { execSync } = await import("child_process");
141
+ execSync("git init", { cwd: projectDir, stdio: "pipe" });
142
+ fs.writeFileSync(path.join(projectDir, ".gitignore"), `node_modules/
143
+ dist/
144
+ .jen/
145
+ .env
146
+ .env.local
147
+ .DS_Store
148
+ *.log
149
+ `);
150
+ s.stop(pc.green("Git repository initialized"));
151
+ }
152
+ catch {
153
+ s.stop(pc.yellow("Git initialization skipped"));
154
+ }
155
+ }
156
+ outro(pc.green(pc.bold("✨ Your Jen.js app is ready!")));
157
+ const nextSteps = [
158
+ pc.cyan(`cd ${projectName}`),
159
+ installDeps
160
+ ? pc.cyan("npm run dev") + pc.dim(" # start dev server")
161
+ : pc.cyan("npm install") + pc.dim(" # then npm run dev"),
162
+ ];
163
+ console.log("\n" + pc.bold("Next steps:"));
164
+ for (const step of nextSteps)
165
+ console.log(" " + pc.dim("• ") + step);
166
+ console.log("\n" + pc.dim("Happy coding! 🎉") + "\n");
167
+ }
@@ -0,0 +1,149 @@
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 fs from "fs";
19
+ import path from "path";
20
+ export function copyTemplateFiles(src, dest) {
21
+ if (!fs.existsSync(src)) {
22
+ return;
23
+ }
24
+ const files = fs.readdirSync(src);
25
+ for (const file of files) {
26
+ const srcPath = path.join(src, file);
27
+ const destPath = path.join(dest, file);
28
+ const stat = fs.statSync(srcPath);
29
+ if (stat.isDirectory()) {
30
+ fs.mkdirSync(destPath, { recursive: true });
31
+ copyTemplateFiles(srcPath, destPath);
32
+ }
33
+ else {
34
+ fs.copyFileSync(srcPath, destPath);
35
+ }
36
+ }
37
+ }
38
+ export function createProjectFiles(dir, options) {
39
+ // Read template's package.json if it exists
40
+ let templatePackageJson = {};
41
+ const templatePackagePath = path.join(dir, "package.json");
42
+ if (fs.existsSync(templatePackagePath)) {
43
+ const content = fs.readFileSync(templatePackagePath, "utf-8");
44
+ templatePackageJson = JSON.parse(content);
45
+ }
46
+ // Merge with user project name
47
+ const packageJson = {
48
+ ...templatePackageJson,
49
+ name: options.projectName.toLowerCase().replace(/\s+/g, "-"),
50
+ version: "0.1.0",
51
+ type: "module",
52
+ scripts: {
53
+ ...templatePackageJson.scripts,
54
+ dev: "jen dev",
55
+ build: "jen build",
56
+ start: "jen start",
57
+ ...(options.typescript && { typecheck: "tsc --noEmit" }),
58
+ },
59
+ dependencies: {
60
+ ...templatePackageJson.dependencies,
61
+ "@jenjs/master": "^1.2.5",
62
+ },
63
+ devDependencies: {
64
+ ...templatePackageJson.devDependencies,
65
+ ...(options.typescript && {
66
+ "@types/node": "^22.10.0",
67
+ typescript: "^5.7.2",
68
+ }),
69
+ },
70
+ };
71
+ fs.writeFileSync(path.join(dir, "package.json"), JSON.stringify(packageJson, null, 2));
72
+ // Create tsconfig.json if TypeScript
73
+ if (options.typescript) {
74
+ const tsconfig = {
75
+ compilerOptions: {
76
+ target: "ES2022",
77
+ module: "ESNext",
78
+ moduleResolution: "node",
79
+ strict: true,
80
+ jsx: "react-jsx",
81
+ jsxImportSource: "preact",
82
+ lib: ["ES2022", "DOM", "DOM.Iterable"],
83
+ skipLibCheck: true,
84
+ forceConsistentCasingInFileNames: true,
85
+ resolveJsonModule: true,
86
+ allowImportingTsExtensions: true,
87
+ },
88
+ include: ["site/**/*"],
89
+ exclude: ["node_modules", "dist"],
90
+ };
91
+ fs.writeFileSync(path.join(dir, "tsconfig.json"), JSON.stringify(tsconfig, null, 2));
92
+ }
93
+ // Create README
94
+ const readme = `# ${options.projectName}
95
+
96
+ A beautiful Jen.js application.
97
+
98
+ ## Getting Started
99
+
100
+ \`\`\`bash
101
+ npm install
102
+ npm run dev
103
+ \`\`\`
104
+
105
+ ## Available Commands
106
+
107
+ - \`npm run dev\` - Start development server (http://localhost:3000)
108
+ - \`npm run build\` - Build for production
109
+ - \`npm run start\` - Start production server
110
+ ${options.typescript ? "- \`npm run typecheck\` - Check TypeScript types\n" : ""}
111
+
112
+ ## Project Structure
113
+
114
+ \`\`\`
115
+ src/
116
+ ├── styles/ # Global styles
117
+ ├── components/ # Preact components
118
+ └── routes/ # Page routes
119
+ dist/ # Build output
120
+ jen.config.ts # Jen.js configuration
121
+ \`\`\`
122
+
123
+ ## Learn More
124
+
125
+ - [Jen.js Documentation](https://github.com/kessud2021/Jen.js)
126
+ - [Preact Documentation](https://preactjs.com)
127
+
128
+ ## License
129
+
130
+ MIT
131
+ `;
132
+ fs.writeFileSync(path.join(dir, "README.md"), readme);
133
+ // Create .env.example
134
+ const envExample = `# Database
135
+ DATABASE_URL=
136
+
137
+ # API
138
+ API_SECRET=
139
+
140
+ # Environment
141
+ NODE_ENV=development
142
+ `;
143
+ fs.writeFileSync(path.join(dir, ".env.example"), envExample);
144
+ // Create directory structure
145
+ const dirs = ["site/styles", "site/components", "site/routes", "site/assets"];
146
+ for (const dir_path of dirs) {
147
+ fs.mkdirSync(path.join(dir, dir_path), { recursive: true });
148
+ }
149
+ }
package/dist/index.js CHANGED
@@ -1,72 +1,6 @@
1
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)});
2
+ import { createJenApp } from "./create.js";
3
+ createJenApp().catch((error) => {
4
+ console.error("\n❌ Error:", error.message);
5
+ process.exit(1);
6
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-jen-app",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Create a beautiful Jen.js application with a single command",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,8 +12,9 @@
12
12
  "templates"
13
13
  ],
14
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 && chmod +x dist/index.js",
16
- "dev": "tsx src/index.ts"
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'"
17
18
  },
18
19
  "keywords": [
19
20
  "jen",
@@ -33,12 +34,17 @@
33
34
  "homepage": "https://github.com/kessud2021/Jen.js#readme",
34
35
  "license": "GPL-3.0-only",
35
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",
36
41
  "prompts": "^2.4.2"
37
42
  },
38
43
  "devDependencies": {
39
- "@types/node": "^22.10.0",
40
- "esbuild": "^0.25.0",
44
+ "@types/node": "^25.2.3",
45
+ "esbuild": "^0.27.3",
41
46
  "tsx": "^4.7.0",
42
47
  "typescript": "^5.7.2"
43
- }
48
+ },
49
+ "gitHead": "d75b257e51249af4f2863c56c8fe8b051bfc6303"
44
50
  }
@@ -1,2 +1 @@
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};
2
- //# sourceMappingURL=jen.config.js.map
@@ -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
+