@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
package/bin/z.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI Shortcut - 'z'
4
+ * Mirrors bin/zintrust.ts for convenience
5
+ */
6
+ import './zintrust';
7
+ //# sourceMappingURL=z.d.ts.map
package/bin/z.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"z.d.ts","sourceRoot":"","sources":["../../bin/z.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,YAAY,CAAC"}
package/bin/z.js ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI Shortcut - 'z'
4
+ * Mirrors bin/zintrust.ts for convenience
5
+ */
6
+ import './zintrust';
package/bin/zin.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI Shortcut - 'zin'
4
+ * Mirrors bin/zintrust.ts for convenience
5
+ */
6
+ import './zintrust';
7
+ //# sourceMappingURL=zin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zin.d.ts","sourceRoot":"","sources":["../../bin/zin.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,YAAY,CAAC"}
package/bin/zin.js ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI Shortcut - 'zin'
4
+ * Mirrors bin/zintrust.ts for convenience
5
+ */
6
+ import './zintrust';
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Zintrust Microservices CLI
4
+ * Commands for generating, bundling, and managing microservices
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=zintrust-microservices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zintrust-microservices.d.ts","sourceRoot":"","sources":["../../bin/zintrust-microservices.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
@@ -0,0 +1,165 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Zintrust Microservices CLI
4
+ * Commands for generating, bundling, and managing microservices
5
+ */
6
+ import { Logger } from '../src/config/logger';
7
+ import { MicroserviceGenerator } from '../src/microservices/MicroserviceGenerator';
8
+ import { MicroserviceManager } from '../src/microservices/MicroserviceManager';
9
+ import { ServiceBundler } from '../src/microservices/ServiceBundler';
10
+ import { readFileSync } from '../src/node-singletons/fs';
11
+ import { dirname, join } from '../src/node-singletons/path';
12
+ import { fileURLToPath } from '../src/node-singletons/url';
13
+ import { program } from 'commander';
14
+ const getStringOption = (options, key, fallback) => {
15
+ const value = options[key];
16
+ return typeof value === 'string' && value.trim() !== '' ? value : fallback;
17
+ };
18
+ const __filename = fileURLToPath(import.meta.url);
19
+ const __dirname = dirname(__filename);
20
+ // Version
21
+ const packageJsonUnknown = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
22
+ const packageVersion = typeof packageJsonUnknown === 'object' &&
23
+ packageJsonUnknown !== null &&
24
+ 'version' in packageJsonUnknown &&
25
+ typeof packageJsonUnknown.version === 'string'
26
+ ? packageJsonUnknown.version
27
+ : '0.0.0';
28
+ program.version(packageVersion);
29
+ /**
30
+ * Generate microservices
31
+ */
32
+ program
33
+ .command('generate <domain> <services>')
34
+ .description('Generate microservices scaffold')
35
+ .option('--port <port>', 'Base port for services', '3001')
36
+ .option('--version <version>', 'Service version', '1.0.0')
37
+ .action(async (domain, services, options) => {
38
+ try {
39
+ const serviceList = services.split(',').map((s) => s.trim());
40
+ const portRaw = getStringOption(options, 'port', '3001');
41
+ const version = getStringOption(options, 'version', '1.0.0');
42
+ await MicroserviceGenerator.getInstance().generate({
43
+ domain,
44
+ services: serviceList,
45
+ basePort: Number.parseInt(portRaw, 10),
46
+ version,
47
+ });
48
+ Logger.info('Microservices generated successfully');
49
+ }
50
+ catch (error) {
51
+ Logger.error('Error generating microservices:', error);
52
+ process.exit(1);
53
+ }
54
+ });
55
+ /**
56
+ * Bundle services
57
+ */
58
+ program
59
+ .command('bundle <domain> <services>')
60
+ .description('Bundle microservices for deployment')
61
+ .option('--output <dir>', 'Output directory', 'dist/services')
62
+ .option('--target-size <mb>', 'Target bundle size in MB', '1')
63
+ .action(async (domain, services, options) => {
64
+ try {
65
+ const serviceList = services.split(',').map((s) => s.trim());
66
+ const outputDir = getStringOption(options, 'output', 'dist/services');
67
+ const results = await ServiceBundler.getInstance().bundleAll(domain, serviceList, outputDir);
68
+ const allOptimized = results.every((r) => r.optimized === true);
69
+ if (allOptimized === false) {
70
+ Logger.warn('Some services exceed target size. Consider optimizing bundle.');
71
+ }
72
+ }
73
+ catch (error) {
74
+ Logger.error('Error bundling microservices:', error);
75
+ process.exit(1);
76
+ }
77
+ });
78
+ /**
79
+ * Create Docker images
80
+ */
81
+ program
82
+ .command('docker <domain> <services>')
83
+ .description('Create Docker images for services')
84
+ .option('--registry <url>', 'Docker registry URL', 'localhost:5000')
85
+ .action(async (domain, services, options) => {
86
+ try {
87
+ const serviceList = services.split(',').map((s) => s.trim());
88
+ const registry = getStringOption(options, 'registry', 'localhost:5000');
89
+ await Promise.all(serviceList.map((service) => ServiceBundler.getInstance().createServiceImage(service, domain, registry)));
90
+ Logger.info(`Docker images ready. Build with:\n docker-compose -f services/${domain}/docker-compose.yml build`);
91
+ }
92
+ catch (error) {
93
+ Logger.error('Error creating Docker images:', error);
94
+ process.exit(1);
95
+ }
96
+ });
97
+ /**
98
+ * Discover services
99
+ */
100
+ program
101
+ .command('discover')
102
+ .description('Discover available microservices')
103
+ .action(async () => {
104
+ try {
105
+ const configs = await MicroserviceManager.discoverServices();
106
+ if (configs.length === 0) {
107
+ Logger.info('No microservices found in services/ folder');
108
+ return;
109
+ }
110
+ Logger.info(`Found ${configs.length} microservice(s):`);
111
+ for (const config of configs) {
112
+ const version = config.version !== undefined && config.version !== null && config.version !== ''
113
+ ? config.version
114
+ : '1.0.0';
115
+ Logger.info(` • ${config.name} (${config.domain}) - v${version}`);
116
+ if (config.dependencies !== undefined &&
117
+ config.dependencies !== null &&
118
+ config.dependencies.length > 0) {
119
+ Logger.info(` Dependencies: ${config.dependencies.join(', ')}`);
120
+ }
121
+ }
122
+ }
123
+ catch (error) {
124
+ Logger.error('Error discovering services:', error);
125
+ process.exit(1);
126
+ }
127
+ });
128
+ /**
129
+ * Status of services
130
+ */
131
+ program
132
+ .command('status')
133
+ .description('Check status of running microservices')
134
+ .action(async () => {
135
+ try {
136
+ const manager = MicroserviceManager.getInstance();
137
+ const summary = manager.getStatusSummary();
138
+ Logger.info(`Microservices Status:\n${JSON.stringify(summary, null, 2)}`);
139
+ }
140
+ catch (error) {
141
+ Logger.error('Error getting microservices status:', error);
142
+ process.exit(1);
143
+ }
144
+ });
145
+ /**
146
+ * Health check
147
+ */
148
+ program
149
+ .command('health')
150
+ .description('Health check all services')
151
+ .action(async () => {
152
+ try {
153
+ const manager = MicroserviceManager.getInstance();
154
+ const results = await manager.healthCheckAll();
155
+ Logger.info('Health Check Results');
156
+ for (const [service, healthy] of Object.entries(results)) {
157
+ Logger.info(` ${service}: ${healthy ? 'Healthy' : 'Unhealthy'}`);
158
+ }
159
+ }
160
+ catch (error) {
161
+ Logger.error('Error performing health check:', error);
162
+ process.exit(1);
163
+ }
164
+ });
165
+ program.parse(process.argv);
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI - Main Entry Point
4
+ * Command-line interface for Zintrust framework
5
+ * Usage: zintrust [command] [options]
6
+ * Shortcuts: zin, z
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=zintrust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zintrust.d.ts","sourceRoot":"","sources":["../../bin/zintrust.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AA8CH,OAAO,EAAE,CAAC"}
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI - Main Entry Point
4
+ * Command-line interface for Zintrust framework
5
+ * Usage: zintrust [command] [options]
6
+ * Shortcuts: zin, z
7
+ */
8
+ async function main() {
9
+ try {
10
+ const { EnvFileLoader } = await import('../src/cli/utils/EnvFileLoader');
11
+ EnvFileLoader.ensureLoaded();
12
+ const { CLI } = await import('../src/cli/CLI');
13
+ const cli = CLI.create();
14
+ await cli.run(process.argv.slice(2));
15
+ }
16
+ catch (error) {
17
+ try {
18
+ const { Logger } = await import('../src/config/logger');
19
+ Logger.error('CLI execution failed', error);
20
+ }
21
+ catch {
22
+ // best-effort logging
23
+ }
24
+ try {
25
+ const { ErrorHandler } = await import('../src/cli/ErrorHandler');
26
+ ErrorHandler.handle(error);
27
+ }
28
+ catch {
29
+ // best-effort error handling
30
+ }
31
+ process.exit(1);
32
+ }
33
+ }
34
+ await main().catch(async (error) => {
35
+ try {
36
+ const { Logger } = await import('../src/config/logger');
37
+ Logger.error('CLI fatal error', error);
38
+ }
39
+ catch {
40
+ // best-effort logging
41
+ }
42
+ try {
43
+ const { ErrorHandler } = await import('../src/cli/ErrorHandler');
44
+ ErrorHandler.handle(error);
45
+ }
46
+ catch {
47
+ // best-effort error handling
48
+ }
49
+ process.exit(1);
50
+ });
51
+ export {};
package/bin/zt.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI Shortcut - 'z'
4
+ * Mirrors bin/zintrust.ts for convenience
5
+ */
6
+ import './zintrust';
7
+ //# sourceMappingURL=zt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zt.d.ts","sourceRoot":"","sources":["../../bin/zt.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,YAAY,CAAC"}
package/bin/zt.js ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ /**
3
+ * Zintrust CLI Shortcut - 'z'
4
+ * Mirrors bin/zintrust.ts for convenience
5
+ */
6
+ import './zintrust';
package/package.json ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "name": "@zintrust/core",
3
+ "version": "0.1.0",
4
+ "description": "Production-grade TypeScript backend framework for JavaScript",
5
+ "homepage": "https://zintrust.com",
6
+ "private": false,
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/ZinTrust/ZinTrust.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/ZinTrust/ZinTrust/issues"
13
+ },
14
+ "type": "module",
15
+ "main": "src/index.js",
16
+ "types": "src/index.d.ts",
17
+ "bin": {
18
+ "zintrust": "bin/zintrust.js",
19
+ "zin": "bin/zin.js",
20
+ "z": "bin/z.js",
21
+ "zt": "bin/zt.js"
22
+ },
23
+ "files": [
24
+ "bin",
25
+ "src"
26
+ ],
27
+ "engines": {
28
+ "node": ">=20.0.0",
29
+ "npm": ">=9.0.0"
30
+ },
31
+ "keywords": [
32
+ "framework",
33
+ "typescript",
34
+ "backend",
35
+ "orm",
36
+ "query-builder",
37
+ "rest-api",
38
+ "react",
39
+ "react-api",
40
+ "vue",
41
+ "vue-api",
42
+ "symfony",
43
+ "laravel"
44
+ ],
45
+ "author": "Zintrust Team",
46
+ "license": "MIT",
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ "dependencies": {
51
+ "bcrypt": "^6.0.0",
52
+ "better-sqlite3": "^12.5.0",
53
+ "chalk": "^5.6.2",
54
+ "commander": "^14.0.2",
55
+ "inquirer": "^13.1.0",
56
+ "jsonwebtoken": "^9.0.3",
57
+ "tsx": "^4.21.0"
58
+ },
59
+ "devDependencies": {
60
+ "@codecov/vite-plugin": "^1.9.1",
61
+ "@resvg/resvg-js": "^2.6.2",
62
+ "@types/bcrypt": "^6.0.0",
63
+ "@types/better-sqlite3": "7.6.13",
64
+ "@types/jsonwebtoken": "^9.0.10",
65
+ "@types/node": "^25.0.3",
66
+ "@typescript-eslint/eslint-plugin": "^8.50.0",
67
+ "@typescript-eslint/parser": "^8.50.0",
68
+ "@vitest/coverage-v8": "^4.0.16",
69
+ "eslint": "^9.39.2",
70
+ "globals": "^16.5.0",
71
+ "husky": "^9.1.7",
72
+ "lint-staged": "^16.2.7",
73
+ "prettier": "^3.7.4",
74
+ "sonarqube-scanner": "^4.3.2",
75
+ "tsc-alias": "^1.8.16",
76
+ "typescript": "^5.9.3",
77
+ "typescript-eslint": "^8.50.0",
78
+ "vitest": "^4.0.16"
79
+ }
80
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Application - Framework core entry point
3
+ * Handles application lifecycle, booting, and environment
4
+ */
5
+ import { IServiceContainer } from '../container/ServiceContainer';
6
+ import { IMiddlewareStack } from '../middleware/MiddlewareStack';
7
+ import { type IRouter } from '../routing/Router';
8
+ export interface IApplication {
9
+ boot(): Promise<void>;
10
+ shutdown(): Promise<void>;
11
+ isBooted(): boolean;
12
+ isDevelopment(): boolean;
13
+ isProduction(): boolean;
14
+ isTesting(): boolean;
15
+ getEnvironment(): string;
16
+ getRouter(): IRouter;
17
+ getContainer(): IServiceContainer;
18
+ getMiddlewareStack(): IMiddlewareStack;
19
+ getBasePath(): string;
20
+ }
21
+ /**
22
+ * Application Factory
23
+ */
24
+ export declare const Application: Readonly<{
25
+ /**
26
+ * Create a new application instance
27
+ */
28
+ create(basePath?: string): IApplication;
29
+ }>;
30
+ export default Application;
31
+ //# sourceMappingURL=Application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../../src/boot/Application.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAmB,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,kBAAkB,CAAC;AAMxD,MAAM,WAAW,YAAY;IAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC;IACpB,aAAa,IAAI,OAAO,CAAC;IACzB,YAAY,IAAI,OAAO,CAAC;IACxB,SAAS,IAAI,OAAO,CAAC;IACrB,cAAc,IAAI,MAAM,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC;IACrB,YAAY,IAAI,iBAAiB,CAAC;IAClC,kBAAkB,IAAI,gBAAgB,CAAC;IACvC,WAAW,IAAI,MAAM,CAAC;CACvB;AAqJD;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;sBACe,MAAM,GAAG,YAAY;EAwCvC,CAAC;AAEH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Application - Framework core entry point
3
+ * Handles application lifecycle, booting, and environment
4
+ */
5
+ import { ServiceContainer } from '../container/ServiceContainer';
6
+ import { MiddlewareStack } from '../middleware/MiddlewareStack';
7
+ import { Router } from '../routing/Router';
8
+ import { Env } from '../config/env';
9
+ import { Logger } from '../config/logger';
10
+ import * as path from '../node-singletons/path';
11
+ import { pathToFileURL } from '../node-singletons/url';
12
+ const ShutdownManager = Object.freeze({
13
+ create() {
14
+ const hooks = [];
15
+ return Object.freeze({
16
+ add(hook) {
17
+ hooks.push(hook);
18
+ },
19
+ async run() {
20
+ for (const hook of hooks) {
21
+ // eslint-disable-next-line no-await-in-loop
22
+ await hook();
23
+ }
24
+ },
25
+ });
26
+ },
27
+ });
28
+ const resolveBasePath = (basePath) => {
29
+ if (typeof basePath === 'string')
30
+ return basePath;
31
+ if (typeof process !== 'undefined' && typeof process.cwd === 'function')
32
+ return process.cwd();
33
+ return '';
34
+ };
35
+ const makeJoinFromBase = (resolvedBasePath) => (subPath) => {
36
+ return resolvedBasePath.length > 0 ? `${resolvedBasePath}/${subPath}` : subPath;
37
+ };
38
+ const registerCorePaths = (container, resolvedBasePath, joinFromBase) => {
39
+ container.singleton('paths', {
40
+ base: resolvedBasePath,
41
+ app: joinFromBase('app'),
42
+ config: joinFromBase('config'),
43
+ database: joinFromBase('database'),
44
+ routes: joinFromBase('routes'),
45
+ tests: joinFromBase('tests'),
46
+ });
47
+ };
48
+ const registerCoreInstances = (params) => {
49
+ params.container.singleton('env', params.environment);
50
+ params.container.singleton('router', params.router);
51
+ params.container.singleton('middleware', params.middlewareStack);
52
+ params.container.singleton('container', params.container);
53
+ params.container.singleton('shutdownManager', params.shutdownManager);
54
+ };
55
+ const tryImportRoutesFromAppBase = async (resolvedBasePath) => {
56
+ if (resolvedBasePath === '')
57
+ return undefined;
58
+ const candidates = [
59
+ // Dev (tsx)
60
+ path.join(resolvedBasePath, 'routes', 'api.ts'),
61
+ // Production build output
62
+ path.join(resolvedBasePath, 'dist', 'routes', 'api.js'),
63
+ // Fallback (in case someone transpiles without /dist)
64
+ path.join(resolvedBasePath, 'routes', 'api.js'),
65
+ ];
66
+ for (const candidate of candidates) {
67
+ try {
68
+ const url = pathToFileURL(candidate).href;
69
+ // eslint-disable-next-line no-await-in-loop
70
+ return (await import(url));
71
+ }
72
+ catch {
73
+ // keep trying
74
+ }
75
+ }
76
+ return undefined;
77
+ };
78
+ const registerRoutes = async (resolvedBasePath, router) => {
79
+ try {
80
+ const mod = await tryImportRoutesFromAppBase(resolvedBasePath);
81
+ if (typeof mod?.registerRoutes === 'function') {
82
+ mod.registerRoutes(router);
83
+ return;
84
+ }
85
+ const { registerRoutes: registerFrameworkRoutes } = await import('../../routes/api');
86
+ registerFrameworkRoutes(router);
87
+ }
88
+ catch (error) {
89
+ Logger.error('Failed to register routes:', error);
90
+ }
91
+ };
92
+ const createLifecycle = (params) => {
93
+ const boot = async () => {
94
+ if (params.getBooted())
95
+ return;
96
+ Logger.info(`🚀 Booting Zintrust Application in ${params.environment} mode...`);
97
+ await registerRoutes(params.resolvedBasePath, params.router);
98
+ // Register service providers
99
+ // Bootstrap services
100
+ params.setBooted(true);
101
+ Logger.info('✅ Application booted successfully');
102
+ };
103
+ const shutdown = async () => {
104
+ Logger.info('🛑 Shutting down application...');
105
+ try {
106
+ await params.shutdownManager.run();
107
+ }
108
+ catch (error) {
109
+ Logger.error('Shutdown hook failed:', error);
110
+ }
111
+ Logger.info('✅ Application shut down successfully');
112
+ params.setBooted(false);
113
+ };
114
+ return { boot, shutdown };
115
+ };
116
+ /**
117
+ * Application Factory
118
+ */
119
+ export const Application = Object.freeze({
120
+ /**
121
+ * Create a new application instance
122
+ */
123
+ create(basePath) {
124
+ const resolvedBasePath = resolveBasePath(basePath);
125
+ const joinFromBase = makeJoinFromBase(resolvedBasePath);
126
+ const environment = Env.get('NODE_ENV', 'development');
127
+ const container = ServiceContainer.create();
128
+ const router = Router.createRouter();
129
+ const middlewareStack = MiddlewareStack.create();
130
+ const shutdownManager = ShutdownManager.create();
131
+ let booted = false;
132
+ registerCorePaths(container, resolvedBasePath, joinFromBase);
133
+ registerCoreInstances({ container, environment, router, middlewareStack, shutdownManager });
134
+ const { boot, shutdown } = createLifecycle({
135
+ environment,
136
+ resolvedBasePath,
137
+ router,
138
+ shutdownManager,
139
+ getBooted: () => booted,
140
+ setBooted: (value) => {
141
+ booted = value;
142
+ },
143
+ });
144
+ return {
145
+ boot,
146
+ shutdown,
147
+ isBooted: () => booted,
148
+ isDevelopment: () => environment === 'development',
149
+ isProduction: () => environment === 'production',
150
+ isTesting: () => environment === 'testing' || environment === 'test',
151
+ getEnvironment: () => environment,
152
+ getRouter: () => router,
153
+ getContainer: () => container,
154
+ getMiddlewareStack: () => middlewareStack,
155
+ getBasePath: () => resolvedBasePath,
156
+ };
157
+ },
158
+ });
159
+ export default Application;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Server - HTTP Server implementation
3
+ * Uses Node.js built-in HTTP server with no external dependencies
4
+ */
5
+ import { IApplication } from './Application';
6
+ import * as http from '../node-singletons/http';
7
+ export interface IServer {
8
+ listen(): Promise<void>;
9
+ close(): Promise<void>;
10
+ getHttpServer(): http.Server;
11
+ }
12
+ /**
13
+ * Server - HTTP Server implementation
14
+ * Refactored to Functional Object pattern
15
+ */
16
+ export declare const Server: Readonly<{
17
+ /**
18
+ * Create a new server instance
19
+ */
20
+ create(app: IApplication, port?: number, host?: string): IServer;
21
+ }>;
22
+ export default Server;
23
+ //# sourceMappingURL=Server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/boot/Server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAK9C,MAAM,WAAW,OAAO;IACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;CAC9B;AA4ND;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;gBACS,YAAY,SAAS,MAAM,SAAS,MAAM,GAAG,OAAO;EA8BhE,CAAC;AAEH,eAAe,MAAM,CAAC"}