arkos 1.2.15-test → 1.2.15-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 (428) 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-swagger-default-configs.js +1 -0
  52. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  53. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -0
  54. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  55. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -0
  56. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  57. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -0
  58. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  59. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  60. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  61. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  63. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  64. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  65. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  66. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  67. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -0
  68. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  69. package/dist/cjs/package.json +3 -0
  70. package/dist/cjs/paths.js +1 -1
  71. package/dist/cjs/server.js +4 -2
  72. package/dist/cjs/server.js.map +1 -1
  73. package/dist/cjs/types/arkos-config.js +1 -3
  74. package/dist/cjs/types/arkos-config.js.map +1 -1
  75. package/dist/cjs/types/auth.js +1 -3
  76. package/dist/cjs/types/index.js +1 -11
  77. package/dist/cjs/types/router-config.js +1 -3
  78. package/dist/cjs/utils/arkos-env.js +1 -9
  79. package/dist/cjs/utils/cli/build.js +5 -229
  80. package/dist/cjs/utils/cli/build.js.map +1 -1
  81. package/dist/cjs/utils/cli/dev.js +5 -267
  82. package/dist/cjs/utils/cli/dev.js.map +1 -1
  83. package/dist/cjs/utils/cli/generate.js +12 -189
  84. package/dist/cjs/utils/cli/generate.js.map +1 -1
  85. package/dist/cjs/utils/cli/index.js +1 -81
  86. package/dist/cjs/utils/cli/start.js +1 -93
  87. package/dist/cjs/utils/cli/start.js.map +1 -1
  88. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -26
  89. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +1 -1
  90. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  91. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +6 -15
  92. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +71 -133
  93. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  94. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +24 -46
  95. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  96. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +12 -32
  97. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  98. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -27
  99. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  100. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  101. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
  102. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
  103. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  104. package/dist/cjs/utils/features/api.features.js +1 -161
  105. package/dist/cjs/utils/features/api.features.js.map +1 -1
  106. package/dist/cjs/utils/features/change-case.features.js +1 -67
  107. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
  108. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
  109. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  110. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  111. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  112. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  113. package/dist/cjs/utils/helpers/fs.helpers.js +1 -54
  114. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  115. package/dist/cjs/utils/helpers/global.helpers.js +1 -40
  116. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  117. package/dist/cjs/utils/helpers/models.helpers.js +11 -325
  118. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  119. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -49
  120. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  121. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  122. package/dist/cjs/utils/helpers/routers.helpers.js +1 -0
  123. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -0
  124. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  125. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -0
  126. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
  127. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -0
  128. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  129. package/dist/cjs/utils/prisma/types.js +1 -0
  130. package/dist/cjs/utils/prisma/types.js.map +1 -0
  131. package/dist/cjs/utils/sheu.js +1 -0
  132. package/dist/cjs/utils/sheu.js.map +1 -0
  133. package/dist/cjs/utils/validate-dto.js +1 -17
  134. package/dist/cjs/utils/validate-schema.js +1 -15
  135. package/dist/esm/app.js +1 -0
  136. package/dist/esm/app.js.map +1 -0
  137. package/dist/esm/exports/auth/index.js +1 -0
  138. package/dist/esm/exports/controllers/index.js +1 -0
  139. package/dist/esm/exports/error-handler/index.js +1 -0
  140. package/dist/esm/exports/index.js +1 -0
  141. package/dist/esm/exports/middlewares/index.js +1 -0
  142. package/dist/esm/exports/prisma/index.js +1 -0
  143. package/dist/esm/exports/services/index.js +1 -0
  144. package/dist/esm/exports/utils/index.js +1 -0
  145. package/dist/esm/exports/validation/index.js +1 -0
  146. package/dist/esm/modules/auth/auth.controller.js +1 -0
  147. package/dist/esm/modules/auth/auth.router.js +1 -0
  148. package/dist/esm/modules/auth/auth.router.js.map +1 -0
  149. package/dist/esm/modules/auth/auth.service.js +1 -0
  150. package/dist/esm/modules/auth/auth.service.js.map +1 -0
  151. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -0
  152. package/dist/esm/modules/base/base.controller.js +1 -0
  153. package/dist/esm/modules/base/base.controller.js.map +1 -0
  154. package/dist/esm/modules/base/base.middlewares.js +1 -0
  155. package/dist/esm/modules/base/base.middlewares.js.map +1 -0
  156. package/dist/esm/modules/base/base.router.js +1 -0
  157. package/dist/esm/modules/base/base.router.js.map +1 -0
  158. package/dist/esm/modules/base/base.service.js +1 -0
  159. package/dist/esm/modules/base/base.service.js.map +1 -0
  160. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -0
  161. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -0
  162. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -0
  163. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  164. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -0
  165. package/dist/esm/modules/email/email.service.js +1 -0
  166. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -0
  167. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -0
  168. package/dist/esm/modules/error-handler/utils/app-error.js +1 -0
  169. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -0
  170. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -0
  171. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -0
  172. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  173. package/dist/esm/modules/file-upload/file-upload.controller.js +1 -0
  174. package/dist/esm/modules/file-upload/file-upload.router.js +1 -0
  175. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -0
  176. package/dist/esm/modules/file-upload/file-upload.service.js +1 -0
  177. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -0
  178. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -0
  179. package/dist/esm/modules/swagger/swagger.router.js +1 -0
  180. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  181. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -0
  182. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  183. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  184. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  185. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -0
  186. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  187. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -0
  188. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  189. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -0
  190. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  191. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  192. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  193. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  194. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  195. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  196. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  197. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  198. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  199. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -0
  200. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  201. package/dist/esm/package.json +3 -0
  202. package/dist/esm/server.js +5 -0
  203. package/dist/esm/server.js.map +1 -0
  204. package/dist/esm/types/arkos-config.js +1 -0
  205. package/dist/esm/types/arkos-config.js.map +1 -0
  206. package/dist/esm/types/auth.js +1 -0
  207. package/dist/esm/types/index.js +1 -0
  208. package/dist/esm/types/router-config.js +1 -0
  209. package/dist/esm/utils/arkos-env.js +1 -0
  210. package/dist/esm/utils/cli/build.js +5 -0
  211. package/dist/esm/utils/cli/build.js.map +1 -0
  212. package/dist/esm/utils/cli/dev.js +5 -0
  213. package/dist/esm/utils/cli/dev.js.map +1 -0
  214. package/dist/esm/utils/cli/generate.js +12 -0
  215. package/dist/{es2020 → esm}/utils/cli/generate.js.map +1 -1
  216. package/dist/esm/utils/cli/index.js +1 -0
  217. package/dist/esm/utils/cli/start.js +1 -0
  218. package/dist/esm/utils/cli/start.js.map +1 -0
  219. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -0
  220. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  221. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +21 -0
  222. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +12 -0
  223. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +206 -0
  224. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -0
  225. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +36 -0
  226. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -0
  227. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +18 -0
  228. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -0
  229. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +15 -0
  230. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  231. package/dist/esm/utils/cli/utils/template-generators.js +2 -0
  232. package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
  233. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
  234. package/dist/esm/utils/dotenv.helpers.js +1 -0
  235. package/dist/esm/utils/features/api.features.js +1 -0
  236. package/dist/esm/utils/features/api.features.js.map +1 -0
  237. package/dist/esm/utils/features/change-case.features.js +1 -0
  238. package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
  239. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
  240. package/dist/esm/utils/helpers/api.features.helpers.js +1 -0
  241. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -0
  242. package/dist/esm/utils/helpers/change-case.helpers.js +1 -0
  243. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -0
  244. package/dist/esm/utils/helpers/fs.helpers.js +1 -0
  245. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  246. package/dist/esm/utils/helpers/global.helpers.js +1 -0
  247. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  248. package/dist/esm/utils/helpers/models.helpers.js +11 -0
  249. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  250. package/dist/esm/utils/helpers/prisma.helpers.js +1 -0
  251. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -0
  252. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -0
  253. package/dist/esm/utils/helpers/routers.helpers.js +1 -0
  254. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -0
  255. package/dist/esm/utils/helpers/text.helpers.js +1 -0
  256. package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -0
  257. package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
  258. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
  259. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  260. package/dist/esm/utils/prisma/types.js +1 -0
  261. package/dist/esm/utils/prisma/types.js.map +1 -0
  262. package/dist/esm/utils/sheu.js +1 -0
  263. package/dist/esm/utils/sheu.js.map +1 -0
  264. package/dist/esm/utils/validate-dto.js +1 -0
  265. package/dist/esm/utils/validate-schema.js +1 -0
  266. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  267. package/dist/types/modules/base/base.service.d.ts +1 -1
  268. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +4 -1
  269. package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
  270. package/dist/types/modules/error-handler/utils/catch-async.d.ts +1 -0
  271. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +4 -0
  272. package/dist/types/modules/file-upload/file-upload.router.d.ts +1 -1
  273. package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +2 -1
  274. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  275. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +4 -0
  276. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +46 -0
  277. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +2 -0
  278. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -0
  279. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -0
  280. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -0
  281. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +3 -0
  282. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +3 -0
  283. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  284. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +7 -0
  285. package/dist/types/server.d.ts +3 -0
  286. package/dist/types/types/arkos-config.d.ts +10 -5
  287. package/dist/types/utils/cli/utils/cli.helpers.d.ts +1 -1
  288. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
  289. package/dist/types/utils/features/api.features.d.ts +1 -0
  290. package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
  291. package/dist/types/utils/helpers/global.helpers.d.ts +6 -1
  292. package/dist/types/utils/helpers/models.helpers.d.ts +31 -5
  293. package/dist/types/utils/helpers/routers.helpers.d.ts +2 -0
  294. package/dist/types/utils/prisma/enhaced-prisma-json-schema-generator.d.ts +34 -0
  295. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +18 -0
  296. package/dist/types/utils/prisma/types.d.ts +48 -0
  297. package/dist/types/utils/sheu.d.ts +70 -0
  298. package/package.json +43 -41
  299. package/dist/es2020/app.js +0 -1
  300. package/dist/es2020/app.js.map +0 -1
  301. package/dist/es2020/exports/auth/index.js +0 -2
  302. package/dist/es2020/exports/controllers/index.js +0 -4
  303. package/dist/es2020/exports/error-handler/index.js +0 -4
  304. package/dist/es2020/exports/index.js +0 -8
  305. package/dist/es2020/exports/middlewares/index.js +0 -2
  306. package/dist/es2020/exports/prisma/index.js +0 -3
  307. package/dist/es2020/exports/services/index.js +0 -9
  308. package/dist/es2020/exports/utils/index.js +0 -4
  309. package/dist/es2020/exports/validation/index.js +0 -4
  310. package/dist/es2020/modules/auth/auth.controller.js +0 -187
  311. package/dist/es2020/modules/auth/auth.router.js +0 -118
  312. package/dist/es2020/modules/auth/auth.router.js.map +0 -1
  313. package/dist/es2020/modules/auth/auth.service.js +0 -185
  314. package/dist/es2020/modules/auth/auth.service.js.map +0 -1
  315. package/dist/es2020/modules/auth/utils/helpers/auth.controller.helpers.js +0 -73
  316. package/dist/es2020/modules/base/base.controller.js +0 -151
  317. package/dist/es2020/modules/base/base.controller.js.map +0 -1
  318. package/dist/es2020/modules/base/base.middlewares.js +0 -81
  319. package/dist/es2020/modules/base/base.middlewares.js.map +0 -1
  320. package/dist/es2020/modules/base/base.router.js +0 -17
  321. package/dist/es2020/modules/base/base.router.js.map +0 -1
  322. package/dist/es2020/modules/base/base.service.js +0 -120
  323. package/dist/es2020/modules/base/base.service.js.map +0 -1
  324. package/dist/es2020/modules/base/utils/helpers/base.controller.helpers.js +0 -77
  325. package/dist/es2020/modules/base/utils/helpers/base.middlewares.helpers.js +0 -44
  326. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js +0 -161
  327. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  328. package/dist/es2020/modules/base/utils/helpers/base.service.helpers.js +0 -165
  329. package/dist/es2020/modules/email/email.service.js +0 -97
  330. package/dist/es2020/modules/error-handler/error-handler.controller.js +0 -105
  331. package/dist/es2020/modules/error-handler/error-handler.controller.js.map +0 -1
  332. package/dist/es2020/modules/error-handler/utils/app-error.js +0 -15
  333. package/dist/es2020/modules/error-handler/utils/catch-async.js +0 -10
  334. package/dist/es2020/modules/error-handler/utils/catch-async.js.map +0 -1
  335. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js +0 -155
  336. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  337. package/dist/es2020/modules/file-upload/file-upload.controller.js +0 -266
  338. package/dist/es2020/modules/file-upload/file-upload.router.js +0 -50
  339. package/dist/es2020/modules/file-upload/file-upload.router.js.map +0 -1
  340. package/dist/es2020/modules/file-upload/file-upload.service.js +0 -314
  341. package/dist/es2020/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -81
  342. package/dist/es2020/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  343. package/dist/es2020/modules/swagger/swagger.router.js +0 -135
  344. package/dist/es2020/modules/swagger/swagger.router.js.map +0 -1
  345. package/dist/es2020/server.js +0 -3
  346. package/dist/es2020/server.js.map +0 -1
  347. package/dist/es2020/types/arkos-config.js +0 -2
  348. package/dist/es2020/types/arkos-config.js.map +0 -1
  349. package/dist/es2020/types/auth.js +0 -2
  350. package/dist/es2020/types/index.js +0 -8
  351. package/dist/es2020/types/router-config.js +0 -2
  352. package/dist/es2020/utils/arkos-env.js +0 -7
  353. package/dist/es2020/utils/cli/build.js +0 -223
  354. package/dist/es2020/utils/cli/build.js.map +0 -1
  355. package/dist/es2020/utils/cli/dev.js +0 -260
  356. package/dist/es2020/utils/cli/dev.js.map +0 -1
  357. package/dist/es2020/utils/cli/generate.js +0 -183
  358. package/dist/es2020/utils/cli/index.js +0 -74
  359. package/dist/es2020/utils/cli/start.js +0 -86
  360. package/dist/es2020/utils/cli/start.js.map +0 -1
  361. package/dist/es2020/utils/cli/utils/cli.helpers.js +0 -18
  362. package/dist/es2020/utils/cli/utils/cli.helpers.js.map +0 -1
  363. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -33
  364. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -18
  365. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -265
  366. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  367. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -55
  368. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  369. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -32
  370. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  371. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -32
  372. package/dist/es2020/utils/cli/utils/template-generators.js +0 -25
  373. package/dist/es2020/utils/dotenv.helpers.js +0 -37
  374. package/dist/es2020/utils/features/api.features.js +0 -154
  375. package/dist/es2020/utils/features/api.features.js.map +0 -1
  376. package/dist/es2020/utils/features/change-case.features.js +0 -31
  377. package/dist/es2020/utils/helpers/api.features.helpers.js +0 -103
  378. package/dist/es2020/utils/helpers/api.features.helpers.js.map +0 -1
  379. package/dist/es2020/utils/helpers/change-case.helpers.js +0 -161
  380. package/dist/es2020/utils/helpers/deepmerge.helper.js +0 -113
  381. package/dist/es2020/utils/helpers/fs.helpers.js +0 -45
  382. package/dist/es2020/utils/helpers/fs.helpers.js.map +0 -1
  383. package/dist/es2020/utils/helpers/global.helpers.js +0 -4
  384. package/dist/es2020/utils/helpers/global.helpers.js.map +0 -1
  385. package/dist/es2020/utils/helpers/models.helpers.js +0 -276
  386. package/dist/es2020/utils/helpers/models.helpers.js.map +0 -1
  387. package/dist/es2020/utils/helpers/prisma.helpers.js +0 -41
  388. package/dist/es2020/utils/helpers/prisma.helpers.js.map +0 -1
  389. package/dist/es2020/utils/helpers/query-parser.helpers.js +0 -40
  390. package/dist/es2020/utils/helpers/text.helpers.js +0 -22
  391. package/dist/es2020/utils/validate-dto.js +0 -11
  392. package/dist/es2020/utils/validate-schema.js +0 -9
  393. /package/dist/{es2020 → esm}/exports/auth/index.js.map +0 -0
  394. /package/dist/{es2020 → esm}/exports/controllers/index.js.map +0 -0
  395. /package/dist/{es2020 → esm}/exports/error-handler/index.js.map +0 -0
  396. /package/dist/{es2020 → esm}/exports/index.js.map +0 -0
  397. /package/dist/{es2020 → esm}/exports/middlewares/index.js.map +0 -0
  398. /package/dist/{es2020 → esm}/exports/prisma/index.js.map +0 -0
  399. /package/dist/{es2020 → esm}/exports/services/index.js.map +0 -0
  400. /package/dist/{es2020 → esm}/exports/utils/index.js.map +0 -0
  401. /package/dist/{es2020 → esm}/exports/validation/index.js.map +0 -0
  402. /package/dist/{es2020 → esm}/modules/auth/auth.controller.js.map +0 -0
  403. /package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -0
  404. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js.map +0 -0
  405. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -0
  406. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js.map +0 -0
  407. /package/dist/{es2020 → esm}/modules/email/email.service.js.map +0 -0
  408. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js.map +0 -0
  409. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js.map +0 -0
  410. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js.map +0 -0
  411. /package/dist/{es2020 → esm}/paths.js +0 -0
  412. /package/dist/{es2020 → esm}/paths.js.map +0 -0
  413. /package/dist/{es2020 → esm}/types/auth.js.map +0 -0
  414. /package/dist/{es2020 → esm}/types/index.js.map +0 -0
  415. /package/dist/{es2020 → esm}/types/router-config.js.map +0 -0
  416. /package/dist/{es2020 → esm}/utils/arkos-env.js.map +0 -0
  417. /package/dist/{es2020 → esm}/utils/cli/index.js.map +0 -0
  418. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -0
  419. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -0
  420. /package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js.map +0 -0
  421. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js.map +0 -0
  422. /package/dist/{es2020 → esm}/utils/features/change-case.features.js.map +0 -0
  423. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js.map +0 -0
  424. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js.map +0 -0
  425. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js.map +0 -0
  426. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js.map +0 -0
  427. /package/dist/{es2020 → esm}/utils/validate-dto.js.map +0 -0
  428. /package/dist/{es2020 → esm}/utils/validate-schema.js.map +0 -0
