@buenojs/bueno 0.8.6 → 0.8.8

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 (398) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/README.md +132 -15
  3. package/dist/cache/index.d.ts +187 -0
  4. package/dist/cache/index.d.ts.map +1 -0
  5. package/dist/cli/bin.d.ts +8 -0
  6. package/dist/cli/bin.d.ts.map +1 -0
  7. package/dist/cli/bin.js +483 -155
  8. package/dist/cli/commands/add-frontend.d.ts +7 -0
  9. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  10. package/dist/cli/commands/build.d.ts +7 -0
  11. package/dist/cli/commands/build.d.ts.map +1 -0
  12. package/dist/cli/commands/dev.d.ts +7 -0
  13. package/dist/cli/commands/dev.d.ts.map +1 -0
  14. package/dist/cli/commands/generate.d.ts +7 -0
  15. package/dist/cli/commands/generate.d.ts.map +1 -0
  16. package/dist/cli/commands/help.d.ts +7 -0
  17. package/dist/cli/commands/help.d.ts.map +1 -0
  18. package/dist/cli/commands/index.d.ts +59 -0
  19. package/dist/cli/commands/index.d.ts.map +1 -0
  20. package/dist/cli/commands/migration.d.ts +7 -0
  21. package/dist/cli/commands/migration.d.ts.map +1 -0
  22. package/dist/cli/commands/new.d.ts +7 -0
  23. package/dist/cli/commands/new.d.ts.map +1 -0
  24. package/dist/cli/commands/start.d.ts +7 -0
  25. package/dist/cli/commands/start.d.ts.map +1 -0
  26. package/dist/cli/core/args.d.ts +61 -0
  27. package/dist/cli/core/args.d.ts.map +1 -0
  28. package/dist/cli/core/console.d.ts +135 -0
  29. package/dist/cli/core/console.d.ts.map +1 -0
  30. package/dist/cli/core/index.d.ts +10 -0
  31. package/dist/cli/core/index.d.ts.map +1 -0
  32. package/dist/cli/core/prompt.d.ts +63 -0
  33. package/dist/cli/core/prompt.d.ts.map +1 -0
  34. package/dist/cli/core/spinner.d.ts +111 -0
  35. package/dist/cli/core/spinner.d.ts.map +1 -0
  36. package/dist/cli/index.d.ts +47 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/templates/database/index.d.ts +24 -0
  39. package/dist/cli/templates/database/index.d.ts.map +1 -0
  40. package/dist/cli/templates/database/mysql.d.ts +6 -0
  41. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  42. package/dist/cli/templates/database/none.d.ts +8 -0
  43. package/dist/cli/templates/database/none.d.ts.map +1 -0
  44. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  45. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  46. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  47. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  48. package/dist/cli/templates/deploy.d.ts +41 -0
  49. package/dist/cli/templates/deploy.d.ts.map +1 -0
  50. package/dist/cli/templates/docker.d.ts +30 -0
  51. package/dist/cli/templates/docker.d.ts.map +1 -0
  52. package/dist/cli/templates/frontend/index.d.ts +25 -0
  53. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  54. package/dist/cli/templates/frontend/none.d.ts +8 -0
  55. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  56. package/dist/cli/templates/frontend/react.d.ts +6 -0
  57. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  58. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  59. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  60. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  61. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  62. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  63. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  64. package/dist/cli/templates/generators/index.d.ts +29 -0
  65. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  66. package/dist/cli/templates/generators/types.d.ts +32 -0
  67. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  68. package/dist/cli/templates/index.d.ts +12 -0
  69. package/dist/cli/templates/index.d.ts.map +1 -0
  70. package/dist/cli/templates/project/api.d.ts +6 -0
  71. package/dist/cli/templates/project/api.d.ts.map +1 -0
  72. package/dist/cli/templates/project/default.d.ts +6 -0
  73. package/dist/cli/templates/project/default.d.ts.map +1 -0
  74. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  75. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  76. package/dist/cli/templates/project/index.d.ts +26 -0
  77. package/dist/cli/templates/project/index.d.ts.map +1 -0
  78. package/dist/cli/templates/project/minimal.d.ts +6 -0
  79. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  80. package/dist/cli/templates/project/types.d.ts +80 -0
  81. package/dist/cli/templates/project/types.d.ts.map +1 -0
  82. package/dist/cli/templates/project/website.d.ts +8 -0
  83. package/dist/cli/templates/project/website.d.ts.map +1 -0
  84. package/dist/cli/utils/fs.d.ts +137 -0
  85. package/dist/cli/utils/fs.d.ts.map +1 -0
  86. package/dist/cli/utils/index.d.ts +9 -0
  87. package/dist/cli/utils/index.d.ts.map +1 -0
  88. package/dist/cli/utils/strings.d.ts +86 -0
  89. package/dist/cli/utils/strings.d.ts.map +1 -0
  90. package/dist/cli/utils/version.d.ts +15 -0
  91. package/dist/cli/utils/version.d.ts.map +1 -0
  92. package/dist/config/env-validation.d.ts +49 -0
  93. package/dist/config/env-validation.d.ts.map +1 -0
  94. package/dist/config/env.d.ts +167 -0
  95. package/dist/config/env.d.ts.map +1 -0
  96. package/dist/config/index.d.ts +168 -0
  97. package/dist/config/index.d.ts.map +1 -0
  98. package/dist/config/loader.d.ts +81 -0
  99. package/dist/config/loader.d.ts.map +1 -0
  100. package/dist/config/merge.d.ts +66 -0
  101. package/dist/config/merge.d.ts.map +1 -0
  102. package/dist/config/types.d.ts +322 -0
  103. package/dist/config/types.d.ts.map +1 -0
  104. package/dist/config/validation.d.ts +100 -0
  105. package/dist/config/validation.d.ts.map +1 -0
  106. package/dist/container/forward-ref.d.ts +116 -0
  107. package/dist/container/forward-ref.d.ts.map +1 -0
  108. package/dist/container/index.d.ts +95 -0
  109. package/dist/container/index.d.ts.map +1 -0
  110. package/dist/context/index.d.ts +143 -0
  111. package/dist/context/index.d.ts.map +1 -0
  112. package/dist/database/index.d.ts +219 -0
  113. package/dist/database/index.d.ts.map +1 -0
  114. package/dist/database/migrations/index.d.ts +146 -0
  115. package/dist/database/migrations/index.d.ts.map +1 -0
  116. package/dist/database/orm/builder.d.ts +122 -0
  117. package/dist/database/orm/builder.d.ts.map +1 -0
  118. package/dist/database/orm/casts/index.d.ts +16 -0
  119. package/dist/database/orm/casts/index.d.ts.map +1 -0
  120. package/dist/database/orm/casts/types.d.ts +16 -0
  121. package/dist/database/orm/casts/types.d.ts.map +1 -0
  122. package/dist/database/orm/compiler.d.ts +90 -0
  123. package/dist/database/orm/compiler.d.ts.map +1 -0
  124. package/dist/database/orm/hooks/index.d.ts +53 -0
  125. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  126. package/dist/database/orm/index.d.ts +21 -0
  127. package/dist/database/orm/index.d.ts.map +1 -0
  128. package/dist/database/orm/model-registry.d.ts +33 -0
  129. package/dist/database/orm/model-registry.d.ts.map +1 -0
  130. package/dist/database/orm/model.d.ts +245 -0
  131. package/dist/database/orm/model.d.ts.map +1 -0
  132. package/dist/database/orm/relationships/base.d.ts +69 -0
  133. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  134. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  135. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  136. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  137. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  138. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  139. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  140. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  141. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  142. package/dist/database/orm/relationships/index.d.ts +10 -0
  143. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  144. package/dist/database/orm/scopes/index.d.ts +36 -0
  145. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  146. package/dist/database/schema/index.d.ts +155 -0
  147. package/dist/database/schema/index.d.ts.map +1 -0
  148. package/dist/events/__tests__/event-system.test.d.ts +2 -0
  149. package/dist/events/__tests__/event-system.test.d.ts.map +1 -0
  150. package/dist/events/config.d.ts +16 -0
  151. package/dist/events/config.d.ts.map +1 -0
  152. package/dist/events/example-usage.d.ts +12 -0
  153. package/dist/events/example-usage.d.ts.map +1 -0
  154. package/dist/events/index.d.ts +27 -0
  155. package/dist/events/index.d.ts.map +1 -0
  156. package/dist/events/manager.d.ts +33 -0
  157. package/dist/events/manager.d.ts.map +1 -0
  158. package/dist/events/registry.d.ts +31 -0
  159. package/dist/events/registry.d.ts.map +1 -0
  160. package/dist/events/types.d.ts +105 -0
  161. package/dist/events/types.d.ts.map +1 -0
  162. package/dist/frontend/api-routes.d.ts +189 -0
  163. package/dist/frontend/api-routes.d.ts.map +1 -0
  164. package/dist/frontend/bundler.d.ts +99 -0
  165. package/dist/frontend/bundler.d.ts.map +1 -0
  166. package/dist/frontend/console-client.d.ts +11 -0
  167. package/dist/frontend/console-client.d.ts.map +1 -0
  168. package/dist/frontend/console-stream.d.ts +138 -0
  169. package/dist/frontend/console-stream.d.ts.map +1 -0
  170. package/dist/frontend/dev-server.d.ts +174 -0
  171. package/dist/frontend/dev-server.d.ts.map +1 -0
  172. package/dist/frontend/file-router.d.ts +170 -0
  173. package/dist/frontend/file-router.d.ts.map +1 -0
  174. package/dist/frontend/frameworks/index.d.ts +41 -0
  175. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  176. package/dist/frontend/frameworks/react.d.ts +32 -0
  177. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  178. package/dist/frontend/frameworks/solid.d.ts +42 -0
  179. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  180. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  181. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  182. package/dist/frontend/frameworks/vue.d.ts +36 -0
  183. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  184. package/dist/frontend/hmr-client.d.ts +22 -0
  185. package/dist/frontend/hmr-client.d.ts.map +1 -0
  186. package/dist/frontend/hmr.d.ts +185 -0
  187. package/dist/frontend/hmr.d.ts.map +1 -0
  188. package/dist/frontend/index.d.ts +34 -0
  189. package/dist/frontend/index.d.ts.map +1 -0
  190. package/dist/frontend/islands.d.ts +135 -0
  191. package/dist/frontend/islands.d.ts.map +1 -0
  192. package/dist/frontend/isr.d.ts +143 -0
  193. package/dist/frontend/isr.d.ts.map +1 -0
  194. package/dist/frontend/layout.d.ts +140 -0
  195. package/dist/frontend/layout.d.ts.map +1 -0
  196. package/dist/frontend/ssr/react.d.ts +118 -0
  197. package/dist/frontend/ssr/react.d.ts.map +1 -0
  198. package/dist/frontend/ssr/solid.d.ts +141 -0
  199. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  200. package/dist/frontend/ssr/svelte.d.ts +158 -0
  201. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  202. package/dist/frontend/ssr/vue.d.ts +161 -0
  203. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  204. package/dist/frontend/ssr.d.ts +147 -0
  205. package/dist/frontend/ssr.d.ts.map +1 -0
  206. package/dist/frontend/types.d.ts +1902 -0
  207. package/dist/frontend/types.d.ts.map +1 -0
  208. package/dist/graphql/built-in-engine.d.ts +36 -0
  209. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  210. package/dist/graphql/context-builder.d.ts +44 -0
  211. package/dist/graphql/context-builder.d.ts.map +1 -0
  212. package/dist/graphql/decorators.d.ts +162 -0
  213. package/dist/graphql/decorators.d.ts.map +1 -0
  214. package/dist/graphql/execution-pipeline.d.ts +67 -0
  215. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  216. package/dist/graphql/graphql-module.d.ts +70 -0
  217. package/dist/graphql/graphql-module.d.ts.map +1 -0
  218. package/dist/graphql/index.d.ts +48 -0
  219. package/dist/graphql/index.d.ts.map +1 -0
  220. package/dist/graphql/metadata.d.ts +37 -0
  221. package/dist/graphql/metadata.d.ts.map +1 -0
  222. package/dist/graphql/schema-builder.d.ts +34 -0
  223. package/dist/graphql/schema-builder.d.ts.map +1 -0
  224. package/dist/graphql/subscription-handler.d.ts +47 -0
  225. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  226. package/dist/graphql/types.d.ts +252 -0
  227. package/dist/graphql/types.d.ts.map +1 -0
  228. package/dist/health/index.d.ts +176 -0
  229. package/dist/health/index.d.ts.map +1 -0
  230. package/dist/i18n/engine.d.ts +105 -0
  231. package/dist/i18n/engine.d.ts.map +1 -0
  232. package/dist/i18n/index.d.ts +13 -0
  233. package/dist/i18n/index.d.ts.map +1 -0
  234. package/dist/i18n/loader.d.ts +79 -0
  235. package/dist/i18n/loader.d.ts.map +1 -0
  236. package/dist/i18n/middleware.d.ts +96 -0
  237. package/dist/i18n/middleware.d.ts.map +1 -0
  238. package/dist/i18n/negotiator.d.ts +84 -0
  239. package/dist/i18n/negotiator.d.ts.map +1 -0
  240. package/dist/i18n/types.d.ts +129 -0
  241. package/dist/i18n/types.d.ts.map +1 -0
  242. package/dist/index.d.ts +48 -0
  243. package/dist/index.d.ts.map +1 -0
  244. package/dist/jobs/drivers/memory.d.ts +38 -0
  245. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  246. package/dist/jobs/drivers/redis.d.ts +34 -0
  247. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  248. package/dist/jobs/index.d.ts +12 -0
  249. package/dist/jobs/index.d.ts.map +1 -0
  250. package/dist/jobs/queue.d.ts +93 -0
  251. package/dist/jobs/queue.d.ts.map +1 -0
  252. package/dist/jobs/types.d.ts +193 -0
  253. package/dist/jobs/types.d.ts.map +1 -0
  254. package/dist/jobs/worker.d.ts +91 -0
  255. package/dist/jobs/worker.d.ts.map +1 -0
  256. package/dist/lock/index.d.ts +141 -0
  257. package/dist/lock/index.d.ts.map +1 -0
  258. package/dist/logger/index.d.ts +156 -0
  259. package/dist/logger/index.d.ts.map +1 -0
  260. package/dist/logger/transports/index.d.ts +371 -0
  261. package/dist/logger/transports/index.d.ts.map +1 -0
  262. package/dist/metrics/index.d.ts +163 -0
  263. package/dist/metrics/index.d.ts.map +1 -0
  264. package/dist/middleware/built-in.d.ts +50 -0
  265. package/dist/middleware/built-in.d.ts.map +1 -0
  266. package/dist/middleware/index.d.ts +40 -0
  267. package/dist/middleware/index.d.ts.map +1 -0
  268. package/dist/migrations/index.d.ts +10 -0
  269. package/dist/migrations/index.d.ts.map +1 -0
  270. package/dist/modules/filters.d.ts +150 -0
  271. package/dist/modules/filters.d.ts.map +1 -0
  272. package/dist/modules/guards.d.ts +188 -0
  273. package/dist/modules/guards.d.ts.map +1 -0
  274. package/dist/modules/index.d.ts +266 -0
  275. package/dist/modules/index.d.ts.map +1 -0
  276. package/dist/modules/interceptors.d.ts +242 -0
  277. package/dist/modules/interceptors.d.ts.map +1 -0
  278. package/dist/modules/lazy.d.ts +187 -0
  279. package/dist/modules/lazy.d.ts.map +1 -0
  280. package/dist/modules/lifecycle.d.ts +221 -0
  281. package/dist/modules/lifecycle.d.ts.map +1 -0
  282. package/dist/modules/metadata.d.ts +32 -0
  283. package/dist/modules/metadata.d.ts.map +1 -0
  284. package/dist/modules/pipes.d.ts +287 -0
  285. package/dist/modules/pipes.d.ts.map +1 -0
  286. package/dist/notification/channels/base.d.ts +32 -0
  287. package/dist/notification/channels/base.d.ts.map +1 -0
  288. package/dist/notification/channels/email.d.ts +37 -0
  289. package/dist/notification/channels/email.d.ts.map +1 -0
  290. package/dist/notification/channels/push.d.ts +37 -0
  291. package/dist/notification/channels/push.d.ts.map +1 -0
  292. package/dist/notification/channels/sms.d.ts +37 -0
  293. package/dist/notification/channels/sms.d.ts.map +1 -0
  294. package/dist/notification/channels/whatsapp.d.ts +37 -0
  295. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  296. package/dist/notification/index.d.ts +15 -0
  297. package/dist/notification/index.d.ts.map +1 -0
  298. package/dist/notification/service.d.ts +100 -0
  299. package/dist/notification/service.d.ts.map +1 -0
  300. package/dist/notification/types.d.ts +253 -0
  301. package/dist/notification/types.d.ts.map +1 -0
  302. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  303. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  304. package/dist/observability/breadcrumbs.d.ts +48 -0
  305. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  306. package/dist/observability/index.d.ts +95 -0
  307. package/dist/observability/index.d.ts.map +1 -0
  308. package/dist/observability/interceptor.d.ts +19 -0
  309. package/dist/observability/interceptor.d.ts.map +1 -0
  310. package/dist/observability/service.d.ts +101 -0
  311. package/dist/observability/service.d.ts.map +1 -0
  312. package/dist/observability/trace.d.ts +21 -0
  313. package/dist/observability/trace.d.ts.map +1 -0
  314. package/dist/observability/types.d.ts +172 -0
  315. package/dist/observability/types.d.ts.map +1 -0
  316. package/dist/openapi/__tests__/decorators.test.d.ts +2 -0
  317. package/dist/openapi/__tests__/decorators.test.d.ts.map +1 -0
  318. package/dist/openapi/__tests__/document-builder.test.d.ts +2 -0
  319. package/dist/openapi/__tests__/document-builder.test.d.ts.map +1 -0
  320. package/dist/openapi/__tests__/route-scanner.test.d.ts +2 -0
  321. package/dist/openapi/__tests__/route-scanner.test.d.ts.map +1 -0
  322. package/dist/openapi/__tests__/schema-generator.test.d.ts +2 -0
  323. package/dist/openapi/__tests__/schema-generator.test.d.ts.map +1 -0
  324. package/dist/openapi/decorators.d.ts +173 -0
  325. package/dist/openapi/decorators.d.ts.map +1 -0
  326. package/dist/openapi/document-builder.d.ts +82 -0
  327. package/dist/openapi/document-builder.d.ts.map +1 -0
  328. package/dist/openapi/index.d.ts +48 -0
  329. package/dist/openapi/index.d.ts.map +1 -0
  330. package/dist/openapi/metadata.d.ts +36 -0
  331. package/dist/openapi/metadata.d.ts.map +1 -0
  332. package/dist/openapi/route-scanner.d.ts +34 -0
  333. package/dist/openapi/route-scanner.d.ts.map +1 -0
  334. package/dist/openapi/schema-generator.d.ts +53 -0
  335. package/dist/openapi/schema-generator.d.ts.map +1 -0
  336. package/dist/openapi/swagger-module.d.ts +57 -0
  337. package/dist/openapi/swagger-module.d.ts.map +1 -0
  338. package/dist/openapi/types.d.ts +344 -0
  339. package/dist/openapi/types.d.ts.map +1 -0
  340. package/dist/orm/index.d.ts +10 -0
  341. package/dist/orm/index.d.ts.map +1 -0
  342. package/dist/router/index.d.ts +73 -0
  343. package/dist/router/index.d.ts.map +1 -0
  344. package/dist/router/linear.d.ts +54 -0
  345. package/dist/router/linear.d.ts.map +1 -0
  346. package/dist/router/regex.d.ts +49 -0
  347. package/dist/router/regex.d.ts.map +1 -0
  348. package/dist/router/tree.d.ts +112 -0
  349. package/dist/router/tree.d.ts.map +1 -0
  350. package/dist/rpc/index.d.ts +321 -0
  351. package/dist/rpc/index.d.ts.map +1 -0
  352. package/dist/schema/index.d.ts +10 -0
  353. package/dist/schema/index.d.ts.map +1 -0
  354. package/dist/security/index.d.ts +126 -0
  355. package/dist/security/index.d.ts.map +1 -0
  356. package/dist/ssg/index.d.ts +73 -0
  357. package/dist/ssg/index.d.ts.map +1 -0
  358. package/dist/storage/index.d.ts +99 -0
  359. package/dist/storage/index.d.ts.map +1 -0
  360. package/dist/telemetry/index.d.ts +376 -0
  361. package/dist/telemetry/index.d.ts.map +1 -0
  362. package/dist/template/index.d.ts +7 -0
  363. package/dist/template/index.d.ts.map +1 -0
  364. package/dist/templates/engine.d.ts +60 -0
  365. package/dist/templates/engine.d.ts.map +1 -0
  366. package/dist/templates/index.d.ts +9 -0
  367. package/dist/templates/index.d.ts.map +1 -0
  368. package/dist/templates/loader.d.ts +45 -0
  369. package/dist/templates/loader.d.ts.map +1 -0
  370. package/dist/templates/renderers/markdown.d.ts +46 -0
  371. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  372. package/dist/templates/renderers/simple.d.ts +35 -0
  373. package/dist/templates/renderers/simple.d.ts.map +1 -0
  374. package/dist/templates/types.d.ts +138 -0
  375. package/dist/templates/types.d.ts.map +1 -0
  376. package/dist/testing/index.d.ts +539 -0
  377. package/dist/testing/index.d.ts.map +1 -0
  378. package/dist/types/index.d.ts +116 -0
  379. package/dist/types/index.d.ts.map +1 -0
  380. package/dist/validation/index.d.ts +89 -0
  381. package/dist/validation/index.d.ts.map +1 -0
  382. package/dist/validation/schemas.d.ts +243 -0
  383. package/dist/validation/schemas.d.ts.map +1 -0
  384. package/dist/websocket/index.d.ts +252 -0
  385. package/dist/websocket/index.d.ts.map +1 -0
  386. package/package.json +3 -3
  387. package/src/cli/commands/add-frontend.ts +444 -0
  388. package/src/cli/commands/new.ts +23 -0
  389. package/src/cli/index.ts +1 -0
  390. package/src/cli/templates/frontend/react.ts +2 -1
  391. package/src/cli/templates/frontend/solid.ts +2 -1
  392. package/src/cli/templates/frontend/svelte.ts +2 -1
  393. package/src/cli/templates/frontend/vue.ts +2 -1
  394. package/src/cli/templates/project/api.ts +1 -1
  395. package/src/cli/templates/project/default.ts +1 -1
  396. package/src/cli/templates/project/fullstack.ts +14 -104
  397. package/src/cli/templates/project/website.ts +62 -11
  398. package/tsconfig.declaration.json +14 -0
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Solid SSR Renderer
3
+ *
4
+ * Provides server-side rendering for Solid components using:
5
+ * - renderToString / renderToStringAsync from solid-js/web
6
+ * - Solid Meta for head management
7
+ * - Async rendering support
8
+ */
9
+ import type { FrameworkSSRRenderer, SSRContext, SSRElement, SSRPage } from "../types.js";
10
+ /**
11
+ * Reset head elements for a new render
12
+ */
13
+ export declare function resetHead(): void;
14
+ /**
15
+ * Get collected head elements
16
+ */
17
+ export declare function getHeadElements(): SSRElement[];
18
+ /**
19
+ * Add a head element
20
+ */
21
+ export declare function addHeadElement(element: SSRElement): void;
22
+ /**
23
+ * Solid SSR Renderer implementation
24
+ */
25
+ export declare class SolidSSRRenderer implements FrameworkSSRRenderer {
26
+ private solidJs;
27
+ private solidWeb;
28
+ private initialized;
29
+ /**
30
+ * Initialize Solid modules
31
+ */
32
+ init(): Promise<void>;
33
+ /**
34
+ * Render a component to HTML string
35
+ */
36
+ renderToString(component: unknown, context: SSRContext): Promise<string>;
37
+ /**
38
+ * Render a component to a stream
39
+ */
40
+ renderToStream(component: unknown, context: SSRContext): ReadableStream<Uint8Array>;
41
+ /**
42
+ * Get head elements from component
43
+ */
44
+ getHeadElements(context: SSRContext): SSRElement[];
45
+ /**
46
+ * Create the framework-specific component
47
+ */
48
+ createComponent(page: SSRPage, context: SSRContext): unknown;
49
+ /**
50
+ * Wrap component with context provider
51
+ */
52
+ private wrapWithContext;
53
+ /**
54
+ * Render with async support
55
+ */
56
+ renderAsync(component: unknown, context: SSRContext): Promise<string>;
57
+ /**
58
+ * Render with suspense support
59
+ */
60
+ renderWithSuspense(component: unknown, context: SSRContext, fallback?: string): Promise<string>;
61
+ }
62
+ /**
63
+ * Create a Solid SSR renderer
64
+ */
65
+ export declare function createSolidSSRRenderer(): SolidSSRRenderer;
66
+ /**
67
+ * Solid Meta-like head management
68
+ */
69
+ export declare class SolidMeta {
70
+ private static instance;
71
+ private title;
72
+ private metaTags;
73
+ private linkTags;
74
+ private scriptTags;
75
+ private styleTags;
76
+ static getInstance(): SolidMeta;
77
+ setTitle(title: string): this;
78
+ addMeta(attrs: Record<string, string>): this;
79
+ addLink(attrs: Record<string, string>): this;
80
+ addScript(attrs: Record<string, string>, innerHTML?: string): this;
81
+ addStyle(innerHTML: string, attrs?: Record<string, string>): this;
82
+ reset(): void;
83
+ getTitle(): string;
84
+ getMetaTags(): SSRElement[];
85
+ getLinkTags(): SSRElement[];
86
+ getScriptTags(): SSRElement[];
87
+ getStyleTags(): SSRElement[];
88
+ }
89
+ /**
90
+ * Get Solid Meta instance
91
+ */
92
+ export declare function solidMeta(): SolidMeta;
93
+ /**
94
+ * Convert SSRElement to HTML string
95
+ */
96
+ export declare function ssrElementToString(element: SSRElement): string;
97
+ /**
98
+ * Create Solid SSR context
99
+ */
100
+ export declare function createSolidSSRContext(request: Request, initialState?: Record<string, unknown>): SSRContext;
101
+ /**
102
+ * Solid Start-like route data helper
103
+ */
104
+ export declare function createRouteData<T>(fetcher: () => Promise<T>, options?: {
105
+ key?: () => unknown[];
106
+ deferStream?: boolean;
107
+ }): {
108
+ data: T | undefined;
109
+ loading: boolean;
110
+ error: Error | null;
111
+ };
112
+ /**
113
+ * Solid resource wrapper for SSR
114
+ */
115
+ export declare class SolidResource<T> {
116
+ private data;
117
+ private error;
118
+ private loading;
119
+ private promise;
120
+ constructor(fetcher: () => Promise<T>);
121
+ load(): Promise<T>;
122
+ get(): T | undefined;
123
+ getState(): {
124
+ data: T | undefined;
125
+ loading: boolean;
126
+ error: Error | null;
127
+ };
128
+ }
129
+ /**
130
+ * Create a Solid resource
131
+ */
132
+ export declare function createSolidResource<T>(fetcher: () => Promise<T>): SolidResource<T>;
133
+ /**
134
+ * No hydration marker for solid
135
+ */
136
+ export declare const NO_HYDRATE = "data-no-hydrate";
137
+ /**
138
+ * Mark element as no-hydrate
139
+ */
140
+ export declare function noHydrate(element: SSRElement): SSRElement;
141
+ //# sourceMappingURL=solid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../../src/frontend/ssr/solid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Svelte SSR Renderer
3
+ *
4
+ * Provides server-side rendering for Svelte components using:
5
+ * - render() from svelte/server
6
+ * - Svelte Head component support
7
+ * - SvelteKit-like SSR patterns
8
+ */
9
+ import type { FrameworkSSRRenderer, SSRContext, SSRElement, SSRPage } from "../types.js";
10
+ interface SvelteComponent {
11
+ render(props?: Record<string, unknown>): SvelteRenderResult;
12
+ $$render(result: string, props: Record<string, unknown>, bindings: unknown, context: unknown): string;
13
+ }
14
+ interface SvelteRenderResult {
15
+ html: string;
16
+ head: string;
17
+ css: {
18
+ code: string;
19
+ map: unknown;
20
+ };
21
+ }
22
+ interface SvelteComponentConstructor {
23
+ new (options: {
24
+ target: object | null;
25
+ props?: Record<string, unknown>;
26
+ hydrate?: boolean;
27
+ intro?: boolean;
28
+ $inline?: boolean;
29
+ }): SvelteComponent;
30
+ render(props?: Record<string, unknown>): SvelteRenderResult;
31
+ }
32
+ /**
33
+ * Reset head elements for a new render
34
+ */
35
+ export declare function resetHead(): void;
36
+ /**
37
+ * Get collected head elements
38
+ */
39
+ export declare function getHeadElements(): SSRElement[];
40
+ /**
41
+ * Get head string from Svelte render
42
+ */
43
+ export declare function getHeadString(): string;
44
+ /**
45
+ * Set head string from Svelte render
46
+ */
47
+ export declare function setHeadString(head: string): void;
48
+ /**
49
+ * Add a head element
50
+ */
51
+ export declare function addHeadElement(element: SSRElement): void;
52
+ /**
53
+ * Svelte SSR Renderer implementation
54
+ */
55
+ export declare class SvelteSSRRenderer implements FrameworkSSRRenderer {
56
+ private svelteServer;
57
+ private initialized;
58
+ /**
59
+ * Initialize Svelte server module
60
+ */
61
+ init(): Promise<void>;
62
+ /**
63
+ * Render a component to HTML string
64
+ */
65
+ renderToString(component: unknown, context: SSRContext): Promise<string>;
66
+ /**
67
+ * Render a component to a stream
68
+ */
69
+ renderToStream(component: unknown, context: SSRContext): ReadableStream<Uint8Array>;
70
+ /**
71
+ * Get head elements from component
72
+ */
73
+ getHeadElements(context: SSRContext): SSRElement[];
74
+ /**
75
+ * Create the framework-specific component
76
+ */
77
+ createComponent(page: SSRPage, context: SSRContext): unknown;
78
+ /**
79
+ * Check if object is a Svelte component
80
+ */
81
+ private isSvelteComponent;
82
+ /**
83
+ * Parse head HTML string into SSRElement array
84
+ */
85
+ private parseHeadElements;
86
+ /**
87
+ * Parse HTML attributes string into object
88
+ */
89
+ private parseAttributes;
90
+ /**
91
+ * Render with CSS extraction
92
+ */
93
+ renderWithCSS(component: unknown, context: SSRContext): Promise<{
94
+ html: string;
95
+ head: string;
96
+ css: string;
97
+ }>;
98
+ }
99
+ /**
100
+ * Create a Svelte SSR renderer
101
+ */
102
+ export declare function createSvelteSSRRenderer(): SvelteSSRRenderer;
103
+ /**
104
+ * Svelte Head component helper
105
+ */
106
+ export declare class SvelteHead {
107
+ private static instance;
108
+ private title;
109
+ private metaTags;
110
+ private linkTags;
111
+ private scriptTags;
112
+ private styleTags;
113
+ static getInstance(): SvelteHead;
114
+ setTitle(title: string): this;
115
+ addMeta(attrs: Record<string, string>): this;
116
+ addLink(attrs: Record<string, string>): this;
117
+ addScript(attrs: Record<string, string>, innerHTML?: string): this;
118
+ addStyle(innerHTML: string, attrs?: Record<string, string>): this;
119
+ reset(): void;
120
+ getTitle(): string;
121
+ getMetaTags(): SSRElement[];
122
+ getLinkTags(): SSRElement[];
123
+ getScriptTags(): SSRElement[];
124
+ getStyleTags(): SSRElement[];
125
+ }
126
+ /**
127
+ * Get Svelte Head instance
128
+ */
129
+ export declare function svelteHead(): SvelteHead;
130
+ /**
131
+ * Convert SSRElement to HTML string
132
+ */
133
+ export declare function ssrElementToString(element: SSRElement): string;
134
+ /**
135
+ * Load a Svelte component from file path
136
+ */
137
+ export declare function loadSvelteComponent(filePath: string): Promise<SvelteComponentConstructor>;
138
+ /**
139
+ * Create Svelte SSR context
140
+ */
141
+ export declare function createSvelteSSRContext(request: Request, initialState?: Record<string, unknown>): SSRContext;
142
+ /**
143
+ * SvelteKit-like page store for SSR
144
+ */
145
+ export declare class SveltePageStore {
146
+ private static instance;
147
+ private state;
148
+ static getInstance(): SveltePageStore;
149
+ set(context: SSRContext): void;
150
+ get(): typeof this.state;
151
+ reset(): void;
152
+ }
153
+ /**
154
+ * Get Svelte page store
155
+ */
156
+ export declare function getPageStore(): SveltePageStore;
157
+ export {};
158
+ //# sourceMappingURL=svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/frontend/ssr/svelte.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Vue SSR Renderer
3
+ *
4
+ * Provides server-side rendering for Vue components using:
5
+ * - renderToString / renderToStream from vue/server-renderer
6
+ * - Vue Router integration
7
+ * - Vue Meta for head management
8
+ */
9
+ import type { FrameworkSSRRenderer, SSRContext, SSRElement, SSRPage } from "../types.js";
10
+ interface VueApp {
11
+ component(name: string, component: unknown): VueApp;
12
+ use(plugin: unknown, ...options: unknown[]): VueApp;
13
+ provide(key: string | symbol, value: unknown): VueApp;
14
+ config: {
15
+ globalProperties: Record<string, unknown>;
16
+ errorHandler: ((err: unknown, instance: unknown, info: string) => void) | null;
17
+ };
18
+ mount(selector: string): unknown;
19
+ unmount(): void;
20
+ ssrContext: SSRContext | null;
21
+ }
22
+ interface VueRouter {
23
+ push(location: string): Promise<unknown>;
24
+ replace(location: string): Promise<unknown>;
25
+ currentRoute: {
26
+ value: {
27
+ path: string;
28
+ params: Record<string, string>;
29
+ query: Record<string, string>;
30
+ meta: Record<string, unknown>;
31
+ };
32
+ };
33
+ isReady(): Promise<void>;
34
+ }
35
+ interface CreateSSRAppOptions {
36
+ /**
37
+ * Component to render
38
+ */
39
+ component: unknown;
40
+ /**
41
+ * Props to pass to component
42
+ */
43
+ props?: Record<string, unknown>;
44
+ /**
45
+ * Initial state for hydration
46
+ */
47
+ state?: Record<string, unknown>;
48
+ }
49
+ /**
50
+ * Reset head elements for a new render
51
+ */
52
+ export declare function resetHead(): void;
53
+ /**
54
+ * Get collected head elements
55
+ */
56
+ export declare function getHeadElements(): SSRElement[];
57
+ /**
58
+ * Add a head element
59
+ */
60
+ export declare function addHeadElement(element: SSRElement): void;
61
+ /**
62
+ * Vue SSR Renderer implementation
63
+ */
64
+ export declare class VueSSRRenderer implements FrameworkSSRRenderer {
65
+ private vue;
66
+ private vueServerRenderer;
67
+ private initialized;
68
+ /**
69
+ * Initialize Vue modules
70
+ */
71
+ init(): Promise<void>;
72
+ /**
73
+ * Create a Vue SSR app instance
74
+ */
75
+ createSSRApp(options: CreateSSRAppOptions): Promise<VueApp>;
76
+ /**
77
+ * Render a component to HTML string
78
+ */
79
+ renderToString(component: unknown, context: SSRContext): Promise<string>;
80
+ /**
81
+ * Render a component to a stream
82
+ */
83
+ renderToStream(component: unknown, context: SSRContext): ReadableStream<Uint8Array>;
84
+ /**
85
+ * Get head elements from component
86
+ */
87
+ getHeadElements(context: SSRContext): SSRElement[];
88
+ /**
89
+ * Create the framework-specific component
90
+ */
91
+ createComponent(page: SSRPage, context: SSRContext): unknown;
92
+ /**
93
+ * Check if object is a Vue app instance
94
+ */
95
+ private isVueApp;
96
+ /**
97
+ * Create Vue Router for SSR
98
+ */
99
+ createRouter(routes: unknown[]): Promise<{
100
+ router: VueRouter;
101
+ app: VueApp;
102
+ }>;
103
+ /**
104
+ * Render with Vue Router
105
+ */
106
+ renderWithRouter(app: VueApp, router: VueRouter, url: string, context: SSRContext): Promise<string>;
107
+ }
108
+ /**
109
+ * Create a Vue SSR renderer
110
+ */
111
+ export declare function createVueSSRRenderer(): VueSSRRenderer;
112
+ /**
113
+ * Vue Meta-like head management
114
+ */
115
+ export declare class VueMeta {
116
+ private static instance;
117
+ private title;
118
+ private metaTags;
119
+ private linkTags;
120
+ private scriptTags;
121
+ private styleTags;
122
+ static getInstance(): VueMeta;
123
+ setTitle(title: string): this;
124
+ addMeta(attrs: Record<string, string>): this;
125
+ addLink(attrs: Record<string, string>): this;
126
+ addScript(attrs: Record<string, string>, innerHTML?: string): this;
127
+ addStyle(innerHTML: string, attrs?: Record<string, string>): this;
128
+ reset(): void;
129
+ getTitle(): string;
130
+ getMetaTags(): SSRElement[];
131
+ getLinkTags(): SSRElement[];
132
+ getScriptTags(): SSRElement[];
133
+ getStyleTags(): SSRElement[];
134
+ }
135
+ /**
136
+ * Get Vue Meta instance
137
+ */
138
+ export declare function vueMeta(): VueMeta;
139
+ /**
140
+ * Convert SSRElement to HTML string
141
+ */
142
+ export declare function ssrElementToString(element: SSRElement): string;
143
+ /**
144
+ * Vue useHead composable-like function
145
+ */
146
+ export declare function useHead(head: {
147
+ title?: string;
148
+ meta?: Record<string, string>[];
149
+ link?: Record<string, string>[];
150
+ script?: Record<string, string>[];
151
+ style?: {
152
+ innerHTML: string;
153
+ attrs?: Record<string, string>;
154
+ }[];
155
+ }): void;
156
+ /**
157
+ * Create Vue SSR context with initial state
158
+ */
159
+ export declare function createVueSSRContext(request: Request, initialState?: Record<string, unknown>): SSRContext;
160
+ export {};
161
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../../src/frontend/ssr/vue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Server-Side Rendering (SSR) Implementation
3
+ *
4
+ * Provides a unified SSR system that supports:
5
+ * - React, Vue, Svelte, and Solid frameworks
6
+ * - Streaming SSR for faster TTFB
7
+ * - Client-side hydration
8
+ * - Server-side data fetching
9
+ * - Head management (title, meta, links)
10
+ */
11
+ import type { FrontendFramework, PartialSSRConfig, PreloadLink, RenderResult, SSRConfig, SSRContext, SSRElement, SSRHydrationData, SSRRenderOptions } from "./types.js";
12
+ /**
13
+ * Main SSR Renderer class
14
+ *
15
+ * Provides server-side rendering for all supported frameworks
16
+ * with streaming support and client hydration.
17
+ */
18
+ export declare class SSRRenderer {
19
+ private config;
20
+ private logger;
21
+ private frameworkRenderer;
22
+ private pageCache;
23
+ constructor(config: PartialSSRConfig);
24
+ /**
25
+ * Normalize partial config to full config with defaults
26
+ */
27
+ private normalizeConfig;
28
+ /**
29
+ * Initialize the framework-specific renderer
30
+ */
31
+ init(): Promise<void>;
32
+ /**
33
+ * Create framework-specific renderer
34
+ */
35
+ private createFrameworkRenderer;
36
+ /**
37
+ * Render a page to HTML
38
+ */
39
+ render(url: string, request: Request): Promise<RenderResult>;
40
+ /**
41
+ * Render a page to a stream
42
+ */
43
+ renderToStream(url: string, request: Request): ReadableStream<Uint8Array>;
44
+ /**
45
+ * Render with options
46
+ */
47
+ renderWithOptions(options: SSRRenderOptions): Promise<RenderResult>;
48
+ /**
49
+ * Get client hydration script
50
+ */
51
+ getHydrationScript(): string;
52
+ /**
53
+ * Get preload links for modules
54
+ */
55
+ getPreloadLinks(modules: string[]): string;
56
+ /**
57
+ * Get CSS links for modules
58
+ */
59
+ getCSSLinks(modules: string[]): string;
60
+ /**
61
+ * Create SSR context
62
+ */
63
+ private createContext;
64
+ /**
65
+ * Load page module
66
+ */
67
+ private loadPage;
68
+ /**
69
+ * Render head elements to string
70
+ */
71
+ private renderHeadElements;
72
+ /**
73
+ * Convert SSR element to HTML string
74
+ */
75
+ private ssrElementToString;
76
+ /**
77
+ * Escape HTML special characters
78
+ */
79
+ private escapeHtml;
80
+ /**
81
+ * Render HTML preamble (opening tags)
82
+ */
83
+ private renderPreamble;
84
+ /**
85
+ * Render HTML footer (closing tags and scripts)
86
+ */
87
+ private renderFooter;
88
+ /**
89
+ * Render error page
90
+ */
91
+ private renderErrorPage;
92
+ /**
93
+ * Clear page cache
94
+ */
95
+ clearCache(): void;
96
+ /**
97
+ * Get configuration
98
+ */
99
+ getConfig(): SSRConfig;
100
+ /**
101
+ * Check if streaming is enabled
102
+ */
103
+ isStreamingEnabled(): boolean;
104
+ /**
105
+ * Get framework
106
+ */
107
+ getFramework(): FrontendFramework;
108
+ }
109
+ /**
110
+ * Create an SSR renderer
111
+ */
112
+ export declare function createSSRRenderer(config: PartialSSRConfig): SSRRenderer;
113
+ /**
114
+ * Create SSR context from request
115
+ */
116
+ export declare function createSSRContext(request: Request, params?: Record<string, string>): SSRContext;
117
+ /**
118
+ * Serialize data for hydration
119
+ */
120
+ export declare function serializeHydrationData(data: SSRHydrationData): string;
121
+ /**
122
+ * Deserialize hydration data
123
+ */
124
+ export declare function deserializeHydrationData(json: string): SSRHydrationData;
125
+ /**
126
+ * Generate HTML template
127
+ */
128
+ export declare function generateHTML(options: {
129
+ head: string;
130
+ body: string;
131
+ data: Record<string, unknown>;
132
+ scripts: string[];
133
+ styles: string[];
134
+ }): string;
135
+ /**
136
+ * Create preload link tag
137
+ */
138
+ export declare function createPreloadLink(link: PreloadLink): string;
139
+ /**
140
+ * Merge multiple head element arrays
141
+ */
142
+ export declare function mergeHeadElements(...arrays: SSRElement[][]): SSRElement[];
143
+ export { createReactSSRRenderer, type ReactSSRRenderer } from "./ssr/react.js";
144
+ export { createVueSSRRenderer, type VueSSRRenderer } from "./ssr/vue.js";
145
+ export { createSvelteSSRRenderer, type SvelteSSRRenderer, } from "./ssr/svelte.js";
146
+ export { createSolidSSRRenderer, type SolidSSRRenderer } from "./ssr/solid.js";
147
+ //# sourceMappingURL=ssr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/frontend/ssr.ts"],"names":[],"mappings":"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"}