arkos 2.0.0-next.13 → 2.0.0-next.16

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 (246) hide show
  1. package/README.md +144 -145
  2. package/cli.js +1 -0
  3. package/dist/cjs/app.js +7 -0
  4. package/dist/cjs/app.js.map +1 -1
  5. package/dist/cjs/exports/error-handler/index.js +15 -0
  6. package/dist/cjs/exports/error-handler/index.js.map +1 -1
  7. package/dist/cjs/modules/auth/auth.router.js +3 -0
  8. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  9. package/dist/cjs/modules/auth/auth.service.js +2 -0
  10. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  11. package/dist/cjs/modules/base/base.controller.js +15 -3
  12. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  13. package/dist/cjs/modules/base/base.middlewares.js +19 -12
  14. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  15. package/dist/cjs/modules/base/base.service.js +5 -1
  16. package/dist/cjs/modules/base/base.service.js.map +1 -1
  17. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +9 -0
  18. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  19. package/dist/cjs/modules/error-handler/error-handler.controller.js +25 -42
  20. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  21. package/dist/cjs/modules/error-handler/utils/app-error.js +0 -1
  22. package/dist/cjs/modules/error-handler/utils/app-error.js.map +1 -1
  23. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +8 -9
  24. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  25. package/dist/cjs/modules/error-handler/utils/errors.js +158 -0
  26. package/dist/cjs/modules/error-handler/utils/errors.js.map +1 -0
  27. package/dist/cjs/modules/error-handler/utils/multer-error-handler.js +39 -0
  28. package/dist/cjs/modules/error-handler/utils/multer-error-handler.js.map +1 -0
  29. package/dist/cjs/modules/file-upload/file-upload.controller.js +10 -14
  30. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  31. package/dist/cjs/modules/file-upload/file-upload.router.js +2 -0
  32. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  33. package/dist/cjs/modules/swagger/swagger.router.js +8 -2
  34. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  35. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js +18 -0
  36. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js.map +1 -1
  37. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +5 -5
  38. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  39. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +1 -1
  40. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  41. package/dist/cjs/types/arkos-prisma-input.js.map +1 -1
  42. package/dist/cjs/types/index.js.map +1 -1
  43. package/dist/cjs/types/new-arkos-config.js.map +1 -1
  44. package/dist/cjs/types/router-config.js.map +1 -1
  45. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +86 -28
  46. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
  47. package/dist/cjs/utils/arkos-router/index.js +11 -7
  48. package/dist/cjs/utils/arkos-router/index.js.map +1 -1
  49. package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
  50. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +1 -1
  51. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +34 -28
  52. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -1
  53. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +9 -6
  54. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +1 -1
  55. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +334 -77
  56. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  57. package/dist/cjs/utils/bundler.js.map +1 -1
  58. package/dist/cjs/utils/cli/build.js +2 -3
  59. package/dist/cjs/utils/cli/build.js.map +1 -1
  60. package/dist/cjs/utils/cli/dev.js +11 -6
  61. package/dist/cjs/utils/cli/dev.js.map +1 -1
  62. package/dist/cjs/utils/cli/export-auth-action.js +5 -4
  63. package/dist/cjs/utils/cli/export-auth-action.js.map +1 -1
  64. package/dist/cjs/utils/cli/generate.js +6 -8
  65. package/dist/cjs/utils/cli/generate.js.map +1 -1
  66. package/dist/cjs/utils/cli/index.js +22 -19
  67. package/dist/cjs/utils/cli/index.js.map +1 -1
  68. package/dist/cjs/utils/cli/start.js +4 -2
  69. package/dist/cjs/utils/cli/start.js.map +1 -1
  70. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -1
  71. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +19 -7
  72. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  73. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +7 -6
  74. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
  75. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +4 -4
  76. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -1
  77. package/dist/cjs/utils/cli/utils/template-generators.js +0 -6
  78. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  79. package/dist/cjs/utils/define-config.js +5 -0
  80. package/dist/cjs/utils/define-config.js.map +1 -1
  81. package/dist/cjs/utils/dotenv.helpers.js +0 -6
  82. package/dist/cjs/utils/dotenv.helpers.js.map +1 -1
  83. package/dist/cjs/utils/features/api.features.js +23 -5
  84. package/dist/cjs/utils/features/api.features.js.map +1 -1
  85. package/dist/cjs/utils/helpers/arkos-config.helpers.js +22 -2
  86. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +1 -1
  87. package/dist/cjs/utils/helpers/exit-error.js +1 -0
  88. package/dist/cjs/utils/helpers/exit-error.js.map +1 -1
  89. package/dist/cjs/utils/helpers/fs.helpers.js +25 -24
  90. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  91. package/dist/cjs/utils/helpers/global.helpers.js +3 -2
  92. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  93. package/dist/cjs/utils/helpers/prisma.helpers.js +4 -5
  94. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  95. package/dist/cjs/utils/helpers/url-helpers.js +14 -0
  96. package/dist/cjs/utils/helpers/url-helpers.js.map +1 -0
  97. package/dist/cjs/utils/initialize-app.js +35 -6
  98. package/dist/cjs/utils/initialize-app.js.map +1 -1
  99. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +12 -6
  100. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  101. package/dist/cjs/utils/prisma/prisma-schema-parser.js +10 -3
  102. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -1
  103. package/dist/cjs/utils/setup-app.js +58 -41
  104. package/dist/cjs/utils/setup-app.js.map +1 -1
  105. package/dist/esm/app.js +6 -0
  106. package/dist/esm/app.js.map +1 -1
  107. package/dist/esm/exports/error-handler/index.js +1 -0
  108. package/dist/esm/exports/error-handler/index.js.map +1 -1
  109. package/dist/esm/modules/auth/auth.router.js +3 -0
  110. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  111. package/dist/esm/modules/auth/auth.service.js +2 -0
  112. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  113. package/dist/esm/modules/base/base.controller.js +15 -3
  114. package/dist/esm/modules/base/base.controller.js.map +1 -1
  115. package/dist/esm/modules/base/base.middlewares.js +19 -12
  116. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  117. package/dist/esm/modules/base/base.service.js +5 -1
  118. package/dist/esm/modules/base/base.service.js.map +1 -1
  119. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +9 -0
  120. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  121. package/dist/esm/modules/error-handler/error-handler.controller.js +22 -42
  122. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  123. package/dist/esm/modules/error-handler/utils/app-error.js +0 -1
  124. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  125. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +8 -9
  126. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  127. package/dist/esm/modules/error-handler/utils/errors.js +127 -0
  128. package/dist/esm/modules/error-handler/utils/errors.js.map +1 -0
  129. package/dist/esm/modules/error-handler/utils/multer-error-handler.js +34 -0
  130. package/dist/esm/modules/error-handler/utils/multer-error-handler.js.map +1 -0
  131. package/dist/esm/modules/file-upload/file-upload.controller.js +10 -14
  132. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  133. package/dist/esm/modules/file-upload/file-upload.router.js +2 -0
  134. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  135. package/dist/esm/modules/swagger/swagger.router.js +8 -2
  136. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  137. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +18 -0
  138. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -1
  139. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +5 -5
  140. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  141. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +1 -1
  142. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  143. package/dist/esm/types/arkos-prisma-input.js.map +1 -1
  144. package/dist/esm/types/index.js.map +1 -1
  145. package/dist/esm/types/new-arkos-config.js.map +1 -1
  146. package/dist/esm/types/router-config.js.map +1 -1
  147. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js +86 -28
  148. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
  149. package/dist/esm/utils/arkos-router/index.js +11 -7
  150. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  151. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  152. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -1
  153. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +34 -28
  154. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -1
  155. package/dist/esm/utils/arkos-router/utils/helpers/index.js +9 -6
  156. package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
  157. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +334 -77
  158. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  159. package/dist/esm/utils/bundler.js.map +1 -1
  160. package/dist/esm/utils/cli/build.js +3 -4
  161. package/dist/esm/utils/cli/build.js.map +1 -1
  162. package/dist/esm/utils/cli/dev.js +12 -7
  163. package/dist/esm/utils/cli/dev.js.map +1 -1
  164. package/dist/esm/utils/cli/export-auth-action.js +5 -4
  165. package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
  166. package/dist/esm/utils/cli/generate.js +6 -8
  167. package/dist/esm/utils/cli/generate.js.map +1 -1
  168. package/dist/esm/utils/cli/index.js +22 -19
  169. package/dist/esm/utils/cli/index.js.map +1 -1
  170. package/dist/esm/utils/cli/start.js +4 -2
  171. package/dist/esm/utils/cli/start.js.map +1 -1
  172. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  173. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +16 -7
  174. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  175. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js +7 -6
  176. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
  177. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js +4 -4
  178. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -1
  179. package/dist/esm/utils/cli/utils/template-generators.js +0 -6
  180. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  181. package/dist/esm/utils/define-config.js +5 -0
  182. package/dist/esm/utils/define-config.js.map +1 -1
  183. package/dist/esm/utils/dotenv.helpers.js +0 -6
  184. package/dist/esm/utils/dotenv.helpers.js.map +1 -1
  185. package/dist/esm/utils/features/api.features.js +23 -5
  186. package/dist/esm/utils/features/api.features.js.map +1 -1
  187. package/dist/esm/utils/helpers/arkos-config.helpers.js +20 -2
  188. package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -1
  189. package/dist/esm/utils/helpers/exit-error.js +1 -0
  190. package/dist/esm/utils/helpers/exit-error.js.map +1 -1
  191. package/dist/esm/utils/helpers/fs.helpers.js +25 -24
  192. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  193. package/dist/esm/utils/helpers/global.helpers.js +1 -1
  194. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  195. package/dist/esm/utils/helpers/prisma.helpers.js +4 -5
  196. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  197. package/dist/esm/utils/helpers/url-helpers.js +11 -0
  198. package/dist/esm/utils/helpers/url-helpers.js.map +1 -0
  199. package/dist/esm/utils/initialize-app.js +35 -6
  200. package/dist/esm/utils/initialize-app.js.map +1 -1
  201. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +12 -6
  202. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  203. package/dist/esm/utils/prisma/prisma-schema-parser.js +10 -3
  204. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
  205. package/dist/esm/utils/setup-app.js +59 -42
  206. package/dist/esm/utils/setup-app.js.map +1 -1
  207. package/dist/types/app.d.ts +5 -6
  208. package/dist/types/exports/error-handler/index.d.ts +1 -0
  209. package/dist/types/modules/auth/auth.service.d.ts +2 -6
  210. package/dist/types/modules/base/base.service.d.ts +2 -1
  211. package/dist/types/modules/error-handler/utils/app-error.d.ts +0 -2
  212. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +1 -1
  213. package/dist/types/modules/error-handler/utils/errors.d.ts +176 -0
  214. package/dist/types/modules/error-handler/utils/multer-error-handler.d.ts +7 -0
  215. package/dist/types/modules/file-upload/file-upload.controller.d.ts +0 -1
  216. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +48 -2
  217. package/dist/types/types/arkos-prisma-input.d.ts +3 -2
  218. package/dist/types/types/index.d.ts +0 -21
  219. package/dist/types/types/new-arkos-config.d.ts +183 -14
  220. package/dist/types/types/router-config.d.ts +1 -1
  221. package/dist/types/utils/arkos-router/arkos-router-openapi-manager.d.ts +14 -1
  222. package/dist/types/utils/arkos-router/index.d.ts +76 -8
  223. package/dist/types/utils/arkos-router/types/index.d.ts +19 -6
  224. package/dist/types/utils/arkos-router/types/upload-config.d.ts +63 -7
  225. package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +1 -1
  226. package/dist/types/utils/arkos-router/utils/helpers/index.d.ts +2 -0
  227. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +0 -36
  228. package/dist/types/utils/bundler.d.ts +1 -1
  229. package/dist/types/utils/cli/generate.d.ts +0 -1
  230. package/dist/types/utils/cli/start.d.ts +1 -1
  231. package/dist/types/utils/helpers/arkos-config.helpers.d.ts +2 -0
  232. package/dist/types/utils/helpers/fs.helpers.d.ts +1 -1
  233. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  234. package/dist/types/utils/helpers/url-helpers.d.ts +1 -0
  235. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +1 -0
  236. package/package.json +15 -15
  237. package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -39
  238. package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
  239. package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -32
  240. package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
  241. package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -36
  242. package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
  243. package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -29
  244. package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
  245. package/dist/types/utils/cli/utils/template-generator/templates/route-hook.template.d.ts +0 -2
  246. package/dist/types/utils/cli/utils/template-generator/templates/service-hook.template.d.ts +0 -2
