create-jen-app 1.2.3 → 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 (355) hide show
  1. package/dist/colors.js +0 -17
  2. package/dist/create.js +5 -17
  3. package/dist/generator.js +14 -31
  4. package/dist/index.js +6 -1
  5. package/package.json +1 -1
  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).js +9 -0
  11. package/templates/ssr-isr/lib/auth/cookie-utils.js +79 -0
  12. package/templates/ssr-isr/lib/auth/index.js +2 -0
  13. package/templates/ssr-isr/lib/auth/jwt.js +57 -0
  14. package/templates/ssr-isr/lib/auth/session.js +92 -0
  15. package/templates/ssr-isr/lib/build/asset-hashing.d.ts +10 -0
  16. package/templates/ssr-isr/lib/build/asset-hashing.js +25 -0
  17. package/templates/ssr-isr/lib/build/asset-manifest.d.ts +11 -0
  18. package/templates/ssr-isr/lib/build/asset-manifest.js +21 -0
  19. package/templates/{static → ssr-isr}/lib/build/build.d.ts +1 -1
  20. package/templates/ssr-isr/lib/build/build.js +141 -0
  21. package/templates/{static → ssr-isr}/lib/build/island-hydration.d.ts +8 -5
  22. package/templates/ssr-isr/lib/build/island-hydration.js +44 -0
  23. package/templates/ssr-isr/lib/build/minifier.d.ts +20 -0
  24. package/templates/ssr-isr/lib/build/minifier.js +46 -0
  25. package/templates/ssr-isr/lib/build/page-renderer.d.ts +17 -0
  26. package/templates/ssr-isr/lib/build/page-renderer.js +28 -0
  27. package/templates/ssr-isr/lib/build/production-build.d.ts +10 -0
  28. package/templates/ssr-isr/lib/build/production-build.js +13 -0
  29. package/templates/ssr-isr/lib/build/ssg-pipeline.d.ts +15 -0
  30. package/templates/ssr-isr/lib/build/ssg-pipeline.js +113 -0
  31. package/templates/ssr-isr/lib/build-tools/build-site.js +36 -0
  32. package/templates/ssr-isr/lib/cache/index.js +10 -0
  33. package/templates/ssr-isr/lib/cache/memory.js +40 -0
  34. package/templates/ssr-isr/lib/cache/redis.js +61 -0
  35. package/templates/ssr-isr/lib/cli/banner.js +28 -0
  36. package/templates/ssr-isr/lib/cli/templates/ssg/jen.config.js +32 -0
  37. package/templates/ssr-isr/lib/cli/templates/ssg/site/index.js +9 -0
  38. package/templates/ssr-isr/lib/cli/templates/ssr/jen.config.js +32 -0
  39. package/templates/ssr-isr/lib/cli/templates/ssr/site/index.js +9 -0
  40. package/templates/ssr-isr/lib/compilers/esbuild-plugins.js +111 -0
  41. package/templates/ssr-isr/lib/compilers/svelte.js +44 -0
  42. package/templates/ssr-isr/lib/compilers/vue.js +90 -0
  43. package/templates/ssr-isr/lib/core/http.js +71 -0
  44. package/templates/ssr-isr/lib/core/middleware-hooks.js +97 -0
  45. package/templates/ssr-isr/lib/core/paths.js +39 -0
  46. package/templates/ssr-isr/lib/core/routes/match.js +47 -0
  47. package/templates/ssr-isr/lib/core/routes/scan.js +190 -0
  48. package/templates/ssr-isr/lib/core/types.js +1 -0
  49. package/templates/ssr-isr/lib/css/compiler.js +74 -0
  50. package/templates/ssr-isr/lib/db/connector.js +42 -0
  51. package/templates/ssr-isr/lib/db/drivers/jdb.js +44 -0
  52. package/templates/ssr-isr/lib/db/drivers/sql.js +182 -0
  53. package/templates/ssr-isr/lib/db/index.js +48 -0
  54. package/templates/ssr-isr/lib/db/types.js +1 -0
  55. package/templates/ssr-isr/lib/graphql/index.js +52 -0
  56. package/templates/ssr-isr/lib/graphql/resolvers.js +25 -0
  57. package/templates/ssr-isr/lib/graphql/schema.js +35 -0
  58. package/templates/ssr-isr/lib/i18n/en.json +4 -0
  59. package/templates/ssr-isr/lib/i18n/es.json +4 -0
  60. package/templates/ssr-isr/lib/i18n/index.js +15 -0
  61. package/templates/ssr-isr/lib/import/jen-import.js +161 -0
  62. package/templates/ssr-isr/lib/index.js +116 -0
  63. package/templates/ssr-isr/lib/jdb/engine.js +275 -0
  64. package/templates/ssr-isr/lib/jdb/index.js +34 -0
  65. package/templates/ssr-isr/lib/jdb/types.js +1 -0
  66. package/templates/ssr-isr/lib/jdb/utils.js +176 -0
  67. package/templates/{static → ssr-isr}/lib/middleware/builtins/body-parser.js +0 -17
  68. package/templates/ssr-isr/lib/middleware/builtins/cors.js +54 -0
  69. package/templates/{static → ssr-isr}/lib/middleware/builtins/logger.js +0 -17
  70. package/templates/{static → ssr-isr}/lib/middleware/builtins/rate-limit.js +0 -17
  71. package/templates/{static → ssr-isr}/lib/middleware/builtins/request-id.js +0 -17
  72. package/templates/{static → ssr-isr}/lib/middleware/builtins/security-headers.js +0 -17
  73. package/templates/ssr-isr/lib/middleware/context.js +124 -0
  74. package/templates/{static → ssr-isr}/lib/middleware/decorators.js +0 -17
  75. package/templates/{static → ssr-isr}/lib/middleware/errors/handler.js +0 -17
  76. package/templates/ssr-isr/lib/middleware/errors/http-error.js +10 -0
  77. package/templates/ssr-isr/lib/middleware/kernel.js +85 -0
  78. package/templates/ssr-isr/lib/middleware/pipeline.js +148 -0
  79. package/templates/ssr-isr/lib/middleware/registry.js +85 -0
  80. package/templates/ssr-isr/lib/middleware/response.js +107 -0
  81. package/templates/ssr-isr/lib/middleware/types.d.ts +1 -0
  82. package/templates/ssr-isr/lib/middleware/types.js +1 -0
  83. package/templates/ssr-isr/lib/middleware/utils/matcher.js +13 -0
  84. package/templates/{static → ssr-isr}/lib/native/bundle.js +0 -17
  85. package/templates/{static → ssr-isr}/lib/native/dev-server.js +0 -17
  86. package/templates/{static → ssr-isr}/lib/native/index.js +0 -17
  87. package/templates/{static → ssr-isr}/lib/native/optimizer.js +0 -17
  88. package/templates/ssr-isr/lib/native/style-compiler.js +19 -0
  89. package/templates/ssr-isr/lib/plugin/loader.js +36 -0
  90. package/templates/ssr-isr/lib/runtime/client-runtime.js +25 -0
  91. package/templates/ssr-isr/lib/runtime/hmr.js +59 -0
  92. package/templates/ssr-isr/lib/runtime/hydrate.js +55 -0
  93. package/templates/ssr-isr/lib/runtime/island-hydration-client.js +146 -0
  94. package/templates/ssr-isr/lib/runtime/islands.js +110 -0
  95. package/templates/ssr-isr/lib/runtime/render.js +244 -0
  96. package/templates/ssr-isr/lib/server/api-routes.js +237 -0
  97. package/templates/ssr-isr/lib/server/api.js +108 -0
  98. package/templates/ssr-isr/lib/server/app.js +438 -0
  99. package/templates/ssr-isr/lib/server/runtimeServe.js +169 -0
  100. package/templates/ssr-isr/lib/server/ssr.js +202 -0
  101. package/templates/ssr-isr/lib/shared/log.js +64 -0
  102. package/templates/ssr-isr/package.json +23 -0
  103. package/templates/ssr-isr/server.js +128 -0
  104. package/templates/ssr-isr/site/pages/(index).tsx +11 -0
  105. package/templates/ssr-isr/site/styles/global.scss +37 -0
  106. package/templates/ssr-isr/tsconfig.json +39 -0
  107. package/templates/static/build.js +30 -18
  108. package/templates/static/jen.config.ts +0 -18
  109. package/templates/static/jenjs.d.ts +0 -18
  110. package/templates/static/lib/api/(hello).js +0 -17
  111. package/templates/static/lib/api/examples/files/[...slug].js +22 -0
  112. package/templates/static/lib/api/examples/hello.js +11 -0
  113. package/templates/static/lib/api/examples/posts/[id].js +37 -0
  114. package/templates/static/lib/api/examples/posts.js +37 -0
  115. package/templates/static/lib/api/examples/search.js +23 -0
  116. package/templates/static/lib/api/index.js +41 -0
  117. package/templates/static/lib/api/loader.js +234 -0
  118. package/templates/static/lib/api/router.js +259 -0
  119. package/templates/static/lib/assets/types.js +1 -0
  120. package/templates/static/lib/auth/cookie-utils.js +3 -16
  121. package/templates/static/lib/auth/index.js +0 -17
  122. package/templates/static/lib/auth/jwt.js +0 -17
  123. package/templates/static/lib/auth/session.js +0 -17
  124. package/templates/static/lib/build/asset-hashing.js +44 -36
  125. package/templates/static/lib/build/asset-manifest.js +16 -33
  126. package/templates/static/lib/build/build.js +270 -125
  127. package/templates/static/lib/build/bundle-analyzer-ui.js +417 -0
  128. package/templates/static/lib/build/bundle-analyzer.js +945 -0
  129. package/templates/static/lib/build/code-splitter.js +194 -0
  130. package/templates/static/lib/build/feature-analyzer.js +190 -0
  131. package/templates/static/lib/build/feature-gate.js +257 -0
  132. package/templates/static/lib/build/island-hydration.js +17 -35
  133. package/templates/static/lib/build/lazy-loader.js +322 -0
  134. package/templates/static/lib/build/minifier.js +40 -59
  135. package/templates/static/lib/build/page-renderer.js +23 -40
  136. package/templates/static/lib/build/production-build.js +9 -26
  137. package/templates/static/lib/build/rust-hashing.js +71 -0
  138. package/templates/static/lib/build/script-optimizer.js +285 -0
  139. package/templates/static/lib/build/ssg-pipeline.js +100 -106
  140. package/templates/static/lib/build/vercel-output.js +298 -0
  141. package/templates/static/lib/build-tools/build-site.js +0 -17
  142. package/templates/static/lib/cache/index.js +0 -17
  143. package/templates/static/lib/cache/memory.js +0 -17
  144. package/templates/static/lib/cache/redis.js +0 -17
  145. package/templates/static/lib/cli/banner.js +0 -17
  146. package/templates/static/lib/cli/templates/ssg/jen.config.js +0 -17
  147. package/templates/static/lib/cli/templates/ssr/jen.config.js +0 -17
  148. package/templates/static/lib/client/Image.js +42 -0
  149. package/templates/static/lib/client/Link.js +190 -0
  150. package/templates/static/lib/client/PWA.js +46 -0
  151. package/templates/static/lib/client/Seo.js +97 -0
  152. package/templates/static/lib/client/index.js +9 -0
  153. package/templates/static/lib/client/useNavigation.js +25 -0
  154. package/templates/static/lib/client/useRouter.js +64 -0
  155. package/templates/static/lib/client-routing/Link.js +17 -0
  156. package/templates/static/lib/client-routing/index.js +19 -0
  157. package/templates/static/lib/client-routing/router.js +151 -0
  158. package/templates/static/lib/client-routing/signal.js +147 -0
  159. package/templates/static/lib/compilers/esbuild-plugins.js +0 -17
  160. package/templates/static/lib/compilers/svelte.js +0 -17
  161. package/templates/static/lib/compilers/vue.js +0 -17
  162. package/templates/static/lib/core/config.js +0 -17
  163. package/templates/static/lib/core/feature-guard.js +136 -0
  164. package/templates/static/lib/core/features.js +99 -0
  165. package/templates/static/lib/core/http.js +0 -17
  166. package/templates/static/lib/core/layouts/index.js +10 -0
  167. package/templates/static/lib/core/layouts/render.js +158 -0
  168. package/templates/static/lib/core/layouts/scan.js +112 -0
  169. package/templates/static/lib/core/layouts/types.js +1 -0
  170. package/templates/static/lib/core/lifecycle.js +129 -0
  171. package/templates/static/lib/core/loader-schema.js +81 -0
  172. package/templates/static/lib/core/middleware-hooks.js +0 -17
  173. package/templates/static/lib/core/paths.js +0 -17
  174. package/templates/static/lib/core/routes/advanced.js +114 -0
  175. package/templates/static/lib/core/routes/handlers.js +181 -0
  176. package/templates/static/lib/core/routes/match.js +89 -17
  177. package/templates/static/lib/core/routes/orchestrator.js +171 -0
  178. package/templates/static/lib/core/routes/rendering-config.js +131 -0
  179. package/templates/static/lib/core/routes/scan.js +0 -17
  180. package/templates/static/lib/core/types.js +0 -17
  181. package/templates/static/lib/css/compiler.js +1 -18
  182. package/templates/static/lib/data-fetching/cache.js +223 -0
  183. package/templates/static/lib/data-fetching/client.js +202 -0
  184. package/templates/static/lib/data-fetching/feature-guard.js +29 -0
  185. package/templates/static/lib/data-fetching/graphql.js +265 -0
  186. package/templates/static/lib/data-fetching/index.js +57 -0
  187. package/templates/static/lib/data-fetching/rest.js +256 -0
  188. package/templates/static/lib/data-fetching/server.js +182 -0
  189. package/templates/static/lib/data-fetching/types.js +5 -0
  190. package/templates/static/lib/db/connector.js +0 -17
  191. package/templates/static/lib/db/drivers/jdb.js +0 -17
  192. package/templates/static/lib/db/drivers/sql.js +0 -17
  193. package/templates/static/lib/db/index.js +0 -17
  194. package/templates/static/lib/db/types.js +0 -17
  195. package/templates/static/lib/devtools/component-tree.js +106 -0
  196. package/templates/static/lib/devtools/devtools.js +638 -0
  197. package/templates/static/lib/devtools/event-bus.js +29 -0
  198. package/templates/static/lib/devtools/event-logger.js +67 -0
  199. package/templates/static/lib/devtools/index.js +9 -0
  200. package/templates/static/lib/devtools/integration.js +149 -0
  201. package/templates/static/lib/devtools/performance.js +84 -0
  202. package/templates/static/lib/devtools/persistence.js +57 -0
  203. package/templates/static/lib/devtools/plugins.js +97 -0
  204. package/templates/static/lib/devtools/search.js +89 -0
  205. package/templates/static/lib/devtools/ui.js +769 -0
  206. package/templates/static/lib/features/api/handler.js +10 -0
  207. package/templates/static/lib/features/api/index.js +5 -0
  208. package/templates/static/lib/features/api/types.js +4 -0
  209. package/templates/static/lib/features/middleware/compiled.js +7 -0
  210. package/templates/static/lib/features/middleware/index.js +5 -0
  211. package/templates/static/lib/features/middleware/types.js +4 -0
  212. package/templates/static/lib/fonts/index.js +46 -0
  213. package/templates/static/lib/fonts/inject.js +125 -0
  214. package/templates/static/lib/fonts/loader.js +196 -0
  215. package/templates/static/lib/fonts/types.js +1 -0
  216. package/templates/static/lib/graphql/index.js +1 -18
  217. package/templates/static/lib/graphql/resolvers.js +20 -13
  218. package/templates/static/lib/graphql/schema.js +0 -17
  219. package/templates/static/lib/i18n/index.js +7 -19
  220. package/templates/static/lib/import/jen-import.js +1 -18
  221. package/templates/static/lib/index.js +79 -125
  222. package/templates/static/lib/jdb/engine.js +0 -17
  223. package/templates/static/lib/jdb/index.js +1 -18
  224. package/templates/static/lib/jdb/types.js +0 -17
  225. package/templates/static/lib/jdb/utils.js +0 -17
  226. package/templates/static/lib/middleware/builtins/cors.js +3 -16
  227. package/templates/static/lib/middleware/context.js +0 -17
  228. package/templates/static/lib/middleware/kernel.js +117 -25
  229. package/templates/static/lib/middleware/pipeline.js +0 -17
  230. package/templates/static/lib/middleware/registry.js +0 -17
  231. package/templates/static/lib/middleware/response.js +0 -17
  232. package/templates/static/lib/plugin/examples/analytics-plugin.js +183 -0
  233. package/templates/static/lib/plugin/examples/cdn-upload-plugin.js +94 -0
  234. package/templates/static/lib/plugin/loader.js +0 -17
  235. package/templates/static/lib/plugin/plugin-manager.js +177 -0
  236. package/templates/static/lib/plugin/types.js +28 -0
  237. package/templates/static/lib/runtime/client-runtime.js +0 -17
  238. package/templates/static/lib/runtime/hmr.js +0 -17
  239. package/templates/static/lib/runtime/hydrate.js +0 -17
  240. package/templates/static/lib/runtime/island-hydration-client.js +0 -17
  241. package/templates/static/lib/runtime/islands.js +0 -17
  242. package/templates/static/lib/runtime/render.js +208 -50
  243. package/templates/static/lib/security/security-config.js +60 -0
  244. package/templates/static/lib/security/security-middleware.js +229 -0
  245. package/templates/static/lib/server/api-routes.js +153 -43
  246. package/templates/static/lib/server/api.js +0 -17
  247. package/templates/static/lib/server/app.js +539 -223
  248. package/templates/static/lib/server/isr.js +365 -0
  249. package/templates/static/lib/server/runtimeServe.js +31 -24
  250. package/templates/static/lib/server/ssr.js +98 -22
  251. package/templates/static/lib/server-actions/handler.js +180 -0
  252. package/templates/static/lib/server-actions/index.js +19 -0
  253. package/templates/static/lib/server-actions/middleware.js +146 -0
  254. package/templates/static/lib/server-actions/scan.js +152 -0
  255. package/templates/static/lib/server-actions/types.js +1 -0
  256. package/templates/static/lib/server-actions/validators.js +156 -0
  257. package/templates/static/lib/shared/log.js +19 -20
  258. package/templates/static/lib/telemetry/api/rate-limiter.js +32 -0
  259. package/templates/static/lib/telemetry/api/validator.js +67 -0
  260. package/templates/static/lib/telemetry/client.js +121 -0
  261. package/templates/static/lib/telemetry/tests/rate-limiter.test.js +46 -0
  262. package/templates/static/lib/telemetry/tests/validator.test.js +62 -0
  263. package/templates/static/lib/vendor/glob/glob.js +4766 -0
  264. package/templates/static/lib/vendor/preact/LICENSE +21 -0
  265. package/templates/static/lib/vendor/preact/preact.module.js +797 -0
  266. package/templates/static/lib/vendor/sass/sass.node.mjs +212 -0
  267. package/templates/static/package.json +4 -0
  268. package/templates/static/server.js +22 -22
  269. package/templates/static/site/(home).tsx +0 -18
  270. package/templates/static/tsconfig.json +5 -1
  271. package/templates/static/.esbuild/jen.config.js +0 -19
  272. package/templates/static/lib/build/asset-hashing.d.ts +0 -10
  273. package/templates/static/lib/build/asset-manifest.d.ts +0 -11
  274. package/templates/static/lib/build/minifier.d.ts +0 -20
  275. package/templates/static/lib/build/page-renderer.d.ts +0 -17
  276. package/templates/static/lib/build/production-build.d.ts +0 -10
  277. package/templates/static/lib/build/ssg-pipeline.d.ts +0 -15
  278. package/templates/static/lib/middleware/errors/http-error.js +0 -27
  279. package/templates/static/lib/middleware/types.js +0 -18
  280. package/templates/static/lib/middleware/utils/matcher.js +0 -30
  281. package/templates/static/lib/native/style-compiler.js +0 -36
  282. /package/templates/{static → ssr-isr}/lib/api/(hello).d.ts +0 -0
  283. /package/templates/{static → ssr-isr}/lib/auth/cookie-utils.d.ts +0 -0
  284. /package/templates/{static → ssr-isr}/lib/auth/index.d.ts +0 -0
  285. /package/templates/{static → ssr-isr}/lib/auth/jwt.d.ts +0 -0
  286. /package/templates/{static → ssr-isr}/lib/auth/session.d.ts +0 -0
  287. /package/templates/{static → ssr-isr}/lib/build-tools/build-site.d.ts +0 -0
  288. /package/templates/{static → ssr-isr}/lib/cache/index.d.ts +0 -0
  289. /package/templates/{static → ssr-isr}/lib/cache/memory.d.ts +0 -0
  290. /package/templates/{static → ssr-isr}/lib/cache/redis.d.ts +0 -0
  291. /package/templates/{static → ssr-isr}/lib/cli/banner.d.ts +0 -0
  292. /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/jen.config.d.ts +0 -0
  293. /package/templates/{static → ssr-isr}/lib/cli/templates/ssg/site/index.d.ts +0 -0
  294. /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/jen.config.d.ts +0 -0
  295. /package/templates/{static → ssr-isr}/lib/cli/templates/ssr/site/index.d.ts +0 -0
  296. /package/templates/{static → ssr-isr}/lib/compilers/esbuild-plugins.d.ts +0 -0
  297. /package/templates/{static → ssr-isr}/lib/compilers/svelte.d.ts +0 -0
  298. /package/templates/{static → ssr-isr}/lib/compilers/vue.d.ts +0 -0
  299. /package/templates/{static → ssr-isr}/lib/core/config.d.ts +0 -0
  300. /package/templates/{static/lib/middleware/types.d.ts → ssr-isr/lib/core/config.js} +0 -0
  301. /package/templates/{static → ssr-isr}/lib/core/http.d.ts +0 -0
  302. /package/templates/{static → ssr-isr}/lib/core/middleware-hooks.d.ts +0 -0
  303. /package/templates/{static → ssr-isr}/lib/core/paths.d.ts +0 -0
  304. /package/templates/{static → ssr-isr}/lib/core/routes/match.d.ts +0 -0
  305. /package/templates/{static → ssr-isr}/lib/core/routes/scan.d.ts +0 -0
  306. /package/templates/{static → ssr-isr}/lib/core/types.d.ts +0 -0
  307. /package/templates/{static → ssr-isr}/lib/css/compiler.d.ts +0 -0
  308. /package/templates/{static → ssr-isr}/lib/db/connector.d.ts +0 -0
  309. /package/templates/{static → ssr-isr}/lib/db/drivers/jdb.d.ts +0 -0
  310. /package/templates/{static → ssr-isr}/lib/db/drivers/sql.d.ts +0 -0
  311. /package/templates/{static → ssr-isr}/lib/db/index.d.ts +0 -0
  312. /package/templates/{static → ssr-isr}/lib/db/types.d.ts +0 -0
  313. /package/templates/{static → ssr-isr}/lib/graphql/index.d.ts +0 -0
  314. /package/templates/{static → ssr-isr}/lib/graphql/resolvers.d.ts +0 -0
  315. /package/templates/{static → ssr-isr}/lib/graphql/schema.d.ts +0 -0
  316. /package/templates/{static → ssr-isr}/lib/i18n/index.d.ts +0 -0
  317. /package/templates/{static → ssr-isr}/lib/import/jen-import.d.ts +0 -0
  318. /package/templates/{static → ssr-isr}/lib/index.d.ts +0 -0
  319. /package/templates/{static → ssr-isr}/lib/jdb/engine.d.ts +0 -0
  320. /package/templates/{static → ssr-isr}/lib/jdb/index.d.ts +0 -0
  321. /package/templates/{static → ssr-isr}/lib/jdb/types.d.ts +0 -0
  322. /package/templates/{static → ssr-isr}/lib/jdb/utils.d.ts +0 -0
  323. /package/templates/{static → ssr-isr}/lib/middleware/builtins/body-parser.d.ts +0 -0
  324. /package/templates/{static → ssr-isr}/lib/middleware/builtins/cors.d.ts +0 -0
  325. /package/templates/{static → ssr-isr}/lib/middleware/builtins/logger.d.ts +0 -0
  326. /package/templates/{static → ssr-isr}/lib/middleware/builtins/rate-limit.d.ts +0 -0
  327. /package/templates/{static → ssr-isr}/lib/middleware/builtins/request-id.d.ts +0 -0
  328. /package/templates/{static → ssr-isr}/lib/middleware/builtins/security-headers.d.ts +0 -0
  329. /package/templates/{static → ssr-isr}/lib/middleware/context.d.ts +0 -0
  330. /package/templates/{static → ssr-isr}/lib/middleware/decorators.d.ts +0 -0
  331. /package/templates/{static → ssr-isr}/lib/middleware/errors/handler.d.ts +0 -0
  332. /package/templates/{static → ssr-isr}/lib/middleware/errors/http-error.d.ts +0 -0
  333. /package/templates/{static → ssr-isr}/lib/middleware/kernel.d.ts +0 -0
  334. /package/templates/{static → ssr-isr}/lib/middleware/pipeline.d.ts +0 -0
  335. /package/templates/{static → ssr-isr}/lib/middleware/registry.d.ts +0 -0
  336. /package/templates/{static → ssr-isr}/lib/middleware/response.d.ts +0 -0
  337. /package/templates/{static → ssr-isr}/lib/middleware/utils/matcher.d.ts +0 -0
  338. /package/templates/{static → ssr-isr}/lib/native/bundle.d.ts +0 -0
  339. /package/templates/{static → ssr-isr}/lib/native/dev-server.d.ts +0 -0
  340. /package/templates/{static → ssr-isr}/lib/native/index.d.ts +0 -0
  341. /package/templates/{static → ssr-isr}/lib/native/optimizer.d.ts +0 -0
  342. /package/templates/{static → ssr-isr}/lib/native/style-compiler.d.ts +0 -0
  343. /package/templates/{static → ssr-isr}/lib/plugin/loader.d.ts +0 -0
  344. /package/templates/{static → ssr-isr}/lib/runtime/client-runtime.d.ts +0 -0
  345. /package/templates/{static → ssr-isr}/lib/runtime/hmr.d.ts +0 -0
  346. /package/templates/{static → ssr-isr}/lib/runtime/hydrate.d.ts +0 -0
  347. /package/templates/{static → ssr-isr}/lib/runtime/island-hydration-client.d.ts +0 -0
  348. /package/templates/{static → ssr-isr}/lib/runtime/islands.d.ts +0 -0
  349. /package/templates/{static → ssr-isr}/lib/runtime/render.d.ts +0 -0
  350. /package/templates/{static → ssr-isr}/lib/server/api-routes.d.ts +0 -0
  351. /package/templates/{static → ssr-isr}/lib/server/api.d.ts +0 -0
  352. /package/templates/{static → ssr-isr}/lib/server/app.d.ts +0 -0
  353. /package/templates/{static → ssr-isr}/lib/server/runtimeServe.d.ts +0 -0
  354. /package/templates/{static → ssr-isr}/lib/server/ssr.d.ts +0 -0
  355. /package/templates/{static → ssr-isr}/lib/shared/log.d.ts +0 -0
