arkos 1.2.14-test → 1.2.14-test.2

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 (421) hide show
  1. package/README.md +22 -14
  2. package/cli.js +2 -11
  3. package/dist/cjs/app.js +1 -1
  4. package/dist/cjs/app.js.map +1 -1
  5. package/dist/cjs/exports/auth/index.js +1 -6
  6. package/dist/cjs/exports/controllers/index.js +1 -11
  7. package/dist/cjs/exports/error-handler/index.js +1 -11
  8. package/dist/cjs/exports/index.js +1 -12
  9. package/dist/cjs/exports/middlewares/index.js +1 -7
  10. package/dist/cjs/exports/prisma/index.js +1 -6
  11. package/dist/cjs/exports/services/index.js +1 -49
  12. package/dist/cjs/exports/utils/index.js +1 -44
  13. package/dist/cjs/exports/validation/index.js +1 -11
  14. package/dist/cjs/modules/auth/auth.controller.js +1 -194
  15. package/dist/cjs/modules/auth/auth.router.js +1 -124
  16. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  17. package/dist/cjs/modules/auth/auth.service.js +1 -192
  18. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  19. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
  20. package/dist/cjs/modules/base/base.controller.js +1 -159
  21. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  22. package/dist/cjs/modules/base/base.middlewares.js +1 -92
  23. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  24. package/dist/cjs/modules/base/base.router.js +1 -24
  25. package/dist/cjs/modules/base/base.router.js.map +1 -1
  26. package/dist/cjs/modules/base/base.service.js +1 -128
  27. package/dist/cjs/modules/base/base.service.js.map +1 -1
  28. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
  29. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
  30. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -167
  31. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  32. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
  33. package/dist/cjs/modules/email/email.service.js +1 -104
  34. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -144
  35. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  36. package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
  37. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
  38. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
  39. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -195
  40. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  41. package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
  42. package/dist/cjs/modules/file-upload/file-upload.router.js +1 -56
  43. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  44. package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
  45. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -90
  46. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  47. package/dist/cjs/modules/swagger/swagger.router.js +1 -141
  48. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  49. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -0
  50. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  51. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -0
  52. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  53. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -0
  54. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  55. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -0
  56. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  57. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -0
  58. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  59. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +1 -0
  60. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  61. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +1 -0
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  63. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  64. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  65. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -0
  66. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  67. package/dist/cjs/package.json +3 -0
  68. package/dist/cjs/server.js +4 -2
  69. package/dist/cjs/server.js.map +1 -1
  70. package/dist/cjs/types/arkos-config.js +1 -3
  71. package/dist/cjs/types/arkos-config.js.map +1 -1
  72. package/dist/cjs/types/auth.js +1 -3
  73. package/dist/cjs/types/index.js +1 -11
  74. package/dist/cjs/types/router-config.js +1 -3
  75. package/dist/cjs/utils/arkos-env.js +1 -9
  76. package/dist/cjs/utils/cli/build.js +5 -229
  77. package/dist/cjs/utils/cli/build.js.map +1 -1
  78. package/dist/cjs/utils/cli/dev.js +5 -271
  79. package/dist/cjs/utils/cli/dev.js.map +1 -1
  80. package/dist/cjs/utils/cli/generate.js +12 -189
  81. package/dist/cjs/utils/cli/generate.js.map +1 -1
  82. package/dist/cjs/utils/cli/index.js +1 -81
  83. package/dist/cjs/utils/cli/start.js +1 -93
  84. package/dist/cjs/utils/cli/start.js.map +1 -1
  85. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -26
  86. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +1 -1
  87. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  88. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +6 -15
  89. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +71 -133
  90. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  91. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +24 -46
  92. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  93. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +12 -32
  94. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  95. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -27
  96. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  97. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  98. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
  99. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
  100. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  101. package/dist/cjs/utils/features/api.features.js +1 -161
  102. package/dist/cjs/utils/features/api.features.js.map +1 -1
  103. package/dist/cjs/utils/features/change-case.features.js +1 -67
  104. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
  105. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
  106. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  107. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  108. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  109. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  110. package/dist/cjs/utils/helpers/fs.helpers.js +1 -54
  111. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  112. package/dist/cjs/utils/helpers/global.helpers.js +1 -40
  113. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  114. package/dist/cjs/utils/helpers/models.helpers.js +11 -325
  115. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  116. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -49
  117. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  118. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  119. package/dist/cjs/utils/helpers/routers.helpers.js +1 -0
  120. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -0
  121. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  122. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -0
  123. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
  124. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -0
  125. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  126. package/dist/cjs/utils/prisma/types.js +1 -0
  127. package/dist/cjs/utils/prisma/types.js.map +1 -0
  128. package/dist/cjs/utils/sheu.js +1 -0
  129. package/dist/cjs/utils/sheu.js.map +1 -0
  130. package/dist/cjs/utils/validate-dto.js +1 -17
  131. package/dist/cjs/utils/validate-schema.js +1 -15
  132. package/dist/esm/app.js +1 -0
  133. package/dist/esm/app.js.map +1 -0
  134. package/dist/esm/exports/auth/index.js +1 -0
  135. package/dist/esm/exports/controllers/index.js +1 -0
  136. package/dist/esm/exports/error-handler/index.js +1 -0
  137. package/dist/esm/exports/index.js +1 -0
  138. package/dist/esm/exports/middlewares/index.js +1 -0
  139. package/dist/esm/exports/prisma/index.js +1 -0
  140. package/dist/esm/exports/services/index.js +1 -0
  141. package/dist/esm/exports/utils/index.js +1 -0
  142. package/dist/esm/exports/validation/index.js +1 -0
  143. package/dist/esm/modules/auth/auth.controller.js +1 -0
  144. package/dist/esm/modules/auth/auth.router.js +1 -0
  145. package/dist/esm/modules/auth/auth.router.js.map +1 -0
  146. package/dist/esm/modules/auth/auth.service.js +1 -0
  147. package/dist/esm/modules/auth/auth.service.js.map +1 -0
  148. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -0
  149. package/dist/esm/modules/base/base.controller.js +1 -0
  150. package/dist/esm/modules/base/base.controller.js.map +1 -0
  151. package/dist/esm/modules/base/base.middlewares.js +1 -0
  152. package/dist/esm/modules/base/base.middlewares.js.map +1 -0
  153. package/dist/esm/modules/base/base.router.js +1 -0
  154. package/dist/esm/modules/base/base.router.js.map +1 -0
  155. package/dist/esm/modules/base/base.service.js +1 -0
  156. package/dist/{es2020 → esm}/modules/base/base.service.js.map +1 -1
  157. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -0
  158. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -0
  159. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -0
  160. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  161. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -0
  162. package/dist/esm/modules/email/email.service.js +1 -0
  163. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -0
  164. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -0
  165. package/dist/esm/modules/error-handler/utils/app-error.js +1 -0
  166. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -0
  167. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -0
  168. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -0
  169. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  170. package/dist/esm/modules/file-upload/file-upload.controller.js +1 -0
  171. package/dist/esm/modules/file-upload/file-upload.router.js +1 -0
  172. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -0
  173. package/dist/esm/modules/file-upload/file-upload.service.js +1 -0
  174. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -0
  175. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -0
  176. package/dist/esm/modules/swagger/swagger.router.js +1 -0
  177. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  178. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -0
  179. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  180. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -0
  181. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  182. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -0
  183. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  184. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -0
  185. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  186. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -0
  187. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  188. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +1 -0
  189. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  190. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +1 -0
  191. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  192. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  193. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  194. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -0
  195. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  196. package/dist/esm/package.json +3 -0
  197. package/dist/esm/server.js +5 -0
  198. package/dist/esm/server.js.map +1 -0
  199. package/dist/esm/types/arkos-config.js +1 -0
  200. package/dist/esm/types/arkos-config.js.map +1 -0
  201. package/dist/esm/types/auth.js +1 -0
  202. package/dist/esm/types/index.js +1 -0
  203. package/dist/esm/types/router-config.js +1 -0
  204. package/dist/esm/utils/arkos-env.js +1 -0
  205. package/dist/esm/utils/cli/build.js +5 -0
  206. package/dist/esm/utils/cli/build.js.map +1 -0
  207. package/dist/esm/utils/cli/dev.js +5 -0
  208. package/dist/esm/utils/cli/dev.js.map +1 -0
  209. package/dist/esm/utils/cli/generate.js +12 -0
  210. package/dist/{es2020 → esm}/utils/cli/generate.js.map +1 -1
  211. package/dist/esm/utils/cli/index.js +1 -0
  212. package/dist/esm/utils/cli/start.js +1 -0
  213. package/dist/esm/utils/cli/start.js.map +1 -0
  214. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -0
  215. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  216. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +21 -0
  217. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +12 -0
  218. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +206 -0
  219. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -0
  220. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +36 -0
  221. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -0
  222. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +18 -0
  223. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -0
  224. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +15 -0
  225. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  226. package/dist/esm/utils/cli/utils/template-generators.js +2 -0
  227. package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
  228. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
  229. package/dist/esm/utils/dotenv.helpers.js +1 -0
  230. package/dist/esm/utils/features/api.features.js +1 -0
  231. package/dist/esm/utils/features/api.features.js.map +1 -0
  232. package/dist/esm/utils/features/change-case.features.js +1 -0
  233. package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
  234. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
  235. package/dist/esm/utils/helpers/api.features.helpers.js +1 -0
  236. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -0
  237. package/dist/esm/utils/helpers/change-case.helpers.js +1 -0
  238. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -0
  239. package/dist/esm/utils/helpers/fs.helpers.js +1 -0
  240. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  241. package/dist/esm/utils/helpers/global.helpers.js +1 -0
  242. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  243. package/dist/esm/utils/helpers/models.helpers.js +11 -0
  244. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  245. package/dist/esm/utils/helpers/prisma.helpers.js +1 -0
  246. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -0
  247. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -0
  248. package/dist/esm/utils/helpers/routers.helpers.js +1 -0
  249. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -0
  250. package/dist/esm/utils/helpers/text.helpers.js +1 -0
  251. package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -0
  252. package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
  253. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
  254. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  255. package/dist/esm/utils/prisma/types.js +1 -0
  256. package/dist/esm/utils/prisma/types.js.map +1 -0
  257. package/dist/esm/utils/sheu.js +1 -0
  258. package/dist/esm/utils/sheu.js.map +1 -0
  259. package/dist/esm/utils/validate-dto.js +1 -0
  260. package/dist/esm/utils/validate-schema.js +1 -0
  261. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  262. package/dist/types/modules/base/base.service.d.ts +1 -1
  263. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +4 -1
  264. package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
  265. package/dist/types/modules/error-handler/utils/catch-async.d.ts +1 -0
  266. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +4 -0
  267. package/dist/types/modules/file-upload/file-upload.router.d.ts +1 -1
  268. package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +2 -1
  269. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  270. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +3 -0
  271. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +2 -0
  272. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -0
  273. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -0
  274. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +1 -0
  275. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +3 -0
  276. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +3 -0
  277. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  278. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +7 -0
  279. package/dist/types/server.d.ts +3 -0
  280. package/dist/types/types/arkos-config.d.ts +10 -5
  281. package/dist/types/utils/cli/utils/cli.helpers.d.ts +1 -1
  282. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
  283. package/dist/types/utils/features/api.features.d.ts +1 -0
  284. package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
  285. package/dist/types/utils/helpers/global.helpers.d.ts +6 -1
  286. package/dist/types/utils/helpers/models.helpers.d.ts +31 -5
  287. package/dist/types/utils/helpers/routers.helpers.d.ts +2 -0
  288. package/dist/types/utils/prisma/enhaced-prisma-json-schema-generator.d.ts +34 -0
  289. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +18 -0
  290. package/dist/types/utils/prisma/types.d.ts +48 -0
  291. package/dist/types/utils/sheu.d.ts +70 -0
  292. package/package.json +40 -40
  293. package/dist/es2020/app.js +0 -1
  294. package/dist/es2020/app.js.map +0 -1
  295. package/dist/es2020/exports/auth/index.js +0 -2
  296. package/dist/es2020/exports/controllers/index.js +0 -4
  297. package/dist/es2020/exports/error-handler/index.js +0 -4
  298. package/dist/es2020/exports/index.js +0 -8
  299. package/dist/es2020/exports/middlewares/index.js +0 -2
  300. package/dist/es2020/exports/prisma/index.js +0 -3
  301. package/dist/es2020/exports/services/index.js +0 -9
  302. package/dist/es2020/exports/utils/index.js +0 -4
  303. package/dist/es2020/exports/validation/index.js +0 -4
  304. package/dist/es2020/modules/auth/auth.controller.js +0 -187
  305. package/dist/es2020/modules/auth/auth.router.js +0 -118
  306. package/dist/es2020/modules/auth/auth.router.js.map +0 -1
  307. package/dist/es2020/modules/auth/auth.service.js +0 -185
  308. package/dist/es2020/modules/auth/auth.service.js.map +0 -1
  309. package/dist/es2020/modules/auth/utils/helpers/auth.controller.helpers.js +0 -73
  310. package/dist/es2020/modules/base/base.controller.js +0 -151
  311. package/dist/es2020/modules/base/base.controller.js.map +0 -1
  312. package/dist/es2020/modules/base/base.middlewares.js +0 -81
  313. package/dist/es2020/modules/base/base.middlewares.js.map +0 -1
  314. package/dist/es2020/modules/base/base.router.js +0 -17
  315. package/dist/es2020/modules/base/base.router.js.map +0 -1
  316. package/dist/es2020/modules/base/base.service.js +0 -120
  317. package/dist/es2020/modules/base/utils/helpers/base.controller.helpers.js +0 -77
  318. package/dist/es2020/modules/base/utils/helpers/base.middlewares.helpers.js +0 -44
  319. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js +0 -161
  320. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  321. package/dist/es2020/modules/base/utils/helpers/base.service.helpers.js +0 -165
  322. package/dist/es2020/modules/email/email.service.js +0 -97
  323. package/dist/es2020/modules/error-handler/error-handler.controller.js +0 -105
  324. package/dist/es2020/modules/error-handler/error-handler.controller.js.map +0 -1
  325. package/dist/es2020/modules/error-handler/utils/app-error.js +0 -15
  326. package/dist/es2020/modules/error-handler/utils/catch-async.js +0 -10
  327. package/dist/es2020/modules/error-handler/utils/catch-async.js.map +0 -1
  328. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js +0 -155
  329. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  330. package/dist/es2020/modules/file-upload/file-upload.controller.js +0 -266
  331. package/dist/es2020/modules/file-upload/file-upload.router.js +0 -50
  332. package/dist/es2020/modules/file-upload/file-upload.router.js.map +0 -1
  333. package/dist/es2020/modules/file-upload/file-upload.service.js +0 -314
  334. package/dist/es2020/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -81
  335. package/dist/es2020/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  336. package/dist/es2020/modules/swagger/swagger.router.js +0 -135
  337. package/dist/es2020/modules/swagger/swagger.router.js.map +0 -1
  338. package/dist/es2020/server.js +0 -3
  339. package/dist/es2020/server.js.map +0 -1
  340. package/dist/es2020/types/arkos-config.js +0 -2
  341. package/dist/es2020/types/arkos-config.js.map +0 -1
  342. package/dist/es2020/types/auth.js +0 -2
  343. package/dist/es2020/types/index.js +0 -8
  344. package/dist/es2020/types/router-config.js +0 -2
  345. package/dist/es2020/utils/arkos-env.js +0 -7
  346. package/dist/es2020/utils/cli/build.js +0 -223
  347. package/dist/es2020/utils/cli/build.js.map +0 -1
  348. package/dist/es2020/utils/cli/dev.js +0 -264
  349. package/dist/es2020/utils/cli/dev.js.map +0 -1
  350. package/dist/es2020/utils/cli/generate.js +0 -183
  351. package/dist/es2020/utils/cli/index.js +0 -74
  352. package/dist/es2020/utils/cli/start.js +0 -86
  353. package/dist/es2020/utils/cli/start.js.map +0 -1
  354. package/dist/es2020/utils/cli/utils/cli.helpers.js +0 -18
  355. package/dist/es2020/utils/cli/utils/cli.helpers.js.map +0 -1
  356. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -33
  357. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -18
  358. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -265
  359. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  360. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -55
  361. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  362. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -32
  363. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  364. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -32
  365. package/dist/es2020/utils/cli/utils/template-generators.js +0 -25
  366. package/dist/es2020/utils/dotenv.helpers.js +0 -37
  367. package/dist/es2020/utils/features/api.features.js +0 -154
  368. package/dist/es2020/utils/features/api.features.js.map +0 -1
  369. package/dist/es2020/utils/features/change-case.features.js +0 -31
  370. package/dist/es2020/utils/helpers/api.features.helpers.js +0 -103
  371. package/dist/es2020/utils/helpers/api.features.helpers.js.map +0 -1
  372. package/dist/es2020/utils/helpers/change-case.helpers.js +0 -161
  373. package/dist/es2020/utils/helpers/deepmerge.helper.js +0 -113
  374. package/dist/es2020/utils/helpers/fs.helpers.js +0 -45
  375. package/dist/es2020/utils/helpers/fs.helpers.js.map +0 -1
  376. package/dist/es2020/utils/helpers/global.helpers.js +0 -4
  377. package/dist/es2020/utils/helpers/global.helpers.js.map +0 -1
  378. package/dist/es2020/utils/helpers/models.helpers.js +0 -276
  379. package/dist/es2020/utils/helpers/models.helpers.js.map +0 -1
  380. package/dist/es2020/utils/helpers/prisma.helpers.js +0 -41
  381. package/dist/es2020/utils/helpers/prisma.helpers.js.map +0 -1
  382. package/dist/es2020/utils/helpers/query-parser.helpers.js +0 -40
  383. package/dist/es2020/utils/helpers/text.helpers.js +0 -22
  384. package/dist/es2020/utils/validate-dto.js +0 -11
  385. package/dist/es2020/utils/validate-schema.js +0 -9
  386. /package/dist/{es2020 → esm}/exports/auth/index.js.map +0 -0
  387. /package/dist/{es2020 → esm}/exports/controllers/index.js.map +0 -0
  388. /package/dist/{es2020 → esm}/exports/error-handler/index.js.map +0 -0
  389. /package/dist/{es2020 → esm}/exports/index.js.map +0 -0
  390. /package/dist/{es2020 → esm}/exports/middlewares/index.js.map +0 -0
  391. /package/dist/{es2020 → esm}/exports/prisma/index.js.map +0 -0
  392. /package/dist/{es2020 → esm}/exports/services/index.js.map +0 -0
  393. /package/dist/{es2020 → esm}/exports/utils/index.js.map +0 -0
  394. /package/dist/{es2020 → esm}/exports/validation/index.js.map +0 -0
  395. /package/dist/{es2020 → esm}/modules/auth/auth.controller.js.map +0 -0
  396. /package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -0
  397. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js.map +0 -0
  398. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -0
  399. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js.map +0 -0
  400. /package/dist/{es2020 → esm}/modules/email/email.service.js.map +0 -0
  401. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js.map +0 -0
  402. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js.map +0 -0
  403. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js.map +0 -0
  404. /package/dist/{es2020 → esm}/paths.js +0 -0
  405. /package/dist/{es2020 → esm}/paths.js.map +0 -0
  406. /package/dist/{es2020 → esm}/types/auth.js.map +0 -0
  407. /package/dist/{es2020 → esm}/types/index.js.map +0 -0
  408. /package/dist/{es2020 → esm}/types/router-config.js.map +0 -0
  409. /package/dist/{es2020 → esm}/utils/arkos-env.js.map +0 -0
  410. /package/dist/{es2020 → esm}/utils/cli/index.js.map +0 -0
  411. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -0
  412. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -0
  413. /package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js.map +0 -0
  414. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js.map +0 -0
  415. /package/dist/{es2020 → esm}/utils/features/change-case.features.js.map +0 -0
  416. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js.map +0 -0
  417. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js.map +0 -0
  418. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js.map +0 -0
  419. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js.map +0 -0
  420. /package/dist/{es2020 → esm}/utils/validate-dto.js.map +0 -0
  421. /package/dist/{es2020 → esm}/utils/validate-schema.js.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/utils/cli/build.ts"],"names":[],"mappings":"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","sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport { execSync } from \"child_process\";\nimport { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { getVersion } from \"./utils/cli.helpers\";\n\n// Constants\nconst BUILD_DIR = \".build\";\nconst MODULE_TYPES = [\"cjs\", \"esm\"] as const;\ntype ModuleType = (typeof MODULE_TYPES)[number];\n\ninterface BuildOptions {\n config?: string;\n module?: string;\n}\n\nfunction detectPackageManagerFromUserAgent() {\n const userAgent = process.env.npm_config_user_agent || \"\";\n\n if (userAgent.includes(\"pnpm\")) return \"pnpm\";\n if (userAgent.includes(\"yarn\")) return \"yarn\";\n if (userAgent.includes(\"npm\")) return \"npm\";\n if (userAgent.includes(\"bun\")) return \"bun\";\n if (userAgent.includes(\"cnpm\")) return \"cnpm\";\n if (userAgent.includes(\"corepack\")) return \"corepack\";\n if (userAgent.includes(\"deno\")) return \"deno\";\n\n return \"npm\";\n}\n\n/**\n * Main build function for the arkos CLI\n */\nexport function buildCommand(options: BuildOptions = {}) {\n const fileExt = getUserFileExtension();\n process.env.NODE_ENV = \"production\";\n process.env.NODE_ENV = \"true\";\n\n const envFiles = loadEnvironmentVariables();\n const moduleType = validateModuleType(options.module);\n\n try {\n console.info(` \\x1b[1m\\x1b[36m Arkos.js ${getVersion()}\\x1b[0m`);\n console.info(\n ` - Environments: ${fullCleanCwd(envFiles?.join(\", \") || \"\")\n .replaceAll(`${process.cwd()}/`, \"\")\n .replaceAll(\"/\", \"\")}`\n );\n\n console.info(`\\n Creating an optimized production build...`);\n\n ensureBuildDir();\n\n // Detect project type\n\n if (fileExt === \"ts\") {\n buildTypeScriptProject(options, moduleType);\n } else {\n buildJavaScriptProject(options, moduleType);\n }\n\n const packageManger = detectPackageManagerFromUserAgent();\n\n console.info(`\\n\\x1b[1m\\x1b[32m Build complete!\\x1b[0m\\n`);\n console.info(` \\x1b[1mNext step:\\x1b[0m`);\n console.info(\n ` Run it using \\x1b[1m\\x1b[36m${packageManger} run start\\x1b[0m\\n`\n );\n } catch (error) {\n console.info(\"\\n\");\n console.error(\"❌ Build failed:\", error);\n process.exit(1);\n }\n}\n\n/**\n * Validates and normalizes module type option\n */\nfunction validateModuleType(moduleType?: string): ModuleType {\n if (!moduleType) return \"cjs\";\n\n const normalizedType = moduleType.toLowerCase();\n\n // Map common terms to our module types\n if (normalizedType === \"cjs\" || normalizedType === \"commonjs\") {\n return \"cjs\";\n } else if (\n [\"esm\", \"es\", \"es2020\", \"esnext\", \"module\"].includes(normalizedType)\n ) {\n return \"esm\";\n }\n\n // Default to CJS if unrecognized\n console.warn(\n `⚠️ Unrecognized module type \"${moduleType}\", defaulting to \"cjs\"`\n );\n return \"cjs\";\n}\n\n/**\n * Ensure the build directory exists\n */\nfunction ensureBuildDir() {\n if (!fs.existsSync(BUILD_DIR)) {\n fs.mkdirSync(BUILD_DIR, { recursive: true });\n }\n\n // Create module-specific subdirectories\n for (const moduleType of MODULE_TYPES) {\n const moduleDir = path.join(BUILD_DIR, moduleType);\n if (!fs.existsSync(moduleDir)) {\n fs.mkdirSync(moduleDir, { recursive: true });\n }\n }\n}\n\n/**\n * Build a TypeScript project\n */\nfunction buildTypeScriptProject(options: BuildOptions, moduleType: ModuleType) {\n // Read the user's tsconfig.json\n const tsconfigPath = path.join(\n process.cwd(),\n options.config || \"tsconfig.json\"\n );\n let tsconfig: any = {};\n\n try {\n if (fs.existsSync(tsconfigPath)) {\n const tsconfigContent = fs.readFileSync(tsconfigPath, \"utf8\");\n tsconfig = JSON.parse(tsconfigContent);\n }\n } catch (error) {\n console.error(\"❌ Error reading tsconfig.json:\", error);\n // Continue with default config\n }\n\n // Create a custom tsconfig that outputs to our build directory with the correct module type\n const tempTsconfig = {\n ...tsconfig,\n compilerOptions: {\n ...(tsconfig.compilerOptions || {}),\n rootDir: \".\",\n outDir: path.join(`./${BUILD_DIR}`),\n // module: moduleType === \"esm\" ? \"ESNext\" : \"CommonJS\",\n },\n };\n\n const tempTsconfigPath = path.join(\n process.cwd(),\n `tsconfig.arkos-build.json`\n );\n fs.writeFileSync(tempTsconfigPath, JSON.stringify(tempTsconfig, null, 2));\n\n try {\n // Run TypeScript compiler\n execSync(`npx rimraf ${BUILD_DIR} && npx tsc -p ${tempTsconfigPath}`, {\n stdio: \"inherit\",\n cwd: process.cwd(),\n });\n\n // Copy non-TypeScript files\n\n copyAllNonSourceFiles(moduleType, [\".ts\", \".tsx\"]);\n\n // Clean up temp config\n cleanupTempConfig(tempTsconfigPath);\n } catch (error) {\n cleanupTempConfig(tempTsconfigPath);\n throw error;\n }\n}\n\n/**\n * Build a JavaScript project\n */\nfunction buildJavaScriptProject(options: BuildOptions, moduleType: ModuleType) {\n // Target directory\n const targetDir = path.join(BUILD_DIR);\n\n try {\n // Copy JavaScript files based on module type\n if (moduleType === \"esm\") {\n // Copy JS files for ESM (skip .cjs files as they are CommonJS)\n\n execSync(\n `npx copyfiles -u 0 \"src/**/*.js\" \"src/**/*.jsx\" \"src/**/*.mjs\" ${targetDir}`,\n {\n stdio: \"inherit\",\n cwd: process.cwd(),\n }\n );\n\n // Note about CommonJS files\n console.info(\"Note: .cjs files are skipped in ESM build\");\n } else {\n // Copy all JS files for CommonJS\n\n execSync(\n `npx copyfiles -u 0 \"src/**/*.js\" \"src/**/*.jsx\" \"src/**/*.cjs\" \"src/**/*.mjs\" ${targetDir}`,\n {\n stdio: \"inherit\",\n cwd: process.cwd(),\n }\n );\n }\n\n // Copy all non-JS files\n copyAllNonSourceFiles(moduleType, [\n \".js\",\n \".jsx\",\n \".mjs\",\n \".cjs\",\n \".ts\",\n \".tsx\",\n ]);\n\n // Create appropriate package.json in the build directory\n createModulePackageJson(moduleType);\n } catch (error) {\n console.error(\"❌ Error building JavaScript project:\", error);\n throw error;\n }\n}\n\n/**\n * Copy all non-source code files to the build directory\n * This function will copy everything except the specified source file extensions\n */\nfunction copyAllNonSourceFiles(\n moduleType: ModuleType,\n skipExtensions: string[]\n) {\n const targetDir = path.join(BUILD_DIR);\n const sourceDir = \"src\";\n\n try {\n // Recursive function to copy files\n function copyDirRecursive(dir: string) {\n if (!fs.existsSync(dir)) return;\n\n const items = fs.readdirSync(dir);\n\n for (const item of items) {\n const sourcePath = path.join(dir, item);\n const targetPath = path.join(\n targetDir,\n dir.replace(sourceDir, \"\"),\n item\n );\n\n // Get file stats\n const stats = fs.statSync(sourcePath);\n\n if (stats.isDirectory()) {\n // Ensure target directory exists\n if (!fs.existsSync(targetPath)) {\n fs.mkdirSync(targetPath, { recursive: true });\n }\n // Recurse into subdirectory\n copyDirRecursive(sourcePath);\n } else if (stats.isFile()) {\n // Check if this is a file we should skip\n const ext = path.extname(item).toLowerCase();\n if (!skipExtensions.includes(ext)) {\n // Ensure the target directory exists\n const targetDir = path.dirname(targetPath);\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n // Copy the file\n fs.copyFileSync(sourcePath, targetPath);\n }\n }\n }\n }\n\n // Start copying from src directory\n copyDirRecursive(sourceDir);\n\n // Copy project root files if needed\n const rootFilesToCopy = [\"README.md\", \"LICENSE\"];\n\n for (const file of rootFilesToCopy) {\n if (fs.existsSync(path.join(process.cwd(), file))) {\n fs.copyFileSync(\n path.join(process.cwd(), file),\n path.join(targetDir, file)\n );\n }\n }\n\n // console.info(`Copied all non-source files to ${targetDir}`);\n } catch (error) {\n console.warn(\"Warning: Error copying project files:\", error);\n console.error(error);\n }\n}\n\n/**\n * Create appropriate package.json in the build directory\n */\nfunction createModulePackageJson(moduleType: ModuleType) {\n const packageJsonPath = path.join(process.cwd(), \"package.json\");\n\n if (!fs.existsSync(packageJsonPath)) {\n return;\n }\n\n try {\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\"));\n const buildPackageJson: any = {\n name: packageJson.name,\n version: packageJson.version,\n description: packageJson.description,\n main: \"index.js\",\n dependencies: packageJson.dependencies,\n };\n\n // Set appropriate type field for ESM\n if (moduleType === \"esm\") {\n buildPackageJson.type = \"module\";\n }\n\n const targetDir = path.join(BUILD_DIR, moduleType);\n fs.writeFileSync(\n path.join(targetDir, \"package.json\"),\n JSON.stringify(buildPackageJson, null, 2)\n );\n } catch (error) {\n console.warn(\n \"Warning: Failed to create module-specific package.json\",\n error\n );\n }\n}\n\n/**\n * Clean up temporary tsconfig\n */\nfunction cleanupTempConfig(configPath: string) {\n try {\n if (fs.existsSync(configPath)) fs.unlinkSync(configPath);\n } catch (error) {\n console.warn(\"Warning: Error cleaning up temporary config:\", error);\n }\n}\n"]}