@@ -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 { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport sheu from \"../sheu\";\nimport { capitalize } from \"../helpers/text.helpers\";\nimport prismaSchemaParser from \"../prisma/prisma-schema-parser\";\nimport generateMultipleComponents, {\n MultipleComponentsGenerateOptions,\n} from \"./utils/template-generator/templates/generate-multiple-components\";\nimport ExitError from \"../helpers/exit-error\";\n\nexport const kebabPrismaModels = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .map((val) => kebabCase(val));\n\nexport const knownModules = [...kebabPrismaModels, \"file-upload\", \"auth\"];\n\nexport type GenerateOptions = {\n path?: string;\n model?: string;\n module?: string;\n modules?: string;\n overwrite?: boolean;\n shouldExit?: boolean;\n shouldPrintError?: boolean;\n isBulk?: boolean;\n};\n\ninterface GenerateConfig {\n templateName: string;\n fileSuffix?: string;\n customValidation?: (modelName: string) => void;\n customImports?: (names: any) => any;\n customPath?: string;\n prefix?: string;\n allowedModules: string[] | \"*\";\n ext?: string;\n attachModuleName?: boolean; // defaults to true\n}\n\nconst generateFile = async (\n options: GenerateOptions,\n config: GenerateConfig\n) => {\n if (options.modules) {\n const moduleNames = options.modules\n .split(\",\")\n .map((m: string) => m.trim())\n .filter(Boolean);\n\n let totalFail = 0;\n for (const moduleName of moduleNames) {\n try {\n await generateFile(\n { ...options, modules: undefined, module: moduleName },\n config\n );\n } catch (err: any) {\n totalFail++;\n }\n }\n if (totalFail > 0) process.exit(1);\n return;\n }\n\n const modelName = options.module || options.model;\n if (modelName?.includes(\",\"))\n throw ExitError(\n \"Multiple modules are not supported with -m/--module. Use -ms/--modules instead.\\n\" +\n \"Example: arkos g router -ms post,user,auth\"\n );\n\n if (options.module && options.model)\n throw ExitError(\n \"You must either pass --module or --model, prefer --module to align with future updates.\"\n );\n\n if (!modelName?.trim()) throw new Error(\"Module name is required!\");\n\n const isAllowedModule =\n config.allowedModules === \"*\" ||\n config.allowedModules.includes(kebabCase(modelName));\n const isKnowModule =\n config.allowedModules === \"*\" ||\n config.allowedModules.includes(kebabCase(modelName));\n\n if (!isKnowModule)\n throw new Error(\n `Generate command are only available for know modules such as all prisma models, file-upload and auth. And you passed ${modelName}.`\n );\n else if (!isAllowedModule)\n throw Error(\n `${kebabCase(config.templateName).replaceAll(\"-\", \" \")} are not available for module ${modelName}`\n );\n\n if (config.customValidation) config.customValidation(modelName);\n\n const targetPath =\n options.path || config.customPath || \"src/modules/{{module-name}}\";\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = config.ext || getUserFileExtension();\n\n const resolvedPath = targetPath.replaceAll(\"{{module-name}}\", names.kebab);\n\n const isExplicitFile = path.extname(resolvedPath) !== \"\";\n\n let filePath: string;\n let modulePath: string;\n\n if (isExplicitFile) {\n filePath = path.resolve(process.cwd(), resolvedPath);\n modulePath = path.dirname(filePath);\n } else {\n modulePath = path.resolve(process.cwd(), resolvedPath);\n\n function getSuffix() {\n return config.fileSuffix ? `.${config.fileSuffix}` : \"\";\n }\n\n const fileName = config.prefix\n ? config.attachModuleName === false\n ? `${config.prefix}${getSuffix()}.${ext}`\n : `${config.prefix}${names.kebab}${getSuffix()}.${ext}`\n : config.attachModuleName === false\n ? `${names.kebab}${getSuffix()}.${ext}`\n : `${names.kebab}${getSuffix()}.${ext}`;\n\n filePath = path.join(modulePath, fileName);\n }\n\n const humamReadableTemplateName =\n config.templateName.charAt(0).toUpperCase() +\n config.templateName.slice(1).replaceAll(\"-\", \" \");\n\n try {\n ensureDirectoryExists(modulePath);\n const { model, ...restOfOptions } = options;\n\n const templateData = {\n modelName: names,\n ...restOfOptions,\n ...(config.customImports && { imports: config.customImports(names) }),\n };\n\n const content = generateTemplate(config.templateName, templateData);\n if (options.overwrite !== true && fs.existsSync(filePath))\n throw new Error(\n `${capitalize(humamReadableTemplateName.toLowerCase())} for ${names.kebab.replaceAll(\"-\", \" \")} already exists.`\n );\n else if (options.overwrite) {\n if (!options.isBulk) console.info(\"\");\n sheu.warn(\n `Overwriting ${humamReadableTemplateName.toLowerCase()} of ${names.kebab.replaceAll(\"-\", \" \")} because it already exists.`\n );\n }\n\n fs.writeFileSync(filePath, content);\n\n if (!options.isBulk && !options.overwrite) console.info(\"\");\n sheu.done(\n `${humamReadableTemplateName} ${options.isBulk ? \"\" : `for ${names.kebab.replaceAll(\"-\", \" \")} `}generated under ${fullCleanCwd(filePath)}`\n );\n } catch (err: any) {\n if (options.shouldPrintError !== false) {\n console.info(\"\");\n sheu.error(\n `Failed because of ${err?.message?.toLowerCase() || \"unknown reason\"}`\n );\n } else throw err;\n\n if (options.shouldExit !== false) process.exit(1);\n }\n};\n\nexport const generateCommand = {\n controller: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"controller\",\n fileSuffix: \"controller\",\n customImports: () => ({\n baseController: \"arkos/controllers\",\n }),\n allowedModules: \"*\",\n });\n },\n\n service: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"service\",\n fileSuffix: \"service\",\n customImports: () => ({\n baseService: \"arkos/services\",\n }),\n allowedModules: \"*\",\n });\n },\n\n router: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"router\",\n fileSuffix: \"router\",\n allowedModules: \"*\",\n });\n },\n\n policy: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"policy\",\n fileSuffix: \"policy\",\n allowedModules: \"*\",\n });\n },\n\n routeHook: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"route-hook\",\n fileSuffix: \"route-hook\",\n allowedModules: knownModules,\n });\n },\n\n serviceHook: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"service-hook\",\n fileSuffix: \"service-hook\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n createSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"create-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n updateSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"update-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n baseSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n querySchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"query-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"query-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n createDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"create-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n updateDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"update-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n baseDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n queryDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"query-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"query-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n prismaModel: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"prisma-model\",\n allowedModules: \"*\",\n ext: \"prisma\",\n customPath: \"prisma/schema\",\n });\n },\n\n loginSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"login-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"login\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n signupSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"signup-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"signup\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updateMeSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-me-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"update-me\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updatePasswordSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-password-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"update-password\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n loginDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"login-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"login\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n signupDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"signup-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"signup\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updateMeDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-me-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"update-me\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updatePasswordDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-password-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"update-password\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n multipleComponents: async (options: MultipleComponentsGenerateOptions) => {\n await generateMultipleComponents(options);\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 { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport sheu from \"../sheu\";\nimport { capitalize } from \"../helpers/text.helpers\";\nimport prismaSchemaParser from \"../prisma/prisma-schema-parser\";\nimport generateMultipleComponents, {\n MultipleComponentsGenerateOptions,\n} from \"./utils/template-generator/templates/generate-multiple-components\";\nimport ExitError from \"../helpers/exit-error\";\n\nexport const kebabPrismaModels = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .map((val) => kebabCase(val));\n\nexport const knownModules = [...kebabPrismaModels, \"file-upload\", \"auth\"];\n\nexport type GenerateOptions = {\n path?: string;\n model?: string;\n module?: string;\n overwrite?: boolean;\n shouldExit?: boolean;\n shouldPrintError?: boolean;\n isBulk?: boolean;\n};\n\ninterface GenerateConfig {\n templateName: string;\n fileSuffix?: string;\n customValidation?: (modelName: string) => void;\n customImports?: (names: any) => any;\n customPath?: string;\n prefix?: string;\n allowedModules: string[] | \"*\";\n ext?: string;\n attachModuleName?: boolean; // defaults to true\n}\n\nconst generateFile = async (\n options: GenerateOptions,\n config: GenerateConfig\n) => {\n const rawName = options.module || options.model;\n\n if (rawName?.includes(\",\")) {\n const moduleNames = rawName\n .split(\",\")\n .map((m: string) => m.trim())\n .filter(Boolean);\n let totalFail = 0;\n for (const moduleName of moduleNames) {\n try {\n await generateFile(\n { ...options, module: moduleName, model: undefined },\n config\n );\n } catch {\n totalFail++;\n }\n }\n if (totalFail > 0) process.exit(1);\n return;\n }\n\n if (options.module && options.model)\n throw ExitError(\n \"You must either pass --module or --model, prefer --module to align with future updates.\"\n );\n\n const modelName = rawName;\n\n if (!modelName?.trim()) throw new Error(\"Module name is required!\");\n\n const isAllowedModule =\n config.allowedModules === \"*\" ||\n config.allowedModules.includes(kebabCase(modelName));\n const isKnowModule =\n config.allowedModules === \"*\" ||\n config.allowedModules.includes(kebabCase(modelName));\n\n if (!isKnowModule)\n throw new Error(\n `Generate command are only available for know modules such as all prisma models, file-upload and auth. And you passed ${modelName}.`\n );\n else if (!isAllowedModule)\n throw Error(\n `${kebabCase(config.templateName).replaceAll(\"-\", \" \")} are not available for module ${modelName}`\n );\n\n if (config.customValidation) config.customValidation(modelName);\n\n const targetPath =\n options.path || config.customPath || \"src/modules/{{module-name}}\";\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = config.ext || getUserFileExtension();\n\n const resolvedPath = targetPath.replaceAll(\"{{module-name}}\", names.kebab);\n\n const isExplicitFile = path.extname(resolvedPath) !== \"\";\n\n let filePath: string;\n let modulePath: string;\n\n if (isExplicitFile) {\n filePath = path.resolve(process.cwd(), resolvedPath);\n modulePath = path.dirname(filePath);\n } else {\n modulePath = path.resolve(process.cwd(), resolvedPath);\n\n function getSuffix() {\n return config.fileSuffix ? `.${config.fileSuffix}` : \"\";\n }\n\n const fileName = config.prefix\n ? config.attachModuleName === false\n ? `${config.prefix}${getSuffix()}.${ext}`\n : `${config.prefix}${names.kebab}${getSuffix()}.${ext}`\n : config.attachModuleName === false\n ? `${names.kebab}${getSuffix()}.${ext}`\n : `${names.kebab}${getSuffix()}.${ext}`;\n\n filePath = path.join(modulePath, fileName);\n }\n\n const humamReadableTemplateName =\n config.templateName.charAt(0).toUpperCase() +\n config.templateName.slice(1).replaceAll(\"-\", \" \");\n\n try {\n ensureDirectoryExists(modulePath);\n const { model, ...restOfOptions } = options;\n\n const templateData = {\n modelName: names,\n ...restOfOptions,\n ...(config.customImports && { imports: config.customImports(names) }),\n };\n\n const content = generateTemplate(config.templateName, templateData);\n if (options.overwrite !== true && fs.existsSync(filePath))\n throw new Error(\n `${capitalize(humamReadableTemplateName.toLowerCase())} for ${names.kebab.replaceAll(\"-\", \" \")} already exists.`\n );\n else if (options.overwrite) {\n if (!options.isBulk) console.info(\"\");\n sheu.warn(\n `Overwriting ${humamReadableTemplateName.toLowerCase()} of ${names.kebab.replaceAll(\"-\", \" \")} because it already exists.`\n );\n }\n\n fs.writeFileSync(filePath, content);\n\n if (!options.isBulk && !options.overwrite) console.info(\"\");\n sheu.done(\n `${humamReadableTemplateName} ${options.isBulk ? \"\" : `for ${names.kebab.replaceAll(\"-\", \" \")} `}generated under ${fullCleanCwd(filePath)}`\n );\n } catch (err: any) {\n if (options.shouldPrintError !== false) {\n console.info(\"\");\n sheu.error(\n `Failed because of ${err?.message?.toLowerCase() || \"unknown reason\"}`\n );\n } else throw err;\n\n if (options.shouldExit !== false) process.exit(1);\n }\n};\n\nexport const generateCommand = {\n controller: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"controller\",\n fileSuffix: \"controller\",\n customImports: () => ({\n baseController: \"arkos/controllers\",\n }),\n allowedModules: \"*\",\n });\n },\n\n service: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"service\",\n fileSuffix: \"service\",\n customImports: () => ({\n baseService: \"arkos/services\",\n }),\n allowedModules: \"*\",\n });\n },\n\n router: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"router\",\n fileSuffix: \"router\",\n allowedModules: \"*\",\n });\n },\n\n policy: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"policy\",\n fileSuffix: \"policy\",\n allowedModules: \"*\",\n });\n },\n\n routeHook: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"route-hook\",\n fileSuffix: \"route-hook\",\n allowedModules: knownModules,\n });\n },\n\n serviceHook: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"service-hook\",\n fileSuffix: \"service-hook\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n createSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"create-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n updateSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"update-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n baseSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n querySchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"query-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"query-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n createDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"create-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n updateDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"update-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n baseDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n queryDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"query-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"query-\",\n allowedModules: kebabPrismaModels,\n });\n },\n\n prismaModel: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"prisma-model\",\n allowedModules: \"*\",\n ext: \"prisma\",\n customPath: \"prisma/schema\",\n });\n },\n\n loginSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"login-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"login\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n signupSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"signup-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"signup\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updateMeSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-me-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"update-me\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updatePasswordSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-password-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/auth/schemas\",\n prefix: \"update-password\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n loginDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"login-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"login\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n signupDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"signup-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"signup\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updateMeDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-me-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"update-me\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n updatePasswordDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-password-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/auth/dtos\",\n prefix: \"update-password\",\n allowedModules: [\"auth\"],\n attachModuleName: false,\n });\n },\n\n multipleComponents: async (options: MultipleComponentsGenerateOptions) => {\n await generateMultipleComponents(options);\n },\n};\n"]}
@@ -40,9 +40,8 @@ const generate = program
40
40
  .command("generate")