@@ -0,0 +1,212 @@
1
+ import cjs from "./sass.node.js";
2
+ export const compile = cjs.compile;
3
+ export const compileAsync = cjs.compileAsync;
4
+ export const compileString = cjs.compileString;
5
+ export const compileStringAsync = cjs.compileStringAsync;
6
+ export const initCompiler = cjs.initCompiler;
7
+ export const initAsyncCompiler = cjs.initAsyncCompiler;
8
+ export const Compiler = cjs.Compiler;
9
+ export const AsyncCompiler = cjs.AsyncCompiler;
10
+ export const Logger = cjs.Logger;
11
+ export const SassArgumentList = cjs.SassArgumentList;
12
+ export const SassBoolean = cjs.SassBoolean;
13
+ export const SassCalculation = cjs.SassCalculation;
14
+ export const CalculationOperation = cjs.CalculationOperation;
15
+ export const CalculationInterpolation = cjs.CalculationInterpolation;
16
+ export const SassColor = cjs.SassColor;
17
+ export const SassFunction = cjs.SassFunction;
18
+ export const SassList = cjs.SassList;
19
+ export const SassMap = cjs.SassMap;
20
+ export const SassMixin = cjs.SassMixin;
21
+ export const SassNumber = cjs.SassNumber;
22
+ export const SassString = cjs.SassString;
23
+ export const Value = cjs.Value;
24
+ export const CustomFunction = cjs.CustomFunction;
25
+ export const ListSeparator = cjs.ListSeparator;
26
+ export const sassFalse = cjs.sassFalse;
27
+ export const sassNull = cjs.sassNull;
28
+ export const sassTrue = cjs.sassTrue;
29
+ export const Exception = cjs.Exception;
30
+ export const PromiseOr = cjs.PromiseOr;
31
+ export const info = cjs.info;
32
+ export const render = cjs.render;
33
+ export const renderSync = cjs.renderSync;
34
+ export const TRUE = cjs.TRUE;
35
+ export const FALSE = cjs.FALSE;
36
+ export const NULL = cjs.NULL;
37
+ export const types = cjs.types;
38
+ export const NodePackageImporter = cjs.NodePackageImporter;
39
+ export const deprecations = cjs.deprecations;
40
+ export const Version = cjs.Version;
41
+ export const parser_ = cjs.parser_;
42
+ let printedDefaultExportDeprecation = false;
43
+ function defaultExportDeprecation() {
44
+ if (printedDefaultExportDeprecation) return;
45
+ printedDefaultExportDeprecation = true;
46
+ console.error(
47
+ "`import sass from 'sass'` is deprecated.\n" +
48
+ "Please use `import * as sass from 'sass'` instead.",
49
+ );
50
+ }
51
+ export default {
52
+ get compile() {
53
+ defaultExportDeprecation();
54
+ return cjs.compile;
55
+ },
56
+ get compileAsync() {
57
+ defaultExportDeprecation();
58
+ return cjs.compileAsync;
59
+ },
60
+ get compileString() {
61
+ defaultExportDeprecation();
62
+ return cjs.compileString;
63
+ },
64
+ get compileStringAsync() {
65
+ defaultExportDeprecation();
66
+ return cjs.compileStringAsync;
67
+ },
68
+ get initCompiler() {
69
+ defaultExportDeprecation();
70
+ return cjs.initCompiler;
71
+ },
72
+ get initAsyncCompiler() {
73
+ defaultExportDeprecation();
74
+ return cjs.initAsyncCompiler;
75
+ },
76
+ get Compiler() {
77
+ defaultExportDeprecation();
78
+ return cjs.Compiler;
79
+ },
80
+ get AsyncCompiler() {
81
+ defaultExportDeprecation();
82
+ return cjs.AsyncCompiler;
83
+ },
84
+ get Logger() {
85
+ defaultExportDeprecation();
86
+ return cjs.Logger;
87
+ },
88
+ get SassArgumentList() {
89
+ defaultExportDeprecation();
90
+ return cjs.SassArgumentList;
91
+ },
92
+ get SassBoolean() {
93
+ defaultExportDeprecation();
94
+ return cjs.SassBoolean;
95
+ },
96
+ get SassCalculation() {
97
+ defaultExportDeprecation();
98
+ return cjs.SassCalculation;
99
+ },
100
+ get CalculationOperation() {
101
+ defaultExportDeprecation();
102
+ return cjs.CalculationOperation;
103
+ },
104
+ get CalculationInterpolation() {
105
+ defaultExportDeprecation();
106
+ return cjs.CalculationInterpolation;
107
+ },
108
+ get SassColor() {
109
+ defaultExportDeprecation();
110
+ return cjs.SassColor;
111
+ },
112
+ get SassFunction() {
113
+ defaultExportDeprecation();
114
+ return cjs.SassFunction;
115
+ },
116
+ get SassList() {
117
+ defaultExportDeprecation();
118
+ return cjs.SassList;
119
+ },
120
+ get SassMap() {
121
+ defaultExportDeprecation();
122
+ return cjs.SassMap;
123
+ },
124
+ get SassMixin() {
125
+ defaultExportDeprecation();
126
+ return cjs.SassMixin;
127
+ },
128
+ get SassNumber() {
129
+ defaultExportDeprecation();
130
+ return cjs.SassNumber;
131
+ },
132
+ get SassString() {
133
+ defaultExportDeprecation();
134
+ return cjs.SassString;
135
+ },
136
+ get Value() {
137
+ defaultExportDeprecation();
138
+ return cjs.Value;
139
+ },
140
+ get CustomFunction() {
141
+ defaultExportDeprecation();
142
+ return cjs.CustomFunction;
143
+ },
144
+ get ListSeparator() {
145
+ defaultExportDeprecation();
146
+ return cjs.ListSeparator;
147
+ },
148
+ get sassFalse() {
149
+ defaultExportDeprecation();
150
+ return cjs.sassFalse;
151
+ },
152
+ get sassNull() {
153
+ defaultExportDeprecation();
154
+ return cjs.sassNull;
155
+ },
156
+ get sassTrue() {
157
+ defaultExportDeprecation();
158
+ return cjs.sassTrue;
159
+ },
160
+ get Exception() {
161
+ defaultExportDeprecation();
162
+ return cjs.Exception;
163
+ },
164
+ get PromiseOr() {
165
+ defaultExportDeprecation();
166
+ return cjs.PromiseOr;
167
+ },
168
+ get info() {
169
+ defaultExportDeprecation();
170
+ return cjs.info;
171
+ },
172
+ get render() {
173
+ defaultExportDeprecation();
174
+ return cjs.render;
175
+ },
176
+ get renderSync() {
177
+ defaultExportDeprecation();
178
+ return cjs.renderSync;
179
+ },
180
+ get TRUE() {
181
+ defaultExportDeprecation();
182
+ return cjs.TRUE;
183
+ },
184
+ get FALSE() {
185
+ defaultExportDeprecation();
186
+ return cjs.FALSE;
187
+ },
188
+ get NULL() {
189
+ defaultExportDeprecation();
190
+ return cjs.NULL;
191
+ },
192
+ get types() {
193
+ defaultExportDeprecation();
194
+ return cjs.types;
195
+ },
196
+ get NodePackageImporter() {
197
+ defaultExportDeprecation();
198
+ return cjs.NodePackageImporter;
199
+ },
200
+ get deprecations() {
201
+ defaultExportDeprecation();
202
+ return cjs.deprecations;
203
+ },
204
+ get Version() {
205
+ defaultExportDeprecation();
206
+ return cjs.Version;
207
+ },
208
+ get parser_() {
209
+ defaultExportDeprecation();
210
+ return cjs.parser_;
211
+ },
212
+ };
@@ -20,5 +20,9 @@
20
20
  "devDependencies": {
21
21
  "@types/node": "^22.10.0",
22
22
  "typescript": "^5.7.2"
23
+ },
24
+ "imports": {
25
+ "jen": "./lib/*",
26
+ "config": "./src/config.js"
23
27
  }
