@alpha.consultings/eloquent-orm.js 1.0.1

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 (487) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +215 -0
  3. package/dist/Model.d.ts +2 -0
  4. package/dist/Model.d.ts.map +1 -0
  5. package/dist/Model.js +7 -0
  6. package/dist/Model.js.map +1 -0
  7. package/dist/cli/commands/cacheClear.d.ts +2 -0
  8. package/dist/cli/commands/cacheClear.d.ts.map +1 -0
  9. package/dist/cli/commands/cacheClear.js +69 -0
  10. package/dist/cli/commands/cacheClear.js.map +1 -0
  11. package/dist/cli/commands/cacheStats.d.ts +2 -0
  12. package/dist/cli/commands/cacheStats.d.ts.map +1 -0
  13. package/dist/cli/commands/cacheStats.js +55 -0
  14. package/dist/cli/commands/cacheStats.js.map +1 -0
  15. package/dist/cli/commands/dbSeed.d.ts +16 -0
  16. package/dist/cli/commands/dbSeed.d.ts.map +1 -0
  17. package/dist/cli/commands/dbSeed.js +201 -0
  18. package/dist/cli/commands/dbSeed.js.map +1 -0
  19. package/dist/cli/commands/dbSeedBootstrapPrecheck.d.ts +3 -0
  20. package/dist/cli/commands/dbSeedBootstrapPrecheck.d.ts.map +1 -0
  21. package/dist/cli/commands/dbSeedBootstrapPrecheck.js +8 -0
  22. package/dist/cli/commands/dbSeedBootstrapPrecheck.js.map +1 -0
  23. package/dist/cli/commands/dbSeedFresh.d.ts +14 -0
  24. package/dist/cli/commands/dbSeedFresh.d.ts.map +1 -0
  25. package/dist/cli/commands/dbSeedFresh.js +81 -0
  26. package/dist/cli/commands/dbSeedFresh.js.map +1 -0
  27. package/dist/cli/commands/demoScenario.d.ts +9 -0
  28. package/dist/cli/commands/demoScenario.d.ts.map +1 -0
  29. package/dist/cli/commands/demoScenario.js +185 -0
  30. package/dist/cli/commands/demoScenario.js.map +1 -0
  31. package/dist/cli/commands/factoryStatus.d.ts +9 -0
  32. package/dist/cli/commands/factoryStatus.d.ts.map +1 -0
  33. package/dist/cli/commands/factoryStatus.js +103 -0
  34. package/dist/cli/commands/factoryStatus.js.map +1 -0
  35. package/dist/cli/commands/makeController.d.ts +11 -0
  36. package/dist/cli/commands/makeController.d.ts.map +1 -0
  37. package/dist/cli/commands/makeController.js +61 -0
  38. package/dist/cli/commands/makeController.js.map +1 -0
  39. package/dist/cli/commands/makeFactory.d.ts +14 -0
  40. package/dist/cli/commands/makeFactory.d.ts.map +1 -0
  41. package/dist/cli/commands/makeFactory.js +183 -0
  42. package/dist/cli/commands/makeFactory.js.map +1 -0
  43. package/dist/cli/commands/makeMigration.d.ts +18 -0
  44. package/dist/cli/commands/makeMigration.d.ts.map +1 -0
  45. package/dist/cli/commands/makeMigration.js +496 -0
  46. package/dist/cli/commands/makeMigration.js.map +1 -0
  47. package/dist/cli/commands/makeModel.d.ts +20 -0
  48. package/dist/cli/commands/makeModel.d.ts.map +1 -0
  49. package/dist/cli/commands/makeModel.js +360 -0
  50. package/dist/cli/commands/makeModel.js.map +1 -0
  51. package/dist/cli/commands/makeRegistry.d.ts +7 -0
  52. package/dist/cli/commands/makeRegistry.d.ts.map +1 -0
  53. package/dist/cli/commands/makeRegistry.js +88 -0
  54. package/dist/cli/commands/makeRegistry.js.map +1 -0
  55. package/dist/cli/commands/makeScenario.d.ts +12 -0
  56. package/dist/cli/commands/makeScenario.d.ts.map +1 -0
  57. package/dist/cli/commands/makeScenario.js +639 -0
  58. package/dist/cli/commands/makeScenario.js.map +1 -0
  59. package/dist/cli/commands/makeSeed.d.ts +11 -0
  60. package/dist/cli/commands/makeSeed.d.ts.map +1 -0
  61. package/dist/cli/commands/makeSeed.js +47 -0
  62. package/dist/cli/commands/makeSeed.js.map +1 -0
  63. package/dist/cli/commands/makeService.d.ts +5 -0
  64. package/dist/cli/commands/makeService.d.ts.map +1 -0
  65. package/dist/cli/commands/makeService.js +31 -0
  66. package/dist/cli/commands/makeService.js.map +1 -0
  67. package/dist/cli/commands/migrateFresh.d.ts +14 -0
  68. package/dist/cli/commands/migrateFresh.d.ts.map +1 -0
  69. package/dist/cli/commands/migrateFresh.js +150 -0
  70. package/dist/cli/commands/migrateFresh.js.map +1 -0
  71. package/dist/cli/commands/migrateReset.d.ts +12 -0
  72. package/dist/cli/commands/migrateReset.d.ts.map +1 -0
  73. package/dist/cli/commands/migrateReset.js +28 -0
  74. package/dist/cli/commands/migrateReset.js.map +1 -0
  75. package/dist/cli/commands/migrateRollback.d.ts +10 -0
  76. package/dist/cli/commands/migrateRollback.d.ts.map +1 -0
  77. package/dist/cli/commands/migrateRollback.js +303 -0
  78. package/dist/cli/commands/migrateRollback.js.map +1 -0
  79. package/dist/cli/commands/migrateRun.d.ts +10 -0
  80. package/dist/cli/commands/migrateRun.d.ts.map +1 -0
  81. package/dist/cli/commands/migrateRun.js +301 -0
  82. package/dist/cli/commands/migrateRun.js.map +1 -0
  83. package/dist/cli/commands/migrateStatus.d.ts +8 -0
  84. package/dist/cli/commands/migrateStatus.d.ts.map +1 -0
  85. package/dist/cli/commands/migrateStatus.js +118 -0
  86. package/dist/cli/commands/migrateStatus.js.map +1 -0
  87. package/dist/cli/eloquent.d.ts +18 -0
  88. package/dist/cli/eloquent.d.ts.map +1 -0
  89. package/dist/cli/eloquent.js +187 -0
  90. package/dist/cli/eloquent.js.map +1 -0
  91. package/dist/cli/utils/ArtifactCompatibility.d.ts +10 -0
  92. package/dist/cli/utils/ArtifactCompatibility.d.ts.map +1 -0
  93. package/dist/cli/utils/ArtifactCompatibility.js +60 -0
  94. package/dist/cli/utils/ArtifactCompatibility.js.map +1 -0
  95. package/dist/cli/utils/ArtifactRoutingReport.d.ts +10 -0
  96. package/dist/cli/utils/ArtifactRoutingReport.d.ts.map +1 -0
  97. package/dist/cli/utils/ArtifactRoutingReport.js +25 -0
  98. package/dist/cli/utils/ArtifactRoutingReport.js.map +1 -0
  99. package/dist/cli/utils/ArtifactStorage.d.ts +10 -0
  100. package/dist/cli/utils/ArtifactStorage.d.ts.map +1 -0
  101. package/dist/cli/utils/ArtifactStorage.js +193 -0
  102. package/dist/cli/utils/ArtifactStorage.js.map +1 -0
  103. package/dist/cli/utils/AuditTrail.d.ts +25 -0
  104. package/dist/cli/utils/AuditTrail.d.ts.map +1 -0
  105. package/dist/cli/utils/AuditTrail.js +74 -0
  106. package/dist/cli/utils/AuditTrail.js.map +1 -0
  107. package/dist/cli/utils/CliActionRuntime.d.ts +5 -0
  108. package/dist/cli/utils/CliActionRuntime.d.ts.map +1 -0
  109. package/dist/cli/utils/CliActionRuntime.js +22 -0
  110. package/dist/cli/utils/CliActionRuntime.js.map +1 -0
  111. package/dist/cli/utils/CliBootstrapSupport.d.ts +13 -0
  112. package/dist/cli/utils/CliBootstrapSupport.d.ts.map +1 -0
  113. package/dist/cli/utils/CliBootstrapSupport.js +55 -0
  114. package/dist/cli/utils/CliBootstrapSupport.js.map +1 -0
  115. package/dist/cli/utils/CliCommandCatalog.d.ts +6 -0
  116. package/dist/cli/utils/CliCommandCatalog.d.ts.map +1 -0
  117. package/dist/cli/utils/CliCommandCatalog.js +78 -0
  118. package/dist/cli/utils/CliCommandCatalog.js.map +1 -0
  119. package/dist/cli/utils/CliCommandTargets.d.ts +8 -0
  120. package/dist/cli/utils/CliCommandTargets.d.ts.map +1 -0
  121. package/dist/cli/utils/CliCommandTargets.js +19 -0
  122. package/dist/cli/utils/CliCommandTargets.js.map +1 -0
  123. package/dist/cli/utils/CliMakeArtifactCommandRegistration.d.ts +3 -0
  124. package/dist/cli/utils/CliMakeArtifactCommandRegistration.d.ts.map +1 -0
  125. package/dist/cli/utils/CliMakeArtifactCommandRegistration.js +94 -0
  126. package/dist/cli/utils/CliMakeArtifactCommandRegistration.js.map +1 -0
  127. package/dist/cli/utils/CliMigrationCommandRegistration.d.ts +3 -0
  128. package/dist/cli/utils/CliMigrationCommandRegistration.d.ts.map +1 -0
  129. package/dist/cli/utils/CliMigrationCommandRegistration.js +195 -0
  130. package/dist/cli/utils/CliMigrationCommandRegistration.js.map +1 -0
  131. package/dist/cli/utils/CliPresentation.d.ts +2 -0
  132. package/dist/cli/utils/CliPresentation.d.ts.map +1 -0
  133. package/dist/cli/utils/CliPresentation.js +13 -0
  134. package/dist/cli/utils/CliPresentation.js.map +1 -0
  135. package/dist/cli/utils/CliProductionGuards.d.ts +11 -0
  136. package/dist/cli/utils/CliProductionGuards.d.ts.map +1 -0
  137. package/dist/cli/utils/CliProductionGuards.js +34 -0
  138. package/dist/cli/utils/CliProductionGuards.js.map +1 -0
  139. package/dist/cli/utils/CliScaffoldCommandRegistration.d.ts +3 -0
  140. package/dist/cli/utils/CliScaffoldCommandRegistration.d.ts.map +1 -0
  141. package/dist/cli/utils/CliScaffoldCommandRegistration.js +89 -0
  142. package/dist/cli/utils/CliScaffoldCommandRegistration.js.map +1 -0
  143. package/dist/cli/utils/CliSeedScenarioCommandRegistration.d.ts +3 -0
  144. package/dist/cli/utils/CliSeedScenarioCommandRegistration.d.ts.map +1 -0
  145. package/dist/cli/utils/CliSeedScenarioCommandRegistration.js +123 -0
  146. package/dist/cli/utils/CliSeedScenarioCommandRegistration.js.map +1 -0
  147. package/dist/cli/utils/CliSupportCommandRegistration.d.ts +3 -0
  148. package/dist/cli/utils/CliSupportCommandRegistration.d.ts.map +1 -0
  149. package/dist/cli/utils/CliSupportCommandRegistration.js +44 -0
  150. package/dist/cli/utils/CliSupportCommandRegistration.js.map +1 -0
  151. package/dist/cli/utils/ConsoleSilencer.d.ts +6 -0
  152. package/dist/cli/utils/ConsoleSilencer.d.ts.map +1 -0
  153. package/dist/cli/utils/ConsoleSilencer.js +25 -0
  154. package/dist/cli/utils/ConsoleSilencer.js.map +1 -0
  155. package/dist/cli/utils/ImportResolver.d.ts +16 -0
  156. package/dist/cli/utils/ImportResolver.d.ts.map +1 -0
  157. package/dist/cli/utils/ImportResolver.js +57 -0
  158. package/dist/cli/utils/ImportResolver.js.map +1 -0
  159. package/dist/cli/utils/ModelIntrospector.d.ts +33 -0
  160. package/dist/cli/utils/ModelIntrospector.d.ts.map +1 -0
  161. package/dist/cli/utils/ModelIntrospector.js +76 -0
  162. package/dist/cli/utils/ModelIntrospector.js.map +1 -0
  163. package/dist/cli/utils/PathMap.d.ts +58 -0
  164. package/dist/cli/utils/PathMap.d.ts.map +1 -0
  165. package/dist/cli/utils/PathMap.js +132 -0
  166. package/dist/cli/utils/PathMap.js.map +1 -0
  167. package/dist/cli/utils/ProductionSafety.d.ts +25 -0
  168. package/dist/cli/utils/ProductionSafety.d.ts.map +1 -0
  169. package/dist/cli/utils/ProductionSafety.js +61 -0
  170. package/dist/cli/utils/ProductionSafety.js.map +1 -0
  171. package/dist/cli/utils/ScaffoldGeneratorSupport.d.ts +16 -0
  172. package/dist/cli/utils/ScaffoldGeneratorSupport.d.ts.map +1 -0
  173. package/dist/cli/utils/ScaffoldGeneratorSupport.js +66 -0
  174. package/dist/cli/utils/ScaffoldGeneratorSupport.js.map +1 -0
  175. package/dist/cli/utils/ScenarioMorphAliasRouting.d.ts +14 -0
  176. package/dist/cli/utils/ScenarioMorphAliasRouting.d.ts.map +1 -0
  177. package/dist/cli/utils/ScenarioMorphAliasRouting.js +62 -0
  178. package/dist/cli/utils/ScenarioMorphAliasRouting.js.map +1 -0
  179. package/dist/cli/utils/SeedBootstrapPrecheck.d.ts +20 -0
  180. package/dist/cli/utils/SeedBootstrapPrecheck.d.ts.map +1 -0
  181. package/dist/cli/utils/SeedBootstrapPrecheck.js +133 -0
  182. package/dist/cli/utils/SeedBootstrapPrecheck.js.map +1 -0
  183. package/dist/cli/utils/StructuredLogger.d.ts +11 -0
  184. package/dist/cli/utils/StructuredLogger.d.ts.map +1 -0
  185. package/dist/cli/utils/StructuredLogger.js +53 -0
  186. package/dist/cli/utils/StructuredLogger.js.map +1 -0
  187. package/dist/cli/utils/TemplateEngine.d.ts +30 -0
  188. package/dist/cli/utils/TemplateEngine.d.ts.map +1 -0
  189. package/dist/cli/utils/TemplateEngine.js +165 -0
  190. package/dist/cli/utils/TemplateEngine.js.map +1 -0
  191. package/dist/cli/utils/factories/Factory.d.ts +61 -0
  192. package/dist/cli/utils/factories/Factory.d.ts.map +1 -0
  193. package/dist/cli/utils/factories/Factory.js +140 -0
  194. package/dist/cli/utils/factories/Factory.js.map +1 -0
  195. package/dist/cli/utils/factories/FactoryDisplay.d.ts +6 -0
  196. package/dist/cli/utils/factories/FactoryDisplay.d.ts.map +1 -0
  197. package/dist/cli/utils/factories/FactoryDisplay.js +26 -0
  198. package/dist/cli/utils/factories/FactoryDisplay.js.map +1 -0
  199. package/dist/cli/utils/factories/FactoryGraph.d.ts +6 -0
  200. package/dist/cli/utils/factories/FactoryGraph.d.ts.map +1 -0
  201. package/dist/cli/utils/factories/FactoryGraph.js +72 -0
  202. package/dist/cli/utils/factories/FactoryGraph.js.map +1 -0
  203. package/dist/cli/utils/factories/FactoryLoader.d.ts +16 -0
  204. package/dist/cli/utils/factories/FactoryLoader.d.ts.map +1 -0
  205. package/dist/cli/utils/factories/FactoryLoader.js +35 -0
  206. package/dist/cli/utils/factories/FactoryLoader.js.map +1 -0
  207. package/dist/cli/utils/factories/FactoryRegistry.d.ts +16 -0
  208. package/dist/cli/utils/factories/FactoryRegistry.d.ts.map +1 -0
  209. package/dist/cli/utils/factories/FactoryRegistry.js +87 -0
  210. package/dist/cli/utils/factories/FactoryRegistry.js.map +1 -0
  211. package/dist/cli/utils/fileWriter.d.ts +7 -0
  212. package/dist/cli/utils/fileWriter.d.ts.map +1 -0
  213. package/dist/cli/utils/fileWriter.js +61 -0
  214. package/dist/cli/utils/fileWriter.js.map +1 -0
  215. package/dist/cli/utils/migrations/MigrationLockStrategy.d.ts +21 -0
  216. package/dist/cli/utils/migrations/MigrationLockStrategy.d.ts.map +1 -0
  217. package/dist/cli/utils/migrations/MigrationLockStrategy.js +129 -0
  218. package/dist/cli/utils/migrations/MigrationLockStrategy.js.map +1 -0
  219. package/dist/cli/utils/migrations/MigrationTracker.d.ts +25 -0
  220. package/dist/cli/utils/migrations/MigrationTracker.d.ts.map +1 -0
  221. package/dist/cli/utils/migrations/MigrationTracker.js +279 -0
  222. package/dist/cli/utils/migrations/MigrationTracker.js.map +1 -0
  223. package/dist/cli/utils/migrations/MongoMigrationTracker.d.ts +18 -0
  224. package/dist/cli/utils/migrations/MongoMigrationTracker.d.ts.map +1 -0
  225. package/dist/cli/utils/migrations/MongoMigrationTracker.js +276 -0
  226. package/dist/cli/utils/migrations/MongoMigrationTracker.js.map +1 -0
  227. package/dist/cli/utils/resolveConnectionFlags.d.ts +14 -0
  228. package/dist/cli/utils/resolveConnectionFlags.d.ts.map +1 -0
  229. package/dist/cli/utils/resolveConnectionFlags.js +42 -0
  230. package/dist/cli/utils/resolveConnectionFlags.js.map +1 -0
  231. package/dist/cli/utils/resolveSqlConnectionFlags.d.ts +9 -0
  232. package/dist/cli/utils/resolveSqlConnectionFlags.d.ts.map +1 -0
  233. package/dist/cli/utils/resolveSqlConnectionFlags.js +23 -0
  234. package/dist/cli/utils/resolveSqlConnectionFlags.js.map +1 -0
  235. package/dist/cli/utils/typescript/BaseCommand.d.ts +15 -0
  236. package/dist/cli/utils/typescript/BaseCommand.d.ts.map +1 -0
  237. package/dist/cli/utils/typescript/BaseCommand.js +36 -0
  238. package/dist/cli/utils/typescript/BaseCommand.js.map +1 -0
  239. package/dist/cli/utils/typescript/RuntimeDetector.d.ts +16 -0
  240. package/dist/cli/utils/typescript/RuntimeDetector.d.ts.map +1 -0
  241. package/dist/cli/utils/typescript/RuntimeDetector.js +45 -0
  242. package/dist/cli/utils/typescript/RuntimeDetector.js.map +1 -0
  243. package/dist/cli/utils/typescript/TypeScriptCompiler.d.ts +25 -0
  244. package/dist/cli/utils/typescript/TypeScriptCompiler.d.ts.map +1 -0
  245. package/dist/cli/utils/typescript/TypeScriptCompiler.js +109 -0
  246. package/dist/cli/utils/typescript/TypeScriptCompiler.js.map +1 -0
  247. package/dist/cli/utils/typescript/tsRuntime.d.ts +12 -0
  248. package/dist/cli/utils/typescript/tsRuntime.d.ts.map +1 -0
  249. package/dist/cli/utils/typescript/tsRuntime.js +189 -0
  250. package/dist/cli/utils/typescript/tsRuntime.js.map +1 -0
  251. package/dist/config/database.d.ts +58 -0
  252. package/dist/config/database.d.ts.map +1 -0
  253. package/dist/config/database.js +106 -0
  254. package/dist/config/database.js.map +1 -0
  255. package/dist/config/dbRoleEnv.d.ts +31 -0
  256. package/dist/config/dbRoleEnv.d.ts.map +1 -0
  257. package/dist/config/dbRoleEnv.js +171 -0
  258. package/dist/config/dbRoleEnv.js.map +1 -0
  259. package/dist/core/cache/CacheAnalytics.d.ts +47 -0
  260. package/dist/core/cache/CacheAnalytics.d.ts.map +1 -0
  261. package/dist/core/cache/CacheAnalytics.js +113 -0
  262. package/dist/core/cache/CacheAnalytics.js.map +1 -0
  263. package/dist/core/cache/CacheDriver.d.ts +19 -0
  264. package/dist/core/cache/CacheDriver.d.ts.map +1 -0
  265. package/dist/core/cache/CacheDriver.js +8 -0
  266. package/dist/core/cache/CacheDriver.js.map +1 -0
  267. package/dist/core/cache/CacheFallbackManager.d.ts +35 -0
  268. package/dist/core/cache/CacheFallbackManager.d.ts.map +1 -0
  269. package/dist/core/cache/CacheFallbackManager.js +118 -0
  270. package/dist/core/cache/CacheFallbackManager.js.map +1 -0
  271. package/dist/core/cache/CacheManager.d.ts +11 -0
  272. package/dist/core/cache/CacheManager.d.ts.map +1 -0
  273. package/dist/core/cache/CacheManager.js +27 -0
  274. package/dist/core/cache/CacheManager.js.map +1 -0
  275. package/dist/core/cache/CacheRegistry.d.ts +49 -0
  276. package/dist/core/cache/CacheRegistry.d.ts.map +1 -0
  277. package/dist/core/cache/CacheRegistry.js +117 -0
  278. package/dist/core/cache/CacheRegistry.js.map +1 -0
  279. package/dist/core/cache/drivers/FileCacheDriver.d.ts +11 -0
  280. package/dist/core/cache/drivers/FileCacheDriver.d.ts.map +1 -0
  281. package/dist/core/cache/drivers/FileCacheDriver.js +54 -0
  282. package/dist/core/cache/drivers/FileCacheDriver.js.map +1 -0
  283. package/dist/core/cache/drivers/MemcachedCacheDriver.d.ts +15 -0
  284. package/dist/core/cache/drivers/MemcachedCacheDriver.d.ts.map +1 -0
  285. package/dist/core/cache/drivers/MemcachedCacheDriver.js +60 -0
  286. package/dist/core/cache/drivers/MemcachedCacheDriver.js.map +1 -0
  287. package/dist/core/cache/drivers/MemoryCacheDriver.d.ts +9 -0
  288. package/dist/core/cache/drivers/MemoryCacheDriver.d.ts.map +1 -0
  289. package/dist/core/cache/drivers/MemoryCacheDriver.js +33 -0
  290. package/dist/core/cache/drivers/MemoryCacheDriver.js.map +1 -0
  291. package/dist/core/cache/setupCache.d.ts +2 -0
  292. package/dist/core/cache/setupCache.d.ts.map +1 -0
  293. package/dist/core/cache/setupCache.js +38 -0
  294. package/dist/core/cache/setupCache.js.map +1 -0
  295. package/dist/core/connection/BetterSqliteConnection.d.ts +23 -0
  296. package/dist/core/connection/BetterSqliteConnection.d.ts.map +1 -0
  297. package/dist/core/connection/BetterSqliteConnection.js +33 -0
  298. package/dist/core/connection/BetterSqliteConnection.js.map +1 -0
  299. package/dist/core/connection/ConnectionFactory.d.ts +18 -0
  300. package/dist/core/connection/ConnectionFactory.d.ts.map +1 -0
  301. package/dist/core/connection/ConnectionFactory.js +111 -0
  302. package/dist/core/connection/ConnectionFactory.js.map +1 -0
  303. package/dist/core/connection/DatabaseConnection.d.ts +49 -0
  304. package/dist/core/connection/DatabaseConnection.d.ts.map +1 -0
  305. package/dist/core/connection/DatabaseConnection.js +120 -0
  306. package/dist/core/connection/DatabaseConnection.js.map +1 -0
  307. package/dist/core/connection/DriverAdapter.d.ts +23 -0
  308. package/dist/core/connection/DriverAdapter.d.ts.map +1 -0
  309. package/dist/core/connection/DriverAdapter.js +145 -0
  310. package/dist/core/connection/DriverAdapter.js.map +1 -0
  311. package/dist/core/connection/resolveConnectionName.d.ts +17 -0
  312. package/dist/core/connection/resolveConnectionName.d.ts.map +1 -0
  313. package/dist/core/connection/resolveConnectionName.js +47 -0
  314. package/dist/core/connection/resolveConnectionName.js.map +1 -0
  315. package/dist/core/model/BaseModel.d.ts +247 -0
  316. package/dist/core/model/BaseModel.d.ts.map +1 -0
  317. package/dist/core/model/BaseModel.js +165 -0
  318. package/dist/core/model/BaseModel.js.map +1 -0
  319. package/dist/core/model/BaseModelSafeFinderStatics.d.ts +33 -0
  320. package/dist/core/model/BaseModelSafeFinderStatics.d.ts.map +1 -0
  321. package/dist/core/model/BaseModelSafeFinderStatics.js +87 -0
  322. package/dist/core/model/BaseModelSafeFinderStatics.js.map +1 -0
  323. package/dist/core/model/CoreModel.d.ts +134 -0
  324. package/dist/core/model/CoreModel.d.ts.map +1 -0
  325. package/dist/core/model/CoreModel.js +541 -0
  326. package/dist/core/model/CoreModel.js.map +1 -0
  327. package/dist/core/model/CoreModelPersistenceState.d.ts +36 -0
  328. package/dist/core/model/CoreModelPersistenceState.d.ts.map +1 -0
  329. package/dist/core/model/CoreModelPersistenceState.js +141 -0
  330. package/dist/core/model/CoreModelPersistenceState.js.map +1 -0
  331. package/dist/core/model/CoreModelSafeFinderSupport.d.ts +5 -0
  332. package/dist/core/model/CoreModelSafeFinderSupport.d.ts.map +1 -0
  333. package/dist/core/model/CoreModelSafeFinderSupport.js +15 -0
  334. package/dist/core/model/CoreModelSafeFinderSupport.js.map +1 -0
  335. package/dist/core/model/CoreModelValidationEvents.d.ts +24 -0
  336. package/dist/core/model/CoreModelValidationEvents.d.ts.map +1 -0
  337. package/dist/core/model/CoreModelValidationEvents.js +45 -0
  338. package/dist/core/model/CoreModelValidationEvents.js.map +1 -0
  339. package/dist/core/model/SafeFinder.d.ts +46 -0
  340. package/dist/core/model/SafeFinder.d.ts.map +1 -0
  341. package/dist/core/model/SafeFinder.js +223 -0
  342. package/dist/core/model/SafeFinder.js.map +1 -0
  343. package/dist/core/orm/Relation.d.ts +47 -0
  344. package/dist/core/orm/Relation.d.ts.map +1 -0
  345. package/dist/core/orm/Relation.js +62 -0
  346. package/dist/core/orm/Relation.js.map +1 -0
  347. package/dist/core/orm/mixins/CastsMixin.d.ts +18 -0
  348. package/dist/core/orm/mixins/CastsMixin.d.ts.map +1 -0
  349. package/dist/core/orm/mixins/CastsMixin.js +125 -0
  350. package/dist/core/orm/mixins/CastsMixin.js.map +1 -0
  351. package/dist/core/orm/mixins/EagerLoadingMixin.d.ts +19 -0
  352. package/dist/core/orm/mixins/EagerLoadingMixin.d.ts.map +1 -0
  353. package/dist/core/orm/mixins/EagerLoadingMixin.js +137 -0
  354. package/dist/core/orm/mixins/EagerLoadingMixin.js.map +1 -0
  355. package/dist/core/orm/mixins/HooksMixin.d.ts +16 -0
  356. package/dist/core/orm/mixins/HooksMixin.d.ts.map +1 -0
  357. package/dist/core/orm/mixins/HooksMixin.js +95 -0
  358. package/dist/core/orm/mixins/HooksMixin.js.map +1 -0
  359. package/dist/core/orm/mixins/MorphRegistry.d.ts +47 -0
  360. package/dist/core/orm/mixins/MorphRegistry.d.ts.map +1 -0
  361. package/dist/core/orm/mixins/MorphRegistry.js +67 -0
  362. package/dist/core/orm/mixins/MorphRegistry.js.map +1 -0
  363. package/dist/core/orm/mixins/MorphableMixin.d.ts +29 -0
  364. package/dist/core/orm/mixins/MorphableMixin.d.ts.map +1 -0
  365. package/dist/core/orm/mixins/MorphableMixin.js +93 -0
  366. package/dist/core/orm/mixins/MorphableMixin.js.map +1 -0
  367. package/dist/core/orm/mixins/PivotHelperMixin.d.ts +26 -0
  368. package/dist/core/orm/mixins/PivotHelperMixin.d.ts.map +1 -0
  369. package/dist/core/orm/mixins/PivotHelperMixin.js +102 -0
  370. package/dist/core/orm/mixins/PivotHelperMixin.js.map +1 -0
  371. package/dist/core/orm/mixins/QueryCacheMixin.d.ts +23 -0
  372. package/dist/core/orm/mixins/QueryCacheMixin.d.ts.map +1 -0
  373. package/dist/core/orm/mixins/QueryCacheMixin.js +172 -0
  374. package/dist/core/orm/mixins/QueryCacheMixin.js.map +1 -0
  375. package/dist/core/orm/mixins/ScopeMixin.d.ts +20 -0
  376. package/dist/core/orm/mixins/ScopeMixin.d.ts.map +1 -0
  377. package/dist/core/orm/mixins/ScopeMixin.js +72 -0
  378. package/dist/core/orm/mixins/ScopeMixin.js.map +1 -0
  379. package/dist/core/orm/mixins/SerializeMixin.d.ts +44 -0
  380. package/dist/core/orm/mixins/SerializeMixin.d.ts.map +1 -0
  381. package/dist/core/orm/mixins/SerializeMixin.js +80 -0
  382. package/dist/core/orm/mixins/SerializeMixin.js.map +1 -0
  383. package/dist/core/orm/mixins/SoftDeletesMixin.d.ts +22 -0
  384. package/dist/core/orm/mixins/SoftDeletesMixin.d.ts.map +1 -0
  385. package/dist/core/orm/mixins/SoftDeletesMixin.js +146 -0
  386. package/dist/core/orm/mixins/SoftDeletesMixin.js.map +1 -0
  387. package/dist/core/orm/mixins/utils/BaseMethodResolver.d.ts +8 -0
  388. package/dist/core/orm/mixins/utils/BaseMethodResolver.d.ts.map +1 -0
  389. package/dist/core/orm/mixins/utils/BaseMethodResolver.js +26 -0
  390. package/dist/core/orm/mixins/utils/BaseMethodResolver.js.map +1 -0
  391. package/dist/core/orm/mixins/utils/HookStore.d.ts +26 -0
  392. package/dist/core/orm/mixins/utils/HookStore.d.ts.map +1 -0
  393. package/dist/core/orm/mixins/utils/HookStore.js +78 -0
  394. package/dist/core/orm/mixins/utils/HookStore.js.map +1 -0
  395. package/dist/core/orm/mixins/utils/ModelRegistry.d.ts +33 -0
  396. package/dist/core/orm/mixins/utils/ModelRegistry.d.ts.map +1 -0
  397. package/dist/core/orm/mixins/utils/ModelRegistry.js +87 -0
  398. package/dist/core/orm/mixins/utils/ModelRegistry.js.map +1 -0
  399. package/dist/core/orm/mixins/utils/modelRegistration.d.ts +9 -0
  400. package/dist/core/orm/mixins/utils/modelRegistration.d.ts.map +1 -0
  401. package/dist/core/orm/mixins/utils/modelRegistration.js +26 -0
  402. package/dist/core/orm/mixins/utils/modelRegistration.js.map +1 -0
  403. package/dist/core/orm/relations/BelongsTo.d.ts +6 -0
  404. package/dist/core/orm/relations/BelongsTo.d.ts.map +1 -0
  405. package/dist/core/orm/relations/BelongsTo.js +70 -0
  406. package/dist/core/orm/relations/BelongsTo.js.map +1 -0
  407. package/dist/core/orm/relations/BelongsToMany.d.ts +14 -0
  408. package/dist/core/orm/relations/BelongsToMany.d.ts.map +1 -0
  409. package/dist/core/orm/relations/BelongsToMany.js +245 -0
  410. package/dist/core/orm/relations/BelongsToMany.js.map +1 -0
  411. package/dist/core/orm/relations/HasMany.d.ts +6 -0
  412. package/dist/core/orm/relations/HasMany.d.ts.map +1 -0
  413. package/dist/core/orm/relations/HasMany.js +75 -0
  414. package/dist/core/orm/relations/HasMany.js.map +1 -0
  415. package/dist/core/orm/relations/HasOne.d.ts +6 -0
  416. package/dist/core/orm/relations/HasOne.d.ts.map +1 -0
  417. package/dist/core/orm/relations/HasOne.js +71 -0
  418. package/dist/core/orm/relations/HasOne.js.map +1 -0
  419. package/dist/core/orm/relations/MorphMany.d.ts +9 -0
  420. package/dist/core/orm/relations/MorphMany.d.ts.map +1 -0
  421. package/dist/core/orm/relations/MorphMany.js +107 -0
  422. package/dist/core/orm/relations/MorphMany.js.map +1 -0
  423. package/dist/core/orm/relations/MorphOne.d.ts +9 -0
  424. package/dist/core/orm/relations/MorphOne.d.ts.map +1 -0
  425. package/dist/core/orm/relations/MorphOne.js +101 -0
  426. package/dist/core/orm/relations/MorphOne.js.map +1 -0
  427. package/dist/core/orm/relations/MorphTo.d.ts +9 -0
  428. package/dist/core/orm/relations/MorphTo.d.ts.map +1 -0
  429. package/dist/core/orm/relations/MorphTo.js +85 -0
  430. package/dist/core/orm/relations/MorphTo.js.map +1 -0
  431. package/dist/core/schema/SQLDialect.d.ts +22 -0
  432. package/dist/core/schema/SQLDialect.d.ts.map +1 -0
  433. package/dist/core/schema/SQLDialect.js +38 -0
  434. package/dist/core/schema/SQLDialect.js.map +1 -0
  435. package/dist/core/schema/SchemaBlueprint.d.ts +61 -0
  436. package/dist/core/schema/SchemaBlueprint.d.ts.map +1 -0
  437. package/dist/core/schema/SchemaBlueprint.js +62 -0
  438. package/dist/core/schema/SchemaBlueprint.js.map +1 -0
  439. package/dist/core/schema/SchemaBuilder.d.ts +29 -0
  440. package/dist/core/schema/SchemaBuilder.d.ts.map +1 -0
  441. package/dist/core/schema/SchemaBuilder.js +661 -0
  442. package/dist/core/schema/SchemaBuilder.js.map +1 -0
  443. package/dist/core/schema/SchemaValidator.d.ts +23 -0
  444. package/dist/core/schema/SchemaValidator.d.ts.map +1 -0
  445. package/dist/core/schema/SchemaValidator.js +75 -0
  446. package/dist/core/schema/SchemaValidator.js.map +1 -0
  447. package/dist/core/security/AbstractSecurity.d.ts +24 -0
  448. package/dist/core/security/AbstractSecurity.d.ts.map +1 -0
  449. package/dist/core/security/AbstractSecurity.js +58 -0
  450. package/dist/core/security/AbstractSecurity.js.map +1 -0
  451. package/dist/core/security/EnvKeySecurity.d.ts +11 -0
  452. package/dist/core/security/EnvKeySecurity.d.ts.map +1 -0
  453. package/dist/core/security/EnvKeySecurity.js +46 -0
  454. package/dist/core/security/EnvKeySecurity.js.map +1 -0
  455. package/dist/core/security/NoSecurity.d.ts +10 -0
  456. package/dist/core/security/NoSecurity.d.ts.map +1 -0
  457. package/dist/core/security/NoSecurity.js +18 -0
  458. package/dist/core/security/NoSecurity.js.map +1 -0
  459. package/dist/core/security/SecretRedactor.d.ts +4 -0
  460. package/dist/core/security/SecretRedactor.d.ts.map +1 -0
  461. package/dist/core/security/SecretRedactor.js +60 -0
  462. package/dist/core/security/SecretRedactor.js.map +1 -0
  463. package/dist/core/security/SecurityContract.d.ts +13 -0
  464. package/dist/core/security/SecurityContract.d.ts.map +1 -0
  465. package/dist/core/security/SecurityContract.js +3 -0
  466. package/dist/core/security/SecurityContract.js.map +1 -0
  467. package/dist/core/security/SecurityFactory.d.ts +9 -0
  468. package/dist/core/security/SecurityFactory.d.ts.map +1 -0
  469. package/dist/core/security/SecurityFactory.js +29 -0
  470. package/dist/core/security/SecurityFactory.js.map +1 -0
  471. package/dist/core/security/index.d.ts +6 -0
  472. package/dist/core/security/index.d.ts.map +1 -0
  473. package/dist/core/security/index.js +22 -0
  474. package/dist/core/security/index.js.map +1 -0
  475. package/dist/index.d.ts +16 -0
  476. package/dist/index.d.ts.map +1 -0
  477. package/dist/index.js +40 -0
  478. package/dist/index.js.map +1 -0
  479. package/package.json +104 -0
  480. package/src/cli/templates/controller.tpl +80 -0
  481. package/src/cli/templates/factory.tpl +14 -0
  482. package/src/cli/templates/migration.tpl +36 -0
  483. package/src/cli/templates/model-registry.tpl +16 -0
  484. package/src/cli/templates/model.tpl +95 -0
  485. package/src/cli/templates/pivot-factory.tpl +85 -0
  486. package/src/cli/templates/seed.tpl +20 -0
  487. package/src/cli/templates/service.tpl +40 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,73 @@
