@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,62 @@
1
+ /**
2
+ * Cache Configuration
3
+ * Caching drivers and settings
4
+ * Sealed namespace for immutability
5
+ */
6
+ import { Env } from './env';
7
+ const getCacheDriver = (config) => {
8
+ const defaultDriver = config.default;
9
+ if (Object.prototype.hasOwnProperty.call(config.drivers, defaultDriver)) {
10
+ const driverName = defaultDriver;
11
+ return config.drivers[driverName];
12
+ }
13
+ return config.drivers.memory;
14
+ };
15
+ const cacheConfigObj = {
16
+ /**
17
+ * Default cache driver
18
+ */
19
+ default: Env.get('CACHE_DRIVER', 'memory'),
20
+ /**
21
+ * Cache drivers
22
+ */
23
+ drivers: {
24
+ memory: {
25
+ driver: 'memory',
26
+ ttl: Env.getInt('CACHE_MEMORY_TTL', 3600),
27
+ },
28
+ redis: {
29
+ driver: 'redis',
30
+ host: Env.get('REDIS_HOST', 'localhost'),
31
+ port: Env.getInt('REDIS_PORT', 6379),
32
+ password: Env.get('REDIS_PASSWORD'),
33
+ database: Env.getInt('REDIS_DB', 0),
34
+ ttl: Env.getInt('CACHE_REDIS_TTL', 3600),
35
+ },
36
+ memcached: {
37
+ driver: 'memcached',
38
+ servers: Env.get('MEMCACHED_SERVERS', 'localhost:11211').split(','),
39
+ ttl: Env.getInt('CACHE_MEMCACHED_TTL', 3600),
40
+ },
41
+ file: {
42
+ driver: 'file',
43
+ path: Env.get('CACHE_FILE_PATH', 'storage/cache'),
44
+ ttl: Env.getInt('CACHE_FILE_TTL', 3600),
45
+ },
46
+ },
47
+ /**
48
+ * Get cache driver config
49
+ */
50
+ getDriver() {
51
+ return getCacheDriver(this);
52
+ },
53
+ /**
54
+ * Key prefix for all cache keys
55
+ */
56
+ keyPrefix: Env.get('CACHE_KEY_PREFIX', 'zintrust:'),
57
+ /**
58
+ * Default cache TTL (seconds)
59
+ */
60
+ ttl: Env.getInt('CACHE_DEFAULT_TTL', 3600),
61
+ };
62
+ export const cacheConfig = Object.freeze(cacheConfigObj);
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Framework Constants
3
+ * Centralized string literals to prevent duplication (SonarQube S1192)
4
+ * Sealed namespace for immutability
5
+ */
6
+ declare const HTTP_HEADERS: {
7
+ readonly CONTENT_TYPE: "Content-Type";
8
+ readonly ACCEPT: "Accept";
9
+ readonly AUTHORIZATION: "Authorization";
10
+ readonly X_TRACE_ID: "X-Trace-Id";
11
+ readonly X_SERVICE_CALL: "X-Service-Call";
12
+ readonly X_POWERED_BY: "X-Powered-By";
13
+ readonly X_CONTENT_TYPE_OPTIONS: "X-Content-Type-Options";
14
+ readonly X_FRAME_OPTIONS: "X-Frame-Options";
15
+ readonly X_XSS_PROTECTION: "X-XSS-Protection";
16
+ readonly REFERRER_POLICY: "Referrer-Policy";
17
+ readonly CONTENT_SECURITY_POLICY: "Content-Security-Policy";
18
+ };
19
+ declare const MIME_TYPES: {
20
+ readonly JSON: "application/json";
21
+ readonly HTML: "text/html";
22
+ readonly TEXT: "text/plain";
23
+ readonly JS: "text/javascript";
24
+ readonly CSS: "text/css";
25
+ readonly PNG: "image/png";
26
+ readonly JPG: "image/jpg";
27
+ readonly GIF: "image/gif";
28
+ readonly SVG: "image/svg+xml";
29
+ readonly WAV: "audio/wav";
30
+ readonly MP4: "video/mp4";
31
+ readonly WOFF: "application/font-woff";
32
+ readonly TTF: "application/font-ttf";
33
+ readonly EOT: "application/vnd.ms-fontobject";
34
+ readonly OTF: "application/font-otf";
35
+ readonly WASM: "application/wasm";
36
+ };
37
+ declare const ENV_KEYS: {
38
+ readonly NODE_ENV: "NODE_ENV";
39
+ readonly PORT: "PORT";
40
+ readonly HOST: "HOST";
41
+ readonly APP_NAME: "APP_NAME";
42
+ readonly DB_CONNECTION: "DB_CONNECTION";
43
+ readonly DB_HOST: "DB_HOST";
44
+ readonly DB_PORT: "DB_PORT";
45
+ readonly DB_DATABASE: "DB_DATABASE";
46
+ readonly DB_USERNAME: "DB_USERNAME";
47
+ readonly DB_PASSWORD: "DB_PASSWORD";
48
+ };
49
+ declare const DEFAULTS: {
50
+ readonly CONNECTION: "default";
51
+ readonly DOMAIN: "default";
52
+ readonly NAMESPACE: "default";
53
+ };
54
+ /**
55
+ * Constants namespace - sealed for immutability
56
+ */
57
+ export declare const Constants: Readonly<{
58
+ HTTP_HEADERS: {
59
+ readonly CONTENT_TYPE: "Content-Type";
60
+ readonly ACCEPT: "Accept";
61
+ readonly AUTHORIZATION: "Authorization";
62
+ readonly X_TRACE_ID: "X-Trace-Id";
63
+ readonly X_SERVICE_CALL: "X-Service-Call";
64
+ readonly X_POWERED_BY: "X-Powered-By";
65
+ readonly X_CONTENT_TYPE_OPTIONS: "X-Content-Type-Options";
66
+ readonly X_FRAME_OPTIONS: "X-Frame-Options";
67
+ readonly X_XSS_PROTECTION: "X-XSS-Protection";
68
+ readonly REFERRER_POLICY: "Referrer-Policy";
69
+ readonly CONTENT_SECURITY_POLICY: "Content-Security-Policy";
70
+ };
71
+ MIME_TYPES: {
72
+ readonly JSON: "application/json";
73
+ readonly HTML: "text/html";
74
+ readonly TEXT: "text/plain";
75
+ readonly JS: "text/javascript";
76
+ readonly CSS: "text/css";
77
+ readonly PNG: "image/png";
78
+ readonly JPG: "image/jpg";
79
+ readonly GIF: "image/gif";
80
+ readonly SVG: "image/svg+xml";
81
+ readonly WAV: "audio/wav";
82
+ readonly MP4: "video/mp4";
83
+ readonly WOFF: "application/font-woff";
84
+ readonly TTF: "application/font-ttf";
85
+ readonly EOT: "application/vnd.ms-fontobject";
86
+ readonly OTF: "application/font-otf";
87
+ readonly WASM: "application/wasm";
88
+ };
89
+ ENV_KEYS: {
90
+ readonly NODE_ENV: "NODE_ENV";
91
+ readonly PORT: "PORT";
92
+ readonly HOST: "HOST";
93
+ readonly APP_NAME: "APP_NAME";
94
+ readonly DB_CONNECTION: "DB_CONNECTION";
95
+ readonly DB_HOST: "DB_HOST";
96
+ readonly DB_PORT: "DB_PORT";
97
+ readonly DB_DATABASE: "DB_DATABASE";
98
+ readonly DB_USERNAME: "DB_USERNAME";
99
+ readonly DB_PASSWORD: "DB_PASSWORD";
100
+ };
101
+ DEFAULTS: {
102
+ readonly CONNECTION: "default";
103
+ readonly DOMAIN: "default";
104
+ readonly NAMESPACE: "default";
105
+ };
106
+ }>;
107
+ export { DEFAULTS, ENV_KEYS, HTTP_HEADERS, MIME_TYPES };
108
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;CAYR,CAAC;AAEX,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBN,CAAC;AAEX,QAAA,MAAM,QAAQ;;;;;;;;;;;CAWJ,CAAC;AAEX,QAAA,MAAM,QAAQ;;;;CAIJ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpB,CAAC;AAGH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Framework Constants
3
+ * Centralized string literals to prevent duplication (SonarQube S1192)
4
+ * Sealed namespace for immutability
5
+ */
6
+ const HTTP_HEADERS = {
7
+ CONTENT_TYPE: 'Content-Type',
8
+ ACCEPT: 'Accept',
9
+ AUTHORIZATION: 'Authorization',
10
+ X_TRACE_ID: 'X-Trace-Id',
11
+ X_SERVICE_CALL: 'X-Service-Call',
12
+ X_POWERED_BY: 'X-Powered-By',
13
+ X_CONTENT_TYPE_OPTIONS: 'X-Content-Type-Options',
14
+ X_FRAME_OPTIONS: 'X-Frame-Options',
15
+ X_XSS_PROTECTION: 'X-XSS-Protection',
16
+ REFERRER_POLICY: 'Referrer-Policy',
17
+ CONTENT_SECURITY_POLICY: 'Content-Security-Policy',
18
+ };
19
+ const MIME_TYPES = {
20
+ JSON: 'application/json',
21
+ HTML: 'text/html',
22
+ TEXT: 'text/plain',
23
+ JS: 'text/javascript',
24
+ CSS: 'text/css',
25
+ PNG: 'image/png',
26
+ JPG: 'image/jpg',
27
+ GIF: 'image/gif',
28
+ SVG: 'image/svg+xml',
29
+ WAV: 'audio/wav',
30
+ MP4: 'video/mp4',
31
+ WOFF: 'application/font-woff',
32
+ TTF: 'application/font-ttf',
33
+ EOT: 'application/vnd.ms-fontobject',
34
+ OTF: 'application/font-otf',
35
+ WASM: 'application/wasm',
36
+ };
37
+ const ENV_KEYS = {
38
+ NODE_ENV: 'NODE_ENV',
39
+ PORT: 'PORT',
40
+ HOST: 'HOST',
41
+ APP_NAME: 'APP_NAME',
42
+ DB_CONNECTION: 'DB_CONNECTION',
43
+ DB_HOST: 'DB_HOST',
44
+ DB_PORT: 'DB_PORT',
45
+ DB_DATABASE: 'DB_DATABASE',
46
+ DB_USERNAME: 'DB_USERNAME',
47
+ DB_PASSWORD: 'DB_PASSWORD', // NOSONARQUBE
48
+ };
49
+ const DEFAULTS = {
50
+ CONNECTION: 'default',
51
+ DOMAIN: 'default',
52
+ NAMESPACE: 'default',
53
+ };
54
+ /**
55
+ * Constants namespace - sealed for immutability
56
+ */
57
+ export const Constants = Object.freeze({
58
+ HTTP_HEADERS,
59
+ MIME_TYPES,
60
+ ENV_KEYS,
61
+ DEFAULTS,
62
+ });
63
+ // Re-export for backward compatibility
64
+ export { DEFAULTS, ENV_KEYS, HTTP_HEADERS, MIME_TYPES };
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Database Configuration
3
+ * Database connections and pooling settings
4
+ * Sealed namespace for immutability
5
+ */
6
+ type SqliteConnectionConfig = {
7
+ driver: 'sqlite';
8
+ database: string;
9
+ migrations: string;
10
+ };
11
+ type PostgresqlConnectionConfig = {
12
+ driver: 'postgresql';
13
+ host: string;
14
+ port: number;
15
+ database: string;
16
+ username: string;
17
+ password: string;
18
+ ssl: boolean;
19
+ pooling: {
20
+ enabled: boolean;
21
+ min: number;
22
+ max: number;
23
+ idleTimeout: number;
24
+ connectionTimeout: number;
25
+ };
26
+ };
27
+ type MysqlConnectionConfig = {
28
+ driver: 'mysql';
29
+ host: string;
30
+ port: number;
31
+ database: string;
32
+ username: string;
33
+ password: string;
34
+ pooling: {
35
+ enabled: boolean;
36
+ min: number;
37
+ max: number;
38
+ };
39
+ };
40
+ type DatabaseConnections = {
41
+ sqlite: SqliteConnectionConfig;
42
+ postgresql: PostgresqlConnectionConfig;
43
+ mysql: MysqlConnectionConfig;
44
+ };
45
+ type DatabaseConnectionName = keyof DatabaseConnections;
46
+ type DatabaseConnectionConfig = DatabaseConnections[DatabaseConnectionName];
47
+ type DatabaseConfigShape = {
48
+ default: DatabaseConnectionName;
49
+ connections: DatabaseConnections;
50
+ };
51
+ export declare const databaseConfig: Readonly<{
52
+ /**
53
+ * Default database connection
54
+ */
55
+ default: keyof DatabaseConnections;
56
+ /**
57
+ * Database connections
58
+ */
59
+ connections: {
60
+ sqlite: {
61
+ driver: "sqlite";
62
+ database: string;
63
+ migrations: string;
64
+ };
65
+ postgresql: {
66
+ driver: "postgresql";
67
+ host: string;
68
+ port: number;
69
+ database: string;
70
+ username: string;
71
+ password: string;
72
+ ssl: boolean;
73
+ pooling: {
74
+ enabled: boolean;
75
+ min: number;
76
+ max: number;
77
+ idleTimeout: number;
78
+ connectionTimeout: number;
79
+ };
80
+ };
81
+ mysql: {
82
+ driver: "mysql";
83
+ host: string;
84
+ port: number;
85
+ database: string;
86
+ username: string;
87
+ password: string;
88
+ pooling: {
89
+ enabled: boolean;
90
+ min: number;
91
+ max: number;
92
+ };
93
+ };
94
+ };
95
+ /**
96
+ * Get current connection config
97
+ */
98
+ getConnection(this: DatabaseConfigShape): DatabaseConnectionConfig;
99
+ /**
100
+ * Enable query logging
101
+ */
102
+ logging: {
103
+ enabled: boolean;
104
+ level: string;
105
+ };
106
+ /**
107
+ * Migration settings
108
+ */
109
+ migrations: {
110
+ directory: string;
111
+ extension: string;
112
+ };
113
+ /**
114
+ * Seeding settings
115
+ */
116
+ seeders: {
117
+ directory: string;
118
+ };
119
+ }>;
120
+ export type DatabaseConfig = typeof databaseConfig;
121
+ export {};
122
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/config/database.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,UAAU,EAAE,0BAA0B,CAAC;IACvC,KAAK,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,KAAK,sBAAsB,GAAG,MAAM,mBAAmB,CAAC;AACxD,KAAK,wBAAwB,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;AAE5E,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,sBAAsB,CAAC;IAChC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AA6FF,eAAO,MAAM,cAAc;IA5EzB;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsCH;;OAEG;wBACiB,mBAAmB,GAAG,wBAAwB;IAIlE;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;EAMyD,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Database Configuration
3
+ * Database connections and pooling settings
4
+ * Sealed namespace for immutability
5
+ */
6
+ import { Env } from './env';
7
+ const isDatabaseConnectionName = (value) => {
8
+ return value === 'sqlite' || value === 'postgresql' || value === 'mysql';
9
+ };
10
+ const getDefaultConnection = () => {
11
+ const value = Env.DB_CONNECTION;
12
+ return isDatabaseConnectionName(value) ? value : 'sqlite';
13
+ };
14
+ const getDatabaseConnection = (config) => {
15
+ const connName = config.default;
16
+ return config.connections[connName];
17
+ };
18
+ const databaseConfigObj = {
19
+ /**
20
+ * Default database connection
21
+ */
22
+ default: getDefaultConnection(),
23
+ /**
24
+ * Database connections
25
+ */
26
+ connections: {
27
+ sqlite: {
28
+ driver: 'sqlite',
29
+ database: Env.DB_DATABASE,
30
+ migrations: 'database/migrations',
31
+ },
32
+ postgresql: {
33
+ driver: 'postgresql',
34
+ host: Env.DB_HOST,
35
+ port: Env.DB_PORT,
36
+ database: Env.DB_DATABASE,
37
+ username: Env.DB_USERNAME,
38
+ password: Env.DB_PASSWORD,
39
+ ssl: Env.getBool('DB_SSL', false),
40
+ pooling: {
41
+ enabled: Env.getBool('DB_POOLING', true),
42
+ min: Env.getInt('DB_POOL_MIN', 5),
43
+ max: Env.getInt('DB_POOL_MAX', 20),
44
+ idleTimeout: Env.getInt('DB_IDLE_TIMEOUT', 30000),
45
+ connectionTimeout: Env.getInt('DB_CONNECTION_TIMEOUT', 10000),
46
+ },
47
+ },
48
+ mysql: {
49
+ driver: 'mysql',
50
+ host: Env.DB_HOST,
51
+ port: Env.DB_PORT,
52
+ database: Env.DB_DATABASE,
53
+ username: Env.DB_USERNAME,
54
+ password: Env.DB_PASSWORD,
55
+ pooling: {
56
+ enabled: Env.getBool('DB_POOLING', true),
57
+ min: Env.getInt('DB_POOL_MIN', 5),
58
+ max: Env.getInt('DB_POOL_MAX', 20),
59
+ },
60
+ },
61
+ },
62
+ /**
63
+ * Get current connection config
64
+ */
65
+ getConnection() {
66
+ return getDatabaseConnection(this);
67
+ },
68
+ /**
69
+ * Enable query logging
70
+ */
71
+ logging: {
72
+ enabled: Env.DEBUG,
73
+ level: Env.get('DB_LOG_LEVEL', 'debug'),
74
+ },
75
+ /**
76
+ * Migration settings
77
+ */
78
+ migrations: {
79
+ directory: 'database/migrations',
80
+ extension: Env.get('DB_MIGRATION_EXT', '.ts'),
81
+ },
82
+ /**
83
+ * Seeding settings
84
+ */
85
+ seeders: {
86
+ directory: 'database/seeders',
87
+ },
88
+ };
89
+ export const databaseConfig = Object.freeze(databaseConfigObj);
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Environment Configuration
3
+ * Type-safe access to environment variables
4
+ *
5
+ * Sealed namespace pattern - all exports through Env namespace
6
+ * Safe for both Node.js and serverless runtimes (Cloudflare Workers, Deno, Lambda)
7
+ */
8
+ export declare const Env: Readonly<{
9
+ get: (key: string, defaultValue?: string) => string;
10
+ getInt: (key: string, defaultValue?: number) => number;
11
+ getBool: (key: string, defaultValue?: boolean) => boolean;
12
+ NODE_ENV: string;
13
+ PORT: number;
14
+ HOST: string;
15
+ APP_NAME: string;
16
+ APP_KEY: string;
17
+ DB_CONNECTION: string;
18
+ DB_HOST: string;
19
+ DB_PORT: number;
20
+ DB_DATABASE: string;
21
+ DB_USERNAME: string;
22
+ DB_PASSWORD: string;
23
+ DB_READ_HOSTS: string;
24
+ D1_DATABASE_ID: string;
25
+ KV_NAMESPACE_ID: string;
26
+ CACHE_DRIVER: string;
27
+ REDIS_HOST: string;
28
+ REDIS_PORT: number;
29
+ REDIS_PASSWORD: string;
30
+ MONGO_URI: string;
31
+ MONGO_DB: string;
32
+ AWS_REGION: string;
33
+ AWS_LAMBDA_FUNCTION_NAME: string;
34
+ AWS_LAMBDA_FUNCTION_VERSION: string;
35
+ AWS_EXECUTION_ENV: string;
36
+ LAMBDA_TASK_ROOT: string;
37
+ MICROSERVICES: string;
38
+ SERVICES: string;
39
+ MICROSERVICES_TRACING: boolean;
40
+ MICROSERVICES_TRACING_RATE: number;
41
+ DATABASE_ISOLATION: string;
42
+ SERVICE_API_KEY: string;
43
+ SERVICE_JWT_SECRET: string;
44
+ DEBUG: boolean;
45
+ ENABLE_MICROSERVICES: boolean;
46
+ TOKEN_TTL: number;
47
+ TOKEN_LENGTH: number;
48
+ ENVIRONMENT: string;
49
+ REQUEST_TIMEOUT: number;
50
+ MAX_BODY_SIZE: number;
51
+ LOG_LEVEL: "debug" | "info" | "warn" | "error";
52
+ DISABLE_LOGGING: boolean;
53
+ NODE_BIN_DIR: string;
54
+ SAFE_PATH: string;
55
+ }>;
56
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkDH,eAAO,MAAM,GAAG;eA9BE,MAAM,iBAAiB,MAAM,KAAG,MAAM;kBAMnC,MAAM,iBAAiB,MAAM,KAAG,MAAM;mBAQrC,MAAM,iBAAiB,OAAO,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8EP,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;;;;EA6BxF,CAAC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Environment Configuration
3
+ * Type-safe access to environment variables
4
+ *
5
+ * Sealed namespace pattern - all exports through Env namespace
6
+ * Safe for both Node.js and serverless runtimes (Cloudflare Workers, Deno, Lambda)
7
+ */
8
+ const getProcessLike = () => {
9
+ return typeof process === 'undefined' ? undefined : process;
10
+ };
11
+ const dirnameFromExecPath = (execPath, platform) => {
12
+ const separator = platform === 'win32' ? '\\' : '/';
13
+ const lastSep = execPath.lastIndexOf(separator);
14
+ if (lastSep <= 0)
15
+ return '';
16
+ return execPath.slice(0, lastSep);
17
+ };
18
+ // Private helper functions
19
+ const get = (key, defaultValue) => {
20
+ const proc = getProcessLike();
21
+ const env = proc?.env ?? {};
22
+ return env[key] ?? defaultValue ?? '';
23
+ };
24
+ const getInt = (key, defaultValue) => {
25
+ const proc = getProcessLike();
26
+ const env = proc?.env ?? {};
27
+ const value = env[key];
28
+ if (value === undefined || value === null)
29
+ return defaultValue ?? 0;
30
+ return Number.parseInt(value, 10);
31
+ };
32
+ const getBool = (key, defaultValue) => {
33
+ const proc = getProcessLike();
34
+ const env = proc?.env ?? {};
35
+ const value = env[key];
36
+ if (value === undefined || value === null)
37
+ return defaultValue ?? false;
38
+ return value.toLowerCase() === 'true' || value === '1';
39
+ };
40
+ const getDefaultLogLevel = () => {
41
+ const NODE_ENV_VALUE = get('NODE_ENV', 'development');
42
+ if (NODE_ENV_VALUE === 'production')
43
+ return 'info';
44
+ if (NODE_ENV_VALUE === 'testing')
45
+ return 'error';
46
+ return 'debug';
47
+ };
48
+ // Sealed namespace with all environment configuration
49
+ export const Env = Object.freeze({
50
+ // Helper functions
51
+ get,
52
+ getInt,
53
+ getBool,
54
+ // Core
55
+ NODE_ENV: get('NODE_ENV', 'development'),
56
+ PORT: getInt('APP_PORT', 3000),
57
+ HOST: get('HOST', 'localhost'),
58
+ APP_NAME: get('APP_NAME', 'ZinTrust'),
59
+ APP_KEY: get('APP_KEY', ''),
60
+ // Database
61
+ DB_CONNECTION: get('DB_CONNECTION', 'sqlite'),
62
+ DB_HOST: get('DB_HOST', 'localhost'),
63
+ DB_PORT: getInt('DB_PORT', 5432),
64
+ DB_DATABASE: get('DB_DATABASE', 'zintrust'),
65
+ DB_USERNAME: get('DB_USERNAME', 'postgres'),
66
+ DB_PASSWORD: get('DB_PASSWORD', ''),
67
+ DB_READ_HOSTS: get('DB_READ_HOSTS', ''),
68
+ // Cloudflare
69
+ D1_DATABASE_ID: get('D1_DATABASE_ID'),
70
+ KV_NAMESPACE_ID: get('KV_NAMESPACE_ID'),
71
+ // Cache
72
+ CACHE_DRIVER: get('CACHE_DRIVER', 'memory'),
73
+ REDIS_HOST: get('REDIS_HOST', 'localhost'),
74
+ REDIS_PORT: getInt('REDIS_PORT', 6379),
75
+ REDIS_PASSWORD: get('REDIS_PASSWORD', ''),
76
+ MONGO_URI: get('MONGO_URI'),
77
+ MONGO_DB: get('MONGO_DB', 'zintrust_cache'),
78
+ // AWS
79
+ AWS_REGION: get('AWS_REGION', 'us-east-1'),
80
+ AWS_LAMBDA_FUNCTION_NAME: get('AWS_LAMBDA_FUNCTION_NAME'),
81
+ AWS_LAMBDA_FUNCTION_VERSION: get('AWS_LAMBDA_FUNCTION_VERSION'),
82
+ AWS_EXECUTION_ENV: get('AWS_EXECUTION_ENV'),
83
+ LAMBDA_TASK_ROOT: get('LAMBDA_TASK_ROOT'),
84
+ // Microservices
85
+ MICROSERVICES: get('MICROSERVICES'),
86
+ SERVICES: get('SERVICES'),
87
+ MICROSERVICES_TRACING: getBool('MICROSERVICES_TRACING'),
88
+ MICROSERVICES_TRACING_RATE: Number.parseFloat(get('MICROSERVICES_TRACING_RATE', '1.0')),
89
+ DATABASE_ISOLATION: get('DATABASE_ISOLATION', 'shared'),
90
+ SERVICE_API_KEY: get('SERVICE_API_KEY'),
91
+ SERVICE_JWT_SECRET: get('SERVICE_JWT_SECRET'),
92
+ // Security
93
+ DEBUG: getBool('DEBUG', false),
94
+ ENABLE_MICROSERVICES: getBool('ENABLE_MICROSERVICES', false),
95
+ TOKEN_TTL: getInt('TOKEN_TTL', 3600000),
96
+ TOKEN_LENGTH: getInt('TOKEN_LENGTH', 32),
97
+ // Deployment
98
+ ENVIRONMENT: get('ENVIRONMENT', 'development'),
99
+ REQUEST_TIMEOUT: getInt('REQUEST_TIMEOUT', 30000),
100
+ MAX_BODY_SIZE: getInt('MAX_BODY_SIZE', 10485760),
101
+ // Logging
102
+ LOG_LEVEL: get('LOG_LEVEL', getDefaultLogLevel()),
103
+ DISABLE_LOGGING: getBool('DISABLE_LOGGING', false),
104
+ // Paths (safely constructed for Node.js environments)
105
+ NODE_BIN_DIR: (() => {
106
+ try {
107
+ const proc = getProcessLike();
108
+ if (proc?.execPath === null || proc?.execPath === undefined)
109
+ return '';
110
+ return dirnameFromExecPath(proc.execPath, proc.platform);
111
+ }
112
+ catch {
113
+ // Fallback for non-Node environments
114
+ return '';
115
+ }
116
+ })(),
117
+ SAFE_PATH: (() => {
118
+ try {
119
+ const proc = getProcessLike();
120
+ if (proc?.execPath === null || proc?.execPath === undefined)
121
+ return '';
122
+ const binDir = dirnameFromExecPath(proc.execPath, proc.platform);
123
+ if (proc.platform === 'win32') {
124
+ return [String.raw `C:\Windows\System32`, String.raw `C:\Windows`, binDir].join(';');
125
+ }
126
+ return ['/usr/bin', '/bin', '/usr/sbin', '/sbin', binDir].join(':');
127
+ }
128
+ catch {
129
+ // Fallback for non-Node environments
130
+ return '';
131
+ }
132
+ })(),
133
+ });
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Feature Flags - Controls access to advanced/experimental features
3
+ * Sealed namespace for immutability
4
+ */
5
+ export declare const FeatureFlags: Readonly<{
6
+ /**
7
+ * Initialize all feature flags from environment
8
+ * Called once during application bootstrap
9
+ */
10
+ initialize(): void;
11
+ /**
12
+ * Check if raw queries are enabled
13
+ * Returns cached flag value (no environment lookup)
14
+ */
15
+ isRawQueryEnabled(): boolean;
16
+ /**
17
+ * Reset flags (primarily for testing)
18
+ */
19
+ reset(): void;
20
+ /**
21
+ * Set raw query enabled state
22
+ * Primarily for testing to avoid 'as any' type casting
23
+ */
24
+ setRawQueryEnabled(enabled: boolean): void;
25
+ }>;
26
+ export default FeatureFlags;
27
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/config/features.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;;OAGG;kBACW,IAAI;IAclB;;;OAGG;yBACkB,OAAO;IAI5B;;OAEG;aACM,IAAI;IAIb;;;OAGG;gCACyB,OAAO,GAAG,IAAI;EAG1C,CAAC;AAEH,eAAe,YAAY,CAAC"}