@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,379 @@
1
+ /**
2
+ * Template Engine
3
+ * Handles template rendering with variable substitution
4
+ * Sealed namespace with immutable template rendering methods
5
+ */
6
+ /**
7
+ * Render template content with variables
8
+ */
9
+ const renderTemplate = (content, variables) => {
10
+ let result = content;
11
+ for (const [key, value] of Object.entries(variables)) {
12
+ if (value === undefined || value === null)
13
+ continue;
14
+ const regex = new RegExp(String.raw `{{\s*${key}\s*}}`, 'g');
15
+ result = result.replace(regex, String(value));
16
+ }
17
+ return result;
18
+ };
19
+ /**
20
+ * Render file path with variables
21
+ */
22
+ const renderTemplatePath = (path, variables) => {
23
+ return renderTemplate(path, variables);
24
+ };
25
+ /**
26
+ * Replace template variables in content
27
+ */
28
+ const renderTemplateContent = (content, variables) => {
29
+ return renderTemplate(content, variables);
30
+ };
31
+ /**
32
+ * Get template variables with default values
33
+ */
34
+ const mergeTemplateVariables = (custom, defaults) => {
35
+ return { ...defaults, ...custom };
36
+ };
37
+ /**
38
+ * Check if content contains template variables
39
+ * Uses a non-backtracking pattern to prevent ReDoS vulnerability (S5852)
40
+ * Limits variable name length to 255 characters as a practical constraint
41
+ */
42
+ const hasTemplateVariables = (content) => {
43
+ return /\{\{[^}]{1,255}\}\}/.test(content);
44
+ };
45
+ /**
46
+ * Extract variable names from content
47
+ * Uses a non-backtracking pattern to prevent ReDoS vulnerability (S5852)
48
+ * Limits variable name length to 255 characters as a practical constraint
49
+ */
50
+ const extractTemplateVariables = (content) => {
51
+ const matches = content.match(/\{\{([^}]{1,255})\}\}/g);
52
+ if (matches === null)
53
+ return [];
54
+ return matches
55
+ .map((match) => match.replaceAll(/\{\{|\}\}/g, '').trim())
56
+ .filter((v, i, arr) => arr.indexOf(v) === i); // Unique
57
+ };
58
+ /**
59
+ * TemplateEngine namespace - sealed for immutability
60
+ */
61
+ export const TemplateEngine = Object.freeze({
62
+ render: renderTemplate,
63
+ renderPath: renderTemplatePath,
64
+ renderContent: renderTemplateContent,
65
+ mergeVariables: mergeTemplateVariables,
66
+ hasVariables: hasTemplateVariables,
67
+ extractVariables: extractTemplateVariables,
68
+ });
69
+ /**
70
+ * Built-in template definitions
71
+ */
72
+ export const BUILT_IN_TEMPLATES = {
73
+ basic: {
74
+ name: 'basic',
75
+ description: 'Basic Zintrust application',
76
+ directories: [
77
+ 'src',
78
+ 'app/Models',
79
+ 'app/Controllers',
80
+ 'routes',
81
+ 'tests/unit',
82
+ 'tests/integration',
83
+ 'config',
84
+ 'database/migrations',
85
+ 'database/seeders',
86
+ ],
87
+ files: [
88
+ {
89
+ path: 'package.json',
90
+ isTemplate: true,
91
+ content: `{
92
+ "name": "{{projectName}}",
93
+ "version": "1.0.0",
94
+ "description": "{{projectDescription}}",
95
+ "main": "dist/index.js",
96
+ "scripts": {
97
+ "dev": "tsx watch src/index.ts",
98
+ "test": "vitest",
99
+ "build": "tsc",
100
+ "start": "node dist/index.js"
101
+ },
102
+ "keywords": [],
103
+ "author": "{{author}}",
104
+ "license": "MIT",
105
+ "dependencies": {
106
+ "@zintrust/framework": "*"
107
+ },
108
+ "devDependencies": {
109
+ "typescript": "^5.3.3",
110
+ "tsx": "^4.6.2",
111
+ "vitest": "^1.1.0"
112
+ }
113
+ }`,
114
+ },
115
+ {
116
+ path: '.env.example',
117
+ isTemplate: true,
118
+ content: `NODE_ENV=development
119
+ APP_NAME={{projectName}}
120
+ APP_PORT={{port}}
121
+ APP_DEBUG=true
122
+ DB_CONNECTION=sqlite
123
+ DB_DATABASE=./database.sqlite`,
124
+ },
125
+ {
126
+ path: 'tsconfig.json',
127
+ content: `{
128
+ "compilerOptions": {
129
+ "target": "ES2022",
130
+ "module": "ES2022",
131
+ "lib": ["ES2022"],
132
+ "declaration": true,
133
+ "outDir": "./dist",
134
+ "rootDir": "./",
135
+ "baseUrl": "./",
136
+ "strict": true,
137
+ "skipLibCheck": true,
138
+ "esModuleInterop": true,
139
+ "moduleResolution": "node"
140
+ },
141
+ "include": ["src/**/*"],
142
+ "exclude": ["node_modules", "dist"]
143
+ }`,
144
+ },
145
+ {
146
+ path: '.gitignore',
147
+ content: `# Node
148
+ node_modules/
149
+ npm-debug.log
150
+
151
+ # Build
152
+ dist/
153
+ build/
154
+ *.tsbuildinfo
155
+
156
+ # Environment
157
+ .env
158
+ .env.local
159
+ .env.*.local
160
+
161
+ # IDE
162
+ .vscode/
163
+ .idea/
164
+ *.swp
165
+ *.swo
166
+ *~
167
+ .DS_Store
168
+
169
+ # Tests
170
+ coverage/
171
+ .nyc_output/
172
+
173
+ # Logs
174
+ logs/
175
+ *.log
176
+
177
+ # Database
178
+ *.sqlite
179
+ *.sqlite3
180
+
181
+ # OS
182
+ .DS_Store
183
+ Thumbs.db`,
184
+ },
185
+ {
186
+ path: 'README.md',
187
+ isTemplate: true,
188
+ content: `# {{projectName}}
189
+
190
+ {{projectDescription}}
191
+
192
+ ## Getting Started
193
+
194
+ \`\`\`bash
195
+ npm install
196
+ npm run dev
197
+ \`\`\`
198
+
199
+ ## Development
200
+
201
+ \`\`\`bash
202
+ npm run dev # Start development server
203
+ npm test # Run tests
204
+ npm run build # Build for production
205
+ npm start # Start production server
206
+ \`\`\`
207
+
208
+ ## License
209
+
210
+ MIT`,
211
+ },
212
+ {
213
+ path: 'src/index.ts',
214
+ content: `import { Application } from '@zintrust/framework';
215
+
216
+ const app = new Application(__dirname);
217
+
218
+ app.boot();
219
+
220
+ export default app;`,
221
+ },
222
+ {
223
+ path: 'routes/api.ts',
224
+ content: `import { Router } from '@zintrust/routing';
225
+
226
+ const registerRoutes = (router: Router): void => {
227
+ router.get('/', async (req, res) => {
228
+ res.json({ message: 'Welcome to {{projectName}}!' });
229
+ });
230
+
231
+ router.get('/health', async (req, res) => {
232
+ res.json({ status: 'healthy', timestamp: new Date().toISOString() });
233
+ });
234
+ }`,
235
+ },
236
+ ],
237
+ },
238
+ api: {
239
+ name: 'api',
240
+ description: 'RESTful API with microservices support',
241
+ directories: [
242
+ 'src',
243
+ 'app/Models',
244
+ 'app/Controllers',
245
+ 'app/Services',
246
+ 'routes',
247
+ 'tests/unit',
248
+ 'tests/integration',
249
+ 'config',
250
+ 'database/migrations',
251
+ 'database/seeders',
252
+ 'services',
253
+ ],
254
+ files: [
255
+ {
256
+ path: 'package.json',
257
+ isTemplate: true,
258
+ content: `{
259
+ "name": "{{projectName}}",
260
+ "version": "1.0.0",
261
+ "description": "RESTful API {{projectDescription}}",
262
+ "main": "dist/index.js",
263
+ "scripts": {
264
+ "dev": "tsx watch src/index.ts",
265
+ "test": "vitest",
266
+ "build": "tsc",
267
+ "start": "node dist/index.js",
268
+ "microservices:generate": "zintrust microservices:generate"
269
+ },
270
+ "keywords": ["api", "rest"],
271
+ "author": "{{author}}",
272
+ "license": "MIT",
273
+ "dependencies": {
274
+ "@zintrust/framework": "*"
275
+ },
276
+ "devDependencies": {
277
+ "typescript": "^5.3.3",
278
+ "tsx": "^4.6.2",
279
+ "vitest": "^1.1.0"
280
+ }
281
+ }`,
282
+ },
283
+ {
284
+ path: '.env.example',
285
+ isTemplate: true,
286
+ content: `NODE_ENV=development
287
+ APP_NAME={{projectName}}
288
+ APP_PORT={{port}}
289
+ APP_DEBUG=true
290
+ DB_CONNECTION=postgres
291
+ DB_HOST=localhost
292
+ DB_PORT=5432
293
+ DB_DATABASE={{projectName}}_db
294
+ DB_USERNAME=postgres
295
+ DB_PASSWORD=password`,
296
+ },
297
+ {
298
+ path: 'README.md',
299
+ isTemplate: true,
300
+ content: `# {{projectName}} API
301
+
302
+ {{projectDescription}}
303
+
304
+ REST API built with Zintrust framework.
305
+
306
+ ## Features
307
+
308
+ - Full REST API support
309
+ - PostgreSQL database
310
+ - User authentication
311
+ - Comprehensive testing
312
+ - Microservices ready
313
+
314
+ ## Getting Started
315
+
316
+ \`\`\`bash
317
+ npm install
318
+ npm run dev
319
+ \`\`\`
320
+
321
+ API will be available at http://localhost:{{port}}
322
+
323
+ ## API Documentation
324
+
325
+ ### Health Check
326
+ \`GET /health\`
327
+
328
+ ### Users
329
+ \`GET /api/users\` - List all users
330
+ \`POST /api/users\` - Create user
331
+ \`GET /api/users/:id\` - Get user
332
+ \`PUT /api/users/:id\` - Update user
333
+ \`DELETE /api/users/:id\` - Delete user
334
+
335
+ ## Development
336
+
337
+ \`\`\`bash
338
+ npm run dev # Start development server
339
+ npm test # Run tests
340
+ npm run build # Build for production
341
+ npm start # Start production server
342
+ \`\`\`
343
+
344
+ ## License
345
+
346
+ MIT`,
347
+ },
348
+ {
349
+ path: 'src/index.ts',
350
+ content: `import { Application } from '@zintrust/framework';
351
+
352
+ const app = new Application(__dirname);
353
+
354
+ // Load middleware, routes, etc.
355
+ app.boot();
356
+
357
+ export default app;`,
358
+ },
359
+ {
360
+ path: 'routes/api.ts',
361
+ content: `import { Router } from '@zintrust/routing';
362
+
363
+ const registerApiRoutes = (router: Router): void => {
364
+ router.group({ prefix: '/api/v1' }, (r) => {
365
+ // Health check
366
+ r.get('/health', async (req, res) => {
367
+ res.json({ status: 'healthy', timestamp: new Date().toISOString() });
368
+ });
369
+
370
+ // User routes would go here
371
+ r.get('/users', async (req, res) => {
372
+ res.json({ users: [] });
373
+ });
374
+ });
375
+ }`,
376
+ },
377
+ ],
378
+ },
379
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Workflow Generator
3
+ * Generates GitHub Actions workflows for deployment and CI/CD
4
+ */
5
+ export interface WorkflowOptions {
6
+ name: string;
7
+ platform: 'lambda' | 'fargate' | 'cloudflare' | 'deno' | 'all';
8
+ branch?: string;
9
+ nodeVersion?: string;
10
+ projectRoot: string;
11
+ }
12
+ /**
13
+ * Generate a deployment workflow
14
+ */
15
+ export declare function generateWorkflow(options: WorkflowOptions): Promise<{
16
+ success: boolean;
17
+ filePath: string;
18
+ message: string;
19
+ }>;
20
+ /**
21
+ * Get workflow template based on platform
22
+ */
23
+ export declare function getWorkflowTemplate(platform: string, branch: string, nodeVersion: string): string;
24
+ /**
25
+ * WorkflowGenerator object for backward compatibility
26
+ */
27
+ export declare const WorkflowGenerator: Readonly<{
28
+ generate: typeof generateWorkflow;
29
+ getTemplate: typeof getWorkflowTemplate;
30
+ }>;
31
+ //# sourceMappingURL=WorkflowGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowGenerator.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/WorkflowGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA0BjG;AAmID;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;EAG5B,CAAC"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Workflow Generator
3
+ * Generates GitHub Actions workflows for deployment and CI/CD
4
+ */
5
+ import { FileGenerator } from '../scaffolding/FileGenerator';
6
+ import { Logger } from '../../config/logger';
7
+ import { fsPromises as fs } from '../../node-singletons/fs';
8
+ import * as path from '../../node-singletons/path';
9
+ /**
10
+ * Generate a deployment workflow
11
+ */
12
+ export async function generateWorkflow(options) {
13
+ const workflowDir = path.join(options.projectRoot, '.github', 'workflows');
14
+ const filePath = path.join(workflowDir, 'deploy-cloud.yml');
15
+ const branch = options.branch ?? 'master';
16
+ const nodeVersion = options.nodeVersion ?? '20.x';
17
+ try {
18
+ // Ensure directory exists
19
+ await fs.mkdir(workflowDir, { recursive: true });
20
+ const content = getWorkflowTemplate(options.platform, branch, nodeVersion);
21
+ FileGenerator.writeFile(filePath, content, {
22
+ overwrite: true,
23
+ });
24
+ return {
25
+ success: true,
26
+ filePath,
27
+ message: `Workflow generated successfully at ${filePath}`,
28
+ };
29
+ }
30
+ catch (error) {
31
+ Logger.error('Workflow generation failed', error);
32
+ return {
33
+ success: false,
34
+ filePath,
35
+ message: `Failed to generate workflow: ${error.message}`,
36
+ };
37
+ }
38
+ }
39
+ /**
40
+ * Get workflow template based on platform
41
+ */
42
+ export function getWorkflowTemplate(platform, branch, nodeVersion) {
43
+ const isAll = platform === 'all';
44
+ const isLambda = isAll || platform === 'lambda';
45
+ const isFargate = isAll || platform === 'fargate';
46
+ const isCloudflare = isAll || platform === 'cloudflare';
47
+ const isDeno = isAll || platform === 'deno';
48
+ let content = buildWorkflowHeader(platform, branch, nodeVersion);
49
+ if (isLambda) {
50
+ content += buildLambdaJob();
51
+ }
52
+ if (isFargate) {
53
+ content += buildFargateJob();
54
+ }
55
+ if (isCloudflare) {
56
+ content += buildCloudflareJob();
57
+ }
58
+ if (isDeno) {
59
+ content += buildDenoJob();
60
+ }
61
+ return content;
62
+ }
63
+ /**
64
+ * Build workflow header and build job
65
+ */
66
+ function buildWorkflowHeader(platform, branch, nodeVersion) {
67
+ return `name: Deploy Cloud
68
+
69
+ on:
70
+ push:
71
+ branches:
72
+ - ${branch}
73
+ - production
74
+ - staging
75
+ pull_request:
76
+ branches:
77
+ - ${branch}
78
+ workflow_dispatch:
79
+ inputs:
80
+ platform:
81
+ description: 'Platform to deploy (lambda,fargate,cloudflare,deno,all)'
82
+ required: true
83
+ default: '${platform}'
84
+
85
+ env:
86
+ REGISTRY: ghcr.io
87
+ AWS_REGION: us-east-1
88
+
89
+ jobs:
90
+ build:
91
+ runs-on: ubuntu-latest
92
+ steps:
93
+ - uses: actions/checkout@v4
94
+
95
+ - name: Setup Node.js
96
+ uses: actions/setup-node@v4
97
+ with:
98
+ node-version: ${nodeVersion}
99
+ cache: 'npm'
100
+
101
+ - name: Install dependencies
102
+ run: npm ci --ignore-scripts
103
+
104
+ - name: Type check
105
+ run: npm run type-check
106
+
107
+ - name: Run tests
108
+ run: npm test
109
+
110
+ - name: Build
111
+ run: npm run build
112
+
113
+ - name: Upload build artifacts
114
+ uses: actions/upload-artifact@v4
115
+ with:
116
+ name: dist
117
+ path: dist/
118
+ `;
119
+ }
120
+ /**
121
+ * Build Lambda job
122
+ */
123
+ function buildLambdaJob() {
124
+ return `
125
+ deploy-lambda:
126
+ needs: build
127
+ runs-on: ubuntu-latest
128
+ if: contains(github.event.inputs.platform || 'all', 'lambda') || github.event_name == 'push'
129
+ steps:
130
+ - uses: actions/checkout@v4
131
+ - name: Download build artifacts
132
+ uses: actions/download-artifact@v4
133
+ with:
134
+ name: dist
135
+ path: dist/
136
+ - name: Deploy to AWS Lambda
137
+ run: echo "Deploying to Lambda..."
138
+ `;
139
+ }
140
+ /**
141
+ * Build Fargate job
142
+ */
143
+ function buildFargateJob() {
144
+ return `
145
+ deploy-fargate:
146
+ needs: build
147
+ runs-on: ubuntu-latest
148
+ if: contains(github.event.inputs.platform || 'all', 'fargate') || github.event_name == 'push'
149
+ steps:
150
+ - uses: actions/checkout@v4
151
+ - name: Build and Push Docker Image
152
+ run: echo "Pushing to GHCR..."
153
+ `;
154
+ }
155
+ /**
156
+ * Build Cloudflare job
157
+ */
158
+ function buildCloudflareJob() {
159
+ return `
160
+ deploy-cloudflare:
161
+ needs: build
162
+ runs-on: ubuntu-latest
163
+ if: contains(github.event.inputs.platform || 'all', 'cloudflare') || github.event_name == 'push'
164
+ steps:
165
+ - uses: actions/checkout@v4
166
+ - name: Deploy to Cloudflare Workers
167
+ run: npm run deploy
168
+ env:
169
+ CLOUDFLARE_API_TOKEN: \${{ secrets.CLOUDFLARE_API_TOKEN }}
170
+ `;
171
+ }
172
+ /**
173
+ * Build Deno job
174
+ */
175
+ function buildDenoJob() {
176
+ return `
177
+ deploy-deno:
178
+ needs: build
179
+ runs-on: ubuntu-latest
180
+ if: contains(github.event.inputs.platform || 'all', 'deno') || github.event_name == 'push'
181
+ steps:
182
+ - uses: actions/checkout@v4
183
+ - name: Deploy to Deno Deploy
184
+ run: echo "Deploying to Deno..."
185
+ `;
186
+ }
187
+ /**
188
+ * WorkflowGenerator object for backward compatibility
189
+ */
190
+ export const WorkflowGenerator = Object.freeze({
191
+ generate: generateWorkflow,
192
+ getTemplate: getWorkflowTemplate,
193
+ });
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Scaffolding Module Exports
3
+ */
4
+ export { ControllerGenerator } from '../scaffolding/ControllerGenerator';
5
+ export type { ControllerGeneratorResult, ControllerOptions, ControllerType, } from '../scaffolding/ControllerGenerator';
6
+ export { FactoryGenerator } from '../scaffolding/FactoryGenerator';
7
+ export type { FactoryField, FactoryGeneratorResult, FactoryOptions, } from '../scaffolding/FactoryGenerator';
8
+ export { FeatureScaffolder } from '../scaffolding/FeatureScaffolder';
9
+ export type { FeatureOptions, FeatureScaffoldResult, FeatureType, } from '../scaffolding/FeatureScaffolder';
10
+ export { FileGenerator } from '../scaffolding/FileGenerator';
11
+ export type { FileCreationOptions } from '../scaffolding/FileGenerator';
12
+ export { MigrationGenerator } from '../scaffolding/MigrationGenerator';
13
+ export type { MigrationOptions, MigrationScaffoldResult, } from '../scaffolding/MigrationGenerator';
14
+ export { ModelGenerator } from '../scaffolding/ModelGenerator';
15
+ export type { FieldType, ModelField, ModelGeneratorResult, ModelOptions, ModelRelationship, } from '../scaffolding/ModelGenerator';
16
+ export { ProjectScaffolder } from '../scaffolding/ProjectScaffolder';
17
+ export type { ProjectScaffoldOptions, ProjectScaffoldResult, } from '../scaffolding/ProjectScaffolder';
18
+ export { RequestFactoryGenerator } from '../scaffolding/RequestFactoryGenerator';
19
+ export type { RequestFactoryGeneratorResult, RequestFactoryOptions, RequestField, } from '../scaffolding/RequestFactoryGenerator';
20
+ export { ResponseFactoryGenerator } from '../scaffolding/ResponseFactoryGenerator';
21
+ export type { ResponseFactoryGeneratorResult, ResponseFactoryOptions, ResponseField, } from '../scaffolding/ResponseFactoryGenerator';
22
+ export { RouteGenerator } from '../scaffolding/RouteGenerator';
23
+ export type { RouteDefinition, RouteGeneratorResult, RouteMethod, RouteOptions, } from '../scaffolding/RouteGenerator';
24
+ export { SeederGenerator } from '../scaffolding/SeederGenerator';
25
+ export type { SeederField, SeederGeneratorResult, SeederOptions, } from '../scaffolding/SeederGenerator';
26
+ export { ServiceIntegrationTestGenerator } from '../scaffolding/ServiceIntegrationTestGenerator';
27
+ export type { ServiceEndpoint, ServiceIntegrationTestOptions, ServiceIntegrationTestResult, } from '../scaffolding/ServiceIntegrationTestGenerator';
28
+ export { ServiceRequestFactoryGenerator } from '../scaffolding/ServiceRequestFactoryGenerator';
29
+ export type { ServiceRequestFactoryResult, ServiceRequestField, ServiceRequestOptions, } from '../scaffolding/ServiceRequestFactoryGenerator';
30
+ export { ServiceScaffolder } from '../scaffolding/ServiceScaffolder';
31
+ export type { ServiceOptions, ServiceScaffoldResult } from '../scaffolding/ServiceScaffolder';
32
+ export { BUILT_IN_TEMPLATES, TemplateEngine } from '../scaffolding/TemplateEngine';
33
+ export type { Template, TemplateFile, TemplateVariables } from '../scaffolding/TemplateEngine';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,YAAY,EACV,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,GACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,WAAW,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EACV,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,YAAY,GACb,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,YAAY,EACV,8BAA8B,EAC9B,sBAAsB,EACtB,aAAa,GACd,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,YAAY,EACV,eAAe,EACf,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACrF,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Scaffolding Module Exports
3
+ */
4
+ export { ControllerGenerator } from '../scaffolding/ControllerGenerator';
5
+ export { FactoryGenerator } from '../scaffolding/FactoryGenerator';
6
+ export { FeatureScaffolder } from '../scaffolding/FeatureScaffolder';
7
+ export { FileGenerator } from '../scaffolding/FileGenerator';
8
+ export { MigrationGenerator } from '../scaffolding/MigrationGenerator';
9
+ export { ModelGenerator } from '../scaffolding/ModelGenerator';
10
+ export { ProjectScaffolder } from '../scaffolding/ProjectScaffolder';
11
+ export { RequestFactoryGenerator } from '../scaffolding/RequestFactoryGenerator';
12
+ export { ResponseFactoryGenerator } from '../scaffolding/ResponseFactoryGenerator';
13
+ export { RouteGenerator } from '../scaffolding/RouteGenerator';
14
+ export { SeederGenerator } from '../scaffolding/SeederGenerator';
15
+ export { ServiceIntegrationTestGenerator } from '../scaffolding/ServiceIntegrationTestGenerator';
16
+ export { ServiceRequestFactoryGenerator } from '../scaffolding/ServiceRequestFactoryGenerator';
17
+ export { ServiceScaffolder } from '../scaffolding/ServiceScaffolder';
18
+ export { BUILT_IN_TEMPLATES, TemplateEngine } from '../scaffolding/TemplateEngine';
@@ -0,0 +1,8 @@
1
+ export declare const DistPackager: Readonly<{
2
+ /**
3
+ * Creates minimal metadata so `dist/` can be installed via `file:/.../dist`.
4
+ * This is intended for local dev/simulate apps, not publishing.
5
+ */
6
+ prepare(distPath: string, rootPath?: string): void;
7
+ }>;
8
+ //# sourceMappingURL=DistPackager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DistPackager.d.ts","sourceRoot":"","sources":["../../../../src/cli/utils/DistPackager.ts"],"names":[],"mappings":"AAgHA,eAAO,MAAM,YAAY;IACvB;;;OAGG;sBACe,MAAM,aAAY,MAAM,GAAmB,IAAI;EAgBjE,CAAC"}