@buenojs/bueno 0.8.8 → 0.8.10

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 (400) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +15 -12
  3. package/dist/modules/index.js +2 -2
  4. package/dist/template/index.js +13 -10
  5. package/dist/templates/index.js +13 -10
  6. package/llms.txt +1 -1
  7. package/package.json +2 -2
  8. package/src/cli/commands/new.ts +1 -1
  9. package/src/cli/templates/frontend/react.ts +1 -1
  10. package/src/cli/templates/frontend/solid.ts +1 -1
  11. package/src/cli/templates/frontend/svelte.ts +1 -1
  12. package/src/cli/templates/frontend/vue.ts +1 -1
  13. package/src/cli/templates/project/default.ts +1 -1
  14. package/src/cli/templates/project/website.ts +3 -3
  15. package/src/templates/loader.ts +1 -1
  16. package/src/templates/renderers/simple.ts +13 -10
  17. package/src/validation/index.ts +20 -21
  18. package/tsconfig.json +1 -1
  19. package/dist/cache/index.d.ts +0 -187
  20. package/dist/cache/index.d.ts.map +0 -1
  21. package/dist/cli/bin.d.ts +0 -8
  22. package/dist/cli/bin.d.ts.map +0 -1
  23. package/dist/cli/commands/add-frontend.d.ts +0 -7
  24. package/dist/cli/commands/add-frontend.d.ts.map +0 -1
  25. package/dist/cli/commands/build.d.ts +0 -7
  26. package/dist/cli/commands/build.d.ts.map +0 -1
  27. package/dist/cli/commands/dev.d.ts +0 -7
  28. package/dist/cli/commands/dev.d.ts.map +0 -1
  29. package/dist/cli/commands/generate.d.ts +0 -7
  30. package/dist/cli/commands/generate.d.ts.map +0 -1
  31. package/dist/cli/commands/help.d.ts +0 -7
  32. package/dist/cli/commands/help.d.ts.map +0 -1
  33. package/dist/cli/commands/index.d.ts +0 -59
  34. package/dist/cli/commands/index.d.ts.map +0 -1
  35. package/dist/cli/commands/migration.d.ts +0 -7
  36. package/dist/cli/commands/migration.d.ts.map +0 -1
  37. package/dist/cli/commands/new.d.ts +0 -7
  38. package/dist/cli/commands/new.d.ts.map +0 -1
  39. package/dist/cli/commands/start.d.ts +0 -7
  40. package/dist/cli/commands/start.d.ts.map +0 -1
  41. package/dist/cli/core/args.d.ts +0 -61
  42. package/dist/cli/core/args.d.ts.map +0 -1
  43. package/dist/cli/core/console.d.ts +0 -135
  44. package/dist/cli/core/console.d.ts.map +0 -1
  45. package/dist/cli/core/index.d.ts +0 -10
  46. package/dist/cli/core/index.d.ts.map +0 -1
  47. package/dist/cli/core/prompt.d.ts +0 -63
  48. package/dist/cli/core/prompt.d.ts.map +0 -1
  49. package/dist/cli/core/spinner.d.ts +0 -111
  50. package/dist/cli/core/spinner.d.ts.map +0 -1
  51. package/dist/cli/index.d.ts +0 -47
  52. package/dist/cli/index.d.ts.map +0 -1
  53. package/dist/cli/templates/database/index.d.ts +0 -24
  54. package/dist/cli/templates/database/index.d.ts.map +0 -1
  55. package/dist/cli/templates/database/mysql.d.ts +0 -6
  56. package/dist/cli/templates/database/mysql.d.ts.map +0 -1
  57. package/dist/cli/templates/database/none.d.ts +0 -8
  58. package/dist/cli/templates/database/none.d.ts.map +0 -1
  59. package/dist/cli/templates/database/postgresql.d.ts +0 -6
  60. package/dist/cli/templates/database/postgresql.d.ts.map +0 -1
  61. package/dist/cli/templates/database/sqlite.d.ts +0 -6
  62. package/dist/cli/templates/database/sqlite.d.ts.map +0 -1
  63. package/dist/cli/templates/deploy.d.ts +0 -41
  64. package/dist/cli/templates/deploy.d.ts.map +0 -1
  65. package/dist/cli/templates/docker.d.ts +0 -30
  66. package/dist/cli/templates/docker.d.ts.map +0 -1
  67. package/dist/cli/templates/frontend/index.d.ts +0 -25
  68. package/dist/cli/templates/frontend/index.d.ts.map +0 -1
  69. package/dist/cli/templates/frontend/none.d.ts +0 -8
  70. package/dist/cli/templates/frontend/none.d.ts.map +0 -1
  71. package/dist/cli/templates/frontend/react.d.ts +0 -6
  72. package/dist/cli/templates/frontend/react.d.ts.map +0 -1
  73. package/dist/cli/templates/frontend/solid.d.ts +0 -6
  74. package/dist/cli/templates/frontend/solid.d.ts.map +0 -1
  75. package/dist/cli/templates/frontend/svelte.d.ts +0 -6
  76. package/dist/cli/templates/frontend/svelte.d.ts.map +0 -1
  77. package/dist/cli/templates/frontend/vue.d.ts +0 -6
  78. package/dist/cli/templates/frontend/vue.d.ts.map +0 -1
  79. package/dist/cli/templates/generators/index.d.ts +0 -29
  80. package/dist/cli/templates/generators/index.d.ts.map +0 -1
  81. package/dist/cli/templates/generators/types.d.ts +0 -32
  82. package/dist/cli/templates/generators/types.d.ts.map +0 -1
  83. package/dist/cli/templates/index.d.ts +0 -12
  84. package/dist/cli/templates/index.d.ts.map +0 -1
  85. package/dist/cli/templates/project/api.d.ts +0 -6
  86. package/dist/cli/templates/project/api.d.ts.map +0 -1
  87. package/dist/cli/templates/project/default.d.ts +0 -6
  88. package/dist/cli/templates/project/default.d.ts.map +0 -1
  89. package/dist/cli/templates/project/fullstack.d.ts +0 -14
  90. package/dist/cli/templates/project/fullstack.d.ts.map +0 -1
  91. package/dist/cli/templates/project/index.d.ts +0 -26
  92. package/dist/cli/templates/project/index.d.ts.map +0 -1
  93. package/dist/cli/templates/project/minimal.d.ts +0 -6
  94. package/dist/cli/templates/project/minimal.d.ts.map +0 -1
  95. package/dist/cli/templates/project/types.d.ts +0 -80
  96. package/dist/cli/templates/project/types.d.ts.map +0 -1
  97. package/dist/cli/templates/project/website.d.ts +0 -8
  98. package/dist/cli/templates/project/website.d.ts.map +0 -1
  99. package/dist/cli/utils/fs.d.ts +0 -137
  100. package/dist/cli/utils/fs.d.ts.map +0 -1
  101. package/dist/cli/utils/index.d.ts +0 -9
  102. package/dist/cli/utils/index.d.ts.map +0 -1
  103. package/dist/cli/utils/strings.d.ts +0 -86
  104. package/dist/cli/utils/strings.d.ts.map +0 -1
  105. package/dist/cli/utils/version.d.ts +0 -15
  106. package/dist/cli/utils/version.d.ts.map +0 -1
  107. package/dist/config/env-validation.d.ts +0 -49
  108. package/dist/config/env-validation.d.ts.map +0 -1
  109. package/dist/config/env.d.ts +0 -167
  110. package/dist/config/env.d.ts.map +0 -1
  111. package/dist/config/index.d.ts +0 -168
  112. package/dist/config/index.d.ts.map +0 -1
  113. package/dist/config/loader.d.ts +0 -81
  114. package/dist/config/loader.d.ts.map +0 -1
  115. package/dist/config/merge.d.ts +0 -66
  116. package/dist/config/merge.d.ts.map +0 -1
  117. package/dist/config/types.d.ts +0 -322
  118. package/dist/config/types.d.ts.map +0 -1
  119. package/dist/config/validation.d.ts +0 -100
  120. package/dist/config/validation.d.ts.map +0 -1
  121. package/dist/container/forward-ref.d.ts +0 -116
  122. package/dist/container/forward-ref.d.ts.map +0 -1
  123. package/dist/container/index.d.ts +0 -95
  124. package/dist/container/index.d.ts.map +0 -1
  125. package/dist/context/index.d.ts +0 -143
  126. package/dist/context/index.d.ts.map +0 -1
  127. package/dist/database/index.d.ts +0 -219
  128. package/dist/database/index.d.ts.map +0 -1
  129. package/dist/database/migrations/index.d.ts +0 -146
  130. package/dist/database/migrations/index.d.ts.map +0 -1
  131. package/dist/database/orm/builder.d.ts +0 -122
  132. package/dist/database/orm/builder.d.ts.map +0 -1
  133. package/dist/database/orm/casts/index.d.ts +0 -16
  134. package/dist/database/orm/casts/index.d.ts.map +0 -1
  135. package/dist/database/orm/casts/types.d.ts +0 -16
  136. package/dist/database/orm/casts/types.d.ts.map +0 -1
  137. package/dist/database/orm/compiler.d.ts +0 -90
  138. package/dist/database/orm/compiler.d.ts.map +0 -1
  139. package/dist/database/orm/hooks/index.d.ts +0 -53
  140. package/dist/database/orm/hooks/index.d.ts.map +0 -1
  141. package/dist/database/orm/index.d.ts +0 -21
  142. package/dist/database/orm/index.d.ts.map +0 -1
  143. package/dist/database/orm/model-registry.d.ts +0 -33
  144. package/dist/database/orm/model-registry.d.ts.map +0 -1
  145. package/dist/database/orm/model.d.ts +0 -245
  146. package/dist/database/orm/model.d.ts.map +0 -1
  147. package/dist/database/orm/relationships/base.d.ts +0 -69
  148. package/dist/database/orm/relationships/base.d.ts.map +0 -1
  149. package/dist/database/orm/relationships/belongs-to-many.d.ts +0 -47
  150. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +0 -1
  151. package/dist/database/orm/relationships/belongs-to.d.ts +0 -17
  152. package/dist/database/orm/relationships/belongs-to.d.ts.map +0 -1
  153. package/dist/database/orm/relationships/has-many.d.ts +0 -14
  154. package/dist/database/orm/relationships/has-many.d.ts.map +0 -1
  155. package/dist/database/orm/relationships/has-one.d.ts +0 -14
  156. package/dist/database/orm/relationships/has-one.d.ts.map +0 -1
  157. package/dist/database/orm/relationships/index.d.ts +0 -10
  158. package/dist/database/orm/relationships/index.d.ts.map +0 -1
  159. package/dist/database/orm/scopes/index.d.ts +0 -36
  160. package/dist/database/orm/scopes/index.d.ts.map +0 -1
  161. package/dist/database/schema/index.d.ts +0 -155
  162. package/dist/database/schema/index.d.ts.map +0 -1
  163. package/dist/events/__tests__/event-system.test.d.ts +0 -2
  164. package/dist/events/__tests__/event-system.test.d.ts.map +0 -1
  165. package/dist/events/config.d.ts +0 -16
  166. package/dist/events/config.d.ts.map +0 -1
  167. package/dist/events/example-usage.d.ts +0 -12
  168. package/dist/events/example-usage.d.ts.map +0 -1
  169. package/dist/events/index.d.ts +0 -27
  170. package/dist/events/index.d.ts.map +0 -1
  171. package/dist/events/manager.d.ts +0 -33
  172. package/dist/events/manager.d.ts.map +0 -1
  173. package/dist/events/registry.d.ts +0 -31
  174. package/dist/events/registry.d.ts.map +0 -1
  175. package/dist/events/types.d.ts +0 -105
  176. package/dist/events/types.d.ts.map +0 -1
  177. package/dist/frontend/api-routes.d.ts +0 -189
  178. package/dist/frontend/api-routes.d.ts.map +0 -1
  179. package/dist/frontend/bundler.d.ts +0 -99
  180. package/dist/frontend/bundler.d.ts.map +0 -1
  181. package/dist/frontend/console-client.d.ts +0 -11
  182. package/dist/frontend/console-client.d.ts.map +0 -1
  183. package/dist/frontend/console-stream.d.ts +0 -138
  184. package/dist/frontend/console-stream.d.ts.map +0 -1
  185. package/dist/frontend/dev-server.d.ts +0 -174
  186. package/dist/frontend/dev-server.d.ts.map +0 -1
  187. package/dist/frontend/file-router.d.ts +0 -170
  188. package/dist/frontend/file-router.d.ts.map +0 -1
  189. package/dist/frontend/frameworks/index.d.ts +0 -41
  190. package/dist/frontend/frameworks/index.d.ts.map +0 -1
  191. package/dist/frontend/frameworks/react.d.ts +0 -32
  192. package/dist/frontend/frameworks/react.d.ts.map +0 -1
  193. package/dist/frontend/frameworks/solid.d.ts +0 -42
  194. package/dist/frontend/frameworks/solid.d.ts.map +0 -1
  195. package/dist/frontend/frameworks/svelte.d.ts +0 -57
  196. package/dist/frontend/frameworks/svelte.d.ts.map +0 -1
  197. package/dist/frontend/frameworks/vue.d.ts +0 -36
  198. package/dist/frontend/frameworks/vue.d.ts.map +0 -1
  199. package/dist/frontend/hmr-client.d.ts +0 -22
  200. package/dist/frontend/hmr-client.d.ts.map +0 -1
  201. package/dist/frontend/hmr.d.ts +0 -185
  202. package/dist/frontend/hmr.d.ts.map +0 -1
  203. package/dist/frontend/index.d.ts +0 -34
  204. package/dist/frontend/index.d.ts.map +0 -1
  205. package/dist/frontend/islands.d.ts +0 -135
  206. package/dist/frontend/islands.d.ts.map +0 -1
  207. package/dist/frontend/isr.d.ts +0 -143
  208. package/dist/frontend/isr.d.ts.map +0 -1
  209. package/dist/frontend/layout.d.ts +0 -140
  210. package/dist/frontend/layout.d.ts.map +0 -1
  211. package/dist/frontend/ssr/react.d.ts +0 -118
  212. package/dist/frontend/ssr/react.d.ts.map +0 -1
  213. package/dist/frontend/ssr/solid.d.ts +0 -141
  214. package/dist/frontend/ssr/solid.d.ts.map +0 -1
  215. package/dist/frontend/ssr/svelte.d.ts +0 -158
  216. package/dist/frontend/ssr/svelte.d.ts.map +0 -1
  217. package/dist/frontend/ssr/vue.d.ts +0 -161
  218. package/dist/frontend/ssr/vue.d.ts.map +0 -1
  219. package/dist/frontend/ssr.d.ts +0 -147
  220. package/dist/frontend/ssr.d.ts.map +0 -1
  221. package/dist/frontend/types.d.ts +0 -1902
  222. package/dist/frontend/types.d.ts.map +0 -1
  223. package/dist/graphql/built-in-engine.d.ts +0 -36
  224. package/dist/graphql/built-in-engine.d.ts.map +0 -1
  225. package/dist/graphql/context-builder.d.ts +0 -44
  226. package/dist/graphql/context-builder.d.ts.map +0 -1
  227. package/dist/graphql/decorators.d.ts +0 -162
  228. package/dist/graphql/decorators.d.ts.map +0 -1
  229. package/dist/graphql/execution-pipeline.d.ts +0 -67
  230. package/dist/graphql/execution-pipeline.d.ts.map +0 -1
  231. package/dist/graphql/graphql-module.d.ts +0 -70
  232. package/dist/graphql/graphql-module.d.ts.map +0 -1
  233. package/dist/graphql/index.d.ts +0 -48
  234. package/dist/graphql/index.d.ts.map +0 -1
  235. package/dist/graphql/metadata.d.ts +0 -37
  236. package/dist/graphql/metadata.d.ts.map +0 -1
  237. package/dist/graphql/schema-builder.d.ts +0 -34
  238. package/dist/graphql/schema-builder.d.ts.map +0 -1
  239. package/dist/graphql/subscription-handler.d.ts +0 -47
  240. package/dist/graphql/subscription-handler.d.ts.map +0 -1
  241. package/dist/graphql/types.d.ts +0 -252
  242. package/dist/graphql/types.d.ts.map +0 -1
  243. package/dist/health/index.d.ts +0 -176
  244. package/dist/health/index.d.ts.map +0 -1
  245. package/dist/i18n/engine.d.ts +0 -105
  246. package/dist/i18n/engine.d.ts.map +0 -1
  247. package/dist/i18n/index.d.ts +0 -13
  248. package/dist/i18n/index.d.ts.map +0 -1
  249. package/dist/i18n/loader.d.ts +0 -79
  250. package/dist/i18n/loader.d.ts.map +0 -1
  251. package/dist/i18n/middleware.d.ts +0 -96
  252. package/dist/i18n/middleware.d.ts.map +0 -1
  253. package/dist/i18n/negotiator.d.ts +0 -84
  254. package/dist/i18n/negotiator.d.ts.map +0 -1
  255. package/dist/i18n/types.d.ts +0 -129
  256. package/dist/i18n/types.d.ts.map +0 -1
  257. package/dist/index.d.ts +0 -48
  258. package/dist/index.d.ts.map +0 -1
  259. package/dist/jobs/drivers/memory.d.ts +0 -38
  260. package/dist/jobs/drivers/memory.d.ts.map +0 -1
  261. package/dist/jobs/drivers/redis.d.ts +0 -34
  262. package/dist/jobs/drivers/redis.d.ts.map +0 -1
  263. package/dist/jobs/index.d.ts +0 -12
  264. package/dist/jobs/index.d.ts.map +0 -1
  265. package/dist/jobs/queue.d.ts +0 -93
  266. package/dist/jobs/queue.d.ts.map +0 -1
  267. package/dist/jobs/types.d.ts +0 -193
  268. package/dist/jobs/types.d.ts.map +0 -1
  269. package/dist/jobs/worker.d.ts +0 -91
  270. package/dist/jobs/worker.d.ts.map +0 -1
  271. package/dist/lock/index.d.ts +0 -141
  272. package/dist/lock/index.d.ts.map +0 -1
  273. package/dist/logger/index.d.ts +0 -156
  274. package/dist/logger/index.d.ts.map +0 -1
  275. package/dist/logger/transports/index.d.ts +0 -371
  276. package/dist/logger/transports/index.d.ts.map +0 -1
  277. package/dist/metrics/index.d.ts +0 -163
  278. package/dist/metrics/index.d.ts.map +0 -1
  279. package/dist/middleware/built-in.d.ts +0 -50
  280. package/dist/middleware/built-in.d.ts.map +0 -1
  281. package/dist/middleware/index.d.ts +0 -40
  282. package/dist/middleware/index.d.ts.map +0 -1
  283. package/dist/migrations/index.d.ts +0 -10
  284. package/dist/migrations/index.d.ts.map +0 -1
  285. package/dist/modules/filters.d.ts +0 -150
  286. package/dist/modules/filters.d.ts.map +0 -1
  287. package/dist/modules/guards.d.ts +0 -188
  288. package/dist/modules/guards.d.ts.map +0 -1
  289. package/dist/modules/index.d.ts +0 -266
  290. package/dist/modules/index.d.ts.map +0 -1
  291. package/dist/modules/interceptors.d.ts +0 -242
  292. package/dist/modules/interceptors.d.ts.map +0 -1
  293. package/dist/modules/lazy.d.ts +0 -187
  294. package/dist/modules/lazy.d.ts.map +0 -1
  295. package/dist/modules/lifecycle.d.ts +0 -221
  296. package/dist/modules/lifecycle.d.ts.map +0 -1
  297. package/dist/modules/metadata.d.ts +0 -32
  298. package/dist/modules/metadata.d.ts.map +0 -1
  299. package/dist/modules/pipes.d.ts +0 -287
  300. package/dist/modules/pipes.d.ts.map +0 -1
  301. package/dist/notification/channels/base.d.ts +0 -32
  302. package/dist/notification/channels/base.d.ts.map +0 -1
  303. package/dist/notification/channels/email.d.ts +0 -37
  304. package/dist/notification/channels/email.d.ts.map +0 -1
  305. package/dist/notification/channels/push.d.ts +0 -37
  306. package/dist/notification/channels/push.d.ts.map +0 -1
  307. package/dist/notification/channels/sms.d.ts +0 -37
  308. package/dist/notification/channels/sms.d.ts.map +0 -1
  309. package/dist/notification/channels/whatsapp.d.ts +0 -37
  310. package/dist/notification/channels/whatsapp.d.ts.map +0 -1
  311. package/dist/notification/index.d.ts +0 -15
  312. package/dist/notification/index.d.ts.map +0 -1
  313. package/dist/notification/service.d.ts +0 -100
  314. package/dist/notification/service.d.ts.map +0 -1
  315. package/dist/notification/types.d.ts +0 -253
  316. package/dist/notification/types.d.ts.map +0 -1
  317. package/dist/observability/__tests__/observability.test.d.ts +0 -2
  318. package/dist/observability/__tests__/observability.test.d.ts.map +0 -1
  319. package/dist/observability/breadcrumbs.d.ts +0 -48
  320. package/dist/observability/breadcrumbs.d.ts.map +0 -1
  321. package/dist/observability/index.d.ts +0 -95
  322. package/dist/observability/index.d.ts.map +0 -1
  323. package/dist/observability/interceptor.d.ts +0 -19
  324. package/dist/observability/interceptor.d.ts.map +0 -1
  325. package/dist/observability/service.d.ts +0 -101
  326. package/dist/observability/service.d.ts.map +0 -1
  327. package/dist/observability/trace.d.ts +0 -21
  328. package/dist/observability/trace.d.ts.map +0 -1
  329. package/dist/observability/types.d.ts +0 -172
  330. package/dist/observability/types.d.ts.map +0 -1
  331. package/dist/openapi/__tests__/decorators.test.d.ts +0 -2
  332. package/dist/openapi/__tests__/decorators.test.d.ts.map +0 -1
  333. package/dist/openapi/__tests__/document-builder.test.d.ts +0 -2
  334. package/dist/openapi/__tests__/document-builder.test.d.ts.map +0 -1
  335. package/dist/openapi/__tests__/route-scanner.test.d.ts +0 -2
  336. package/dist/openapi/__tests__/route-scanner.test.d.ts.map +0 -1
  337. package/dist/openapi/__tests__/schema-generator.test.d.ts +0 -2
  338. package/dist/openapi/__tests__/schema-generator.test.d.ts.map +0 -1
  339. package/dist/openapi/decorators.d.ts +0 -173
  340. package/dist/openapi/decorators.d.ts.map +0 -1
  341. package/dist/openapi/document-builder.d.ts +0 -82
  342. package/dist/openapi/document-builder.d.ts.map +0 -1
  343. package/dist/openapi/index.d.ts +0 -48
  344. package/dist/openapi/index.d.ts.map +0 -1
  345. package/dist/openapi/metadata.d.ts +0 -36
  346. package/dist/openapi/metadata.d.ts.map +0 -1
  347. package/dist/openapi/route-scanner.d.ts +0 -34
  348. package/dist/openapi/route-scanner.d.ts.map +0 -1
  349. package/dist/openapi/schema-generator.d.ts +0 -53
  350. package/dist/openapi/schema-generator.d.ts.map +0 -1
  351. package/dist/openapi/swagger-module.d.ts +0 -57
  352. package/dist/openapi/swagger-module.d.ts.map +0 -1
  353. package/dist/openapi/types.d.ts +0 -344
  354. package/dist/openapi/types.d.ts.map +0 -1
  355. package/dist/orm/index.d.ts +0 -10
  356. package/dist/orm/index.d.ts.map +0 -1
  357. package/dist/router/index.d.ts +0 -73
  358. package/dist/router/index.d.ts.map +0 -1
  359. package/dist/router/linear.d.ts +0 -54
  360. package/dist/router/linear.d.ts.map +0 -1
  361. package/dist/router/regex.d.ts +0 -49
  362. package/dist/router/regex.d.ts.map +0 -1
  363. package/dist/router/tree.d.ts +0 -112
  364. package/dist/router/tree.d.ts.map +0 -1
  365. package/dist/rpc/index.d.ts +0 -321
  366. package/dist/rpc/index.d.ts.map +0 -1
  367. package/dist/schema/index.d.ts +0 -10
  368. package/dist/schema/index.d.ts.map +0 -1
  369. package/dist/security/index.d.ts +0 -126
  370. package/dist/security/index.d.ts.map +0 -1
  371. package/dist/ssg/index.d.ts +0 -73
  372. package/dist/ssg/index.d.ts.map +0 -1
  373. package/dist/storage/index.d.ts +0 -99
  374. package/dist/storage/index.d.ts.map +0 -1
  375. package/dist/telemetry/index.d.ts +0 -376
  376. package/dist/telemetry/index.d.ts.map +0 -1
  377. package/dist/template/index.d.ts +0 -7
  378. package/dist/template/index.d.ts.map +0 -1
  379. package/dist/templates/engine.d.ts +0 -60
  380. package/dist/templates/engine.d.ts.map +0 -1
  381. package/dist/templates/index.d.ts +0 -9
  382. package/dist/templates/index.d.ts.map +0 -1
  383. package/dist/templates/loader.d.ts +0 -45
  384. package/dist/templates/loader.d.ts.map +0 -1
  385. package/dist/templates/renderers/markdown.d.ts +0 -46
  386. package/dist/templates/renderers/markdown.d.ts.map +0 -1
  387. package/dist/templates/renderers/simple.d.ts +0 -35
  388. package/dist/templates/renderers/simple.d.ts.map +0 -1
  389. package/dist/templates/types.d.ts +0 -138
  390. package/dist/templates/types.d.ts.map +0 -1
  391. package/dist/testing/index.d.ts +0 -539
  392. package/dist/testing/index.d.ts.map +0 -1
  393. package/dist/types/index.d.ts +0 -116
  394. package/dist/types/index.d.ts.map +0 -1
  395. package/dist/validation/index.d.ts +0 -89
  396. package/dist/validation/index.d.ts.map +0 -1
  397. package/dist/validation/schemas.d.ts +0 -243
  398. package/dist/validation/schemas.d.ts.map +0 -1
  399. package/dist/websocket/index.d.ts +0 -252
  400. package/dist/websocket/index.d.ts.map +0 -1
