arkos 1.3.1-beta → 1.3.2-beta

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 (256) hide show
  1. package/dist/cjs/app.js +139 -1
  2. package/dist/cjs/exports/auth/index.js +6 -1
  3. package/dist/cjs/exports/controllers/index.js +11 -1
  4. package/dist/cjs/exports/error-handler/index.js +11 -1
  5. package/dist/cjs/exports/index.js +12 -1
  6. package/dist/cjs/exports/middlewares/index.js +7 -1
  7. package/dist/cjs/exports/prisma/index.js +13 -1
  8. package/dist/cjs/exports/services/index.js +48 -1
  9. package/dist/cjs/exports/utils/index.js +44 -1
  10. package/dist/cjs/exports/validation/index.js +11 -1
  11. package/dist/cjs/modules/auth/auth.controller.js +229 -1
  12. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  13. package/dist/cjs/modules/auth/auth.router.js +82 -1
  14. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  15. package/dist/cjs/modules/auth/auth.service.js +226 -1
  16. package/dist/cjs/modules/auth/utils/auth-error-objects.js +10 -1
  17. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +83 -1
  18. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +92 -1
  19. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
  20. package/dist/cjs/modules/base/base.controller.js +172 -1
  21. package/dist/cjs/modules/base/base.middlewares.js +92 -1
  22. package/dist/cjs/modules/base/base.router.js +22 -1
  23. package/dist/cjs/modules/base/base.service.js +507 -1
  24. package/dist/cjs/modules/base/base.service.js.map +1 -1
  25. package/dist/cjs/modules/base/types/base.service.types.js +3 -1
  26. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -1
  27. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +80 -1
  28. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +50 -1
  29. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +104 -1
  30. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +208 -1
  31. package/dist/cjs/modules/base/utils/router-validator.js +16 -1
  32. package/dist/cjs/modules/base/utils/service-hooks-manager.js +19 -1
  33. package/dist/cjs/modules/email/email.service.js +104 -1
  34. package/dist/cjs/modules/error-handler/error-handler.controller.js +146 -4
  35. package/dist/cjs/modules/error-handler/utils/app-error.js +17 -1
  36. package/dist/cjs/modules/error-handler/utils/catch-async.js +21 -1
  37. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +205 -3
  38. package/dist/cjs/modules/file-upload/file-upload.controller.js +233 -1
  39. package/dist/cjs/modules/file-upload/file-upload.router.js +60 -1
  40. package/dist/cjs/modules/file-upload/file-upload.service.js +322 -1
  41. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +97 -1
  42. package/dist/cjs/modules/swagger/swagger.router.js +38 -1
  43. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +338 -1
  44. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +64 -1
  45. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +37 -1
  46. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +48 -1
  47. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +32 -1
  48. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +49 -1
  49. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +34 -1
  50. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +471 -1
  51. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +572 -1
  52. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +260 -1
  53. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +112 -1
  54. package/dist/cjs/paths.js +9 -1
  55. package/dist/cjs/server.js +94 -5
  56. package/dist/cjs/types/arkos-config.js +3 -1
  57. package/dist/cjs/types/arkos-config.js.map +1 -1
  58. package/dist/cjs/types/auth.js +3 -1
  59. package/dist/cjs/types/index.js +11 -1
  60. package/dist/cjs/types/router-config.js +3 -1
  61. package/dist/cjs/utils/arkos-env.js +9 -1
  62. package/dist/cjs/utils/cli/build.js +214 -5
  63. package/dist/cjs/utils/cli/dev.js +154 -3
  64. package/dist/cjs/utils/cli/generate.js +109 -1
  65. package/dist/cjs/utils/cli/index.js +104 -1
  66. package/dist/cjs/utils/cli/index.js.map +1 -1
  67. package/dist/cjs/utils/cli/prisma-generate.js +120 -0
  68. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -0
  69. package/dist/cjs/utils/cli/start.js +103 -1
  70. package/dist/cjs/utils/cli/utils/cli.helpers.js +24 -1
  71. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +73 -1
  72. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +36 -0
  73. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
  74. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js +21 -0
  75. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
  76. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +201 -0
  77. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
  78. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +288 -0
  79. package/dist/cjs/utils/cli/utils/template-generator/templates/{generate-middlewares.js.map → middlewares-template.js.map} +1 -1
  80. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +64 -0
  81. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
  82. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +45 -0
  83. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
  84. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +29 -0
  85. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
  86. package/dist/cjs/utils/cli/utils/template-generators.js +34 -2
  87. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  88. package/dist/cjs/utils/cli/utils/watermark-stamper.js +17 -3
  89. package/dist/cjs/utils/dotenv.helpers.js +43 -1
  90. package/dist/cjs/utils/dynamic-loader.js +270 -9
  91. package/dist/cjs/utils/features/api.features.js +169 -1
  92. package/dist/cjs/utils/features/change-case.features.js +67 -1
  93. package/dist/cjs/utils/features/port-and-host-allocator.js +105 -1
  94. package/dist/cjs/utils/helpers/api.features.helpers.js +112 -1
  95. package/dist/cjs/utils/helpers/change-case.helpers.js +177 -1
  96. package/dist/cjs/utils/helpers/deepmerge.helper.js +115 -1
  97. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +76 -1
  98. package/dist/cjs/utils/helpers/fs.helpers.js +57 -1
  99. package/dist/cjs/utils/helpers/global.helpers.js +94 -1
  100. package/dist/cjs/utils/helpers/prisma.helpers.js +40 -1
  101. package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -1
  102. package/dist/cjs/utils/helpers/routers.helpers.js +37 -1
  103. package/dist/cjs/utils/helpers/text.helpers.js +28 -1
  104. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +455 -1
  105. package/dist/cjs/utils/prisma/prisma-schema-parser.js +216 -4
  106. package/dist/cjs/utils/prisma/types.js +3 -1
  107. package/dist/cjs/utils/sheu.js +120 -1
  108. package/dist/cjs/utils/validate-dto.js +17 -1
  109. package/dist/cjs/utils/validate-schema.js +15 -1
  110. package/dist/esm/app.js +132 -1
  111. package/dist/esm/exports/auth/index.js +2 -1
  112. package/dist/esm/exports/controllers/index.js +4 -1
  113. package/dist/esm/exports/error-handler/index.js +4 -1
  114. package/dist/esm/exports/index.js +8 -1
  115. package/dist/esm/exports/middlewares/index.js +2 -1
  116. package/dist/esm/exports/prisma/index.js +6 -1
  117. package/dist/esm/exports/services/index.js +9 -1
  118. package/dist/esm/exports/utils/index.js +4 -1
  119. package/dist/esm/exports/validation/index.js +4 -1
  120. package/dist/esm/modules/auth/auth.controller.js +222 -1
  121. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  122. package/dist/esm/modules/auth/auth.router.js +76 -1
  123. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  124. package/dist/esm/modules/auth/auth.service.js +219 -1
  125. package/dist/esm/modules/auth/utils/auth-error-objects.js +4 -1
  126. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +73 -1
  127. package/dist/esm/modules/auth/utils/services/auth-action.service.js +90 -1
  128. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  129. package/dist/esm/modules/base/base.controller.js +165 -1
  130. package/dist/esm/modules/base/base.middlewares.js +81 -1
  131. package/dist/esm/modules/base/base.router.js +15 -1
  132. package/dist/esm/modules/base/base.service.js +500 -1
  133. package/dist/esm/modules/base/base.service.js.map +1 -1
  134. package/dist/esm/modules/base/types/base.service.types.js +2 -1
  135. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  136. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +76 -1
  137. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +44 -1
  138. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +96 -1
  139. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +198 -1
  140. package/dist/esm/modules/base/utils/router-validator.js +14 -1
  141. package/dist/esm/modules/base/utils/service-hooks-manager.js +17 -1
  142. package/dist/esm/modules/email/email.service.js +97 -1
  143. package/dist/esm/modules/error-handler/error-handler.controller.js +107 -4
  144. package/dist/esm/modules/error-handler/utils/app-error.js +15 -1
  145. package/dist/esm/modules/error-handler/utils/catch-async.js +19 -1
  146. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +163 -3
  147. package/dist/esm/modules/file-upload/file-upload.controller.js +228 -1
  148. package/dist/esm/modules/file-upload/file-upload.router.js +54 -1
  149. package/dist/esm/modules/file-upload/file-upload.service.js +314 -1
  150. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +87 -1
  151. package/dist/esm/modules/swagger/swagger.router.js +32 -1
  152. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +333 -1
  153. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +58 -1
  154. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +34 -1
  155. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +42 -1
  156. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +26 -1
  157. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +46 -1
  158. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +28 -1
  159. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +465 -1
  160. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +566 -1
  161. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +255 -1
  162. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +101 -1
  163. package/dist/esm/paths.js +3 -1
  164. package/dist/esm/server.js +85 -5
  165. package/dist/esm/types/arkos-config.js +2 -1
  166. package/dist/esm/types/arkos-config.js.map +1 -1
  167. package/dist/esm/types/auth.js +2 -1
  168. package/dist/esm/types/index.js +8 -1
  169. package/dist/esm/types/router-config.js +2 -1
  170. package/dist/esm/utils/arkos-env.js +7 -1
  171. package/dist/esm/utils/cli/build.js +208 -5
  172. package/dist/esm/utils/cli/dev.js +147 -3
  173. package/dist/esm/utils/cli/generate.js +103 -1
  174. package/dist/esm/utils/cli/index.js +94 -1
  175. package/dist/esm/utils/cli/index.js.map +1 -1
  176. package/dist/esm/utils/cli/prisma-generate.js +114 -0
  177. package/dist/esm/utils/cli/prisma-generate.js.map +1 -0
  178. package/dist/esm/utils/cli/start.js +96 -1
  179. package/dist/esm/utils/cli/utils/cli.helpers.js +16 -1
  180. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +68 -1
  181. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +33 -0
  182. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
  183. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js +18 -0
  184. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
  185. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +198 -0
  186. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
  187. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +285 -0
  188. package/dist/esm/utils/cli/utils/template-generator/templates/{generate-middlewares.js.map → middlewares-template.js.map} +1 -1
  189. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +61 -0
  190. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
  191. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +39 -0
  192. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
  193. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +26 -0
  194. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
  195. package/dist/esm/utils/cli/utils/template-generators.js +28 -2
  196. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  197. package/dist/esm/utils/cli/utils/watermark-stamper.js +15 -3
  198. package/dist/esm/utils/dotenv.helpers.js +37 -1
  199. package/dist/esm/utils/dynamic-loader.js +254 -9
  200. package/dist/esm/utils/features/api.features.js +162 -1
  201. package/dist/esm/utils/features/change-case.features.js +31 -1
  202. package/dist/esm/utils/features/port-and-host-allocator.js +67 -1
  203. package/dist/esm/utils/helpers/api.features.helpers.js +106 -1
  204. package/dist/esm/utils/helpers/change-case.helpers.js +161 -1
  205. package/dist/esm/utils/helpers/deepmerge.helper.js +113 -1
  206. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +69 -1
  207. package/dist/esm/utils/helpers/fs.helpers.js +48 -1
  208. package/dist/esm/utils/helpers/global.helpers.js +51 -1
  209. package/dist/esm/utils/helpers/prisma.helpers.js +32 -1
  210. package/dist/esm/utils/helpers/query-parser.helpers.js +40 -1
  211. package/dist/esm/utils/helpers/routers.helpers.js +29 -1
  212. package/dist/esm/utils/helpers/text.helpers.js +22 -1
  213. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +448 -1
  214. package/dist/esm/utils/prisma/prisma-schema-parser.js +209 -4
  215. package/dist/esm/utils/prisma/types.js +2 -1
  216. package/dist/esm/utils/sheu.js +118 -1
  217. package/dist/esm/utils/validate-dto.js +11 -1
  218. package/dist/esm/utils/validate-schema.js +9 -1
  219. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -1
  220. package/dist/types/modules/base/types/base.service.types.d.ts +12 -9
  221. package/dist/types/types/arkos-config.d.ts +3 -2
  222. package/dist/types/utils/cli/prisma-generate.d.ts +1 -0
  223. package/package.json +2 -2
  224. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
  225. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  226. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
  227. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  228. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
  229. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
  230. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
  231. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
  232. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  233. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
  234. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  235. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
  236. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  237. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
  238. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  239. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
  240. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  241. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
  242. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
  243. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
  244. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
  245. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  246. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
  247. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  248. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
  249. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  250. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-auth-configs-template.d.ts → auth-configs-template.d.ts} +0 -0
  251. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-controller-template.d.ts → controller-template.d.ts} +0 -0
  252. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-hooks-template.d.ts → hooks-template.d.ts} +0 -0
  253. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-middlewares.d.ts → middlewares-template.d.ts} +0 -0
  254. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-prisma-query-options.d.ts → query-options-template.d.ts} +0 -0
  255. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-router-template.d.ts → router-template.d.ts} +0 -0
  256. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-service-template.d.ts → service-template.d.ts} +0 -0
