arkos 1.2.31-test → 1.3.0-canary

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 (346) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/app.js +1 -1
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/auth/index.js +1 -6
  5. package/dist/cjs/exports/controllers/index.js +1 -11
  6. package/dist/cjs/exports/error-handler/index.js +1 -11
  7. package/dist/cjs/exports/index.js +1 -12
  8. package/dist/cjs/exports/middlewares/index.js +1 -7
  9. package/dist/cjs/exports/prisma/index.js +1 -6
  10. package/dist/cjs/exports/prisma/index.js.map +1 -1
  11. package/dist/cjs/exports/services/index.js +1 -49
  12. package/dist/cjs/exports/services/index.js.map +1 -1
  13. package/dist/cjs/exports/utils/index.js +1 -44
  14. package/dist/cjs/exports/validation/index.js +1 -11
  15. package/dist/cjs/modules/auth/auth.controller.js +1 -194
  16. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  17. package/dist/cjs/modules/auth/auth.router.js +1 -50
  18. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  19. package/dist/cjs/modules/auth/auth.service.js +1 -185
  20. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  21. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
  22. package/dist/cjs/modules/base/base.controller.js +1 -158
  23. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  24. package/dist/cjs/modules/base/base.middlewares.js +1 -92
  25. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  26. package/dist/cjs/modules/base/base.router.js +1 -24
  27. package/dist/cjs/modules/base/base.router.js.map +1 -1
  28. package/dist/cjs/modules/base/base.service.js +1 -128
  29. package/dist/cjs/modules/base/base.service.js.map +1 -1
  30. package/dist/cjs/modules/base/types/base.service.types.js +1 -0
  31. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -0
  32. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
  33. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  34. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
  35. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
  36. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  37. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
  38. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  39. package/dist/cjs/modules/base/utils/service-hooks-manager.js +1 -0
  40. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +1 -0
  41. package/dist/cjs/modules/email/email.service.js +1 -104
  42. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
  43. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  44. package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
  45. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
  46. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
  47. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  48. package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
  49. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  50. package/dist/cjs/modules/file-upload/file-upload.router.js +1 -44
  51. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  52. package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
  53. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
  54. package/dist/cjs/modules/swagger/swagger.router.js +1 -99
  55. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  56. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -250
  57. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  58. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  59. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  60. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
  61. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
  63. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  64. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -22
  65. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  66. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  67. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  68. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  69. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  70. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  71. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  72. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  73. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  74. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -94
  75. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  76. package/dist/cjs/package.json +3 -0
  77. package/dist/cjs/server.js +4 -2
  78. package/dist/cjs/server.js.map +1 -1
  79. package/dist/cjs/types/arkos-config.js +1 -3
  80. package/dist/cjs/types/arkos-config.js.map +1 -1
  81. package/dist/cjs/types/auth.js +1 -3
  82. package/dist/cjs/types/index.js +1 -11
  83. package/dist/cjs/types/index.js.map +1 -1
  84. package/dist/cjs/types/router-config.js +1 -3
  85. package/dist/cjs/utils/arkos-env.js +1 -9
  86. package/dist/cjs/utils/cli/build.js +5 -212
  87. package/dist/cjs/utils/cli/build.js.map +1 -1
  88. package/dist/cjs/utils/cli/dev.js +5 -256
  89. package/dist/cjs/utils/cli/dev.js.map +1 -1
  90. package/dist/cjs/utils/cli/generate.js +12 -189
  91. package/dist/cjs/utils/cli/generate.js.map +1 -1
  92. package/dist/cjs/utils/cli/index.js +1 -81
  93. package/dist/cjs/utils/cli/index.js.map +1 -1
  94. package/dist/cjs/utils/cli/start.js +1 -93
  95. package/dist/cjs/utils/cli/start.js.map +1 -1
  96. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
  97. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  98. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -18
  99. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  100. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +174 -101
  101. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  102. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -37
  103. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  104. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
  105. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  106. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -28
  107. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  108. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  109. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  110. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
  111. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
  112. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  113. package/dist/cjs/utils/dynamic-loader.js +11 -0
  114. package/dist/cjs/utils/dynamic-loader.js.map +1 -0
  115. package/dist/cjs/utils/features/api.features.js +1 -167
  116. package/dist/cjs/utils/features/api.features.js.map +1 -1
  117. package/dist/cjs/utils/features/change-case.features.js +1 -67
  118. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
  119. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
  120. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  121. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  122. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  123. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  124. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +1 -0
  125. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  126. package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
  127. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  128. package/dist/cjs/utils/helpers/global.helpers.js +1 -92
  129. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  130. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
  131. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  132. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  133. package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
  134. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  135. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  136. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -0
  137. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  138. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -0
  139. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  140. package/dist/cjs/utils/prisma/types.js +1 -0
  141. package/dist/cjs/utils/prisma/types.js.map +1 -0
  142. package/dist/cjs/utils/sheu.js +1 -119
  143. package/dist/cjs/utils/sheu.js.map +1 -1
  144. package/dist/cjs/utils/validate-dto.js +1 -17
  145. package/dist/cjs/utils/validate-schema.js +1 -15
  146. package/dist/esm/app.js +1 -1
  147. package/dist/esm/app.js.map +1 -1
  148. package/dist/esm/exports/auth/index.js +1 -2
  149. package/dist/esm/exports/controllers/index.js +1 -4
  150. package/dist/esm/exports/error-handler/index.js +1 -4
  151. package/dist/esm/exports/index.js +1 -8
  152. package/dist/esm/exports/middlewares/index.js +1 -2
  153. package/dist/esm/exports/prisma/index.js +1 -3
  154. package/dist/esm/exports/prisma/index.js.map +1 -1
  155. package/dist/esm/exports/services/index.js +1 -9
  156. package/dist/esm/exports/services/index.js.map +1 -1
  157. package/dist/esm/exports/utils/index.js +1 -4
  158. package/dist/esm/exports/validation/index.js +1 -4
  159. package/dist/esm/modules/auth/auth.controller.js +1 -187
  160. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  161. package/dist/esm/modules/auth/auth.router.js +1 -44
  162. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  163. package/dist/esm/modules/auth/auth.service.js +1 -178
  164. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  165. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -73
  166. package/dist/esm/modules/base/base.controller.js +1 -150
  167. package/dist/esm/modules/base/base.controller.js.map +1 -1
  168. package/dist/esm/modules/base/base.middlewares.js +1 -81
  169. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  170. package/dist/esm/modules/base/base.router.js +1 -17
  171. package/dist/esm/modules/base/base.router.js.map +1 -1
  172. package/dist/esm/modules/base/base.service.js +1 -120
  173. package/dist/esm/modules/base/base.service.js.map +1 -1
  174. package/dist/esm/modules/base/types/base.service.types.js +1 -0
  175. package/dist/esm/modules/base/types/base.service.types.js.map +1 -0
  176. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -77
  177. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  178. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -44
  179. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -89
  180. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  181. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -165
  182. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  183. package/dist/esm/modules/base/utils/service-hooks-manager.js +1 -0
  184. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +1 -0
  185. package/dist/esm/modules/email/email.service.js +1 -97
  186. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -107
  187. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  188. package/dist/esm/modules/error-handler/utils/app-error.js +1 -15
  189. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -10
  190. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -160
  191. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  192. package/dist/esm/modules/file-upload/file-upload.controller.js +1 -266
  193. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  194. package/dist/esm/modules/file-upload/file-upload.router.js +1 -38
  195. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  196. package/dist/esm/modules/file-upload/file-upload.service.js +1 -314
  197. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -87
  198. package/dist/esm/modules/swagger/swagger.router.js +1 -93
  199. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  200. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -247
  201. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  202. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  203. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  204. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -63
  205. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  206. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -38
  207. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  208. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -19
  209. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  210. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  211. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  212. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  213. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  214. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  215. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  216. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  217. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  218. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -84
  219. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  220. package/dist/esm/package.json +3 -0
  221. package/dist/esm/server.js +4 -2
  222. package/dist/esm/server.js.map +1 -1
  223. package/dist/esm/types/arkos-config.js +1 -2
  224. package/dist/esm/types/arkos-config.js.map +1 -1
  225. package/dist/esm/types/auth.js +1 -2
  226. package/dist/esm/types/index.js +1 -8
  227. package/dist/esm/types/index.js.map +1 -1
  228. package/dist/esm/types/router-config.js +1 -2
  229. package/dist/esm/utils/arkos-env.js +1 -7
  230. package/dist/esm/utils/cli/build.js +5 -206
  231. package/dist/esm/utils/cli/build.js.map +1 -1
  232. package/dist/esm/utils/cli/dev.js +5 -249
  233. package/dist/esm/utils/cli/dev.js.map +1 -1
  234. package/dist/esm/utils/cli/generate.js +12 -183
  235. package/dist/esm/utils/cli/generate.js.map +1 -1
  236. package/dist/esm/utils/cli/index.js +1 -74
  237. package/dist/esm/utils/cli/index.js.map +1 -1
  238. package/dist/esm/utils/cli/start.js +1 -86
  239. package/dist/esm/utils/cli/start.js.map +1 -1
  240. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -16
  241. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -17
  242. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -15
  243. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  244. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +174 -98
  245. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  246. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -34
  247. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  248. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -30
  249. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  250. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -25
  251. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  252. package/dist/esm/utils/cli/utils/template-generators.js +2 -25
  253. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  254. package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
  255. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
  256. package/dist/esm/utils/dotenv.helpers.js +1 -37
  257. package/dist/esm/utils/dynamic-loader.js +11 -0
  258. package/dist/esm/utils/dynamic-loader.js.map +1 -0
  259. package/dist/esm/utils/features/api.features.js +1 -160
  260. package/dist/esm/utils/features/api.features.js.map +1 -1
  261. package/dist/esm/utils/features/change-case.features.js +1 -31
  262. package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
  263. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
  264. package/dist/esm/utils/helpers/api.features.helpers.js +1 -103
  265. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  266. package/dist/esm/utils/helpers/change-case.helpers.js +1 -161
  267. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -113
  268. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +1 -0
  269. package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  270. package/dist/esm/utils/helpers/fs.helpers.js +1 -52
  271. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  272. package/dist/esm/utils/helpers/global.helpers.js +1 -50
  273. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  274. package/dist/esm/utils/helpers/prisma.helpers.js +1 -44
  275. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  276. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -40
  277. package/dist/esm/utils/helpers/routers.helpers.js +1 -16
  278. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  279. package/dist/esm/utils/helpers/text.helpers.js +1 -22
  280. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
  281. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  282. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
  283. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  284. package/dist/esm/utils/prisma/types.js +1 -0
  285. package/dist/esm/utils/prisma/types.js.map +1 -0
  286. package/dist/esm/utils/sheu.js +1 -117
  287. package/dist/esm/utils/sheu.js.map +1 -1
  288. package/dist/esm/utils/validate-dto.js +1 -11
  289. package/dist/esm/utils/validate-schema.js +1 -9
  290. package/dist/types/exports/prisma/index.d.ts +1 -1
  291. package/dist/types/exports/services/index.d.ts +3 -2
  292. package/dist/types/modules/auth/auth.controller.d.ts +1 -1
  293. package/dist/types/modules/auth/auth.service.d.ts +1 -0
  294. package/dist/types/modules/base/base.controller.d.ts +1 -2
  295. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  296. package/dist/types/modules/base/base.service.d.ts +13 -67
  297. package/dist/types/modules/base/types/base.service.types.d.ts +183 -0
  298. package/dist/types/modules/base/utils/helpers/base.controller.helpers.d.ts +0 -2
  299. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +1 -1
  300. package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +2 -1
  301. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +7 -0
  302. package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
  303. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +1 -0
  304. package/dist/types/modules/file-upload/file-upload.controller.d.ts +1 -1
  305. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +3 -1
  306. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +46 -0
  307. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -1
  308. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -0
  309. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +3 -0
  310. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +3 -0
  311. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  312. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +2 -2
  313. package/dist/types/server.d.ts +3 -0
  314. package/dist/types/types/arkos-config.d.ts +5 -3
  315. package/dist/types/types/index.d.ts +1 -0
  316. package/dist/types/utils/cli/generate.d.ts +1 -1
  317. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
  318. package/dist/types/utils/{helpers/models.helpers.d.ts → dynamic-loader.d.ts} +34 -21
  319. package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
  320. package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +2 -0
  321. package/dist/types/utils/helpers/fs.helpers.d.ts +0 -4
  322. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  323. package/dist/types/utils/helpers/prisma.helpers.d.ts +0 -1
  324. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +34 -0
  325. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +18 -0
  326. package/dist/types/utils/prisma/types.d.ts +48 -0
  327. package/package.json +24 -17
  328. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -30
  329. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  330. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -442
  331. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  332. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -165
  333. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  334. package/dist/cjs/utils/helpers/models.helpers.js +0 -313
  335. package/dist/cjs/utils/helpers/models.helpers.js.map +0 -1
  336. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -24
  337. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  338. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -436
  339. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  340. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -159
  341. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  342. package/dist/esm/utils/helpers/models.helpers.js +0 -296
  343. package/dist/esm/utils/helpers/models.helpers.js.map +0 -1
  344. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +0 -1
  345. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +0 -2
  346. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +0 -2