@@ -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.log(`\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.log(`\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.log(`\n✅ Router 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.log(`\n✅ Middleware 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.log(`\n✅ Auth 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.log(`\n✅ Query 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=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)}},middlewares: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.log(\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.log(`\\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.log(\n `\\n✅ Router 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.log(`\\n✅ Middleware 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.log(\n `\\n✅ Auth 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.log(\n `\\n✅ Query 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 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,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.middlewares),program.parse(process.argv);
@@ -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=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":";;;;;AAqBA,oCAoGC;AAKD,4EAGC;AAjID,gDAAwB;AACxB,4CAAoB;AACpB,iDAAoD;AAEpD,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 { getVersion } from \"./utils/cli.helpers\";\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,26 +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
- const path_1 = __importDefault(require("path"));
13
- function ensureDirectoryExists(dirPath) {
14
- if (!fs_1.default.existsSync(dirPath)) {
15
- fs_1.default.mkdirSync(dirPath, { recursive: true });
16
- }
17
- }
18
- function killServerChildProcess() {
19
- (0, dev_1.killDevelopmentServerChildProcess)();
20
- (0, start_1.killProductionServerChildProcess)();
21
- }
22
- function getVersion() {
23
- const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, "../../../../../package.json"), "utf8") || "{}");
24
- return packageJson?.version || "1.0.0";
25
- }
26
- //# sourceMappingURL=cli.helpers.js.map
1
+ "use strict";var __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.2.15-test.2"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.helpers.js","sourceRoot":"","sources":["../../../../../src/utils/cli/utils/cli.helpers.ts"],"names":[],"mappings":";;;;;AAKA,sDAIC;AAED,wDAGC;AAED,gCASC;AAzBD,4CAAoB;AACpB,gCAA2D;AAC3D,oCAA4D;AAC5D,gDAAwB;AAExB,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB;IACpC,IAAA,uCAAiC,GAAE,CAAC;IACpC,IAAA,wCAAgC,GAAE,CAAC;AACrC,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAE,CAAC,YAAY,CACb,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,EACnD,MAAM,CACP,IAAI,IAAI,CACV,CAAC;IAEF,OAAO,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC;AACzC,CAAC","sourcesContent":["import fs from \"fs\";\nimport { killDevelopmentServerChildProcess } from \"../dev\";\nimport { killProductionServerChildProcess } from \"../start\";\nimport path from \"path\";\n\nexport function ensureDirectoryExists(dirPath: string): void {\n if (!fs.existsSync(dirPath)) {\n fs.mkdirSync(dirPath, { recursive: true });\n }\n}\n\nexport function killServerChildProcess() {\n killDevelopmentServerChildProcess();\n killProductionServerChildProcess();\n}\n\nexport function getVersion() {\n const packageJson = JSON.parse(\n fs.readFileSync(\n path.join(__dirname, \"../../../../../package.json\"),\n \"utf8\"\n ) || \"{}\"\n );\n\n return packageJson?.version || \"1.0.0\";\n}\n"]}
1
+ {"version":3,"file":"cli.helpers.js","sourceRoot":"","sources":["../../../../../src/utils/cli/utils/cli.helpers.ts"],"names":[],"mappings":";;;;;AAIA,sDAIC;AAED,wDAGC;AAED,gCAEC;AAjBD,4CAAoB;AACpB,gCAA2D;AAC3D,oCAA4D;AAE5D,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB;IACpC,IAAA,uCAAiC,GAAE,CAAC;IACpC,IAAA,wCAAgC,GAAE,CAAC;AACrC,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import fs from \"fs\";\nimport { killDevelopmentServerChildProcess } from \"../dev\";\nimport { killProductionServerChildProcess } from \"../start\";\n\nexport function ensureDirectoryExists(dirPath: string): void {\n if (!fs.existsSync(dirPath)) {\n fs.mkdirSync(dirPath, { recursive: true });\n }\n}\n\nexport function killServerChildProcess() {\n killDevelopmentServerChildProcess();\n killProductionServerChildProcess();\n}\n\nexport function getVersion() {\n return \"{{version}}\";\n}\n"]}
@@ -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 {
3
+ class ${e.pascal}Controller extends BaseController {
11
4
  constructor() {
12
- super("${modelName.kebab}");
5
+ super("${e.kebab}");
13
6
  }
14
7
  }
15
8
 
16
- const ${modelName.camel}Controller = new ${modelName.pascal}Controller();
9
+ const ${e.camel}Controller = new ${e.pascal}Controller();
17
10
 
18
- export default ${modelName.camel}Controller;
19
- `;
20
- }
21
- //# sourceMappingURL=generate-controller-template.js.map
11
+ export default ${e.camel}Controller;
12
+ `}