@@ -1 +1,8 @@
1
- "use strict";export var AuthPermissionAction;(function(e){e.Create="Create",e.View="View",e.Update="Update",e.Delete="Delete"})(AuthPermissionAction||(AuthPermissionAction={}));
1
+ export var AuthPermissionAction;
2
+ (function (AuthPermissionAction) {
3
+ AuthPermissionAction["Create"] = "Create";
4
+ AuthPermissionAction["View"] = "View";
5
+ AuthPermissionAction["Update"] = "Update";
6
+ AuthPermissionAction["Delete"] = "Delete";
7
+ })(AuthPermissionAction || (AuthPermissionAction = {}));
8
+ //# sourceMappingURL=index.js.map
@@ -1 +1,2 @@
1
- "use strict";export{};
1
+ export {};
2
+ //# sourceMappingURL=router-config.js.map
@@ -1 +1,7 @@
1
- "use strict";const f={JWT_SECRET:"13a9279eedb286f756212511267152e9585055809ec0606ea9f7eb98a87660c1616fbd39c44d4238a82f29df90b529e24bfdf72a480d1149d79c991c863a22b5ae0fb3ae6f5323bfd6664faef99792637477c38da488e7aa0d39b83ba99aba8e8a20efde7fd5c7ba21a6c938e17a9f99f73226dc61e89cd63f159257841194323f100d1a49b88ce4fdcdf2b066a5f32f88ee12f6487b55b4b5687d7c0caffdd8524e2adc4b941cf52e948f5b330f527eb1354341c876eed12dfa92cef3c341d030d05e6beb1e0a7f6d3e08e7b1aac045130457fd3a53ee469fecdd20fdd2c7a6a72b07cbcb1157c5b1cc581e6767bea32be8e125016a48951e85c7bdb961d9c9fab28444499ce063664fe0bd1a05d60294323bdd69af6d6ff1a2533dac8d4a869f76dbc746ee12f144e0af41029f620471817843140c23d036e731f3ebee21a70ff1549e97486fdf9cbef132ff2ced59fde9be35dd04b358c9a25ec4fd9cc0e36dae651e626d8c13b0c6d2a21f237517a05059680173e71817597062c792ea9c66030ca0d8ed82987e29189947692a0be5fffac4c988ca33f14ce96349661ef850dbff6909c7797676c90a5e47655346f59759482ef8a3a948e97e30f889bd4571610fd19e8ea4818651d37f6529cf32f0fc805bc053e911f0fe96f52b4420d54bd1f40739a95f5853b036c86ab9a51bed57fa9bd48607b5302e88db00900adf",JWT_EXPIRES_IN:"30d",PRISMA_SCHEMA_PATH:"./prisma/schema"};export default f;
1
+ const arkosEnv = {
2
+ JWT_SECRET: "13a9279eedb286f756212511267152e9585055809ec0606ea9f7eb98a87660c1616fbd39c44d4238a82f29df90b529e24bfdf72a480d1149d79c991c863a22b5ae0fb3ae6f5323bfd6664faef99792637477c38da488e7aa0d39b83ba99aba8e8a20efde7fd5c7ba21a6c938e17a9f99f73226dc61e89cd63f159257841194323f100d1a49b88ce4fdcdf2b066a5f32f88ee12f6487b55b4b5687d7c0caffdd8524e2adc4b941cf52e948f5b330f527eb1354341c876eed12dfa92cef3c341d030d05e6beb1e0a7f6d3e08e7b1aac045130457fd3a53ee469fecdd20fdd2c7a6a72b07cbcb1157c5b1cc581e6767bea32be8e125016a48951e85c7bdb961d9c9fab28444499ce063664fe0bd1a05d60294323bdd69af6d6ff1a2533dac8d4a869f76dbc746ee12f144e0af41029f620471817843140c23d036e731f3ebee21a70ff1549e97486fdf9cbef132ff2ced59fde9be35dd04b358c9a25ec4fd9cc0e36dae651e626d8c13b0c6d2a21f237517a05059680173e71817597062c792ea9c66030ca0d8ed82987e29189947692a0be5fffac4c988ca33f14ce96349661ef850dbff6909c7797676c90a5e47655346f59759482ef8a3a948e97e30f889bd4571610fd19e8ea4818651d37f6529cf32f0fc805bc053e911f0fe96f52b4420d54bd1f40739a95f5853b036c86ab9a51bed57fa9bd48607b5302e88db00900adf",
3
+ JWT_EXPIRES_IN: "30d",
4
+ PRISMA_SCHEMA_PATH: `./prisma/schema`,
5
+ };
6
+ export default arkosEnv;
7
+ //# sourceMappingURL=arkos-env.js.map
@@ -1,5 +1,208 @@
1
- "use strict";import s from"path";import e from"fs";import{execSync as d}from"child_process";import{fullCleanCwd as b,getUserFileExtension as E}from"../helpers/fs.helpers.js";import{loadEnvironmentVariables as h}from"../dotenv.helpers.js";import{getVersion as k}from"./utils/cli.helpers.js";import{detectPackageManagerFromUserAgent as D}from"../helpers/global.helpers.js";import v from"../sheu.js";const l=".build",F=["cjs","esm"];export function buildCommand(n={}){const o=E();process.env.NODE_ENV="production",process.env.NODE_ENV="true";const r=h(),c=N(n.module);try{console.info(` \x1B[1m\x1B[36m Arkos.js ${k()}\x1B[0m`),console.info(` - Environments: ${b(r?.join(", ")||"").replaceAll(`${process.cwd()}/`,"").replaceAll("/","")}`),console.info(`
2
- Creating an optimized production build...`),$(),o==="ts"?C(n,c):J(n,c);const t=D();console.info(`
3
- \x1B[1m\x1B[32m Build complete!\x1B[0m
4
- `),console.info(" \x1B[1mNext step:\x1B[0m"),console.info(` Run it using \x1B[1m\x1B[36m${t} run start\x1B[0m
5
- `)}catch(t){console.info(""),v.error(`Build failed: ${t?.message}`),console.error(t),process.exit(1)}}function N(n){if(!n)return"cjs";const o=n.toLowerCase();return o==="cjs"||o==="commonjs"?"cjs":["esm","es","es2020","esnext","module"].includes(o)?"esm":(console.warn(`\u26A0\uFE0F Unrecognized module type "${n}", defaulting to "cjs"`),"cjs")}function $(){e.existsSync(l)||e.mkdirSync(l,{recursive:!0});for(const n of F){const o=s.join(l,n);e.existsSync(o)||e.mkdirSync(o,{recursive:!0})}}function C(n,o){const r=s.join(process.cwd(),n.config||"tsconfig.json");let c={};try{if(e.existsSync(r)){const f=e.readFileSync(r,"utf8");c=JSON.parse(f)}}catch(f){console.error("\u274C Error reading tsconfig.json:",f)}const t={...c,compilerOptions:{...c.compilerOptions||{},rootDir:".",outDir:s.join(`./${l}`)}},i=s.join(process.cwd(),"tsconfig.arkos-build.json");e.writeFileSync(i,JSON.stringify(t,null,2));try{d(`npx rimraf ${l} && npx tsc -p ${i}`,{stdio:"inherit",cwd:process.cwd()}),y(o,[".ts",".tsx"]),x(i)}catch(f){throw x(i),f}}function J(n,o){const r=s.join(l);try{o==="esm"?(d(`npx copyfiles -u 0 "src/**/*.js" "src/**/*.jsx" "src/**/*.mjs" ${r}`,{stdio:"inherit",cwd:process.cwd()}),console.info("Note: .cjs files are skipped in ESM build")):d(`npx copyfiles -u 0 "src/**/*.js" "src/**/*.jsx" "src/**/*.cjs" "src/**/*.mjs" ${r}`,{stdio:"inherit",cwd:process.cwd()}),y(o,[".js",".jsx",".mjs",".cjs",".ts",".tsx"]),P(o)}catch(c){throw console.error("\u274C Error building JavaScript project:",c),c}}function y(n,o){const r=s.join(l),c="src";try{let i=function(a){if(!e.existsSync(a))return;const S=e.readdirSync(a);for(const m of S){const u=s.join(a,m),p=s.join(r,a.replace(c,""),m),j=e.statSync(u);if(j.isDirectory())e.existsSync(p)||e.mkdirSync(p,{recursive:!0}),i(u);else if(j.isFile()){const w=s.extname(m).toLowerCase();if(!o.includes(w)){const g=s.dirname(p);e.existsSync(g)||e.mkdirSync(g,{recursive:!0}),e.copyFileSync(u,p)}}}};var t=i;i(c);const f=["README.md","LICENSE"];for(const a of f)e.existsSync(s.join(process.cwd(),a))&&e.copyFileSync(s.join(process.cwd(),a),s.join(r,a))}catch(i){console.warn("Warning: Error copying project files:",i),console.error(i)}}function P(n){const o=s.join(process.cwd(),"package.json");if(e.existsSync(o))try{const r=JSON.parse(e.readFileSync(o,"utf8")),c={name:r.name,version:r.version,description:r.description,main:"index.js",dependencies:r.dependencies};n==="esm"&&(c.type="module");const t=s.join(l,n);e.writeFileSync(s.join(t,"package.json"),JSON.stringify(c,null,2))}catch(r){console.warn("Warning: Failed to create module-specific package.json",r)}}function x(n){try{e.existsSync(n)&&e.unlinkSync(n)}catch(o){console.warn("Warning: Error cleaning up temporary config:",o)}}
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { execSync } from "child_process";
4
+ import { fullCleanCwd, getUserFileExtension } from "../helpers/fs.helpers.js";
5
+ import { loadEnvironmentVariables } from "../dotenv.helpers.js";
6
+ import { getVersion } from "./utils/cli.helpers.js";
7
+ import { detectPackageManagerFromUserAgent } from "../helpers/global.helpers.js";
8
+ import sheu from "../sheu.js";
9
+ const BUILD_DIR = ".build";
10
+ const MODULE_TYPES = ["cjs", "esm"];
11
+ export function buildCommand(options = {}) {
12
+ const fileExt = getUserFileExtension();
13
+ process.env.NODE_ENV = "production";
14
+ process.env.NODE_ENV = "true";
15
+ const envFiles = loadEnvironmentVariables();
16
+ const moduleType = validateModuleType(options.module);
17
+ try {
18
+ console.info(` \x1b[1m\x1b[36m Arkos.js ${getVersion()}\x1b[0m`);
19
+ console.info(` - Environments: ${fullCleanCwd(envFiles?.join(", ") || "")
20
+ .replaceAll(`${process.cwd()}/`, "")
21
+ .replaceAll("/", "")}`);
22
+ console.info(`\n Creating an optimized production build...`);
23
+ ensureBuildDir();
24
+ if (fileExt === "ts") {
25
+ buildTypeScriptProject(options, moduleType);
26
+ }
27
+ else {
28
+ buildJavaScriptProject(options, moduleType);
29
+ }
30
+ const packageManger = detectPackageManagerFromUserAgent();
31
+ console.info(`\n\x1b[1m\x1b[32m Build complete!\x1b[0m\n`);
32
+ console.info(` \x1b[1mNext step:\x1b[0m`);
33
+ console.info(` Run it using \x1b[1m\x1b[36m${packageManger} run start\x1b[0m\n`);
34
+ }
35
+ catch (err) {
36
+ console.info("");
37
+ sheu.error(`Build failed: ${err?.message}`);
38
+ console.error(err);
39
+ process.exit(1);
40
+ }
41
+ }
42
+ function validateModuleType(moduleType) {
43
+ if (!moduleType)
44
+ return "cjs";
45
+ const normalizedType = moduleType.toLowerCase();
46
+ if (normalizedType === "cjs" || normalizedType === "commonjs") {
47
+ return "cjs";
48
+ }
49
+ else if (["esm", "es", "es2020", "esnext", "module"].includes(normalizedType)) {
50
+ return "esm";
51
+ }
52
+ console.warn(`⚠️ Unrecognized module type "${moduleType}", defaulting to "cjs"`);
53
+ return "cjs";
54
+ }
55
+ function ensureBuildDir() {
56
+ if (!fs.existsSync(BUILD_DIR)) {
57
+ fs.mkdirSync(BUILD_DIR, { recursive: true });
58
+ }
59
+ for (const moduleType of MODULE_TYPES) {
60
+ const moduleDir = path.join(BUILD_DIR, moduleType);
61
+ if (!fs.existsSync(moduleDir)) {
62
+ fs.mkdirSync(moduleDir, { recursive: true });
63
+ }
64
+ }
65
+ }
66
+ function buildTypeScriptProject(options, moduleType) {
67
+ const tsconfigPath = path.join(process.cwd(), options.config || "tsconfig.json");
68
+ let tsconfig = {};
69
+ try {
70
+ if (fs.existsSync(tsconfigPath)) {
71
+ const tsconfigContent = fs.readFileSync(tsconfigPath, "utf8");
72
+ tsconfig = JSON.parse(tsconfigContent);
73
+ }
74
+ }
75
+ catch (error) {
76
+ console.error("❌ Error reading tsconfig.json:", error);
77
+ }
78
+ const tempTsconfig = {
79
+ ...tsconfig,
80
+ compilerOptions: {
81
+ ...(tsconfig.compilerOptions || {}),
82
+ rootDir: ".",
83
+ outDir: path.join(`./${BUILD_DIR}`),
84
+ },
85
+ };
86
+ const tempTsconfigPath = path.join(process.cwd(), `tsconfig.arkos-build.json`);
87
+ fs.writeFileSync(tempTsconfigPath, JSON.stringify(tempTsconfig, null, 2));
88
+ try {
89
+ execSync(`npx rimraf ${BUILD_DIR} && npx tsc -p ${tempTsconfigPath}`, {
90
+ stdio: "inherit",
91
+ cwd: process.cwd(),
92
+ });
93
+ copyAllNonSourceFiles(moduleType, [".ts", ".tsx"]);
94
+ cleanupTempConfig(tempTsconfigPath);
95
+ }
96
+ catch (error) {
97
+ cleanupTempConfig(tempTsconfigPath);
98
+ throw error;
99
+ }
100
+ }
101
+ function buildJavaScriptProject(_, moduleType) {
102
+ const targetDir = path.join(BUILD_DIR);
103
+ try {
104
+ if (moduleType === "esm") {
105
+ execSync(`npx copyfiles -u 0 "src/**/*.js" "src/**/*.jsx" "src/**/*.mjs" ${targetDir}`, {
106
+ stdio: "inherit",
107
+ cwd: process.cwd(),
108
+ });
109
+ console.info("Note: .cjs files are skipped in ESM build");
110
+ }
111
+ else {
112
+ execSync(`npx copyfiles -u 0 "src/**/*.js" "src/**/*.jsx" "src/**/*.cjs" "src/**/*.mjs" ${targetDir}`, {
113
+ stdio: "inherit",
114
+ cwd: process.cwd(),
115
+ });
116
+ }
117
+ copyAllNonSourceFiles(moduleType, [
118
+ ".js",
119
+ ".jsx",
120
+ ".mjs",
121
+ ".cjs",
122
+ ".ts",
123
+ ".tsx",
124
+ ]);
125
+ createModulePackageJson(moduleType);
126
+ }
127
+ catch (error) {
128
+ console.error("❌ Error building JavaScript project:", error);
129
+ throw error;
130
+ }
131
+ }
132
+ function copyAllNonSourceFiles(_, skipExtensions) {
133
+ const targetDir = path.join(BUILD_DIR);
134
+ const sourceDir = "src";
135
+ try {
136
+ function copyDirRecursive(dir) {
137
+ if (!fs.existsSync(dir))
138
+ return;
139
+ const items = fs.readdirSync(dir);
140
+ for (const item of items) {
141
+ const sourcePath = path.join(dir, item);
142
+ const targetPath = path.join(targetDir, dir.replace(sourceDir, ""), item);
143
+ const stats = fs.statSync(sourcePath);
144
+ if (stats.isDirectory()) {
145
+ if (!fs.existsSync(targetPath)) {
146
+ fs.mkdirSync(targetPath, { recursive: true });
147
+ }
148
+ copyDirRecursive(sourcePath);
149
+ }
150
+ else if (stats.isFile()) {
151
+ const ext = path.extname(item).toLowerCase();
152
+ if (!skipExtensions.includes(ext)) {
153
+ const targetDir = path.dirname(targetPath);
154
+ if (!fs.existsSync(targetDir)) {
155
+ fs.mkdirSync(targetDir, { recursive: true });
156
+ }
157
+ fs.copyFileSync(sourcePath, targetPath);
158
+ }
159
+ }
160
+ }
161
+ }
162
+ copyDirRecursive(sourceDir);
163
+ const rootFilesToCopy = ["README.md", "LICENSE"];
164
+ for (const file of rootFilesToCopy) {
165
+ if (fs.existsSync(path.join(process.cwd(), file))) {
166
+ fs.copyFileSync(path.join(process.cwd(), file), path.join(targetDir, file));
167
+ }
168
+ }
169
+ }
170
+ catch (error) {
171
+ console.warn("Warning: Error copying project files:", error);
172
+ console.error(error);
173
+ }
174
+ }
175
+ function createModulePackageJson(moduleType) {
176
+ const packageJsonPath = path.join(process.cwd(), "package.json");
177
+ if (!fs.existsSync(packageJsonPath)) {
178
+ return;
179
+ }
180
+ try {
181
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
182
+ const buildPackageJson = {
183
+ name: packageJson.name,
184
+ version: packageJson.version,
185
+ description: packageJson.description,
186
+ main: "index.js",
187
+ dependencies: packageJson.dependencies,
188
+ };
189
+ if (moduleType === "esm") {
190
+ buildPackageJson.type = "module";
191
+ }
192
+ const targetDir = path.join(BUILD_DIR, moduleType);
193
+ fs.writeFileSync(path.join(targetDir, "package.json"), JSON.stringify(buildPackageJson, null, 2));
194
+ }
195
+ catch (error) {
196
+ console.warn("Warning: Failed to create module-specific package.json", error);
197
+ }
198
+ }
199
+ function cleanupTempConfig(configPath) {
200
+ try {
201
+ if (fs.existsSync(configPath))
202
+ fs.unlinkSync(configPath);
203
+ }
204
+ catch (error) {
205
+ console.warn("Warning: Error cleaning up temporary config:", error);
206
+ }
207
+ }
208
+ //# sourceMappingURL=build.js.map
@@ -1,3 +1,147 @@
1
- "use strict";import{spawn as E}from"child_process";import $ from"chokidar";import{fullCleanCwd as g,getUserFileExtension as A}from"../helpers/fs.helpers.js";import{getVersion as C}from"./utils/cli.helpers.js";import{loadEnvironmentVariables as w}from"../dotenv.helpers.js";import b from"fs";import y from"path";import R from"../sheu.js";import G from"../features/port-and-host-allocator.js";let e=null,l;export async function devCommand(S={}){process.env.NODE_ENV="development",l=w(),e=null;let r=null;try{const{port:s,host:f}=S;let c=!1,u=new Set;const d=A(),i=y.resolve(process.cwd(),`src/app.${d}`);b.existsSync(i)||(console.error(`Could not find application entry point at ${i}`),process.exit(1));const v=()=>({NODE_ENV:"development",...process.env,...s&&{CLI_PORT:s},...f&&{CLI_HOST:f}}),a=()=>{e&&(e.kill(),e=null);const t=v();d==="ts"?e=E("npx",["tsx-strict","--watch",i],{stdio:"inherit",env:t,shell:!0}):e=E("npx",["tsx-strict","--no-type-check","--watch",i],{stdio:"inherit",env:t,shell:!0}),e&&(e.on("error",o=>{console.error("Failed to start server:",o)}),e.on("exit",(o,n)=>{!c&&n!=="SIGTERM"&&n!=="SIGINT"&&(console.info(`Server exited with code ${o}, restarting...`),a())}))},T=(t,o)=>{o&&u.add(o),r&&clearTimeout(r);const m=new Date().toTimeString().split(" ")[0];c=!0,e&&(e.kill(),e=null),r=setTimeout(()=>{R.info(`\x1B[90m${m}\x1B[0m Restarting: ${t.toLowerCase()}`),a(),c=!1,r=null,o&&u.delete(o)},1e3)},I=()=>{const t=$.watch(g(l?.join(",")||"").replaceAll("/","").split(",")||[],{ignoreInitial:!0,persistent:!0});return t.on("all",(o,n)=>{try{l=w(),T("Environment files changed","env-files")}catch(m){console.error(`Error reloading ${n}:`,m)}}),t};a();const h=I(),k=v(),x=await G.getHostAndAvailablePort(k,{logWarning:!0});console.info(`
2
- \x1B[1m\x1B[36m Arkos.js ${C()}\x1B[0m`),console.info(` - Local: http://${x?.host}:${x?.port}`),console.info(` - Environments: ${g(l?.join(", ")||"").replaceAll(`${process.cwd()}/`,"").replaceAll("/","")}
3
- `);const p=()=>{r&&clearTimeout(r),h&&h.close(),e&&(e.kill("SIGTERM"),setTimeout(()=>{e&&!e.killed&&e.kill("SIGKILL")},5e3)),process.exit(0)};process.on("SIGINT",p),process.on("SIGTERM",p),process.on("uncaughtException",t=>{console.error("Uncaught Exception:",t),p()})}catch(s){console.error("Development server failed to start:",s),e&&(e?.kill?.(),e=null),process.exit(1)}}export function killDevelopmentServerChildProcess(){e?.kill?.(),e=null}
1
+ import { spawn } from "child_process";
2
+ import chokidar from "chokidar";
3
+ import { fullCleanCwd, getUserFileExtension } from "../helpers/fs.helpers.js";
4
+ import { getVersion } from "./utils/cli.helpers.js";
5
+ import { loadEnvironmentVariables } from "../dotenv.helpers.js";
6
+ import fs from "fs";
7
+ import path from "path";
8
+ import sheu from "../sheu.js";
9
+ import portAndHostAllocator from "../features/port-and-host-allocator.js";
10
+ let child = null;
11
+ let envFiles;
12
+ export async function devCommand(options = {}) {
13
+ process.env.NODE_ENV = "development";
14
+ envFiles = loadEnvironmentVariables();
15
+ child = null;
16
+ let restartTimeout = null;
17
+ try {
18
+ const { port, host } = options;
19
+ let isRestarting = false;
20
+ let restartingFiles = new Set();
21
+ const fileExt = getUserFileExtension();
22
+ const entryPoint = path.resolve(process.cwd(), `src/app.${fileExt}`);
23
+ if (!fs.existsSync(entryPoint)) {
24
+ console.error(`Could not find application entry point at ${entryPoint}`);
25
+ process.exit(1);
26
+ }
27
+ const getEnv = () => ({
28
+ NODE_ENV: "development",
29
+ ...process.env,
30
+ ...(port && { CLI_PORT: port }),
31
+ ...(host && { CLI_HOST: host }),
32
+ });
33
+ const startServer = () => {
34
+ if (child) {
35
+ child.kill();
36
+ child = null;
37
+ }
38
+ const env = getEnv();
39
+ if (fileExt === "ts") {
40
+ child = spawn("npx", ["tsx-strict", "--watch", entryPoint], {
41
+ stdio: "inherit",
42
+ env,
43
+ shell: true,
44
+ });
45
+ }
46
+ else {
47
+ child = spawn("npx", ["tsx-strict", "--no-type-check", "--watch", entryPoint], {
48
+ stdio: "inherit",
49
+ env,
50
+ shell: true,
51
+ });
52
+ }
53
+ if (child) {
54
+ child.on("error", (error) => {
55
+ console.error("Failed to start server:", error);
56
+ });
57
+ child.on("exit", (code, signal) => {
58
+ if (!isRestarting && signal !== "SIGTERM" && signal !== "SIGINT") {
59
+ console.info(`Server exited with code ${code}, restarting...`);
60
+ startServer();
61
+ }
62
+ });
63
+ }
64
+ };
65
+ const scheduleRestart = (reason, filePath) => {
66
+ if (filePath)
67
+ restartingFiles.add(filePath);
68
+ if (restartTimeout)
69
+ clearTimeout(restartTimeout);
70
+ const now = new Date();
71
+ const time = now.toTimeString().split(" ")[0];
72
+ isRestarting = true;
73
+ if (child) {
74
+ child.kill();
75
+ child = null;
76
+ }
77
+ restartTimeout = setTimeout(() => {
78
+ sheu.info(`\x1b[90m${time}\x1b[0m Restarting: ${reason.toLowerCase()}`);
79
+ startServer();
80
+ isRestarting = false;
81
+ restartTimeout = null;
82
+ if (filePath)
83
+ restartingFiles.delete(filePath);
84
+ }, 1000);
85
+ };
86
+ const setupEnvWatcher = () => {
87
+ const envWatcher = chokidar.watch(fullCleanCwd(envFiles?.join(",") || "")
88
+ .replaceAll("/", "")
89
+ .split(",") || [], {
90
+ ignoreInitial: true,
91
+ persistent: true,
92
+ });
93
+ envWatcher.on("all", (_, filePath) => {
94
+ try {
95
+ envFiles = loadEnvironmentVariables();
96
+ scheduleRestart("Environment files changed", "env-files");
97
+ }
98
+ catch (error) {
99
+ console.error(`Error reloading ${filePath}:`, error);
100
+ }
101
+ });
102
+ return envWatcher;
103
+ };
104
+ startServer();
105
+ const envWatcher = setupEnvWatcher();
106
+ const env = getEnv();
107
+ const hostAndPort = await portAndHostAllocator.getHostAndAvailablePort(env, { logWarning: true });
108
+ console.info(`\n \x1b[1m\x1b[36m Arkos.js ${getVersion()}\x1b[0m`);
109
+ console.info(` - Local: http://${hostAndPort?.host}:${hostAndPort?.port}`);
110
+ console.info(` - Environments: ${fullCleanCwd(envFiles?.join(", ") || "")
111
+ .replaceAll(`${process.cwd()}/`, "")
112
+ .replaceAll("/", "")}\n`);
113
+ const cleanup = () => {
114
+ if (restartTimeout)
115
+ clearTimeout(restartTimeout);
116
+ if (envWatcher)
117
+ envWatcher.close();
118
+ if (child) {
119
+ child.kill("SIGTERM");
120
+ setTimeout(() => {
121
+ if (child && !child.killed)
122
+ child.kill("SIGKILL");
123
+ }, 5000);
124
+ }
125
+ process.exit(0);
126
+ };
127
+ process.on("SIGINT", cleanup);
128
+ process.on("SIGTERM", cleanup);
129
+ process.on("uncaughtException", (error) => {
130
+ console.error("Uncaught Exception:", error);
131
+ cleanup();
132
+ });
133
+ }
134
+ catch (error) {
135
+ console.error("Development server failed to start:", error);
136
+ if (child) {
137
+ child?.kill?.();
138
+ child = null;
139
+ }
140
+ process.exit(1);
141
+ }
142
+ }
143
+ export function killDevelopmentServerChildProcess() {
144
+ child?.kill?.();
145
+ child = null;
146
+ }
147
+ //# sourceMappingURL=dev.js.map
@@ -1 +1,103 @@
1
- "use strict";import b from"fs";import n from"path";import{generateTemplate as h}from"./utils/template-generators.js";import{ensureDirectoryExists as x}from"./utils/cli.helpers.js";import{camelCase as y,kebabCase as N,pascalCase as w}from"../helpers/change-case.helpers.js";import{fullCleanCwd as p,getUserFileExtension as k}from"../helpers/fs.helpers.js";import r from"../sheu.js";const a=async(e,t)=>{const o=e.model;o||(r.error("Module name is required!"),process.exit(1)),t.customValidation&&t.customValidation(o);const{path:u="src/modules"}=e,s={pascal:w(o),camel:y(o),kebab:N(o)},f=k(),l=n.join(process.cwd(),u,s.kebab),m=n.join(l,`${s.kebab}.${t.fileSuffix}.${f}`),i=t.templateName.charAt(0).toUpperCase()+t.templateName.slice(1).replaceAll("-"," ");try{x(l);const c={modelName:s,...t.customImports&&{imports:t.customImports(s)}},d=h(t.templateName,c);b.writeFileSync(m,d),r.done(`${i} for ${e.model} generated under ${p(m)}`)}catch{r.error(`${r.bold(`Failed to generate ${i.toLowerCase()}`)} for ${e.model} ${m?"under "+p(m)+".":"."}`),process.exit(1)}};export const generateCommand={controller:async e=>{await a(e,{templateName:"controller",fileSuffix:"controller",customImports:()=>({baseController:"arkos/controllers"})})},service:async e=>{await a(e,{templateName:"service",fileSuffix:"service",customImports:()=>({baseService:"arkos/services"})})},router:async e=>{await a(e,{templateName:"router",fileSuffix:"router",customImports:t=>({baseRouter:"arkos",controller:`./${t.kebab}.controller`})})},interceptors:async e=>{await a(e,{templateName:"interceptors",fileSuffix:"middlewares"})},authConfigs:async e=>{await a(e,{templateName:"auth-configs",fileSuffix:"auth"})},hooks:async e=>{await a(e,{templateName:"hooks",fileSuffix:"hooks"})},queryOptions:async e=>{await a(e,{templateName:"query-options",fileSuffix:"query",customValidation:t=>{t==="file-upload"&&(r.error("Prisma query options are not available to file-upload resource"),process.exit(1))}})}};
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { generateTemplate } from "./utils/template-generators.js";
4
+ import { ensureDirectoryExists } from "./utils/cli.helpers.js";
5
+ import { camelCase, kebabCase, pascalCase, } from "../helpers/change-case.helpers.js";
6
+ import { fullCleanCwd, getUserFileExtension } from "../helpers/fs.helpers.js";
7
+ import sheu from "../sheu.js";
8
+ const generateFile = async (options, config) => {
9
+ const modelName = options.model;
10
+ if (!modelName) {
11
+ sheu.error("Module name is required!");
12
+ process.exit(1);
13
+ }
14
+ if (config.customValidation) {
15
+ config.customValidation(modelName);
16
+ }
17
+ const { path: customPath = "src/modules" } = options;
18
+ const names = {
19
+ pascal: pascalCase(modelName),
20
+ camel: camelCase(modelName),
21
+ kebab: kebabCase(modelName),
22
+ };
23
+ const ext = getUserFileExtension();
24
+ const modulePath = path.join(process.cwd(), customPath, names.kebab);
25
+ const filePath = path.join(modulePath, `${names.kebab}.${config.fileSuffix}.${ext}`);
26
+ const humamReadableTemplateName = config.templateName.charAt(0).toUpperCase() +
27
+ config.templateName.slice(1).replaceAll("-", " ");
28
+ try {
29
+ ensureDirectoryExists(modulePath);
30
+ const templateData = {
31
+ modelName: names,
32
+ ...(config.customImports && { imports: config.customImports(names) }),
33
+ };
34
+ const content = generateTemplate(config.templateName, templateData);
35
+ fs.writeFileSync(filePath, content);
36
+ sheu.done(`${humamReadableTemplateName} for ${options.model} generated under ${fullCleanCwd(filePath)}`);
37
+ }
38
+ catch (error) {
39
+ sheu.error(`${sheu.bold(`Failed to generate ${humamReadableTemplateName.toLowerCase()}`)} for ${options.model} ${filePath ? "under " + fullCleanCwd(filePath) + "." : "."}`);
40
+ process.exit(1);
41
+ }
42
+ };
43
+ export const generateCommand = {
44
+ controller: async (options) => {
45
+ await generateFile(options, {
46
+ templateName: "controller",
47
+ fileSuffix: "controller",
48
+ customImports: () => ({
49
+ baseController: "arkos/controllers",
50
+ }),
51
+ });
52
+ },
53
+ service: async (options) => {
54
+ await generateFile(options, {
55
+ templateName: "service",
56
+ fileSuffix: "service",
57
+ customImports: () => ({
58
+ baseService: "arkos/services",
59
+ }),
60
+ });
61
+ },
62
+ router: async (options) => {
63
+ await generateFile(options, {
64
+ templateName: "router",
65
+ fileSuffix: "router",
66
+ customImports: (names) => ({
67
+ baseRouter: "arkos",
68
+ controller: `./${names.kebab}.controller`,
69
+ }),
70
+ });
71
+ },
72
+ interceptors: async (options) => {
73
+ await generateFile(options, {
74
+ templateName: "interceptors",
75
+ fileSuffix: "middlewares",
76
+ });
77
+ },
78
+ authConfigs: async (options) => {
79
+ await generateFile(options, {
80
+ templateName: "auth-configs",
81
+ fileSuffix: "auth",
82
+ });
83
+ },
84
+ hooks: async (options) => {
85
+ await generateFile(options, {
86
+ templateName: "hooks",
87
+ fileSuffix: "hooks",
88
+ });
89
+ },
90
+ queryOptions: async (options) => {
91
+ await generateFile(options, {
92
+ templateName: "query-options",
93
+ fileSuffix: "query",
94
+ customValidation: (modelName) => {
95
+ if (modelName === "file-upload") {
96
+ sheu.error("Prisma query options are not available to file-upload resource");
97
+ process.exit(1);
98
+ }
99
+ },
100
+ });
101
+ },
102
+ };
103
+ //# sourceMappingURL=generate.js.map
@@ -1 +1,94 @@
1
- "use strict";import{Command as i}from"commander";import{buildCommand as r}from"./build.js";import{devCommand as n}from"./dev.js";import{startCommand as a}from"./start.js";import{generateCommand as o}from"./generate.js";import{getVersion as m}from"./utils/cli.helpers.js";const t=new i;t.name("arkos").description("Arkos.js CLI").version(m()),t.command("build").description("Build your Arkos project").option("-m, --module <type>","Module type (cjs or esm)","cjs").action(r),t.command("dev").description("Run development server").option("-p, --port <number>","Port number").option("-h, --host <host>","Host to bind to").action(n),t.command("start").description("Run production server").option("-p, --port <number>","Port number").option("-h, --host <host>","Host to bind to").action(a);const e=t.command("generate").alias("g").description("Generate arkos components");e.command("controller").alias("c").description("Generate a new controller").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for the controller","src/modules").action(o.controller),e.command("service").alias("s").description("Generate a new service").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for the service","src/modules").action(o.service),e.command("router").alias("r").description("Generate a new router").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for the router","src/modules").action(o.router),e.command("auth-configs").alias("a").description("Generate auth configuration").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for the router","src/modules").action(o.authConfigs),e.command("query-options").alias("q").description("Generate prisma query options").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for query options","src/modules").action(o.queryOptions),e.command("middlewares").alias("m").description("Generate a new middleware file").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for middleware","src/modules").action(o.interceptors),e.command("interceptors").alias("i").description("Generate a new interceptors file").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for interceptors","src/modules").action(o.interceptors),e.command("hooks").alias("h").description("Generate a new service hooks file").requiredOption("-m, --model <name>","Module name").option("-p, --path <path>","Custom path for hooks","src/modules").action(o.hooks),t.parse(process.argv);export{t as program,r as buildCommand,n as devCommand,a as startCommand,o as generateCommand};
1
+ import { Command } from "commander";
2
+ import { buildCommand } from "./build.js";
3
+ import { devCommand } from "./dev.js";
4
+ import { startCommand } from "./start.js";
5
+ import { generateCommand } from "./generate.js";
6
+ import { getVersion } from "./utils/cli.helpers.js";
7
+ import prismaGenerateCommand from "./prisma-generate.js";
8
+ const program = new Command();
9
+ program.name("arkos").description("Arkos.js CLI").version(getVersion());
10
+ program
11
+ .command("build")
12
+ .description("Build your Arkos project")
13
+ .option("-m, --module <type>", "Module type (cjs or esm)", "cjs")
14
+ .action(buildCommand);
15
+ program
16
+ .command("dev")
17
+ .description("Run development server")
18
+ .option("-p, --port <number>", "Port number")
19
+ .option("-h, --host <host>", "Host to bind to")
20
+ .action(devCommand);
21
+ program
22
+ .command("start")
23
+ .description("Run production server")
24
+ .option("-p, --port <number>", "Port number")
25
+ .option("-h, --host <host>", "Host to bind to")
26
+ .action(startCommand);
27
+ const generate = program
28
+ .command("generate")
29
+ .alias("g")
30
+ .description("Generate arkos components");
31
+ generate
32
+ .command("controller")
33
+ .alias("c")
34
+ .description("Generate a new controller")
35
+ .requiredOption("-m, --model <name>", "Module name")
36
+ .option("-p, --path <path>", "Custom path for the controller", "src/modules")
37
+ .action(generateCommand.controller);
38
+ generate
39
+ .command("service")
40
+ .alias("s")
41
+ .description("Generate a new service")
42
+ .requiredOption("-m, --model <name>", "Module name")
43
+ .option("-p, --path <path>", "Custom path for the service", "src/modules")
44
+ .action(generateCommand.service);
45
+ generate
46
+ .command("router")
47
+ .alias("r")
48
+ .description("Generate a new router")
49
+ .requiredOption("-m, --model <name>", "Module name")
50
+ .option("-p, --path <path>", "Custom path for the router", "src/modules")
51
+ .action(generateCommand.router);
52
+ generate
53
+ .command("auth-configs")
54
+ .alias("a")
55
+ .description("Generate auth configuration")
56
+ .requiredOption("-m, --model <name>", "Module name")
57
+ .option("-p, --path <path>", "Custom path for the router", "src/modules")
58
+ .action(generateCommand.authConfigs);
59
+ generate
60
+ .command("query-options")
61
+ .alias("q")
62
+ .description("Generate prisma query options")
63
+ .requiredOption("-m, --model <name>", "Module name")
64
+ .option("-p, --path <path>", "Custom path for query options", "src/modules")
65
+ .action(generateCommand.queryOptions);
66
+ generate
67
+ .command("middlewares")
68
+ .alias("m")
69
+ .description("Generate a new middleware file")
70
+ .requiredOption("-m, --model <name>", "Module name")
71
+ .option("-p, --path <path>", "Custom path for middleware", "src/modules")
72
+ .action(generateCommand.interceptors);
73
+ generate
74
+ .command("interceptors")
75
+ .alias("i")
76
+ .description("Generate a new interceptors file")
77
+ .requiredOption("-m, --model <name>", "Module name")
78
+ .option("-p, --path <path>", "Custom path for interceptors", "src/modules")
79
+ .action(generateCommand.interceptors);
80
+ generate
81
+ .command("hooks")
82
+ .alias("h")
83
+ .description("Generate a new service hooks file")
84
+ .requiredOption("-m, --model <name>", "Module name")
85
+ .option("-p, --path <path>", "Custom path for hooks", "src/modules")
86
+ .action(generateCommand.hooks);
87
+ program
88
+ .command("prisma")
89
+ .command("generate")
90
+ .description("Generate your @prisma/client and BaseService class types")
91
+ .action(prismaGenerateCommand);
92
+ program.parse(process.argv);
93
+ export { program, buildCommand, devCommand, startCommand, generateCommand };
94
+ //# 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\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the controller\", \"src/modules\")\n .action(generateCommand.controller);\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the service\", \"src/modules\")\n .action(generateCommand.service);\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.router);\n\ngenerate\n .command(\"auth-configs\")\n .alias(\"a\")\n .description(\"Generate auth configuration\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.authConfigs);\n\ngenerate\n .command(\"query-options\")\n .alias(\"q\")\n .description(\"Generate prisma query options\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for query options\", \"src/modules\")\n .action(generateCommand.queryOptions);\n\ngenerate\n .command(\"middlewares\")\n .alias(\"m\")\n .description(\"Generate a new middleware file\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for middleware\", \"src/modules\")\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"interceptors\")\n .alias(\"i\")\n .description(\"Generate a new interceptors file\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for interceptors\", \"src/modules\")\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"hooks\")\n .alias(\"h\")\n .description(\"Generate a new service hooks file\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for hooks\", \"src/modules\")\n .action(generateCommand.hooks);\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\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the controller\", \"src/modules\")\n .action(generateCommand.controller);\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the service\", \"src/modules\")\n .action(generateCommand.service);\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.router);\n\ngenerate\n .command(\"auth-configs\")\n .alias(\"a\")\n .description(\"Generate auth configuration\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for the router\", \"src/modules\")\n .action(generateCommand.authConfigs);\n\ngenerate\n .command(\"query-options\")\n .alias(\"q\")\n .description(\"Generate prisma query options\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for query options\", \"src/modules\")\n .action(generateCommand.queryOptions);\n\ngenerate\n .command(\"middlewares\")\n .alias(\"m\")\n .description(\"Generate a new middleware file\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for middleware\", \"src/modules\")\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"interceptors\")\n .alias(\"i\")\n .description(\"Generate a new interceptors file\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for interceptors\", \"src/modules\")\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"hooks\")\n .alias(\"h\")\n .description(\"Generate a new service hooks file\")\n .requiredOption(\"-m, --model <name>\", \"Module name\")\n .option(\"-p, --path <path>\", \"Custom path for hooks\", \"src/modules\")\n .action(generateCommand.hooks);\n\nprogram\n .command(\"prisma\")\n .command(\"generate\")\n .description(\"Generate your @prisma/client and BaseService class types\")\n .action(prismaGenerateCommand);\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}