package/README.md CHANGED
@@ -1246,7 +1246,7 @@ bun dev
1246
1246
 
1247
1247
  ## Links
1248
1248
 
1249
- - **Documentation**: [https://bueno.github.io](https://bueno.github.io)
1249
+ - **Documentation**: [https://buenojs.github.io](https://buenojs.github.io)
1250
1250
  - **GitHub**: [https://github.com/buenojs/bueno](https://github.com/buenojs/bueno)
1251
1251
  - **Issues**: [https://github.com/buenojs/bueno/issues](https://github.com/buenojs/bueno/issues)
1252
1252
  - **npm**: [https://www.npmjs.com/package/@buenojs/bueno](https://www.npmjs.com/package/@buenojs/bueno)
package/dist/index.js CHANGED
@@ -724,7 +724,7 @@ function createValidator(options) {
724
724
  };
725
725
  }
726
726
  function WithBody(schema) {
727
- return (target, propertyKey, descriptor2) => {
727
+ return (_target, _propertyKey, descriptor2) => {
728
728
  const original = descriptor2.value;
729
729
  descriptor2.value = async function(context) {
730
730
  const result = await validateBody(context, schema);
@@ -738,7 +738,7 @@ function WithBody(schema) {
738
738
  };
739
739
  }
740
740
  function WithQuery(schema) {
741
- return (target, propertyKey, descriptor2) => {
741
+ return (_target, _propertyKey, descriptor2) => {
742
742
  const original = descriptor2.value;
743
743
  descriptor2.value = async function(context) {
744
744
  const result = validateQuery(context, schema);
@@ -6879,7 +6879,7 @@ function parseFrontMatter(content) {
6879
6879
  value = null;
6880
6880
  else if (!isNaN(Number(value)) && value !== "")
6881
6881
  value = Number(value);
6882
- else if (value.startsWith("[") && value.endsWith("]")) {
6882
+ else if (typeof value === "string" && value.startsWith("[") && value.endsWith("]")) {
6883
6883
  const arrayContent = value.slice(1, -1).trim();
6884
6884
  value = arrayContent.split(",").map((v) => {
6885
6885
  let item = v.trim();
@@ -7206,17 +7206,20 @@ var builtinFilters = {
7206
7206
  return false;
7207
7207
  },
7208
7208
  date: (value, format = "YYYY-MM-DD") => {
7209
- if (!(value instanceof Date)) {
7210
- value = new Date(value);
7209
+ let dateObj;
7210
+ if (value instanceof Date) {
7211
+ dateObj = value;
7212
+ } else {
7213
+ dateObj = new Date(value);
7211
7214
  }
7212
- if (isNaN(value.getTime()))
7215
+ if (isNaN(dateObj.getTime()))
7213
7216
  return String(value);
7214
- const year = value.getFullYear();
7215
- const month = String(value.getMonth() + 1).padStart(2, "0");
7216
- const date = String(value.getDate()).padStart(2, "0");
7217
- const hours = String(value.getHours()).padStart(2, "0");
7218
- const minutes = String(value.getMinutes()).padStart(2, "0");
7219
- const seconds = String(value.getSeconds()).padStart(2, "0");
7217
+ const year = dateObj.getFullYear();
7218
+ const month = String(dateObj.getMonth() + 1).padStart(2, "0");
7219
+ const date = String(dateObj.getDate()).padStart(2, "0");
7220
+ const hours = String(dateObj.getHours()).padStart(2, "0");
7221
+ const minutes = String(dateObj.getMinutes()).padStart(2, "0");
7222
+ const seconds = String(dateObj.getSeconds()).padStart(2, "0");
7220
7223
  return format.replace("YYYY", String(year)).replace("MM", month).replace("DD", date).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
7221
7224
  }
7222
7225
  };
@@ -724,7 +724,7 @@ function createValidator(options) {
724
724
  };
725
725
  }
726
726
  function WithBody(schema) {
727
- return (target, propertyKey, descriptor) => {
727
+ return (_target, _propertyKey, descriptor) => {
728
728
  const original = descriptor.value;
729
729
  descriptor.value = async function(context) {
730
730
  const result = await validateBody(context, schema);
@@ -738,7 +738,7 @@ function WithBody(schema) {
738
738
  };
739
739
  }
740
740
  function WithQuery(schema) {
741
- return (target, propertyKey, descriptor) => {
741
+ return (_target, _propertyKey, descriptor) => {
742
742
  const original = descriptor.value;
743
743
  descriptor.value = async function(context) {
744
744
  const result = validateQuery(context, schema);
@@ -63,7 +63,7 @@ function parseFrontMatter(content) {
63
63
  value = null;
64
64
  else if (!isNaN(Number(value)) && value !== "")
65
65
  value = Number(value);
66
- else if (value.startsWith("[") && value.endsWith("]")) {
66
+ else if (typeof value === "string" && value.startsWith("[") && value.endsWith("]")) {
67
67
  const arrayContent = value.slice(1, -1).trim();
68
68
  value = arrayContent.split(",").map((v) => {
69
69
  let item = v.trim();
@@ -390,17 +390,20 @@ var builtinFilters = {
390
390
  return false;
391
391
  },
392
392
  date: (value, format = "YYYY-MM-DD") => {
393
- if (!(value instanceof Date)) {
394
- value = new Date(value);
393
+ let dateObj;
394
+ if (value instanceof Date) {
395
+ dateObj = value;
396
+ } else {
397
+ dateObj = new Date(value);
395
398
  }
396
- if (isNaN(value.getTime()))
399
+ if (isNaN(dateObj.getTime()))
397
400
  return String(value);
398
- const year = value.getFullYear();
399
- const month = String(value.getMonth() + 1).padStart(2, "0");
400
- const date = String(value.getDate()).padStart(2, "0");
401
- const hours = String(value.getHours()).padStart(2, "0");
402
- const minutes = String(value.getMinutes()).padStart(2, "0");
403
- const seconds = String(value.getSeconds()).padStart(2, "0");
401
+ const year = dateObj.getFullYear();
402
+ const month = String(dateObj.getMonth() + 1).padStart(2, "0");
403
+ const date = String(dateObj.getDate()).padStart(2, "0");
404
+ const hours = String(dateObj.getHours()).padStart(2, "0");
405
+ const minutes = String(dateObj.getMinutes()).padStart(2, "0");
406
+ const seconds = String(dateObj.getSeconds()).padStart(2, "0");
404
407
  return format.replace("YYYY", String(year)).replace("MM", month).replace("DD", date).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
405
408
  }
406
409
  };
@@ -63,7 +63,7 @@ function parseFrontMatter(content) {
63
63
  value = null;
64
64
  else if (!isNaN(Number(value)) && value !== "")
65
65
  value = Number(value);
66
- else if (value.startsWith("[") && value.endsWith("]")) {
66
+ else if (typeof value === "string" && value.startsWith("[") && value.endsWith("]")) {
67
67
  const arrayContent = value.slice(1, -1).trim();
68
68
  value = arrayContent.split(",").map((v) => {
69
69
  let item = v.trim();
@@ -390,17 +390,20 @@ var builtinFilters = {
390
390
  return false;
391
391
  },
392
392
  date: (value, format = "YYYY-MM-DD") => {
393
- if (!(value instanceof Date)) {
394
- value = new Date(value);
393
+ let dateObj;
394
+ if (value instanceof Date) {
395
+ dateObj = value;
396
+ } else {
397
+ dateObj = new Date(value);
395
398
  }
396
- if (isNaN(value.getTime()))
399
+ if (isNaN(dateObj.getTime()))
397
400
  return String(value);
398
- const year = value.getFullYear();
399
- const month = String(value.getMonth() + 1).padStart(2, "0");
400
- const date = String(value.getDate()).padStart(2, "0");
401
- const hours = String(value.getHours()).padStart(2, "0");
402
- const minutes = String(value.getMinutes()).padStart(2, "0");
403
- const seconds = String(value.getSeconds()).padStart(2, "0");
401
+ const year = dateObj.getFullYear();
402
+ const month = String(dateObj.getMonth() + 1).padStart(2, "0");
403
+ const date = String(dateObj.getDate()).padStart(2, "0");
404
+ const hours = String(dateObj.getHours()).padStart(2, "0");
405
+ const minutes = String(dateObj.getMinutes()).padStart(2, "0");
406
+ const seconds = String(dateObj.getSeconds()).padStart(2, "0");
404
407
  return format.replace("YYYY", String(year)).replace("MM", month).replace("DD", date).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
405
408
  }
406
409
  };
package/llms.txt CHANGED
@@ -198,7 +198,7 @@ describe('UserController', () => {
198
198
  ```
199
199
 
200
200
  ## Documentation
201
- - **Main Documentation**: https://bueno.github.io
201
+ - **Main Documentation**: https://buenojs.github.io
202
202
  - **GitHub Repository**: https://github.com/buenojs/bueno
203
203
  - **NPM Package**: https://www.npmjs.com/package/@buenojs/bueno
204
204
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buenojs/bueno",
3
- "version": "0.8.8",
3
+ "version": "0.8.10",
4
4
  "description": "A Bun-Native Full-Stack Framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -148,7 +148,7 @@
148
148
  "test:watch": "bun test --watch",
149
149
  "test:coverage": "bun test --coverage",
150
150
  "coverage": "bun test --coverage coverage/lcov.info",
151
- "build": "rm -rf dist && bun build ./src/index.ts ./src/database/index.ts ./src/schema/index.ts ./src/migrations/index.ts ./src/orm/index.ts ./src/jobs/index.ts ./src/templates/index.ts ./src/template/index.ts ./src/openapi/index.ts ./src/notification/index.ts ./src/i18n/index.ts ./src/cli/bin.ts ./src/frontend/index.ts ./src/router/index.ts ./src/middleware/index.ts ./src/modules/index.ts ./src/telemetry/index.ts ./src/observability/index.ts ./src/graphql/index.ts ./src/lock/index.ts ./src/health/index.ts ./src/logger/index.ts ./src/metrics/index.ts ./src/rpc/index.ts ./src/context/index.ts ./src/container/index.ts ./src/testing/index.ts ./src/types/index.ts --outdir ./dist --target bun && test -d dist/src && (cp -r dist/src/* dist/ && rm -rf dist/src) || true && tsc --project tsconfig.declaration.json 2>&1 || true",
151
+ "build": "rm -rf dist && bun build ./src/index.ts ./src/database/index.ts ./src/schema/index.ts ./src/migrations/index.ts ./src/orm/index.ts ./src/jobs/index.ts ./src/templates/index.ts ./src/template/index.ts ./src/openapi/index.ts ./src/notification/index.ts ./src/i18n/index.ts ./src/cli/bin.ts ./src/frontend/index.ts ./src/router/index.ts ./src/middleware/index.ts ./src/modules/index.ts ./src/telemetry/index.ts ./src/observability/index.ts ./src/graphql/index.ts ./src/lock/index.ts ./src/health/index.ts ./src/logger/index.ts ./src/metrics/index.ts ./src/rpc/index.ts ./src/context/index.ts ./src/container/index.ts ./src/testing/index.ts ./src/types/index.ts --outdir ./dist --target bun && test -d dist/src && (cp -r dist/src/* dist/ && rm -rf dist/src) || true",
152
152
  "build:cli": "bun build ./src/cli/bin.ts ./src/frontend/index.ts ./src/router/index.ts ./src/middleware/index.ts ./src/modules/index.ts --outdir ./dist/cli --target bun",
153
153
  "typecheck": "tsc --noEmit",
154
154
  "lint": "bunx biome check ./src",
@@ -235,7 +235,7 @@ bun run start
235
235
 
236
236
  ## Learn More
237
237
 
238
- - [Bueno Documentation](https://bueno.github.io)
238
+ - [Bueno Documentation](https://buenojs.github.io)
239
239
  - [Bun Documentation](https://bun.sh/docs)
240
240
  `;
241
241
  }
@@ -71,7 +71,7 @@ export function App() {
71
71
 
72
72
  <div className="mt-8 grid grid-cols-2 gap-4 text-left">
73
73
  <a
74
- href="https://bueno.github.io"
74
+ href="https://buenojs.github.io"
75
75
  className="p-4 bg-slate-800/50 rounded-lg border border-slate-700 hover:border-blue-500 transition-colors"
76
76
  >
77
77
  <h3 className="font-semibold text-blue-400">Documentation</h3>
@@ -68,7 +68,7 @@ export function App() {
68
68
 
69
69
  <div class="mt-8 grid grid-cols-2 gap-4 text-left">
70
70
  <a
71
- href="https://bueno.github.io"
71
+ href="https://buenojs.github.io"
72
72
  class="p-4 bg-slate-800/50 rounded-lg border border-slate-700 hover:border-cyan-500 transition-colors"
73
73
  >
74
74
  <h3 class="font-semibold text-cyan-400">Documentation</h3>
@@ -65,7 +65,7 @@ export default app;
65
65
 
66
66
  <div class="mt-8 grid grid-cols-2 gap-4 text-left">
67
67
  <a
68
- href="https://bueno.github.io"
68
+ href="https://buenojs.github.io"
69
69
  class="p-4 bg-slate-800/50 rounded-lg border border-slate-700 hover:border-orange-500 transition-colors"
70
70
  >
71
71
  <h3 class="font-semibold text-orange-400">Documentation</h3>
@@ -65,7 +65,7 @@ const count = ref(0);
65
65
 
66
66
  <div class="mt-8 grid grid-cols-2 gap-4 text-left">
67
67
  <a
68
- href="https://bueno.github.io"
68
+ href="https://buenojs.github.io"
69
69
  class="p-4 bg-slate-800/50 rounded-lg border border-slate-700 hover:border-green-500 transition-colors"
70
70
  >
71
71
  <h3 class="font-semibold text-green-400">Documentation</h3>
@@ -68,7 +68,7 @@ export class AppController {
68
68
  </ul>
69
69
 
70
70
  <h2>Documentation</h2>
71
- <p>Visit <a href="https://bueno.github.io">https://bueno.github.io</a> for full documentation.</p>
71
+ <p>Visit <a href="https://buenojs.github.io">https://buenojs.github.io</a> for full documentation.</p>
72
72
 
73
73
  <h2>Quick Example</h2>
74
74
  <pre><code>@Controller('/api')
@@ -140,7 +140,7 @@ layout: default
140
140
 
141
141
  # Welcome to ${config.name}
142
142
 
143
- This is a static website built with [Bueno Framework](https://bueno.github.io).
143
+ This is a static website built with [Bueno Framework](https://buenojs.github.io).
144
144
 
145
145
  ## Getting Started
146
146
 
@@ -159,7 +159,7 @@ layout: default
159
159
 
160
160
  # About This Website
161
161
 
162
- This is a static website built with [Bueno Framework](https://bueno.github.io).
162
+ This is a static website built with [Bueno Framework](https://buenojs.github.io).
163
163
 
164
164
  ## Features
165
165
 
@@ -170,7 +170,7 @@ This is a static website built with [Bueno Framework](https://bueno.github.io).
170
170
 
171
171
  ## Getting Started
172
172
 
173
- Visit the [Bueno documentation](https://bueno.github.io) to learn more.
173
+ Visit the [Bueno documentation](https://buenojs.github.io) to learn more.
174
174
  `,
175
175
  },
176
176
  {
@@ -63,7 +63,7 @@ function parseFrontMatter(content: string): {
63
63
  else if (value === "false") value = false;
64
64
  else if (value === "null") value = null;
65
65
  else if (!isNaN(Number(value)) && value !== "") value = Number(value);
66
- else if (value.startsWith("[") && value.endsWith("]")) {
66
+ else if (typeof value === "string" && value.startsWith("[") && value.endsWith("]")) {
67
67
  // Parse simple arrays: [email, sms, push] or ["email", "sms", "push"]
68
68
  const arrayContent = value.slice(1, -1).trim();
69
69
  value = arrayContent.split(",").map((v) => {
@@ -48,17 +48,20 @@ const builtinFilters: FilterRegistry = {
48
48
  return false;
49
49
  },
50
50
  date: (value, format = "YYYY-MM-DD") => {
51
- if (!(value instanceof Date)) {
52
- value = new Date(value);
51
+ let dateObj: Date;
52
+ if (value instanceof Date) {
53
+ dateObj = value;
54
+ } else {
55
+ dateObj = new Date(value as string | number);
53
56
  }
54
- if (isNaN(value.getTime())) return String(value);
55
-
56
- const year = value.getFullYear();
57
- const month = String(value.getMonth() + 1).padStart(2, "0");
58
- const date = String(value.getDate()).padStart(2, "0");
59
- const hours = String(value.getHours()).padStart(2, "0");
60
- const minutes = String(value.getMinutes()).padStart(2, "0");
61
- const seconds = String(value.getSeconds()).padStart(2, "0");
57
+ if (isNaN(dateObj.getTime())) return String(value);
58
+
59
+ const year = dateObj.getFullYear();
60
+ const month = String(dateObj.getMonth() + 1).padStart(2, "0");
61
+ const date = String(dateObj.getDate()).padStart(2, "0");
62
+ const hours = String(dateObj.getHours()).padStart(2, "0");
63
+ const minutes = String(dateObj.getMinutes()).padStart(2, "0");
64
+ const seconds = String(dateObj.getSeconds()).padStart(2, "0");
62
65
 
63
66
  return (format as string)
64
67
  .replace("YYYY", String(year))
@@ -9,15 +9,14 @@ import type { Context } from "../context";
9
9
  import type {
10
10
  Middleware,
11
11
  StandardIssue,
12
- StandardResult,
13
12
  StandardSchema,
14
13
  } from "../types";
15
14
 
16
15
  // ============= Types =============
17
16
 
18
17
  export type ValidationResult<T> =
19
- | { success: true; data: T }
20
- | { success: false; issues: StandardIssue[] };
18
+ | { readonly success: true; readonly data: T }
19
+ | { readonly success: false; readonly issues: StandardIssue[] };
21
20
 
22
21
  export interface ValidatorOptions {
23
22
  body?: StandardSchema;
@@ -153,9 +152,9 @@ export function createValidator(options: ValidatorOptions): Middleware {
153
152
  if (!result.success) {
154
153
  return context
155
154
  .status(400)
156
- .json({ error: "Validation failed", issues: result.issues });
155
+ .json({ error: "Validation failed", issues: (result as { success: false; issues: StandardIssue[] }).issues });
157
156
  }
158
- context.set("validatedBody", result.data);
157
+ context.set("validatedBody", (result as { success: true; data: unknown }).data);
159
158
  }
160
159
 
161
160
  // Validate query
@@ -164,9 +163,9 @@ export function createValidator(options: ValidatorOptions): Middleware {
164
163
  if (!result.success) {
165
164
  return context
166
165
  .status(400)
167
- .json({ error: "Validation failed", issues: result.issues });
166
+ .json({ error: "Validation failed", issues: (result as { success: false; issues: StandardIssue[] }).issues });
168
167
  }
169
- context.set("validatedQuery", result.data);
168
+ context.set("validatedQuery", (result as { success: true; data: unknown }).data);
170
169
  }
171
170
 
172
171
  // Validate params
@@ -175,9 +174,9 @@ export function createValidator(options: ValidatorOptions): Middleware {
175
174
  if (!result.success) {
176
175
  return context
177
176
  .status(400)
178
- .json({ error: "Validation failed", issues: result.issues });
177
+ .json({ error: "Validation failed", issues: (result as { success: false; issues: StandardIssue[] }).issues });
179
178
  }
180
- context.set("validatedParams", result.data);
179
+ context.set("validatedParams", (result as { success: true; data: unknown }).data);
181
180
  }
182
181
 
183
182
  // Validate headers
@@ -186,9 +185,9 @@ export function createValidator(options: ValidatorOptions): Middleware {
186
185
  if (!result.success) {
187
186
  return context
188
187
  .status(400)
189
- .json({ error: "Validation failed", issues: result.issues });
188
+ .json({ error: "Validation failed", issues: (result as { success: false; issues: StandardIssue[] }).issues });
190
189
  }
191
- context.set("validatedHeaders", result.data);
190
+ context.set("validatedHeaders", (result as { success: true; data: unknown }).data);
192
191
  }
193
192
 
194
193
  return next();
@@ -202,8 +201,8 @@ export function createValidator(options: ValidatorOptions): Middleware {
202
201
  */
203
202
  export function WithBody(schema: StandardSchema) {
204
203
  return (
205
- target: unknown,
206
- propertyKey: string | symbol,
204
+ _target: unknown,
205
+ _propertyKey: string | symbol,
207
206
  descriptor: PropertyDescriptor,
208
207
  ) => {
209
208
  const original = descriptor.value;
@@ -212,9 +211,9 @@ export function WithBody(schema: StandardSchema) {
212
211
  if (!result.success) {
213
212
  return context
214
213
  .status(400)
215
- .json({ error: "Validation failed", issues: result.issues });
214
+ .json({ error: "Validation failed", issues: (result as { success: false; issues: StandardIssue[] }).issues });
216
215
  }
217
- context.set("body", result.data);
216
+ context.set("body", (result as { success: true; data: unknown }).data);
218
217
  return original.call(this, context);
219
218
  };
220
219
  return descriptor;
@@ -226,8 +225,8 @@ export function WithBody(schema: StandardSchema) {
226
225
  */
227
226
  export function WithQuery(schema: StandardSchema) {
228
227
  return (
229
- target: unknown,
230
- propertyKey: string | symbol,
228
+ _target: unknown,
229
+ _propertyKey: string | symbol,
231
230
  descriptor: PropertyDescriptor,
232
231
  ) => {
233
232
  const original = descriptor.value;
@@ -236,9 +235,9 @@ export function WithQuery(schema: StandardSchema) {
236
235
  if (!result.success) {
237
236
  return context
238
237
  .status(400)
239
- .json({ error: "Validation failed", issues: result.issues });
238
+ .json({ error: "Validation failed", issues: (result as { success: false; issues: StandardIssue[] }).issues });
240
239
  }
241
- context.set("query", result.data);
240
+ context.set("query", (result as { success: true; data: unknown }).data);
242
241
  return original.call(this, context);
243
242
  };
244
243
  return descriptor;
@@ -294,7 +293,7 @@ export async function validateEnv<T>(
294
293
 
295
294
  if (!result.success) {
296
295
  // Format error messages with context
297
- const formattedIssues = result.issues.map((issue) => {
296
+ const formattedIssues = (result as { success: false; issues: StandardIssue[] }).issues.map((issue) => {
298
297
  const path = issue.path?.join(".") || "root";
299
298
  return {
300
299
  ...issue,
@@ -338,7 +337,7 @@ export function validateEnvSync<T>(
338
337
 
339
338
  if (!result.success) {
340
339
  // Format error messages with context
341
- const formattedIssues = result.issues.map((issue) => {
340
+ const formattedIssues = (result as { success: false; issues: StandardIssue[] }).issues.map((issue) => {
342
341
  const path = issue.path?.join(".") || "root";
343
342
  return {
344
343
  ...issue,
package/tsconfig.json CHANGED
@@ -27,7 +27,7 @@
27
27
  "strictPropertyInitialization": false
28
28
  },
29
29
  "include": ["src/**/*"],
30
- "exclude": ["node_modules", "dist", "tests"],
30
+ "exclude": ["node_modules", "dist", "tests", "src/events/**/*", "src/openapi/__tests__/**/*"],
31
31
  "ts-node": {
32
32
  "transpileOnly": true,
33
33
  "compilerOptions": {
@@ -1,187 +0,0 @@
1
- /**
2
- * Caching Layer
3
- *
4
- * Unified interface over Bun.redis with in-memory fallback.
5
- * Uses Bun 1.3+ native Redis client for production.
6
- */
7
- export interface CacheConfig {
8
- driver?: "redis" | "memory";
9
- url?: string;
10
- ttl?: number;
11
- keyPrefix?: string;
12
- enableMetrics?: boolean;
13
- }
14
- /**
15
- * Cache metrics for observability
16
- */
17
- export interface CacheMetrics {
18
- hits: number;
19
- misses: number;
20
- sets: number;
21
- deletes: number;
22
- errors: number;
23
- avgLatency: number;
24
- totalOperations: number;
25
- }
26
- export interface SessionData {
27
- [key: string]: unknown;
28
- }
29
- export interface SessionStoreOptions {
30
- ttl?: number;
31
- prefix?: string;
32
- driver?: "redis" | "memory";
33
- url?: string;
34
- }
35
- export interface PubSubMessage {
36
- channel: string;
37
- message: string;
38
- }
39
- export declare class Cache {
40
- private driver;
41
- private keyPrefix;
42
- private defaultTTL;
43
- private _isConnected;
44
- private driverType;
45
- private enableMetrics;
46
- private metrics;
47
- private totalLatency;
48
- constructor(config?: CacheConfig);
49
- /**
50
- * Get current metrics snapshot
51
- */
52
- getMetrics(): CacheMetrics;
53
- /**
54
- * Reset metrics counters
55
- */
56
- resetMetrics(): void;
57
- /**
58
- * Update metrics counters
59
- */
60
- private updateMetrics;
61
- /**
62
- * Get current timestamp in milliseconds
63
- */
64
- private getTimestamp;
65
- /**
66
- * Connect to cache
67
- */
68
- connect(): Promise<void>;
69
- /**
70
- * Disconnect from cache
71
- */
72
- disconnect(): Promise<void>;
73
- /**
74
- * Check if connected
75
- */
76
- get isConnected(): boolean;
77
- /**
78
- * Get the driver type
79
- */
80
- getDriverType(): "redis" | "memory";
81
- /**
82
- * Get a value
83
- */
84
- get<T = unknown>(key: string): Promise<T | null>;
85
- /**
86
- * Set a value
87
- */
88
- set<T>(key: string, value: T, ttl?: number): Promise<void>;
89
- /**
90
- * Delete a value
91
- */
92
- delete(key: string): Promise<boolean>;
93
- /**
94
- * Check if key exists
95
- */
96
- has(key: string): Promise<boolean>;
97
- /**
98
- * Increment a value
99
- */
100
- increment(key: string, by?: number): Promise<number>;
101
- /**
102
- * Decrement a value
103
- */
104
- decrement(key: string, by?: number): Promise<number>;
105
- /**
106
- * Get remaining TTL
107
- */
108
- ttl(key: string): Promise<number>;
109
- /**
110
- * Set expiration on a key
111
- */
112
- expire(key: string, ttl: number): Promise<boolean>;
113
- /**
114
- * Set multiple values
115
- */
116
- mset(values: Record<string, unknown>, ttl?: number): Promise<void>;
117
- /**
118
- * Get multiple values
119
- */
120
- mget<T = unknown>(keys: string[]): Promise<(T | null)[]>;
121
- /**
122
- * Clear all keys with prefix
123
- */
124
- clear(): Promise<void>;
125
- /**
126
- * Get or set (cache-aside pattern)
127
- */
128
- getOrSet<T>(key: string, factory: () => Promise<T>, ttl?: number): Promise<T>;
129
- /**
130
- * Delete multiple keys
131
- */
132
- mdelete(keys: string[]): Promise<void>;
133
- /**
134
- * Publish a message to a channel (Redis only)
135
- */
136
- publish(channel: string, message: string): Promise<number>;
137
- /**
138
- * Subscribe to a channel (Redis only)
139
- */
140
- subscribe(channel: string, callback: (message: string) => void): Promise<void>;
141
- /**
142
- * Remember with lock (prevent cache stampede)
143
- */
144
- remember<T>(key: string, factory: () => Promise<T>, ttl?: number, lockTimeout?: number): Promise<T>;
145
- }
146
- export declare class SessionStore {
147
- private cache;
148
- private ttl;
149
- constructor(options?: SessionStoreOptions);
150
- /**
151
- * Initialize the session store
152
- */
153
- init(): Promise<void>;
154
- /**
155
- * Create a new session
156
- */
157
- create(data: SessionData): Promise<string>;
158
- /**
159
- * Get session data
160
- */
161
- get(sessionId: string): Promise<SessionData | null>;
162
- /**
163
- * Update session data
164
- */
165
- update(sessionId: string, data: SessionData): Promise<void>;
166
- /**
167
- * Delete a session
168
- */
169
- delete(sessionId: string): Promise<void>;
170
- /**
171
- * Refresh session TTL
172
- */
173
- refresh(sessionId: string): Promise<boolean>;
174
- /**
175
- * Check if session exists
176
- */
177
- has(sessionId: string): Promise<boolean>;
178
- }
179
- /**
180
- * Create a cache instance
181
- */
182
- export declare function createCache(config?: CacheConfig): Cache;
183
- /**
184
- * Create a session store
185
- */
186
- export declare function createSessionStore(options?: SessionStoreOptions): SessionStore;
187
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"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"}