@buenojs/bueno 0.8.9 → 0.8.11

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 (708) hide show
  1. package/README.md +1 -1
  2. package/dist/cache/index.d.ts +187 -0
  3. package/dist/cache/index.d.ts.map +1 -0
  4. package/dist/cache/index.js +595 -0
  5. package/dist/cache/index.js.map +1 -0
  6. package/dist/cli/bin.d.ts +8 -0
  7. package/dist/cli/bin.d.ts.map +1 -0
  8. package/dist/cli/bin.js +9 -9
  9. package/dist/cli/bin.js.map +1 -0
  10. package/dist/cli/commands/add-frontend.d.ts +7 -0
  11. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  12. package/dist/cli/commands/add-frontend.js +376 -0
  13. package/dist/cli/commands/add-frontend.js.map +1 -0
  14. package/dist/cli/commands/build.d.ts +7 -0
  15. package/dist/cli/commands/build.d.ts.map +1 -0
  16. package/dist/cli/commands/build.js +347 -0
  17. package/dist/cli/commands/build.js.map +1 -0
  18. package/dist/cli/commands/dev.d.ts +7 -0
  19. package/dist/cli/commands/dev.d.ts.map +1 -0
  20. package/dist/cli/commands/dev.js +205 -0
  21. package/dist/cli/commands/dev.js.map +1 -0
  22. package/dist/cli/commands/generate.d.ts +7 -0
  23. package/dist/cli/commands/generate.d.ts.map +1 -0
  24. package/dist/cli/commands/generate.js +491 -0
  25. package/dist/cli/commands/generate.js.map +1 -0
  26. package/dist/cli/commands/help.d.ts +7 -0
  27. package/dist/cli/commands/help.d.ts.map +1 -0
  28. package/dist/cli/commands/help.js +51 -0
  29. package/dist/cli/commands/help.js.map +1 -0
  30. package/dist/cli/commands/index.d.ts +59 -0
  31. package/dist/cli/commands/index.d.ts.map +1 -0
  32. package/dist/cli/commands/index.js +77 -0
  33. package/dist/cli/commands/index.js.map +1 -0
  34. package/dist/cli/commands/migration.d.ts +7 -0
  35. package/dist/cli/commands/migration.d.ts.map +1 -0
  36. package/dist/cli/commands/migration.js +295 -0
  37. package/dist/cli/commands/migration.js.map +1 -0
  38. package/dist/cli/commands/new.d.ts +7 -0
  39. package/dist/cli/commands/new.d.ts.map +1 -0
  40. package/dist/cli/commands/new.js +641 -0
  41. package/dist/cli/commands/new.js.map +1 -0
  42. package/dist/cli/commands/start.d.ts +7 -0
  43. package/dist/cli/commands/start.d.ts.map +1 -0
  44. package/dist/cli/commands/start.js +171 -0
  45. package/dist/cli/commands/start.js.map +1 -0
  46. package/dist/cli/core/args.d.ts +61 -0
  47. package/dist/cli/core/args.d.ts.map +1 -0
  48. package/dist/cli/core/args.js +224 -0
  49. package/dist/cli/core/args.js.map +1 -0
  50. package/dist/cli/core/console.d.ts +135 -0
  51. package/dist/cli/core/console.d.ts.map +1 -0
  52. package/dist/cli/core/console.js +268 -0
  53. package/dist/cli/core/console.js.map +1 -0
  54. package/dist/cli/core/index.d.ts +10 -0
  55. package/dist/cli/core/index.d.ts.map +1 -0
  56. package/dist/cli/core/index.js +10 -0
  57. package/dist/cli/core/index.js.map +1 -0
  58. package/dist/cli/core/prompt.d.ts +63 -0
  59. package/dist/cli/core/prompt.d.ts.map +1 -0
  60. package/dist/cli/core/prompt.js +338 -0
  61. package/dist/cli/core/prompt.js.map +1 -0
  62. package/dist/cli/core/spinner.d.ts +111 -0
  63. package/dist/cli/core/spinner.d.ts.map +1 -0
  64. package/dist/cli/core/spinner.js +208 -0
  65. package/dist/cli/core/spinner.js.map +1 -0
  66. package/dist/cli/index.d.ts +47 -0
  67. package/dist/cli/index.d.ts.map +1 -0
  68. package/dist/cli/index.js +127 -0
  69. package/dist/cli/index.js.map +1 -0
  70. package/dist/cli/templates/database/index.d.ts +24 -0
  71. package/dist/cli/templates/database/index.d.ts.map +1 -0
  72. package/dist/cli/templates/database/index.js +49 -0
  73. package/dist/cli/templates/database/index.js.map +1 -0
  74. package/dist/cli/templates/database/mysql.d.ts +6 -0
  75. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  76. package/dist/cli/templates/database/mysql.js +12 -0
  77. package/dist/cli/templates/database/mysql.js.map +1 -0
  78. package/dist/cli/templates/database/none.d.ts +8 -0
  79. package/dist/cli/templates/database/none.d.ts.map +1 -0
  80. package/dist/cli/templates/database/none.js +14 -0
  81. package/dist/cli/templates/database/none.js.map +1 -0
  82. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  83. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  84. package/dist/cli/templates/database/postgresql.js +12 -0
  85. package/dist/cli/templates/database/postgresql.js.map +1 -0
  86. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  87. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  88. package/dist/cli/templates/database/sqlite.js +12 -0
  89. package/dist/cli/templates/database/sqlite.js.map +1 -0
  90. package/dist/cli/templates/deploy.d.ts +41 -0
  91. package/dist/cli/templates/deploy.d.ts.map +1 -0
  92. package/dist/cli/templates/deploy.js +278 -0
  93. package/dist/cli/templates/deploy.js.map +1 -0
  94. package/dist/cli/templates/docker.d.ts +30 -0
  95. package/dist/cli/templates/docker.d.ts.map +1 -0
  96. package/dist/cli/templates/docker.js +298 -0
  97. package/dist/cli/templates/docker.js.map +1 -0
  98. package/dist/cli/templates/frontend/index.d.ts +25 -0
  99. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  100. package/dist/cli/templates/frontend/index.js +40 -0
  101. package/dist/cli/templates/frontend/index.js.map +1 -0
  102. package/dist/cli/templates/frontend/none.d.ts +8 -0
  103. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  104. package/dist/cli/templates/frontend/none.js +15 -0
  105. package/dist/cli/templates/frontend/none.js.map +1 -0
  106. package/dist/cli/templates/frontend/react.d.ts +6 -0
  107. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  108. package/dist/cli/templates/frontend/react.js +139 -0
  109. package/dist/cli/templates/frontend/react.js.map +1 -0
  110. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  111. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  112. package/dist/cli/templates/frontend/solid.js +133 -0
  113. package/dist/cli/templates/frontend/solid.js.map +1 -0
  114. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  115. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  116. package/dist/cli/templates/frontend/svelte.js +130 -0
  117. package/dist/cli/templates/frontend/svelte.js.map +1 -0
  118. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  119. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  120. package/dist/cli/templates/frontend/vue.js +129 -0
  121. package/dist/cli/templates/frontend/vue.js.map +1 -0
  122. package/dist/cli/templates/generators/index.d.ts +29 -0
  123. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  124. package/dist/cli/templates/generators/index.js +308 -0
  125. package/dist/cli/templates/generators/index.js.map +1 -0
  126. package/dist/cli/templates/generators/types.d.ts +32 -0
  127. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  128. package/dist/cli/templates/generators/types.js +21 -0
  129. package/dist/cli/templates/generators/types.js.map +1 -0
  130. package/dist/cli/templates/index.d.ts +12 -0
  131. package/dist/cli/templates/index.d.ts.map +1 -0
  132. package/dist/cli/templates/index.js +18 -0
  133. package/dist/cli/templates/index.js.map +1 -0
  134. package/dist/cli/templates/project/api.d.ts +6 -0
  135. package/dist/cli/templates/project/api.d.ts.map +1 -0
  136. package/dist/cli/templates/project/api.js +79 -0
  137. package/dist/cli/templates/project/api.js.map +1 -0
  138. package/dist/cli/templates/project/default.d.ts +6 -0
  139. package/dist/cli/templates/project/default.d.ts.map +1 -0
  140. package/dist/cli/templates/project/default.js +136 -0
  141. package/dist/cli/templates/project/default.js.map +1 -0
  142. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  143. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  144. package/dist/cli/templates/project/fullstack.js +19 -0
  145. package/dist/cli/templates/project/fullstack.js.map +1 -0
  146. package/dist/cli/templates/project/index.d.ts +26 -0
  147. package/dist/cli/templates/project/index.d.ts.map +1 -0
  148. package/dist/cli/templates/project/index.js +60 -0
  149. package/dist/cli/templates/project/index.js.map +1 -0
  150. package/dist/cli/templates/project/minimal.d.ts +6 -0
  151. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  152. package/dist/cli/templates/project/minimal.js +43 -0
  153. package/dist/cli/templates/project/minimal.js.map +1 -0
  154. package/dist/cli/templates/project/types.d.ts +80 -0
  155. package/dist/cli/templates/project/types.d.ts.map +1 -0
  156. package/dist/cli/templates/project/types.js +7 -0
  157. package/dist/cli/templates/project/types.js.map +1 -0
  158. package/dist/cli/templates/project/website.d.ts +8 -0
  159. package/dist/cli/templates/project/website.d.ts.map +1 -0
  160. package/dist/cli/templates/project/website.js +312 -0
  161. package/dist/cli/templates/project/website.js.map +1 -0
  162. package/dist/cli/utils/fs.d.ts +137 -0
  163. package/dist/cli/utils/fs.d.ts.map +1 -0
  164. package/dist/cli/utils/fs.js +350 -0
  165. package/dist/cli/utils/fs.js.map +1 -0
  166. package/dist/cli/utils/index.d.ts +9 -0
  167. package/dist/cli/utils/index.d.ts.map +1 -0
  168. package/dist/cli/utils/index.js +9 -0
  169. package/dist/cli/utils/index.js.map +1 -0
  170. package/dist/cli/utils/strings.d.ts +86 -0
  171. package/dist/cli/utils/strings.d.ts.map +1 -0
  172. package/dist/cli/utils/strings.js +190 -0
  173. package/dist/cli/utils/strings.js.map +1 -0
  174. package/dist/cli/utils/version.d.ts +15 -0
  175. package/dist/cli/utils/version.d.ts.map +1 -0
  176. package/dist/cli/utils/version.js +38 -0
  177. package/dist/cli/utils/version.js.map +1 -0
  178. package/dist/config/env-validation.d.ts +49 -0
  179. package/dist/config/env-validation.d.ts.map +1 -0
  180. package/dist/config/env-validation.js +77 -0
  181. package/dist/config/env-validation.js.map +1 -0
  182. package/dist/config/env.d.ts +167 -0
  183. package/dist/config/env.d.ts.map +1 -0
  184. package/dist/config/env.js +392 -0
  185. package/dist/config/env.js.map +1 -0
  186. package/dist/config/index.d.ts +168 -0
  187. package/dist/config/index.d.ts.map +1 -0
  188. package/dist/config/index.js +329 -0
  189. package/dist/config/index.js.map +1 -0
  190. package/dist/config/loader.d.ts +81 -0
  191. package/dist/config/loader.d.ts.map +1 -0
  192. package/dist/config/loader.js +242 -0
  193. package/dist/config/loader.js.map +1 -0
  194. package/dist/config/merge.d.ts +66 -0
  195. package/dist/config/merge.d.ts.map +1 -0
  196. package/dist/config/merge.js +226 -0
  197. package/dist/config/merge.js.map +1 -0
  198. package/dist/config/types.d.ts +322 -0
  199. package/dist/config/types.d.ts.map +1 -0
  200. package/dist/config/types.js +443 -0
  201. package/dist/config/types.js.map +1 -0
  202. package/dist/config/validation.d.ts +100 -0
  203. package/dist/config/validation.d.ts.map +1 -0
  204. package/dist/config/validation.js +548 -0
  205. package/dist/config/validation.js.map +1 -0
  206. package/dist/container/forward-ref.d.ts +116 -0
  207. package/dist/container/forward-ref.d.ts.map +1 -0
  208. package/dist/container/forward-ref.js +105 -0
  209. package/dist/container/forward-ref.js.map +1 -0
  210. package/dist/container/index.d.ts +95 -0
  211. package/dist/container/index.d.ts.map +1 -0
  212. package/dist/container/index.js.map +1 -0
  213. package/dist/context/index.d.ts +143 -0
  214. package/dist/context/index.d.ts.map +1 -0
  215. package/dist/context/index.js.map +1 -0
  216. package/dist/database/index.d.ts +219 -0
  217. package/dist/database/index.d.ts.map +1 -0
  218. package/dist/database/index.js.map +1 -0
  219. package/dist/database/migrations/index.d.ts +151 -0
  220. package/dist/database/migrations/index.d.ts.map +1 -0
  221. package/dist/database/migrations/index.js +258 -0
  222. package/dist/database/migrations/index.js.map +1 -0
  223. package/dist/database/orm/builder.d.ts +122 -0
  224. package/dist/database/orm/builder.d.ts.map +1 -0
  225. package/dist/database/orm/builder.js +355 -0
  226. package/dist/database/orm/builder.js.map +1 -0
  227. package/dist/database/orm/casts/index.d.ts +16 -0
  228. package/dist/database/orm/casts/index.d.ts.map +1 -0
  229. package/dist/database/orm/casts/index.js +131 -0
  230. package/dist/database/orm/casts/index.js.map +1 -0
  231. package/dist/database/orm/casts/types.d.ts +16 -0
  232. package/dist/database/orm/casts/types.d.ts.map +1 -0
  233. package/dist/database/orm/casts/types.js +5 -0
  234. package/dist/database/orm/casts/types.js.map +1 -0
  235. package/dist/database/orm/compiler.d.ts +90 -0
  236. package/dist/database/orm/compiler.d.ts.map +1 -0
  237. package/dist/database/orm/compiler.js +218 -0
  238. package/dist/database/orm/compiler.js.map +1 -0
  239. package/dist/database/orm/hooks/index.d.ts +53 -0
  240. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  241. package/dist/database/orm/hooks/index.js +81 -0
  242. package/dist/database/orm/hooks/index.js.map +1 -0
  243. package/dist/database/orm/index.d.ts +21 -0
  244. package/dist/database/orm/index.d.ts.map +1 -0
  245. package/dist/database/orm/index.js +23 -0
  246. package/dist/database/orm/index.js.map +1 -0
  247. package/dist/database/orm/model-registry.d.ts +33 -0
  248. package/dist/database/orm/model-registry.d.ts.map +1 -0
  249. package/dist/database/orm/model-registry.js +49 -0
  250. package/dist/database/orm/model-registry.js.map +1 -0
  251. package/dist/database/orm/model.d.ts +245 -0
  252. package/dist/database/orm/model.d.ts.map +1 -0
  253. package/dist/database/orm/model.js +599 -0
  254. package/dist/database/orm/model.js.map +1 -0
  255. package/dist/database/orm/relationships/base.d.ts +69 -0
  256. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  257. package/dist/database/orm/relationships/base.js +84 -0
  258. package/dist/database/orm/relationships/base.js.map +1 -0
  259. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  260. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  261. package/dist/database/orm/relationships/belongs-to-many.js +136 -0
  262. package/dist/database/orm/relationships/belongs-to-many.js.map +1 -0
  263. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  264. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  265. package/dist/database/orm/relationships/belongs-to.js +38 -0
  266. package/dist/database/orm/relationships/belongs-to.js.map +1 -0
  267. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  268. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  269. package/dist/database/orm/relationships/has-many.js +35 -0
  270. package/dist/database/orm/relationships/has-many.js.map +1 -0
  271. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  272. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  273. package/dist/database/orm/relationships/has-one.js +32 -0
  274. package/dist/database/orm/relationships/has-one.js.map +1 -0
  275. package/dist/database/orm/relationships/index.d.ts +10 -0
  276. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  277. package/dist/database/orm/relationships/index.js +9 -0
  278. package/dist/database/orm/relationships/index.js.map +1 -0
  279. package/dist/database/orm/scopes/index.d.ts +36 -0
  280. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  281. package/dist/database/orm/scopes/index.js +47 -0
  282. package/dist/database/orm/scopes/index.js.map +1 -0
  283. package/dist/database/schema/index.d.ts +155 -0
  284. package/dist/database/schema/index.d.ts.map +1 -0
  285. package/dist/database/schema/index.js +401 -0
  286. package/dist/database/schema/index.js.map +1 -0
  287. package/dist/frontend/api-routes.d.ts +189 -0
  288. package/dist/frontend/api-routes.d.ts.map +1 -0
  289. package/dist/frontend/api-routes.js +548 -0
  290. package/dist/frontend/api-routes.js.map +1 -0
  291. package/dist/frontend/bundler.d.ts +99 -0
  292. package/dist/frontend/bundler.d.ts.map +1 -0
  293. package/dist/frontend/bundler.js +555 -0
  294. package/dist/frontend/bundler.js.map +1 -0
  295. package/dist/frontend/console-client.d.ts +11 -0
  296. package/dist/frontend/console-client.d.ts.map +1 -0
  297. package/dist/frontend/console-client.js +414 -0
  298. package/dist/frontend/console-client.js.map +1 -0
  299. package/dist/frontend/console-stream.d.ts +138 -0
  300. package/dist/frontend/console-stream.d.ts.map +1 -0
  301. package/dist/frontend/console-stream.js +535 -0
  302. package/dist/frontend/console-stream.js.map +1 -0
  303. package/dist/frontend/dev-server.d.ts +174 -0
  304. package/dist/frontend/dev-server.d.ts.map +1 -0
  305. package/dist/frontend/dev-server.js +735 -0
  306. package/dist/frontend/dev-server.js.map +1 -0
  307. package/dist/frontend/file-router.d.ts +170 -0
  308. package/dist/frontend/file-router.d.ts.map +1 -0
  309. package/dist/frontend/file-router.js +531 -0
  310. package/dist/frontend/file-router.js.map +1 -0
  311. package/dist/frontend/frameworks/index.d.ts +41 -0
  312. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  313. package/dist/frontend/frameworks/index.js +87 -0
  314. package/dist/frontend/frameworks/index.js.map +1 -0
  315. package/dist/frontend/frameworks/react.d.ts +32 -0
  316. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  317. package/dist/frontend/frameworks/react.js +66 -0
  318. package/dist/frontend/frameworks/react.js.map +1 -0
  319. package/dist/frontend/frameworks/solid.d.ts +42 -0
  320. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  321. package/dist/frontend/frameworks/solid.js +84 -0
  322. package/dist/frontend/frameworks/solid.js.map +1 -0
  323. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  324. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  325. package/dist/frontend/frameworks/svelte.js +90 -0
  326. package/dist/frontend/frameworks/svelte.js.map +1 -0
  327. package/dist/frontend/frameworks/vue.d.ts +36 -0
  328. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  329. package/dist/frontend/frameworks/vue.js +72 -0
  330. package/dist/frontend/frameworks/vue.js.map +1 -0
  331. package/dist/frontend/hmr-client.d.ts +22 -0
  332. package/dist/frontend/hmr-client.d.ts.map +1 -0
  333. package/dist/frontend/hmr-client.js +654 -0
  334. package/dist/frontend/hmr-client.js.map +1 -0
  335. package/dist/frontend/hmr.d.ts +185 -0
  336. package/dist/frontend/hmr.d.ts.map +1 -0
  337. package/dist/frontend/hmr.js +619 -0
  338. package/dist/frontend/hmr.js.map +1 -0
  339. package/dist/frontend/index.d.ts +34 -0
  340. package/dist/frontend/index.d.ts.map +1 -0
  341. package/dist/frontend/index.js.map +1 -0
  342. package/dist/frontend/islands.d.ts +135 -0
  343. package/dist/frontend/islands.d.ts.map +1 -0
  344. package/dist/frontend/islands.js +455 -0
  345. package/dist/frontend/islands.js.map +1 -0
  346. package/dist/frontend/isr.d.ts +143 -0
  347. package/dist/frontend/isr.d.ts.map +1 -0
  348. package/dist/frontend/isr.js +440 -0
  349. package/dist/frontend/isr.js.map +1 -0
  350. package/dist/frontend/layout.d.ts +140 -0
  351. package/dist/frontend/layout.d.ts.map +1 -0
  352. package/dist/frontend/layout.js +392 -0
  353. package/dist/frontend/layout.js.map +1 -0
  354. package/dist/frontend/ssr/react.d.ts +118 -0
  355. package/dist/frontend/ssr/react.d.ts.map +1 -0
  356. package/dist/frontend/ssr/react.js +373 -0
  357. package/dist/frontend/ssr/react.js.map +1 -0
  358. package/dist/frontend/ssr/solid.d.ts +141 -0
  359. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  360. package/dist/frontend/ssr/solid.js +440 -0
  361. package/dist/frontend/ssr/solid.js.map +1 -0
  362. package/dist/frontend/ssr/svelte.d.ts +158 -0
  363. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  364. package/dist/frontend/ssr/svelte.js +439 -0
  365. package/dist/frontend/ssr/svelte.js.map +1 -0
  366. package/dist/frontend/ssr/vue.d.ts +161 -0
  367. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  368. package/dist/frontend/ssr/vue.js +385 -0
  369. package/dist/frontend/ssr/vue.js.map +1 -0
  370. package/dist/frontend/ssr.d.ts +147 -0
  371. package/dist/frontend/ssr.d.ts.map +1 -0
  372. package/dist/frontend/ssr.js +609 -0
  373. package/dist/frontend/ssr.js.map +1 -0
  374. package/dist/frontend/types.d.ts +1902 -0
  375. package/dist/frontend/types.d.ts.map +1 -0
  376. package/dist/frontend/types.js +8 -0
  377. package/dist/frontend/types.js.map +1 -0
  378. package/dist/graphql/built-in-engine.d.ts +36 -0
  379. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  380. package/dist/graphql/built-in-engine.js +443 -0
  381. package/dist/graphql/built-in-engine.js.map +1 -0
  382. package/dist/graphql/context-builder.d.ts +44 -0
  383. package/dist/graphql/context-builder.d.ts.map +1 -0
  384. package/dist/graphql/context-builder.js +91 -0
  385. package/dist/graphql/context-builder.js.map +1 -0
  386. package/dist/graphql/decorators.d.ts +162 -0
  387. package/dist/graphql/decorators.d.ts.map +1 -0
  388. package/dist/graphql/decorators.js +291 -0
  389. package/dist/graphql/decorators.js.map +1 -0
  390. package/dist/graphql/execution-pipeline.d.ts +67 -0
  391. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  392. package/dist/graphql/execution-pipeline.js +127 -0
  393. package/dist/graphql/execution-pipeline.js.map +1 -0
  394. package/dist/graphql/graphql-module.d.ts +70 -0
  395. package/dist/graphql/graphql-module.d.ts.map +1 -0
  396. package/dist/graphql/graphql-module.js +442 -0
  397. package/dist/graphql/graphql-module.js.map +1 -0
  398. package/dist/graphql/index.d.ts +48 -0
  399. package/dist/graphql/index.d.ts.map +1 -0
  400. package/dist/graphql/index.js.map +1 -0
  401. package/dist/graphql/metadata.d.ts +37 -0
  402. package/dist/graphql/metadata.d.ts.map +1 -0
  403. package/dist/graphql/metadata.js +130 -0
  404. package/dist/graphql/metadata.js.map +1 -0
  405. package/dist/graphql/schema-builder.d.ts +34 -0
  406. package/dist/graphql/schema-builder.d.ts.map +1 -0
  407. package/dist/graphql/schema-builder.js +251 -0
  408. package/dist/graphql/schema-builder.js.map +1 -0
  409. package/dist/graphql/subscription-handler.d.ts +47 -0
  410. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  411. package/dist/graphql/subscription-handler.js +201 -0
  412. package/dist/graphql/subscription-handler.js.map +1 -0
  413. package/dist/graphql/types.d.ts +252 -0
  414. package/dist/graphql/types.d.ts.map +1 -0
  415. package/dist/graphql/types.js +28 -0
  416. package/dist/graphql/types.js.map +1 -0
  417. package/dist/health/index.d.ts +176 -0
  418. package/dist/health/index.d.ts.map +1 -0
  419. package/dist/health/index.js.map +1 -0
  420. package/dist/i18n/engine.d.ts +105 -0
  421. package/dist/i18n/engine.d.ts.map +1 -0
  422. package/dist/i18n/engine.js +248 -0
  423. package/dist/i18n/engine.js.map +1 -0
  424. package/dist/i18n/index.d.ts +13 -0
  425. package/dist/i18n/index.d.ts.map +1 -0
  426. package/dist/i18n/index.js.map +1 -0
  427. package/dist/i18n/loader.d.ts +79 -0
  428. package/dist/i18n/loader.d.ts.map +1 -0
  429. package/dist/i18n/loader.js +192 -0
  430. package/dist/i18n/loader.js.map +1 -0
  431. package/dist/i18n/middleware.d.ts +96 -0
  432. package/dist/i18n/middleware.d.ts.map +1 -0
  433. package/dist/i18n/middleware.js +126 -0
  434. package/dist/i18n/middleware.js.map +1 -0
  435. package/dist/i18n/negotiator.d.ts +84 -0
  436. package/dist/i18n/negotiator.d.ts.map +1 -0
  437. package/dist/i18n/negotiator.js +139 -0
  438. package/dist/i18n/negotiator.js.map +1 -0
  439. package/dist/i18n/types.d.ts +129 -0
  440. package/dist/i18n/types.d.ts.map +1 -0
  441. package/dist/i18n/types.js +8 -0
  442. package/dist/i18n/types.js.map +1 -0
  443. package/dist/index.d.ts +48 -0
  444. package/dist/index.d.ts.map +1 -0
  445. package/dist/index.js.map +1 -0
  446. package/dist/jobs/drivers/memory.d.ts +38 -0
  447. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  448. package/dist/jobs/drivers/memory.js +246 -0
  449. package/dist/jobs/drivers/memory.js.map +1 -0
  450. package/dist/jobs/drivers/redis.d.ts +34 -0
  451. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  452. package/dist/jobs/drivers/redis.js +355 -0
  453. package/dist/jobs/drivers/redis.js.map +1 -0
  454. package/dist/jobs/index.d.ts +12 -0
  455. package/dist/jobs/index.d.ts.map +1 -0
  456. package/dist/jobs/index.js.map +1 -0
  457. package/dist/jobs/queue.d.ts +93 -0
  458. package/dist/jobs/queue.d.ts.map +1 -0
  459. package/dist/jobs/queue.js +233 -0
  460. package/dist/jobs/queue.js.map +1 -0
  461. package/dist/jobs/types.d.ts +193 -0
  462. package/dist/jobs/types.d.ts.map +1 -0
  463. package/dist/jobs/types.js +8 -0
  464. package/dist/jobs/types.js.map +1 -0
  465. package/dist/jobs/worker.d.ts +91 -0
  466. package/dist/jobs/worker.d.ts.map +1 -0
  467. package/dist/jobs/worker.js +300 -0
  468. package/dist/jobs/worker.js.map +1 -0
  469. package/dist/lock/index.d.ts +141 -0
  470. package/dist/lock/index.d.ts.map +1 -0
  471. package/dist/lock/index.js.map +1 -0
  472. package/dist/logger/index.d.ts +156 -0
  473. package/dist/logger/index.d.ts.map +1 -0
  474. package/dist/logger/index.js.map +1 -0
  475. package/dist/logger/transports/index.d.ts +371 -0
  476. package/dist/logger/transports/index.d.ts.map +1 -0
  477. package/dist/logger/transports/index.js +740 -0
  478. package/dist/logger/transports/index.js.map +1 -0
  479. package/dist/metrics/index.d.ts +163 -0
  480. package/dist/metrics/index.d.ts.map +1 -0
  481. package/dist/metrics/index.js.map +1 -0
  482. package/dist/middleware/built-in.d.ts +50 -0
  483. package/dist/middleware/built-in.d.ts.map +1 -0
  484. package/dist/middleware/built-in.js +220 -0
  485. package/dist/middleware/built-in.js.map +1 -0
  486. package/dist/middleware/index.d.ts +40 -0
  487. package/dist/middleware/index.d.ts.map +1 -0
  488. package/dist/middleware/index.js.map +1 -0
  489. package/dist/migrations/index.d.ts +48 -0
  490. package/dist/migrations/index.d.ts.map +1 -0
  491. package/dist/migrations/index.js +3 -0
  492. package/dist/migrations/index.js.map +1 -0
  493. package/dist/modules/filters.d.ts +150 -0
  494. package/dist/modules/filters.d.ts.map +1 -0
  495. package/dist/modules/filters.js +338 -0
  496. package/dist/modules/filters.js.map +1 -0
  497. package/dist/modules/guards.d.ts +188 -0
  498. package/dist/modules/guards.d.ts.map +1 -0
  499. package/dist/modules/guards.js +278 -0
  500. package/dist/modules/guards.js.map +1 -0
  501. package/dist/modules/index.d.ts +266 -0
  502. package/dist/modules/index.d.ts.map +1 -0
  503. package/dist/modules/index.js.map +1 -0
  504. package/dist/modules/interceptors.d.ts +242 -0
  505. package/dist/modules/interceptors.d.ts.map +1 -0
  506. package/dist/modules/interceptors.js +407 -0
  507. package/dist/modules/interceptors.js.map +1 -0
  508. package/dist/modules/lazy.d.ts +187 -0
  509. package/dist/modules/lazy.d.ts.map +1 -0
  510. package/dist/modules/lazy.js +305 -0
  511. package/dist/modules/lazy.js.map +1 -0
  512. package/dist/modules/lifecycle.d.ts +221 -0
  513. package/dist/modules/lifecycle.d.ts.map +1 -0
  514. package/dist/modules/lifecycle.js +314 -0
  515. package/dist/modules/lifecycle.js.map +1 -0
  516. package/dist/modules/metadata.d.ts +32 -0
  517. package/dist/modules/metadata.d.ts.map +1 -0
  518. package/dist/modules/metadata.js +59 -0
  519. package/dist/modules/metadata.js.map +1 -0
  520. package/dist/modules/pipes.d.ts +287 -0
  521. package/dist/modules/pipes.d.ts.map +1 -0
  522. package/dist/modules/pipes.js +443 -0
  523. package/dist/modules/pipes.js.map +1 -0
  524. package/dist/notification/channels/base.d.ts +32 -0
  525. package/dist/notification/channels/base.d.ts.map +1 -0
  526. package/dist/notification/channels/base.js +37 -0
  527. package/dist/notification/channels/base.js.map +1 -0
  528. package/dist/notification/channels/email.d.ts +37 -0
  529. package/dist/notification/channels/email.d.ts.map +1 -0
  530. package/dist/notification/channels/email.js +85 -0
  531. package/dist/notification/channels/email.js.map +1 -0
  532. package/dist/notification/channels/push.d.ts +37 -0
  533. package/dist/notification/channels/push.d.ts.map +1 -0
  534. package/dist/notification/channels/push.js +84 -0
  535. package/dist/notification/channels/push.js.map +1 -0
  536. package/dist/notification/channels/sms.d.ts +37 -0
  537. package/dist/notification/channels/sms.d.ts.map +1 -0
  538. package/dist/notification/channels/sms.js +83 -0
  539. package/dist/notification/channels/sms.js.map +1 -0
  540. package/dist/notification/channels/whatsapp.d.ts +37 -0
  541. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  542. package/dist/notification/channels/whatsapp.js +81 -0
  543. package/dist/notification/channels/whatsapp.js.map +1 -0
  544. package/dist/notification/index.d.ts +15 -0
  545. package/dist/notification/index.d.ts.map +1 -0
  546. package/dist/notification/index.js.map +1 -0
  547. package/dist/notification/service.d.ts +100 -0
  548. package/dist/notification/service.d.ts.map +1 -0
  549. package/dist/notification/service.js +279 -0
  550. package/dist/notification/service.js.map +1 -0
  551. package/dist/notification/types.d.ts +253 -0
  552. package/dist/notification/types.d.ts.map +1 -0
  553. package/dist/notification/types.js +14 -0
  554. package/dist/notification/types.js.map +1 -0
  555. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  556. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  557. package/dist/observability/__tests__/observability.test.js +404 -0
  558. package/dist/observability/__tests__/observability.test.js.map +1 -0
  559. package/dist/observability/breadcrumbs.d.ts +48 -0
  560. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  561. package/dist/observability/breadcrumbs.js +97 -0
  562. package/dist/observability/breadcrumbs.js.map +1 -0
  563. package/dist/observability/index.d.ts +95 -0
  564. package/dist/observability/index.d.ts.map +1 -0
  565. package/dist/observability/index.js.map +1 -0
  566. package/dist/observability/interceptor.d.ts +19 -0
  567. package/dist/observability/interceptor.d.ts.map +1 -0
  568. package/dist/observability/interceptor.js +67 -0
  569. package/dist/observability/interceptor.js.map +1 -0
  570. package/dist/observability/service.d.ts +101 -0
  571. package/dist/observability/service.d.ts.map +1 -0
  572. package/dist/observability/service.js +249 -0
  573. package/dist/observability/service.js.map +1 -0
  574. package/dist/observability/trace.d.ts +21 -0
  575. package/dist/observability/trace.d.ts.map +1 -0
  576. package/dist/observability/trace.js +35 -0
  577. package/dist/observability/trace.js.map +1 -0
  578. package/dist/observability/types.d.ts +172 -0
  579. package/dist/observability/types.d.ts.map +1 -0
  580. package/dist/observability/types.js +8 -0
  581. package/dist/observability/types.js.map +1 -0
  582. package/dist/openapi/decorators.d.ts +173 -0
  583. package/dist/openapi/decorators.d.ts.map +1 -0
  584. package/dist/openapi/decorators.js +276 -0
  585. package/dist/openapi/decorators.js.map +1 -0
  586. package/dist/openapi/document-builder.d.ts +82 -0
  587. package/dist/openapi/document-builder.d.ts.map +1 -0
  588. package/dist/openapi/document-builder.js +228 -0
  589. package/dist/openapi/document-builder.js.map +1 -0
  590. package/dist/openapi/index.d.ts +48 -0
  591. package/dist/openapi/index.d.ts.map +1 -0
  592. package/dist/openapi/index.js.map +1 -0
  593. package/dist/openapi/metadata.d.ts +36 -0
  594. package/dist/openapi/metadata.d.ts.map +1 -0
  595. package/dist/openapi/metadata.js +78 -0
  596. package/dist/openapi/metadata.js.map +1 -0
  597. package/dist/openapi/route-scanner.d.ts +34 -0
  598. package/dist/openapi/route-scanner.d.ts.map +1 -0
  599. package/dist/openapi/route-scanner.js +174 -0
  600. package/dist/openapi/route-scanner.js.map +1 -0
  601. package/dist/openapi/schema-generator.d.ts +53 -0
  602. package/dist/openapi/schema-generator.d.ts.map +1 -0
  603. package/dist/openapi/schema-generator.js +236 -0
  604. package/dist/openapi/schema-generator.js.map +1 -0
  605. package/dist/openapi/swagger-module.d.ts +57 -0
  606. package/dist/openapi/swagger-module.d.ts.map +1 -0
  607. package/dist/openapi/swagger-module.js +143 -0
  608. package/dist/openapi/swagger-module.js.map +1 -0
  609. package/dist/openapi/types.d.ts +344 -0
  610. package/dist/openapi/types.d.ts.map +1 -0
  611. package/dist/openapi/types.js +7 -0
  612. package/dist/openapi/types.js.map +1 -0
  613. package/dist/orm/index.d.ts +10 -0
  614. package/dist/orm/index.d.ts.map +1 -0
  615. package/dist/orm/index.js.map +1 -0
  616. package/dist/router/index.d.ts +73 -0
  617. package/dist/router/index.d.ts.map +1 -0
  618. package/dist/router/index.js.map +1 -0
  619. package/dist/router/linear.d.ts +54 -0
  620. package/dist/router/linear.d.ts.map +1 -0
  621. package/dist/router/linear.js +261 -0
  622. package/dist/router/linear.js.map +1 -0
  623. package/dist/router/regex.d.ts +49 -0
  624. package/dist/router/regex.d.ts.map +1 -0
  625. package/dist/router/regex.js +201 -0
  626. package/dist/router/regex.js.map +1 -0
  627. package/dist/router/tree.d.ts +112 -0
  628. package/dist/router/tree.d.ts.map +1 -0
  629. package/dist/router/tree.js +360 -0
  630. package/dist/router/tree.js.map +1 -0
  631. package/dist/rpc/index.d.ts +321 -0
  632. package/dist/rpc/index.d.ts.map +1 -0
  633. package/dist/rpc/index.js.map +1 -0
  634. package/dist/schema/index.d.ts +10 -0
  635. package/dist/schema/index.d.ts.map +1 -0
  636. package/dist/schema/index.js.map +1 -0
  637. package/dist/security/index.d.ts +126 -0
  638. package/dist/security/index.d.ts.map +1 -0
  639. package/dist/security/index.js +309 -0
  640. package/dist/security/index.js.map +1 -0
  641. package/dist/ssg/index.d.ts +73 -0
  642. package/dist/ssg/index.d.ts.map +1 -0
  643. package/dist/ssg/index.js +464 -0
  644. package/dist/ssg/index.js.map +1 -0
  645. package/dist/storage/index.d.ts +99 -0
  646. package/dist/storage/index.d.ts.map +1 -0
  647. package/dist/storage/index.js +338 -0
  648. package/dist/storage/index.js.map +1 -0
  649. package/dist/telemetry/index.d.ts +376 -0
  650. package/dist/telemetry/index.d.ts.map +1 -0
  651. package/dist/telemetry/index.js.map +1 -0
  652. package/dist/template/index.d.ts +7 -0
  653. package/dist/template/index.d.ts.map +1 -0
  654. package/dist/template/index.js.map +1 -0
  655. package/dist/templates/engine.d.ts +60 -0
  656. package/dist/templates/engine.d.ts.map +1 -0
  657. package/dist/templates/engine.js +177 -0
  658. package/dist/templates/engine.js.map +1 -0
  659. package/dist/templates/index.d.ts +9 -0
  660. package/dist/templates/index.d.ts.map +1 -0
  661. package/dist/templates/index.js.map +1 -0
  662. package/dist/templates/loader.d.ts +45 -0
  663. package/dist/templates/loader.d.ts.map +1 -0
  664. package/dist/templates/loader.js +274 -0
  665. package/dist/templates/loader.js.map +1 -0
  666. package/dist/templates/renderers/markdown.d.ts +46 -0
  667. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  668. package/dist/templates/renderers/markdown.js +181 -0
  669. package/dist/templates/renderers/markdown.js.map +1 -0
  670. package/dist/templates/renderers/simple.d.ts +35 -0
  671. package/dist/templates/renderers/simple.d.ts.map +1 -0
  672. package/dist/templates/renderers/simple.js +245 -0
  673. package/dist/templates/renderers/simple.js.map +1 -0
  674. package/dist/templates/types.d.ts +138 -0
  675. package/dist/templates/types.d.ts.map +1 -0
  676. package/dist/templates/types.js +8 -0
  677. package/dist/templates/types.js.map +1 -0
  678. package/dist/testing/index.d.ts +539 -0
  679. package/dist/testing/index.d.ts.map +1 -0
  680. package/dist/testing/index.js.map +1 -0
  681. package/dist/types/index.d.ts +116 -0
  682. package/dist/types/index.d.ts.map +1 -0
  683. package/dist/types/index.js.map +1 -0
  684. package/dist/validation/index.d.ts +89 -0
  685. package/dist/validation/index.d.ts.map +1 -0
  686. package/dist/validation/index.js +276 -0
  687. package/dist/validation/index.js.map +1 -0
  688. package/dist/validation/schemas.d.ts +283 -0
  689. package/dist/validation/schemas.d.ts.map +1 -0
  690. package/dist/validation/schemas.js +407 -0
  691. package/dist/validation/schemas.js.map +1 -0
  692. package/dist/websocket/index.d.ts +252 -0
  693. package/dist/websocket/index.d.ts.map +1 -0
  694. package/dist/websocket/index.js +749 -0
  695. package/dist/websocket/index.js.map +1 -0
  696. package/llms.txt +1 -1
  697. package/package.json +3 -3
  698. package/src/cli/commands/new.ts +1 -1
  699. package/src/cli/templates/frontend/react.ts +1 -1
  700. package/src/cli/templates/frontend/solid.ts +1 -1
  701. package/src/cli/templates/frontend/svelte.ts +1 -1
  702. package/src/cli/templates/frontend/vue.ts +1 -1
  703. package/src/cli/templates/project/default.ts +1 -1
  704. package/src/cli/templates/project/website.ts +3 -3
  705. package/src/database/migrations/index.ts +8 -0
  706. package/src/migrations/index.ts +40 -1
  707. package/src/types/index.ts +1 -1
  708. package/tsconfig.json +2 -6
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Lazy Loading System
3
+ *
4
+ * Provides on-demand module loading for improved startup time
5
+ * and reduced memory usage for large applications.
6
+ */
7
+ import type { Container, Token } from "../container";
8
+ /**
9
+ * Constructor type for module classes
10
+ */
11
+ export type Constructor = new (...args: unknown[]) => unknown;
12
+ /**
13
+ * Lazy module loader interface
14
+ */
15
+ export interface LazyModuleLoader {
16
+ /**
17
+ * Load the lazy module
18
+ */
19
+ load(): Promise<void>;
20
+ /**
21
+ * Check if the module is already loaded
22
+ */
23
+ isLoaded(): boolean;
24
+ }
25
+ /**
26
+ * Module loader function type for dynamic imports
27
+ */
28
+ export type ModuleLoaderFn = () => Promise<Constructor>;
29
+ /**
30
+ * Metadata for lazy modules
31
+ */
32
+ export interface LazyModuleMetadata {
33
+ loader: ModuleLoaderFn;
34
+ loaded: boolean;
35
+ loadedModule?: Constructor;
36
+ }
37
+ /**
38
+ * Get lazy module metadata
39
+ */
40
+ export declare function getLazyMetadata(target: Constructor): LazyModuleMetadata | undefined;
41
+ /**
42
+ * Check if a module is a lazy module
43
+ */
44
+ export declare function isLazyModule(target: Constructor): boolean;
45
+ /**
46
+ * Implementation of LazyModuleLoader
47
+ */
48
+ export declare class LazyModuleLoaderImpl implements LazyModuleLoader {
49
+ private loaded;
50
+ private loadingPromise;
51
+ private loader;
52
+ private onModuleLoaded?;
53
+ constructor(loader: ModuleLoaderFn, onModuleLoaded?: (moduleClass: Constructor) => Promise<void>);
54
+ load(): Promise<void>;
55
+ private doLoad;
56
+ isLoaded(): boolean;
57
+ }
58
+ /**
59
+ * Decorator to mark a module as lazy-loaded
60
+ *
61
+ * @param loader - Function that returns a Promise resolving to the module class
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * @LazyModule(() => import('./users.module').then(m => m.UsersModule))
66
+ * export class LazyUsersModule {}
67
+ * ```
68
+ */
69
+ export declare function LazyModule(loader: ModuleLoaderFn): ClassDecorator;
70
+ /**
71
+ * Token for the ModuleLoader service
72
+ */
73
+ export declare const MODULE_LOADER_TOKEN: Token<ModuleLoader>;
74
+ /**
75
+ * Options for loading lazy modules
76
+ */
77
+ export interface LoadModuleOptions {
78
+ /**
79
+ * Skip lifecycle hooks when loading
80
+ */
81
+ skipLifecycle?: boolean;
82
+ }
83
+ /**
84
+ * Module loader service for programmatically loading lazy modules
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * @Controller('admin')
89
+ * class AdminController {
90
+ * constructor(private moduleLoader: ModuleLoader) {}
91
+ *
92
+ * @Post('load-users-module')
93
+ * async loadUsersModule() {
94
+ * await this.moduleLoader.load(LazyUsersModule);
95
+ * return { message: 'Users module loaded' };
96
+ * }
97
+ * }
98
+ * ```
99
+ */
100
+ export declare class ModuleLoader {
101
+ private container;
102
+ private loadedModules;
103
+ private moduleLoaders;
104
+ private onModuleLoadCallback?;
105
+ constructor(container: Container);
106
+ /**
107
+ * Set callback to be called when a module is loaded
108
+ * Used by Application to register controllers and providers
109
+ */
110
+ setOnModuleLoadCallback(callback: (moduleClass: Constructor) => Promise<void>): void;
111
+ /**
112
+ * Load a lazy module by its token/class
113
+ *
114
+ * @param moduleToken - The module class or token to load
115
+ * @param options - Options for loading
116
+ */
117
+ load(moduleToken: Token | Constructor, options?: LoadModuleOptions): Promise<void>;
118
+ /**
119
+ * Check if a module is loaded
120
+ *
121
+ * @param moduleToken - The module class or token to check
122
+ */
123
+ isLoaded(moduleToken: Token | Constructor): boolean;
124
+ /**
125
+ * Get all loaded module classes
126
+ */
127
+ getLoadedModules(): Constructor[];
128
+ /**
129
+ * Preload multiple lazy modules
130
+ *
131
+ * @param moduleTokens - Array of module tokens to preload
132
+ */
133
+ preload(moduleTokens: Array<Token | Constructor>): Promise<void>;
134
+ }
135
+ /**
136
+ * Registry for tracking lazy modules across the application
137
+ */
138
+ export declare class LazyModuleRegistry {
139
+ private static instance;
140
+ private lazyModules;
141
+ private constructor();
142
+ static getInstance(): LazyModuleRegistry;
143
+ /**
144
+ * Register a lazy module
145
+ */
146
+ register(token: Token, metadata: LazyModuleMetadata): void;
147
+ /**
148
+ * Get lazy module metadata
149
+ */
150
+ get(token: Token): LazyModuleMetadata | undefined;
151
+ /**
152
+ * Check if a token is a registered lazy module
153
+ */
154
+ has(token: Token): boolean;
155
+ /**
156
+ * Get all registered lazy module tokens
157
+ */
158
+ getAllTokens(): Token[];
159
+ /**
160
+ * Clear the registry
161
+ */
162
+ clear(): void;
163
+ }
164
+ /**
165
+ * Create a lazy module loader for dynamic imports
166
+ *
167
+ * @param importFn - Dynamic import function
168
+ * @param exportName - Name of the exported module class (default: 'default')
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * const loadUsersModule = createLazyLoader(
173
+ * () => import('./users.module'),
174
+ * 'UsersModule'
175
+ * );
176
+ * ```
177
+ */
178
+ export declare function createLazyLoader(importFn: () => Promise<Record<string, unknown>>, exportName?: string): ModuleLoaderFn;
179
+ /**
180
+ * Check if all lazy modules in a list are loaded
181
+ */
182
+ export declare function areAllLazyModulesLoaded(modules: Constructor[]): boolean;
183
+ /**
184
+ * Get list of unloaded lazy modules
185
+ */
186
+ export declare function getUnloadedLazyModules(modules: Constructor[]): Constructor[];
187
+ //# sourceMappingURL=lazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/modules/lazy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,305 @@
1
+ /**
2
+ * Lazy Loading System
3
+ *
4
+ * Provides on-demand module loading for improved startup time
5
+ * and reduced memory usage for large applications.
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ import { Injectable } from "./metadata";
17
+ // ============= Metadata Storage =============
18
+ /**
19
+ * WeakMap storage for lazy module metadata
20
+ */
21
+ const lazyModuleMetadata = new WeakMap();
22
+ /**
23
+ * Set lazy module metadata
24
+ */
25
+ function setLazyMetadata(target, metadata) {
26
+ lazyModuleMetadata.set(target, metadata);
27
+ }
28
+ /**
29
+ * Get lazy module metadata
30
+ */
31
+ export function getLazyMetadata(target) {
32
+ return lazyModuleMetadata.get(target);
33
+ }
34
+ /**
35
+ * Check if a module is a lazy module
36
+ */
37
+ export function isLazyModule(target) {
38
+ return lazyModuleMetadata.has(target);
39
+ }
40
+ // ============= Lazy Module Loader Implementation =============
41
+ /**
42
+ * Implementation of LazyModuleLoader
43
+ */
44
+ export class LazyModuleLoaderImpl {
45
+ loaded = false;
46
+ loadingPromise = null;
47
+ loader;
48
+ onModuleLoaded;
49
+ constructor(loader, onModuleLoaded) {
50
+ this.loader = loader;
51
+ this.onModuleLoaded = onModuleLoaded;
52
+ }
53
+ async load() {
54
+ // Return existing promise if already loading
55
+ if (this.loadingPromise) {
56
+ return this.loadingPromise;
57
+ }
58
+ // Already loaded
59
+ if (this.loaded) {
60
+ return;
61
+ }
62
+ // Start loading
63
+ this.loadingPromise = this.doLoad();
64
+ await this.loadingPromise;
65
+ this.loadingPromise = null;
66
+ }
67
+ async doLoad() {
68
+ try {
69
+ const moduleClass = await this.loader();
70
+ this.loaded = true;
71
+ // Notify callback if provided
72
+ if (this.onModuleLoaded) {
73
+ await this.onModuleLoaded(moduleClass);
74
+ }
75
+ }
76
+ catch (error) {
77
+ this.loadingPromise = null;
78
+ throw new Error(`Failed to load lazy module: ${error instanceof Error ? error.message : String(error)}`);
79
+ }
80
+ }
81
+ isLoaded() {
82
+ return this.loaded;
83
+ }
84
+ }
85
+ // ============= Lazy Module Decorator =============
86
+ /**
87
+ * Decorator to mark a module as lazy-loaded
88
+ *
89
+ * @param loader - Function that returns a Promise resolving to the module class
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * @LazyModule(() => import('./users.module').then(m => m.UsersModule))
94
+ * export class LazyUsersModule {}
95
+ * ```
96
+ */
97
+ export function LazyModule(loader) {
98
+ return (target) => {
99
+ // Store metadata about the lazy module
100
+ setLazyMetadata(target, {
101
+ loader,
102
+ loaded: false,
103
+ });
104
+ return target;
105
+ };
106
+ }
107
+ // ============= Module Loader Service =============
108
+ /**
109
+ * Token for the ModuleLoader service
110
+ */
111
+ export const MODULE_LOADER_TOKEN = Symbol.for("ModuleLoader");
112
+ /**
113
+ * Module loader service for programmatically loading lazy modules
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * @Controller('admin')
118
+ * class AdminController {
119
+ * constructor(private moduleLoader: ModuleLoader) {}
120
+ *
121
+ * @Post('load-users-module')
122
+ * async loadUsersModule() {
123
+ * await this.moduleLoader.load(LazyUsersModule);
124
+ * return { message: 'Users module loaded' };
125
+ * }
126
+ * }
127
+ * ```
128
+ */
129
+ let ModuleLoader = class ModuleLoader {
130
+ container;
131
+ loadedModules = new Set();
132
+ moduleLoaders = new Map();
133
+ onModuleLoadCallback;
134
+ constructor(container) {
135
+ this.container = container;
136
+ }
137
+ /**
138
+ * Set callback to be called when a module is loaded
139
+ * Used by Application to register controllers and providers
140
+ */
141
+ setOnModuleLoadCallback(callback) {
142
+ this.onModuleLoadCallback = callback;
143
+ }
144
+ /**
145
+ * Load a lazy module by its token/class
146
+ *
147
+ * @param moduleToken - The module class or token to load
148
+ * @param options - Options for loading
149
+ */
150
+ async load(moduleToken, options = {}) {
151
+ // Normalize to Constructor if it's a token
152
+ const moduleClass = typeof moduleToken === "function" ? moduleToken : null;
153
+ if (!moduleClass) {
154
+ throw new Error("Module token must be a class constructor");
155
+ }
156
+ // Check if already loaded
157
+ if (this.isLoaded(moduleClass)) {
158
+ return;
159
+ }
160
+ // Check if it's a lazy module
161
+ const metadata = getLazyMetadata(moduleClass);
162
+ if (!metadata) {
163
+ throw new Error(`Module ${moduleClass.name} is not a lazy module. Use @LazyModule decorator.`);
164
+ }
165
+ // Get or create loader
166
+ let loader = this.moduleLoaders.get(moduleClass);
167
+ if (!loader) {
168
+ loader = new LazyModuleLoaderImpl(metadata.loader, async (loadedModule) => {
169
+ // Update metadata
170
+ metadata.loaded = true;
171
+ metadata.loadedModule = loadedModule;
172
+ // Call the callback if set
173
+ if (this.onModuleLoadCallback && !options.skipLifecycle) {
174
+ await this.onModuleLoadCallback(loadedModule);
175
+ }
176
+ });
177
+ this.moduleLoaders.set(moduleClass, loader);
178
+ }
179
+ await loader.load();
180
+ this.loadedModules.add(moduleClass);
181
+ }
182
+ /**
183
+ * Check if a module is loaded
184
+ *
185
+ * @param moduleToken - The module class or token to check
186
+ */
187
+ isLoaded(moduleToken) {
188
+ if (typeof moduleToken === "function") {
189
+ const metadata = getLazyMetadata(moduleToken);
190
+ if (metadata) {
191
+ return metadata.loaded;
192
+ }
193
+ return this.loadedModules.has(moduleToken);
194
+ }
195
+ return this.loadedModules.has(moduleToken);
196
+ }
197
+ /**
198
+ * Get all loaded module classes
199
+ */
200
+ getLoadedModules() {
201
+ return Array.from(this.loadedModules);
202
+ }
203
+ /**
204
+ * Preload multiple lazy modules
205
+ *
206
+ * @param moduleTokens - Array of module tokens to preload
207
+ */
208
+ async preload(moduleTokens) {
209
+ await Promise.all(moduleTokens.map((token) => this.load(token)));
210
+ }
211
+ };
212
+ ModuleLoader = __decorate([
213
+ Injectable(),
214
+ __metadata("design:paramtypes", [Function])
215
+ ], ModuleLoader);
216
+ export { ModuleLoader };
217
+ // ============= Lazy Module Registry =============
218
+ /**
219
+ * Registry for tracking lazy modules across the application
220
+ */
221
+ export class LazyModuleRegistry {
222
+ static instance;
223
+ lazyModules = new Map();
224
+ constructor() { }
225
+ static getInstance() {
226
+ if (!LazyModuleRegistry.instance) {
227
+ LazyModuleRegistry.instance = new LazyModuleRegistry();
228
+ }
229
+ return LazyModuleRegistry.instance;
230
+ }
231
+ /**
232
+ * Register a lazy module
233
+ */
234
+ register(token, metadata) {
235
+ this.lazyModules.set(token, metadata);
236
+ }
237
+ /**
238
+ * Get lazy module metadata
239
+ */
240
+ get(token) {
241
+ return this.lazyModules.get(token);
242
+ }
243
+ /**
244
+ * Check if a token is a registered lazy module
245
+ */
246
+ has(token) {
247
+ return this.lazyModules.has(token);
248
+ }
249
+ /**
250
+ * Get all registered lazy module tokens
251
+ */
252
+ getAllTokens() {
253
+ return Array.from(this.lazyModules.keys());
254
+ }
255
+ /**
256
+ * Clear the registry
257
+ */
258
+ clear() {
259
+ this.lazyModules.clear();
260
+ }
261
+ }
262
+ // ============= Helper Functions =============
263
+ /**
264
+ * Create a lazy module loader for dynamic imports
265
+ *
266
+ * @param importFn - Dynamic import function
267
+ * @param exportName - Name of the exported module class (default: 'default')
268
+ *
269
+ * @example
270
+ * ```typescript
271
+ * const loadUsersModule = createLazyLoader(
272
+ * () => import('./users.module'),
273
+ * 'UsersModule'
274
+ * );
275
+ * ```
276
+ */
277
+ export function createLazyLoader(importFn, exportName = "default") {
278
+ return async () => {
279
+ const module = await importFn();
280
+ const moduleClass = module[exportName];
281
+ if (!moduleClass) {
282
+ throw new Error(`Export "${exportName}" not found in lazy loaded module`);
283
+ }
284
+ return moduleClass;
285
+ };
286
+ }
287
+ /**
288
+ * Check if all lazy modules in a list are loaded
289
+ */
290
+ export function areAllLazyModulesLoaded(modules) {
291
+ return modules.every((module) => {
292
+ const metadata = getLazyMetadata(module);
293
+ return !metadata || metadata.loaded;
294
+ });
295
+ }
296
+ /**
297
+ * Get list of unloaded lazy modules
298
+ */
299
+ export function getUnloadedLazyModules(modules) {
300
+ return modules.filter((module) => {
301
+ const metadata = getLazyMetadata(module);
302
+ return metadata && !metadata.loaded;
303
+ });
304
+ }
305
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/modules/lazy.ts"],"names":[],"mappings":"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"}