@@ -1,189 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateCommand = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const template_generators_1 = require("./utils/template-generators");
10
- const cli_helpers_1 = require("./utils/cli.helpers");
11
- const change_case_helpers_1 = require("../helpers/change-case.helpers");
12
- const fs_helpers_1 = require("../helpers/fs.helpers");
13
- exports.generateCommand = {
14
- controller: async (options) => {
15
- const modelName = options.model;
16
- if (!modelName) {
17
- console.error("\n❌ Model name is required");
18
- process.exit(1);
19
- }
20
- const { path: customPath = "src/modules" } = options;
21
- const names = {
22
- pascal: (0, change_case_helpers_1.pascalCase)(modelName),
23
- camel: (0, change_case_helpers_1.camelCase)(modelName),
24
- kebab: (0, change_case_helpers_1.kebabCase)(modelName),
25
- };
26
- const ext = (0, fs_helpers_1.getUserFileExtension)();
27
- const modulePath = path_1.default.join(process.cwd(), customPath, names.kebab);
28
- const filePath = path_1.default.join(modulePath, `${names.kebab}.controller.${ext}`);
29
- try {
30
- (0, cli_helpers_1.ensureDirectoryExists)(modulePath);
31
- const content = (0, template_generators_1.generateTemplate)("controller", {
32
- modelName: names,
33
- imports: {
34
- baseController: "arkos/controllers",
35
- },
36
- });
37
- fs_1.default.writeFileSync(filePath, content);
38
- console.info(`\nController generated: ${filePath.replace(process.cwd(), "")}`);
39
- }
40
- catch (error) {
41
- console.error(`❌ Failed to generate controller:`, error);
42
- process.exit(1);
43
- }
44
- },
45
- service: async (options) => {
46
- const modelName = options.model;
47
- if (!modelName) {
48
- console.error("\n❌ Model name is required");
49
- process.exit(1);
50
- }
51
- const { path: customPath = "src/modules" } = options;
52
- const names = {
53
- pascal: (0, change_case_helpers_1.pascalCase)(modelName),
54
- camel: (0, change_case_helpers_1.camelCase)(modelName),
55
- kebab: (0, change_case_helpers_1.kebabCase)(modelName),
56
- };
57
- const ext = (0, fs_helpers_1.getUserFileExtension)();
58
- const modulePath = path_1.default.join(process.cwd(), customPath, names.kebab);
59
- const filePath = path_1.default.join(modulePath, `${names.kebab}.service.${ext}`);
60
- try {
61
- (0, cli_helpers_1.ensureDirectoryExists)(modulePath);
62
- const content = (0, template_generators_1.generateTemplate)("service", {
63
- modelName: names,
64
- imports: {
65
- baseService: "arkos/services",
66
- },
67
- });
68
- fs_1.default.writeFileSync(filePath, content);
69
- console.info(`\n✅ Service generated: ${filePath}`);
70
- }
71
- catch (error) {
72
- console.error(`❌ Failed to generate service:`, error);
73
- process.exit(1);
74
- }
75
- },
76
- router: async (options) => {
77
- const modelName = options.model;
78
- if (!modelName) {
79
- console.error("\n❌ Model name is required");
80
- process.exit(1);
81
- }
82
- const { path: customPath = "src/modules" } = options;
83
- const names = {
84
- pascal: (0, change_case_helpers_1.pascalCase)(modelName),
85
- camel: (0, change_case_helpers_1.camelCase)(modelName),
86
- kebab: (0, change_case_helpers_1.kebabCase)(modelName),
87
- };
88
- const ext = (0, fs_helpers_1.getUserFileExtension)();
89
- const modulePath = path_1.default.join(process.cwd(), customPath, names.kebab);
90
- const filePath = path_1.default.join(modulePath, `${names.kebab}.router.${ext}`);
91
- try {
92
- (0, cli_helpers_1.ensureDirectoryExists)(modulePath);
93
- const content = (0, template_generators_1.generateTemplate)("router", {
94
- modelName: names,
95
- imports: {
96
- baseRouter: "arkos",
97
- controller: `./${names.kebab}.controller`,
98
- },
99
- });
100
- fs_1.default.writeFileSync(filePath, content);
101
- console.info(`\nRouter generated: ${filePath.replace(process.cwd(), "")}`);
102
- }
103
- catch (error) {
104
- console.error(`❌ Failed to generate router:`, error);
105
- process.exit(1);
106
- }
107
- },
108
- middlewares: async (options) => {
109
- const modelName = options.model;
110
- if (!modelName) {
111
- console.error("❌ Middleware name is required");
112
- process.exit(1);
113
- }
114
- const { path: customPath = "src/modules" } = options;
115
- const names = {
116
- pascal: (0, change_case_helpers_1.pascalCase)(modelName),
117
- camel: (0, change_case_helpers_1.camelCase)(modelName),
118
- kebab: (0, change_case_helpers_1.kebabCase)(modelName),
119
- };
120
- const ext = (0, fs_helpers_1.getUserFileExtension)();
121
- const middlewarePath = path_1.default.join(process.cwd(), customPath, names.kebab);
122
- const filePath = path_1.default.join(middlewarePath, `${names.kebab}.middlewares.${ext}`);
123
- try {
124
- (0, cli_helpers_1.ensureDirectoryExists)(middlewarePath);
125
- const content = (0, template_generators_1.generateTemplate)("middlewares", {
126
- modelName: names,
127
- });
128
- fs_1.default.writeFileSync(filePath, content);
129
- console.info(`\nMiddlewares generated: ${filePath}`);
130
- }
131
- catch (error) {
132
- console.error(`❌ Failed to generate middleware:`, error);
133
- process.exit(1);
134
- }
135
- },
136
- authConfigs: async (options) => {
137
- const modelName = options.model;
138
- const { path: customPath = "src/modules" } = options;
139
- const names = {
140
- pascal: (0, change_case_helpers_1.pascalCase)(modelName),
141
- camel: (0, change_case_helpers_1.camelCase)(modelName),
142
- kebab: (0, change_case_helpers_1.kebabCase)(modelName),
143
- };
144
- const ext = (0, fs_helpers_1.getUserFileExtension)();
145
- const configPath = path_1.default.join(process.cwd(), customPath, names.kebab);
146
- const filePath = path_1.default.join(configPath, `${names.kebab}.auth.${ext}`);
147
- try {
148
- (0, cli_helpers_1.ensureDirectoryExists)(configPath);
149
- const content = (0, template_generators_1.generateTemplate)("auth-configs", { modelName: names });
150
- fs_1.default.writeFileSync(filePath, content);
151
- console.info(`\nAuth config generated: ${filePath.replace(process.cwd(), "")}`);
152
- }
153
- catch (error) {
154
- console.error(`❌ Failed to generate auth config:`, error);
155
- process.exit(1);
156
- }
157
- },
158
- queryOptions: async (options) => {
159
- const modelName = options.model;
160
- if (!modelName) {
161
- console.error("\n❌ Model name is required");
162
- process.exit(1);
163
- }
164
- if (modelName === "file-upload") {
165
- console.error("\n❌ Prisma query options are not available to file-upload resource");
166
- process.exit(1);
167
- }
168
- const { path: customPath = "src/modules" } = options;
169
- const names = {
170
- pascal: (0, change_case_helpers_1.pascalCase)(modelName),
171
- camel: (0, change_case_helpers_1.camelCase)(modelName),
172
- kebab: (0, change_case_helpers_1.kebabCase)(modelName),
173
- };
174
- const ext = (0, fs_helpers_1.getUserFileExtension)();
175
- const configPath = path_1.default.join(process.cwd(), customPath, names.kebab);
176
- const filePath = path_1.default.join(configPath, `${names.kebab}.query.${ext}`);
177
- try {
178
- (0, cli_helpers_1.ensureDirectoryExists)(configPath);
179
- const content = (0, template_generators_1.generateTemplate)("query-options", { modelName: names });
180
- fs_1.default.writeFileSync(filePath, content);
181
- console.info(`\nQuery config generated: ${filePath.replace(process.cwd(), "")}`);
182
- }
183
- catch (error) {
184
- console.error(`❌ Failed to generate query config:`, error);
185
- process.exit(1);
186
- }
187
- },
188
- };
189
- //# sourceMappingURL=generate.js.map
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateCommand=void 0;const fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path")),template_generators_1=require("./utils/template-generators"),cli_helpers_1=require("./utils/cli.helpers"),change_case_helpers_1=require("../helpers/change-case.helpers"),fs_helpers_1=require("../helpers/fs.helpers");exports.generateCommand={controller:async t=>{const e=t.model;e||(console.error(`
2
+ \u274C Model name is required`),process.exit(1));const{path:c="src/modules"}=t,s={pascal:(0,change_case_helpers_1.pascalCase)(e),camel:(0,change_case_helpers_1.camelCase)(e),kebab:(0,change_case_helpers_1.kebabCase)(e)},n=(0,fs_helpers_1.getUserFileExtension)(),r=path_1.default.join(process.cwd(),c,s.kebab),a=path_1.default.join(r,`${s.kebab}.controller.${n}`);try{(0,cli_helpers_1.ensureDirectoryExists)(r);const o=(0,template_generators_1.generateTemplate)("controller",{modelName:s,imports:{baseController:"arkos/controllers"}});fs_1.default.writeFileSync(a,o),console.info(`
3
+ Controller generated: ${a.replace(process.cwd(),"")}`)}catch(o){console.error("\u274C Failed to generate controller:",o),process.exit(1)}},service:async t=>{const e=t.model;e||(console.error(`
4
+ \u274C Model name is required`),process.exit(1));const{path:c="src/modules"}=t,s={pascal:(0,change_case_helpers_1.pascalCase)(e),camel:(0,change_case_helpers_1.camelCase)(e),kebab:(0,change_case_helpers_1.kebabCase)(e)},n=(0,fs_helpers_1.getUserFileExtension)(),r=path_1.default.join(process.cwd(),c,s.kebab),a=path_1.default.join(r,`${s.kebab}.service.${n}`);try{(0,cli_helpers_1.ensureDirectoryExists)(r);const o=(0,template_generators_1.generateTemplate)("service",{modelName:s,imports:{baseService:"arkos/services"}});fs_1.default.writeFileSync(a,o),console.info(`
5
+ \u2705 Service generated: ${a}`)}catch(o){console.error("\u274C Failed to generate service:",o),process.exit(1)}},router:async t=>{const e=t.model;e||(console.error(`
6
+ \u274C Model name is required`),process.exit(1));const{path:c="src/modules"}=t,s={pascal:(0,change_case_helpers_1.pascalCase)(e),camel:(0,change_case_helpers_1.camelCase)(e),kebab:(0,change_case_helpers_1.kebabCase)(e)},n=(0,fs_helpers_1.getUserFileExtension)(),r=path_1.default.join(process.cwd(),c,s.kebab),a=path_1.default.join(r,`${s.kebab}.router.${n}`);try{(0,cli_helpers_1.ensureDirectoryExists)(r);const o=(0,template_generators_1.generateTemplate)("router",{modelName:s,imports:{baseRouter:"arkos",controller:`./${s.kebab}.controller`}});fs_1.default.writeFileSync(a,o),console.info(`
7
+ Router generated: ${a.replace(process.cwd(),"")}`)}catch(o){console.error("\u274C Failed to generate router:",o),process.exit(1)}},interceptors:async t=>{const e=t.model;e||(console.error("\u274C Middleware name is required"),process.exit(1));const{path:c="src/modules"}=t,s={pascal:(0,change_case_helpers_1.pascalCase)(e),camel:(0,change_case_helpers_1.camelCase)(e),kebab:(0,change_case_helpers_1.kebabCase)(e)},n=(0,fs_helpers_1.getUserFileExtension)(),r=path_1.default.join(process.cwd(),c,s.kebab),a=path_1.default.join(r,`${s.kebab}.middlewares.${n}`);try{(0,cli_helpers_1.ensureDirectoryExists)(r);const o=(0,template_generators_1.generateTemplate)("middlewares",{modelName:s});fs_1.default.writeFileSync(a,o),console.info(`
8
+ Middlewares generated: ${a}`)}catch(o){console.error("\u274C Failed to generate middleware:",o),process.exit(1)}},authConfigs:async t=>{const e=t.model,{path:c="src/modules"}=t,s={pascal:(0,change_case_helpers_1.pascalCase)(e),camel:(0,change_case_helpers_1.camelCase)(e),kebab:(0,change_case_helpers_1.kebabCase)(e)},n=(0,fs_helpers_1.getUserFileExtension)(),r=path_1.default.join(process.cwd(),c,s.kebab),a=path_1.default.join(r,`${s.kebab}.auth.${n}`);try{(0,cli_helpers_1.ensureDirectoryExists)(r);const o=(0,template_generators_1.generateTemplate)("auth-configs",{modelName:s});fs_1.default.writeFileSync(a,o),console.info(`
9
+ Auth config generated: ${a.replace(process.cwd(),"")}`)}catch(o){console.error("\u274C Failed to generate auth config:",o),process.exit(1)}},queryOptions:async t=>{const e=t.model;e||(console.error(`
10
+ \u274C Model name is required`),process.exit(1)),e==="file-upload"&&(console.error(`
11
+ \u274C Prisma query options are not available to file-upload resource`),process.exit(1));const{path:c="src/modules"}=t,s={pascal:(0,change_case_helpers_1.pascalCase)(e),camel:(0,change_case_helpers_1.camelCase)(e),kebab:(0,change_case_helpers_1.kebabCase)(e)},n=(0,fs_helpers_1.getUserFileExtension)(),r=path_1.default.join(process.cwd(),c,s.kebab),a=path_1.default.join(r,`${s.kebab}.query.${n}`);try{(0,cli_helpers_1.ensureDirectoryExists)(r);const o=(0,template_generators_1.generateTemplate)("query-options",{modelName:s});fs_1.default.writeFileSync(a,o),console.info(`
12
+ Query config generated: ${a.replace(process.cwd(),"")}`)}catch(o){console.error("\u274C Failed to generate query config:",o),process.exit(1)}}};
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/utils/cli/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport { generateTemplate } from \"./utils/template-generators\";\nimport { ensureDirectoryExists } from \"./utils/cli.helpers\";\nimport {\n camelCase,\n kebabCase,\n pascalCase,\n} from \"../helpers/change-case.helpers\";\nimport { getUserFileExtension } from \"../helpers/fs.helpers\";\n\ninterface GenerateOptions {\n path?: string;\n model: string;\n}\n\nexport const generateCommand = {\n controller: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const modulePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(modulePath, `${names.kebab}.controller.${ext}`);\n\n try {\n ensureDirectoryExists(modulePath);\n\n const content = generateTemplate(\"controller\", {\n modelName: names,\n imports: {\n baseController: \"arkos/controllers\",\n },\n });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nController generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate controller:`, error);\n process.exit(1);\n }\n },\n\n service: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const modulePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(modulePath, `${names.kebab}.service.${ext}`);\n\n try {\n ensureDirectoryExists(modulePath);\n\n const content = generateTemplate(\"service\", {\n modelName: names,\n imports: {\n baseService: \"arkos/services\",\n },\n });\n\n fs.writeFileSync(filePath, content);\n console.info(`\\n✅ Service generated: ${filePath}`);\n } catch (error) {\n console.error(`❌ Failed to generate service:`, error);\n process.exit(1);\n }\n },\n\n router: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const modulePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(modulePath, `${names.kebab}.router.${ext}`);\n\n try {\n ensureDirectoryExists(modulePath);\n\n const content = generateTemplate(\"router\", {\n modelName: names,\n imports: {\n baseRouter: \"arkos\",\n controller: `./${names.kebab}.controller`,\n },\n });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nRouter generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate router:`, error);\n process.exit(1);\n }\n },\n\n middlewares: async (options: GenerateOptions) => {\n const modelName = options.model;\n\n if (!modelName) {\n console.error(\"❌ Middleware name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const middlewarePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(\n middlewarePath,\n `${names.kebab}.middlewares.${ext}`\n );\n\n try {\n ensureDirectoryExists(middlewarePath);\n\n const content = generateTemplate(\"middlewares\", {\n modelName: names,\n });\n\n fs.writeFileSync(filePath, content);\n console.info(`\\nMiddlewares generated: ${filePath}`);\n } catch (error) {\n console.error(`❌ Failed to generate middleware:`, error);\n process.exit(1);\n }\n },\n\n authConfigs: async (options: GenerateOptions) => {\n const modelName = options.model;\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const configPath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(configPath, `${names.kebab}.auth.${ext}`);\n\n try {\n ensureDirectoryExists(configPath);\n\n const content = generateTemplate(\"auth-configs\", { modelName: names });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nAuth config generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate auth config:`, error);\n process.exit(1);\n }\n },\n\n queryOptions: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n if (modelName === \"file-upload\") {\n console.error(\n \"\\n❌ Prisma query options are not available to file-upload resource\"\n );\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const configPath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(configPath, `${names.kebab}.query.${ext}`);\n\n try {\n ensureDirectoryExists(configPath);\n\n const content = generateTemplate(\"query-options\", { modelName: names });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nQuery config generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate query config:`, error);\n process.exit(1);\n }\n },\n};\n"]}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/utils/cli/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport { generateTemplate } from \"./utils/template-generators\";\nimport { ensureDirectoryExists } from \"./utils/cli.helpers\";\nimport {\n camelCase,\n kebabCase,\n pascalCase,\n} from \"../helpers/change-case.helpers\";\nimport { getUserFileExtension } from \"../helpers/fs.helpers\";\n\ninterface GenerateOptions {\n path?: string;\n model: string;\n}\n\nexport const generateCommand = {\n controller: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const modulePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(modulePath, `${names.kebab}.controller.${ext}`);\n\n try {\n ensureDirectoryExists(modulePath);\n\n const content = generateTemplate(\"controller\", {\n modelName: names,\n imports: {\n baseController: \"arkos/controllers\",\n },\n });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nController generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate controller:`, error);\n process.exit(1);\n }\n },\n\n service: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const modulePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(modulePath, `${names.kebab}.service.${ext}`);\n\n try {\n ensureDirectoryExists(modulePath);\n\n const content = generateTemplate(\"service\", {\n modelName: names,\n imports: {\n baseService: \"arkos/services\",\n },\n });\n\n fs.writeFileSync(filePath, content);\n console.info(`\\n✅ Service generated: ${filePath}`);\n } catch (error) {\n console.error(`❌ Failed to generate service:`, error);\n process.exit(1);\n }\n },\n\n router: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const modulePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(modulePath, `${names.kebab}.router.${ext}`);\n\n try {\n ensureDirectoryExists(modulePath);\n\n const content = generateTemplate(\"router\", {\n modelName: names,\n imports: {\n baseRouter: \"arkos\",\n controller: `./${names.kebab}.controller`,\n },\n });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nRouter generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate router:`, error);\n process.exit(1);\n }\n },\n\n interceptors: async (options: GenerateOptions) => {\n const modelName = options.model;\n\n if (!modelName) {\n console.error(\"❌ Middleware name is required\");\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const middlewarePath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(\n middlewarePath,\n `${names.kebab}.middlewares.${ext}`\n );\n\n try {\n ensureDirectoryExists(middlewarePath);\n\n const content = generateTemplate(\"middlewares\", {\n modelName: names,\n });\n\n fs.writeFileSync(filePath, content);\n console.info(`\\nMiddlewares generated: ${filePath}`);\n } catch (error) {\n console.error(`❌ Failed to generate middleware:`, error);\n process.exit(1);\n }\n },\n\n authConfigs: async (options: GenerateOptions) => {\n const modelName = options.model;\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const configPath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(configPath, `${names.kebab}.auth.${ext}`);\n\n try {\n ensureDirectoryExists(configPath);\n\n const content = generateTemplate(\"auth-configs\", { modelName: names });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nAuth config generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate auth config:`, error);\n process.exit(1);\n }\n },\n\n queryOptions: async (options: GenerateOptions) => {\n const modelName = options.model;\n if (!modelName) {\n console.error(\"\\n❌ Model name is required\");\n process.exit(1);\n }\n\n if (modelName === \"file-upload\") {\n console.error(\n \"\\n❌ Prisma query options are not available to file-upload resource\"\n );\n process.exit(1);\n }\n\n const { path: customPath = \"src/modules\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n const configPath = path.join(process.cwd(), customPath, names.kebab);\n const filePath = path.join(configPath, `${names.kebab}.query.${ext}`);\n\n try {\n ensureDirectoryExists(configPath);\n\n const content = generateTemplate(\"query-options\", { modelName: names });\n\n fs.writeFileSync(filePath, content);\n console.info(\n `\\nQuery config generated: ${filePath.replace(process.cwd(), \"\")}`\n );\n } catch (error) {\n console.error(`❌ Failed to generate query config:`, error);\n process.exit(1);\n }\n },\n};\n"]}
@@ -1,81 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateCommand = exports.startCommand = exports.devCommand = exports.buildCommand = exports.program = void 0;
4
- const commander_1 = require("commander");
5
- const build_1 = require("./build");
6
- Object.defineProperty(exports, "buildCommand", { enumerable: true, get: function () { return build_1.buildCommand; } });
7
- const dev_1 = require("./dev");
8
- Object.defineProperty(exports, "devCommand", { enumerable: true, get: function () { return dev_1.devCommand; } });
9
- const start_1 = require("./start");
10
- Object.defineProperty(exports, "startCommand", { enumerable: true, get: function () { return start_1.startCommand; } });
11
- const generate_1 = require("./generate");
12
- Object.defineProperty(exports, "generateCommand", { enumerable: true, get: function () { return generate_1.generateCommand; } });
13
- const cli_helpers_1 = require("./utils/cli.helpers");
14
- const program = new commander_1.Command();
15
- exports.program = program;
16
- program.name("arkos").description("Arkos.js CLI").version((0, cli_helpers_1.getVersion)());
17
- program
18
- .command("build")
19
- .description("Build your Arkos project")
20
- .option("-m, --module <type>", "Module type (cjs or esm)", "cjs")
21
- .action(build_1.buildCommand);
22
- program
23
- .command("dev")
24
- .description("Run development server")
25
- .option("-p, --port <number>", "Port number")
26
- .option("-h, --host <host>", "Host to bind to")
27
- .action(dev_1.devCommand);
28
- program
29
- .command("start")
30
- .description("Run production server")
31
- .option("-p, --port <number>", "Port number")
32
- .option("-h, --host <host>", "Host to bind to")
33
- .action(start_1.startCommand);
34
- const generate = program
35
- .command("generate")
36
- .alias("g")
37
- .description("Generate arkos components");
38
- generate
39
- .command("controller")
40
- .alias("c")
41
- .description("Generate a new controller")
42
- .requiredOption("-m, --model <name>", "Model name")
43
- .option("-p, --path <path>", "Custom path for the controller", "src/modules")
44
- .action(generate_1.generateCommand.controller);
45
- generate
46
- .command("service")
47
- .alias("s")
48
- .description("Generate a new service")
49
- .requiredOption("-m, --model <name>", "Model name")
50
- .option("-p, --path <path>", "Custom path for the service", "src/modules")
51
- .action(generate_1.generateCommand.service);
52
- generate
53
- .command("router")
54
- .alias("r")
55
- .description("Generate a new router")
56
- .requiredOption("-m, --model <name>", "Model name")
57
- .option("-p, --path <path>", "Custom path for the router", "src/modules")
58
- .action(generate_1.generateCommand.router);
59
- generate
60
- .command("auth-configs")
61
- .alias("a")
62
- .description("Generate auth configuration")
63
- .requiredOption("-m, --model <name>", "Model name")
64
- .option("-p, --path <path>", "Custom path for the router", "src/modules")
65
- .action(generate_1.generateCommand.authConfigs);
66
- generate
67
- .command("query-options")
68
- .alias("q")
69
- .description("Generate prisma query options")
70
- .requiredOption("-m, --model <name>", "Model name")
71
- .option("-p, --path <path>", "Custom path for query options", "src/modules")
72
- .action(generate_1.generateCommand.queryOptions);
73
- generate
74
- .command("middlewares")
75
- .alias("m")
76
- .description("Generate a new middleware file")
77
- .requiredOption("-m, --model <name>", "Middleware name")
78
- .option("-p, --path <path>", "Custom path for middleware", "src/modules")
79
- .action(generate_1.generateCommand.middlewares);
80
- program.parse(process.argv);
81
- //# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateCommand=exports.startCommand=exports.devCommand=exports.buildCommand=exports.program=void 0;const commander_1=require("commander"),build_1=require("./build");Object.defineProperty(exports,"buildCommand",{enumerable:!0,get:function(){return build_1.buildCommand}});const dev_1=require("./dev");Object.defineProperty(exports,"devCommand",{enumerable:!0,get:function(){return dev_1.devCommand}});const start_1=require("./start");Object.defineProperty(exports,"startCommand",{enumerable:!0,get:function(){return start_1.startCommand}});const generate_1=require("./generate");Object.defineProperty(exports,"generateCommand",{enumerable:!0,get:function(){return generate_1.generateCommand}});const cli_helpers_1=require("./utils/cli.helpers"),program=new commander_1.Command;exports.program=program,program.name("arkos").description("Arkos.js CLI").version((0,cli_helpers_1.getVersion)()),program.command("build").description("Build your Arkos project").option("-m, --module <type>","Module type (cjs or esm)","cjs").action(build_1.buildCommand),program.command("dev").description("Run development server").option("-p, --port <number>","Port number").option("-h, --host <host>","Host to bind to").action(dev_1.devCommand),program.command("start").description("Run production server").option("-p, --port <number>","Port number").option("-h, --host <host>","Host to bind to").action(start_1.startCommand);const generate=program.command("generate").alias("g").description("Generate arkos components");generate.command("controller").alias("c").description("Generate a new controller").requiredOption("-m, --model <name>","Model name").option("-p, --path <path>","Custom path for the controller","src/modules").action(generate_1.generateCommand.controller),generate.command("service").alias("s").description("Generate a new service").requiredOption("-m, --model <name>","Model name").option("-p, --path <path>","Custom path for the service","src/modules").action(generate_1.generateCommand.service),generate.command("router").alias("r").description("Generate a new router").requiredOption("-m, --model <name>","Model name").option("-p, --path <path>","Custom path for the router","src/modules").action(generate_1.generateCommand.router),generate.command("auth-configs").alias("a").description("Generate auth configuration").requiredOption("-m, --model <name>","Model name").option("-p, --path <path>","Custom path for the router","src/modules").action(generate_1.generateCommand.authConfigs),generate.command("query-options").alias("q").description("Generate prisma query options").requiredOption("-m, --model <name>","Model name").option("-p, --path <path>","Custom path for query options","src/modules").action(generate_1.generateCommand.queryOptions),generate.command("middlewares").alias("m").description("Generate a new middleware file").requiredOption("-m, --model <name>","Middleware name").option("-p, --path <path>","Custom path for middleware","src/modules").action(generate_1.generateCommand.interceptors),program.parse(process.argv);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from \"commander\";\nimport { buildCommand } from \"./build\";\nimport { devCommand } from \"./dev\";\nimport { startCommand } from \"./start\";\nimport { generateCommand } from \"./generate\";\nimport { getVersion } from \"./utils/cli.helpers\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the controller\", \"src/modules\")\n .action(generateCommand.controller);\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the service\", \"src/modules\")\n .action(generateCommand.service);\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.router);\n\ngenerate\n .command(\"auth-configs\")\n .alias(\"a\")\n .description(\"Generate auth configuration\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.authConfigs);\n\ngenerate\n .command(\"query-options\")\n .alias(\"q\")\n .description(\"Generate prisma query options\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for query options\", \"src/modules\")\n .action(generateCommand.queryOptions);\n\ngenerate\n .command(\"middlewares\")\n .alias(\"m\")\n .description(\"Generate a new middleware file\")\n .requiredOption(\"-m, --model <name>\", \"Middleware name\")\n .option(\"-p, --path <path>\", \"Custom path for middleware\", \"src/modules\")\n .action(generateCommand.middlewares);\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from \"commander\";\nimport { buildCommand } from \"./build\";\nimport { devCommand } from \"./dev\";\nimport { startCommand } from \"./start\";\nimport { generateCommand } from \"./generate\";\nimport { getVersion } from \"./utils/cli.helpers\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the controller\", \"src/modules\")\n .action(generateCommand.controller);\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the service\", \"src/modules\")\n .action(generateCommand.service);\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.router);\n\ngenerate\n .command(\"auth-configs\")\n .alias(\"a\")\n .description(\"Generate auth configuration\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.authConfigs);\n\ngenerate\n .command(\"query-options\")\n .alias(\"q\")\n .description(\"Generate prisma query options\")\n .requiredOption(\"-m, --model <name>\", \"Model name\")\n .option(\"-p, --path <path>\", \"Custom path for query options\", \"src/modules\")\n .action(generateCommand.queryOptions);\n\ngenerate\n .command(\"middlewares\")\n .alias(\"m\")\n .description(\"Generate a new middleware file\")\n .requiredOption(\"-m, --model <name>\", \"Middleware name\")\n .option(\"-p, --path <path>\", \"Custom path for middleware\", \"src/modules\")\n .action(generateCommand.interceptors);\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}
@@ -1,93 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.startCommand = startCommand;
7
- exports.killProductionServerChildProcess = killProductionServerChildProcess;
8
- const path_1 = __importDefault(require("path"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const child_process_1 = require("child_process");
11
- const cli_helpers_1 = require("./utils/cli.helpers");
12
- const dotenv_helpers_1 = require("../dotenv.helpers");
13
- const global_helpers_1 = require("../helpers/global.helpers");
14
- const fs_helpers_1 = require("../helpers/fs.helpers");
15
- let child = null;
16
- let envFiles;
17
- async function startCommand(options = {}) {
18
- process.env.NODE_ENV = "production";
19
- envFiles = (0, dotenv_helpers_1.loadEnvironmentVariables)();
20
- try {
21
- const { port, host } = options;
22
- const entryPoint = path_1.default.join(process.cwd(), ".build", "src", "app.js");
23
- if (!fs_1.default.existsSync(path_1.default.join(entryPoint))) {
24
- console.error(`❌ Could not find built application entry point at ${(0, fs_helpers_1.fullCleanCwd)(entryPoint)}`);
25
- process.exit(1);
26
- }
27
- const env = {
28
- ...process.env,
29
- NODE_ENV: "production",
30
- ...(port && { CLI_PORT: port }),
31
- ...(host && { CLI_HOST: host }),
32
- ARKOS_BUILD: "true",
33
- };
34
- child = (0, child_process_1.spawn)("node", [entryPoint], {
35
- stdio: "inherit",
36
- env,
37
- shell: true,
38
- });
39
- process.on("SIGINT", () => {
40
- if (child) {
41
- child.kill();
42
- }
43
- process.exit(0);
44
- });
45
- const checkConfig = async () => {
46
- try {
47
- const { getArkosConfig } = await (0, global_helpers_1.importModule)("../../server");
48
- const config = getArkosConfig();
49
- if (config && config.available) {
50
- console.info("\n");
51
- console.info(` \x1b[1m\x1b[36m Arkos.js ${(0, cli_helpers_1.getVersion)()}\x1b[0m`);
52
- console.info(` - Local: http://${env.CLI_HOST || config.host || env.HOST || "localhost"}:${env.CLI_PORT || config.port || env.PORT || "8000"}`);
53
- console.info(` - Environments: ${(0, fs_helpers_1.fullCleanCwd)(envFiles?.join(", ") || "").replaceAll("/", "")}\n`);
54
- return true;
55
- }
56
- return false;
57
- }
58
- catch (error) {
59
- console.info(error);
60
- return false;
61
- }
62
- };
63
- const waitForConfig = async () => {
64
- let attempts = 0;
65
- const maxAttempts = 15;
66
- while (attempts < maxAttempts) {
67
- const ready = await checkConfig();
68
- if (ready)
69
- break;
70
- await new Promise((resolve) => setTimeout(resolve, 300));
71
- attempts++;
72
- }
73
- if (attempts >= maxAttempts) {
74
- console.info("\n");
75
- console.info(` \x1b[1m\x1b[36m Arkos.js ${(0, cli_helpers_1.getVersion)()}\x1b[0m`);
76
- console.info(` - Local: http://${env.CLI_HOST || env.HOST || "localhost"}:${env.CLI_PORT || env.PORT || "8000"}`);
77
- console.info(` - Environments: ${envFiles
78
- ?.join(", ")
79
- .replaceAll(`${process.cwd()}/`, "")}\n`);
80
- }
81
- };
82
- waitForConfig();
83
- }
84
- catch (error) {
85
- console.error("❌ Production server failed to start:", error);
86
- process.exit(1);
87
- }
88
- }
89
- function killProductionServerChildProcess() {
90
- child?.kill?.();
91
- child = null;
92
- }
93
- //# sourceMappingURL=start.js.map
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.startCommand=startCommand,exports.killProductionServerChildProcess=killProductionServerChildProcess;const path_1=__importDefault(require("path")),fs_1=__importDefault(require("fs")),child_process_1=require("child_process"),dotenv_helpers_1=require("../dotenv.helpers"),global_helpers_1=require("../helpers/global.helpers"),fs_helpers_1=require("../helpers/fs.helpers"),port_and_host_allocator_1=__importDefault(require("../features/port-and-host-allocator")),watermark_stamper_1=__importDefault(require("./utils/watermark-stamper"));let child=null,envFiles;async function startCommand(o={}){process.env.NODE_ENV="production",envFiles=(0,dotenv_helpers_1.loadEnvironmentVariables)();try{const{port:s,host:l}=o,n=path_1.default.join(process.cwd(),".build","src","app.js");fs_1.default.existsSync(path_1.default.join(n))||(console.error(`\u274C Could not find built application entry point at ${(0,fs_helpers_1.fullCleanCwd)(n)}`),process.exit(1));const e={...process.env,NODE_ENV:"production",...s&&{CLI_PORT:s},...l&&{CLI_HOST:l},ARKOS_BUILD:"true"};child=(0,child_process_1.spawn)("node",[n],{stdio:"inherit",env:e,shell:!0}),process.on("SIGINT",()=>{child&&child.kill(),process.exit(0)});const a=async()=>{try{const{getArkosConfig:t}=await(0,global_helpers_1.importModule)("../../server"),r=t();if(r&&r.available){const i=await port_and_host_allocator_1.default.getHostAndAvailablePort(e,{...r,logWarning:!0});return watermark_stamper_1.default.stamp({envFiles,port:"port"in r&&r?.port!==void 0?i.port:void 0,host:i.host}),!0}return!1}catch(t){return t?.message?.includes("../../server")||console.error(t),!1}};(async()=>{let t=0;const r=15;for(;t<r&&!await a();)await new Promise(c=>setTimeout(c,100)),t++;t>=r&&((e.CLI_PORT||e.PORT)&&port_and_host_allocator_1.default.logWarnings(),watermark_stamper_1.default.stamp({envFiles,host:e.CLI_HOST||e.HOST,port:e.CLI_PORT||e.PORT}))})()}catch(s){console.error("\u274C Production server failed to start:",s),process.exit(1)}}function killProductionServerChildProcess(){child?.kill?.(),child=null}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../src/utils/cli/start.ts"],"names":[],"mappings":"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","sourcesContent":["// src/utils/cli/start.ts\nimport path from \"path\";\nimport fs from \"fs\";\nimport { ChildProcess, spawn } from \"child_process\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { importModule } from \"../helpers/global.helpers\";\nimport { fullCleanCwd } from \"../helpers/fs.helpers\";\n\ninterface StartOptions {\n port?: string;\n host?: string;\n}\n\nlet child: ChildProcess | null = null;\nlet envFiles: string[] | undefined;\n\n/**\n * Production start command for the arkos CLI\n */\nexport async function startCommand(options: StartOptions = {}) {\n process.env.NODE_ENV = \"production\";\n envFiles = loadEnvironmentVariables();\n\n try {\n const { port, host } = options;\n\n // Check for built app file\n const entryPoint = path.join(process.cwd(), \".build\", \"src\", \"app.js\");\n\n if (!fs.existsSync(path.join(entryPoint))) {\n console.error(\n `❌ Could not find built application entry point at ${fullCleanCwd(entryPoint)}`\n );\n process.exit(1);\n }\n\n // Set environment variables\n const env: { [x: string]: string } = {\n ...process.env,\n NODE_ENV: \"production\",\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n ARKOS_BUILD: \"true\",\n };\n\n // Start the application\n child = spawn(\"node\", [entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n\n // Handle process exit\n process.on(\"SIGINT\", () => {\n if (child) {\n child.kill();\n }\n process.exit(0);\n });\n\n const checkConfig = async () => {\n try {\n const { getArkosConfig } = await importModule(\"../../server\");\n\n const config = getArkosConfig();\n\n if (config && config.available) {\n // Config is ready, display the info with actual values\n console.info(\"\\n\");\n console.info(` \\x1b[1m\\x1b[36m Arkos.js ${getVersion()}\\x1b[0m`);\n console.info(\n ` - Local: http://${\n env.CLI_HOST || config.host || env.HOST || \"localhost\"\n }:${env.CLI_PORT || config.port || env.PORT || \"8000\"}`\n );\n console.info(\n ` - Environments: ${fullCleanCwd(envFiles?.join(\", \") || \"\").replaceAll(\"/\", \"\")}\\n`\n );\n return true;\n }\n return false;\n } catch (error) {\n console.info(error);\n return false;\n }\n };\n\n // Try to get config periodically\n const waitForConfig = async () => {\n let attempts = 0;\n const maxAttempts = 15;\n\n while (attempts < maxAttempts) {\n const ready = await checkConfig();\n if (ready) break;\n\n await new Promise((resolve) => setTimeout(resolve, 300));\n attempts++;\n }\n\n // Fall back to defaults if config never became available\n if (attempts >= maxAttempts) {\n console.info(\"\\n\");\n console.info(` \\x1b[1m\\x1b[36m Arkos.js ${getVersion()}\\x1b[0m`);\n console.info(\n ` - Local: http://${\n env.CLI_HOST || env.HOST || \"localhost\"\n }:${env.CLI_PORT || env.PORT || \"8000\"}`\n );\n console.info(\n ` - Environments: ${envFiles\n ?.join(\", \")\n .replaceAll(`${process.cwd()}/`, \"\")}\\n`\n );\n }\n };\n\n waitForConfig();\n } catch (error) {\n console.error(\"❌ Production server failed to start:\", error);\n process.exit(1);\n }\n}\n\n/**\n * Help function to help other processes to terminate the production server child process\n */\nexport function killProductionServerChildProcess() {\n (child as ChildProcess)?.kill?.();\n child = null;\n}\n"]}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../src/utils/cli/start.ts"],"names":[],"mappings":";;;;;AAoBA,oCAoGC;AAKD,4EAGC;AAhID,gDAAwB;AACxB,4CAAoB;AACpB,iDAAoD;AACpD,sDAA6D;AAC7D,8DAAyD;AACzD,sDAAqD;AACrD,kGAAuE;AACvE,kFAAyD;AAOzD,IAAI,KAAK,GAAwB,IAAI,CAAC;AACtC,IAAI,QAA8B,CAAC;AAK5B,KAAK,UAAU,YAAY,CAAC,UAAwB,EAAE;IAC3D,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;IACpC,QAAQ,GAAG,IAAA,yCAAwB,GAAE,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAG/B,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CACX,qDAAqD,IAAA,yBAAY,EAAC,UAAU,CAAC,EAAE,CAChF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAGD,MAAM,GAAG,GAA4B;YACnC,GAAG,OAAO,CAAC,GAAG;YACd,QAAQ,EAAE,YAAY;YACtB,GAAG,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/B,WAAW,EAAE,MAAM;SACpB,CAAC;QAGF,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YAClC,KAAK,EAAE,SAAS;YAChB,GAAG;YACH,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAGH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,6BAAY,EAAC,cAAc,CAAC,CAAC;gBAE9D,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;gBAEhC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC/B,MAAM,WAAW,GACf,MAAM,iCAAoB,CAAC,uBAAuB,CAAC,GAAG,EAAE;wBACtD,GAAG,MAAM;wBACT,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBAEL,2BAAgB,CAAC,KAAK,CAAC;wBACrB,QAAQ;wBACR,IAAI,EACF,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS;4BAC5C,CAAC,CAAC,WAAW,CAAC,IAAI;4BAClB,CAAC,CAAC,SAAS;wBACf,IAAI,EAAE,WAAW,CAAC,IAAI;qBACvB,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;oBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QAGF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;gBAClC,IAAI,KAAK;oBAAE,MAAM;gBACjB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,QAAQ,EAAE,CAAC;YACb,CAAC;YAGD,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;gBAC5B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;oBAAE,iCAAoB,CAAC,WAAW,EAAE,CAAC;gBAEjE,2BAAgB,CAAC,KAAK,CAAC;oBACrB,QAAQ;oBACR,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;oBAC9B,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,aAAa,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAKD,SAAgB,gCAAgC;IAC7C,KAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;IAClC,KAAK,GAAG,IAAI,CAAC;AACf,CAAC","sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport { ChildProcess, spawn } from \"child_process\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { importModule } from \"../helpers/global.helpers\";\nimport { fullCleanCwd } from \"../helpers/fs.helpers\";\nimport portAndHostAllocator from \"../features/port-and-host-allocator\";\nimport watermarkStamper from \"./utils/watermark-stamper\";\n\ninterface StartOptions {\n port?: string;\n host?: string;\n}\n\nlet child: ChildProcess | null = null;\nlet envFiles: string[] | undefined;\n\n/**\n * Production start command for the arkos CLI\n */\nexport async function startCommand(options: StartOptions = {}) {\n process.env.NODE_ENV = \"production\";\n envFiles = loadEnvironmentVariables();\n\n try {\n const { port, host } = options;\n\n // Check for built app file\n const entryPoint = path.join(process.cwd(), \".build\", \"src\", \"app.js\");\n\n if (!fs.existsSync(path.join(entryPoint))) {\n console.error(\n `❌ Could not find built application entry point at ${fullCleanCwd(entryPoint)}`\n );\n process.exit(1);\n }\n\n // Set environment variables\n const env: { [x: string]: string } = {\n ...process.env,\n NODE_ENV: \"production\",\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n ARKOS_BUILD: \"true\",\n };\n\n // Start the application\n child = spawn(\"node\", [entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n\n // Handle process exit\n process.on(\"SIGINT\", () => {\n if (child) {\n child.kill();\n }\n process.exit(0);\n });\n\n const checkConfig = async () => {\n try {\n const { getArkosConfig } = await importModule(\"../../server\");\n\n const config = getArkosConfig();\n\n if (config && config.available) {\n const hostAndPort =\n await portAndHostAllocator.getHostAndAvailablePort(env, {\n ...config,\n logWarning: true,\n });\n\n watermarkStamper.stamp({\n envFiles,\n port:\n \"port\" in config && config?.port !== undefined\n ? hostAndPort.port\n : undefined,\n host: hostAndPort.host,\n });\n return true;\n }\n return false;\n } catch (err: any) {\n if (!err?.message?.includes(\"../../server\")) console.error(err);\n return false;\n }\n };\n\n // Try to get config periodically\n const waitForConfig = async () => {\n let attempts = 0;\n const maxAttempts = 15;\n\n while (attempts < maxAttempts) {\n const ready = await checkConfig();\n if (ready) break;\n await new Promise((resolve) => setTimeout(resolve, 100));\n attempts++;\n }\n\n // Fall back to defaults if config never became available\n if (attempts >= maxAttempts) {\n if (env.CLI_PORT || env.PORT) portAndHostAllocator.logWarnings();\n\n watermarkStamper.stamp({\n envFiles,\n host: env.CLI_HOST || env.HOST,\n port: env.CLI_PORT || env.PORT,\n });\n }\n };\n\n waitForConfig();\n } catch (error) {\n console.error(\"❌ Production server failed to start:\", error);\n process.exit(1);\n }\n}\n\n/**\n * Help function to help other processes to terminate the production server child process\n */\nexport function killProductionServerChildProcess() {\n (child as ChildProcess)?.kill?.();\n child = null;\n}\n"]}
@@ -1,24 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ensureDirectoryExists = ensureDirectoryExists;
7
- exports.killServerChildProcess = killServerChildProcess;
8
- exports.getVersion = getVersion;
9
- const fs_1 = __importDefault(require("fs"));
10
- const dev_1 = require("../dev");
11
- const start_1 = require("../start");
12
- function ensureDirectoryExists(dirPath) {
13
- if (!fs_1.default.existsSync(dirPath)) {
14
- fs_1.default.mkdirSync(dirPath, { recursive: true });
15
- }
16
- }
17
- function killServerChildProcess() {
18
- (0, dev_1.killDevelopmentServerChildProcess)();
19
- (0, start_1.killProductionServerChildProcess)();
20
- }
21
- function getVersion() {
22
- return "1.2.31-test";
23
- }
24
- //# sourceMappingURL=cli.helpers.js.map
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ensureDirectoryExists=ensureDirectoryExists,exports.killServerChildProcess=killServerChildProcess,exports.getVersion=getVersion;const fs_1=__importDefault(require("fs")),dev_1=require("../dev"),start_1=require("../start");function ensureDirectoryExists(e){fs_1.default.existsSync(e)||fs_1.default.mkdirSync(e,{recursive:!0})}function killServerChildProcess(){(0,dev_1.killDevelopmentServerChildProcess)(),(0,start_1.killProductionServerChildProcess)()}function getVersion(){return"1.3.0-canary"}
@@ -1,19 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateAuthConfigsTemplate = generateAuthConfigsTemplate;
4
- const fs_helpers_1 = require("../../../../helpers/fs.helpers");
5
- function generateAuthConfigsTemplate(options) {
6
- const { modelName } = options;
7
- const ext = (0, fs_helpers_1.getUserFileExtension)();
8
- const isTypeScript = ext === "ts";
9
- if (!modelName)
10
- throw new Error("Model name is required for auth config template");
11
- const imports = isTypeScript
12
- ? `import { AuthConfigs } from 'arkos/auth';\n`
13
- : "";
14
- const typeAnnotation = isTypeScript ? `: AuthConfigs` : "";
15
- return `${imports}
16
- const ${modelName.camel}AuthConfigs${typeAnnotation} = {
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateAuthConfigsTemplate=generateAuthConfigsTemplate;const fs_helpers_1=require("../../../../helpers/fs.helpers");function generateAuthConfigsTemplate(n){const{modelName:e}=n,t=(0,fs_helpers_1.getUserFileExtension)()==="ts";if(!e)throw new Error("Model name is required for auth config template");const r=t?`import { AuthConfigs } from 'arkos/auth';
2
+ `:"",o=t?": AuthConfigs":"";return`${r}
3
+ const ${e.camel}AuthConfigs${o} = {
17
4
  authenticationControl: {
18
5
  // Create: true,
19
6
  // Update: true,
@@ -30,7 +17,5 @@ const ${modelName.camel}AuthConfigs${typeAnnotation} = {
30
17
  },
31
18
  };
32
19
 
33
- export default ${modelName.camel}AuthConfigs;
34
- `;
35
- }
36
- //# sourceMappingURL=generate-auth-configs-template.js.map
20
+ export default ${e.camel}AuthConfigs;
21
+ `}
@@ -1,21 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateControllerTemplate = generateControllerTemplate;
4
- function generateControllerTemplate(options) {
5
- const { modelName, imports } = options;
6
- if (!modelName)
7
- throw new Error("Model name is required for controller template");
8
- return `import { BaseController } from "${imports?.baseController || "arkos/controllers"}";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateControllerTemplate=generateControllerTemplate;function generateControllerTemplate(r){const{modelName:e,imports:o}=r;if(!e)throw new Error("Model name is required for controller template");return`import { BaseController } from "${o?.baseController||"arkos/controllers"}";
9
2
 
10
- class ${modelName.pascal}Controller extends BaseController {
11
- constructor() {
12
- super("${modelName.kebab}");
13
- }
3
+ class ${e.pascal}Controller extends BaseController {
4
+ constructor() {
5
+ super("${e.kebab}");
14
6
  }
15
-
16
- const ${modelName.camel}Controller = new ${modelName.pascal}Controller();
17
-
18
- export default ${modelName.camel}Controller;
19
- `;
20
7
  }
21
- //# sourceMappingURL=generate-controller-template.js.map
8
+
9
+ const ${e.camel}Controller = new ${e.pascal}Controller();
10
+
11
+ export default ${e.camel}Controller;
12
+ `}