24
28
  }
@@ -1,26 +1,17 @@
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
1
  import { createServer } from "node:http";
20
2
  import { dirname, join } from "node:path";
21
3
  import { fileURLToPath, pathToFileURL } from "node:url";
22
4
  import esbuild from "esbuild";
23
5
 
6
+ const colors = {
7
+ reset: "\x1b[0m",
8
+ dim: "\x1b[2m",
9
+ cyan: "\x1b[36m",
10
+ red: "\x1b[31m",
11
+ };
12
+
13
+ const ts = () => new Date().toISOString().replace("T", " ").slice(0, 19);
14
+
24
15
  const __filename = fileURLToPath(import.meta.url);
25
16
  const currentDir = dirname(__filename);
26
17
  const rootDir = join(currentDir, ".");
@@ -50,7 +41,9 @@ const Minifier = {
50
41
  };
51
42
 
52
43
  async function main() {
53
- console.log(`[SERVER] Starting in ${isDev ? "DEV" : "PROD"} mode...`);
44
+ console.log(
45
+ `${colors.dim}[${ts()}]${colors.reset} ${colors.cyan}[INFO]${colors.reset} Starting in ${isDev ? "DEV" : "PROD"} mode...`,
46
+ );
54
47
 
55
48
  const configPath = join(currentDir, "jen.config.ts");
56
49
  const outdir = join(currentDir, ".esbuild");
@@ -96,14 +89,20 @@ async function main() {
96
89
  chunk = Minifier.html(chunk.toString());
97
90
  res.removeHeader("content-length");
98
91
  } catch (e) {
99
- console.error("HTML Minification failed:", e);
92
+ console.error(
93
+ `${colors.dim}[${ts()}]${colors.reset} ${colors.red}[ERROR]${colors.reset} HTML Minification failed:`,
94
+ e,
95
+ );
100
96
  }
101
97
  } else if (type.includes("text/css")) {
102
98
  try {
103
99
  chunk = Minifier.css(chunk.toString());
104
100
  res.removeHeader("content-length");
105
101
  } catch (e) {
106
- console.error("CSS Minification failed:", e);
102
+ console.error(
103
+ `${colors.dim}[${ts()}]${colors.reset} ${colors.red}[ERROR]${colors.reset} CSS Minification failed:`,
104
+ e,
105
+ );
107
106
  }
108
107
  }