1
+ ## [1.0.1](https://github.com/MetalDz/Eloquent-ORM.js/compare/v1.0.0...v1.0.1) (2026-03-23)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * align scoped package publish surface ([9b37348](https://github.com/MetalDz/Eloquent-ORM.js/commit/9b373489534325358d7c47b19cbe283687a51f48))
7
+
8
+ # 1.0.0 (2026-03-23)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * minor ([500edb3](https://github.com/MetalDz/Eloquent-ORM.js/commit/500edb3d834cbef454423eadc01c408efbc0daa1))
14
+ * minor ([bba6fd9](https://github.com/MetalDz/Eloquent-ORM.js/commit/bba6fd93a5a2c5166aba9abac3751586a68ef63d))
15
+
16
+
17
+ ### Features
18
+
19
+ * **cli,api:** add model registry generator and clean up model exports ([d51da62](https://github.com/MetalDz/Eloquent-ORM.js/commit/d51da629b1d31a2930c048a15526f7187360bc31))
20
+
21
+ # Changelog
22
+
23
+ ## Unreleased
24
+
25
+ ### Factory createMany concurrency hardening
26
+
27
+ - `Factory.createMany(count, callback, concurrency > 1)` now rejects on the first worker or callback failure.
28
+ - Concurrent `createMany` no longer resolves with sparse/partial success arrays when one task fails.
29
+
30
+ ### Consumer migration note
31
+
32
+ - If your code relied on partial success in concurrent mode, switch to an explicit best-effort flow:
33
+ - run per-item creation with `Promise.allSettled(...)`, or
34
+ - run sequentially and handle per-item errors manually.
35
+
36
+ ### makeModel update rollback safety
37
+
38
+ - `make:model --with-migration` now writes non-destructive `down()` SQL for generated `update_*` migrations.
39
+ - Update migrations now use `SchemaBuilder` inverse rollback SQL instead of unconditional `DROP TABLE`.
40
+ - When inverse rollback SQL is unavailable, generated `down()` emits a no-op rollback comment instead of dropping the table.
41
+
42
+ ### migrateRun empty-detection robustness
43
+
44
+ - `migrate:run` no longer relies on brittle migration file source-text regex to detect empty migrations.
45
+ - Empty detection is now based on actual non-empty `db.query(...)` calls executed during `up()`.
46
+ - Valid migrations that use variable SQL or non-template query forms are no longer skipped as false-empty.
47
+
48
+ ### ConnectionFactory cold-start race protection
49
+
50
+ - `getConnection()` now deduplicates concurrent cold-start initialization per connection name using in-flight promises.
51
+ - `getAdapter()` now deduplicates concurrent cold-start adapter initialization per connection name.
52
+ - Failed initialization now clears in-flight state so retries can succeed cleanly.
53
+
54
+ ### SchemaBuilder default-string escaping hardening
55
+
56
+ - `SchemaBuilder.columnSQL()` now uses safe default-literal formatting for `options.default`.
57
+ - String defaults with single quotes are escaped (`'` -> `''`) in generated SQL.
58
+ - Applies consistently to create SQL and smart-update add-column SQL generation.
59
+
60
+ ## Pre-release Notes
61
+
62
+ ### Breaking package-surface changes in `0.9.x`
63
+
64
+ - Root exports were narrowed to the supported public API in [src/index.ts](/src/index.ts).
65
+ - Deep imports into internal paths such as `@alpha.consultings/eloquent-orm.js/dist/core/*`, `@alpha.consultings/eloquent-orm.js/dist/cli/*`, or repo source paths are private and unsupported.
66
+ - Internal connection helpers and config objects are no longer part of the root package surface.
67
+ - Removed from public root usage: `getConnection`, `getAdapter`, `closeAllConnections`, `resolveConnectionName`, `DriverAdapter`, `dbConfig`, and cache internals.
68
+ - Generated consumer code now imports from `@alpha.consultings/eloquent-orm.js` package root instead of internal relative source paths.
69
+
70
+ ### Consumer action
71
+
72
+ - Update app imports to use only documented root exports from `@alpha.consultings/eloquent-orm.js`.
73
+ - Regenerate CLI-created models/factories/scenarios if they were produced before the package-surface hardening work.
package/README.md ADDED
@@ -0,0 +1,215 @@
1
+ # Eloquent ORM JS
2
+
3
+ Laravel-inspired ORM + CLI for Node.js + TypeScript with SQL and MongoDB runtime support.
4
+
5
+ Package: `@alpha.consultings/eloquent-orm.js`
6
+
7
+ ## What this package gives you
8
+
9
+ - SQL and MongoDB model persistence with a Laravel-like runtime API.
10
+ - CLI generators for models, services, controllers, migrations, factories, and scenarios.
11
+ - Migration and seed pipelines across test/CLI environments.
12
+ - Built-in cache manager and cache-clearing utilities.
13
+ - Relationship support (`belongsTo`, `hasMany`, `belongsToMany`, morph*).
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npm install @alpha.consultings/eloquent-orm.js
19
+ ```
20
+
21
+ ## Prerequisites
22
+
23
+ <!-- supported-prerequisites:start -->
24
+ The following versions are the current supported and CI-tested prerequisites.
25
+
26
+ | Component | Supported / tested version |
27
+ | --- | --- |
28
+ | Node.js | `20.x` |
29
+ | TypeScript | `^5.9.3` |
30
+ | MySQL | `8.0` |
31
+ | PostgreSQL | `16` |
32
+ | MongoDB | `7` |
33
+ | SQLite | `SQLite 3.x via better-sqlite3 12.2.0` |
34
+ | Memcached | `1.6+ server, client package ^2.2.2` |
35
+ <!-- supported-prerequisites:end -->
36
+
37
+ Run commands with:
38
+
39
+ ```bash
40
+ npx eloquent
41
+ ```
42
+
43
+ ## Quick start (CLI + runtime)
44
+
45
+ ### 1) Generate a model and migration
46
+
47
+ ```bash
48
+ npx eloquent make:model User --with-migration
49
+ ```
50
+
51
+ Note: command syntax is `eloquent make:model User`, not `eloquent: make: model`.
52
+
53
+ ### 2) Register models in your app bootstrap
54
+
55
+ Express.js is the required runtime for HTTP-facing usage in this project and integrates without issues.
56
+
57
+ ```ts
58
+ import { registerModels } from "@alpha.consultings/eloquent-orm.js";
59
+ import { User } from "./app/models/User";
60
+ import { Post } from "./app/models/Post";
61
+
62
+ registerModels([User, Post]);
63
+ ```
64
+
65
+ ### 3) Run migrations
66
+
67
+ ```bash
68
+ npx eloquent make:migration --all
69
+ npx eloquent migrate:run --test --all-migrations
70
+ ```
71
+
72
+ ### 4) Optional cache bootstrap
73
+
74
+ ```ts
75
+ import { setupCache } from "@alpha.consultings/eloquent-orm.js";
76
+ setupCache(); // Memory/Staging/Production cache selector from env
77
+ ```
78
+
79
+ ## Common generator commands (runtime-focused)
80
+
81
+ - `npx eloquent make:model User --with-migration`
82
+ - `npx eloquent make:service User`
83
+ - `npx eloquent make:controller User`
84
+ - `npx eloquent make:seed User --count 10`
85
+ - `npx eloquent make:migration --all`
86
+ - `npx eloquent migrate:run`
87
+ - `npx eloquent migrate:fresh --force --yes`
88
+ - `npx eloquent db:seed --class BlogScenarioSeeder --test`
89
+
90
+ ## Runtime CRUD with generated models
91
+
92
+ Use static safe-finders for targeted reads and creation, and use loaded instances for persistence updates.
93
+
94
+ ```ts
95
+ import { User } from "./app/models/User";
96
+
97
+ // List all
98
+ const users = await new User().all();
99
+
100
+ // Safe finder + query chain
101
+ const recentActiveUsers = await User.where("is_active", true)
102
+ .orderBy("created_at", "desc")
103
+ .limit(20)
104
+ .get();
105
+
106
+ const oneByEmail = await User.findOneBy("email", "alice@example.com");
107
+ const byId = await User.find(10);
108
+
109
+ // Create
110
+ const created = await User.create({
111
+ name: "Alice",
112
+ email: "alice@example.com",
113
+ });
114
+
115
+ // Update via instance persistence
116
+ if (created) {
117
+ created.update({ name: "Alice Johnson" });
118
+ await created.save();
119
+ }
120
+
121
+ // Patch directly if already persisted
122
+ const persisted = await User.findOneBy("email", "alice@example.com");
123
+ await persisted?.patch?.({ name: "Alice K." });
124
+
125
+ // Delete
126
+ await User.deleteById(1);
127
+
128
+ // Bulk helpers
129
+ await User.createMany([
130
+ { name: "Bob", email: "bob@example.com" },
131
+ { name: "Carol", email: "carol@example.com" },
132
+ ]);
133
+ await User.updateMany([1, 2], { is_active: false });
134
+ await User.deleteMany([1, 2]);
135
+ ```
136
+
137
+ ### Soft delete + restore
138
+
139
+ Soft delete is supported by model mixins, and delete behavior is routed to `deleted_at` when that field is present in your schema/model state.
140
+
141
+ ```ts
142
+ await User.deleteById(1); // marks deleted_at
143
+ await User.restoreById(1); // clears deleted_at
144
+ ```
145
+
146
+ If your model does not currently use soft-delete columns, keep delete/restore aligned with your schema.
147
+
148
+ ## Generating and using services
149
+
150
+ ```bash
151
+ npx eloquent make:service User
152
+ ```
153
+
154
+ Generated service (`app/services/UserService.ts`):
155
+
156
+ ```ts
157
+ const service = new UserService();
158
+
159
+ await service.all();
160
+ await service.find(1);
161
+ await service.create({ name: "Alice", email: "alice@example.com" });
162
+ await service.update(1, { email: "new@example.com" });
163
+ await service.delete(1);
164
+ await service.restore(1);
165
+ ```
166
+
167
+ This keeps controller code simple and centralizes persistence logic per domain entity.
168
+
169
+ ## Caching inside read/get flows
170
+
171
+ `setupCache()` configures the active cache driver based on environment.
172
+ For read-heavy endpoints, cache at service/query boundary using `CacheManager` (public API).
173
+
174
+ ```ts
175
+ import { CacheManager, setupCache } from "@alpha.consultings/eloquent-orm.js";
176
+
177
+ setupCache();
178
+
179
+ export async function getActiveUsersFromCache() {
180
+ const key = "users:active:v1";
181
+ const cached = await CacheManager.get(key);
182
+ if (cached) return cached;
183
+
184
+ const users = await User.where("is_active", true).orderBy("created_at", "desc").get();
185
+ await CacheManager.set(key, users, 60);
186
+ return users;
187
+ }
188
+
189
+ export async function createUser(payload: Record<string, unknown>) {
190
+ const user = await User.create(payload);
191
+ await CacheManager.delete("users:active:v1"); // invalidate read cache after write
192
+ return user;
193
+ }
194
+ ```
195
+
196
+ CLI cache helpers:
197
+
198
+ - `npx eloquent cache:stats` (inspect runtime cache stats)
199
+ - `npx eloquent cache:clear` (clear all cache entries)
200
+
201
+ ## Documentation
202
+
203
+ The full consumer documentation is organized around the main usage paths:
204
+
205
+ - `Get Started`: installation, quick start, common scenarios, and cookbook guides
206
+ - `Runtime`: CRUD, querying, models, controllers, services, and cache
207
+ - `Test`: Jest/runtime testing, factories, seeds, scenarios, and pack smoke
208
+ - `ORM`: relations, mixins, soft deletes, migrations, multi-connection strategy, and Mongo guidance
209
+ - `CLI`: commands, generators, production-safety rules, and test matrix guidance
210
+
211
+ Start with:
212
+
213
+ - [docs/getting-started/quick-start.mdx](docs/getting-started/quick-start.mdx)
214
+ - [docs/runtime/crud.mdx](docs/runtime/crud.mdx)
215
+ - [docs/runtime/querying.mdx](docs/runtime/querying.mdx)
@@ -0,0 +1,2 @@
1
+ export { SqlModel, MongoModel, type ModelAttrs, type ModelInstance, } from "./core/model/BaseModel";
2
+ //# sourceMappingURL=Model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../src/Model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC"}
package/dist/Model.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoModel = exports.SqlModel = void 0;
4
+ var BaseModel_1 = require("./core/model/BaseModel");
5
+ Object.defineProperty(exports, "SqlModel", { enumerable: true, get: function () { return BaseModel_1.SqlModel; } });
6
+ Object.defineProperty(exports, "MongoModel", { enumerable: true, get: function () { return BaseModel_1.MongoModel; } });
7
+ //# sourceMappingURL=Model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.js","sourceRoot":"","sources":["../src/Model.ts"],"names":[],"mappings":";;;AAAA,oDAKgC;AAJ9B,qGAAA,QAAQ,OAAA;AACR,uGAAA,UAAU,OAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function cacheClear(): Promise<void>;
2
+ //# sourceMappingURL=cacheClear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheClear.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cacheClear.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,kBAsE/B"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheClear = cacheClear;
4
+ const CacheRegistry_1 = require("../../core/cache/CacheRegistry");
5
+ const CacheAnalytics_1 = require("../../core/cache/CacheAnalytics");
6
+ const CacheFallbackManager_1 = require("../../core/cache/CacheFallbackManager");
7
+ const setupCache_1 = require("../../core/cache/setupCache");
8
+ async function cacheClear() {
9
+ (0, setupCache_1.setupCache)();
10
+ const before = CacheRegistry_1.CacheRegistry.getStats();
11
+ const errors = [];
12
+ const fallbackDrivers = CacheFallbackManager_1.CacheFallbackManager.getDrivers();
13
+ try {
14
+ await CacheRegistry_1.CacheRegistry.clearAll();
15
+ }
16
+ catch (err) {
17
+ errors.push(`CacheManager clear failed: ${err instanceof Error ? err.message : String(err)}`);
18
+ }
19
+ let fallbackClearResults = [];
20
+ let fallbackShutdownResults = [];
21
+ if (fallbackDrivers.length > 0) {
22
+ try {
23
+ fallbackClearResults = await CacheFallbackManager_1.CacheFallbackManager.clearAllDrivers();
24
+ }
25
+ catch (err) {
26
+ errors.push(`Fallback clear failed: ${err instanceof Error ? err.message : String(err)}`);
27
+ }
28
+ try {
29
+ fallbackShutdownResults = await CacheFallbackManager_1.CacheFallbackManager.shutdownDrivers();
30
+ }
31
+ catch (err) {
32
+ errors.push(`Fallback shutdown failed: ${err instanceof Error ? err.message : String(err)}`);
33
+ }
34
+ }
35
+ CacheAnalytics_1.CacheAnalytics.reset();
36
+ const after = CacheRegistry_1.CacheRegistry.getStats();
37
+ console.log("cache:clear");
38
+ console.log(` registry keys: ${before.keys} -> ${after.keys}`);
39
+ console.log(` registry groups: ${before.groups} -> ${after.groups}`);
40
+ console.log(" analytics: reset");
41
+ if (fallbackDrivers.length > 0) {
42
+ const summary = fallbackClearResults
43
+ .map((r) => `${r.driver}:${r.ok ? "ok" : "fail"}`)
44
+ .join(", ");
45
+ console.log(` fallback chain clear: ${summary || "no-op"}`);
46
+ const shutdownSummary = fallbackShutdownResults
47
+ .map((r) => `${r.driver}:${r.closed ? "closed" : "open"}`)
48
+ .join(", ");
49
+ console.log(` fallback chain shutdown: ${shutdownSummary || "no-op"}`);
50
+ }
51
+ else {
52
+ console.log(" fallback driver: none");
53
+ }
54
+ const failedFallback = fallbackClearResults.filter((r) => !r.ok);
55
+ for (const failure of failedFallback) {
56
+ errors.push(`Fallback ${failure.driver} clear failed: ${failure.error ?? "unknown error"}`);
57
+ }
58
+ const failedShutdown = fallbackShutdownResults.filter((r) => !r.closed);
59
+ for (const failure of failedShutdown) {
60
+ errors.push(`Fallback ${failure.driver} shutdown failed: ${failure.error ?? "unknown error"}`);
61
+ }
62
+ if (errors.length > 0) {
63
+ console.error(" warnings:");
64
+ for (const err of errors) {
65
+ console.error(` - ${err}`);
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=cacheClear.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheClear.js","sourceRoot":"","sources":["../../../src/cli/commands/cacheClear.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function cacheStats(): Promise<void>;
2
+ //# sourceMappingURL=cacheStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheStats.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cacheStats.ts"],"names":[],"mappings":"AAYA,wBAAsB,UAAU,kBA2D/B"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheStats = cacheStats;
4
+ const CacheManager_1 = require("../../core/cache/CacheManager");
5
+ const CacheRegistry_1 = require("../../core/cache/CacheRegistry");
6
+ const CacheAnalytics_1 = require("../../core/cache/CacheAnalytics");
7
+ const CacheFallbackManager_1 = require("../../core/cache/CacheFallbackManager");
8
+ const setupCache_1 = require("../../core/cache/setupCache");
9
+ function ratioPercent(hits, misses) {
10
+ const total = hits + misses;
11
+ if (total === 0)
12
+ return "0.00%";
13
+ return `${((hits / total) * 100).toFixed(2)}%`;
14
+ }
15
+ async function cacheStats() {
16
+ (0, setupCache_1.setupCache)();
17
+ const driver = CacheManager_1.CacheManager.getDriver();
18
+ const fallbackActive = CacheFallbackManager_1.CacheFallbackManager.getActiveDriver();
19
+ const fallbackDrivers = CacheFallbackManager_1.CacheFallbackManager.getDrivers();
20
+ const registry = CacheRegistry_1.CacheRegistry.getStats();
21
+ const analyticsRows = CacheAnalytics_1.CacheAnalytics.getStats();
22
+ const totalHits = analyticsRows.reduce((sum, row) => sum + row.hits, 0);
23
+ const totalMisses = analyticsRows.reduce((sum, row) => sum + row.misses, 0);
24
+ console.log("cache:stats");
25
+ console.log(` manager driver: ${driver.constructor.name}`);
26
+ console.log(` fallback driver: ${fallbackActive ? fallbackActive.constructor.name : "none"}`);
27
+ if (fallbackDrivers.length > 0) {
28
+ console.log(` fallback chain: ${fallbackDrivers.map((d) => d.constructor.name).join(" -> ")}`);
29
+ }
30
+ else {
31
+ console.log(" fallback chain: none");
32
+ }
33
+ console.log(` registry: models=${registry.models}, groups=${registry.groups}, keys=${registry.keys}`);
34
+ console.log(` analytics: models=${analyticsRows.length}, hits=${totalHits}, misses=${totalMisses}, hit_rate=${ratioPercent(totalHits, totalMisses)}`);
35
+ if (registry.groupsByModel.length > 0) {
36
+ console.log(" registry by model:");
37
+ for (const row of registry.groupsByModel) {
38
+ console.log(` - ${row.model}: groups=${row.groups}, keys=${row.keys}`);
39
+ }
40
+ }
41
+ if (analyticsRows.length > 0) {
42
+ console.log(" analytics by model:");
43
+ for (const row of analyticsRows) {
44
+ console.log(` - ${row.model}: hits=${row.hits}, misses=${row.misses}, ttl=${row.ttl}, hit_rate=${ratioPercent(row.hits, row.misses)}`);
45
+ }
46
+ }
47
+ if (fallbackDrivers.length > 0) {
48
+ const shutdownResults = await CacheFallbackManager_1.CacheFallbackManager.shutdownDrivers();
49
+ const shutdownSummary = shutdownResults
50
+ .map((r) => `${r.driver}:${r.closed ? "closed" : "open"}`)
51
+ .join(", ");
52
+ console.log(` fallback chain shutdown: ${shutdownSummary || "no-op"}`);
53
+ }
54
+ }
55
+ //# sourceMappingURL=cacheStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheStats.js","sourceRoot":"","sources":["../../../src/cli/commands/cacheStats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ConnectionName } from "../../core/connection/ConnectionFactory";
2
+ /**
3
+ * db:seed
4
+ * Runs all seeders (or a specific seeder) in /database/seeds
5
+ */
6
+ export declare function dbSeed(options: {
7
+ test?: boolean;
8
+ class?: string;
9
+ close?: boolean;
10
+ exit?: boolean;
11
+ connectionNames?: ConnectionName[];
12
+ auditCommand?: string;
13
+ silent?: boolean;
14
+ noHooks?: boolean;
15
+ }): Promise<void>;
16
+ //# sourceMappingURL=dbSeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbSeed.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dbSeed.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yCAAyC,CAAC;AAejD;;;GAGG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8LhB"}