create-jen-app 1.0.0 → 1.2.1

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
@@ -0,0 +1,53 @@
1
+ export type RenderMode = "ssr" | "ssg" | "isr" | "ppr";
2
+ export type FrameworkConfig = {
3
+ siteDir: string;
4
+ distDir: string;
5
+ routes: {
6
+ fileExtensions: string[];
7
+ routeFilePattern: RegExp;
8
+ enableIndexFallback: boolean;
9
+ };
10
+ rendering: {
11
+ defaultMode: RenderMode;
12
+ defaultRevalidateSeconds: number;
13
+ };
14
+ inject: {
15
+ head: string[];
16
+ bodyEnd: string[];
17
+ };
18
+ css: {
19
+ globalScss: string;
20
+ criticalBudget?: number;
21
+ extractCritical?: boolean;
22
+ };
23
+ assets: {
24
+ publicDir: string;
25
+ cacheControl: string;
26
+ hashLength?: number;
27
+ };
28
+ server: {
29
+ port: number;
30
+ hostname: string;
31
+ };
32
+ build?: {
33
+ minifyHtml?: boolean;
34
+ minifyCss?: boolean;
35
+ minifyJs?: boolean;
36
+ hashAssets?: boolean;
37
+ generateManifest?: boolean;
38
+ generateSitemap?: boolean;
39
+ cacheDir?: string;
40
+ incrementalBuild?: boolean;
41
+ sourceMap?: boolean;
42
+ };
43
+ dev?: {
44
+ enableSSR?: boolean;
45
+ liveReload?: boolean;
46
+ port?: number;
47
+ };
48
+ seo?: {
49
+ generateRobotsTxt?: boolean;
50
+ generateSitemap?: boolean;
51
+ sitemapBaseUrl?: string;
52
+ };
53
+ };
@@ -0,0 +1,18 @@
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 {};
@@ -0,0 +1,3 @@
1
+ import type { IncomingMessage } from "node:http";
2
+ export declare function parseCookies(req: IncomingMessage): Record<string, string>;
3
+ export declare function headersToObject(headers: IncomingMessage["headers"]): Record<string, string>;
@@ -0,0 +1,42 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ export function parseCookies(req) {
19
+ const cookie = req.headers.cookie;
20
+ if (!cookie)
21
+ return {};
22
+ const out = {};
23
+ for (const part of cookie.split(";")) {
24
+ const [k, ...rest] = part.trim().split("=");
25
+ const trimmedName = k.trim();
26
+ const trimmedValue = rest.join("=").trim();
27
+ if (trimmedName && trimmedValue) {
28
+ out[trimmedName] = decodeURIComponent(trimmedValue);
29
+ }
30
+ }
31
+ return out;
32
+ }
33
+ export function headersToObject(headers) {
34
+ const out = {};
35
+ for (const [k, v] of Object.entries(headers)) {
36
+ if (Array.isArray(v))
37
+ out[k] = v.join(", ");
38
+ else if (typeof v === "string")
39
+ out[k] = v;
40
+ }
41
+ return out;
42
+ }
@@ -0,0 +1,46 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ /**
3
+ * Route middleware context. Available to middleware functions.
4
+ */
5
+ export interface RouteMiddlewareContext {
6
+ req: IncomingMessage;
7
+ res: ServerResponse;
8
+ url: URL;
9
+ params: Record<string, string>;
10
+ query: Record<string, string>;
11
+ headers: Record<string, string>;
12
+ cookies: Record<string, string>;
13
+ data?: Record<string, any>;
14
+ status: (code: number) => RouteMiddlewareContext;
15
+ setHeader: (key: string, value: string) => RouteMiddlewareContext;
16
+ redirect: (url: string, statusCode?: number) => never;
17
+ json: (data: any, statusCode?: number) => never;
18
+ }
19
+ /**
20
+ * Route middleware function signature.
21
+ * Return undefined/void to continue to next middleware/page.
22
+ * Call ctx.redirect() or ctx.json() to short-circuit.
23
+ */
24
+ export type RouteMiddleware = (ctx: RouteMiddlewareContext) => Promise<void> | void;
25
+ /**
26
+ * Note: Route module types (middleware, hydrate fields) are defined in core/types.ts
27
+ * This module just provides the middleware execution primitives.
28
+ */
29
+ /**
30
+ * Create middleware context from request.
31
+ * Called by server before rendering route.
32
+ */
33
+ export declare function createRouteMiddlewareContext(opts: {
34
+ req: IncomingMessage;
35
+ res: ServerResponse;
36
+ url: URL;
37
+ params: Record<string, string>;
38
+ query: Record<string, string>;
39
+ headers: Record<string, string>;
40
+ cookies: Record<string, string>;
41
+ }): RouteMiddlewareContext;
42
+ /**
43
+ * Execute route middlewares in sequence.
44
+ * If any middleware calls redirect() or json(), it throws and stops execution.
45
+ */
46
+ export declare function executeRouteMiddleware(middlewares: RouteMiddleware[], ctx: RouteMiddlewareContext): Promise<void>;
@@ -0,0 +1,69 @@
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
+ * Note: Route module types (middleware, hydrate fields) are defined in core/types.ts
20
+ * This module just provides the middleware execution primitives.
21
+ */
22
+ /**
23
+ * Create middleware context from request.
24
+ * Called by server before rendering route.
25
+ */
26
+ export function createRouteMiddlewareContext(opts) {
27
+ const ctx = {
28
+ ...opts,
29
+ data: {},
30
+ status: function (code) {
31
+ this.res.statusCode = code;
32
+ return this;
33
+ },
34
+ setHeader: function (key, value) {
35
+ this.res.setHeader(key, value);
36
+ return this;
37
+ },
38
+ redirect: function (url, statusCode = 302) {
39
+ this.res.statusCode = statusCode;
40
+ this.res.setHeader("location", url);
41
+ this.res.end();
42
+ throw new Error("__REDIRECT__");
43
+ },
44
+ json: function (data, statusCode = 200) {
45
+ this.res.statusCode = statusCode;
46
+ this.res.setHeader("content-type", "application/json; charset=utf-8");
47
+ this.res.end(JSON.stringify(data));
48
+ throw new Error("__JSON__");
49
+ },
50
+ };
51
+ return ctx;
52
+ }
53
+ /**
54
+ * Execute route middlewares in sequence.
55
+ * If any middleware calls redirect() or json(), it throws and stops execution.
56
+ */
57
+ export async function executeRouteMiddleware(middlewares, ctx) {
58
+ for (const mw of middlewares) {
59
+ try {
60
+ await mw(ctx);
61
+ }
62
+ catch (err) {
63
+ if (err.message === "__REDIRECT__" || err.message === "__JSON__") {
64
+ throw err;
65
+ }
66
+ throw err;
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,6 @@
1
+ export declare function resolveSitePath(config: {
2
+ siteDir: string;
3
+ }, ...p: string[]): string;
4
+ export declare function resolveDistPath(config: {
5
+ distDir: string;
6
+ }, ...p: string[]): string;
@@ -0,0 +1,24 @@
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 { join } from "node:path";
19
+ export function resolveSitePath(config, ...p) {
20
+ return join(process.cwd(), config.siteDir, ...p);
21
+ }
22
+ export function resolveDistPath(config, ...p) {
23
+ return join(process.cwd(), config.distDir, ...p);
24
+ }
@@ -0,0 +1,6 @@
1
+ import type { RouteEntry } from "./scan.js";
2
+ export type MatchResult = {
3
+ route: RouteEntry;
4
+ params: Record<string, string>;
5
+ };
6
+ export declare function matchRoute(routes: RouteEntry[], pathname: string): MatchResult | null;
@@ -0,0 +1,31 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ export function matchRoute(routes, pathname) {
19
+ for (const r of routes) {
20
+ const re = new RegExp(r.pattern);
21
+ const m = pathname.match(re);
22
+ if (!m)
23
+ continue;
24
+ const params = {};
25
+ for (let i = 0; i < r.paramNames.length; i++) {
26
+ params[r.paramNames[i]] = decodeURIComponent(m[i + 1] ?? "");
27
+ }
28
+ return { route: r, params };
29
+ }
30
+ return null;
31
+ }
@@ -0,0 +1,9 @@
1
+ import type { FrameworkConfig } from "../config.js";
2
+ export type RouteEntry = {
3
+ id: string;
4
+ filePath: string;
5
+ urlPath: string;
6
+ pattern: string;
7
+ paramNames: string[];
8
+ };
9
+ export declare function scanRoutes(config: FrameworkConfig): RouteEntry[];
@@ -0,0 +1,148 @@
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 { readdirSync, statSync } from "node:fs";
19
+ import { join, relative, sep } from "node:path";
20
+ function walk(dir) {
21
+ const out = [];
22
+ for (const name of readdirSync(dir)) {
23
+ const p = join(dir, name);
24
+ const st = statSync(p);
25
+ if (st.isDirectory())
26
+ out.push(...walk(p));
27
+ else
28
+ out.push(p);
29
+ }
30
+ return out;
31
+ }
32
+ function normalizeSlashes(p) {
33
+ return p.split(sep).join("/");
34
+ }
35
+ function escapeRegex(s) {
36
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
37
+ }
38
+ function segmentToRegex(seg, paramNames) {
39
+ // (id) => ([^/]+)
40
+ // (...rest) => (.*)
41
+ if (seg.startsWith("...")) {
42
+ const name = seg.slice(3);
43
+ paramNames.push(name);
44
+ return "(.*)";
45
+ }
46
+ paramNames.push(seg);
47
+ return "([^/]+)";
48
+ }
49
+ function buildRoutePattern(urlPath) {
50
+ // Convert /user/:id into regex
51
+ // We store urlPath with placeholders already replaced during scan
52
+ const parts = urlPath.split("/").filter(Boolean);
53
+ const paramNames = [];
54
+ const regexParts = parts.map((p) => {
55
+ if (p.startsWith(":")) {
56
+ paramNames.push(p.slice(1));
57
+ return "([^/]+)";
58
+ }
59
+ if (p.startsWith("*")) {
60
+ paramNames.push(p.slice(1));
61
+ return "(.*)";
62
+ }
63
+ return escapeRegex(p);
64
+ });
65
+ const src = "^/" + regexParts.join("/") + "/?$";
66
+ return { src, paramNames };
67
+ }
68
+ export function scanRoutes(config) {
69
+ const siteRoot = join(process.cwd(), config.siteDir);
70
+ const files = walk(siteRoot);
71
+ const routes = [];
72
+ for (const abs of files) {
73
+ const rel = normalizeSlashes(relative(siteRoot, abs));
74
+ const extMatch = config.routes.fileExtensions.some((ext) => rel.endsWith(ext));
75
+ if (!extMatch)
76
+ continue;
77
+ const base = rel.split("/").pop();
78
+ const m = base.match(config.routes.routeFilePattern);
79
+ if (!m)
80
+ continue;
81
+ const name = m[1]; // inside ( )
82
+ const relDir = rel.split("/").slice(0, -1).join("/");
83
+ // name parsing:
84
+ // home => /
85
+ // about => /about
86
+ // id => /:id
87
+ // ...rest => /*rest
88
+ let routeSeg = name;
89
+ let urlSeg = "";
90
+ if (routeSeg === "home")
91
+ urlSeg = "";
92
+ else if (routeSeg.startsWith("..."))
93
+ urlSeg = "*" + routeSeg.slice(3);
94
+ else
95
+ urlSeg = routeSeg;
96
+ // build url path
97
+ let url = "/" + (relDir ? relDir + "/" : "") + urlSeg;
98
+ url = url.replaceAll("//", "/");
99
+ // Dynamic route segment detection:
100
+ // Routes are determined by the filename within parentheses
101
+ // - (home).tsx => / (root) or /{dir}/ (in subdirectory)
102
+ // - ($paramName).tsx => /:paramName (dynamic param, requires $ prefix)
103
+ // - (...restName).tsx => /*restName (catch-all, requires ... prefix)
104
+ // - Any other (name).tsx => /name (literal segment)
105
+ const rawName = name;
106
+ // Handle special prefixes for dynamic routing
107
+ if (rawName.startsWith("$") && !rawName.startsWith("...")) {
108
+ // ($paramName) syntax for dynamic parameters
109
+ const param = rawName.slice(1);
110
+ if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(param)) {
111
+ throw new Error(`Invalid parameter name: ${param} in route file ${rel}`);
112
+ }
113
+ url = "/" + (relDir ? relDir + "/" : "") + ":" + param;
114
+ url = url.replaceAll("//", "/");
115
+ }
116
+ else if (rawName.startsWith("...")) {
117
+ // (...restName) syntax for catch-all routes
118
+ const restName = rawName.slice(3);
119
+ if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(restName)) {
120
+ throw new Error(`Invalid rest parameter name: ${restName} in route file ${rel}`);
121
+ }
122
+ url = "/" + (relDir ? relDir + "/" : "") + "*" + restName;
123
+ url = url.replaceAll("//", "/");
124
+ }
125
+ else if (rawName === "home") {
126
+ // (home) is special - becomes root of its directory
127
+ url = relDir === "" ? "/" : "/" + relDir;
128
+ }
129
+ // else: (anything else) treated as literal segment
130
+ const { src, paramNames } = buildRoutePattern(url);
131
+ routes.push({
132
+ id: rel.replaceAll("/", "_"),
133
+ filePath: abs,
134
+ urlPath: url,
135
+ pattern: src,
136
+ paramNames,
137
+ });
138
+ }
139
+ routes.sort((a, b) => {
140
+ // more specific first
141
+ const aDyn = a.urlPath.includes(":") || a.urlPath.includes("*");
142
+ const bDyn = b.urlPath.includes(":") || b.urlPath.includes("*");
143
+ if (aDyn !== bDyn)
144
+ return aDyn ? 1 : -1;
145
+ return a.urlPath.localeCompare(b.urlPath);
146
+ });
147
+ return routes;
148
+ }
@@ -0,0 +1,18 @@
1
+ import type { RenderMode } from "./config.js";
2
+ export type RouteModule = {
3
+ mode?: RenderMode;
4
+ revalidateSeconds?: number;
5
+ hydrate?: boolean;
6
+ middleware?: any;
7
+ loader?: (ctx: LoaderContext) => Promise<any> | any;
8
+ Head?: (props: any) => any;
9
+ default: (props: any) => any;
10
+ };
11
+ export type LoaderContext = {
12
+ url: URL;
13
+ params: Record<string, string>;
14
+ query: Record<string, string>;
15
+ headers: Record<string, string>;
16
+ cookies: Record<string, string>;
17
+ data?: Record<string, any>;
18
+ };
@@ -0,0 +1,18 @@
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 {};
@@ -0,0 +1,20 @@
1
+ export interface CompileOptions {
2
+ inputPath: string;
3
+ outputPath?: string;
4
+ minified?: boolean;
5
+ sourceMap?: boolean;
6
+ watch?: boolean;
7
+ }
8
+ export interface CompileResult {
9
+ css: string;
10
+ sourceMap?: string;
11
+ error?: string;
12
+ }
13
+ export declare class ScssCompiler {
14
+ compile(options: CompileOptions): CompileResult;
15
+ compileString(scss: string, options?: {
16
+ minified?: boolean;
17
+ }): CompileResult;
18
+ compileGlob(pattern: string, outputDir: string, minified?: boolean): number;
19
+ }
20
+ export declare function createScssCompiler(): ScssCompiler;
@@ -0,0 +1,87 @@
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 { compile, compileString } from "sass";
19
+ import { globSync } from "glob";
20
+ import { writeFileSync, existsSync, mkdirSync } from "node:fs";
21
+ import { dirname, join, relative } from "node:path";
22
+ import { log } from "../shared/log.js";
23
+ export class ScssCompiler {
24
+ compile(options) {
25
+ const { inputPath, outputPath, minified = false, sourceMap = false, } = options;
26
+ try {
27
+ if (!existsSync(inputPath)) {
28
+ return { css: "", error: `File not found: ${inputPath}` };
29
+ }
30
+ const result = compile(inputPath, {
31
+ style: minified ? "compressed" : "expanded",
32
+ sourceMap,
33
+ });
34
+ if (outputPath) {
35
+ mkdirSync(dirname(outputPath), { recursive: true });
36
+ writeFileSync(outputPath, result.css);
37
+ if (result.sourceMap && sourceMap) {
38
+ writeFileSync(outputPath + ".map", JSON.stringify(result.sourceMap));
39
+ }
40
+ log.info(`[SCSS] ✓ ${relative(process.cwd(), inputPath)} → ${relative(process.cwd(), outputPath)}`);
41
+ }
42
+ return {
43
+ css: result.css,
44
+ sourceMap: result.sourceMap
45
+ ? JSON.stringify(result.sourceMap)
46
+ : undefined,
47
+ };
48
+ }
49
+ catch (err) {
50
+ const message = err.message || String(err);
51
+ log.error(`[SCSS] ✗ ${inputPath}: ${message}`);
52
+ return { css: "", error: message };
53
+ }
54
+ }
55
+ compileString(scss, options) {
56
+ try {
57
+ const result = compileString(scss, {
58
+ style: options?.minified ? "compressed" : "expanded",
59
+ });
60
+ return { css: result.css };
61
+ }
62
+ catch (err) {
63
+ const message = err.message || String(err);
64
+ log.error(`[SCSS] ✗ Inline compilation error: ${message}`);
65
+ return { css: "", error: message };
66
+ }
67
+ }
68
+ compileGlob(pattern, outputDir, minified = false) {
69
+ const files = globSync(pattern);
70
+ let count = 0;
71
+ files.forEach((file) => {
72
+ const rel = relative(outputDir, file);
73
+ const output = join(outputDir, rel.replace(/\.scss$/, ".css"));
74
+ const result = this.compile({
75
+ inputPath: file,
76
+ outputPath: output,
77
+ minified,
78
+ });
79
+ if (!result.error)
80
+ count++;
81
+ });
82
+ return count;
83
+ }
84
+ }
85
+ export function createScssCompiler() {
86
+ return new ScssCompiler();
87
+ }
@@ -0,0 +1,4 @@
1
+ import { DBConfig, IDBDriver } from "./types";
2
+ export declare class DBConnector {
3
+ static create(config: DBConfig): IDBDriver;
4
+ }
@@ -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
+ import { JDBDriver } from "./drivers/jdb";
19
+ import { SQLDriver } from "./drivers/sql";
20
+ export class DBConnector {
21
+ static create(config) {
22
+ switch (config.type) {
23
+ case "jdb":
24
+ return new JDBDriver(config);
25
+ case "sqlite":
26
+ case "postgres":
27
+ case "mysql":
28
+ return new SQLDriver(config);
29
+ default:
30
+ throw new Error(`Unsupported DB type: ${config.type}`);
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,13 @@
1
+ import { IDBDriver, DBConfig, UnifiedQuery } from "../types";
2
+ import { Filter, Update } from "../../jdb/types";
3
+ export declare class JDBDriver implements IDBDriver {
4
+ private engine;
5
+ constructor(config: DBConfig);
6
+ connect(): Promise<void>;
7
+ disconnect(): Promise<void>;
8
+ query<T = any>(q: UnifiedQuery<T>): Promise<T[]>;
9
+ create<T = any>(collection: string, data: any): Promise<T>;
10
+ update<T = any>(collection: string, filter: Filter<T>, update: Update<T>): Promise<number>;
11
+ delete<T = any>(collection: string, filter: Filter<T>): Promise<number>;
12
+ count<T = any>(collection: string, filter: Filter<T>): Promise<number>;
13
+ }