109
108
  }
@@ -121,7 +120,8 @@ async function main() {
121
120
  });
122
121
 
123
122
  server.listen(config.server.port, config.server.hostname, () => {
124
- printBanner(config.server.port, isDev ? "development" : "production");
123
+ const actualPort = server.address().port;
124
+ printBanner(actualPort, isDev ? "development" : "production");
125
125
  });
126
126
  }
127
127
 
@@ -1,21 +1,3 @@
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
1
  export default function Index() {
20
2
  return (
21
3
  <div className="container">
@@ -35,5 +35,9 @@
35
35
  "build.ts",
36
36
  "jen.config.ts"
37
37
  ],
38
- "exclude": ["node_modules", "dist"]
38
+ "exclude": ["node_modules", "dist"],
39
+ "paths": {
40
+ "jen": ["./src/*"],
41
+ "@/*": ["./src/*"]
42
+ }
39
43
  }
@@ -1,19 +0,0 @@
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
- var e={siteDir:"site",distDir:"dist",routes:{fileExtensions:[".tsx",".jsx",".ts",".js"],routeFilePattern:/^\(([^)]+)\)\.(tsx|jsx|ts|js)$/,enableIndexFallback:!0},rendering:{defaultMode:"ssg",defaultRevalidateSeconds:0},inject:{head:[],bodyEnd:[]},css:{globalScss:"site/styles/global.scss"},assets:{publicDir:"site/assets",cacheControl:"public, max-age=3600"},server:{port:3001,hostname:"localhost"},dev:{liveReload:!0}},s=e;export{s as default};
@@ -1,10 +0,0 @@
1
- export declare class AssetHasher {
2
- /**
3
- * Calculate hash of file content
4
- */
5
- static hashContent(content: string | Buffer): string;
6
- /**
7
- * Rename file to include hash (e.g. style.css -> style.a1b2c3.css)
8
- */
9
- static hashFile(filePath: string): string;
10
- }
@@ -1,11 +0,0 @@
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
- }
@@ -1,20 +0,0 @@
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
- }
@@ -1,17 +0,0 @@
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
- }
@@ -1,10 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
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
- }
@@ -1,27 +0,0 @@
1
- /*
2
- * This file is part of Jen.js.
3
- * Copyright (C) 2026 oopsio
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
- */
18
- export class HttpError extends Error {
19
- statusCode;
20
- details;
21
- constructor(statusCode, message, details) {
22
- super(message);
23
- this.statusCode = statusCode;
24
- this.details = details;
25
- Object.setPrototypeOf(this, HttpError.prototype);
26
- }
27
- }
@@ -1,18 +0,0 @@
1
- /*
2
- * This file is part of Jen.js.
3
- * Copyright (C) 2026 oopsio
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
- */
18
- export {};
@@ -1,30 +0,0 @@
1
- /*
2
- * This file is part of Jen.js.
3
- * Copyright (C) 2026 oopsio
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
- */
18
- export function matchPath(pattern, path) {
19
- if (pattern === "*") return true;
20
- if (pattern === path) return true;
21
- // Basic glob: * matches anything
22
- const regexString =
23
- "^" +
24
- pattern
25
- .replace(/[.+?^${}()|[\\]/g, "\\$&") // escape regex characters
26
- .replace(/\*/g, ".*") +
27
- "$"; // convert * to .*
28
- const regex = new RegExp(regexString);
29
- return regex.test(path);
30
- }
@@ -1,36 +0,0 @@
1
- /*
2
- * This file is part of Jen.js.
3
- * Copyright (C) 2026 oopsio
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
- */
18
- export async function compileScss(opts) {
19
- // Placeholder: returns CSS placeholder
20
- console.log(`[STYLE COMPILER] Compiling SCSS: ${opts.input}`);
21
- const css = `
22
- /* SCSS compiled from: ${opts.input} */
23
- /* Note: Full SCSS compilation requires dart-sass or native Rust implementation */
24
- body { margin: 0; padding: 0; }
25
- `;
26
- return css;
27
- }
28
- export async function compileCSS(input, minify = false) {
29
- console.log(`[STYLE COMPILER] Processing CSS: ${input}`);
30
- // Placeholder: returns input CSS
31
- return input;
32
- }
33
- export async function watchStyles(input, output, onChange) {
34
- // Placeholder watcher
35
- console.log(`[STYLE COMPILER] Watching: ${input}`);
36
- }
File without changes
File without changes
File without changes
File without changes