41
41
  .alias("g")
42
42
  .description("Generate arkos components")
43
- .option("-m, --module <name>", "Module name")
43
+ .option("-m, --module <name>", "Module name (comma-separated for bulk: post,user,auth)")
44
44
  .option("--model <name>", "Module name (alias for --module)")
45
- .option("--ms, --modules <names>", "Comma-separated module names for bulk generation")
46
45
  .option("-p, --path <path>", "Custom path for the component")
47
46
  .option("-o, --overwrite", "Overwrites all the content on the existing file");
48
47
  generate
@@ -150,22 +149,6 @@ generate
150
149
  const generateOptions = generate.opts();
151
150
  generate_1.generateCommand.policy({ ...generateOptions, ...options });
152
151
  });
153
- generate
154
- .command("route-hook")
155
- .alias("rh")
156
- .description("Generate a new route hook")
157
- .action((options) => {
158
- const generateOptions = generate.opts();
159
- generate_1.generateCommand.routeHook({ ...generateOptions, ...options });
160
- });
161
- generate
162
- .command("service-hook")
163
- .alias("sh")
164
- .description("Generate a new service hook")
165
- .action((options) => {
166
- const generateOptions = generate.opts();
167
- generate_1.generateCommand.serviceHook({ ...generateOptions, ...options });
168
- });
169
152
  generate
170
153
  .command("login-schema")
171
154
  .alias("ls")
@@ -233,7 +216,7 @@ generate
233
216
  generate
234
217
  .command("components")
235
218
  .alias("co")
236
- .description("Generate multiple components for one or more modules. Use comma-separated module names for multiple modules (e.g., -m post,user,auth)")
219
+ .description("Generate multiple components for one or more modules. Use -m post,user,auth for multiple modules")
237
220
  .option("-a, --all", "Generate all components")
238
221
  .option("-n, --names <names>", "Comma-separated list of components (e.g., s,sc,m or service,schema,model)")
