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,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
+ import { createHash } from 'node:crypto';
19
+ import { readFileSync, renameSync } from 'node:fs';
20
+ import { join, dirname, basename, extname } from 'node:path';
21
+ export class AssetHasher {
22
+ /**
23
+ * Calculate hash of file content
24
+ */
25
+ static hashContent(content) {
26
+ return createHash('md5').update(content).digest('hex').slice(0, 10);
27
+ }
28
+ /**
29
+ * Rename file to include hash (e.g. style.css -> style.a1b2c3.css)
30
+ */
31
+ static hashFile(filePath) {
32
+ const content = readFileSync(filePath);
33
+ const hash = this.hashContent(content);
34
+ const dir = dirname(filePath);
35
+ const ext = extname(filePath);
36
+ const name = basename(filePath, ext);
37
+ const newName = `${name}.${hash}${ext}`;
38
+ const newPath = join(dir, newName);
39
+ renameSync(filePath, newPath);
40
+ return newName;
41
+ }
42
+ }
@@ -0,0 +1,11 @@
1
+ export interface Manifest {
2
+ [key: string]: string;
3
+ }
4
+ export declare class AssetManifest {
5
+ private manifest;
6
+ private manifestPath;
7
+ constructor(distDir: string);
8
+ set(original: string, hashed: string): void;
9
+ get(original: string): string | undefined;
10
+ save(): void;
11
+ }
@@ -0,0 +1,38 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { writeFileSync, readFileSync, existsSync } from 'node:fs';
19
+ import { join } from 'node:path';
20
+ export class AssetManifest {
21
+ manifest = {};
22
+ manifestPath;
23
+ constructor(distDir) {
24
+ this.manifestPath = join(distDir, 'manifest.json');
25
+ if (existsSync(this.manifestPath)) {
26
+ this.manifest = JSON.parse(readFileSync(this.manifestPath, 'utf8'));
27
+ }
28
+ }
29
+ set(original, hashed) {
30
+ this.manifest[original] = hashed;
31
+ }
32
+ get(original) {
33
+ return this.manifest[original];
34
+ }
35
+ save() {
36
+ writeFileSync(this.manifestPath, JSON.stringify(this.manifest, null, 2));
37
+ }
38
+ }
@@ -0,0 +1,4 @@
1
+ import type { FrameworkConfig } from "../core/config.js";
2
+ export declare function buildSite(opts: {
3
+ config: FrameworkConfig;
4
+ }): Promise<void>;
@@ -0,0 +1,113 @@
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 { mkdirSync, rmSync, writeFileSync, existsSync, copyFileSync, readdirSync, statSync } from "node:fs";
19
+ import { join } from "node:path";
20
+ import esbuild from "esbuild";
21
+ import { createScssCompiler } from "../css/compiler.js";
22
+ import { vueEsbuildPlugin, svelteEsbuildPlugin } from "../compilers/esbuild-plugins.js";
23
+ import { scanRoutes } from "../core/routes/scan.js";
24
+ import { resolveDistPath } from "../core/paths.js";
25
+ import { log } from "../shared/log.js";
26
+ import { renderRouteToHtml } from "../runtime/render.js";
27
+ function copyDir(src, dst) {
28
+ if (!existsSync(src))
29
+ return;
30
+ mkdirSync(dst, { recursive: true });
31
+ for (const name of readdirSync(src)) {
32
+ const sp = join(src, name);
33
+ const dp = join(dst, name);
34
+ const st = statSync(sp);
35
+ if (st.isDirectory())
36
+ copyDir(sp, dp);
37
+ else
38
+ copyFileSync(sp, dp);
39
+ }
40
+ }
41
+ export async function buildSite(opts) {
42
+ const { config } = opts;
43
+ const dist = resolveDistPath(config);
44
+ rmSync(dist, { recursive: true, force: true });
45
+ mkdirSync(dist, { recursive: true });
46
+ const routes = scanRoutes(config);
47
+ log.info(`Building SSG: ${routes.length} routes`);
48
+ for (const r of routes) {
49
+ const url = new URL("http://localhost" + r.urlPath);
50
+ const html = await renderRouteToHtml({
51
+ config,
52
+ route: r,
53
+ req: {},
54
+ res: {},
55
+ url,
56
+ params: {},
57
+ query: {},
58
+ headers: {},
59
+ cookies: {}
60
+ });
61
+ const outPath = r.urlPath === "/"
62
+ ? join(dist, "index.html")
63
+ : join(dist, r.urlPath.slice(1), "index.html");
64
+ mkdirSync(join(outPath, ".."), { recursive: true });
65
+ writeFileSync(outPath, html, "utf8");
66
+ log.info(`SSG: ${r.urlPath} -> ${outPath}`);
67
+ }
68
+ copyDir(join(process.cwd(), config.siteDir, "assets"), join(dist, "assets"));
69
+ // Handle Vue/Svelte components in site folder
70
+ const siteSourceDir = join(process.cwd(), config.siteDir);
71
+ const vueFiles = readdirSync(siteSourceDir, { recursive: true }).filter((f) => String(f).endsWith(".vue") || String(f).endsWith(".svelte"));
72
+ if (vueFiles.length > 0) {
73
+ log.info(`Found ${vueFiles.length} Vue/Svelte components, bundling...`);
74
+ try {
75
+ await esbuild.build({
76
+ entryPoints: vueFiles.map((f) => join(siteSourceDir, String(f))),
77
+ outdir: join(dist, "components"),
78
+ format: "esm",
79
+ target: "es2022",
80
+ bundle: false,
81
+ plugins: [vueEsbuildPlugin(), svelteEsbuildPlugin()],
82
+ external: ["preact", "vue", "svelte"],
83
+ logLevel: "info",
84
+ });
85
+ log.info("Vue/Svelte components bundled successfully.");
86
+ }
87
+ catch (err) {
88
+ log.warn(`Failed to bundle Vue/Svelte components: ${err.message}`);
89
+ }
90
+ }
91
+ // styles.css
92
+ const scssPath = join(process.cwd(), config.css.globalScss);
93
+ if (existsSync(scssPath)) {
94
+ const compiler = createScssCompiler();
95
+ const result = compiler.compile({
96
+ inputPath: scssPath,
97
+ minified: true
98
+ });
99
+ if (result.error) {
100
+ log.error(`SCSS Compilation Failed: ${result.error}`);
101
+ writeFileSync(join(dist, "styles.css"), "/* SCSS Compilation Failed */");
102
+ }
103
+ else {
104
+ writeFileSync(join(dist, "styles.css"), result.css);
105
+ log.info(`Compiled global SCSS: ${config.css.globalScss}`);
106
+ }
107
+ }
108
+ else {
109
+ log.warn(`Global SCSS file not found: ${scssPath}`);
110
+ writeFileSync(join(dist, "styles.css"), "/* No global SCSS found */");
111
+ }
112
+ log.info("Build complete.");
113
+ }
@@ -0,0 +1,25 @@
1
+ export interface Island {
2
+ id: string;
3
+ component: string;
4
+ props: any;
5
+ }
6
+ export interface IslandRegistry {
7
+ islands: Island[];
8
+ }
9
+ /**
10
+ * Creates an empty island registry for a request
11
+ */
12
+ export declare function createIslandRegistry(): IslandRegistry;
13
+ /**
14
+ * Mark a component as an island (placeholder implementation)
15
+ * In a real framework, this would be a decorator or a HOC
16
+ */
17
+ export declare function markIsland(name: string, props: any): string;
18
+ /**
19
+ * Extract islands from HTML string
20
+ */
21
+ export declare function extractIslandsFromHtml(html: string): Island[];
22
+ /**
23
+ * Inject hydration script into HTML
24
+ */
25
+ export declare function injectIslandScript(html: string, islands: Island[]): string;
@@ -0,0 +1,62 @@
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
+ * Creates an empty island registry for a request
20
+ */
21
+ export function createIslandRegistry() {
22
+ return { islands: [] };
23
+ }
24
+ /**
25
+ * Mark a component as an island (placeholder implementation)
26
+ * In a real framework, this would be a decorator or a HOC
27
+ */
28
+ export function markIsland(name, props) {
29
+ const id = `island-${Math.random().toString(36).slice(2, 9)}`;
30
+ return `<div data-island="${name}" data-props='${JSON.stringify(props)}' id="${id}"></div>`;
31
+ }
32
+ /**
33
+ * Extract islands from HTML string
34
+ */
35
+ export function extractIslandsFromHtml(html) {
36
+ const islands = [];
37
+ const regex = /data-island="([^"]+)" data-props='([^']+)' id="([^"]+)"/g;
38
+ let match;
39
+ while ((match = regex.exec(html)) !== null) {
40
+ islands.push({
41
+ component: match[1],
42
+ props: JSON.parse(match[2]),
43
+ id: match[3]
44
+ });
45
+ }
46
+ return islands;
47
+ }
48
+ /**
49
+ * Inject hydration script into HTML
50
+ */
51
+ export function injectIslandScript(html, islands) {
52
+ if (islands.length === 0)
53
+ return html;
54
+ const script = `
55
+ <script type="module">
56
+ import { hydrate } from '/__runtime/hydrate.js';
57
+ const islands = ${JSON.stringify(islands)};
58
+ islands.forEach(i => hydrate(i.component, i.id, i.props));
59
+ </script>
60
+ `;
61
+ return html.replace('</body>', `${script}</body>`);
62
+ }
@@ -0,0 +1,20 @@
1
+ export interface MinifyOptions {
2
+ minifyIdentifiers?: boolean;
3
+ minifySyntax?: boolean;
4
+ minifyWhitespace?: boolean;
5
+ target?: string | string[];
6
+ }
7
+ export declare class Minifier {
8
+ /**
9
+ * Minify JavaScript/TypeScript using esbuild
10
+ */
11
+ static minifyJs(code: string, options?: MinifyOptions): Promise<string>;
12
+ /**
13
+ * Minify CSS using esbuild
14
+ */
15
+ static minifyCss(code: string): Promise<string>;
16
+ /**
17
+ * Minify HTML (basic regex/string-based, as esbuild doesn't handle HTML)
18
+ */
19
+ static minifyHtml(html: string): string;
20
+ }
@@ -0,0 +1,65 @@
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 * as esbuild from 'esbuild';
19
+ import { log } from '../shared/log.js';
20
+ export class Minifier {
21
+ /**
22
+ * Minify JavaScript/TypeScript using esbuild
23
+ */
24
+ static async minifyJs(code, options = {}) {
25
+ try {
26
+ const result = await esbuild.transform(code, {
27
+ loader: 'js',
28
+ minify: true,
29
+ legalComments: 'none',
30
+ ...options
31
+ });
32
+ return result.code;
33
+ }
34
+ catch (err) {
35
+ log.error('Minification failed (JS)');
36
+ throw err;
37
+ }
38
+ }
39
+ /**
40
+ * Minify CSS using esbuild
41
+ */
42
+ static async minifyCss(code) {
43
+ try {
44
+ const result = await esbuild.transform(code, {
45
+ loader: 'css',
46
+ minify: true
47
+ });
48
+ return result.code;
49
+ }
50
+ catch (err) {
51
+ log.error('Minification failed (CSS)');
52
+ throw err;
53
+ }
54
+ }
55
+ /**
56
+ * Minify HTML (basic regex/string-based, as esbuild doesn't handle HTML)
57
+ */
58
+ static minifyHtml(html) {
59
+ return html
60
+ .replace(/<!--[\s\S]*?-->/g, '') // Remove comments
61
+ .replace(/>\s+</g, '><') // Remove whitespace between tags
62
+ .replace(/\s{2,}/g, ' ') // Collapse multiple whitespaces
63
+ .trim();
64
+ }
65
+ }
@@ -0,0 +1,17 @@
1
+ import { FrameworkConfig } from '../core/config.js';
2
+ import { RouteEntry } from '../core/routes/scan.js';
3
+ export interface PageRenderContext {
4
+ config: FrameworkConfig;
5
+ route: RouteEntry;
6
+ url: URL;
7
+ params: Record<string, string>;
8
+ query: Record<string, string>;
9
+ headers: Record<string, string>;
10
+ cookies: Record<string, string>;
11
+ }
12
+ export declare class PageRenderer {
13
+ /**
14
+ * Render a route to a full HTML string, including minification if requested
15
+ */
16
+ static render(ctx: PageRenderContext, minify?: boolean): Promise<string>;
17
+ }
@@ -0,0 +1,45 @@
1
+ /*
2
+ * This file is part of Jen.js.
3
+ * Copyright (C) 2026 oopsio
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { renderRouteToHtml } from '../runtime/render.js';
19
+ import { Minifier } from './minifier.js';
20
+ export class PageRenderer {
21
+ /**
22
+ * Render a route to a full HTML string, including minification if requested
23
+ */
24
+ static async render(ctx, minify = false) {
25
+ // 1. Core Preact render
26
+ let html = await renderRouteToHtml({
27
+ config: ctx.config,
28
+ route: ctx.route,
29
+ req: {},
30
+ res: {},
31
+ url: ctx.url,
32
+ params: ctx.params,
33
+ query: ctx.query,
34
+ headers: ctx.headers,
35
+ cookies: ctx.cookies
36
+ });
37
+ // 2. Post-processing (Layout injection, hydration script injection)
38
+ // Note: Hydration logic is handled by island-hydration.ts usually
39
+ // 3. Optional Minification
40
+ if (minify) {
41
+ html = Minifier.minifyHtml(html);
42
+ }
43
+ return html;
44
+ }
45
+ }
@@ -0,0 +1,10 @@
1
+ import { FrameworkConfig } from '../core/config.js';
2
+ export interface ProductionBuildConfig {
3
+ config: FrameworkConfig;
4
+ }
5
+ export declare class ProductionBuilder {
6
+ /**
7
+ * Run the production build sequence
8
+ */
9
+ static build(opts: ProductionBuildConfig): Promise<void>;
10
+ }
@@ -0,0 +1,30 @@
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 { SSGPipeline } from './ssg-pipeline.js';
19
+ import { log } from '../shared/log.js';
20
+ export class ProductionBuilder {
21
+ /**
22
+ * Run the production build sequence
23
+ */
24
+ static async build(opts) {
25
+ log.info('--- PRODUCTION BUILD START ---');
26
+ const pipeline = new SSGPipeline(opts.config);
27
+ await pipeline.run();
28
+ log.info('--- PRODUCTION BUILD COMPLETE ---');
29
+ }
30
+ }
@@ -0,0 +1,15 @@
1
+ import { FrameworkConfig } from '../core/config.js';
2
+ export declare class SSGPipeline {
3
+ private config;
4
+ private dist;
5
+ constructor(config: FrameworkConfig);
6
+ /**
7
+ * Run the full SSG Pipeline
8
+ */
9
+ run(): Promise<void>;
10
+ private prepareDist;
11
+ private processAssets;
12
+ private compileStyles;
13
+ private renderPages;
14
+ private copyRecursive;
15
+ }
@@ -0,0 +1,119 @@
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 { mkdirSync, rmSync, writeFileSync, existsSync, copyFileSync, readdirSync, statSync } from 'node:fs';
19
+ import { join } from 'node:path';
20
+ import { scanRoutes } from '../core/routes/scan.js';
21
+ import { resolveDistPath } from '../core/paths.js';
22
+ import { log } from '../shared/log.js';
23
+ import { PageRenderer } from './page-renderer.js';
24
+ import { AssetHasher } from './asset-hashing.js';
25
+ import { createScssCompiler } from '../css/compiler.js';
26
+ export class SSGPipeline {
27
+ config;
28
+ dist;
29
+ constructor(config) {
30
+ this.config = config;
31
+ this.dist = resolveDistPath(config);
32
+ }
33
+ /**
34
+ * Run the full SSG Pipeline
35
+ */
36
+ async run() {
37
+ log.info('Starting SSG Pipeline (Enterprise Build)');
38
+ // 1. Prepare dist
39
+ this.prepareDist();
40
+ // 2. Process Assets
41
+ await this.processAssets();
42
+ // 3. Compile Styles
43
+ const cssPath = await this.compileStyles();
44
+ // 4. Render Pages
45
+ await this.renderPages();
46
+ log.info('Pipeline complete.');
47
+ }
48
+ prepareDist() {
49
+ rmSync(this.dist, { recursive: true, force: true });
50
+ mkdirSync(this.dist, { recursive: true });
51
+ }
52
+ async processAssets() {
53
+ const assetDir = join(process.cwd(), this.config.siteDir, 'assets');
54
+ const targetDir = join(this.dist, 'assets');
55
+ if (existsSync(assetDir)) {
56
+ this.copyRecursive(assetDir, targetDir);
57
+ log.info('Assets copied to dist');
58
+ }
59
+ }
60
+ async compileStyles() {
61
+ const scssPath = join(process.cwd(), this.config.css.globalScss);
62
+ if (!existsSync(scssPath))
63
+ return null;
64
+ const compiler = createScssCompiler();
65
+ const result = compiler.compile({
66
+ inputPath: scssPath,
67
+ minified: true
68
+ });
69
+ if (result.error) {
70
+ log.error(`SCSS Failed: ${result.error}`);
71
+ return null;
72
+ }
73
+ const cssFile = join(this.dist, 'styles.css');
74
+ writeFileSync(cssFile, result.css);
75
+ // Hash the CSS
76
+ const hashedName = AssetHasher.hashFile(cssFile);
77
+ log.info(`Styles compiled and hashed: ${hashedName}`);
78
+ return hashedName;
79
+ }
80
+ async renderPages() {
81
+ const routes = scanRoutes(this.config);
82
+ for (const r of routes) {
83
+ try {
84
+ const url = new URL('http://localhost' + r.urlPath);
85
+ const html = await PageRenderer.render({
86
+ config: this.config,
87
+ route: r,
88
+ url,
89
+ params: {},
90
+ query: {},
91
+ headers: {},
92
+ cookies: {}
93
+ }, true);
94
+ const outDir = join(this.dist, r.urlPath === '/' ? '' : r.urlPath.slice(1));
95
+ mkdirSync(outDir, { recursive: true });
96
+ writeFileSync(join(outDir, 'index.html'), html);
97
+ log.info(`Rendered ${r.urlPath}`);
98
+ }
99
+ catch (err) {
100
+ const errorMsg = err instanceof Error ? err.message : String(err);
101
+ log.error(`Failed to render ${r.urlPath}: ${errorMsg}`);
102
+ throw err;
103
+ }
104
+ }
105
+ }
106
+ copyRecursive(src, dst) {
107
+ mkdirSync(dst, { recursive: true });
108
+ for (const name of readdirSync(src)) {
109
+ const sp = join(src, name);
110
+ const dp = join(dst, name);
111
+ if (statSync(sp).isDirectory()) {
112
+ this.copyRecursive(sp, dp);
113
+ }
114
+ else {
115
+ copyFileSync(sp, dp);
116
+ }
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,6 @@
1
+ export interface BuildOptions {
2
+ minify?: boolean;
3
+ sourcemap?: boolean;
4
+ optimize?: boolean;
5
+ }
6
+ export declare function buildSite(opts?: BuildOptions): Promise<void>;