@@ -1,264 +0,0 @@
1
- import { spawn } from "child_process";
2
- import { watch } from "chokidar";
3
- import { fullCleanCwd, getUserFileExtension } from "../helpers/fs.helpers";
4
- import { getVersion } from "./utils/cli.helpers";
5
- import { loadEnvironmentVariables } from "../dotenv.helpers";
6
- import { importModule } from "../helpers/global.helpers";
7
- import fs from "fs";
8
- import path from "path";
9
- let child = null;
10
- let envFiles;
11
- export async function devCommand(options = {}) {
12
- process.env.NODE_ENV = "development";
13
- envFiles = loadEnvironmentVariables();
14
- child = null;
15
- let restartTimeout = null;
16
- try {
17
- const { port, host } = options;
18
- let isRestarting = false;
19
- const fileExt = getUserFileExtension();
20
- const entryPoint = path.resolve(process.cwd(), `src/app.${fileExt}`);
21
- if (!fs.existsSync(entryPoint)) {
22
- console.error("Could not find application entry point.");
23
- process.exit(1);
24
- }
25
- const getEnv = () => ({
26
- NODE_ENV: "development",
27
- ...process.env,
28
- ...(port && { CLI_PORT: port }),
29
- ...(host && { CLI_HOST: host }),
30
- });
31
- const startServer = () => {
32
- return new Promise((resolve) => {
33
- if (child) {
34
- child.on("exit", () => {
35
- child = null;
36
- createNewProcess();
37
- resolve();
38
- });
39
- child.kill("SIGTERM");
40
- }
41
- else {
42
- createNewProcess();
43
- resolve();
44
- }
45
- });
46
- function createNewProcess() {
47
- const env = getEnv();
48
- if (fileExt === "ts") {
49
- child = spawn("npx", [
50
- "ts-node-dev",
51
- "--respawn",
52
- "--notify=false",
53
- "--ignore-watch",
54
- "node_modules",
55
- "--ignore-watch",
56
- "dist",
57
- "--ignore-watch",
58
- "build",
59
- "--ignore-watch",
60
- ".dist",
61
- "--ignore-watch",
62
- ".build",
63
- "--watch",
64
- "src",
65
- entryPoint,
66
- ], {
67
- stdio: "inherit",
68
- env,
69
- shell: true,
70
- });
71
- }
72
- else {
73
- child = spawn("npx", [
74
- "nodemon",
75
- "--watch",
76
- "src",
77
- "--ext",
78
- "js,json",
79
- "--ignore",
80
- "node_modules/",
81
- "--ignore",
82
- "dist/",
83
- "--ignore",
84
- "build/",
85
- "--ignore",
86
- ".dist/",
87
- "--ignore",
88
- ".build/",
89
- "--delay",
90
- "1000ms",
91
- entryPoint,
92
- ], {
93
- stdio: "inherit",
94
- env,
95
- shell: true,
96
- });
97
- }
98
- if (child) {
99
- child.on("error", (error) => {
100
- console.error("Failed to start server:", error);
101
- });
102
- child.on("exit", (code, signal) => {
103
- if (!isRestarting && signal !== "SIGTERM" && signal !== "SIGINT") {
104
- console.info(`Server exited with code ${code}, restarting...`);
105
- startServer();
106
- }
107
- });
108
- }
109
- }
110
- };
111
- const pendingDeletes = new Map();
112
- const RENAME_DETECTION_WINDOW = 100;
113
- const scheduleRestart = (reason) => {
114
- if (isRestarting)
115
- return;
116
- if (restartTimeout)
117
- clearTimeout(restartTimeout);
118
- restartTimeout = setTimeout(() => {
119
- const now = new Date();
120
- const time = now.toTimeString().split(" ")[0];
121
- console.info(`[\x1b[36mINFO\x1b[0m] \x1b[90m${time}\x1b[0m Restarting: ${reason.toLowerCase()}`);
122
- isRestarting = true;
123
- startServer().then(() => {
124
- isRestarting = false;
125
- });
126
- }, 100);
127
- };
128
- const setupEnvWatcher = () => {
129
- const envWatcher = watch(fullCleanCwd(envFiles?.join(",") || "")
130
- .replaceAll("/", "")
131
- .split(",") || [], {
132
- ignoreInitial: true,
133
- persistent: true,
134
- });
135
- envWatcher.on("all", (event, filePath) => {
136
- try {
137
- envFiles = loadEnvironmentVariables();
138
- scheduleRestart("Environments files changed");
139
- }
140
- catch (error) {
141
- console.error(`Error reloading ${filePath}:`, error);
142
- }
143
- });
144
- return envWatcher;
145
- };
146
- const setupAdditionalWatcher = () => {
147
- const additionalWatcher = watch([
148
- "src",
149
- "package.json",
150
- "tsconfig.json",
151
- "arkos.config.ts",
152
- "arkos.config.js",
153
- ], {
154
- ignoreInitial: true,
155
- ignored: [
156
- /node_modules/,
157
- /\.git/,
158
- /\.dist/,
159
- /\.build/,
160
- /dist/,
161
- /build/,
162
- /\.env.*/,
163
- ],
164
- });
165
- additionalWatcher.on("add", (filePath) => {
166
- scheduleRestart(`${fullCleanCwd(filePath)} has been created`);
167
- });
168
- additionalWatcher.on("unlink", (filePath) => {
169
- scheduleRestart(`${fullCleanCwd(filePath)} has been deleted`);
170
- });
171
- setInterval(() => {
172
- const now = Date.now();
173
- for (const [path, timestamp] of pendingDeletes.entries()) {
174
- if (now - timestamp > RENAME_DETECTION_WINDOW * 2) {
175
- pendingDeletes.delete(path);
176
- }
177
- }
178
- }, RENAME_DETECTION_WINDOW * 10);
179
- return additionalWatcher;
180
- };
181
- startServer();
182
- const envWatcher = setupEnvWatcher();
183
- const additionalWatcher = setupAdditionalWatcher();
184
- const checkConfig = async () => {
185
- try {
186
- const { getArkosConfig } = await importModule("../../server");
187
- const config = getArkosConfig();
188
- if (config && config.available) {
189
- const env = getEnv();
190
- console.info("\n");
191
- console.info(` \x1b[1m\x1b[36m Arkos.js ${getVersion()}\x1b[0m`);
192
- console.info(` - Local: http://${env.CLI_HOST || config.host || env.HOST || "localhost"}:${env.CLI_PORT || config.port || env.PORT || "8000"}`);
193
- console.info(` - Environments: ${fullCleanCwd(envFiles?.join(", ") || "")
194
- .replaceAll(`${process.cwd()}/`, "")
195
- .replaceAll("/", "")}`);
196
- console.info("\n");
197
- return true;
198
- }
199
- return false;
200
- }
201
- catch (error) {
202
- return false;
203
- }
204
- };
205
- const waitForConfig = async () => {
206
- let attempts = 0;
207
- const maxAttempts = 15;
208
- while (attempts < maxAttempts) {
209
- const ready = await checkConfig();
210
- if (ready)
211
- break;
212
- await new Promise((resolve) => setTimeout(resolve, 300));
213
- attempts++;
214
- }
215
- if (attempts >= maxAttempts) {
216
- const env = getEnv();
217
- console.info("\n");
218
- console.info(` \x1b[1m\x1b[36m Arkos.js ${getVersion()}\x1b[0m`);
219
- console.info(` - Local: http://${env.CLI_HOST || env.HOST || "localhost"}:${env.CLI_PORT || env.PORT || "8000"}`);
220
- console.info(` - Environments: ${fullCleanCwd(envFiles?.join(", ") || "")
221
- .replaceAll(`${process.cwd()}/`, "")
222
- .replaceAll("/", "")}`);
223
- console.info("\n");
224
- }
225
- };
226
- waitForConfig();
227
- const cleanup = () => {
228
- if (restartTimeout)
229
- clearTimeout(restartTimeout);
230
- if (envWatcher)
231
- envWatcher.close();
232
- if (additionalWatcher)
233
- additionalWatcher.close();
234
- if (child) {
235
- child.kill("SIGTERM");
236
- setTimeout(() => {
237
- if (child && !child.killed) {
238
- child.kill("SIGKILL");
239
- }
240
- }, 5000);
241
- }
242
- process.exit(0);
243
- };
244
- process.on("SIGINT", cleanup);
245
- process.on("SIGTERM", cleanup);
246
- process.on("uncaughtException", (error) => {
247
- console.error("Uncaught Exception:", error);
248
- cleanup();
249
- });
250
- }
251
- catch (error) {
252
- console.error("Development server failed to start:", error);
253
- if (child) {
254
- child?.kill?.();
255
- child = null;
256
- }
257
- process.exit(1);
258
- }
259
- }
260
- export function killDevelopmentServerChildProcess() {
261
- child?.kill?.();
262
- child = null;
263
- }
264
- //# sourceMappingURL=dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/utils/cli/dev.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawn, ChildProcess } from \"child_process\";\nimport { watch } from \"chokidar\";\nimport { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { importModule } from \"../helpers/global.helpers\";\nimport fs from \"fs\";\nimport path from \"path\";\n\ninterface DevOptions {\n port?: string;\n host?: string;\n}\n\nlet child: ChildProcess | null = null;\nlet envFiles: string[] | undefined;\n\n/**\n * Dev server command for the arkos CLI\n */\nexport async function devCommand(options: DevOptions = {}) {\n process.env.NODE_ENV = \"development\";\n envFiles = loadEnvironmentVariables();\n child = null;\n let restartTimeout: NodeJS.Timeout | null = null;\n\n try {\n const { port, host } = options;\n let isRestarting = false;\n // Detect if project uses TypeScript or JavaScript\n const fileExt = getUserFileExtension();\n\n // Find the application entry point\n const entryPoint = path.resolve(process.cwd(), `src/app.${fileExt}`);\n\n if (!fs.existsSync(entryPoint)) {\n console.error(\"Could not find application entry point.\");\n process.exit(1);\n }\n\n // Set environment variables\n const getEnv = () =>\n ({\n NODE_ENV: \"development\",\n ...process.env,\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n }) as { [x: string]: string };\n\n // Function to start the child process\n const startServer = () => {\n return new Promise<void>((resolve) => {\n if (child) {\n child.on(\"exit\", () => {\n child = null;\n createNewProcess();\n resolve();\n });\n child.kill(\"SIGTERM\");\n } else {\n createNewProcess();\n resolve();\n }\n });\n // if (child) {\n // child.kill();\n // child = null;\n // }\n function createNewProcess() {\n const env = getEnv();\n\n if (fileExt === \"ts\") {\n // Enhanced ts-node-dev configuration\n child = spawn(\n \"npx\",\n [\n \"ts-node-dev\",\n \"--respawn\",\n \"--notify=false\", // Disable desktop notifications\n \"--ignore-watch\",\n \"node_modules\",\n \"--ignore-watch\",\n \"dist\",\n \"--ignore-watch\",\n \"build\",\n \"--ignore-watch\",\n \".dist\",\n \"--ignore-watch\",\n \".build\",\n \"--watch\",\n \"src\", // Explicitly watch src directory\n entryPoint,\n ],\n {\n stdio: \"inherit\",\n env,\n shell: true,\n }\n );\n } else {\n // Enhanced nodemon configuration\n child = spawn(\n \"npx\",\n [\n \"nodemon\",\n \"--watch\",\n \"src\",\n \"--ext\",\n \"js,json\",\n \"--ignore\",\n \"node_modules/\",\n \"--ignore\",\n \"dist/\",\n \"--ignore\",\n \"build/\",\n \"--ignore\",\n \".dist/\",\n \"--ignore\",\n \".build/\",\n \"--delay\",\n \"1000ms\",\n entryPoint,\n ],\n {\n stdio: \"inherit\",\n env,\n shell: true,\n }\n );\n }\n\n if (child) {\n child.on(\"error\", (error) => {\n console.error(\"Failed to start server:\", error);\n });\n\n child.on(\"exit\", (code, signal) => {\n if (!isRestarting && signal !== \"SIGTERM\" && signal !== \"SIGINT\") {\n console.info(`Server exited with code ${code}, restarting...`);\n startServer();\n }\n });\n }\n }\n };\n\n const pendingDeletes = new Map();\n const RENAME_DETECTION_WINDOW = 100; // 100ms window to detect renames\n\n // Function to handle server restart with debouncing\n const scheduleRestart = (reason: string) => {\n if (isRestarting) return; // Ignore if already restarting\n if (restartTimeout) clearTimeout(restartTimeout);\n\n restartTimeout = setTimeout(() => {\n const now = new Date();\n const time = now.toTimeString().split(\" \")[0];\n\n console.info(\n `[\\x1b[36mINFO\\x1b[0m] \\x1b[90m${time}\\x1b[0m Restarting: ${reason.toLowerCase()}`\n );\n\n // isRestarting = true;\n // if (child) {\n // // Wait for the process to actually exit\n // child.on(\"exit\", () => {\n // child = null;\n // startServer();\n // isRestarting = false;\n // });\n\n // child.kill();\n // } else {\n // startServer();\n // isRestarting = false;\n // }\n isRestarting = true;\n startServer().then(() => {\n isRestarting = false;\n });\n }, 100); // 50ms debounce\n };\n // Setup environment file watching\n const setupEnvWatcher = () => {\n const envWatcher = watch(\n fullCleanCwd(envFiles?.join(\",\") || \"\")\n .replaceAll(\"/\", \"\")\n .split(\",\") || [],\n {\n ignoreInitial: true,\n persistent: true,\n }\n );\n\n envWatcher.on(\"all\", (event, filePath) => {\n try {\n envFiles = loadEnvironmentVariables();\n\n // Restart server to pick up new env vars\n scheduleRestart(\"Environments files changed\");\n } catch (error) {\n console.error(`Error reloading ${filePath}:`, error);\n }\n });\n\n return envWatcher;\n };\n\n // Setup additional file watching for better new file detection\n const setupAdditionalWatcher = () => {\n const additionalWatcher = watch(\n [\n \"src\",\n \"package.json\",\n \"tsconfig.json\",\n \"arkos.config.ts\",\n \"arkos.config.js\",\n ],\n {\n ignoreInitial: true,\n ignored: [\n /node_modules/,\n /\\.git/,\n /\\.dist/,\n /\\.build/,\n /dist/,\n /build/,\n /\\.env.*/,\n ],\n }\n );\n\n additionalWatcher.on(\"add\", (filePath) => {\n scheduleRestart(`${fullCleanCwd(filePath)} has been created`);\n });\n\n additionalWatcher.on(\"unlink\", (filePath) => {\n scheduleRestart(`${fullCleanCwd(filePath)} has been deleted`);\n });\n\n // Clean up old entries periodically to prevent memory leaks\n setInterval(() => {\n const now = Date.now();\n for (const [path, timestamp] of pendingDeletes.entries()) {\n if (now - timestamp > RENAME_DETECTION_WINDOW * 2) {\n pendingDeletes.delete(path);\n }\n }\n }, RENAME_DETECTION_WINDOW * 10);\n\n return additionalWatcher;\n };\n\n // Start the server\n startServer();\n\n // Setup watchers if enabled\n const envWatcher = setupEnvWatcher();\n const additionalWatcher = setupAdditionalWatcher();\n\n const checkConfig = async () => {\n try {\n // Import the config getter\n const { getArkosConfig } = await importModule(\"../../server\");\n const config = getArkosConfig();\n if (config && config.available) {\n // Config is ready, display the info with actual values\n const env = getEnv();\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(\", \") || \"\")\n .replaceAll(`${process.cwd()}/`, \"\")\n .replaceAll(\"/\", \"\")}`\n );\n console.info(\"\\n\");\n return true;\n }\n return false;\n } catch (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 while (attempts < maxAttempts) {\n const ready = await checkConfig();\n if (ready) break;\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 const env = getEnv();\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: ${fullCleanCwd(envFiles?.join(\", \") || \"\")\n .replaceAll(`${process.cwd()}/`, \"\")\n .replaceAll(\"/\", \"\")}`\n );\n console.info(\"\\n\");\n }\n };\n\n waitForConfig();\n\n // Enhanced cleanup function\n const cleanup = () => {\n // console.info(\"\\nShutting down development server...\");\n\n if (restartTimeout) clearTimeout(restartTimeout);\n\n if (envWatcher) envWatcher.close();\n\n if (additionalWatcher) additionalWatcher.close();\n\n if (child) {\n child.kill(\"SIGTERM\");\n\n // Force kill after 5 seconds if still running\n setTimeout(() => {\n if (child && !child.killed) {\n child.kill(\"SIGKILL\");\n }\n }, 5000);\n }\n\n process.exit(0);\n };\n\n // Handle process exit\n process.on(\"SIGINT\", cleanup);\n process.on(\"SIGTERM\", cleanup);\n\n // Handle uncaught exceptions\n process.on(\"uncaughtException\", (error) => {\n console.error(\"Uncaught Exception:\", error);\n cleanup();\n });\n } catch (error) {\n console.error(\"Development server failed to start:\", error);\n\n if (child) {\n (child as ChildProcess)?.kill?.();\n child = null;\n }\n\n process.exit(1);\n }\n}\n\n/**\n * Help function to help other processes to terminate the development server child process\n */\nexport function killDevelopmentServerChildProcess() {\n (child as ChildProcess)?.kill?.();\n child = null;\n}\n"]}
@@ -1,183 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import { generateTemplate } from "./utils/template-generators";
4
- import { ensureDirectoryExists } from "./utils/cli.helpers";
5
- import { camelCase, kebabCase, pascalCase, } from "../helpers/change-case.helpers";
6
- import { getUserFileExtension } from "../helpers/fs.helpers";
7
- export const generateCommand = {
8
- controller: async (options) => {
9
- const modelName = options.model;
10
- if (!modelName) {
11
- console.error("\n❌ Model name is required");
12
- process.exit(1);
13
- }
14
- const { path: customPath = "src/modules" } = options;
15
- const names = {
16
- pascal: pascalCase(modelName),
17
- camel: camelCase(modelName),
18
- kebab: kebabCase(modelName),
19
- };
20
- const ext = getUserFileExtension();
21
- const modulePath = path.join(process.cwd(), customPath, names.kebab);
22
- const filePath = path.join(modulePath, `${names.kebab}.controller.${ext}`);
23
- try {
24
- ensureDirectoryExists(modulePath);
25
- const content = generateTemplate("controller", {
26
- modelName: names,
27
- imports: {
28
- baseController: "arkos/controllers",
29
- },
30
- });
31
- fs.writeFileSync(filePath, content);
32
- console.log(`\nController generated: ${filePath.replace(process.cwd(), "")}`);
33
- }
34
- catch (error) {
35
- console.error(`❌ Failed to generate controller:`, error);
36
- process.exit(1);
37
- }
38
- },
39
- service: async (options) => {
40
- const modelName = options.model;
41
- if (!modelName) {
42
- console.error("\n❌ Model name is required");
43
- process.exit(1);
44
- }
45
- const { path: customPath = "src/modules" } = options;
46
- const names = {
47
- pascal: pascalCase(modelName),
48
- camel: camelCase(modelName),
49
- kebab: kebabCase(modelName),
50
- };
51
- const ext = getUserFileExtension();
52
- const modulePath = path.join(process.cwd(), customPath, names.kebab);
53
- const filePath = path.join(modulePath, `${names.kebab}.service.${ext}`);
54
- try {
55
- ensureDirectoryExists(modulePath);
56
- const content = generateTemplate("service", {
57
- modelName: names,
58
- imports: {
59
- baseService: "arkos/services",
60
- },
61
- });
62
- fs.writeFileSync(filePath, content);
63
- console.log(`\n✅ Service generated: ${filePath}`);
64
- }
65
- catch (error) {
66
- console.error(`❌ Failed to generate service:`, error);
67
- process.exit(1);
68
- }
69
- },
70
- router: async (options) => {
71
- const modelName = options.model;
72
- if (!modelName) {
73
- console.error("\n❌ Model name is required");
74
- process.exit(1);
75
- }
76
- const { path: customPath = "src/modules" } = options;
77
- const names = {
78
- pascal: pascalCase(modelName),
79
- camel: camelCase(modelName),
80
- kebab: kebabCase(modelName),
81
- };
82
- const ext = getUserFileExtension();
83
- const modulePath = path.join(process.cwd(), customPath, names.kebab);
84
- const filePath = path.join(modulePath, `${names.kebab}.router.${ext}`);
85
- try {
86
- ensureDirectoryExists(modulePath);
87
- const content = generateTemplate("router", {
88
- modelName: names,
89
- imports: {
90
- baseRouter: "arkos",
91
- controller: `./${names.kebab}.controller`,
92
- },
93
- });
94
- fs.writeFileSync(filePath, content);
95
- console.log(`\n✅ Router generated: ${filePath.replace(process.cwd(), "")}`);
96
- }
97
- catch (error) {
98
- console.error(`❌ Failed to generate router:`, error);
99
- process.exit(1);
100
- }
101
- },
102
- middlewares: async (options) => {
103
- const modelName = options.model;
104
- if (!modelName) {
105
- console.error("❌ Middleware name is required");
106
- process.exit(1);
107
- }
108
- const { path: customPath = "src/modules" } = options;
109
- const names = {
110
- pascal: pascalCase(modelName),
111
- camel: camelCase(modelName),
112
- kebab: kebabCase(modelName),
113
- };
114
- const ext = getUserFileExtension();
115
- const middlewarePath = path.join(process.cwd(), customPath, names.kebab);
116
- const filePath = path.join(middlewarePath, `${names.kebab}.middlewares.${ext}`);
117
- try {
118
- ensureDirectoryExists(middlewarePath);
119
- const content = generateTemplate("middlewares", {
120
- modelName: names,
121
- });
122
- fs.writeFileSync(filePath, content);
123
- console.log(`\n✅ Middleware generated: ${filePath}`);
124
- }
125
- catch (error) {
126
- console.error(`❌ Failed to generate middleware:`, error);
127
- process.exit(1);
128
- }
129
- },
130
- authConfigs: async (options) => {
131
- const modelName = options.model;
132
- const { path: customPath = "src/modules" } = options;
133
- const names = {
134
- pascal: pascalCase(modelName),
135
- camel: camelCase(modelName),
136
- kebab: kebabCase(modelName),
137
- };
138
- const ext = getUserFileExtension();
139
- const configPath = path.join(process.cwd(), customPath, names.kebab);
140
- const filePath = path.join(configPath, `${names.kebab}.auth.${ext}`);
141
- try {
142
- ensureDirectoryExists(configPath);
143
- const content = generateTemplate("auth-configs", { modelName: names });
144
- fs.writeFileSync(filePath, content);
145
- console.log(`\n✅ Auth config generated: ${filePath.replace(process.cwd(), "")}`);
146
- }
147
- catch (error) {
148
- console.error(`❌ Failed to generate auth config:`, error);
149
- process.exit(1);
150
- }
151
- },
152
- queryOptions: async (options) => {
153
- const modelName = options.model;
154
- if (!modelName) {
155
- console.error("\n❌ Model name is required");
156
- process.exit(1);
157
- }
158
- if (modelName === "file-upload") {
159
- console.error("\n❌ Prisma query options are not available to file-upload resource");
160
- process.exit(1);
161
- }
162
- const { path: customPath = "src/modules" } = options;
163
- const names = {
164
- pascal: pascalCase(modelName),
165
- camel: camelCase(modelName),
166
- kebab: kebabCase(modelName),
167
- };
168
- const ext = getUserFileExtension();
169
- const configPath = path.join(process.cwd(), customPath, names.kebab);
170
- const filePath = path.join(configPath, `${names.kebab}.query.${ext}`);
171
- try {
172
- ensureDirectoryExists(configPath);
173
- const content = generateTemplate("query-options", { modelName: names });
174
- fs.writeFileSync(filePath, content);
175
- console.log(`\n✅ Query config generated: ${filePath.replace(process.cwd(), "")}`);
176
- }
177
- catch (error) {
178
- console.error(`❌ Failed to generate query config:`, error);
179
- process.exit(1);
180
- }
181
- },
182
- };
183
- //# sourceMappingURL=generate.js.map
@@ -1,74 +0,0 @@
1
- import { Command } from "commander";
2
- import { buildCommand } from "./build";
3
- import { devCommand } from "./dev";
4
- import { startCommand } from "./start";
5
- import { generateCommand } from "./generate";
6
- import { getVersion } from "./utils/cli.helpers";
7
- const program = new Command();
8
- program.name("arkos").description("Arkos.js CLI").version(getVersion());
9
- program
10
- .command("build")
11
- .description("Build your Arkos project")
12
- .option("-m, --module <type>", "Module type (cjs or esm)", "cjs")
13
- .action(buildCommand);
14
- program
15
- .command("dev")
16
- .description("Run development server")
17
- .option("-p, --port <number>", "Port number")
18
- .option("-h, --host <host>", "Host to bind to")
19
- .action(devCommand);
20
- program
21
- .command("start")
22
- .description("Run production server")
23
- .option("-p, --port <number>", "Port number")
24
- .option("-h, --host <host>", "Host to bind to")
25
- .action(startCommand);
26
- const generate = program
27
- .command("generate")
28
- .alias("g")
29
- .description("Generate arkos components");
30
- generate
31
- .command("controller")
32
- .alias("c")
33
- .description("Generate a new controller")
34
- .requiredOption("-m, --model <name>", "Model name")
35
- .option("-p, --path <path>", "Custom path for the controller", "src/modules")
36
- .action(generateCommand.controller);
37
- generate
38
- .command("service")
39
- .alias("s")
40
- .description("Generate a new service")
41
- .requiredOption("-m, --model <name>", "Model name")
42
- .option("-p, --path <path>", "Custom path for the service", "src/modules")
43
- .action(generateCommand.service);
44
- generate
45
- .command("router")
46
- .alias("r")
47
- .description("Generate a new router")
48
- .requiredOption("-m, --model <name>", "Model name")
49
- .option("-p, --path <path>", "Custom path for the router", "src/modules")
50
- .action(generateCommand.router);
51
- generate
52
- .command("auth-configs")
53
- .alias("a")
54
- .description("Generate auth configuration")
55
- .requiredOption("-m, --model <name>", "Model name")
56
- .option("-p, --path <path>", "Custom path for the router", "src/modules")
57
- .action(generateCommand.authConfigs);
58
- generate
59
- .command("query-options")
60
- .alias("q")
61
- .description("Generate prisma query options")
62
- .requiredOption("-m, --model <name>", "Model name")
63
- .option("-p, --path <path>", "Custom path for query options", "src/modules")
64
- .action(generateCommand.queryOptions);
65
- generate
66
- .command("middlewares")
67
- .alias("m")
68
- .description("Generate a new middleware file")
69
- .requiredOption("-m, --model <name>", "Middleware name")
70
- .option("-p, --path <path>", "Custom path for middleware", "src/modules")
71
- .action(generateCommand.middlewares);
72
- program.parse(process.argv);
73
- export { program, buildCommand, devCommand, startCommand, generateCommand };
74
- //# sourceMappingURL=index.js.map