239
222
  .action((options) => {
@@ -252,5 +235,25 @@ program
252
235
  .option("-o, --overwrite", "Overwrites all the changes on the object")
253
236
  .option("-p, --path <path>", "Custom path for auth-actions", "src/modules/auth/utils")
254
237
  .action(export_auth_action_1.default);
238
+ generate.on("command:*", ([unknownCmd]) => {
239
+ if (unknownCmd.includes(",") && !unknownCmd.includes(" ")) {
240
+ const generateOptions = generate.opts();
241
+ generate_1.generateCommand.multipleComponents({
242
+ ...generateOptions,
243
+ names: unknownCmd,
244
+ });
245
+ }
246
+ else {
247
+ console.error(`Unknown command: ${unknownCmd}`);
248
+ process.exit(1);
249
+ }
250
+ });
251
+ generate
252
+ .command("all")
253
+ .description("Generate all components for a module")
254
+ .action(() => {
255
+ const opts = generate.opts();
256
+ generate_1.generateCommand.multipleComponents({ ...opts, all: true });
257
+ });
255
258
  program.parse(process.argv);
256
259
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from \"commander\";\nimport { buildCommand } from \"./build\";\nimport { devCommand } from \"./dev\";\nimport { startCommand } from \"./start\";\nimport { generateCommand } from \"./generate\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport prismaGenerateCommand from \"./prisma-generate\";\nimport exportAuthActionCommand from \"./export-auth-action\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"--ms, --modules <names>\",\n \"Comma-separated module names for bulk generation\"\n )\n .option(\"-p, --path <path>\", \"Custom path for the component\")\n .option(\"-o, --overwrite\", \"Overwrites all the content on the existing file\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.controller({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.service({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.router({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"create-schema\")\n .alias(\"cs\")\n .description(\"Generate a new zod create schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.createSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-schema\")\n .alias(\"us\")\n .description(\"Generate a new zod update schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"schema\")\n .alias(\"sc\")\n .description(\"Generate a new zod create schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.baseSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"query-schema\")\n .alias(\"qs\")\n .description(\"Generate a new zod update schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.querySchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"create-dto\")\n .alias(\"cd\")\n .description(\n \"Generate a new class-validator create dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.createDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-dto\")\n .alias(\"ud\")\n .description(\n \"Generate a new class-validator update dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"dto\")\n .alias(\"d\")\n .description(\n \"Generate a new class-validator base dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.baseDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"query-dto\")\n .alias(\"qd\")\n .description(\n \"Generate a new class-validator base dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.queryDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"model\")\n .alias(\"m\")\n .description(\"Generate a new prisma model\")\n .option(\"-p, --path <path>\", \"Custom path for prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.prismaModel({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"policy\")\n .alias(\"p\")\n .description(\"Generate a new policy\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.policy({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"route-hook\")\n .alias(\"rh\")\n .description(\"Generate a new route hook\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.routeHook({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"service-hook\")\n .alias(\"sh\")\n .description(\"Generate a new service hook\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.serviceHook({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"login-schema\")\n .alias(\"ls\")\n .description(\"Generate zod login schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.loginSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"signup-schema\")\n .alias(\"ss\")\n .description(\"Generate zod signup schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.signupSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-me-schema\")\n .alias(\"ums\")\n .description(\"Generate zod update-me schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateMeSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-password-schema\")\n .alias(\"ups\")\n .description(\"Generate zod update-password schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updatePasswordSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"login-dto\")\n .alias(\"ld\")\n .description(\"Generate class-validator login dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.loginDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"signup-dto\")\n .alias(\"sd\")\n .description(\"Generate class-validator signup dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.signupDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-me-dto\")\n .alias(\"umd\")\n .description(\"Generate class-validator update-me dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateMeDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-password-dto\")\n .alias(\"upd\")\n .description(\"Generate class-validator update-password dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updatePasswordDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"components\")\n .alias(\"co\")\n .description(\n \"Generate multiple components for one or more modules. Use comma-separated module names for multiple modules (e.g., -m post,user,auth)\"\n )\n .option(\"-a, --all\", \"Generate all components\")\n .option(\n \"-n, --names <names>\",\n \"Comma-separated list of components (e.g., s,sc,m or service,schema,model)\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.multipleComponents({ ...generateOptions, ...options });\n });\n\nprogram\n .command(\"prisma\")\n .command(\"generate\")\n .description(\"Generate your @prisma/client and BaseService class types\")\n .action(prismaGenerateCommand);\n\nprogram\n .command(\"export\")\n .command(\"auth-action\")\n .description(\"Export file with an array containing all auth-actions\")\n .option(\"-o, --overwrite\", \"Overwrites all the changes on the object\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for auth-actions\",\n \"src/modules/auth/utils\"\n )\n .action(exportAuthActionCommand);\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from \"commander\";\nimport { buildCommand } from \"./build\";\nimport { devCommand } from \"./dev\";\nimport { startCommand } from \"./start\";\nimport { generateCommand } from \"./generate\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport prismaGenerateCommand from \"./prisma-generate\";\nimport exportAuthActionCommand from \"./export-auth-action\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\")\n .option(\n \"-m, --module <name>\",\n \"Module name (comma-separated for bulk: post,user,auth)\"\n )\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\"-p, --path <path>\", \"Custom path for the component\")\n .option(\"-o, --overwrite\", \"Overwrites all the content on the existing file\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.controller({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.service({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.router({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"create-schema\")\n .alias(\"cs\")\n .description(\"Generate a new zod create schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.createSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-schema\")\n .alias(\"us\")\n .description(\"Generate a new zod update schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"schema\")\n .alias(\"sc\")\n .description(\"Generate a new zod create schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.baseSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"query-schema\")\n .alias(\"qs\")\n .description(\"Generate a new zod update schema file for a prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.querySchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"create-dto\")\n .alias(\"cd\")\n .description(\n \"Generate a new class-validator create dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.createDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-dto\")\n .alias(\"ud\")\n .description(\n \"Generate a new class-validator update dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"dto\")\n .alias(\"d\")\n .description(\n \"Generate a new class-validator base dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.baseDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"query-dto\")\n .alias(\"qd\")\n .description(\n \"Generate a new class-validator base dto file for a prisma model\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.queryDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"model\")\n .alias(\"m\")\n .description(\"Generate a new prisma model\")\n .option(\"-p, --path <path>\", \"Custom path for prisma model\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.prismaModel({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"policy\")\n .alias(\"p\")\n .description(\"Generate a new policy\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.policy({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"login-schema\")\n .alias(\"ls\")\n .description(\"Generate zod login schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.loginSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"signup-schema\")\n .alias(\"ss\")\n .description(\"Generate zod signup schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.signupSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-me-schema\")\n .alias(\"ums\")\n .description(\"Generate zod update-me schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateMeSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-password-schema\")\n .alias(\"ups\")\n .description(\"Generate zod update-password schema for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updatePasswordSchema({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"login-dto\")\n .alias(\"ld\")\n .description(\"Generate class-validator login dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.loginDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"signup-dto\")\n .alias(\"sd\")\n .description(\"Generate class-validator signup dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.signupDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-me-dto\")\n .alias(\"umd\")\n .description(\"Generate class-validator update-me dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updateMeDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"update-password-dto\")\n .alias(\"upd\")\n .description(\"Generate class-validator update-password dto for auth module\")\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.updatePasswordDto({ ...generateOptions, ...options });\n });\n\ngenerate\n .command(\"components\")\n .alias(\"co\")\n .description(\n \"Generate multiple components for one or more modules. Use -m post,user,auth for multiple modules\"\n )\n .option(\"-a, --all\", \"Generate all components\")\n .option(\n \"-n, --names <names>\",\n \"Comma-separated list of components (e.g., s,sc,m or service,schema,model)\"\n )\n .action((options) => {\n const generateOptions = generate.opts();\n generateCommand.multipleComponents({ ...generateOptions, ...options });\n });\n\nprogram\n .command(\"prisma\")\n .command(\"generate\")\n .description(\"Generate your @prisma/client and BaseService class types\")\n .action(prismaGenerateCommand);\n\nprogram\n .command(\"export\")\n .command(\"auth-action\")\n .description(\"Export file with an array containing all auth-actions\")\n .option(\"-o, --overwrite\", \"Overwrites all the changes on the object\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for auth-actions\",\n \"src/modules/auth/utils\"\n )\n .action(exportAuthActionCommand);\n\n// To resolve arkos g r,c,service -m post\ngenerate.on(\"command:*\", ([unknownCmd]) => {\n if (unknownCmd.includes(\",\") && !unknownCmd.includes(\" \")) {\n const generateOptions = generate.opts();\n generateCommand.multipleComponents({\n ...generateOptions,\n names: unknownCmd,\n });\n } else {\n console.error(`Unknown command: ${unknownCmd}`);\n process.exit(1);\n }\n});\n\ngenerate\n .command(\"all\")\n .description(\"Generate all components for a module\")\n .action(() => {\n const opts = generate.opts();\n generateCommand.multipleComponents({ ...opts, all: true });\n });\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}
@@ -12,9 +12,10 @@ const dotenv_helpers_1 = require("../dotenv.helpers.js");
12
12
  const fs_helpers_1 = require("../helpers/fs.helpers.js");
13
13
  const watermark_stamper_1 = __importDefault(require("./utils/watermark-stamper.js"));
14
14
  const sheu_1 = __importDefault(require("../sheu.js"));
15
+ const arkos_config_helpers_1 = require("../helpers/arkos-config.helpers.js");
15
16
  let child = null;
16
17
  let envFiles;
17
- function startCommand(options = {}) {
18
+ async function startCommand(options = {}) {
18
19
  process.env.NO_CLI = "true";
19
20
  if (!process.env.NODE_ENV)
20
21
  process.env.NODE_ENV = "production";
@@ -22,7 +23,8 @@ function startCommand(options = {}) {
22
23
  envFiles = (0, dotenv_helpers_1.loadEnvironmentVariables)();
23
24
  try {
24
25
  const { port, host } = options;
25
- const entryPoint = path_1.default.join(process.cwd(), ".build", "src", "app.js");
26
+ const config = (0, arkos_config_helpers_1.getArkosConfig)();
27
+ const entryPoint = path_1.default.join(process.cwd(), ".build", config.source?.entryPoint.replace(".ts", ".js"));
26
28
  if (!fs_1.default.existsSync(path_1.default.join(entryPoint))) {
27
29
  sheu_1.default.error(`Could not find built application entry point at ${(0, fs_helpers_1.fullCleanCwd)(entryPoint).replaceAll(/^\/+/g, "")}`);
28
30
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../src/utils/cli/start.ts"],"names":[],"mappings":";;;;;AAmBA,oCA+DC;AAKD,4EAGC;AA1FD,gDAAwB;AACxB,4CAAoB;AACpB,iDAAoD;AACpD,sDAA6D;AAC7D,sDAAqD;AACrD,kFAAyD;AACzD,mDAA2B;AAO3B,IAAI,KAAK,GAAwB,IAAI,CAAC;AACtC,IAAI,QAA8B,CAAC;AAKnC,SAAgB,YAAY,CAAC,UAAwB,EAAE;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAE5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IAEjC,QAAQ,GAAG,IAAA,yCAAwB,GAAE,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAE/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,cAAI,CAAC,KAAK,CACR,mDAAmD,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CACtG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAA4B;YACnC,QAAQ,EAAE,YAAY;YACtB,GAAG,OAAO,CAAC,GAAG;YACd,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;YACnB,GAAG,EAAE,OAAO;SACb,CAAC;QAEF,GAAG,CAAC,MAAM;YACR,GAAG,EAAE,QAAQ;gBAEb,GAAG,EAAE,IAAI;gBACT,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAEzD,GAAG,CAAC,MAAM;YACR,GAAG,EAAE,QAAQ;gBAEb,GAAG,EAAE,IAAI;gBACT,MAAM,CAAC;QAET,2BAAgB,CAAC,KAAK,CAAC;YACrB,QAAQ;YACR,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,IAAI,EAAE,GAAG,CAAC,MAAM;SACjB,CAAC,CAAC;QAEH,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YAClC,KAAK,EAAE,SAAS;YAChB,GAAG;YACH,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAKD,SAAgB,gCAAgC;IAC7C,KAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;IAClC,KAAK,GAAG,IAAI,CAAC;AACf,CAAC","sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport { ChildProcess, spawn } from \"child_process\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { fullCleanCwd } from \"../helpers/fs.helpers\";\nimport watermarkStamper from \"./utils/watermark-stamper\";\nimport sheu from \"../sheu\";\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 function startCommand(options: StartOptions = {}) {\n process.env.NO_CLI = \"true\";\n\n if (!process.env.NODE_ENV) process.env.NODE_ENV = \"production\";\n process.env.ARKOS_BUILD = \"true\";\n\n envFiles = loadEnvironmentVariables();\n\n try {\n const { port, host } = options;\n\n const entryPoint = path.join(process.cwd(), \".build\", \"src\", \"app.js\");\n\n if (!fs.existsSync(path.join(entryPoint))) {\n sheu.error(\n `Could not find built application entry point at ${fullCleanCwd(entryPoint).replaceAll(/^\\/+/g, \"\")}`\n );\n process.exit(1);\n }\n\n const env: { [x: string]: string } = {\n NODE_ENV: \"production\",\n ...process.env,\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n ARKOS_BUILD: \"true\",\n CLI: \"false\",\n };\n\n env.__HOST =\n env?.CLI_HOST ||\n // config?.host ||\n env?.HOST ||\n (env.ARKOS_BUILD !== \"true\" ? \"0.0.0.0\" : \"127.0.0.1\");\n\n env.__PORT =\n env?.CLI_PORT ||\n // || config?.port\n env?.PORT ||\n \"8000\";\n\n watermarkStamper.stamp({\n envFiles,\n port: env.__PORT,\n host: env.__HOST,\n });\n\n child = spawn(\"node\", [entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n\n process.on(\"SIGINT\", () => {\n if (child) child.kill();\n\n process.exit(0);\n });\n } catch (error) {\n sheu.error(\"Production server failed to start:\");\n console.error(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":"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","sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport { ChildProcess, spawn } from \"child_process\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { fullCleanCwd } from \"../helpers/fs.helpers\";\nimport watermarkStamper from \"./utils/watermark-stamper\";\nimport sheu from \"../sheu\";\nimport { getArkosConfig } from \"../helpers/arkos-config.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.NO_CLI = \"true\";\n\n if (!process.env.NODE_ENV) process.env.NODE_ENV = \"production\";\n process.env.ARKOS_BUILD = \"true\";\n\n envFiles = loadEnvironmentVariables();\n\n try {\n const { port, host } = options;\n\n const config = getArkosConfig();\n\n const entryPoint = path.join(\n process.cwd(),\n \".build\",\n config.source?.entryPoint!.replace(\".ts\", \".js\")!\n );\n\n if (!fs.existsSync(path.join(entryPoint))) {\n sheu.error(\n `Could not find built application entry point at ${fullCleanCwd(entryPoint).replaceAll(/^\\/+/g, \"\")}`\n );\n process.exit(1);\n }\n\n const env: { [x: string]: string } = {\n NODE_ENV: \"production\",\n ...process.env,\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n ARKOS_BUILD: \"true\",\n CLI: \"false\",\n };\n\n env.__HOST =\n env?.CLI_HOST ||\n // config?.host ||\n env?.HOST ||\n (env.ARKOS_BUILD !== \"true\" ? \"0.0.0.0\" : \"127.0.0.1\");\n\n env.__PORT =\n env?.CLI_PORT ||\n // || config?.port\n env?.PORT ||\n \"8000\";\n\n watermarkStamper.stamp({\n envFiles,\n port: env.__PORT,\n host: env.__HOST,\n });\n\n child = spawn(\"node\", [entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n\n process.on(\"SIGINT\", () => {\n if (child) child.kill();\n\n process.exit(0);\n });\n } catch (error) {\n sheu.error(\"Production server failed to start:\");\n console.error(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"]}
@@ -19,6 +19,6 @@ function killServerChildProcess() {
19
19
  (0, start_1.killProductionServerChildProcess)();
20
20
  }
21
21
  function getVersion() {
22
- return "2.0.0-next.13";
22
+ return "2.0.0-next.16";
23
23
  }
24
24
  //# sourceMappingURL=cli.helpers.js.map
@@ -1,16 +1,23 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.generateControllerTemplate = generateControllerTemplate;
4
- const generate_1 = require("../../../generate.js");
7
+ const prisma_schema_parser_1 = __importDefault(require("../../../../prisma/prisma-schema-parser.js"));
8
+ const change_case_helpers_1 = require("../../../../helpers/change-case.helpers.js");
5
9
  function generateControllerTemplate(options) {
6
10
  const { modelName, imports } = options;
7
11
  if (!modelName)
8
12
  throw new Error("Module name is required for controller template");
9
- const camelName = modelName.camel.toLowerCase();
13
+ const camelName = modelName.camel;
10
14
  let controllerType;
11
15
  let controllerName;
12
16
  let controllerImport;
13
- if (camelName === "fileupload") {
17
+ const models = prisma_schema_parser_1.default
18
+ .getModelsAsArrayOfStrings()
19
+ .map((val) => (0, change_case_helpers_1.kebabCase)(val));
20
+ if (camelName === "fileUpload") {
14
21
  controllerType = "fileUpload";
15
22
  controllerName = "FileUploadController";
16
23
  controllerImport = imports?.fileUploadController || "arkos/controllers";
@@ -25,15 +32,20 @@ function generateControllerTemplate(options) {
25
32
  controllerName = "EmailController";
26
33
  controllerImport = imports?.emailController || "arkos/controllers";
27
34
  }
28
- else {
35
+ else if (models.includes(modelName.kebab)) {
29
36
  controllerType = "base";
30
37
  controllerName = "BaseController";
31
38
  controllerImport = imports?.baseController || "arkos/controllers";
32
39
  }
40
+ else {
41
+ controllerType = "custom";
42
+ controllerName = "BaseController";
43
+ controllerImport = imports?.baseController || "arkos/controllers";
44
+ }
33
45
  const controllerClassImport = `import { ${controllerName} } from "${controllerImport}";`;
34
- if (["email", "auth"].includes(camelName) ||
35
- !generate_1.kebabPrismaModels.includes(modelName.kebab))
36
- return `export class ${modelName.pascal}Controller {}
46
+ if (["email", "auth", "fileUpload"].includes(camelName) ||
47
+ !models.includes(modelName.kebab))
48
+ return `class ${modelName.pascal}Controller {}
37
49
 
38
50
  const ${modelName.camel}Controller = new ${modelName.pascal}Controller(${controllerType === "base" ? `"${modelName.kebab}"` : ""});
39
51
 
@@ -1 +1 @@
1
- {"version":3,"file":"generate-controller-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/generate-controller-template.ts"],"names":[],"mappings":";;AAGA,gEAkDC;AArDD,gDAAsD;AAGtD,SAAgB,0BAA0B,CAAC,OAAwB;IACjE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,cAAwD,CAAC;IAC7D,IAAI,cAAsB,CAAC;IAC3B,IAAI,gBAAwB,CAAC;IAE7B,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,cAAc,GAAG,YAAY,CAAC;QAC9B,cAAc,GAAG,sBAAsB,CAAC;QACxC,gBAAgB,GAAG,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,CAAC;IAC1E,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,cAAc,GAAG,MAAM,CAAC;QACxB,cAAc,GAAG,gBAAgB,CAAC;QAClC,gBAAgB,GAAG,OAAO,EAAE,cAAc,IAAI,mBAAmB,CAAC;IACpE,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACjC,cAAc,GAAG,OAAO,CAAC;QACzB,cAAc,GAAG,iBAAiB,CAAC;QACnC,gBAAgB,GAAG,OAAO,EAAE,eAAe,IAAI,mBAAmB,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,MAAM,CAAC;QACxB,cAAc,GAAG,gBAAgB,CAAC;QAClC,gBAAgB,GAAG,OAAO,EAAE,cAAc,IAAI,mBAAmB,CAAC;IACpE,CAAC;IAED,MAAM,qBAAqB,GAAG,YAAY,cAAc,YAAY,gBAAgB,IAAI,CAAC;IAEzF,IACE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrC,CAAC,4BAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAE5C,OAAO,gBAAgB,SAAS,CAAC,MAAM;;QAEnC,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,cAAc,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;;iBAE/G,SAAS,CAAC,KAAK;CAC/B,CAAC;;QAEE,OAAO,GAAG,qBAAqB;;eAEpB,SAAS,CAAC,MAAM,sBAAsB,cAAc;;QAE3D,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,cAAc,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;;iBAE/G,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { kebabPrismaModels } from \"../../../generate\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateControllerTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName)\n throw new Error(\"Module name is required for controller template\");\n\n const camelName = modelName.camel.toLowerCase();\n let controllerType: \"fileUpload\" | \"auth\" | \"email\" | \"base\";\n let controllerName: string;\n let controllerImport: string;\n\n if (camelName === \"fileupload\") {\n controllerType = \"fileUpload\";\n controllerName = \"FileUploadController\";\n controllerImport = imports?.fileUploadController || \"arkos/controllers\";\n } else if (camelName === \"auth\") {\n controllerType = \"auth\";\n controllerName = \"AuthController\";\n controllerImport = imports?.authController || \"arkos/controllers\";\n } else if (camelName === \"email\") {\n controllerType = \"email\";\n controllerName = \"EmailController\";\n controllerImport = imports?.emailController || \"arkos/controllers\";\n } else {\n controllerType = \"base\";\n controllerName = \"BaseController\";\n controllerImport = imports?.baseController || \"arkos/controllers\";\n }\n\n const controllerClassImport = `import { ${controllerName} } from \"${controllerImport}\";`;\n\n if (\n [\"email\", \"auth\"].includes(camelName) ||\n !kebabPrismaModels.includes(modelName.kebab)\n )\n return `export class ${modelName.pascal}Controller {}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller(${controllerType === \"base\" ? `\"${modelName.kebab}\"` : \"\"});\n\nexport default ${modelName.camel}Controller;\n`;\n else\n return `${controllerClassImport}\n \nexport class ${modelName.pascal}Controller extends ${controllerName} {}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller(${controllerType === \"base\" ? `\"${modelName.kebab}\"` : \"\"});\n\nexport default ${modelName.camel}Controller;\n`;\n}\n"]}
1
+ {"version":3,"file":"generate-controller-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/generate-controller-template.ts"],"names":[],"mappings":";;;;;AAIA,gEA0DC;AA7DD,mGAAyE;AACzE,iFAAoE;AAEpE,SAAgB,0BAA0B,CAAC,OAAwB;IACjE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;IAClC,IAAI,cAAmE,CAAC;IACxE,IAAI,cAAsB,CAAC;IAC3B,IAAI,gBAAwB,CAAC;IAE7B,MAAM,MAAM,GAAG,8BAAkB;SAC9B,yBAAyB,EAAE;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,+BAAS,EAAC,GAAG,CAAC,CAAC,CAAC;IAEhC,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,cAAc,GAAG,YAAY,CAAC;QAC9B,cAAc,GAAG,sBAAsB,CAAC;QACxC,gBAAgB,GAAG,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,CAAC;IAC1E,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,cAAc,GAAG,MAAM,CAAC;QACxB,cAAc,GAAG,gBAAgB,CAAC;QAClC,gBAAgB,GAAG,OAAO,EAAE,cAAc,IAAI,mBAAmB,CAAC;IACpE,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACjC,cAAc,GAAG,OAAO,CAAC;QACzB,cAAc,GAAG,iBAAiB,CAAC;QACnC,gBAAgB,GAAG,OAAO,EAAE,eAAe,IAAI,mBAAmB,CAAC;IACrE,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,cAAc,GAAG,MAAM,CAAC;QACxB,cAAc,GAAG,gBAAgB,CAAC;QAClC,gBAAgB,GAAG,OAAO,EAAE,cAAc,IAAI,mBAAmB,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,QAAQ,CAAC;QAC1B,cAAc,GAAG,gBAAgB,CAAC;QAClC,gBAAgB,GAAG,OAAO,EAAE,cAAc,IAAI,mBAAmB,CAAC;IACpE,CAAC;IAED,MAAM,qBAAqB,GAAG,YAAY,cAAc,YAAY,gBAAgB,IAAI,CAAC;IAEzF,IACE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnD,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAEjC,OAAO,SAAS,SAAS,CAAC,MAAM;;QAE5B,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,cAAc,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;;iBAE/G,SAAS,CAAC,KAAK;CAC/B,CAAC;;QAEE,OAAO,GAAG,qBAAqB;;eAEpB,SAAS,CAAC,MAAM,sBAAsB,cAAc;;QAE3D,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,cAAc,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;;iBAE/G,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { TemplateOptions } from \"../../template-generators\";\nimport prismaSchemaParser from \"../../../../prisma/prisma-schema-parser\";\nimport { kebabCase } from \"../../../../helpers/change-case.helpers\";\n\nexport function generateControllerTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName)\n throw new Error(\"Module name is required for controller template\");\n\n const camelName = modelName.camel;\n let controllerType: \"fileUpload\" | \"auth\" | \"email\" | \"base\" | \"custom\";\n let controllerName: string;\n let controllerImport: string;\n\n const models = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .map((val) => kebabCase(val));\n\n if (camelName === \"fileUpload\") {\n controllerType = \"fileUpload\";\n controllerName = \"FileUploadController\";\n controllerImport = imports?.fileUploadController || \"arkos/controllers\";\n } else if (camelName === \"auth\") {\n controllerType = \"auth\";\n controllerName = \"AuthController\";\n controllerImport = imports?.authController || \"arkos/controllers\";\n } else if (camelName === \"email\") {\n controllerType = \"email\";\n controllerName = \"EmailController\";\n controllerImport = imports?.emailController || \"arkos/controllers\";\n } else if (models.includes(modelName.kebab)) {\n controllerType = \"base\";\n controllerName = \"BaseController\";\n controllerImport = imports?.baseController || \"arkos/controllers\";\n } else {\n controllerType = \"custom\";\n controllerName = \"BaseController\";\n controllerImport = imports?.baseController || \"arkos/controllers\";\n }\n\n const controllerClassImport = `import { ${controllerName} } from \"${controllerImport}\";`;\n\n if (\n [\"email\", \"auth\", \"fileUpload\"].includes(camelName) ||\n !models.includes(modelName.kebab)\n )\n return `class ${modelName.pascal}Controller {}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller(${controllerType === \"base\" ? `\"${modelName.kebab}\"` : \"\"});\n\nexport default ${modelName.camel}Controller;\n`;\n else\n return `${controllerClassImport}\n \nexport class ${modelName.pascal}Controller extends ${controllerName} {}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller(${controllerType === \"base\" ? `\"${modelName.kebab}\"` : \"\"});\n\nexport default ${modelName.camel}Controller;\n`;\n}\n"]}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = generateMultipleComponents;
7
+ const path_1 = __importDefault(require("path"));
7
8
  const change_case_helpers_1 = require("../../../../helpers/change-case.helpers.js");
8
9
  const exit_error_1 = __importDefault(require("../../../../helpers/exit-error.js"));
9
10
  const sheu_1 = __importDefault(require("../../../../sheu.js"));
@@ -30,12 +31,11 @@ const prismaOnlyComponents = new Set([
30
31
  "query-dto",
31
32
  ]);
32
33
  async function generateMultipleComponents(options) {
33
- const moduleInput = options.modules || options.module || options.model;
34
+ const moduleInput = options.module || options.model;
34
35
  if (!moduleInput)
35
36
  throw (0, exit_error_1.default)("Module name is required. Use -m or --module flag.");
36
- if (!options.modules && moduleInput?.includes(","))
37
- throw (0, exit_error_1.default)("Multiple modules are not supported with -m/--module. Use -ms/--modules instead.\n" +
38
- "Example: arkos g components -ms post,user,auth --names s,sc");
37
+ if (options.path && path_1.default.extname(options.path) !== "")
38
+ throw (0, exit_error_1.default)("--path or -p must be a directory when generating multiple components or modules.");
39
39
  const moduleNames = moduleInput
40
40
  .split(",")
41
41
  .map((m) => m.trim())
@@ -202,7 +202,8 @@ async function generateMultipleComponents(options) {
202
202
  });
203
203
  }
204
204
  if (isMultipleModules) {
205
- sheu_1.default.info(`\n→ ${readableName}`);
205
+ console.log("");
206
+ sheu_1.default.info(`Module ${readableName}`);
206
207
  }
207
208
  else {
208
209
  console.log("");
@@ -218,7 +219,7 @@ async function generateMultipleComponents(options) {
218
219
  ...options,
219
220
  module: moduleName,
220
221
  model: undefined,
221
- path: defaultPaths[componentName],
222
+ path: options.path || defaultPaths[componentName],
222
223
  shouldExit: false,
223
224
  shouldPrintError: false,
224
225
  isBulk: true,
@@ -1 +1 @@
1
- {"version":3,"file":"generate-multiple-components.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/generate-multiple-components.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n camelCase,\n kebabCase,\n pascalCase,\n} from \"../../../../helpers/change-case.helpers\";\nimport ExitError from \"../../../../helpers/exit-error\";\nimport sheu from \"../../../../sheu\";\nimport { generateCommand, GenerateOptions } from \"../../../generate\";\n\nexport type MultipleComponentsGenerateOptions = GenerateOptions & {\n all?: boolean;\n names?: string;\n};\n\nconst authOnlyComponents = new Set([\n \"login-schema\",\n \"signup-schema\",\n \"update-me-schema\",\n \"update-password-schema\",\n \"login-dto\",\n \"signup-dto\",\n \"update-me-dto\",\n \"update-password-dto\",\n]);\n\nconst prismaOnlyComponents = new Set([\n \"model\",\n \"schema\",\n \"create-schema\",\n \"update-schema\",\n \"query-schema\",\n \"dto\",\n \"create-dto\",\n \"update-dto\",\n \"query-dto\",\n]);\n\nexport default async function generateMultipleComponents(\n options: MultipleComponentsGenerateOptions\n) {\n const moduleInput = options.modules || options.module || options.model;\n\n if (!moduleInput)\n throw ExitError(\"Module name is required. Use -m or --module flag.\");\n\n if (!options.modules && moduleInput?.includes(\",\"))\n throw ExitError(\n \"Multiple modules are not supported with -m/--module. Use -ms/--modules instead.\\n\" +\n \"Example: arkos g components -ms post,user,auth --names s,sc\"\n );\n\n const moduleNames = moduleInput\n .split(\",\")\n .map((m: string) => m.trim())\n .filter(Boolean);\n\n const componentMap: Record<string, Function> = {\n s: generateCommand.service,\n service: generateCommand.service,\n c: generateCommand.controller,\n controller: generateCommand.controller,\n r: generateCommand.router,\n router: generateCommand.router,\n rh: generateCommand.routeHook,\n routeHook: generateCommand.routeHook,\n sh: generateCommand.serviceHook,\n serviceHook: generateCommand.serviceHook,\n sc: generateCommand.baseSchema,\n schema: generateCommand.baseSchema,\n cs: generateCommand.createSchema,\n \"create-schema\": generateCommand.createSchema,\n us: generateCommand.updateSchema,\n \"update-schema\": generateCommand.updateSchema,\n qs: generateCommand.querySchema,\n \"query-schema\": generateCommand.querySchema,\n d: generateCommand.baseDto,\n dto: generateCommand.baseDto,\n cd: generateCommand.createDto,\n \"create-dto\": generateCommand.createDto,\n ud: generateCommand.updateDto,\n \"update-dto\": generateCommand.updateDto,\n qd: generateCommand.queryDto,\n \"query-dto\": generateCommand.queryDto,\n m: generateCommand.prismaModel,\n model: generateCommand.prismaModel,\n p: generateCommand.policy,\n policy: generateCommand.policy,\n ls: generateCommand.loginSchema,\n \"login-schema\": generateCommand.loginSchema,\n ss: generateCommand.signupSchema,\n \"signup-schema\": generateCommand.signupSchema,\n ums: generateCommand.updateMeSchema,\n \"update-me-schema\": generateCommand.updateMeSchema,\n ups: generateCommand.updatePasswordSchema,\n \"update-password-schema\": generateCommand.updatePasswordSchema,\n ld: generateCommand.loginDto,\n \"login-dto\": generateCommand.loginDto,\n sd: generateCommand.signupDto,\n \"signup-dto\": generateCommand.signupDto,\n umd: generateCommand.updateMeDto,\n \"update-me-dto\": generateCommand.updateMeDto,\n upd: generateCommand.updatePasswordDto,\n \"update-password-dto\": generateCommand.updatePasswordDto,\n };\n\n const allComponents = [\n \"model\",\n \"schema\",\n \"create-schema\",\n \"update-schema\",\n \"query-schema\",\n \"dto\",\n \"create-dto\",\n \"update-dto\",\n \"query-dto\",\n \"query-options\",\n \"service\",\n \"controller\",\n \"router\",\n \"interceptors\",\n \"hooks\",\n \"auth-configs\",\n \"policy\",\n ];\n\n const allAuthComponents = [\n \"login-schema\",\n \"signup-schema\",\n \"update-me-schema\",\n \"update-password-schema\",\n \"login-dto\",\n \"signup-dto\",\n \"update-me-dto\",\n \"update-password-dto\",\n \"query-options\",\n \"interceptors\",\n \"hooks\",\n \"router\",\n \"policy\",\n ];\n\n const defaultPaths: Record<string, string> = {\n \"create-schema\": \"src/modules/{{module-name}}/schemas\",\n \"update-schema\": \"src/modules/{{module-name}}/schemas\",\n \"query-schema\": \"src/modules/{{module-name}}/schemas\",\n schema: \"src/modules/{{module-name}}/schemas\",\n \"create-dto\": \"src/modules/{{module-name}}/dtos\",\n \"update-dto\": \"src/modules/{{module-name}}/dtos\",\n \"query-dto\": \"src/modules/{{module-name}}/dtos\",\n dto: \"src/modules/{{module-name}}/dtos\",\n model: \"prisma/schema\",\n \"login-schema\": \"src/modules/auth/schemas\",\n \"signup-schema\": \"src/modules/auth/schemas\",\n \"update-me-schema\": \"src/modules/auth/schemas\",\n \"update-password-schema\": \"src/modules/auth/schemas\",\n \"login-dto\": \"src/modules/auth/dtos\",\n \"signup-dto\": \"src/modules/auth/dtos\",\n \"update-me-dto\": \"src/modules/auth/dtos\",\n \"update-password-dto\": \"src/modules/auth/dtos\",\n };\n\n // Resolve which components to generate from --names or --all\n // (done once, applied per module with filtering)\n let requestedComponents: string[] = [];\n\n if (options.all) {\n // will be resolved per module below\n } else if (options.names) {\n const requested = options.names\n .split(\",\")\n .map((c: string) => c.trim())\n .filter(Boolean);\n\n for (const comp of requested) {\n if (componentMap[comp]) {\n const fullName =\n Object.keys(componentMap).find(\n (k) => componentMap[k] === componentMap[comp] && k.length > 2\n ) || comp;\n if (!requestedComponents.includes(fullName)) {\n requestedComponents.push(fullName);\n }\n } else {\n sheu.warn(`Unknown component: \"${comp}\" - skipping`);\n }\n }\n\n if (requestedComponents.length === 0)\n throw new Error(\"No valid components specified.\");\n } else {\n throw new Error(\n \"Please specify either --all or --names flag.\\n\" +\n \"Examples:\\n\" +\n \" arkos g components -m user --all\\n\" +\n \" arkos g components -m user,post,auth --names s,sc,m\"\n );\n }\n\n const isMultipleModules = moduleNames.length > 1;\n let totalSuccess = 0;\n let totalFail = 0;\n\n if (isMultipleModules) {\n console.log(\"\");\n sheu.info(`Generating components for modules: ${moduleNames.join(\", \")}\\n`);\n }\n\n for (const moduleName of moduleNames) {\n const isAuth = kebabCase(moduleName) === \"auth\";\n const names = {\n pascal: pascalCase(moduleName),\n camel: camelCase(moduleName),\n kebab: kebabCase(moduleName),\n };\n const readableName = names.kebab.replaceAll(\"-\", \" \");\n\n // Resolve components for this specific module\n let componentsToGenerate: string[];\n\n if (options.all) {\n componentsToGenerate = isAuth ? allAuthComponents : allComponents;\n } else {\n // Filter requested components — skip auth-only for non-auth, skip prisma-only for auth\n componentsToGenerate = requestedComponents.filter((comp) => {\n if (authOnlyComponents.has(comp) && !isAuth) {\n sheu.warn(\n `Skipping \"${comp}\" for module \"${moduleName}\" — only valid for auth`\n );\n return false;\n }\n if (prismaOnlyComponents.has(comp) && isAuth) {\n sheu.warn(\n `Skipping \"${comp}\" for module \"${moduleName}\" — not valid for auth`\n );\n return false;\n }\n return true;\n });\n }\n\n if (isMultipleModules) {\n sheu.info(`\\n→ ${readableName}`);\n } else {\n console.log(\"\");\n sheu.info(`Generating components for ${readableName}`);\n if (!options.all)\n sheu.info(`Components: ${componentsToGenerate.join(\", \")}\\n`);\n }\n\n let successCount = 0;\n let failCount = 0;\n\n for (const componentName of componentsToGenerate) {\n try {\n await componentMap[componentName]({\n ...options,\n module: moduleName,\n model: undefined,\n path: defaultPaths[componentName],\n shouldExit: false,\n shouldPrintError: false,\n isBulk: true,\n });\n successCount++;\n } catch (error: any) {\n sheu.error(\n `Failed to generate ${componentName} for ${readableName}: ${error?.message}`\n );\n failCount++;\n }\n }\n\n totalSuccess += successCount;\n totalFail += failCount;\n }\n\n console.info(\"\");\n sheu.done(\n `Components generation complete for: ${moduleNames.map((m) => m.replaceAll(\"-\", \" \")).join(\", \")}`\n );\n\n if (totalFail > 0) process.exit(1);\n}\n"]}
1
+ {"version":3,"file":"generate-multiple-components.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/generate-multiple-components.ts"],"names":[],"mappings":"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","sourcesContent":["import path from \"path\";\nimport {\n camelCase,\n kebabCase,\n pascalCase,\n} from \"../../../../helpers/change-case.helpers\";\nimport ExitError from \"../../../../helpers/exit-error\";\nimport sheu from \"../../../../sheu\";\nimport { generateCommand, GenerateOptions } from \"../../../generate\";\n\nexport type MultipleComponentsGenerateOptions = GenerateOptions & {\n all?: boolean;\n names?: string;\n};\n\nconst authOnlyComponents = new Set([\n \"login-schema\",\n \"signup-schema\",\n \"update-me-schema\",\n \"update-password-schema\",\n \"login-dto\",\n \"signup-dto\",\n \"update-me-dto\",\n \"update-password-dto\",\n]);\n\nconst prismaOnlyComponents = new Set([\n \"model\",\n \"schema\",\n \"create-schema\",\n \"update-schema\",\n \"query-schema\",\n \"dto\",\n \"create-dto\",\n \"update-dto\",\n \"query-dto\",\n]);\n\nexport default async function generateMultipleComponents(\n options: MultipleComponentsGenerateOptions\n) {\n const moduleInput = options.module || options.model;\n\n if (!moduleInput)\n throw ExitError(\"Module name is required. Use -m or --module flag.\");\n\n if (options.path && path.extname(options.path) !== \"\")\n throw ExitError(\n \"--path or -p must be a directory when generating multiple components or modules.\"\n );\n\n const moduleNames = moduleInput\n .split(\",\")\n .map((m: string) => m.trim())\n .filter(Boolean);\n\n const componentMap: Record<string, Function> = {\n s: generateCommand.service,\n service: generateCommand.service,\n c: generateCommand.controller,\n controller: generateCommand.controller,\n r: generateCommand.router,\n router: generateCommand.router,\n rh: generateCommand.routeHook,\n routeHook: generateCommand.routeHook,\n sh: generateCommand.serviceHook,\n serviceHook: generateCommand.serviceHook,\n sc: generateCommand.baseSchema,\n schema: generateCommand.baseSchema,\n cs: generateCommand.createSchema,\n \"create-schema\": generateCommand.createSchema,\n us: generateCommand.updateSchema,\n \"update-schema\": generateCommand.updateSchema,\n qs: generateCommand.querySchema,\n \"query-schema\": generateCommand.querySchema,\n d: generateCommand.baseDto,\n dto: generateCommand.baseDto,\n cd: generateCommand.createDto,\n \"create-dto\": generateCommand.createDto,\n ud: generateCommand.updateDto,\n \"update-dto\": generateCommand.updateDto,\n qd: generateCommand.queryDto,\n \"query-dto\": generateCommand.queryDto,\n m: generateCommand.prismaModel,\n model: generateCommand.prismaModel,\n p: generateCommand.policy,\n policy: generateCommand.policy,\n ls: generateCommand.loginSchema,\n \"login-schema\": generateCommand.loginSchema,\n ss: generateCommand.signupSchema,\n \"signup-schema\": generateCommand.signupSchema,\n ums: generateCommand.updateMeSchema,\n \"update-me-schema\": generateCommand.updateMeSchema,\n ups: generateCommand.updatePasswordSchema,\n \"update-password-schema\": generateCommand.updatePasswordSchema,\n ld: generateCommand.loginDto,\n \"login-dto\": generateCommand.loginDto,\n sd: generateCommand.signupDto,\n \"signup-dto\": generateCommand.signupDto,\n umd: generateCommand.updateMeDto,\n \"update-me-dto\": generateCommand.updateMeDto,\n upd: generateCommand.updatePasswordDto,\n \"update-password-dto\": generateCommand.updatePasswordDto,\n };\n\n const allComponents = [\n \"model\",\n \"schema\",\n \"create-schema\",\n \"update-schema\",\n \"query-schema\",\n \"dto\",\n \"create-dto\",\n \"update-dto\",\n \"query-dto\",\n \"query-options\",\n \"service\",\n \"controller\",\n \"router\",\n \"interceptors\",\n \"hooks\",\n \"auth-configs\",\n \"policy\",\n ];\n\n const allAuthComponents = [\n \"login-schema\",\n \"signup-schema\",\n \"update-me-schema\",\n \"update-password-schema\",\n \"login-dto\",\n \"signup-dto\",\n \"update-me-dto\",\n \"update-password-dto\",\n \"query-options\",\n \"interceptors\",\n \"hooks\",\n \"router\",\n \"policy\",\n ];\n\n const defaultPaths: Record<string, string> = {\n \"create-schema\": \"src/modules/{{module-name}}/schemas\",\n \"update-schema\": \"src/modules/{{module-name}}/schemas\",\n \"query-schema\": \"src/modules/{{module-name}}/schemas\",\n schema: \"src/modules/{{module-name}}/schemas\",\n \"create-dto\": \"src/modules/{{module-name}}/dtos\",\n \"update-dto\": \"src/modules/{{module-name}}/dtos\",\n \"query-dto\": \"src/modules/{{module-name}}/dtos\",\n dto: \"src/modules/{{module-name}}/dtos\",\n model: \"prisma/schema\",\n \"login-schema\": \"src/modules/auth/schemas\",\n \"signup-schema\": \"src/modules/auth/schemas\",\n \"update-me-schema\": \"src/modules/auth/schemas\",\n \"update-password-schema\": \"src/modules/auth/schemas\",\n \"login-dto\": \"src/modules/auth/dtos\",\n \"signup-dto\": \"src/modules/auth/dtos\",\n \"update-me-dto\": \"src/modules/auth/dtos\",\n \"update-password-dto\": \"src/modules/auth/dtos\",\n };\n\n // Resolve which components to generate from --names or --all\n // (done once, applied per module with filtering)\n let requestedComponents: string[] = [];\n\n if (options.all) {\n // will be resolved per module below\n } else if (options.names) {\n const requested = options.names\n .split(\",\")\n .map((c: string) => c.trim())\n .filter(Boolean);\n\n for (const comp of requested) {\n if (componentMap[comp]) {\n const fullName =\n Object.keys(componentMap).find(\n (k) => componentMap[k] === componentMap[comp] && k.length > 2\n ) || comp;\n if (!requestedComponents.includes(fullName)) {\n requestedComponents.push(fullName);\n }\n } else {\n sheu.warn(`Unknown component: \"${comp}\" - skipping`);\n }\n }\n\n if (requestedComponents.length === 0)\n throw new Error(\"No valid components specified.\");\n } else {\n throw new Error(\n \"Please specify either --all or --names flag.\\n\" +\n \"Examples:\\n\" +\n \" arkos g components -m user --all\\n\" +\n \" arkos g components -m user,post,auth --names s,sc,m\"\n );\n }\n\n const isMultipleModules = moduleNames.length > 1;\n let totalSuccess = 0;\n let totalFail = 0;\n\n if (isMultipleModules) {\n console.log(\"\");\n sheu.info(`Generating components for modules: ${moduleNames.join(\", \")}\\n`);\n }\n\n for (const moduleName of moduleNames) {\n const isAuth = kebabCase(moduleName) === \"auth\";\n const names = {\n pascal: pascalCase(moduleName),\n camel: camelCase(moduleName),\n kebab: kebabCase(moduleName),\n };\n const readableName = names.kebab.replaceAll(\"-\", \" \");\n\n // Resolve components for this specific module\n let componentsToGenerate: string[];\n\n if (options.all) {\n componentsToGenerate = isAuth ? allAuthComponents : allComponents;\n } else {\n // Filter requested components — skip auth-only for non-auth, skip prisma-only for auth\n componentsToGenerate = requestedComponents.filter((comp) => {\n if (authOnlyComponents.has(comp) && !isAuth) {\n sheu.warn(\n `Skipping \"${comp}\" for module \"${moduleName}\" — only valid for auth`\n );\n return false;\n }\n if (prismaOnlyComponents.has(comp) && isAuth) {\n sheu.warn(\n `Skipping \"${comp}\" for module \"${moduleName}\" — not valid for auth`\n );\n return false;\n }\n return true;\n });\n }\n\n if (isMultipleModules) {\n console.log(\"\");\n sheu.info(`Module ${readableName}`);\n } else {\n console.log(\"\");\n sheu.info(`Generating components for ${readableName}`);\n if (!options.all)\n sheu.info(`Components: ${componentsToGenerate.join(\", \")}\\n`);\n }\n\n let successCount = 0;\n let failCount = 0;\n\n for (const componentName of componentsToGenerate) {\n try {\n await componentMap[componentName]({\n ...options,\n module: moduleName,\n model: undefined,\n path: options.path || defaultPaths[componentName],\n shouldExit: false,\n shouldPrintError: false,\n isBulk: true,\n });\n successCount++;\n } catch (error: any) {\n sheu.error(\n `Failed to generate ${componentName} for ${readableName}: ${error?.message}`\n );\n failCount++;\n }\n }\n\n totalSuccess += successCount;\n totalFail += failCount;\n }\n\n console.info(\"\");\n sheu.done(\n `Components generation complete for: ${moduleNames.map((m) => m.replaceAll(\"-\", \" \")).join(\", \")}`\n );\n\n if (totalFail > 0) process.exit(1);\n}\n"]}
@@ -25,19 +25,19 @@ function generatePolicyTemplate(options) {
25
25
  const crudRules = isPrismaModel
26
26
  ? `
27
27
  .rule("Create", {
28
- ${arkosConfig?.authentication?.mode === "static" ? "roles: []\n" : ""}name: "Create ${modelNameCapitalized}",
28
+ ${arkosConfig?.authentication?.mode === "static" ? "roles: [],\n" : ""}name: "Create ${modelNameCapitalized}",
29
29
  description: "Permission to create new ${modelNameSpaced} records",
30
30
  })
31
31
  .rule("View", {
32
- ${arkosConfig?.authentication?.mode === "static" ? "roles: []\n" : ""}name: "View ${modelNameCapitalized}",
32
+ ${arkosConfig?.authentication?.mode === "static" ? "roles: [],\n" : ""}name: "View ${modelNameCapitalized}",
33
33
  description: "Permission to view ${modelNameSpaced} records",
34
34
  })
35
35
  .rule("Update", {
36
- ${arkosConfig?.authentication?.mode === "static" ? "roles: []\n" : ""}name: "Update ${modelNameCapitalized}",
36
+ ${arkosConfig?.authentication?.mode === "static" ? "roles: [],\n" : ""}name: "Update ${modelNameCapitalized}",
37
37
  description: "Permission to update existing ${modelNameSpaced} records",
38
38
  })
39
39
  .rule("Delete", {
40
- ${arkosConfig?.authentication?.mode === "static" ? "roles: []\n" : ""}name: "Delete ${modelNameCapitalized}",
40
+ ${arkosConfig?.authentication?.mode === "static" ? "roles: [],\n" : ""}name: "Delete ${modelNameCapitalized}",
41
41
  description: "Permission to delete ${modelNameSpaced} records",
42
42
  })`
43
43
  : "";
@@ -1 +1 @@
1
- {"version":3,"file":"policy-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/policy-template.ts"],"names":[],"mappings":";;;;;AAKA,wDA+CC;AApDD,mFAA0E;AAC1E,iFAAoE;AACpE,mGAAyE;AAGzE,SAAgB,sBAAsB,CAAC,OAAwB;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAA,qCAAc,GAAE,CAAC;IAErC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAEjE,MAAM,oBAAoB,GAAG,SAAS,CAAC,KAAK;SACzC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,8BAAkB;SAC9B,yBAAyB,EAAE;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+BAAS,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC;;MAEA,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,oBAAoB;6CACjE,eAAe;;;MAGtD,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,oBAAoB;uCACrE,eAAe;;;MAGhD,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,oBAAoB;kDAC5D,eAAe;;;MAG3D,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,oBAAoB;yCACrE,eAAe;KACnD;QACD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;QAED,SAAS,CAAC,KAAK,yBAAyB,SAAS,CAAC,KAAK,KAAK,SAAS;;iBAE5D,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getArkosConfig } from \"../../../../helpers/arkos-config.helpers\";\nimport { kebabCase } from \"../../../../helpers/change-case.helpers\";\nimport prismaSchemaParser from \"../../../../prisma/prisma-schema-parser\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generatePolicyTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const arkosConfig = getArkosConfig();\n\n if (!modelName)\n throw new Error(\"Module name is required for policy template\");\n\n const modelNameCapitalized = modelName.kebab\n .replaceAll(\"-\", \" \")\n .split(\" \")\n .map((w) => w.charAt(0).toUpperCase() + w.slice(1))\n .join(\" \");\n\n const modelNameSpaced = modelName.kebab.replaceAll(\"-\", \" \");\n\n const models = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .map((m) => kebabCase(m.toLowerCase()));\n\n const isPrismaModel = models.includes(modelName.kebab.toLowerCase());\n\n const crudRules = isPrismaModel\n ? `\n .rule(\"Create\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: []\\n\" : \"\"}name: \"Create ${modelNameCapitalized}\",\n description: \"Permission to create new ${modelNameSpaced} records\",\n })\n .rule(\"View\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: []\\n\" : \"\"}name: \"View ${modelNameCapitalized}\",\n description: \"Permission to view ${modelNameSpaced} records\",\n })\n .rule(\"Update\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: []\\n\" : \"\"}name: \"Update ${modelNameCapitalized}\",\n description: \"Permission to update existing ${modelNameSpaced} records\",\n })\n .rule(\"Delete\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: []\\n\" : \"\"}name: \"Delete ${modelNameCapitalized}\",\n description: \"Permission to delete ${modelNameSpaced} records\",\n })`\n : \"\";\n\n return `import { ArkosPolicy } from \"arkos\";\n\nconst ${modelName.camel}Policy = ArkosPolicy(\"${modelName.kebab}\")${crudRules};\n\nexport default ${modelName.camel}Policy;\n`;\n}\n"]}
1
+ {"version":3,"file":"policy-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/policy-template.ts"],"names":[],"mappings":";;;;;AAKA,wDA+CC;AApDD,mFAA0E;AAC1E,iFAAoE;AACpE,mGAAyE;AAGzE,SAAgB,sBAAsB,CAAC,OAAwB;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAA,qCAAc,GAAE,CAAC;IAErC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAEjE,MAAM,oBAAoB,GAAG,SAAS,CAAC,KAAK;SACzC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,8BAAkB;SAC9B,yBAAyB,EAAE;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+BAAS,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC;;MAEA,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,oBAAoB;6CAClE,eAAe;;;MAGtD,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,oBAAoB;uCACtE,eAAe;;;MAGhD,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,oBAAoB;kDAC7D,eAAe;;;MAG3D,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,oBAAoB;yCACtE,eAAe;KACnD;QACD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;QAED,SAAS,CAAC,KAAK,yBAAyB,SAAS,CAAC,KAAK,KAAK,SAAS;;iBAE5D,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getArkosConfig } from \"../../../../helpers/arkos-config.helpers\";\nimport { kebabCase } from \"../../../../helpers/change-case.helpers\";\nimport prismaSchemaParser from \"../../../../prisma/prisma-schema-parser\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generatePolicyTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const arkosConfig = getArkosConfig();\n\n if (!modelName)\n throw new Error(\"Module name is required for policy template\");\n\n const modelNameCapitalized = modelName.kebab\n .replaceAll(\"-\", \" \")\n .split(\" \")\n .map((w) => w.charAt(0).toUpperCase() + w.slice(1))\n .join(\" \");\n\n const modelNameSpaced = modelName.kebab.replaceAll(\"-\", \" \");\n\n const models = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .map((m) => kebabCase(m.toLowerCase()));\n\n const isPrismaModel = models.includes(modelName.kebab.toLowerCase());\n\n const crudRules = isPrismaModel\n ? `\n .rule(\"Create\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: [],\\n\" : \"\"}name: \"Create ${modelNameCapitalized}\",\n description: \"Permission to create new ${modelNameSpaced} records\",\n })\n .rule(\"View\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: [],\\n\" : \"\"}name: \"View ${modelNameCapitalized}\",\n description: \"Permission to view ${modelNameSpaced} records\",\n })\n .rule(\"Update\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: [],\\n\" : \"\"}name: \"Update ${modelNameCapitalized}\",\n description: \"Permission to update existing ${modelNameSpaced} records\",\n })\n .rule(\"Delete\", {\n ${arkosConfig?.authentication?.mode === \"static\" ? \"roles: [],\\n\" : \"\"}name: \"Delete ${modelNameCapitalized}\",\n description: \"Permission to delete ${modelNameSpaced} records\",\n })`\n : \"\";\n\n return `import { ArkosPolicy } from \"arkos\";\n\nconst ${modelName.camel}Policy = ArkosPolicy(\"${modelName.kebab}\")${crudRules};\n\nexport default ${modelName.camel}Policy;\n`;\n}\n"]}
@@ -11,8 +11,6 @@ const class_validator_dto_generator_1 = __importDefault(require("./template-gene
11
11
  const zod_schema_generator_1 = __importDefault(require("./template-generator/templates/zod-schema-generator.js"));
12
12
  const prisma_schema_parser_1 = __importDefault(require("../../prisma/prisma-schema-parser.js"));
13
13
  const policy_template_1 = require("./template-generator/templates/policy-template.js");
14
- const route_hook_template_1 = require("./template-generator/templates/route-hook.template.js");
15
- const service_hook_template_1 = require("./template-generator/templates/service-hook.template.js");
16
14
  function generateTemplate(type, options) {
17
15
  switch (type) {
18
16
  case "controller":
@@ -23,10 +21,6 @@ function generateTemplate(type, options) {
23
21
  return (0, router_template_1.generateRouterTemplate)(options);
24
22
  case "policy":
25
23
  return (0, policy_template_1.generatePolicyTemplate)(options);
26
- case "route-hook":
27
- return (0, route_hook_template_1.generateRouteHookTemplate)(options);
28
- case "service-hook":
29
- return (0, service_hook_template_1.generateServiceHookTemplate)(options);
30
24
  case "create-schema":
31
25
  return zod_schema_generator_1.default.generateCreateSchema(options);
32
26
  case "update-schema":