create-jen-app 1.2.2 → 1.2.4

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 (861) hide show
  1. package/README.md +3 -1
  2. package/dist/colors.js +0 -17
  3. package/dist/create.js +5 -17
  4. package/dist/generator.js +14 -31
  5. package/package.json +2 -2
  6. package/templates/ssr-isr/README.md +77 -0
  7. package/templates/ssr-isr/build.js +118 -0
  8. package/templates/ssr-isr/jen.config.ts +109 -0
  9. package/templates/ssr-isr/jenjs.d.ts +22 -0
  10. package/templates/ssr-isr/lib/api/(hello).d.ts +7 -0
  11. package/templates/ssr-isr/lib/api/(hello).js +9 -0
  12. package/templates/ssr-isr/lib/auth/cookie-utils.d.ts +33 -0
  13. package/templates/ssr-isr/lib/auth/cookie-utils.js +79 -0
  14. package/templates/ssr-isr/lib/auth/index.js +2 -0
  15. package/templates/ssr-isr/lib/auth/jwt.d.ts +30 -0
  16. package/templates/ssr-isr/lib/auth/jwt.js +57 -0
  17. package/templates/ssr-isr/lib/auth/session.d.ts +44 -0
  18. package/templates/ssr-isr/lib/auth/session.js +92 -0
  19. package/templates/ssr-isr/lib/build/asset-hashing.d.ts +10 -0
  20. package/templates/ssr-isr/lib/build/asset-hashing.js +25 -0
  21. package/templates/ssr-isr/lib/build/asset-manifest.d.ts +11 -0
  22. package/templates/ssr-isr/lib/build/asset-manifest.js +21 -0
  23. package/templates/ssr-isr/lib/build/build.d.ts +24 -0
  24. package/templates/ssr-isr/lib/build/build.js +141 -0
  25. package/templates/{static → ssr-isr}/lib/build/island-hydration.d.ts +8 -5
  26. package/templates/ssr-isr/lib/build/island-hydration.js +44 -0
  27. package/templates/ssr-isr/lib/build/minifier.d.ts +20 -0
  28. package/templates/ssr-isr/lib/build/minifier.js +46 -0
  29. package/templates/ssr-isr/lib/build/page-renderer.d.ts +17 -0
  30. package/templates/ssr-isr/lib/build/page-renderer.js +28 -0
  31. package/templates/ssr-isr/lib/build/production-build.d.ts +10 -0
  32. package/templates/ssr-isr/lib/build/production-build.js +13 -0
  33. package/templates/ssr-isr/lib/build/ssg-pipeline.d.ts +15 -0
  34. package/templates/ssr-isr/lib/build/ssg-pipeline.js +113 -0
  35. package/templates/{static → ssr-isr}/lib/build-tools/build-site.d.ts +3 -3
  36. package/templates/ssr-isr/lib/build-tools/build-site.js +36 -0
  37. package/templates/ssr-isr/lib/cache/index.d.ts +10 -0
  38. package/templates/ssr-isr/lib/cache/index.js +10 -0
  39. package/templates/ssr-isr/lib/cache/memory.d.ts +33 -0
  40. package/templates/ssr-isr/lib/cache/memory.js +40 -0
  41. package/templates/ssr-isr/lib/cache/redis.d.ts +45 -0
  42. package/templates/ssr-isr/lib/cache/redis.js +61 -0
  43. package/templates/ssr-isr/lib/cli/banner.d.ts +5 -0
  44. package/templates/ssr-isr/lib/cli/banner.js +28 -0
  45. package/templates/ssr-isr/lib/cli/templates/ssg/jen.config.js +32 -0
  46. package/templates/ssr-isr/lib/cli/templates/ssg/site/index.js +9 -0
  47. package/templates/ssr-isr/lib/cli/templates/ssr/jen.config.js +32 -0
  48. package/templates/ssr-isr/lib/cli/templates/ssr/site/index.js +9 -0
  49. package/templates/ssr-isr/lib/compilers/esbuild-plugins.js +111 -0
  50. package/templates/ssr-isr/lib/compilers/svelte.d.ts +18 -0
  51. package/templates/ssr-isr/lib/compilers/svelte.js +44 -0
  52. package/templates/ssr-isr/lib/compilers/vue.d.ts +15 -0
  53. package/templates/ssr-isr/lib/compilers/vue.js +90 -0
  54. package/templates/ssr-isr/lib/core/config.d.ts +220 -0
  55. package/templates/ssr-isr/lib/core/http.d.ts +56 -0
  56. package/templates/ssr-isr/lib/core/http.js +71 -0
  57. package/templates/ssr-isr/lib/core/middleware-hooks.d.ts +219 -0
  58. package/templates/ssr-isr/lib/core/middleware-hooks.js +97 -0
  59. package/templates/ssr-isr/lib/core/paths.d.ts +44 -0
  60. package/templates/ssr-isr/lib/core/paths.js +39 -0
  61. package/templates/ssr-isr/lib/core/routes/match.d.ts +54 -0
  62. package/templates/ssr-isr/lib/core/routes/match.js +47 -0
  63. package/templates/ssr-isr/lib/core/routes/scan.d.ts +53 -0
  64. package/templates/ssr-isr/lib/core/routes/scan.js +190 -0
  65. package/templates/ssr-isr/lib/core/types.d.ts +153 -0
  66. package/templates/ssr-isr/lib/core/types.js +1 -0
  67. package/templates/ssr-isr/lib/css/compiler.d.ts +23 -0
  68. package/templates/ssr-isr/lib/css/compiler.js +74 -0
  69. package/templates/ssr-isr/lib/db/connector.d.ts +30 -0
  70. package/templates/ssr-isr/lib/db/connector.js +42 -0
  71. package/templates/ssr-isr/lib/db/drivers/jdb.d.ts +17 -0
  72. package/templates/ssr-isr/lib/db/drivers/jdb.js +44 -0
  73. package/templates/ssr-isr/lib/db/drivers/sql.d.ts +22 -0
  74. package/templates/ssr-isr/lib/db/drivers/sql.js +182 -0
  75. package/templates/ssr-isr/lib/db/index.d.ts +27 -0
  76. package/templates/ssr-isr/lib/db/index.js +48 -0
  77. package/templates/ssr-isr/lib/db/types.d.ts +33 -0
  78. package/templates/ssr-isr/lib/db/types.js +1 -0
  79. package/templates/ssr-isr/lib/graphql/index.d.ts +48 -0
  80. package/templates/ssr-isr/lib/graphql/index.js +52 -0
  81. package/templates/ssr-isr/lib/graphql/resolvers.d.ts +57 -0
  82. package/templates/ssr-isr/lib/graphql/resolvers.js +25 -0
  83. package/templates/ssr-isr/lib/graphql/schema.d.ts +35 -0
  84. package/templates/ssr-isr/lib/graphql/schema.js +35 -0
  85. package/templates/ssr-isr/lib/i18n/en.json +4 -0
  86. package/templates/ssr-isr/lib/i18n/es.json +4 -0
  87. package/templates/ssr-isr/lib/i18n/index.d.ts +8 -0
  88. package/templates/ssr-isr/lib/i18n/index.js +15 -0
  89. package/templates/ssr-isr/lib/import/jen-import.d.ts +56 -0
  90. package/templates/ssr-isr/lib/import/jen-import.js +161 -0
  91. package/templates/{static → ssr-isr}/lib/index.d.ts +42 -11
  92. package/templates/ssr-isr/lib/index.js +116 -0
  93. package/templates/ssr-isr/lib/jdb/engine.d.ts +38 -0
  94. package/templates/ssr-isr/lib/jdb/engine.js +275 -0
  95. package/templates/ssr-isr/lib/jdb/index.d.ts +34 -0
  96. package/templates/ssr-isr/lib/jdb/index.js +34 -0
  97. package/templates/ssr-isr/lib/jdb/types.d.ts +228 -0
  98. package/templates/ssr-isr/lib/jdb/types.js +1 -0
  99. package/templates/ssr-isr/lib/jdb/utils.d.ts +66 -0
  100. package/templates/ssr-isr/lib/jdb/utils.js +176 -0
  101. package/templates/ssr-isr/lib/middleware/builtins/body-parser.d.ts +16 -0
  102. package/templates/ssr-isr/lib/middleware/builtins/body-parser.js +56 -0
  103. package/templates/ssr-isr/lib/middleware/builtins/cors.d.ts +15 -0
  104. package/templates/ssr-isr/lib/middleware/builtins/cors.js +54 -0
  105. package/templates/ssr-isr/lib/middleware/builtins/logger.d.ts +19 -0
  106. package/templates/ssr-isr/lib/middleware/builtins/logger.js +34 -0
  107. package/templates/ssr-isr/lib/middleware/builtins/rate-limit.d.ts +22 -0
  108. package/templates/ssr-isr/lib/middleware/builtins/rate-limit.js +79 -0
  109. package/templates/ssr-isr/lib/middleware/builtins/request-id.d.ts +19 -0
  110. package/templates/ssr-isr/lib/middleware/builtins/request-id.js +29 -0
  111. package/templates/ssr-isr/lib/middleware/builtins/security-headers.d.ts +19 -0
  112. package/templates/ssr-isr/lib/middleware/builtins/security-headers.js +53 -0
  113. package/templates/ssr-isr/lib/middleware/context.d.ts +105 -0
  114. package/templates/ssr-isr/lib/middleware/context.js +124 -0
  115. package/templates/ssr-isr/lib/middleware/decorators.d.ts +19 -0
  116. package/templates/ssr-isr/lib/middleware/decorators.js +93 -0
  117. package/templates/ssr-isr/lib/middleware/errors/handler.js +46 -0
  118. package/templates/ssr-isr/lib/middleware/errors/http-error.d.ts +5 -0
  119. package/templates/ssr-isr/lib/middleware/errors/http-error.js +10 -0
  120. package/templates/ssr-isr/lib/middleware/kernel.d.ts +69 -0
  121. package/templates/ssr-isr/lib/middleware/kernel.js +85 -0
  122. package/templates/ssr-isr/lib/middleware/pipeline.d.ts +53 -0
  123. package/templates/ssr-isr/lib/middleware/pipeline.js +148 -0
  124. package/templates/ssr-isr/lib/middleware/registry.d.ts +69 -0
  125. package/templates/ssr-isr/lib/middleware/registry.js +85 -0
  126. package/templates/ssr-isr/lib/middleware/response.d.ts +75 -0
  127. package/templates/ssr-isr/lib/middleware/response.js +107 -0
  128. package/templates/ssr-isr/lib/middleware/types.d.ts +1 -0
  129. package/templates/ssr-isr/lib/middleware/types.js +1 -0
  130. package/templates/ssr-isr/lib/middleware/utils/matcher.js +13 -0
  131. package/templates/ssr-isr/lib/native/bundle.d.ts +24 -0
  132. package/templates/ssr-isr/lib/native/bundle.js +22 -0
  133. package/templates/ssr-isr/lib/native/dev-server.d.ts +13 -0
  134. package/templates/ssr-isr/lib/native/dev-server.js +23 -0
  135. package/templates/{static → ssr-isr}/lib/native/index.d.ts +20 -20
  136. package/templates/ssr-isr/lib/native/index.js +33 -0
  137. package/templates/ssr-isr/lib/native/optimizer.d.ts +21 -0
  138. package/templates/ssr-isr/lib/native/optimizer.js +20 -0
  139. package/templates/ssr-isr/lib/native/style-compiler.d.ts +19 -0
  140. package/templates/ssr-isr/lib/native/style-compiler.js +19 -0
  141. package/templates/ssr-isr/lib/plugin/loader.d.ts +10 -0
  142. package/templates/ssr-isr/lib/plugin/loader.js +36 -0
  143. package/templates/ssr-isr/lib/runtime/client-runtime.d.ts +16 -0
  144. package/templates/ssr-isr/lib/runtime/client-runtime.js +25 -0
  145. package/templates/ssr-isr/lib/runtime/hmr.d.ts +23 -0
  146. package/templates/ssr-isr/lib/runtime/hmr.js +59 -0
  147. package/templates/ssr-isr/lib/runtime/hydrate.d.ts +18 -0
  148. package/templates/ssr-isr/lib/runtime/hydrate.js +55 -0
  149. package/templates/ssr-isr/lib/runtime/island-hydration-client.d.ts +8 -0
  150. package/templates/ssr-isr/lib/runtime/island-hydration-client.js +146 -0
  151. package/templates/ssr-isr/lib/runtime/islands.d.ts +101 -0
  152. package/templates/ssr-isr/lib/runtime/islands.js +110 -0
  153. package/templates/ssr-isr/lib/runtime/render.d.ts +40 -0
  154. package/templates/ssr-isr/lib/runtime/render.js +244 -0
  155. package/templates/ssr-isr/lib/server/api-routes.d.ts +112 -0
  156. package/templates/ssr-isr/lib/server/api-routes.js +237 -0
  157. package/templates/{static → ssr-isr}/lib/server/api.d.ts +3 -3
  158. package/templates/ssr-isr/lib/server/api.js +108 -0
  159. package/templates/ssr-isr/lib/server/app.d.ts +44 -0
  160. package/templates/ssr-isr/lib/server/app.js +438 -0
  161. package/templates/ssr-isr/lib/server/runtimeServe.d.ts +60 -0
  162. package/templates/ssr-isr/lib/server/runtimeServe.js +169 -0
  163. package/templates/ssr-isr/lib/server/ssr.d.ts +161 -0
  164. package/templates/ssr-isr/lib/server/ssr.js +202 -0
  165. package/templates/ssr-isr/lib/shared/log.d.ts +49 -0
  166. package/templates/ssr-isr/lib/shared/log.js +64 -0
  167. package/templates/ssr-isr/package.json +23 -0
  168. package/templates/ssr-isr/server.js +128 -0
  169. package/templates/ssr-isr/site/pages/(index).tsx +11 -0
  170. package/templates/ssr-isr/site/styles/global.scss +37 -0
  171. package/templates/ssr-isr/tsconfig.json +39 -0
  172. package/templates/static/README.md +63 -67
  173. package/templates/static/build.js +31 -21
  174. package/templates/static/jen.config.ts +0 -20
  175. package/templates/static/jenjs.d.ts +0 -18
  176. package/templates/static/lib/api/(hello).js +7 -24
  177. package/templates/static/lib/api/examples/files/[...slug].js +22 -0
  178. package/templates/static/lib/api/examples/hello.js +11 -0
  179. package/templates/static/lib/api/examples/posts/[id].js +37 -0
  180. package/templates/static/lib/api/examples/posts.js +37 -0
  181. package/templates/static/lib/api/examples/search.js +23 -0
  182. package/templates/static/lib/api/index.js +41 -0
  183. package/templates/static/lib/api/loader.js +234 -0
  184. package/templates/static/lib/api/router.js +259 -0
  185. package/templates/static/lib/assets/types.js +1 -0
  186. package/templates/static/lib/auth/cookie-utils.js +69 -85
  187. package/templates/static/lib/auth/index.js +0 -17
  188. package/templates/static/lib/auth/jwt.js +48 -21
  189. package/templates/static/lib/auth/session.js +79 -98
  190. package/templates/static/lib/build/asset-hashing.js +47 -39
  191. package/templates/static/lib/build/asset-manifest.js +18 -35
  192. package/templates/static/lib/build/build.js +277 -95
  193. package/templates/static/lib/build/bundle-analyzer-ui.js +417 -0
  194. package/templates/static/lib/build/bundle-analyzer.js +945 -0
  195. package/templates/static/lib/build/code-splitter.js +194 -0
  196. package/templates/static/lib/build/feature-analyzer.js +190 -0
  197. package/templates/static/lib/build/feature-gate.js +257 -0
  198. package/templates/static/lib/build/island-hydration.js +17 -35
  199. package/templates/static/lib/build/lazy-loader.js +322 -0
  200. package/templates/static/lib/build/minifier.js +42 -61
  201. package/templates/static/lib/build/page-renderer.js +25 -42
  202. package/templates/static/lib/build/production-build.js +11 -28
  203. package/templates/static/lib/build/rust-hashing.js +71 -0
  204. package/templates/static/lib/build/script-optimizer.js +285 -0
  205. package/templates/static/lib/build/ssg-pipeline.js +107 -113
  206. package/templates/static/lib/build/vercel-output.js +298 -0
  207. package/templates/static/lib/build-tools/build-site.js +27 -47
  208. package/templates/static/lib/cache/index.js +6 -15
  209. package/templates/static/lib/cache/memory.js +37 -28
  210. package/templates/static/lib/cache/redis.js +56 -28
  211. package/templates/static/lib/cli/banner.js +18 -31
  212. package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -46
  213. package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
  214. package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -46
  215. package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
  216. package/templates/static/lib/client/Image.js +42 -0
  217. package/templates/static/lib/client/Link.js +190 -0
  218. package/templates/static/lib/client/PWA.js +46 -0
  219. package/templates/static/lib/client/Seo.js +97 -0
  220. package/templates/static/lib/client/index.js +9 -0
  221. package/templates/static/lib/client/useNavigation.js +25 -0
  222. package/templates/static/lib/client/useRouter.js +64 -0
  223. package/templates/static/lib/client-routing/Link.js +17 -0
  224. package/templates/static/lib/client-routing/index.js +19 -0
  225. package/templates/static/lib/client-routing/router.js +151 -0
  226. package/templates/static/lib/client-routing/signal.js +147 -0
  227. package/templates/static/lib/compilers/esbuild-plugins.js +96 -115
  228. package/templates/static/lib/compilers/svelte.js +31 -48
  229. package/templates/static/lib/compilers/vue.js +76 -85
  230. package/templates/static/lib/core/config.js +0 -17
  231. package/templates/static/lib/core/feature-guard.js +136 -0
  232. package/templates/static/lib/core/features.js +99 -0
  233. package/templates/static/lib/core/http.js +65 -36
  234. package/templates/static/lib/core/layouts/index.js +10 -0
  235. package/templates/static/lib/core/layouts/render.js +158 -0
  236. package/templates/static/lib/core/layouts/scan.js +112 -0
  237. package/templates/static/lib/core/layouts/types.js +1 -0
  238. package/templates/static/lib/core/lifecycle.js +129 -0
  239. package/templates/static/lib/core/loader-schema.js +81 -0
  240. package/templates/static/lib/core/middleware-hooks.js +86 -58
  241. package/templates/static/lib/core/paths.js +31 -16
  242. package/templates/static/lib/core/routes/advanced.js +114 -0
  243. package/templates/static/lib/core/routes/handlers.js +181 -0
  244. package/templates/static/lib/core/routes/match.js +129 -24
  245. package/templates/static/lib/core/routes/orchestrator.js +171 -0
  246. package/templates/static/lib/core/routes/rendering-config.js +131 -0
  247. package/templates/static/lib/core/routes/scan.js +174 -132
  248. package/templates/static/lib/core/types.js +0 -17
  249. package/templates/static/lib/css/compiler.js +63 -76
  250. package/templates/static/lib/data-fetching/cache.js +223 -0
  251. package/templates/static/lib/data-fetching/client.js +202 -0
  252. package/templates/static/lib/data-fetching/feature-guard.js +29 -0
  253. package/templates/static/lib/data-fetching/graphql.js +265 -0
  254. package/templates/static/lib/data-fetching/index.js +57 -0
  255. package/templates/static/lib/data-fetching/rest.js +256 -0
  256. package/templates/static/lib/data-fetching/server.js +182 -0
  257. package/templates/static/lib/data-fetching/types.js +5 -0
  258. package/templates/static/lib/db/connector.js +37 -28
  259. package/templates/static/lib/db/drivers/jdb.js +41 -56
  260. package/templates/static/lib/db/drivers/sql.js +152 -152
  261. package/templates/static/lib/db/index.js +42 -59
  262. package/templates/static/lib/db/types.js +0 -17
  263. package/templates/static/lib/devtools/component-tree.js +106 -0
  264. package/templates/static/lib/devtools/devtools.js +638 -0
  265. package/templates/static/lib/devtools/event-bus.js +29 -0
  266. package/templates/static/lib/devtools/event-logger.js +67 -0
  267. package/templates/static/lib/devtools/index.js +9 -0
  268. package/templates/static/lib/devtools/integration.js +149 -0
  269. package/templates/static/lib/devtools/performance.js +84 -0
  270. package/templates/static/lib/devtools/persistence.js +57 -0
  271. package/templates/static/lib/devtools/plugins.js +97 -0
  272. package/templates/static/lib/devtools/search.js +89 -0
  273. package/templates/static/lib/devtools/ui.js +769 -0
  274. package/templates/static/lib/features/api/handler.js +10 -0
  275. package/templates/static/lib/features/api/index.js +5 -0
  276. package/templates/static/lib/features/api/types.js +4 -0
  277. package/templates/static/lib/features/middleware/compiled.js +7 -0
  278. package/templates/static/lib/features/middleware/index.js +5 -0
  279. package/templates/static/lib/features/middleware/types.js +4 -0
  280. package/templates/static/lib/fonts/index.js +46 -0
  281. package/templates/static/lib/fonts/inject.js +125 -0
  282. package/templates/static/lib/fonts/loader.js +196 -0
  283. package/templates/static/lib/fonts/types.js +1 -0
  284. package/templates/static/lib/graphql/index.js +46 -16
  285. package/templates/static/lib/graphql/resolvers.js +42 -19
  286. package/templates/static/lib/graphql/schema.js +30 -15
  287. package/templates/static/lib/i18n/en.json +2 -2
  288. package/templates/static/lib/i18n/es.json +2 -2
  289. package/templates/static/lib/i18n/index.js +17 -29
  290. package/templates/static/lib/import/jen-import.js +130 -97
  291. package/templates/static/lib/index.js +82 -115
  292. package/templates/static/lib/jdb/engine.js +259 -160
  293. package/templates/static/lib/jdb/index.js +28 -13
  294. package/templates/static/lib/jdb/types.js +0 -17
  295. package/templates/static/lib/jdb/utils.js +159 -124
  296. package/templates/static/lib/middleware/builtins/cors.js +55 -64
  297. package/templates/static/lib/middleware/context.js +120 -46
  298. package/templates/static/lib/middleware/kernel.js +186 -31
  299. package/templates/static/lib/middleware/pipeline.js +140 -59
  300. package/templates/static/lib/middleware/registry.js +80 -36
  301. package/templates/static/lib/middleware/response.js +101 -54
  302. package/templates/static/lib/plugin/examples/analytics-plugin.js +183 -0
  303. package/templates/static/lib/plugin/examples/cdn-upload-plugin.js +94 -0
  304. package/templates/static/lib/plugin/loader.js +25 -48
  305. package/templates/static/lib/plugin/plugin-manager.js +177 -0
  306. package/templates/static/lib/plugin/types.js +28 -0
  307. package/templates/static/lib/runtime/client-runtime.js +19 -22
  308. package/templates/static/lib/runtime/hmr.js +23 -18
  309. package/templates/static/lib/runtime/hydrate.js +47 -37
  310. package/templates/static/lib/runtime/island-hydration-client.js +122 -108
  311. package/templates/static/lib/runtime/islands.js +92 -71
  312. package/templates/static/lib/runtime/render.js +385 -149
  313. package/templates/static/lib/security/security-config.js +60 -0
  314. package/templates/static/lib/security/security-middleware.js +229 -0
  315. package/templates/static/lib/server/api-routes.js +339 -171
  316. package/templates/static/lib/server/api.js +93 -109
  317. package/templates/static/lib/server/app.js +660 -270
  318. package/templates/static/lib/server/isr.js +365 -0
  319. package/templates/static/lib/server/runtimeServe.js +157 -89
  320. package/templates/static/lib/server/ssr.js +295 -0
  321. package/templates/static/lib/server-actions/handler.js +180 -0
  322. package/templates/static/lib/server-actions/index.js +19 -0
  323. package/templates/static/lib/server-actions/middleware.js +146 -0
  324. package/templates/static/lib/server-actions/scan.js +152 -0
  325. package/templates/static/lib/server-actions/types.js +1 -0
  326. package/templates/static/lib/server-actions/validators.js +156 -0
  327. package/templates/static/lib/shared/log.js +74 -25
  328. package/templates/static/lib/telemetry/api/rate-limiter.js +32 -0
  329. package/templates/static/lib/telemetry/api/validator.js +67 -0
  330. package/templates/static/lib/telemetry/client.js +121 -0
  331. package/templates/static/lib/telemetry/tests/rate-limiter.test.js +46 -0
  332. package/templates/static/lib/telemetry/tests/validator.test.js +62 -0
  333. package/templates/static/lib/vendor/glob/glob.js +4766 -0
  334. package/templates/static/lib/vendor/preact/preact.module.js +797 -0
  335. package/templates/static/lib/vendor/sass/sass.node.mjs +212 -0
  336. package/templates/static/package.json +4 -0
  337. package/templates/static/server.js +23 -25
  338. package/templates/static/site/(home).tsx +12 -12
  339. package/templates/static/site/styles/global.scss +89 -78
  340. package/templates/static/tsconfig.json +43 -39
  341. package/templates/static/.esbuild/jen.config.js +0 -1
  342. package/templates/static/lib/api/(hello).d.ts +0 -7
  343. package/templates/static/lib/auth/cookie-utils.d.ts +0 -24
  344. package/templates/static/lib/auth/jwt.d.ts +0 -2
  345. package/templates/static/lib/auth/session.d.ts +0 -44
  346. package/templates/static/lib/build/asset-hashing.d.ts +0 -10
  347. package/templates/static/lib/build/asset-manifest.d.ts +0 -11
  348. package/templates/static/lib/build/build.d.ts +0 -4
  349. package/templates/static/lib/build/minifier.d.ts +0 -20
  350. package/templates/static/lib/build/page-renderer.d.ts +0 -17
  351. package/templates/static/lib/build/production-build.d.ts +0 -10
  352. package/templates/static/lib/build/ssg-pipeline.d.ts +0 -15
  353. package/templates/static/lib/cache/index.d.ts +0 -2
  354. package/templates/static/lib/cache/memory.d.ts +0 -6
  355. package/templates/static/lib/cache/redis.d.ts +0 -6
  356. package/templates/static/lib/cli/banner.d.ts +0 -1
  357. package/templates/static/lib/compilers/svelte.d.ts +0 -18
  358. package/templates/static/lib/compilers/vue.d.ts +0 -15
  359. package/templates/static/lib/core/config.d.ts +0 -53
  360. package/templates/static/lib/core/http.d.ts +0 -3
  361. package/templates/static/lib/core/middleware-hooks.d.ts +0 -46
  362. package/templates/static/lib/core/paths.d.ts +0 -6
  363. package/templates/static/lib/core/routes/match.d.ts +0 -6
  364. package/templates/static/lib/core/routes/scan.d.ts +0 -9
  365. package/templates/static/lib/core/types.d.ts +0 -18
  366. package/templates/static/lib/css/compiler.d.ts +0 -20
  367. package/templates/static/lib/db/connector.d.ts +0 -4
  368. package/templates/static/lib/db/drivers/jdb.d.ts +0 -13
  369. package/templates/static/lib/db/drivers/sql.d.ts +0 -18
  370. package/templates/static/lib/db/index.d.ts +0 -19
  371. package/templates/static/lib/db/types.d.ts +0 -29
  372. package/templates/static/lib/graphql/index.d.ts +0 -1
  373. package/templates/static/lib/graphql/resolvers.d.ts +0 -17
  374. package/templates/static/lib/graphql/schema.d.ts +0 -1
  375. package/templates/static/lib/i18n/index.d.ts +0 -8
  376. package/templates/static/lib/import/jen-import.d.ts +0 -27
  377. package/templates/static/lib/jdb/engine.d.ts +0 -9
  378. package/templates/static/lib/jdb/index.d.ts +0 -2
  379. package/templates/static/lib/jdb/types.d.ts +0 -46
  380. package/templates/static/lib/jdb/utils.d.ts +0 -6
  381. package/templates/static/lib/middleware/builtins/body-parser.d.ts +0 -1
  382. package/templates/static/lib/middleware/builtins/body-parser.js +0 -55
  383. package/templates/static/lib/middleware/builtins/cors.d.ts +0 -13
  384. package/templates/static/lib/middleware/builtins/logger.d.ts +0 -1
  385. package/templates/static/lib/middleware/builtins/logger.js +0 -33
  386. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +0 -5
  387. package/templates/static/lib/middleware/builtins/rate-limit.js +0 -76
  388. package/templates/static/lib/middleware/builtins/request-id.d.ts +0 -1
  389. package/templates/static/lib/middleware/builtins/request-id.js +0 -25
  390. package/templates/static/lib/middleware/builtins/security-headers.d.ts +0 -1
  391. package/templates/static/lib/middleware/builtins/security-headers.js +0 -39
  392. package/templates/static/lib/middleware/context.d.ts +0 -18
  393. package/templates/static/lib/middleware/decorators.d.ts +0 -2
  394. package/templates/static/lib/middleware/decorators.js +0 -61
  395. package/templates/static/lib/middleware/errors/handler.js +0 -65
  396. package/templates/static/lib/middleware/errors/http-error.d.ts +0 -5
  397. package/templates/static/lib/middleware/errors/http-error.js +0 -27
  398. package/templates/static/lib/middleware/kernel.d.ts +0 -6
  399. package/templates/static/lib/middleware/pipeline.d.ts +0 -4
  400. package/templates/static/lib/middleware/registry.d.ts +0 -10
  401. package/templates/static/lib/middleware/response.d.ts +0 -13
  402. package/templates/static/lib/middleware/types.js +0 -18
  403. package/templates/static/lib/middleware/utils/matcher.js +0 -31
  404. package/templates/static/lib/native/bundle.d.ts +0 -19
  405. package/templates/static/lib/native/bundle.js +0 -39
  406. package/templates/static/lib/native/dev-server.d.ts +0 -6
  407. package/templates/static/lib/native/dev-server.js +0 -38
  408. package/templates/static/lib/native/index.js +0 -48
  409. package/templates/static/lib/native/optimizer.d.ts +0 -17
  410. package/templates/static/lib/native/optimizer.js +0 -37
  411. package/templates/static/lib/native/style-compiler.d.ts +0 -10
  412. package/templates/static/lib/native/style-compiler.js +0 -36
  413. package/templates/static/lib/plugin/loader.d.ts +0 -8
  414. package/templates/static/lib/runtime/client-runtime.d.ts +0 -1
  415. package/templates/static/lib/runtime/hmr.d.ts +0 -1
  416. package/templates/static/lib/runtime/hydrate.d.ts +0 -1
  417. package/templates/static/lib/runtime/island-hydration-client.d.ts +0 -5
  418. package/templates/static/lib/runtime/islands.d.ts +0 -46
  419. package/templates/static/lib/runtime/render.d.ts +0 -13
  420. package/templates/static/lib/server/api-routes.d.ts +0 -44
  421. package/templates/static/lib/server/app.d.ts +0 -10
  422. package/templates/static/lib/server/runtimeServe.d.ts +0 -4
  423. package/templates/static/lib/shared/log.d.ts +0 -5
  424. package/templates/static/node_modules/.bin/esbuild +0 -16
  425. package/templates/static/node_modules/.bin/esbuild.cmd +0 -17
  426. package/templates/static/node_modules/.bin/esbuild.ps1 +0 -28
  427. package/templates/static/node_modules/.bin/tsc +0 -16
  428. package/templates/static/node_modules/.bin/tsc.cmd +0 -17
  429. package/templates/static/node_modules/.bin/tsc.ps1 +0 -28
  430. package/templates/static/node_modules/.bin/tsserver +0 -16
  431. package/templates/static/node_modules/.bin/tsserver.cmd +0 -17
  432. package/templates/static/node_modules/.bin/tsserver.ps1 +0 -28
  433. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -14
  434. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +0 -11
  435. package/templates/static/node_modules/.package-lock.json +0 -585
  436. package/templates/static/node_modules/@esbuild/win32-x64/README.md +0 -3
  437. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  438. package/templates/static/node_modules/@esbuild/win32-x64/package.json +0 -20
  439. package/templates/static/node_modules/@jenjs/master/README.md +0 -24
  440. package/templates/static/node_modules/@jenjs/master/index.js +0 -3655
  441. package/templates/static/node_modules/@jenjs/master/package.json +0 -36
  442. package/templates/static/node_modules/@polka/url/build.js +0 -49
  443. package/templates/static/node_modules/@polka/url/build.mjs +0 -47
  444. package/templates/static/node_modules/@polka/url/index.d.ts +0 -11
  445. package/templates/static/node_modules/@polka/url/package.json +0 -30
  446. package/templates/static/node_modules/@polka/url/readme.md +0 -68
  447. package/templates/static/node_modules/@types/node/LICENSE +0 -21
  448. package/templates/static/node_modules/@types/node/README.md +0 -15
  449. package/templates/static/node_modules/@types/node/assert/strict.d.ts +0 -111
  450. package/templates/static/node_modules/@types/node/assert.d.ts +0 -1078
  451. package/templates/static/node_modules/@types/node/async_hooks.d.ts +0 -603
  452. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  453. package/templates/static/node_modules/@types/node/buffer.d.ts +0 -1934
  454. package/templates/static/node_modules/@types/node/child_process.d.ts +0 -1476
  455. package/templates/static/node_modules/@types/node/cluster.d.ts +0 -578
  456. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  457. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +0 -9
  458. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  459. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  460. package/templates/static/node_modules/@types/node/console.d.ts +0 -452
  461. package/templates/static/node_modules/@types/node/constants.d.ts +0 -21
  462. package/templates/static/node_modules/@types/node/crypto.d.ts +0 -4545
  463. package/templates/static/node_modules/@types/node/dgram.d.ts +0 -600
  464. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  465. package/templates/static/node_modules/@types/node/dns/promises.d.ts +0 -503
  466. package/templates/static/node_modules/@types/node/dns.d.ts +0 -923
  467. package/templates/static/node_modules/@types/node/domain.d.ts +0 -170
  468. package/templates/static/node_modules/@types/node/events.d.ts +0 -976
  469. package/templates/static/node_modules/@types/node/fs/promises.d.ts +0 -1295
  470. package/templates/static/node_modules/@types/node/fs.d.ts +0 -4461
  471. package/templates/static/node_modules/@types/node/globals.d.ts +0 -172
  472. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  473. package/templates/static/node_modules/@types/node/http.d.ts +0 -2089
  474. package/templates/static/node_modules/@types/node/http2.d.ts +0 -2644
  475. package/templates/static/node_modules/@types/node/https.d.ts +0 -579
  476. package/templates/static/node_modules/@types/node/index.d.ts +0 -97
  477. package/templates/static/node_modules/@types/node/inspector.d.ts +0 -253
  478. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  479. package/templates/static/node_modules/@types/node/module.d.ts +0 -891
  480. package/templates/static/node_modules/@types/node/net.d.ts +0 -1057
  481. package/templates/static/node_modules/@types/node/os.d.ts +0 -506
  482. package/templates/static/node_modules/@types/node/package.json +0 -145
  483. package/templates/static/node_modules/@types/node/path.d.ts +0 -200
  484. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +0 -968
  485. package/templates/static/node_modules/@types/node/process.d.ts +0 -2089
  486. package/templates/static/node_modules/@types/node/punycode.d.ts +0 -117
  487. package/templates/static/node_modules/@types/node/querystring.d.ts +0 -152
  488. package/templates/static/node_modules/@types/node/readline/promises.d.ts +0 -161
  489. package/templates/static/node_modules/@types/node/readline.d.ts +0 -594
  490. package/templates/static/node_modules/@types/node/repl.d.ts +0 -428
  491. package/templates/static/node_modules/@types/node/sea.d.ts +0 -153
  492. package/templates/static/node_modules/@types/node/sqlite.d.ts +0 -721
  493. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +0 -38
  494. package/templates/static/node_modules/@types/node/stream/promises.d.ts +0 -90
  495. package/templates/static/node_modules/@types/node/stream/web.d.ts +0 -622
  496. package/templates/static/node_modules/@types/node/stream.d.ts +0 -1664
  497. package/templates/static/node_modules/@types/node/string_decoder.d.ts +0 -67
  498. package/templates/static/node_modules/@types/node/test.d.ts +0 -2163
  499. package/templates/static/node_modules/@types/node/timers/promises.d.ts +0 -108
  500. package/templates/static/node_modules/@types/node/timers.d.ts +0 -287
  501. package/templates/static/node_modules/@types/node/tls.d.ts +0 -1319
  502. package/templates/static/node_modules/@types/node/trace_events.d.ts +0 -197
  503. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  504. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  505. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  506. package/templates/static/node_modules/@types/node/tty.d.ts +0 -208
  507. package/templates/static/node_modules/@types/node/url.d.ts +0 -984
  508. package/templates/static/node_modules/@types/node/util.d.ts +0 -2606
  509. package/templates/static/node_modules/@types/node/v8.d.ts +0 -920
  510. package/templates/static/node_modules/@types/node/vm.d.ts +0 -1000
  511. package/templates/static/node_modules/@types/node/wasi.d.ts +0 -181
  512. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  513. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  514. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +0 -97
  515. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  516. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  517. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  518. package/templates/static/node_modules/@types/node/worker_threads.d.ts +0 -784
  519. package/templates/static/node_modules/@types/node/zlib.d.ts +0 -683
  520. package/templates/static/node_modules/esbuild/LICENSE.md +0 -21
  521. package/templates/static/node_modules/esbuild/README.md +0 -3
  522. package/templates/static/node_modules/esbuild/bin/esbuild +0 -223
  523. package/templates/static/node_modules/esbuild/install.js +0 -289
  524. package/templates/static/node_modules/esbuild/lib/main.d.ts +0 -716
  525. package/templates/static/node_modules/esbuild/lib/main.js +0 -2242
  526. package/templates/static/node_modules/esbuild/package.json +0 -49
  527. package/templates/static/node_modules/mrmime/index.d.ts +0 -2
  528. package/templates/static/node_modules/mrmime/index.js +0 -449
  529. package/templates/static/node_modules/mrmime/index.mjs +0 -448
  530. package/templates/static/node_modules/mrmime/license +0 -21
  531. package/templates/static/node_modules/mrmime/package.json +0 -44
  532. package/templates/static/node_modules/mrmime/readme.md +0 -130
  533. package/templates/static/node_modules/preact/README.md +0 -185
  534. package/templates/static/node_modules/preact/compat/client.d.ts +0 -13
  535. package/templates/static/node_modules/preact/compat/client.js +0 -21
  536. package/templates/static/node_modules/preact/compat/client.mjs +0 -24
  537. package/templates/static/node_modules/preact/compat/dist/compat.js +0 -2
  538. package/templates/static/node_modules/preact/compat/dist/compat.js.map +0 -1
  539. package/templates/static/node_modules/preact/compat/dist/compat.mjs +0 -2
  540. package/templates/static/node_modules/preact/compat/dist/compat.module.js +0 -2
  541. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +0 -1
  542. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +0 -2
  543. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
  544. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
  545. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
  546. package/templates/static/node_modules/preact/compat/jsx-runtime.js +0 -3
  547. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +0 -3
  548. package/templates/static/node_modules/preact/compat/package.json +0 -55
  549. package/templates/static/node_modules/preact/compat/scheduler.js +0 -15
  550. package/templates/static/node_modules/preact/compat/scheduler.mjs +0 -23
  551. package/templates/static/node_modules/preact/compat/server.browser.js +0 -11
  552. package/templates/static/node_modules/preact/compat/server.js +0 -36
  553. package/templates/static/node_modules/preact/compat/server.mjs +0 -17
  554. package/templates/static/node_modules/preact/compat/src/Children.js +0 -21
  555. package/templates/static/node_modules/preact/compat/src/PureComponent.js +0 -16
  556. package/templates/static/node_modules/preact/compat/src/forwardRef.js +0 -44
  557. package/templates/static/node_modules/preact/compat/src/hooks.js +0 -70
  558. package/templates/static/node_modules/preact/compat/src/index.d.ts +0 -351
  559. package/templates/static/node_modules/preact/compat/src/index.js +0 -238
  560. package/templates/static/node_modules/preact/compat/src/internal.d.ts +0 -48
  561. package/templates/static/node_modules/preact/compat/src/memo.js +0 -35
  562. package/templates/static/node_modules/preact/compat/src/portals.js +0 -78
  563. package/templates/static/node_modules/preact/compat/src/render.js +0 -313
  564. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +0 -16
  565. package/templates/static/node_modules/preact/compat/src/suspense-list.js +0 -127
  566. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +0 -19
  567. package/templates/static/node_modules/preact/compat/src/suspense.js +0 -291
  568. package/templates/static/node_modules/preact/compat/src/util.js +0 -33
  569. package/templates/static/node_modules/preact/compat/test-utils.js +0 -1
  570. package/templates/static/node_modules/preact/compat/test-utils.mjs +0 -1
  571. package/templates/static/node_modules/preact/debug/dist/debug.js +0 -2
  572. package/templates/static/node_modules/preact/debug/dist/debug.js.map +0 -1
  573. package/templates/static/node_modules/preact/debug/dist/debug.mjs +0 -2
  574. package/templates/static/node_modules/preact/debug/dist/debug.module.js +0 -2
  575. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +0 -1
  576. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +0 -2
  577. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
  578. package/templates/static/node_modules/preact/debug/package.json +0 -27
  579. package/templates/static/node_modules/preact/debug/src/check-props.js +0 -54
  580. package/templates/static/node_modules/preact/debug/src/component-stack.js +0 -146
  581. package/templates/static/node_modules/preact/debug/src/constants.js +0 -3
  582. package/templates/static/node_modules/preact/debug/src/debug.js +0 -593
  583. package/templates/static/node_modules/preact/debug/src/index.d.ts +0 -23
  584. package/templates/static/node_modules/preact/debug/src/index.js +0 -12
  585. package/templates/static/node_modules/preact/debug/src/internal.d.ts +0 -82
  586. package/templates/static/node_modules/preact/debug/src/util.js +0 -15
  587. package/templates/static/node_modules/preact/devtools/dist/devtools.js +0 -2
  588. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +0 -1
  589. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +0 -2
  590. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  591. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
  592. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
  593. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
  594. package/templates/static/node_modules/preact/devtools/package.json +0 -25
  595. package/templates/static/node_modules/preact/devtools/src/devtools.js +0 -21
  596. package/templates/static/node_modules/preact/devtools/src/index.d.ts +0 -8
  597. package/templates/static/node_modules/preact/devtools/src/index.js +0 -15
  598. package/templates/static/node_modules/preact/dist/preact.js +0 -2
  599. package/templates/static/node_modules/preact/dist/preact.js.map +0 -1
  600. package/templates/static/node_modules/preact/dist/preact.min.js +0 -2
  601. package/templates/static/node_modules/preact/dist/preact.min.js.map +0 -1
  602. package/templates/static/node_modules/preact/dist/preact.min.module.js +0 -2
  603. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +0 -1
  604. package/templates/static/node_modules/preact/dist/preact.min.umd.js +0 -2
  605. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +0 -1
  606. package/templates/static/node_modules/preact/dist/preact.mjs +0 -2
  607. package/templates/static/node_modules/preact/dist/preact.module.js +0 -2
  608. package/templates/static/node_modules/preact/dist/preact.module.js.map +0 -1
  609. package/templates/static/node_modules/preact/dist/preact.umd.js +0 -2
  610. package/templates/static/node_modules/preact/dist/preact.umd.js.map +0 -1
  611. package/templates/static/node_modules/preact/hooks/dist/hooks.js +0 -2
  612. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +0 -1
  613. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +0 -2
  614. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +0 -2
  615. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
  616. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
  617. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
  618. package/templates/static/node_modules/preact/hooks/package.json +0 -35
  619. package/templates/static/node_modules/preact/hooks/src/index.d.ts +0 -145
  620. package/templates/static/node_modules/preact/hooks/src/index.js +0 -555
  621. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +0 -103
  622. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
  623. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
  624. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
  625. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  626. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
  627. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
  628. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
  629. package/templates/static/node_modules/preact/jsx-runtime/package.json +0 -28
  630. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +0 -62
  631. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +0 -206
  632. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +0 -36
  633. package/templates/static/node_modules/preact/package.json +0 -258
  634. package/templates/static/node_modules/preact/src/cjs.js +0 -3
  635. package/templates/static/node_modules/preact/src/clone-element.js +0 -48
  636. package/templates/static/node_modules/preact/src/component.js +0 -249
  637. package/templates/static/node_modules/preact/src/constants.js +0 -22
  638. package/templates/static/node_modules/preact/src/create-context.js +0 -60
  639. package/templates/static/node_modules/preact/src/create-element.js +0 -97
  640. package/templates/static/node_modules/preact/src/diff/catch-error.js +0 -46
  641. package/templates/static/node_modules/preact/src/diff/children.js +0 -451
  642. package/templates/static/node_modules/preact/src/diff/index.js +0 -684
  643. package/templates/static/node_modules/preact/src/diff/props.js +0 -173
  644. package/templates/static/node_modules/preact/src/dom.d.ts +0 -2476
  645. package/templates/static/node_modules/preact/src/index-5.d.ts +0 -399
  646. package/templates/static/node_modules/preact/src/index.d.ts +0 -402
  647. package/templates/static/node_modules/preact/src/index.js +0 -13
  648. package/templates/static/node_modules/preact/src/internal.d.ts +0 -190
  649. package/templates/static/node_modules/preact/src/jsx.d.ts +0 -2878
  650. package/templates/static/node_modules/preact/src/options.js +0 -16
  651. package/templates/static/node_modules/preact/src/render.js +0 -78
  652. package/templates/static/node_modules/preact/src/util.js +0 -28
  653. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +0 -2
  654. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
  655. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
  656. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
  657. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
  658. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
  659. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
  660. package/templates/static/node_modules/preact/test-utils/package.json +0 -28
  661. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +0 -3
  662. package/templates/static/node_modules/preact/test-utils/src/index.js +0 -129
  663. package/templates/static/node_modules/preact-render-to-string/LICENSE +0 -21
  664. package/templates/static/node_modules/preact-render-to-string/README.md +0 -149
  665. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
  666. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +0 -17
  667. package/templates/static/node_modules/preact-render-to-string/dist/index.js +0 -6
  668. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +0 -1
  669. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +0 -2
  670. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +0 -2
  671. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
  672. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +0 -2
  673. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +0 -1
  674. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +0 -35
  675. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +0 -2
  676. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +0 -4
  677. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +0 -1
  678. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +0 -2
  679. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +0 -2
  680. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +0 -1
  681. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +0 -2
  682. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +0 -1
  683. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -24
  684. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +0 -2
  685. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +0 -1
  686. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +0 -2
  687. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +0 -2
  688. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +0 -1
  689. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +0 -2
  690. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +0 -1
  691. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +0 -884
  692. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +0 -1
  693. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +0 -884
  694. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +0 -884
  695. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +0 -1
  696. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +0 -888
  697. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +0 -1
  698. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +0 -19
  699. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +0 -10
  700. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +0 -24
  701. package/templates/static/node_modules/preact-render-to-string/jsx.js +0 -1
  702. package/templates/static/node_modules/preact-render-to-string/package.json +0 -152
  703. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +0 -17
  704. package/templates/static/node_modules/preact-render-to-string/src/index.js +0 -764
  705. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +0 -35
  706. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +0 -24
  707. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +0 -102
  708. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +0 -97
  709. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +0 -62
  710. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +0 -20
  711. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +0 -8
  712. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +0 -208
  713. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +0 -491
  714. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +0 -19
  715. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +0 -84
  716. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +0 -10
  717. package/templates/static/node_modules/preact-render-to-string/src/stream.js +0 -43
  718. package/templates/static/node_modules/preact-render-to-string/typings.json +0 -5
  719. package/templates/static/node_modules/sirv/build.js +0 -197
  720. package/templates/static/node_modules/sirv/build.mjs +0 -197
  721. package/templates/static/node_modules/sirv/index.d.mts +0 -29
  722. package/templates/static/node_modules/sirv/index.d.ts +0 -33
  723. package/templates/static/node_modules/sirv/package.json +0 -40
  724. package/templates/static/node_modules/sirv/readme.md +0 -238
  725. package/templates/static/node_modules/totalist/dist/index.js +0 -24
  726. package/templates/static/node_modules/totalist/dist/index.mjs +0 -22
  727. package/templates/static/node_modules/totalist/index.d.ts +0 -3
  728. package/templates/static/node_modules/totalist/license +0 -21
  729. package/templates/static/node_modules/totalist/package.json +0 -55
  730. package/templates/static/node_modules/totalist/readme.md +0 -109
  731. package/templates/static/node_modules/totalist/sync/index.d.ts +0 -3
  732. package/templates/static/node_modules/totalist/sync/index.js +0 -17
  733. package/templates/static/node_modules/totalist/sync/index.mjs +0 -15
  734. package/templates/static/node_modules/typescript/bin/tsc +0 -2
  735. package/templates/static/node_modules/typescript/bin/tsserver +0 -2
  736. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  737. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  738. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  739. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  740. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  741. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  742. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  743. package/templates/static/node_modules/typescript/lib/lib.d.ts +0 -22
  744. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  745. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  746. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  747. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  748. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  749. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  750. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  751. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  752. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  753. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  754. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  755. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  756. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  757. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  758. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  759. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  760. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  761. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  762. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  763. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  764. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  765. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  766. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  767. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  768. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  769. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  770. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  771. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  772. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  773. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  774. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  775. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  776. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  777. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  778. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  779. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  780. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  781. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  782. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  783. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  784. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  785. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  786. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  787. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  788. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  789. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  790. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  791. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  792. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  793. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  794. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  795. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  796. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  797. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  798. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  799. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  800. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  801. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  802. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  803. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  804. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  805. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  806. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  807. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  808. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  809. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  810. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  811. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  812. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  813. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  814. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  815. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  816. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  817. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  818. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  819. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  820. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  821. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  822. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  823. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  824. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  825. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  826. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  827. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  828. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  829. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  830. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  831. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  832. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  833. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  834. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  835. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  836. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  837. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  838. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  839. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  840. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  841. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  842. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  843. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  844. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  845. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  846. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  847. package/templates/static/node_modules/typescript/lib/tsc.js +0 -8
  848. package/templates/static/node_modules/typescript/lib/tsserver.js +0 -8
  849. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  850. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  851. package/templates/static/node_modules/typescript/lib/typescript.d.ts +0 -11437
  852. /package/templates/{static → ssr-isr}/lib/auth/index.d.ts +0 -0
  853. /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/jen.config.d.ts +0 -0
  854. /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/site/index.d.ts +0 -0
  855. /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/jen.config.d.ts +0 -0
  856. /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/site/index.d.ts +0 -0
  857. /package/templates/{static → ssr-isr}/lib/compilers/esbuild-plugins.d.ts +0 -0
  858. /package/templates/{static/lib/middleware/types.d.ts → ssr-isr/lib/core/config.js} +0 -0
  859. /package/templates/{static → ssr-isr}/lib/middleware/errors/handler.d.ts +0 -0
  860. /package/templates/{static → ssr-isr}/lib/middleware/utils/matcher.d.ts +0 -0
  861. /package/templates/static/{node_modules → lib/vendor}/preact/LICENSE +0 -0
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Intelligent code splitting analyzer
3
+ *
4
+ * Splits bundles into logical chunks:
5
+ * - Vendor: node_modules dependencies (high cache hit rate)
6
+ * - Runtime: Framework runtime/hydration (shared across all pages)
7
+ * - Common: Shared components (used by multiple routes)
8
+ * - Route: Per-route chunks (lazy-loaded on demand)
9
+ * - Entry: Main application bundle
10
+ */
11
+ export class CodeSplitter {
12
+ strategies = [];
13
+ routeAnalysis = new Map();
14
+ constructor() {
15
+ this.initializeDefaultStrategies();
16
+ }
17
+ /**
18
+ * Initialize default splitting strategies in priority order
19
+ */
20
+ initializeDefaultStrategies() {
21
+ // Vendor chunks (highest priority - most stable)
22
+ this.strategies.push({
23
+ name: "vendor",
24
+ test: (path) => {
25
+ return /node_modules/.test(path) && !this.isFrameworkInternal(path);
26
+ },
27
+ priority: 100,
28
+ });
29
+ // Framework runtime (stable, shared across all pages)
30
+ this.strategies.push({
31
+ name: "runtime",
32
+ test: (path) => {
33
+ return (
34
+ this.isFrameworkInternal(path) && /runtime|hydrate|ssr/.test(path)
35
+ );
36
+ },
37
+ priority: 90,
38
+ });
39
+ // Common utilities (shared components)
40
+ this.strategies.push({
41
+ name: "common",
42
+ test: (path) => {
43
+ return /components|utils|helpers/.test(path);
44
+ },
45
+ priority: 80,
46
+ });
47
+ // Route-specific chunks (lazy-loaded)
48
+ this.strategies.push({
49
+ name: "route",
50
+ test: (path) => {
51
+ return /pages|routes|site/.test(path);
52
+ },
53
+ priority: 50,
54
+ });
55
+ }
56
+ /**
57
+ * Determine which chunk a module should belong to
58
+ */
59
+ determineChunk(modulePath) {
60
+ // Sort by priority (descending)
61
+ const sorted = [...this.strategies].sort((a, b) => b.priority - a.priority);
62
+ for (const strategy of sorted) {
63
+ if (strategy.test(modulePath)) {
64
+ return strategy.name;
65
+ }
66
+ }
67
+ return "entry"; // Default to main entry chunk
68
+ }
69
+ /**
70
+ * Analyze route dependencies for splitting decisions
71
+ *
72
+ * @param routePath Path to route file
73
+ * @param dependencies List of imported module paths
74
+ */
75
+ analyzeRouteDependencies(routePath, dependencies) {
76
+ this.routeAnalysis.set(routePath, dependencies);
77
+ }
78
+ /**
79
+ * Generate esbuild manual chunks configuration
80
+ *
81
+ * Implements intelligent bundling:
82
+ * - Vendor libraries in separate chunk (external dependencies)
83
+ * - Runtime/hydration in separate chunk (framework internals)
84
+ * - Common code in separate chunk (shared components)
85
+ * - Route-specific code in separate chunks (per-route lazy-loading)
86
+ */
87
+ generateManualChunks() {
88
+ const chunks = {};
89
+ // Vendor chunk patterns
90
+ chunks.vendor = [
91
+ "preact",
92
+ "preact/compat",
93
+ "preact/hooks",
94
+ "preact/compat/scheduler",
95
+ "htm",
96
+ ];
97
+ // Runtime chunk patterns
98
+ chunks.runtime = [
99
+ "../runtime/hydrate.js",
100
+ "../runtime/render.js",
101
+ "../runtime/ssr.js",
102
+ ];
103
+ // Common utilities patterns
104
+ chunks.common = [];
105
+ return chunks;
106
+ }
107
+ /**
108
+ * Generate esbuild splitting configuration
109
+ */
110
+ generateSplittingConfig() {
111
+ return {
112
+ splitting: true,
113
+ format: "esm",
114
+ chunkNames: "[name]-[hash]",
115
+ manualChunks: this.generateManualChunks(),
116
+ };
117
+ }
118
+ /**
119
+ * Generate chunk dependency graph for debugging
120
+ *
121
+ * Shows which chunks depend on which others, useful for:
122
+ * - Understanding load order
123
+ * - Optimizing prefetching
124
+ * - Detecting circular dependencies
125
+ */
126
+ generateDependencyGraph() {
127
+ let graph = "# Chunk Dependency Graph\n\n";
128
+ graph += "## Splitting Strategy\n";
129
+ graph += "- **vendor**: External dependencies (preact, utilities)\n";
130
+ graph += "- **runtime**: Framework runtime (hydration, SSR, hooks)\n";
131
+ graph += "- **common**: Shared components and utilities\n";
132
+ graph += "- **route**: Per-route lazy-loaded chunks\n";
133
+ graph += "- **entry**: Main application bundle\n\n";
134
+ graph += "## Load Order\n";
135
+ graph += "1. Entry (main bundle) - executes immediately\n";
136
+ graph += "2. Vendor - loaded on demand, cached long-term\n";
137
+ graph += "3. Runtime - loaded before any route rendering\n";
138
+ graph += "4. Common - loaded when needed by routes\n";
139
+ graph += "5. Route chunks - lazy-loaded per page\n\n";
140
+ graph += "## Cache Strategy\n";
141
+ graph +=
142
+ "- Vendor: `max-age=31536000, immutable` (1 year, never changes)\n";
143
+ graph += "- Runtime: `max-age=2592000` (30 days, updated with framework)\n";
144
+ graph += "- Entry: `max-age=3600` (1 hour, updated frequently)\n";
145
+ graph += "- Routes: `max-age=86400` (1 day, per-route updates)\n\n";
146
+ return graph;
147
+ }
148
+ /**
149
+ * Check if path is internal framework code
150
+ */
151
+ isFrameworkInternal(path) {
152
+ return /@src|src\//.test(path);
153
+ }
154
+ /**
155
+ * Register custom splitting strategy
156
+ */
157
+ registerStrategy(strategy) {
158
+ this.strategies.push(strategy);
159
+ // Re-sort by priority
160
+ this.strategies.sort((a, b) => b.priority - a.priority);
161
+ }
162
+ /**
163
+ * Generate splitting report
164
+ */
165
+ generateReport() {
166
+ let report = "# Code Splitting Report\n\n";
167
+ report += "## Active Strategies\n";
168
+ for (const strategy of this.strategies) {
169
+ report += `- **${strategy.name}** (priority: ${strategy.priority})\n`;
170
+ }
171
+ report += "\n## Route Analysis\n";
172
+ if (this.routeAnalysis.size === 0) {
173
+ report += "No routes analyzed yet.\n";
174
+ } else {
175
+ for (const [route, deps] of this.routeAnalysis) {
176
+ report += `- **${route}**: ${deps.length} dependencies\n`;
177
+ }
178
+ }
179
+ return report;
180
+ }
181
+ }
182
+ /**
183
+ * Helper: Create esbuild configuration for code splitting
184
+ */
185
+ export function createSplitConfig(outdir = "dist") {
186
+ const splitter = new CodeSplitter();
187
+ return {
188
+ ...splitter.generateSplittingConfig(),
189
+ outdir,
190
+ minify: true,
191
+ format: "esm",
192
+ target: "es2022",
193
+ };
194
+ }
@@ -0,0 +1,190 @@
1
+ import {
2
+ resolveFeatures,
3
+ getEnabledFeatures,
4
+ createBuildMetadata,
5
+ } from "../core/features.js";
6
+ /**
7
+ * Build-time feature analyzer.
8
+ * Determines which features are enabled and generates metadata.
9
+ * Used to inform bundling decisions and eliminate unused code.
10
+ */
11
+ export class FeatureAnalyzer {
12
+ config;
13
+ resolved;
14
+ metadata;
15
+ constructor(config) {
16
+ this.config = config;
17
+ this.resolved = resolveFeatures(config.features);
18
+ this.metadata = createBuildMetadata(this.resolved, config.features);
19
+ }
20
+ /**
21
+ * Returns resolved feature configuration.
22
+ */
23
+ getResolved() {
24
+ return this.resolved;
25
+ }
26
+ /**
27
+ * Returns build metadata for debugging/introspection.
28
+ */
29
+ getMetadata() {
30
+ return this.metadata;
31
+ }
32
+ /**
33
+ * Checks if a feature is enabled.
34
+ */
35
+ isEnabled(feature) {
36
+ return this.resolved[feature] ?? false;
37
+ }
38
+ /**
39
+ * Gets list of enabled features.
40
+ */
41
+ getEnabled() {
42
+ return getEnabledFeatures(this.resolved);
43
+ }
44
+ /**
45
+ * Generates feature metadata JSON string.
46
+ */
47
+ generateMetadataJson() {
48
+ return JSON.stringify(this.metadata, null, 2);
49
+ }
50
+ /**
51
+ * Generates a feature flag constant object for runtime checks.
52
+ * Can be tree-shaken by bundler for disabled features.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * export const FEATURES = {
57
+ * api: true,
58
+ * middleware: true,
59
+ * cache: false,
60
+ * // ... rest
61
+ * } as const;
62
+ * ```
63
+ */
64
+ generateFeatureFlagsCode() {
65
+ const features = this.resolved;
66
+ const lines = Object.entries(features).map(
67
+ ([name, enabled]) => ` ${name}: ${enabled},`,
68
+ );
69
+ return `
70
+ /**
71
+ * Build-time feature flags.
72
+ * Disabled features are tree-shaken by the bundler.
73
+ */
74
+ export const FEATURES = {
75
+ ${lines.join("\n")}
76
+ } as const;
77
+
78
+ export type EnabledFeatures = {
79
+ ${getEnabledFeatures(this.resolved)
80
+ .map((f) => `${f}: typeof FEATURES.${f}`)
81
+ .join(";\n ")};
82
+ };
83
+ `;
84
+ }
85
+ /**
86
+ * Generates TypeScript definitions for feature-gated code.
87
+ * Enables type-safe access to enabled features only.
88
+ */
89
+ generateTypeDefinitions() {
90
+ const enabled = getEnabledFeatures(this.resolved);
91
+ return `
92
+ /**
93
+ * Auto-generated feature type definitions
94
+ * Features not listed here are disabled and not available at runtime
95
+ */
96
+
97
+ declare global {
98
+ interface FeatureFlags {
99
+ ${enabled.map((f) => `${f}: true;`).join("\n ")}
100
+ }
101
+ }
102
+
103
+ export {};
104
+ `;
105
+ }
106
+ /**
107
+ * Generates a dynamic import guard for feature modules.
108
+ * Prevents importing disabled feature modules.
109
+ */
110
+ generateFeatureGuard(feature) {
111
+ const isEnabled = this.isEnabled(feature);
112
+ return `
113
+ if (!${isEnabled}) {
114
+ throw new Error(
115
+ 'Feature "${feature}" is not enabled. ' +
116
+ 'Enable it in jen.config.ts: features: { ${feature}: true }'
117
+ );
118
+ }
119
+ `;
120
+ }
121
+ /**
122
+ * Generates code to conditionally include feature handlers.
123
+ * Used in server request handlers.
124
+ */
125
+ generateConditionalHandlers() {
126
+ const enabled = getEnabledFeatures(this.resolved);
127
+ let code = `
128
+ // Auto-generated feature handlers
129
+ // Only enabled features are included
130
+
131
+ `;
132
+ if (enabled.includes("api")) {
133
+ code += `
134
+ // API Routes Handler
135
+ import { tryHandleApiRoute } from "../server/api-routes.js";
136
+ `;
137
+ }
138
+ if (enabled.includes("middleware")) {
139
+ code += `
140
+ // Middleware Handler
141
+ import { Kernel } from "../middleware/kernel.js";
142
+ `;
143
+ }
144
+ if (enabled.includes("cache")) {
145
+ code += `
146
+ // Cache Handler
147
+ import { MemoryCache } from "../cache/memory.js";
148
+ `;
149
+ }
150
+ if (enabled.includes("streaming")) {
151
+ code += `
152
+ // Streaming Handler
153
+ import renderToString from "preact-render-to-string";
154
+ `;
155
+ }
156
+ if (enabled.includes("auth")) {
157
+ code += `
158
+ // Auth Handler
159
+ // (to be implemented in future release)
160
+ `;
161
+ }
162
+ return code;
163
+ }
164
+ /**
165
+ * Generates summary report of feature configuration.
166
+ */
167
+ generateReport() {
168
+ const enabled = getEnabledFeatures(this.resolved);
169
+ const disabled = Object.entries(this.resolved)
170
+ .filter(([, e]) => !e)
171
+ .map(([name]) => name);
172
+ return `
173
+ Feature Configuration Report
174
+ =============================
175
+
176
+ Build Time: ${this.metadata.buildTime}
177
+
178
+ Enabled (${enabled.length}):
179
+ ${enabled.length > 0 ? enabled.map((f) => ` ✓ ${f}`).join("\n") : " (none - core only)"}
180
+
181
+ Disabled (${disabled.length}):
182
+ ${disabled.length > 0 ? disabled.map((f) => ` ✗ ${f}`).join("\n") : " (all features enabled)"}
183
+
184
+ Bundle Impact:
185
+ Core modules: Always included
186
+ Enabled features: Included in bundle
187
+ Disabled features: Completely removed (tree-shaken)
188
+ `;
189
+ }
190
+ }
@@ -0,0 +1,257 @@
1
+ import { resolveFeatures, getEnabledFeatures } from "../core/features.js";
2
+ /**
3
+ * Feature gate compiler that generates optimized request handlers based on enabled features.
4
+ * Statically analyzes feature configuration at build time and generates only the necessary code.
5
+ *
6
+ * This approach ensures:
7
+ * 1. Unused features are completely tree-shaken from the bundle
8
+ * 2. No runtime feature detection overhead
9
+ * 3. Type-safe access to enabled features
10
+ * 4. Build-time validation of feature compatibility
11
+ */
12
+ export class FeatureGateCompiler {
13
+ resolved;
14
+ config;
15
+ constructor(config) {
16
+ this.config = config;
17
+ this.resolved = resolveFeatures(config.features);
18
+ }
19
+ /**
20
+ * Generates a TypeScript handler file that includes only enabled features.
21
+ * This file is generated at build time and imported by the request handler.
22
+ *
23
+ * @returns Generated TypeScript code as string
24
+ */
25
+ generateHandlerCode() {
26
+ const enabled = getEnabledFeatures(this.resolved);
27
+ const imports = this.generateImports(enabled);
28
+ const middleware = this.generateMiddlewareChain(enabled);
29
+ const handlers = this.generateHandlers(enabled);
30
+ return `
31
+ /*
32
+ * AUTO-GENERATED: This file is generated at build time based on enabled features.
33
+ * DO NOT EDIT MANUALLY - your changes will be overwritten on next build.
34
+ *
35
+ * Enabled features: ${enabled.join(", ") || "none (core only)"}
36
+ */
37
+
38
+ ${imports}
39
+
40
+ /**
41
+ * Build-time compiled request handler with only enabled features.
42
+ * Each feature is statically included or excluded based on configuration.
43
+ */
44
+ export async function handleRequest(req: any, res: any, context: any) {
45
+ ${middleware}
46
+ ${handlers}
47
+ }
48
+
49
+ /**
50
+ * Feature flags for runtime checks (constant-folded at build time).
51
+ * TypeScript will eliminate dead code paths for disabled features.
52
+ */
53
+ export const FEATURES = {
54
+ ${enabled.map((f) => `${f}: true`).join(",\n ")},
55
+ ${Object.entries(this.resolved)
56
+ .filter(([, enabled]) => !enabled)
57
+ .map(([name]) => `${name}: false`)
58
+ .join(",\n ")},
59
+ } as const;
60
+ `;
61
+ }
62
+ /**
63
+ * Generates import statements only for enabled features.
64
+ *
65
+ * @param enabled List of enabled feature names
66
+ * @returns Import statement code
67
+ */
68
+ generateImports(enabled) {
69
+ const imports = [];
70
+ if (enabled.includes("api")) {
71
+ imports.push(
72
+ 'import { handleApiRoutes } from "../features/api/handler.js";',
73
+ );
74
+ }
75
+ if (enabled.includes("middleware")) {
76
+ imports.push(
77
+ 'import { compiledMiddlewareChain } from "../features/middleware/compiled.js";',
78
+ );
79
+ }
80
+ if (enabled.includes("cache")) {
81
+ imports.push(
82
+ 'import { getCachedResponse, setCachedResponse } from "../features/cache/handler.js";',
83
+ );
84
+ }
85
+ if (enabled.includes("streaming")) {
86
+ imports.push(
87
+ 'import { StreamingRenderer } from "../features/streaming/renderer.js";',
88
+ );
89
+ }
90
+ if (enabled.includes("auth")) {
91
+ imports.push(
92
+ 'import { authMiddleware } from "../features/auth/middleware.js";',
93
+ );
94
+ }
95
+ // Always import core
96
+ imports.unshift('import type { RouteHandler } from "../core/types.js";');
97
+ return imports.join("\n");
98
+ }
99
+ /**
100
+ * Generates middleware chain initialization code.
101
+ *
102
+ * @param enabled List of enabled feature names
103
+ * @returns Middleware setup code
104
+ */
105
+ generateMiddlewareChain(enabled) {
106
+ if (!enabled.includes("middleware")) {
107
+ return "// Middleware disabled";
108
+ }
109
+ return `
110
+ // Apply compiled middleware chain (pre-resolved at build time)
111
+ const middlewareResult = await compiledMiddlewareChain(req, res, context);
112
+ if (middlewareResult.handled) return;
113
+ context.middleware = middlewareResult.data;
114
+ `;
115
+ }
116
+ /**
117
+ * Generates request handler logic for enabled features.
118
+ *
119
+ * @param enabled List of enabled feature names
120
+ * @returns Handler code
121
+ */
122
+ generateHandlers(enabled) {
123
+ const handlers = [];
124
+ // Always handle core routing
125
+ handlers.push(`
126
+ // Core routing
127
+ const route = context.routes.get(req.url);
128
+ if (!route) {
129
+ res.statusCode = 404;
130
+ res.end("Not Found");
131
+ return;
132
+ }
133
+ `);
134
+ // API routes
135
+ if (enabled.includes("api")) {
136
+ handlers.push(`
137
+ // Try API routes first
138
+ const apiResult = await handleApiRoutes(req, res, route, context);
139
+ if (apiResult.handled) return;
140
+ `);
141
+ }
142
+ // Caching
143
+ if (enabled.includes("cache")) {
144
+ handlers.push(`
145
+ // Check response cache
146
+ const cached = await getCachedResponse(route, context);
147
+ if (cached) {
148
+ res.setHeader("X-Cache", "HIT");
149
+ res.end(cached);
150
+ return;
151
+ }
152
+ `);
153
+ }
154
+ // SSR rendering
155
+ handlers.push(`
156
+ // Render route
157
+ const component = await import(route.moduleId);
158
+ const data = await component.loader?.(context) ?? {};
159
+ const html = await renderToString(component.default, { data });
160
+ `);
161
+ // Cache response
162
+ if (enabled.includes("cache")) {
163
+ handlers.push(`
164
+ await setCachedResponse(route, html, context);
165
+ `);
166
+ }
167
+ // Stream or buffered response
168
+ if (enabled.includes("streaming")) {
169
+ handlers.push(`
170
+ // Stream response
171
+ const renderer = new StreamingRenderer(res);
172
+ await renderer.sendHead(route.head);
173
+ await renderer.sendBody(html);
174
+ await renderer.sendFooter();
175
+ `);
176
+ } else {
177
+ handlers.push(`
178
+ // Send buffered response
179
+ res.setHeader("Content-Type", "text/html; charset=utf-8");
180
+ res.end(html);
181
+ `);
182
+ }
183
+ return handlers.join("\n");
184
+ }
185
+ /**
186
+ * Generates type definitions for enabled features.
187
+ * Ensures TypeScript knows about enabled/disabled features.
188
+ *
189
+ * @returns TypeScript type definition code
190
+ */
191
+ generateTypeDefinitions() {
192
+ const enabled = getEnabledFeatures(this.resolved);
193
+ return `
194
+ // Auto-generated feature type definitions
195
+ declare global {
196
+ interface FeatureContext {
197
+ api: ${enabled.includes("api") ? "ApiFeature" : "never"};
198
+ middleware: ${enabled.includes("middleware") ? "MiddlewareFeature" : "never"};
199
+ cache: ${enabled.includes("cache") ? "CacheFeature" : "never"};
200
+ streaming: ${enabled.includes("streaming") ? "StreamingFeature" : "never"};
201
+ auth: ${enabled.includes("auth") ? "AuthFeature" : "never"};
202
+ }
203
+ }
204
+
205
+ export {};
206
+ `;
207
+ }
208
+ /**
209
+ * Generates build metadata for debugging and introspection.
210
+ *
211
+ * @returns Metadata as JSON string
212
+ */
213
+ generateMetadata() {
214
+ return JSON.stringify(
215
+ {
216
+ buildTime: new Date().toISOString(),
217
+ enabledFeatures: getEnabledFeatures(this.resolved),
218
+ disabledFeatures: Object.entries(this.resolved)
219
+ .filter(([, enabled]) => !enabled)
220
+ .map(([name]) => name),
221
+ config: this.config.features,
222
+ },
223
+ null,
224
+ 2,
225
+ );
226
+ }
227
+ }
228
+ /**
229
+ * Creates an esbuild plugin that generates feature-gated code during build.
230
+ *
231
+ * @param config Framework configuration
232
+ * @returns esbuild plugin object
233
+ */
234
+ export function featureGatePlugin(config) {
235
+ const compiler = new FeatureGateCompiler(config);
236
+ return {
237
+ name: "feature-gate",
238
+ resolveId(id) {
239
+ if (id === "virtual-feature-handler") {
240
+ return id;
241
+ }
242
+ if (id === "virtual-feature-metadata") {
243
+ return id;
244
+ }
245
+ return null;
246
+ },
247
+ load(id) {
248
+ if (id === "virtual-feature-handler") {
249
+ return compiler.generateHandlerCode();
250
+ }
251
+ if (id === "virtual-feature-metadata") {
252
+ return `export default ${compiler.generateMetadata()}`;
253
+ }
254
+ return null;
255
+ },
256
+ };
257
+ }