nestjs-ddd-cli 3.2.2 → 3.3.1

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 (210) hide show
  1. package/README.md +118 -9
  2. package/ddd.schema.json +11 -1
  3. package/dist/commands/doctor-enhanced.d.ts +1 -0
  4. package/dist/commands/doctor-enhanced.js +94 -79
  5. package/dist/commands/doctor-enhanced.js.map +1 -1
  6. package/dist/commands/doctor.d.ts +9 -0
  7. package/dist/commands/doctor.js +68 -21
  8. package/dist/commands/doctor.js.map +1 -1
  9. package/dist/commands/generate-all.js +54 -28
  10. package/dist/commands/generate-all.js.map +1 -1
  11. package/dist/commands/generate-controller.d.ts +1 -0
  12. package/dist/commands/generate-controller.js +71 -0
  13. package/dist/commands/generate-controller.js.map +1 -0
  14. package/dist/commands/generate-domain-service.d.ts +1 -1
  15. package/dist/commands/generate-domain-service.js +6 -4
  16. package/dist/commands/generate-domain-service.js.map +1 -1
  17. package/dist/commands/generate-dto.d.ts +4 -0
  18. package/dist/commands/generate-dto.js +162 -0
  19. package/dist/commands/generate-dto.js.map +1 -0
  20. package/dist/commands/generate-entity.js +7 -2
  21. package/dist/commands/generate-entity.js.map +1 -1
  22. package/dist/commands/generate-event.js +10 -4
  23. package/dist/commands/generate-event.js.map +1 -1
  24. package/dist/commands/generate-migration-deployment.d.ts +15 -0
  25. package/dist/commands/generate-migration-deployment.js +326 -0
  26. package/dist/commands/generate-migration-deployment.js.map +1 -0
  27. package/dist/commands/generate-migration-deployment.spec.d.ts +1 -0
  28. package/dist/commands/generate-migration-deployment.spec.js +337 -0
  29. package/dist/commands/generate-migration-deployment.spec.js.map +1 -0
  30. package/dist/commands/generate-module.js +4 -2
  31. package/dist/commands/generate-module.js.map +1 -1
  32. package/dist/commands/generate-query.js +23 -4
  33. package/dist/commands/generate-query.js.map +1 -1
  34. package/dist/commands/generate-repository.d.ts +1 -1
  35. package/dist/commands/generate-repository.js +17 -34
  36. package/dist/commands/generate-repository.js.map +1 -1
  37. package/dist/commands/generate-service.js +19 -4
  38. package/dist/commands/generate-service.js.map +1 -1
  39. package/dist/commands/generate-usecase.js +12 -31
  40. package/dist/commands/generate-usecase.js.map +1 -1
  41. package/dist/commands/generate-value-object.js +3 -14
  42. package/dist/commands/generate-value-object.js.map +1 -1
  43. package/dist/commands/init-project.d.ts +3 -0
  44. package/dist/commands/init-project.js +19 -9
  45. package/dist/commands/init-project.js.map +1 -1
  46. package/dist/commands/interactive-scaffold.js +10 -0
  47. package/dist/commands/interactive-scaffold.js.map +1 -1
  48. package/dist/commands/migration.d.ts +3 -0
  49. package/dist/commands/migration.js +83 -48
  50. package/dist/commands/migration.js.map +1 -1
  51. package/dist/commands/recipe.d.ts +2 -0
  52. package/dist/commands/recipe.js +229 -85
  53. package/dist/commands/recipe.js.map +1 -1
  54. package/dist/commands/recipes/banklink-connector-contract.recipe.d.ts +1 -0
  55. package/dist/commands/recipes/banklink-connector-contract.recipe.js +161 -0
  56. package/dist/commands/recipes/banklink-connector-contract.recipe.js.map +1 -0
  57. package/dist/commands/recipes/bounded-json-http.recipe.d.ts +2 -0
  58. package/dist/commands/recipes/bounded-json-http.recipe.js +53 -0
  59. package/dist/commands/recipes/bounded-json-http.recipe.js.map +1 -0
  60. package/dist/commands/recipes/business-reference-identifiers.recipe.d.ts +1 -0
  61. package/dist/commands/recipes/business-reference-identifiers.recipe.js +223 -0
  62. package/dist/commands/recipes/business-reference-identifiers.recipe.js.map +1 -0
  63. package/dist/commands/recipes/event-backbone.recipe.d.ts +1 -0
  64. package/dist/commands/recipes/event-backbone.recipe.js +1118 -0
  65. package/dist/commands/recipes/event-backbone.recipe.js.map +1 -0
  66. package/dist/commands/recipes/external-projection-worker.recipe.d.ts +6 -0
  67. package/dist/commands/recipes/external-projection-worker.recipe.js +211 -0
  68. package/dist/commands/recipes/external-projection-worker.recipe.js.map +1 -0
  69. package/dist/commands/recipes/index.d.ts +11 -0
  70. package/dist/commands/recipes/index.js +11 -0
  71. package/dist/commands/recipes/index.js.map +1 -1
  72. package/dist/commands/recipes/jest-cjs-compat.recipe.d.ts +3 -0
  73. package/dist/commands/recipes/jest-cjs-compat.recipe.js +130 -0
  74. package/dist/commands/recipes/jest-cjs-compat.recipe.js.map +1 -0
  75. package/dist/commands/recipes/joi-env.recipe.js +1 -1
  76. package/dist/commands/recipes/kafka-consumer.recipe.d.ts +1 -0
  77. package/dist/commands/recipes/kafka-consumer.recipe.js +65 -0
  78. package/dist/commands/recipes/kafka-consumer.recipe.js.map +1 -0
  79. package/dist/commands/recipes/oauth2-client-credentials.recipe.d.ts +1 -0
  80. package/dist/commands/recipes/oauth2-client-credentials.recipe.js +60 -0
  81. package/dist/commands/recipes/oauth2-client-credentials.recipe.js.map +1 -0
  82. package/dist/commands/recipes/oauth2-token-introspection.recipe.d.ts +1 -0
  83. package/dist/commands/recipes/oauth2-token-introspection.recipe.js +67 -0
  84. package/dist/commands/recipes/oauth2-token-introspection.recipe.js.map +1 -0
  85. package/dist/commands/recipes/oidc-bff-session.recipe.d.ts +1 -0
  86. package/dist/commands/recipes/oidc-bff-session.recipe.js +57 -0
  87. package/dist/commands/recipes/oidc-bff-session.recipe.js.map +1 -0
  88. package/dist/commands/recipes/oidc-dashboard.recipe.d.ts +1 -0
  89. package/dist/commands/recipes/oidc-dashboard.recipe.js +463 -0
  90. package/dist/commands/recipes/oidc-dashboard.recipe.js.map +1 -0
  91. package/dist/commands/recipes/oidc-resource-server.recipe.d.ts +1 -0
  92. package/dist/commands/recipes/oidc-resource-server.recipe.js +85 -0
  93. package/dist/commands/recipes/oidc-resource-server.recipe.js.map +1 -0
  94. package/dist/commands/recipes/platform-context.recipe.d.ts +1 -0
  95. package/dist/commands/recipes/platform-context.recipe.js +229 -0
  96. package/dist/commands/recipes/platform-context.recipe.js.map +1 -0
  97. package/dist/commands/recipes/platform-parc-authorization.recipe.d.ts +1 -0
  98. package/dist/commands/recipes/platform-parc-authorization.recipe.js +339 -0
  99. package/dist/commands/recipes/platform-parc-authorization.recipe.js.map +1 -0
  100. package/dist/commands/recipes/platform-parc-bound-authorization.recipe.d.ts +1 -0
  101. package/dist/commands/recipes/platform-parc-bound-authorization.recipe.js +56 -0
  102. package/dist/commands/recipes/platform-parc-bound-authorization.recipe.js.map +1 -0
  103. package/dist/commands/recipes/platform-service-access-request-context.recipe.d.ts +1 -0
  104. package/dist/commands/recipes/platform-service-access-request-context.recipe.js +103 -0
  105. package/dist/commands/recipes/platform-service-access-request-context.recipe.js.map +1 -0
  106. package/dist/commands/recipes/platform-service-runtime.recipe.d.ts +1 -0
  107. package/dist/commands/recipes/platform-service-runtime.recipe.js +415 -0
  108. package/dist/commands/recipes/platform-service-runtime.recipe.js.map +1 -0
  109. package/dist/index.js +77 -9
  110. package/dist/index.js.map +1 -1
  111. package/dist/templates/ai-context/CLAUDE.md.hbs +39 -3
  112. package/dist/templates/ai-context/conventions.md.hbs +13 -8
  113. package/dist/templates/command/create-command.hbs +8 -3
  114. package/dist/templates/command/delete-command.hbs +1 -1
  115. package/dist/templates/command/update-command.hbs +1 -1
  116. package/dist/templates/controller/application-controller.hbs +7 -0
  117. package/dist/templates/controller/controller.hbs +6 -0
  118. package/dist/templates/dto/create-dto.hbs +17 -5
  119. package/dist/templates/dto/filter-dto.hbs +1 -1
  120. package/dist/templates/dto/response-dto.hbs +1 -1
  121. package/dist/templates/entity/entity.hbs +4 -0
  122. package/dist/templates/mapper/mapper.hbs +5 -1
  123. package/dist/templates/orm-entity/orm-entity.hbs +9 -1
  124. package/dist/templates/prisma/prisma-mapper.hbs +6 -0
  125. package/dist/templates/prisma/prisma-repository.hbs +57 -5
  126. package/dist/templates/prisma/prisma-schema.hbs +2 -0
  127. package/dist/templates/query/get-all.query.hbs +10 -2
  128. package/dist/templates/recipes/bounded-json-http/README.md.hbs +36 -0
  129. package/dist/templates/recipes/external-projection-worker/README.md.hbs +157 -0
  130. package/dist/templates/recipes/external-projection-worker/canonical-json.ts.hbs +123 -0
  131. package/dist/templates/recipes/external-projection-worker/enqueuer.ts.hbs +167 -0
  132. package/dist/templates/recipes/external-projection-worker/index.ts.hbs +6 -0
  133. package/dist/templates/recipes/external-projection-worker/migration.ts.hbs +88 -0
  134. package/dist/templates/recipes/external-projection-worker/module.ts.hbs +36 -0
  135. package/dist/templates/recipes/external-projection-worker/store.ts.hbs +354 -0
  136. package/dist/templates/recipes/external-projection-worker/types.ts.hbs +134 -0
  137. package/dist/templates/recipes/external-projection-worker/worker.ts.hbs +296 -0
  138. package/dist/templates/recipes/kafka-consumer/README.md.hbs +50 -0
  139. package/dist/templates/recipes/kafka-consumer/kafka-consumer.ts.hbs +135 -0
  140. package/dist/templates/recipes/kafka-consumer/migration.ts.hbs +17 -0
  141. package/dist/templates/recipes/oauth2-client-credentials/README.md.hbs +40 -0
  142. package/dist/templates/recipes/oauth2-client-credentials/client.spec.ts.hbs +234 -0
  143. package/dist/templates/recipes/oauth2-client-credentials/client.ts.hbs +210 -0
  144. package/dist/templates/recipes/oauth2-client-credentials/index.ts.hbs +2 -0
  145. package/dist/templates/recipes/oauth2-client-credentials/module.ts.hbs +58 -0
  146. package/dist/templates/recipes/oauth2-token-introspection/README.md.hbs +158 -0
  147. package/dist/templates/recipes/oauth2-token-introspection/client.spec.ts.hbs +350 -0
  148. package/dist/templates/recipes/oauth2-token-introspection/client.ts.hbs +241 -0
  149. package/dist/templates/recipes/oauth2-token-introspection/http-client.spec.ts.hbs +411 -0
  150. package/dist/templates/recipes/oauth2-token-introspection/http-client.ts.hbs +343 -0
  151. package/dist/templates/recipes/oauth2-token-introspection/index.ts.hbs +3 -0
  152. package/dist/templates/recipes/oauth2-token-introspection/module.ts.hbs +58 -0
  153. package/dist/templates/recipes/oidc-bff-session/README.md.hbs +96 -0
  154. package/dist/templates/recipes/oidc-bff-session/client.test.ts.hbs +663 -0
  155. package/dist/templates/recipes/oidc-bff-session/client.ts.hbs +635 -0
  156. package/dist/templates/recipes/oidc-bff-session/index.ts.hbs +3 -0
  157. package/dist/templates/recipes/oidc-bff-session/store.integration.test.ts.hbs +480 -0
  158. package/dist/templates/recipes/oidc-bff-session/store.test.ts.hbs +87 -0
  159. package/dist/templates/recipes/oidc-bff-session/store.ts.hbs +549 -0
  160. package/dist/templates/recipes/oidc-bff-session/valkey.test.ts.hbs +158 -0
  161. package/dist/templates/recipes/oidc-bff-session/valkey.ts.hbs +148 -0
  162. package/dist/templates/recipes/oidc-resource-server/README.md.hbs +74 -0
  163. package/dist/templates/recipes/oidc-resource-server/index.ts.hbs +2 -0
  164. package/dist/templates/recipes/oidc-resource-server/module.ts.hbs +51 -0
  165. package/dist/templates/recipes/oidc-resource-server/verifier.spec.ts.hbs +186 -0
  166. package/dist/templates/recipes/oidc-resource-server/verifier.ts.hbs +440 -0
  167. package/dist/templates/recipes/platform-parc-bound-authorization/README.md.hbs +92 -0
  168. package/dist/templates/recipes/platform-parc-bound-authorization/client.ts.hbs +142 -0
  169. package/dist/templates/recipes/platform-service-access-request-context/docs.md.hbs +61 -0
  170. package/dist/templates/recipes/platform-service-access-request-context/env.example.hbs +7 -0
  171. package/dist/templates/recipes/platform-service-access-request-context/index.ts.hbs +7 -0
  172. package/dist/templates/recipes/platform-service-access-request-context/request-context-headers.ts.hbs +61 -0
  173. package/dist/templates/recipes/platform-service-access-request-context/request-context-introspection.parser.ts.hbs +132 -0
  174. package/dist/templates/recipes/platform-service-access-request-context/request-context-introspection.types.ts.hbs +40 -0
  175. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.client.ts.hbs +45 -0
  176. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.config.ts.hbs +142 -0
  177. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.guard.ts.hbs +77 -0
  178. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.module.ts.hbs +17 -0
  179. package/dist/templates/repository/repository.hbs +42 -4
  180. package/dist/templates/resolver/graphql-input.hbs +23 -6
  181. package/dist/templates/resolver/resolver.hbs +4 -0
  182. package/dist/templates/service/domain-service.hbs +2 -2
  183. package/dist/templates/test/controller.spec.hbs +5 -1
  184. package/dist/templates/test/prisma-repository.spec.hbs +192 -0
  185. package/dist/templates/test/repository.spec.hbs +40 -1
  186. package/dist/templates/test/usecase.spec.hbs +23 -4
  187. package/dist/templates/usecase/application-usecase.hbs +17 -0
  188. package/dist/templates/usecase/create-usecase.hbs +34 -3
  189. package/dist/templates/usecase/update-usecase.hbs +15 -1
  190. package/dist/utils/config.utils.d.ts +2 -0
  191. package/dist/utils/config.utils.js +14 -2
  192. package/dist/utils/config.utils.js.map +1 -1
  193. package/dist/utils/dependency.utils.d.ts +16 -2
  194. package/dist/utils/dependency.utils.js +100 -12
  195. package/dist/utils/dependency.utils.js.map +1 -1
  196. package/dist/utils/field.utils.d.ts +6 -0
  197. package/dist/utils/field.utils.js +50 -8
  198. package/dist/utils/field.utils.js.map +1 -1
  199. package/dist/utils/field.utils.spec.d.ts +1 -0
  200. package/dist/utils/field.utils.spec.js +38 -0
  201. package/dist/utils/field.utils.spec.js.map +1 -0
  202. package/dist/utils/file.utils.d.ts +23 -1
  203. package/dist/utils/file.utils.js +37 -1
  204. package/dist/utils/file.utils.js.map +1 -1
  205. package/dist/utils/naming.utils.js +5 -4
  206. package/dist/utils/naming.utils.js.map +1 -1
  207. package/dist/utils/static-recipe.utils.d.ts +4 -0
  208. package/dist/utils/static-recipe.utils.js +148 -0
  209. package/dist/utils/static-recipe.utils.js.map +1 -0
  210. package/package.json +12 -5
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.generateController = generateController;
40
+ const path = __importStar(require("path"));
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const file_utils_1 = require("../utils/file.utils");
43
+ const naming_utils_1 = require("../utils/naming.utils");
44
+ async function generateController(controllerName, options) {
45
+ if (!options.module) {
46
+ throw new Error('Module name is required. Use -m or --module option.');
47
+ }
48
+ const dryRun = !!options.dryRun;
49
+ console.log(chalk_1.default.blue(`Generating application controller: ${controllerName}`));
50
+ const basePath = options.path || process.cwd();
51
+ const modulePath = (0, file_utils_1.getModulePath)(basePath, options.module);
52
+ const templateData = await (0, file_utils_1.prepareConfiguredTemplateData)(controllerName, options.module, {
53
+ basePath,
54
+ orm: options.orm,
55
+ });
56
+ const outputPath = path.join(modulePath, 'application/controllers', `${(0, naming_utils_1.toKebabCase)(controllerName)}.controller.ts`);
57
+ await (0, file_utils_1.generateFromTemplate)(path.join(__dirname, '../templates/controller/application-controller.hbs'), outputPath, templateData, dryRun);
58
+ await (0, file_utils_1.updateBarrelFile)(path.join(modulePath, 'application/controllers/index.ts'), {
59
+ exports: [`export * from './${(0, naming_utils_1.toKebabCase)(controllerName)}.controller';`],
60
+ imports: [
61
+ `import { ${(0, naming_utils_1.toPascalCase)(controllerName)}Controller } from './${(0, naming_utils_1.toKebabCase)(controllerName)}.controller';`,
62
+ ],
63
+ arrayName: 'Controllers',
64
+ arrayItems: [`${(0, naming_utils_1.toPascalCase)(controllerName)}Controller`],
65
+ dryRun,
66
+ });
67
+ console.log(chalk_1.default.green(dryRun
68
+ ? `Application controller ${controllerName} preview complete.`
69
+ : `✅ Application controller ${controllerName} generated successfully!`));
70
+ }
71
+ //# sourceMappingURL=generate-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-controller.js","sourceRoot":"","sources":["../../src/commands/generate-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gDA2CC;AArDD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAK6B;AAC7B,wDAAkE;AAE3D,KAAK,UAAU,kBAAkB,CAAC,cAAsB,EAAE,OAAY;IAC3E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,cAAc,EAAE,CAAC,CAAC,CAAC;IAEhF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,MAAM,IAAA,0CAA6B,EAAC,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE;QACvF,QAAQ;QACR,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,yBAAyB,EACzB,GAAG,IAAA,0BAAW,EAAC,cAAc,CAAC,gBAAgB,CAC/C,CAAC;IAEF,MAAM,IAAA,iCAAoB,EACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oDAAoD,CAAC,EAC1E,UAAU,EACV,YAAY,EACZ,MAAM,CACP,CAAC;IACF,MAAM,IAAA,6BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kCAAkC,CAAC,EAAE;QAChF,OAAO,EAAE,CAAC,oBAAoB,IAAA,0BAAW,EAAC,cAAc,CAAC,eAAe,CAAC;QACzE,OAAO,EAAE;YACP,YAAY,IAAA,2BAAY,EAAC,cAAc,CAAC,wBAAwB,IAAA,0BAAW,EAAC,cAAc,CAAC,eAAe;SAC3G;QACD,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,CAAC,GAAG,IAAA,2BAAY,EAAC,cAAc,CAAC,YAAY,CAAC;QACzD,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,MAAM;QACJ,CAAC,CAAC,0BAA0B,cAAc,oBAAoB;QAC9D,CAAC,CAAC,4BAA4B,cAAc,0BAA0B,CACzE,CACF,CAAC;AACJ,CAAC"}
@@ -11,4 +11,4 @@ export declare function generateDomainService(name: string, basePath: string, op
11
11
  /**
12
12
  * Setup domain service infrastructure
13
13
  */
14
- export declare function setupDomainServiceInfrastructure(basePath: string, options?: DomainServiceOptions): Promise<void>;
14
+ export declare function setupDomainServiceInfrastructure(basePath: string, _options?: DomainServiceOptions): Promise<void>;
@@ -45,10 +45,12 @@ exports.setupDomainServiceInfrastructure = setupDomainServiceInfrastructure;
45
45
  const fs = __importStar(require("fs"));
46
46
  const path = __importStar(require("path"));
47
47
  const chalk_1 = __importDefault(require("chalk"));
48
+ const file_utils_1 = require("../utils/file.utils");
48
49
  async function generateDomainService(name, basePath, options = {}) {
49
50
  console.log(chalk_1.default.bold.blue('\n🔧 Generating Domain Service\n'));
50
51
  const moduleName = options.module || 'shared';
51
- const servicePath = path.join(basePath, 'src', moduleName, 'domain', 'services');
52
+ const modulePath = (0, file_utils_1.getModulePath)(basePath, moduleName);
53
+ const servicePath = path.join(modulePath, 'application', 'domain', 'services');
52
54
  if (!fs.existsSync(servicePath)) {
53
55
  fs.mkdirSync(servicePath, { recursive: true });
54
56
  }
@@ -532,7 +534,7 @@ export function policy(): PolicyBuilder {
532
534
  /**
533
535
  * Setup domain service infrastructure
534
536
  */
535
- async function setupDomainServiceInfrastructure(basePath, options = {}) {
537
+ async function setupDomainServiceInfrastructure(basePath, _options = {}) {
536
538
  console.log(chalk_1.default.bold.blue('\n🔧 Setting up Domain Service Infrastructure\n'));
537
539
  const sharedPath = path.join(basePath, 'src/shared/domain/services');
538
540
  if (!fs.existsSync(sharedPath)) {
@@ -790,7 +792,7 @@ function toKebabCase(str) {
790
792
  }
791
793
  function toPascalCase(str) {
792
794
  return str
793
- .replace(/[-_\s]+(.)?/g, (_, c) => c ? c.toUpperCase() : '')
794
- .replace(/^(.)/, c => c.toUpperCase());
795
+ .replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))
796
+ .replace(/^(.)/, (c) => c.toUpperCase());
795
797
  }
796
798
  //# sourceMappingURL=generate-domain-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-domain-service.js","sourceRoot":"","sources":["../../src/commands/generate-domain-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-domain-service.js","sourceRoot":"","sources":["../../src/commands/generate-domain-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const DTO_KINDS: readonly ["create", "update", "response", "filter", "filter-query", "pagination", "paginated-response"];
2
+ export type DtoKind = (typeof DTO_KINDS)[number];
3
+ export declare function resolveDtoKind(kind?: string): DtoKind;
4
+ export declare function generateDto(dtoName: string, options: any): Promise<void>;
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.DTO_KINDS = void 0;
40
+ exports.resolveDtoKind = resolveDtoKind;
41
+ exports.generateDto = generateDto;
42
+ const path = __importStar(require("path"));
43
+ const chalk_1 = __importDefault(require("chalk"));
44
+ const file_utils_1 = require("../utils/file.utils");
45
+ const naming_utils_1 = require("../utils/naming.utils");
46
+ exports.DTO_KINDS = [
47
+ 'create',
48
+ 'update',
49
+ 'response',
50
+ 'filter',
51
+ 'filter-query',
52
+ 'pagination',
53
+ 'paginated-response',
54
+ ];
55
+ const REQUEST_KINDS = ['create', 'update', 'filter', 'filter-query', 'pagination'];
56
+ const FILTER_QUERY_RESERVED_FIELDS = new Set([
57
+ 'isActive',
58
+ 'search',
59
+ 'searchFields',
60
+ 'createdAtFrom',
61
+ 'createdAtTo',
62
+ 'page',
63
+ 'limit',
64
+ 'sortBy',
65
+ 'sortOrder',
66
+ 'skip',
67
+ 'take',
68
+ ]);
69
+ const DTO_KIND_CONFIG = {
70
+ create: {
71
+ template: 'create-dto.hbs',
72
+ subdir: 'requests',
73
+ fileName: (entityKebab) => `create-${entityKebab}.dto.ts`,
74
+ exportPath: (entityKebab) => `./create-${entityKebab}.dto`,
75
+ },
76
+ update: {
77
+ template: 'update-dto.hbs',
78
+ subdir: 'requests',
79
+ fileName: (entityKebab) => `update-${entityKebab}.dto.ts`,
80
+ exportPath: (entityKebab) => `./update-${entityKebab}.dto`,
81
+ },
82
+ response: {
83
+ template: 'response-dto.hbs',
84
+ subdir: 'responses',
85
+ fileName: (entityKebab) => `${entityKebab}.response.dto.ts`,
86
+ exportPath: (entityKebab) => `./${entityKebab}.response.dto`,
87
+ },
88
+ filter: {
89
+ template: 'filter-dto.hbs',
90
+ subdir: 'requests',
91
+ fileName: (entityKebab) => `${entityKebab}-filter.dto.ts`,
92
+ exportPath: (entityKebab) => `./${entityKebab}-filter.dto`,
93
+ },
94
+ 'filter-query': {
95
+ template: 'filter-query.dto.hbs',
96
+ subdir: 'requests',
97
+ fileName: (entityKebab) => `${entityKebab}-query.dto.ts`,
98
+ exportPath: (entityKebab) => `./${entityKebab}-query.dto`,
99
+ },
100
+ pagination: {
101
+ template: 'pagination-query.dto.hbs',
102
+ subdir: 'requests',
103
+ fileName: () => 'pagination-query.dto.ts',
104
+ exportPath: () => './pagination-query.dto',
105
+ },
106
+ 'paginated-response': {
107
+ template: 'paginated-response.dto.hbs',
108
+ subdir: 'responses',
109
+ fileName: () => 'paginated-response.dto.ts',
110
+ exportPath: () => './paginated-response.dto',
111
+ },
112
+ };
113
+ function resolveDtoKind(kind) {
114
+ const normalized = (kind || 'create').toLowerCase();
115
+ if (!exports.DTO_KINDS.includes(normalized)) {
116
+ throw new Error(`Unknown DTO kind: ${kind}. Allowed kinds: ${exports.DTO_KINDS.join(', ')}`);
117
+ }
118
+ return normalized;
119
+ }
120
+ function normalizeDtoName(dtoName, kind) {
121
+ if (kind !== 'filter-query') {
122
+ return dtoName;
123
+ }
124
+ const normalized = dtoName.replace(/(?:[-_\s]?filter)?[-_\s]?query$/i, '');
125
+ if (!normalized) {
126
+ throw new Error('Filter query DTO name must include an entity name.');
127
+ }
128
+ return normalized;
129
+ }
130
+ async function generateDto(dtoName, options) {
131
+ if (!options.module) {
132
+ throw new Error('Module name is required. Use -m or --module option.');
133
+ }
134
+ const kind = resolveDtoKind(options.kind);
135
+ const dryRun = !!options.dryRun;
136
+ const entityName = normalizeDtoName(dtoName, kind);
137
+ const entityKebab = (0, naming_utils_1.toKebabCase)(entityName);
138
+ const config = DTO_KIND_CONFIG[kind];
139
+ console.log(chalk_1.default.blue(`Generating ${kind} DTO: ${dtoName}`));
140
+ const basePath = options.path || process.cwd();
141
+ const modulePath = (0, file_utils_1.getModulePath)(basePath, options.module);
142
+ const templateData = await (0, file_utils_1.prepareConfiguredTemplateData)(entityName, options.module, {
143
+ basePath,
144
+ fieldsString: options.fields,
145
+ orm: options.orm,
146
+ });
147
+ if (kind === 'filter-query') {
148
+ templateData.fields = (templateData.fields ?? []).filter((field) => !FILTER_QUERY_RESERVED_FIELDS.has(field.camelCase));
149
+ templateData.hasFields = templateData.fields.length > 0;
150
+ }
151
+ const outputPath = path.join(modulePath, 'application/dto', config.subdir, config.fileName(entityKebab));
152
+ await (0, file_utils_1.generateFromTemplate)(path.join(__dirname, '../templates/dto', config.template), outputPath, templateData, dryRun);
153
+ const barrelPath = path.join(modulePath, 'application/dto', REQUEST_KINDS.includes(kind) ? 'requests/index.ts' : 'responses/index.ts');
154
+ await (0, file_utils_1.updateBarrelFile)(barrelPath, {
155
+ exports: [`export * from '${config.exportPath(entityKebab)}';`],
156
+ dryRun,
157
+ });
158
+ console.log(chalk_1.default.green(dryRun
159
+ ? `${kind} DTO ${dtoName} preview complete.`
160
+ : `✅ ${kind} DTO ${dtoName} generated successfully!`));
161
+ }
162
+ //# sourceMappingURL=generate-dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-dto.js","sourceRoot":"","sources":["../../src/commands/generate-dto.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,13 @@ async function generateEntity(entityName, options) {
49
49
  const basePath = options.path || process.cwd();
50
50
  const modulePath = (0, file_utils_1.getModulePath)(basePath, options.module);
51
51
  const fieldsString = options.fields || '';
52
- const templateData = (0, file_utils_1.prepareTemplateData)(entityName, options.module, fieldsString);
52
+ const templateData = await (0, file_utils_1.prepareConfiguredTemplateData)(entityName, options.module, {
53
+ basePath,
54
+ fieldsString,
55
+ orm: options.orm,
56
+ features: options.delete === false ? { delete: false } : undefined,
57
+ });
58
+ const orm = templateData.orm;
53
59
  const dryRun = !!options.dryRun;
54
60
  // Generate domain entity
55
61
  const entityTemplatePath = path.join(__dirname, '../templates/entity/entity.hbs');
@@ -61,7 +67,6 @@ async function generateEntity(entityName, options) {
61
67
  await (0, file_utils_1.generateFromTemplate)(entityTemplatePath, entityOutputPath, templateData, dryRun);
62
68
  console.log(chalk_1.default.green(` ✓ Domain entity`));
63
69
  }
64
- const orm = options.orm || 'typeorm';
65
70
  const isPrisma = orm === 'prisma';
66
71
  // Generate ORM entity if not skipped (TypeORM only - Prisma uses schema.prisma)
67
72
  if (!options.skipOrm && !isPrisma) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-entity.js","sourceRoot":"","sources":["../../src/commands/generate-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-entity.js","sourceRoot":"","sources":["../../src/commands/generate-entity.ts"],"names":[],"mappings":"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"}
@@ -45,14 +45,20 @@ async function generateEvent(eventName, options) {
45
45
  if (!options.module) {
46
46
  throw new Error('Module name is required. Use -m option to specify the module.');
47
47
  }
48
+ const dryRun = !!options.dryRun;
48
49
  console.log(chalk_1.default.blue(`Generating domain event: ${eventName}`));
49
50
  const basePath = options.path || process.cwd();
50
51
  const modulePath = (0, file_utils_1.getModulePath)(basePath, options.module);
51
52
  // Generate domain event
52
- const templateData = (0, file_utils_1.prepareTemplateData)(eventName, options.module);
53
+ const templateData = await (0, file_utils_1.prepareConfiguredTemplateData)(eventName, options.module, {
54
+ basePath,
55
+ orm: options.orm,
56
+ });
53
57
  const templatePath = path.join(__dirname, '../templates/event/domain-event.hbs');
54
- const outputPath = path.join(modulePath, 'domain/events', `${(0, naming_utils_1.toKebabCase)(eventName)}.event.ts`);
55
- await (0, file_utils_1.generateFromTemplate)(templatePath, outputPath, templateData);
56
- console.log(chalk_1.default.green(`✅ Domain event ${eventName} generated successfully!`));
58
+ const outputPath = path.join(modulePath, 'application/domain/events', `${(0, naming_utils_1.toKebabCase)(eventName)}.event.ts`);
59
+ await (0, file_utils_1.generateFromTemplate)(templatePath, outputPath, templateData, dryRun);
60
+ console.log(chalk_1.default.green(dryRun
61
+ ? `Domain event ${eventName} preview complete.`
62
+ : `✅ Domain event ${eventName} generated successfully!`));
57
63
  }
58
64
  //# sourceMappingURL=generate-event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-event.js","sourceRoot":"","sources":["../../src/commands/generate-event.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAsBC;AA3BD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAA+F;AAC/F,wDAAoD;AAE7C,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAAY;IACjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAA,gCAAmB,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,eAAe,EACf,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,WAAW,CACrC,CAAC;IAEF,MAAM,IAAA,iCAAoB,EAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,SAAS,0BAA0B,CAAC,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"generate-event.js","sourceRoot":"","sources":["../../src/commands/generate-event.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,sCAgCC;AAzCD,2CAA6B;AAC7B,kDAA0B;AAC1B,oDAI6B;AAC7B,wDAAoD;AAE7C,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAAY;IACjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,wBAAwB;IACxB,MAAM,YAAY,GAAG,MAAM,IAAA,0CAA6B,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE;QAClF,QAAQ;QACR,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,UAAU,EACV,2BAA2B,EAC3B,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,WAAW,CACrC,CAAC;IAEF,MAAM,IAAA,iCAAoB,EAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAE3E,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,MAAM;QACJ,CAAC,CAAC,gBAAgB,SAAS,oBAAoB;QAC/C,CAAC,CAAC,kBAAkB,SAAS,0BAA0B,CAC1D,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface MigrationDeploymentOptions {
2
+ path?: string;
3
+ appName?: string;
4
+ image?: string;
5
+ databaseSecret?: string;
6
+ databaseUrlKey?: string;
7
+ configMap?: string;
8
+ databaseSslKey?: string;
9
+ databaseSslCaSecret?: string;
10
+ databaseSslCaKey?: string;
11
+ databaseSslInsecureSkipVerify?: boolean;
12
+ imagePullSecret?: string;
13
+ dryRun?: boolean;
14
+ }
15
+ export declare function generateMigrationDeployment(options: MigrationDeploymentOptions): Promise<void>;