@zintrust/core 0.1.0

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 (494) hide show
  1. package/bin/z.d.ts +7 -0
  2. package/bin/z.d.ts.map +1 -0
  3. package/bin/z.js +6 -0
  4. package/bin/zin.d.ts +7 -0
  5. package/bin/zin.d.ts.map +1 -0
  6. package/bin/zin.js +6 -0
  7. package/bin/zintrust-microservices.d.ts +7 -0
  8. package/bin/zintrust-microservices.d.ts.map +1 -0
  9. package/bin/zintrust-microservices.js +165 -0
  10. package/bin/zintrust.d.ts +9 -0
  11. package/bin/zintrust.d.ts.map +1 -0
  12. package/bin/zintrust.js +51 -0
  13. package/bin/zt.d.ts +7 -0
  14. package/bin/zt.d.ts.map +1 -0
  15. package/bin/zt.js +6 -0
  16. package/package.json +80 -0
  17. package/src/boot/Application.d.ts +31 -0
  18. package/src/boot/Application.d.ts.map +1 -0
  19. package/src/boot/Application.js +159 -0
  20. package/src/boot/Server.d.ts +23 -0
  21. package/src/boot/Server.d.ts.map +1 -0
  22. package/src/boot/Server.js +236 -0
  23. package/src/boot/bootstrap.d.ts +7 -0
  24. package/src/boot/bootstrap.d.ts.map +1 -0
  25. package/src/boot/bootstrap.js +64 -0
  26. package/src/builder/BundleOptimizer.d.ts +42 -0
  27. package/src/builder/BundleOptimizer.d.ts.map +1 -0
  28. package/src/builder/BundleOptimizer.js +356 -0
  29. package/src/cache/Cache.d.ts +26 -0
  30. package/src/cache/Cache.d.ts.map +1 -0
  31. package/src/cache/Cache.js +89 -0
  32. package/src/cache/CacheDriver.d.ts +28 -0
  33. package/src/cache/CacheDriver.d.ts.map +1 -0
  34. package/src/cache/CacheDriver.js +6 -0
  35. package/src/cache/drivers/KVDriver.d.ts +12 -0
  36. package/src/cache/drivers/KVDriver.d.ts.map +1 -0
  37. package/src/cache/drivers/KVDriver.js +54 -0
  38. package/src/cache/drivers/MemoryDriver.d.ts +12 -0
  39. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -0
  40. package/src/cache/drivers/MemoryDriver.js +50 -0
  41. package/src/cache/drivers/MongoDriver.d.ts +17 -0
  42. package/src/cache/drivers/MongoDriver.d.ts.map +1 -0
  43. package/src/cache/drivers/MongoDriver.js +80 -0
  44. package/src/cache/drivers/RedisDriver.d.ts +12 -0
  45. package/src/cache/drivers/RedisDriver.d.ts.map +1 -0
  46. package/src/cache/drivers/RedisDriver.js +79 -0
  47. package/src/cli/BaseCommand.d.ts +39 -0
  48. package/src/cli/BaseCommand.d.ts.map +1 -0
  49. package/src/cli/BaseCommand.js +58 -0
  50. package/src/cli/CLI.d.ts +21 -0
  51. package/src/cli/CLI.d.ts.map +1 -0
  52. package/src/cli/CLI.js +203 -0
  53. package/src/cli/ErrorHandler.d.ts +23 -0
  54. package/src/cli/ErrorHandler.d.ts.map +1 -0
  55. package/src/cli/ErrorHandler.js +95 -0
  56. package/src/cli/PromptHelper.d.ts +47 -0
  57. package/src/cli/PromptHelper.d.ts.map +1 -0
  58. package/src/cli/PromptHelper.js +155 -0
  59. package/src/cli/commands/AddCommand.d.ts +15 -0
  60. package/src/cli/commands/AddCommand.d.ts.map +1 -0
  61. package/src/cli/commands/AddCommand.js +817 -0
  62. package/src/cli/commands/ConfigCommand.d.ts +15 -0
  63. package/src/cli/commands/ConfigCommand.d.ts.map +1 -0
  64. package/src/cli/commands/ConfigCommand.js +273 -0
  65. package/src/cli/commands/D1MigrateCommand.d.ts +15 -0
  66. package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -0
  67. package/src/cli/commands/D1MigrateCommand.js +73 -0
  68. package/src/cli/commands/DebugCommand.d.ts +15 -0
  69. package/src/cli/commands/DebugCommand.d.ts.map +1 -0
  70. package/src/cli/commands/DebugCommand.js +52 -0
  71. package/src/cli/commands/FixCommand.d.ts +15 -0
  72. package/src/cli/commands/FixCommand.d.ts.map +1 -0
  73. package/src/cli/commands/FixCommand.js +80 -0
  74. package/src/cli/commands/KeyGenerateCommand.d.ts +9 -0
  75. package/src/cli/commands/KeyGenerateCommand.d.ts.map +1 -0
  76. package/src/cli/commands/KeyGenerateCommand.js +76 -0
  77. package/src/cli/commands/LogsCommand.d.ts +19 -0
  78. package/src/cli/commands/LogsCommand.d.ts.map +1 -0
  79. package/src/cli/commands/LogsCommand.js +185 -0
  80. package/src/cli/commands/MigrateCommand.d.ts +15 -0
  81. package/src/cli/commands/MigrateCommand.d.ts.map +1 -0
  82. package/src/cli/commands/MigrateCommand.js +56 -0
  83. package/src/cli/commands/NewCommand.d.ts +32 -0
  84. package/src/cli/commands/NewCommand.d.ts.map +1 -0
  85. package/src/cli/commands/NewCommand.js +280 -0
  86. package/src/cli/commands/PluginCommand.d.ts +9 -0
  87. package/src/cli/commands/PluginCommand.d.ts.map +1 -0
  88. package/src/cli/commands/PluginCommand.js +94 -0
  89. package/src/cli/commands/PrepareCommand.d.ts +8 -0
  90. package/src/cli/commands/PrepareCommand.d.ts.map +1 -0
  91. package/src/cli/commands/PrepareCommand.js +51 -0
  92. package/src/cli/commands/QACommand.d.ts +33 -0
  93. package/src/cli/commands/QACommand.d.ts.map +1 -0
  94. package/src/cli/commands/QACommand.js +490 -0
  95. package/src/cli/commands/SimulateCommand.d.ts +12 -0
  96. package/src/cli/commands/SimulateCommand.d.ts.map +1 -0
  97. package/src/cli/commands/SimulateCommand.js +79 -0
  98. package/src/cli/commands/StartCommand.d.ts +5 -0
  99. package/src/cli/commands/StartCommand.d.ts.map +1 -0
  100. package/src/cli/commands/StartCommand.js +227 -0
  101. package/src/cli/commands/index.d.ts +11 -0
  102. package/src/cli/commands/index.d.ts.map +1 -0
  103. package/src/cli/commands/index.js +10 -0
  104. package/src/cli/config/ConfigManager.d.ts +42 -0
  105. package/src/cli/config/ConfigManager.d.ts.map +1 -0
  106. package/src/cli/config/ConfigManager.js +175 -0
  107. package/src/cli/config/ConfigSchema.d.ts +195 -0
  108. package/src/cli/config/ConfigSchema.d.ts.map +1 -0
  109. package/src/cli/config/ConfigSchema.js +171 -0
  110. package/src/cli/config/ConfigValidator.d.ts +41 -0
  111. package/src/cli/config/ConfigValidator.d.ts.map +1 -0
  112. package/src/cli/config/ConfigValidator.js +200 -0
  113. package/src/cli/config/index.d.ts +8 -0
  114. package/src/cli/config/index.d.ts.map +1 -0
  115. package/src/cli/config/index.js +7 -0
  116. package/src/cli/debug/Dashboard.d.ts +34 -0
  117. package/src/cli/debug/Dashboard.d.ts.map +1 -0
  118. package/src/cli/debug/Dashboard.js +152 -0
  119. package/src/cli/index.d.ts +14 -0
  120. package/src/cli/index.d.ts.map +1 -0
  121. package/src/cli/index.js +14 -0
  122. package/src/cli/logger/Logger.d.ts +43 -0
  123. package/src/cli/logger/Logger.d.ts.map +1 -0
  124. package/src/cli/logger/Logger.js +137 -0
  125. package/src/cli/scaffolding/ControllerGenerator.d.ts +44 -0
  126. package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -0
  127. package/src/cli/scaffolding/ControllerGenerator.js +540 -0
  128. package/src/cli/scaffolding/FactoryGenerator.d.ts +47 -0
  129. package/src/cli/scaffolding/FactoryGenerator.d.ts.map +1 -0
  130. package/src/cli/scaffolding/FactoryGenerator.js +356 -0
  131. package/src/cli/scaffolding/FeatureScaffolder.d.ts +40 -0
  132. package/src/cli/scaffolding/FeatureScaffolder.d.ts.map +1 -0
  133. package/src/cli/scaffolding/FeatureScaffolder.js +747 -0
  134. package/src/cli/scaffolding/FileGenerator.d.ts +31 -0
  135. package/src/cli/scaffolding/FileGenerator.d.ts.map +1 -0
  136. package/src/cli/scaffolding/FileGenerator.js +222 -0
  137. package/src/cli/scaffolding/MigrationGenerator.d.ts +35 -0
  138. package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -0
  139. package/src/cli/scaffolding/MigrationGenerator.js +257 -0
  140. package/src/cli/scaffolding/ModelGenerator.d.ts +81 -0
  141. package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -0
  142. package/src/cli/scaffolding/ModelGenerator.js +249 -0
  143. package/src/cli/scaffolding/ProjectScaffolder.d.ts +66 -0
  144. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -0
  145. package/src/cli/scaffolding/ProjectScaffolder.js +439 -0
  146. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts +50 -0
  147. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts.map +1 -0
  148. package/src/cli/scaffolding/RequestFactoryGenerator.js +465 -0
  149. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts +43 -0
  150. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts.map +1 -0
  151. package/src/cli/scaffolding/ResponseFactoryGenerator.js +321 -0
  152. package/src/cli/scaffolding/RouteGenerator.d.ts +66 -0
  153. package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -0
  154. package/src/cli/scaffolding/RouteGenerator.js +306 -0
  155. package/src/cli/scaffolding/SeederGenerator.d.ts +47 -0
  156. package/src/cli/scaffolding/SeederGenerator.d.ts.map +1 -0
  157. package/src/cli/scaffolding/SeederGenerator.js +286 -0
  158. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts +40 -0
  159. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts.map +1 -0
  160. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +267 -0
  161. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts +45 -0
  162. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts.map +1 -0
  163. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +397 -0
  164. package/src/cli/scaffolding/ServiceScaffolder.d.ts +45 -0
  165. package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -0
  166. package/src/cli/scaffolding/ServiceScaffolder.js +367 -0
  167. package/src/cli/scaffolding/TemplateEngine.d.ts +35 -0
  168. package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -0
  169. package/src/cli/scaffolding/TemplateEngine.js +379 -0
  170. package/src/cli/scaffolding/WorkflowGenerator.d.ts +31 -0
  171. package/src/cli/scaffolding/WorkflowGenerator.d.ts.map +1 -0
  172. package/src/cli/scaffolding/WorkflowGenerator.js +193 -0
  173. package/src/cli/scaffolding/index.d.ts +34 -0
  174. package/src/cli/scaffolding/index.d.ts.map +1 -0
  175. package/src/cli/scaffolding/index.js +18 -0
  176. package/src/cli/utils/DistPackager.d.ts +8 -0
  177. package/src/cli/utils/DistPackager.d.ts.map +1 -0
  178. package/src/cli/utils/DistPackager.js +94 -0
  179. package/src/cli/utils/EnvFileLoader.d.ts +21 -0
  180. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -0
  181. package/src/cli/utils/EnvFileLoader.js +166 -0
  182. package/src/cli/utils/spawn.d.ts +11 -0
  183. package/src/cli/utils/spawn.d.ts.map +1 -0
  184. package/src/cli/utils/spawn.js +81 -0
  185. package/src/common/index.d.ts +87 -0
  186. package/src/common/index.d.ts.map +1 -0
  187. package/src/common/index.js +207 -0
  188. package/src/config/SecretsManager.d.ts +122 -0
  189. package/src/config/SecretsManager.d.ts.map +1 -0
  190. package/src/config/SecretsManager.js +328 -0
  191. package/src/config/app.d.ts +56 -0
  192. package/src/config/app.d.ts.map +1 -0
  193. package/src/config/app.js +77 -0
  194. package/src/config/cache.d.ts +76 -0
  195. package/src/config/cache.d.ts.map +1 -0
  196. package/src/config/cache.js +62 -0
  197. package/src/config/constants.d.ts +108 -0
  198. package/src/config/constants.d.ts.map +1 -0
  199. package/src/config/constants.js +64 -0
  200. package/src/config/database.d.ts +122 -0
  201. package/src/config/database.d.ts.map +1 -0
  202. package/src/config/database.js +89 -0
  203. package/src/config/env.d.ts +56 -0
  204. package/src/config/env.d.ts.map +1 -0
  205. package/src/config/env.js +133 -0
  206. package/src/config/features.d.ts +27 -0
  207. package/src/config/features.d.ts.map +1 -0
  208. package/src/config/features.js +49 -0
  209. package/src/config/index.d.ts +554 -0
  210. package/src/config/index.d.ts.map +1 -0
  211. package/src/config/index.js +31 -0
  212. package/src/config/logger.d.ts +17 -0
  213. package/src/config/logger.d.ts.map +1 -0
  214. package/src/config/logger.js +77 -0
  215. package/src/config/microservices.d.ts +88 -0
  216. package/src/config/microservices.d.ts.map +1 -0
  217. package/src/config/microservices.js +90 -0
  218. package/src/config/queue.d.ts +107 -0
  219. package/src/config/queue.d.ts.map +1 -0
  220. package/src/config/queue.js +74 -0
  221. package/src/config/security.d.ts +108 -0
  222. package/src/config/security.d.ts.map +1 -0
  223. package/src/config/security.js +134 -0
  224. package/src/config/storage.d.ts +105 -0
  225. package/src/config/storage.d.ts.map +1 -0
  226. package/src/config/storage.js +79 -0
  227. package/src/container/ServiceContainer.d.ts +25 -0
  228. package/src/container/ServiceContainer.d.ts.map +1 -0
  229. package/src/container/ServiceContainer.js +75 -0
  230. package/src/database/migrations/index.d.ts +2 -0
  231. package/src/database/migrations/index.d.ts.map +1 -0
  232. package/src/database/migrations/index.js +1 -0
  233. package/src/exceptions/ZintrustError.d.ts +88 -0
  234. package/src/exceptions/ZintrustError.d.ts.map +1 -0
  235. package/src/exceptions/ZintrustError.js +110 -0
  236. package/src/features/Auth.d.ts +20 -0
  237. package/src/features/Auth.d.ts.map +1 -0
  238. package/src/features/Auth.js +32 -0
  239. package/src/features/Queue.d.ts +21 -0
  240. package/src/features/Queue.d.ts.map +1 -0
  241. package/src/features/Queue.js +59 -0
  242. package/src/functions/cloudflare.d.ts +5 -0
  243. package/src/functions/cloudflare.d.ts.map +1 -0
  244. package/src/functions/cloudflare.js +34 -0
  245. package/src/functions/deno.d.ts +3 -0
  246. package/src/functions/deno.d.ts.map +1 -0
  247. package/src/functions/deno.js +31 -0
  248. package/src/functions/lambda.d.ts +2 -0
  249. package/src/functions/lambda.d.ts.map +1 -0
  250. package/src/functions/lambda.js +32 -0
  251. package/src/http/Controller.d.ts +20 -0
  252. package/src/http/Controller.d.ts.map +1 -0
  253. package/src/http/Controller.js +46 -0
  254. package/src/http/Kernel.d.ts +24 -0
  255. package/src/http/Kernel.d.ts.map +1 -0
  256. package/src/http/Kernel.js +72 -0
  257. package/src/http/Request.d.ts +36 -0
  258. package/src/http/Request.d.ts.map +1 -0
  259. package/src/http/Request.js +142 -0
  260. package/src/http/Response.d.ts +32 -0
  261. package/src/http/Response.d.ts.map +1 -0
  262. package/src/http/Response.js +70 -0
  263. package/src/index.d.ts +43 -0
  264. package/src/index.d.ts.map +1 -0
  265. package/src/index.js +37 -0
  266. package/src/microservices/MicroserviceBootstrap.d.ts +75 -0
  267. package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -0
  268. package/src/microservices/MicroserviceBootstrap.js +285 -0
  269. package/src/microservices/MicroserviceGenerator.d.ts +27 -0
  270. package/src/microservices/MicroserviceGenerator.d.ts.map +1 -0
  271. package/src/microservices/MicroserviceGenerator.js +436 -0
  272. package/src/microservices/MicroserviceManager.d.ts +68 -0
  273. package/src/microservices/MicroserviceManager.d.ts.map +1 -0
  274. package/src/microservices/MicroserviceManager.js +266 -0
  275. package/src/microservices/PostgresAdapter.d.ts +90 -0
  276. package/src/microservices/PostgresAdapter.d.ts.map +1 -0
  277. package/src/microservices/PostgresAdapter.js +286 -0
  278. package/src/microservices/RequestTracingMiddleware.d.ts +41 -0
  279. package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -0
  280. package/src/microservices/RequestTracingMiddleware.js +122 -0
  281. package/src/microservices/ServiceAuthMiddleware.d.ts +58 -0
  282. package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -0
  283. package/src/microservices/ServiceAuthMiddleware.js +240 -0
  284. package/src/microservices/ServiceBundler.d.ts +45 -0
  285. package/src/microservices/ServiceBundler.d.ts.map +1 -0
  286. package/src/microservices/ServiceBundler.js +297 -0
  287. package/src/microservices/ServiceHealthMonitor.d.ts +96 -0
  288. package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -0
  289. package/src/microservices/ServiceHealthMonitor.js +379 -0
  290. package/src/middleware/CsrfMiddleware.d.ts +19 -0
  291. package/src/middleware/CsrfMiddleware.d.ts.map +1 -0
  292. package/src/middleware/CsrfMiddleware.js +121 -0
  293. package/src/middleware/MiddlewareStack.d.ts +27 -0
  294. package/src/middleware/MiddlewareStack.d.ts.map +1 -0
  295. package/src/middleware/MiddlewareStack.js +43 -0
  296. package/src/middleware/RateLimiter.d.ts +22 -0
  297. package/src/middleware/RateLimiter.d.ts.map +1 -0
  298. package/src/middleware/RateLimiter.js +72 -0
  299. package/src/middleware/SecurityMiddleware.d.ts +33 -0
  300. package/src/middleware/SecurityMiddleware.d.ts.map +1 -0
  301. package/src/middleware/SecurityMiddleware.js +106 -0
  302. package/src/middleware/index.d.ts +9 -0
  303. package/src/middleware/index.d.ts.map +1 -0
  304. package/src/middleware/index.js +8 -0
  305. package/src/node-singletons/child-process.d.ts +7 -0
  306. package/src/node-singletons/child-process.d.ts.map +1 -0
  307. package/src/node-singletons/child-process.js +6 -0
  308. package/src/node-singletons/crypto.d.ts +7 -0
  309. package/src/node-singletons/crypto.d.ts.map +1 -0
  310. package/src/node-singletons/crypto.js +6 -0
  311. package/src/node-singletons/events.d.ts +7 -0
  312. package/src/node-singletons/events.d.ts.map +1 -0
  313. package/src/node-singletons/events.js +6 -0
  314. package/src/node-singletons/fs.d.ts +12 -0
  315. package/src/node-singletons/fs.d.ts.map +1 -0
  316. package/src/node-singletons/fs.js +14 -0
  317. package/src/node-singletons/http.d.ts +8 -0
  318. package/src/node-singletons/http.d.ts.map +1 -0
  319. package/src/node-singletons/http.js +6 -0
  320. package/src/node-singletons/index.d.ts +30 -0
  321. package/src/node-singletons/index.d.ts.map +1 -0
  322. package/src/node-singletons/index.js +31 -0
  323. package/src/node-singletons/os.d.ts +9 -0
  324. package/src/node-singletons/os.d.ts.map +1 -0
  325. package/src/node-singletons/os.js +9 -0
  326. package/src/node-singletons/path.d.ts +7 -0
  327. package/src/node-singletons/path.d.ts.map +1 -0
  328. package/src/node-singletons/path.js +6 -0
  329. package/src/node-singletons/perf-hooks.d.ts +7 -0
  330. package/src/node-singletons/perf-hooks.d.ts.map +1 -0
  331. package/src/node-singletons/perf-hooks.js +6 -0
  332. package/src/node-singletons/readline.d.ts +10 -0
  333. package/src/node-singletons/readline.d.ts.map +1 -0
  334. package/src/node-singletons/readline.js +9 -0
  335. package/src/node-singletons/url.d.ts +7 -0
  336. package/src/node-singletons/url.d.ts.map +1 -0
  337. package/src/node-singletons/url.js +6 -0
  338. package/src/orm/ConnectionManager.d.ts +118 -0
  339. package/src/orm/ConnectionManager.d.ts.map +1 -0
  340. package/src/orm/ConnectionManager.js +401 -0
  341. package/src/orm/Database.d.ts +31 -0
  342. package/src/orm/Database.d.ts.map +1 -0
  343. package/src/orm/Database.js +163 -0
  344. package/src/orm/DatabaseAdapter.d.ts +96 -0
  345. package/src/orm/DatabaseAdapter.d.ts.map +1 -0
  346. package/src/orm/DatabaseAdapter.js +40 -0
  347. package/src/orm/Model.d.ts +91 -0
  348. package/src/orm/Model.d.ts.map +1 -0
  349. package/src/orm/Model.js +206 -0
  350. package/src/orm/QueryBuilder.d.ts +52 -0
  351. package/src/orm/QueryBuilder.d.ts.map +1 -0
  352. package/src/orm/QueryBuilder.js +134 -0
  353. package/src/orm/Relationships.d.ts +53 -0
  354. package/src/orm/Relationships.d.ts.map +1 -0
  355. package/src/orm/Relationships.js +98 -0
  356. package/src/orm/Schema.d.ts +123 -0
  357. package/src/orm/Schema.d.ts.map +1 -0
  358. package/src/orm/Schema.js +169 -0
  359. package/src/orm/adapters/D1Adapter.d.ts +15 -0
  360. package/src/orm/adapters/D1Adapter.d.ts.map +1 -0
  361. package/src/orm/adapters/D1Adapter.js +125 -0
  362. package/src/orm/adapters/MySQLAdapter.d.ts +16 -0
  363. package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -0
  364. package/src/orm/adapters/MySQLAdapter.js +87 -0
  365. package/src/orm/adapters/PostgreSQLAdapter.d.ts +16 -0
  366. package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  367. package/src/orm/adapters/PostgreSQLAdapter.js +87 -0
  368. package/src/orm/adapters/SQLServerAdapter.d.ts +16 -0
  369. package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -0
  370. package/src/orm/adapters/SQLServerAdapter.js +81 -0
  371. package/src/orm/adapters/SQLiteAdapter.d.ts +11 -0
  372. package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -0
  373. package/src/orm/adapters/SQLiteAdapter.js +131 -0
  374. package/src/performance/Benchmark.d.ts +87 -0
  375. package/src/performance/Benchmark.d.ts.map +1 -0
  376. package/src/performance/Benchmark.js +304 -0
  377. package/src/performance/CodeGenerationBenchmark.d.ts +23 -0
  378. package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -0
  379. package/src/performance/CodeGenerationBenchmark.js +249 -0
  380. package/src/performance/Optimizer.d.ts +99 -0
  381. package/src/performance/Optimizer.d.ts.map +1 -0
  382. package/src/performance/Optimizer.js +396 -0
  383. package/src/performance/establish-baseline.d.ts +9 -0
  384. package/src/performance/establish-baseline.d.ts.map +1 -0
  385. package/src/performance/establish-baseline.js +55 -0
  386. package/src/profiling/MemoryProfiler.d.ts +32 -0
  387. package/src/profiling/MemoryProfiler.d.ts.map +1 -0
  388. package/src/profiling/MemoryProfiler.js +84 -0
  389. package/src/profiling/N1Detector.d.ts +16 -0
  390. package/src/profiling/N1Detector.d.ts.map +1 -0
  391. package/src/profiling/N1Detector.js +120 -0
  392. package/src/profiling/QueryLogger.d.ts +107 -0
  393. package/src/profiling/QueryLogger.d.ts.map +1 -0
  394. package/src/profiling/QueryLogger.js +148 -0
  395. package/src/profiling/RequestProfiler.d.ts +30 -0
  396. package/src/profiling/RequestProfiler.d.ts.map +1 -0
  397. package/src/profiling/RequestProfiler.js +94 -0
  398. package/src/profiling/types.d.ts +77 -0
  399. package/src/profiling/types.d.ts.map +1 -0
  400. package/src/profiling/types.js +5 -0
  401. package/src/routing/Router.d.ts +52 -0
  402. package/src/routing/Router.d.ts.map +1 -0
  403. package/src/routing/Router.js +191 -0
  404. package/src/runtime/PluginManager.d.ts +30 -0
  405. package/src/runtime/PluginManager.d.ts.map +1 -0
  406. package/src/runtime/PluginManager.js +197 -0
  407. package/src/runtime/PluginRegistry.d.ts +22 -0
  408. package/src/runtime/PluginRegistry.d.ts.map +1 -0
  409. package/src/runtime/PluginRegistry.js +93 -0
  410. package/src/runtime/RuntimeAdapter.d.ts +126 -0
  411. package/src/runtime/RuntimeAdapter.d.ts.map +1 -0
  412. package/src/runtime/RuntimeAdapter.js +127 -0
  413. package/src/runtime/RuntimeDetector.d.ts +15 -0
  414. package/src/runtime/RuntimeDetector.d.ts.map +1 -0
  415. package/src/runtime/RuntimeDetector.js +219 -0
  416. package/src/runtime/adapters/CloudflareAdapter.d.ts +43 -0
  417. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -0
  418. package/src/runtime/adapters/CloudflareAdapter.js +175 -0
  419. package/src/runtime/adapters/DenoAdapter.d.ts +30 -0
  420. package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -0
  421. package/src/runtime/adapters/DenoAdapter.js +191 -0
  422. package/src/runtime/adapters/FargateAdapter.d.ts +40 -0
  423. package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -0
  424. package/src/runtime/adapters/FargateAdapter.js +156 -0
  425. package/src/runtime/adapters/LambdaAdapter.d.ts +13 -0
  426. package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -0
  427. package/src/runtime/adapters/LambdaAdapter.js +302 -0
  428. package/src/runtime/adapters/NodeServerAdapter.d.ts +16 -0
  429. package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -0
  430. package/src/runtime/adapters/NodeServerAdapter.js +199 -0
  431. package/src/scripts/TemplateSync.d.ts +7 -0
  432. package/src/scripts/TemplateSync.d.ts.map +1 -0
  433. package/src/scripts/TemplateSync.js +234 -0
  434. package/src/security/CsrfTokenManager.d.ts +28 -0
  435. package/src/security/CsrfTokenManager.d.ts.map +1 -0
  436. package/src/security/CsrfTokenManager.js +78 -0
  437. package/src/security/Encryptor.d.ts +15 -0
  438. package/src/security/Encryptor.d.ts.map +1 -0
  439. package/src/security/Encryptor.js +142 -0
  440. package/src/security/JwtManager.d.ts +41 -0
  441. package/src/security/JwtManager.d.ts.map +1 -0
  442. package/src/security/JwtManager.js +229 -0
  443. package/src/security/UrlValidator.d.ts +21 -0
  444. package/src/security/UrlValidator.d.ts.map +1 -0
  445. package/src/security/UrlValidator.js +42 -0
  446. package/src/security/XssProtection.d.ts +24 -0
  447. package/src/security/XssProtection.d.ts.map +1 -0
  448. package/src/security/XssProtection.js +133 -0
  449. package/src/templates/TemplateRegistry.d.ts +40 -0
  450. package/src/templates/TemplateRegistry.d.ts.map +1 -0
  451. package/src/templates/TemplateRegistry.js +78 -0
  452. package/src/templates/TemplateRegistry.ts +91 -0
  453. package/src/templates/adapters/MySQLAdapter.ts.tpl +97 -0
  454. package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +101 -0
  455. package/src/templates/adapters/SQLServerAdapter.ts.tpl +95 -0
  456. package/src/templates/adapters/SQLiteAdapter.ts.tpl +189 -0
  457. package/src/templates/features/Auth.ts.tpl +40 -0
  458. package/src/templates/features/Queue.ts.tpl +75 -0
  459. package/src/templates/project/basic/.env.example.tpl +26 -0
  460. package/src/templates/project/basic/.env.tpl +164 -0
  461. package/src/templates/project/basic/README.md.tpl +13 -0
  462. package/src/templates/project/basic/app/Controllers/UserController.ts.tpl +155 -0
  463. package/src/templates/project/basic/app/Middleware/ProfilerMiddleware.ts.tpl +55 -0
  464. package/src/templates/project/basic/app/Middleware/index.ts.tpl +304 -0
  465. package/src/templates/project/basic/app/Models/Post.ts.tpl +30 -0
  466. package/src/templates/project/basic/app/Models/User.ts.tpl +53 -0
  467. package/src/templates/project/basic/config/SecretsManager.ts.tpl +453 -0
  468. package/src/templates/project/basic/config/app.ts.tpl +97 -0
  469. package/src/templates/project/basic/config/cache.ts.tpl +117 -0
  470. package/src/templates/project/basic/config/constants.ts.tpl +70 -0
  471. package/src/templates/project/basic/config/database.ts.tpl +152 -0
  472. package/src/templates/project/basic/config/env.ts.tpl +148 -0
  473. package/src/templates/project/basic/config/features.ts.tpl +57 -0
  474. package/src/templates/project/basic/config/index.ts.tpl +36 -0
  475. package/src/templates/project/basic/config/logger.ts.tpl +95 -0
  476. package/src/templates/project/basic/config/microservices.ts.tpl +104 -0
  477. package/src/templates/project/basic/config/queue.ts.tpl +134 -0
  478. package/src/templates/project/basic/config/security.ts.tpl +149 -0
  479. package/src/templates/project/basic/config/storage.ts.tpl +136 -0
  480. package/src/templates/project/basic/database/factories/.gitkeep.tpl +0 -0
  481. package/src/templates/project/basic/database/migrations/.gitkeep.tpl +0 -0
  482. package/src/templates/project/basic/database/migrations/index.ts.tpl +2 -0
  483. package/src/templates/project/basic/database/seeders/.gitkeep.tpl +0 -0
  484. package/src/templates/project/basic/package.json.tpl +22 -0
  485. package/src/templates/project/basic/routes/api.ts.tpl +135 -0
  486. package/src/templates/project/basic/src/index.ts.tpl +49 -0
  487. package/src/templates/project/basic/template.json +17 -0
  488. package/src/templates/project/basic/tsconfig.json.tpl +20 -0
  489. package/src/validation/ValidationError.d.ts +42 -0
  490. package/src/validation/ValidationError.d.ts.map +1 -0
  491. package/src/validation/ValidationError.js +53 -0
  492. package/src/validation/Validator.d.ts +60 -0
  493. package/src/validation/Validator.d.ts.map +1 -0
  494. package/src/validation/Validator.js +190 -0
@@ -0,0 +1,31 @@
1
+ /**
2
+ * File Generator
3
+ * Handles creation of files and directories
4
+ * Sealed namespace with file I/O operations
5
+ */
6
+ export interface FileCreationOptions {
7
+ overwrite?: boolean;
8
+ createDirs?: boolean;
9
+ encoding?: BufferEncoding;
10
+ }
11
+ /**
12
+ * FileGenerator namespace - sealed for immutability
13
+ */
14
+ export declare const FileGenerator: Readonly<{
15
+ createDirectory: (dirPath: string) => boolean;
16
+ createDirectories: (directories: string[], baseDir: string) => void;
17
+ writeFile: (filePath: string, content: string, options?: FileCreationOptions) => boolean;
18
+ writeFiles: (files: Array<{
19
+ path: string;
20
+ content: string;
21
+ }>, baseDir: string, options?: FileCreationOptions) => number;
22
+ readFile: (filePath: string, encoding?: BufferEncoding) => string;
23
+ fileExists: (filePath: string) => boolean;
24
+ directoryExists: (dirPath: string) => boolean;
25
+ deleteFile: (filePath: string) => boolean;
26
+ deleteDirectory: (dirPath: string) => boolean;
27
+ listFiles: (dirPath: string, recursive?: boolean) => string[];
28
+ copyFile: (source: string, destination: string, options?: FileCreationOptions) => boolean;
29
+ getDirectorySize: (dirPath: string) => number;
30
+ }>;
31
+ //# sourceMappingURL=FileGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/FileGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAsOD;;GAEG;AACH,eAAO,MAAM,aAAa;+BApOQ,MAAM,KAAG,OAAO;qCAgBV,MAAM,EAAE,WAAW,MAAM,KAAG,IAAI;0BAW5D,MAAM,WACP,MAAM,YACN,mBAAmB,KAC3B,OAAO;wBA8BD,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,WACtC,MAAM,YACL,mBAAmB,KAC5B,MAAM;yBAgBmB,MAAM,aAAY,cAAc,KAAa,MAAM;2BAWjD,MAAM,KAAG,OAAO;+BAOZ,MAAM,KAAG,OAAO;2BAOpB,MAAM,KAAG,OAAO;+BAgBZ,MAAM,KAAG,OAAO;yBAgBtB,MAAM,0BAAsB,MAAM,EAAE;uBAiCtD,MAAM,eACD,MAAM,YACV,mBAAmB,KAC3B,OAAO;gCAwByB,MAAM,KAAG,MAAM;EA6ChD,CAAC"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * File Generator
3
+ * Handles creation of files and directories
4
+ * Sealed namespace with file I/O operations
5
+ */
6
+ import { Logger } from '../../config/logger';
7
+ import { ErrorFactory } from '../../exceptions/ZintrustError';
8
+ import fs from '../../node-singletons/fs';
9
+ import * as path from 'node:path';
10
+ /**
11
+ * Create a directory recursively
12
+ */
13
+ const createDirectory = (dirPath) => {
14
+ try {
15
+ if (!fs.existsSync(dirPath)) {
16
+ fs.mkdirSync(dirPath, { recursive: true });
17
+ Logger.info(`Created directory: ${dirPath}`);
18
+ return true;
19
+ }
20
+ return false;
21
+ }
22
+ catch (error) {
23
+ throw ErrorFactory.createCliError(`Failed to create directory ${dirPath}:`, error);
24
+ }
25
+ };
26
+ /**
27
+ * Create multiple directories
28
+ */
29
+ const createDirectories = (directories, baseDir) => {
30
+ for (const dir of directories) {
31
+ const fullPath = path.join(baseDir, dir);
32
+ createDirectory(fullPath);
33
+ }
34
+ };
35
+ /**
36
+ * Write file content
37
+ */
38
+ const writeFile = (filePath, content, options = {}) => {
39
+ const { overwrite = false, createDirs = true, encoding = 'utf-8' } = options;
40
+ try {
41
+ const dir = path.dirname(filePath);
42
+ // Create parent directories if needed
43
+ if (createDirs && !fs.existsSync(dir)) {
44
+ createDirectory(dir);
45
+ }
46
+ // Check if file exists
47
+ if (fs.existsSync(filePath) && !overwrite) {
48
+ Logger.warn(`File already exists (skipped): ${filePath}`);
49
+ return false;
50
+ }
51
+ // Write file
52
+ fs.writeFileSync(filePath, content, { encoding });
53
+ Logger.info(`Created file: ${filePath}`);
54
+ return true;
55
+ }
56
+ catch (error) {
57
+ throw ErrorFactory.createCliError(`Failed to write file ${filePath}:`, error);
58
+ }
59
+ };
60
+ /**
61
+ * Write multiple files
62
+ */
63
+ const writeFiles = (files, baseDir, options) => {
64
+ let count = 0;
65
+ for (const file of files) {
66
+ const fullPath = path.join(baseDir, file.path);
67
+ if (writeFile(fullPath, file.content, options)) {
68
+ count++;
69
+ }
70
+ }
71
+ return count;
72
+ };
73
+ /**
74
+ * Read file content
75
+ */
76
+ const readFile = (filePath, encoding = 'utf-8') => {
77
+ try {
78
+ return fs.readFileSync(filePath, { encoding });
79
+ }
80
+ catch (error) {
81
+ throw ErrorFactory.createCliError(`Failed to read file ${filePath}:`, error);
82
+ }
83
+ };
84
+ /**
85
+ * Check if file exists
86
+ */
87
+ const fileExists = (filePath) => {
88
+ return fs.existsSync(filePath) && fs.statSync(filePath).isFile();
89
+ };
90
+ /**
91
+ * Check if directory exists
92
+ */
93
+ const directoryExists = (dirPath) => {
94
+ return fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();
95
+ };
96
+ /**
97
+ * Delete file
98
+ */
99
+ const deleteFile = (filePath) => {
100
+ try {
101
+ if (fs.existsSync(filePath)) {
102
+ fs.unlinkSync(filePath);
103
+ Logger.info(`Deleted file: ${filePath}`);
104
+ return true;
105
+ }
106
+ return false;
107
+ }
108
+ catch (error) {
109
+ throw ErrorFactory.createCliError(`Failed to delete file ${filePath}:`, error);
110
+ }
111
+ };
112
+ /**
113
+ * Delete directory recursively
114
+ */
115
+ const deleteDirectory = (dirPath) => {
116
+ try {
117
+ if (fs.existsSync(dirPath)) {
118
+ fs.rmSync(dirPath, { recursive: true, force: true });
119
+ Logger.info(`Deleted directory: ${dirPath}`);
120
+ return true;
121
+ }
122
+ return false;
123
+ }
124
+ catch (error) {
125
+ throw ErrorFactory.createCliError(`Failed to delete directory ${dirPath}:`, error);
126
+ }
127
+ };
128
+ /**
129
+ * List files in directory
130
+ */
131
+ const listFiles = (dirPath, recursive = false) => {
132
+ try {
133
+ if (!fs.existsSync(dirPath))
134
+ return [];
135
+ const files = [];
136
+ const traverse = (dir) => {
137
+ const entries = fs.readdirSync(dir);
138
+ for (const entry of entries) {
139
+ const fullPath = path.join(dir, entry);
140
+ const stat = fs.statSync(fullPath);
141
+ if (stat.isFile()) {
142
+ files.push(fullPath);
143
+ }
144
+ else if (stat.isDirectory() && recursive) {
145
+ traverse(fullPath);
146
+ }
147
+ }
148
+ };
149
+ traverse(dirPath);
150
+ return files;
151
+ }
152
+ catch (error) {
153
+ ErrorFactory.createCliError(`Failed to list files in ${dirPath}:`, error);
154
+ return [];
155
+ }
156
+ };
157
+ /**
158
+ * Copy file
159
+ */
160
+ const copyFile = (source, destination, options = {}) => {
161
+ try {
162
+ const { createDirs = true } = options;
163
+ if (!fs.existsSync(source)) {
164
+ ErrorFactory.createCliError(`Source file not found: ${source}`, { source });
165
+ }
166
+ const dir = path.dirname(destination);
167
+ if (createDirs && !fs.existsSync(dir)) {
168
+ createDirectory(dir);
169
+ }
170
+ fs.copyFileSync(source, destination);
171
+ Logger.info(`Copied file: ${source} → ${destination}`);
172
+ return true;
173
+ }
174
+ catch (error) {
175
+ throw ErrorFactory.createCliError(`Failed to copy file ${source}:`, error);
176
+ }
177
+ };
178
+ /**
179
+ * Get directory size in bytes
180
+ */
181
+ const getDirectorySize = (dirPath) => {
182
+ let size = 0;
183
+ try {
184
+ if (!fs.existsSync(dirPath))
185
+ return 0;
186
+ const traverse = (dir) => {
187
+ const entries = fs.readdirSync(dir);
188
+ for (const entry of entries) {
189
+ const fullPath = path.join(dir, entry);
190
+ const stat = fs.statSync(fullPath);
191
+ if (stat.isFile()) {
192
+ size += stat.size;
193
+ }
194
+ else if (stat.isDirectory()) {
195
+ traverse(fullPath);
196
+ }
197
+ }
198
+ };
199
+ traverse(dirPath);
200
+ }
201
+ catch (error) {
202
+ throw ErrorFactory.createCliError(`Failed to calculate directory size for ${dirPath}:`, error);
203
+ }
204
+ return size;
205
+ };
206
+ /**
207
+ * FileGenerator namespace - sealed for immutability
208
+ */
209
+ export const FileGenerator = Object.freeze({
210
+ createDirectory,
211
+ createDirectories,
212
+ writeFile,
213
+ writeFiles,
214
+ readFile,
215
+ fileExists,
216
+ directoryExists,
217
+ deleteFile,
218
+ deleteDirectory,
219
+ listFiles,
220
+ copyFile,
221
+ getDirectorySize,
222
+ });
@@ -0,0 +1,35 @@
1
+ /**
2
+ * MigrationGenerator - Generate database migrations
3
+ * Creates migration files for schema changes
4
+ */
5
+ export type MigrationType = 'create' | 'alter' | 'drop';
6
+ export interface MigrationOptions {
7
+ name: string;
8
+ migrationsPath: string;
9
+ type?: MigrationType;
10
+ }
11
+ export interface MigrationScaffoldResult {
12
+ success: boolean;
13
+ migrationName: string;
14
+ filePath: string;
15
+ message: string;
16
+ }
17
+ /**
18
+ * Validate migration options
19
+ */
20
+ export declare function validateOptions(options: MigrationOptions): {
21
+ valid: boolean;
22
+ errors: string[];
23
+ };
24
+ /**
25
+ * Generate migration file
26
+ */
27
+ export declare function generateMigration(options: MigrationOptions): Promise<MigrationScaffoldResult>;
28
+ /**
29
+ * MigrationGenerator creates database migration files
30
+ */
31
+ export declare const MigrationGenerator: Readonly<{
32
+ validateOptions: typeof validateOptions;
33
+ generateMigration: typeof generateMigration;
34
+ }>;
35
+ //# sourceMappingURL=MigrationGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationGenerator.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/MigrationGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmB/F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAwDlC;AAqLD;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;EAG7B,CAAC"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * MigrationGenerator - Generate database migrations
3
+ * Creates migration files for schema changes
4
+ */
5
+ import { FileGenerator } from '../scaffolding/FileGenerator';
6
+ import { CommonUtils } from '../../common/index';
7
+ import { Logger } from '../../config/logger';
8
+ import * as path from '../../node-singletons/path';
9
+ /**
10
+ * Validate migration options
11
+ */
12
+ export function validateOptions(options) {
13
+ const errors = [];
14
+ if (options.name.trim().length === 0) {
15
+ errors.push('Migration name is required');
16
+ }
17
+ if (!/^[a-z_]+$/.test(options.name)) {
18
+ errors.push('Migration name must contain only lowercase letters and underscores');
19
+ }
20
+ if (options.migrationsPath === '' || !FileGenerator.directoryExists(options.migrationsPath)) {
21
+ errors.push(`Migrations directory does not exist: ${options.migrationsPath}`);
22
+ }
23
+ return {
24
+ valid: errors.length === 0,
25
+ errors,
26
+ };
27
+ }
28
+ /**
29
+ * Generate migration file
30
+ */
31
+ export async function generateMigration(options) {
32
+ try {
33
+ // Validate options
34
+ const validation = validateOptions(options);
35
+ if (!validation.valid) {
36
+ return {
37
+ success: false,
38
+ migrationName: options.name,
39
+ filePath: '',
40
+ message: `Validation failed: ${validation.errors.join(', ')}`,
41
+ };
42
+ }
43
+ // Generate migration filename with timestamp
44
+ const timestamp = new Date()
45
+ .toISOString()
46
+ .replaceAll(/[-:T.Z]/g, '')
47
+ .slice(0, 14);
48
+ const filename = `${timestamp}_${options.name}.ts`;
49
+ const filePath = path.join(options.migrationsPath, filename);
50
+ // Check if migration already exists
51
+ if (FileGenerator.fileExists(filePath)) {
52
+ return {
53
+ success: false,
54
+ migrationName: options.name,
55
+ filePath,
56
+ message: `Migration file already exists: ${filePath}`,
57
+ };
58
+ }
59
+ // Generate migration content based on type
60
+ const type = options.type ?? detectType(options.name);
61
+ const content = generateMigrationContent(options.name, type);
62
+ // Write migration file
63
+ FileGenerator.writeFile(filePath, content);
64
+ Logger.info(`✅ Created migration: ${filename}`);
65
+ return {
66
+ success: true,
67
+ migrationName: options.name,
68
+ filePath,
69
+ message: `Migration '${options.name}' created successfully`,
70
+ };
71
+ }
72
+ catch (error) {
73
+ Logger.error('Migration generation error:', error);
74
+ const errorMsg = error instanceof Error ? error.message : String(error);
75
+ return {
76
+ success: false,
77
+ migrationName: options.name,
78
+ filePath: '',
79
+ message: `Failed to create migration: ${errorMsg}`,
80
+ };
81
+ }
82
+ }
83
+ /**
84
+ * Detect migration type from name
85
+ */
86
+ function detectType(name) {
87
+ if (name.startsWith('create_'))
88
+ return 'create';
89
+ if (name.startsWith('drop_'))
90
+ return 'drop';
91
+ return 'alter';
92
+ }
93
+ /**
94
+ * Generate migration file content
95
+ */
96
+ function generateMigrationContent(name, type) {
97
+ const className = CommonUtils.toPascalCase(name);
98
+ if (type === 'create') {
99
+ return generateCreateMigration(className);
100
+ }
101
+ else if (type === 'drop') {
102
+ return generateDropMigration(className);
103
+ }
104
+ else {
105
+ return generateAlterMigration(className);
106
+ }
107
+ }
108
+ /**
109
+ * Generate CREATE migration
110
+ */
111
+ function generateCreateMigration(className) {
112
+ const tableName = getTableNameFromClass(className);
113
+ return `/**
114
+ * Migration: ${className}
115
+ * Creates ${tableName} table
116
+ */
117
+
118
+ export interface Migration {
119
+ up(): Promise<void>;
120
+ down(): Promise<void>;
121
+ }
122
+
123
+ export const migration: Migration = {
124
+ /**
125
+ * Run migration
126
+ */
127
+ async up(): Promise<void> {
128
+ // Create table
129
+ // await db.schema.createTable('${tableName}', (table) => {
130
+ // table.increments('id').primary();
131
+ // table.string('name').notNullable();
132
+ // table.string('email').unique();
133
+ // table.timestamps();
134
+ // });
135
+ },
136
+
137
+ /**
138
+ * Rollback migration
139
+ */
140
+ async down(): Promise<void> {
141
+ // Drop table
142
+ // await db.schema.dropTable('${tableName}');
143
+ },
144
+ };
145
+ `;
146
+ }
147
+ /**
148
+ * Generate ALTER migration
149
+ */
150
+ function generateAlterMigration(className) {
151
+ const tableName = getTableNameFromClass(className);
152
+ return `/**
153
+ * Migration: ${className}
154
+ * Modifies ${tableName} table
155
+ */
156
+
157
+ export interface Migration {
158
+ up(): Promise<void>;
159
+ down(): Promise<void>;
160
+ }
161
+
162
+ export const migration: Migration = {
163
+ /**
164
+ * Run migration
165
+ */
166
+ async up(): Promise<void> {
167
+ // Add/modify columns
168
+ // await db.schema.alterTable('${tableName}', (table) => {
169
+ // table.string('new_column').nullable();
170
+ // });
171
+ },
172
+
173
+ /**
174
+ * Rollback migration
175
+ */
176
+ async down(): Promise<void> {
177
+ // Remove columns
178
+ // await db.schema.alterTable('${tableName}', (table) => {
179
+ // table.dropColumn('new_column');
180
+ // });
181
+ },
182
+ };
183
+ `;
184
+ }
185
+ /**
186
+ * Generate DROP migration
187
+ */
188
+ function generateDropMigration(className) {
189
+ const tableName = getTableNameFromClass(className);
190
+ return `/**
191
+ * Migration: ${className}
192
+ * Drops ${tableName} table
193
+ */
194
+
195
+ export interface Migration {
196
+ up(): Promise<void>;
197
+ down(): Promise<void>;
198
+ }
199
+
200
+ export const migration: Migration = {
201
+ /**
202
+ * Run migration
203
+ */
204
+ async up(): Promise<void> {
205
+ // Drop table
206
+ // await db.schema.dropTable('${tableName}');
207
+ },
208
+
209
+ /**
210
+ * Rollback migration
211
+ */
212
+ async down(): Promise<void> {
213
+ // Recreate table
214
+ // await db.schema.createTable('${tableName}', (table) => {
215
+ // table.increments('id').primary();
216
+ // table.timestamps();
217
+ // });
218
+ },
219
+ };
220
+ `;
221
+ }
222
+ /**
223
+ * Convert name to table name
224
+ */
225
+ function getTableNameFromClass(className) {
226
+ // Remove prefixes
227
+ let tableName = className
228
+ .replace(/^Create/, '')
229
+ .replace(/^Drop/, '')
230
+ .replace(/^Alter/, '');
231
+ // Convert PascalCase to snake_case
232
+ tableName = tableName
233
+ .replaceAll(/([A-Z])/g, '_$1')
234
+ .toLowerCase()
235
+ .replace(/^_/, '');
236
+ // Remove 'table' suffix if present
237
+ if (tableName.endsWith('_table')) {
238
+ tableName = tableName.slice(0, -6); // Remove '_table'
239
+ }
240
+ // For ALTER migrations like "add_status_to_orders", extract the table name (last word)
241
+ if (tableName.includes('_to_')) {
242
+ const parts = tableName.split('_to_');
243
+ tableName = parts.at(-1) ?? tableName;
244
+ }
245
+ // Make plural if not already
246
+ if (!tableName.endsWith('s')) {
247
+ tableName += 's';
248
+ }
249
+ return tableName;
250
+ }
251
+ /**
252
+ * MigrationGenerator creates database migration files
253
+ */
254
+ export const MigrationGenerator = Object.freeze({
255
+ validateOptions,
256
+ generateMigration,
257
+ });
@@ -0,0 +1,81 @@
1
+ /**
2
+ * ModelGenerator - Generate ORM model files
3
+ * Creates type-safe model modules with relationships and validation
4
+ */
5
+ export type FieldType = 'string' | 'integer' | 'float' | 'boolean' | 'text' | 'datetime' | 'json' | '';
6
+ export interface ModelField {
7
+ name: string;
8
+ type: FieldType;
9
+ nullable?: boolean;
10
+ default?: unknown;
11
+ unique?: boolean;
12
+ comment?: string;
13
+ }
14
+ export interface ModelRelationship {
15
+ type: 'hasOne' | 'hasMany' | 'belongsTo';
16
+ model: string;
17
+ foreignKey?: string;
18
+ localKey?: string;
19
+ }
20
+ export interface ModelOptions {
21
+ name: string;
22
+ modelPath: string;
23
+ table?: string;
24
+ fields?: ModelField[];
25
+ relationships?: ModelRelationship[];
26
+ timestamps?: boolean;
27
+ fillable?: string[];
28
+ hidden?: string[];
29
+ softDelete?: boolean;
30
+ withMigration?: boolean;
31
+ withFactory?: boolean;
32
+ withController?: boolean;
33
+ }
34
+ export interface ModelGeneratorResult {
35
+ success: boolean;
36
+ modelName: string;
37
+ modelFile: string;
38
+ migrationFile?: string;
39
+ factoryFile?: string;
40
+ controllerFile?: string;
41
+ message: string;
42
+ }
43
+ /**
44
+ * Validate model options
45
+ */
46
+ export declare function validateOptions(options: ModelOptions): {
47
+ valid: boolean;
48
+ errors: string[];
49
+ };
50
+ /**
51
+ * Generate model file
52
+ */
53
+ export declare function generateModel(options: ModelOptions): Promise<ModelGeneratorResult>;
54
+ /**
55
+ * Get common field types
56
+ */
57
+ export declare function getCommonFieldTypes(): FieldType[];
58
+ /**
59
+ * Generate common model fields (User example)
60
+ */
61
+ export declare function getUserFields(): ModelField[];
62
+ /**
63
+ * Generate common model fields (Post example)
64
+ */
65
+ export declare function getPostFields(): ModelField[];
66
+ /**
67
+ * Generate common model fields (Order example)
68
+ */
69
+ export declare function getOrderFields(): ModelField[];
70
+ /**
71
+ * ModelGenerator creates type-safe ORM models
72
+ */
73
+ export declare const ModelGenerator: Readonly<{
74
+ validateOptions: typeof validateOptions;
75
+ generateModel: typeof generateModel;
76
+ getCommonFieldTypes: typeof getCommonFieldTypes;
77
+ getUserFields: typeof getUserFields;
78
+ getPostFields: typeof getPostFields;
79
+ getOrderFields: typeof getOrderFields;
80
+ }>;
81
+ //# sourceMappingURL=ModelGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelGenerator.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/ModelGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,MAAM,GACN,EAAE,CAAC;AAEP,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsB3F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA0CxF;AA+HD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,EAAE,CAEjD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAW5C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAU5C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAU7C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;EAOzB,CAAC"}