nestjs-ddd-cli 3.2.1 → 3.3.0

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 (214) 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 +238 -176
  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 +44 -35
  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 +41 -31
  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 +282 -91
  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 +12 -0
  70. package/dist/commands/recipes/index.js +12 -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.d.ts +1 -0
  76. package/dist/commands/recipes/joi-env.recipe.js +301 -0
  77. package/dist/commands/recipes/joi-env.recipe.js.map +1 -0
  78. package/dist/commands/recipes/kafka-consumer.recipe.d.ts +1 -0
  79. package/dist/commands/recipes/kafka-consumer.recipe.js +65 -0
  80. package/dist/commands/recipes/kafka-consumer.recipe.js.map +1 -0
  81. package/dist/commands/recipes/oauth2-client-credentials.recipe.d.ts +1 -0
  82. package/dist/commands/recipes/oauth2-client-credentials.recipe.js +60 -0
  83. package/dist/commands/recipes/oauth2-client-credentials.recipe.js.map +1 -0
  84. package/dist/commands/recipes/oauth2-token-introspection.recipe.d.ts +1 -0
  85. package/dist/commands/recipes/oauth2-token-introspection.recipe.js +67 -0
  86. package/dist/commands/recipes/oauth2-token-introspection.recipe.js.map +1 -0
  87. package/dist/commands/recipes/oidc-bff-session.recipe.d.ts +1 -0
  88. package/dist/commands/recipes/oidc-bff-session.recipe.js +57 -0
  89. package/dist/commands/recipes/oidc-bff-session.recipe.js.map +1 -0
  90. package/dist/commands/recipes/oidc-dashboard.recipe.d.ts +1 -0
  91. package/dist/commands/recipes/oidc-dashboard.recipe.js +463 -0
  92. package/dist/commands/recipes/oidc-dashboard.recipe.js.map +1 -0
  93. package/dist/commands/recipes/oidc-resource-server.recipe.d.ts +1 -0
  94. package/dist/commands/recipes/oidc-resource-server.recipe.js +85 -0
  95. package/dist/commands/recipes/oidc-resource-server.recipe.js.map +1 -0
  96. package/dist/commands/recipes/platform-context.recipe.d.ts +1 -0
  97. package/dist/commands/recipes/platform-context.recipe.js +229 -0
  98. package/dist/commands/recipes/platform-context.recipe.js.map +1 -0
  99. package/dist/commands/recipes/platform-parc-authorization.recipe.d.ts +1 -0
  100. package/dist/commands/recipes/platform-parc-authorization.recipe.js +339 -0
  101. package/dist/commands/recipes/platform-parc-authorization.recipe.js.map +1 -0
  102. package/dist/commands/recipes/platform-parc-bound-authorization.recipe.d.ts +1 -0
  103. package/dist/commands/recipes/platform-parc-bound-authorization.recipe.js +56 -0
  104. package/dist/commands/recipes/platform-parc-bound-authorization.recipe.js.map +1 -0
  105. package/dist/commands/recipes/platform-service-access-request-context.recipe.d.ts +1 -0
  106. package/dist/commands/recipes/platform-service-access-request-context.recipe.js +103 -0
  107. package/dist/commands/recipes/platform-service-access-request-context.recipe.js.map +1 -0
  108. package/dist/commands/recipes/platform-service-runtime.recipe.d.ts +1 -0
  109. package/dist/commands/recipes/platform-service-runtime.recipe.js +415 -0
  110. package/dist/commands/recipes/platform-service-runtime.recipe.js.map +1 -0
  111. package/dist/index.js +82 -11
  112. package/dist/index.js.map +1 -1
  113. package/dist/templates/ai-context/CLAUDE.md.hbs +54 -3
  114. package/dist/templates/ai-context/conventions.md.hbs +20 -8
  115. package/dist/templates/command/create-command.hbs +8 -3
  116. package/dist/templates/command/delete-command.hbs +1 -1
  117. package/dist/templates/command/update-command.hbs +1 -1
  118. package/dist/templates/controller/application-controller.hbs +7 -0
  119. package/dist/templates/controller/controller.hbs +6 -0
  120. package/dist/templates/dto/create-dto.hbs +17 -5
  121. package/dist/templates/dto/filter-dto.hbs +1 -1
  122. package/dist/templates/dto/response-dto.hbs +1 -1
  123. package/dist/templates/entity/entity.hbs +4 -0
  124. package/dist/templates/mapper/mapper.hbs +6 -2
  125. package/dist/templates/orm-entity/orm-entity.hbs +9 -1
  126. package/dist/templates/prisma/prisma-mapper.hbs +6 -0
  127. package/dist/templates/prisma/prisma-repository.hbs +57 -5
  128. package/dist/templates/prisma/prisma-schema.hbs +2 -0
  129. package/dist/templates/query/get-all.query.hbs +10 -2
  130. package/dist/templates/recipes/bounded-json-http/README.md.hbs +36 -0
  131. package/dist/templates/recipes/external-projection-worker/README.md.hbs +157 -0
  132. package/dist/templates/recipes/external-projection-worker/canonical-json.ts.hbs +123 -0
  133. package/dist/templates/recipes/external-projection-worker/enqueuer.ts.hbs +167 -0
  134. package/dist/templates/recipes/external-projection-worker/index.ts.hbs +6 -0
  135. package/dist/templates/recipes/external-projection-worker/migration.ts.hbs +88 -0
  136. package/dist/templates/recipes/external-projection-worker/module.ts.hbs +36 -0
  137. package/dist/templates/recipes/external-projection-worker/store.ts.hbs +354 -0
  138. package/dist/templates/recipes/external-projection-worker/types.ts.hbs +134 -0
  139. package/dist/templates/recipes/external-projection-worker/worker.ts.hbs +296 -0
  140. package/dist/templates/recipes/kafka-consumer/README.md.hbs +50 -0
  141. package/dist/templates/recipes/kafka-consumer/kafka-consumer.ts.hbs +135 -0
  142. package/dist/templates/recipes/kafka-consumer/migration.ts.hbs +17 -0
  143. package/dist/templates/recipes/oauth2-client-credentials/README.md.hbs +40 -0
  144. package/dist/templates/recipes/oauth2-client-credentials/client.spec.ts.hbs +234 -0
  145. package/dist/templates/recipes/oauth2-client-credentials/client.ts.hbs +210 -0
  146. package/dist/templates/recipes/oauth2-client-credentials/index.ts.hbs +2 -0
  147. package/dist/templates/recipes/oauth2-client-credentials/module.ts.hbs +58 -0
  148. package/dist/templates/recipes/oauth2-token-introspection/README.md.hbs +158 -0
  149. package/dist/templates/recipes/oauth2-token-introspection/client.spec.ts.hbs +350 -0
  150. package/dist/templates/recipes/oauth2-token-introspection/client.ts.hbs +241 -0
  151. package/dist/templates/recipes/oauth2-token-introspection/http-client.spec.ts.hbs +411 -0
  152. package/dist/templates/recipes/oauth2-token-introspection/http-client.ts.hbs +343 -0
  153. package/dist/templates/recipes/oauth2-token-introspection/index.ts.hbs +3 -0
  154. package/dist/templates/recipes/oauth2-token-introspection/module.ts.hbs +58 -0
  155. package/dist/templates/recipes/oidc-bff-session/README.md.hbs +96 -0
  156. package/dist/templates/recipes/oidc-bff-session/client.test.ts.hbs +663 -0
  157. package/dist/templates/recipes/oidc-bff-session/client.ts.hbs +635 -0
  158. package/dist/templates/recipes/oidc-bff-session/index.ts.hbs +3 -0
  159. package/dist/templates/recipes/oidc-bff-session/store.integration.test.ts.hbs +480 -0
  160. package/dist/templates/recipes/oidc-bff-session/store.test.ts.hbs +87 -0
  161. package/dist/templates/recipes/oidc-bff-session/store.ts.hbs +549 -0
  162. package/dist/templates/recipes/oidc-bff-session/valkey.test.ts.hbs +158 -0
  163. package/dist/templates/recipes/oidc-bff-session/valkey.ts.hbs +148 -0
  164. package/dist/templates/recipes/oidc-resource-server/README.md.hbs +74 -0
  165. package/dist/templates/recipes/oidc-resource-server/index.ts.hbs +2 -0
  166. package/dist/templates/recipes/oidc-resource-server/module.ts.hbs +51 -0
  167. package/dist/templates/recipes/oidc-resource-server/verifier.spec.ts.hbs +186 -0
  168. package/dist/templates/recipes/oidc-resource-server/verifier.ts.hbs +440 -0
  169. package/dist/templates/recipes/platform-parc-bound-authorization/README.md.hbs +92 -0
  170. package/dist/templates/recipes/platform-parc-bound-authorization/client.ts.hbs +142 -0
  171. package/dist/templates/recipes/platform-service-access-request-context/docs.md.hbs +61 -0
  172. package/dist/templates/recipes/platform-service-access-request-context/env.example.hbs +7 -0
  173. package/dist/templates/recipes/platform-service-access-request-context/index.ts.hbs +7 -0
  174. package/dist/templates/recipes/platform-service-access-request-context/request-context-headers.ts.hbs +61 -0
  175. package/dist/templates/recipes/platform-service-access-request-context/request-context-introspection.parser.ts.hbs +132 -0
  176. package/dist/templates/recipes/platform-service-access-request-context/request-context-introspection.types.ts.hbs +40 -0
  177. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.client.ts.hbs +45 -0
  178. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.config.ts.hbs +142 -0
  179. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.guard.ts.hbs +77 -0
  180. package/dist/templates/recipes/platform-service-access-request-context/service-access-request-context.module.ts.hbs +17 -0
  181. package/dist/templates/repository/repository.hbs +43 -5
  182. package/dist/templates/resolver/graphql-input.hbs +23 -6
  183. package/dist/templates/resolver/resolver.hbs +4 -0
  184. package/dist/templates/service/domain-service.hbs +2 -2
  185. package/dist/templates/test/controller.spec.hbs +5 -1
  186. package/dist/templates/test/prisma-repository.spec.hbs +192 -0
  187. package/dist/templates/test/repository.spec.hbs +41 -2
  188. package/dist/templates/test/usecase.spec.hbs +24 -5
  189. package/dist/templates/usecase/application-usecase.hbs +17 -0
  190. package/dist/templates/usecase/create-usecase.hbs +34 -3
  191. package/dist/templates/usecase/update-usecase.hbs +15 -1
  192. package/dist/utils/config.utils.d.ts +2 -0
  193. package/dist/utils/config.utils.js +14 -2
  194. package/dist/utils/config.utils.js.map +1 -1
  195. package/dist/utils/dependency.utils.d.ts +18 -2
  196. package/dist/utils/dependency.utils.js +144 -15
  197. package/dist/utils/dependency.utils.js.map +1 -1
  198. package/dist/utils/field.utils.d.ts +6 -0
  199. package/dist/utils/field.utils.js +78 -24
  200. package/dist/utils/field.utils.js.map +1 -1
  201. package/dist/utils/field.utils.spec.d.ts +1 -0
  202. package/dist/utils/field.utils.spec.js +38 -0
  203. package/dist/utils/field.utils.spec.js.map +1 -0
  204. package/dist/utils/file.utils.d.ts +39 -3
  205. package/dist/utils/file.utils.js +150 -13
  206. package/dist/utils/file.utils.js.map +1 -1
  207. package/dist/utils/naming.utils.js +5 -4
  208. package/dist/utils/naming.utils.js.map +1 -1
  209. package/dist/utils/static-recipe.utils.d.ts +4 -0
  210. package/dist/utils/static-recipe.utils.js +148 -0
  211. package/dist/utils/static-recipe.utils.js.map +1 -0
  212. package/dist/utils/template-engine.utils.js +83 -68
  213. package/dist/utils/template-engine.utils.js.map +1 -1
  214. package/package.json +20 -11
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.applyRecipe = applyRecipe;
40
40
  exports.listRecipes = listRecipes;
41
- const path = __importStar(require("path"));
41
+ const path = __importStar(require("node:path"));
42
42
  const chalk_1 = __importDefault(require("chalk"));
43
43
  const file_utils_1 = require("../utils/file.utils");
44
44
  const dependency_utils_1 = require("../utils/dependency.utils");
@@ -50,14 +50,110 @@ const oauth2_recipe_1 = require("./recipes/oauth2.recipe");
50
50
  const message_queue_recipe_1 = require("./recipes/message-queue.recipe");
51
51
  const elasticsearch_recipe_1 = require("./recipes/elasticsearch.recipe");
52
52
  const event_sourcing_recipe_1 = require("./recipes/event-sourcing.recipe");
53
+ const joi_env_recipe_1 = require("./recipes/joi-env.recipe");
54
+ const business_reference_identifiers_recipe_1 = require("./recipes/business-reference-identifiers.recipe");
55
+ const event_backbone_recipe_1 = require("./recipes/event-backbone.recipe");
56
+ const kafka_consumer_recipe_1 = require("./recipes/kafka-consumer.recipe");
57
+ const platform_service_runtime_recipe_1 = require("./recipes/platform-service-runtime.recipe");
58
+ const platform_context_recipe_1 = require("./recipes/platform-context.recipe");
59
+ const platform_service_access_request_context_recipe_1 = require("./recipes/platform-service-access-request-context.recipe");
60
+ const platform_parc_bound_authorization_recipe_1 = require("./recipes/platform-parc-bound-authorization.recipe");
61
+ const platform_parc_authorization_recipe_1 = require("./recipes/platform-parc-authorization.recipe");
62
+ const banklink_connector_contract_recipe_1 = require("./recipes/banklink-connector-contract.recipe");
63
+ const oidc_dashboard_recipe_1 = require("./recipes/oidc-dashboard.recipe");
64
+ const oidc_resource_server_recipe_1 = require("./recipes/oidc-resource-server.recipe");
65
+ const oauth2_client_credentials_recipe_1 = require("./recipes/oauth2-client-credentials.recipe");
66
+ const oidc_bff_session_recipe_1 = require("./recipes/oidc-bff-session.recipe");
67
+ const oauth2_token_introspection_recipe_1 = require("./recipes/oauth2-token-introspection.recipe");
68
+ const external_projection_worker_recipe_1 = require("./recipes/external-projection-worker.recipe");
69
+ const jest_cjs_compat_recipe_1 = require("./recipes/jest-cjs-compat.recipe");
70
+ const bounded_json_http_recipe_1 = require("./recipes/bounded-json-http.recipe");
71
+ async function applyDryRunRecipe(recipeName, basePath, options) {
72
+ const handlers = {
73
+ 'external-projection-worker': () => (0, external_projection_worker_recipe_1.applyExternalProjectionWorkerRecipe)(basePath, {
74
+ dryRun: true,
75
+ migrationTimestamp: options.migrationTimestamp,
76
+ }),
77
+ 'oidc-resource-server': () => (0, oidc_resource_server_recipe_1.applyOidcResourceServerRecipe)(basePath, true),
78
+ 'oauth2-client-credentials': () => (0, oauth2_client_credentials_recipe_1.applyOAuth2ClientCredentialsRecipe)(basePath, true),
79
+ 'oidc-bff-session': () => (0, oidc_bff_session_recipe_1.applyOidcBffSessionRecipe)(basePath, true),
80
+ 'oauth2-token-introspection': () => (0, oauth2_token_introspection_recipe_1.applyOAuth2TokenIntrospectionRecipe)(basePath, true),
81
+ 'kafka-consumer': () => (0, kafka_consumer_recipe_1.applyKafkaConsumerRecipe)(basePath, true),
82
+ 'jest-cjs-compat': () => (0, jest_cjs_compat_recipe_1.applyJestCommonJsCompatibilityRecipe)(basePath, true),
83
+ 'platform-parc-bound-authorization': () => (0, platform_parc_bound_authorization_recipe_1.applyPlatformParcBoundAuthorizationRecipe)(basePath, true),
84
+ 'bounded-json-http': () => (0, bounded_json_http_recipe_1.applyBoundedJsonHttpRecipe)(basePath, true),
85
+ };
86
+ const handler = handlers[recipeName];
87
+ if (!handler) {
88
+ throw new Error('Dry-run is currently supported only by external-projection-worker, oidc-resource-server, oauth2-token-introspection, oauth2-client-credentials, oidc-bff-session, kafka-consumer, jest-cjs-compat, platform-parc-bound-authorization, and bounded-json-http');
89
+ }
90
+ await handler();
91
+ }
92
+ async function installRecipeDependencies(basePath, recipe) {
93
+ if (recipe.dependencies.length === 0)
94
+ return;
95
+ console.log(chalk_1.default.cyan(' Installing dependencies...'));
96
+ await (0, dependency_utils_1.installDependencies)(basePath, recipe.dependencies);
97
+ if (recipe.devDependencies.length > 0) {
98
+ await (0, dependency_utils_1.installDependencies)(basePath, recipe.devDependencies, true);
99
+ }
100
+ }
53
101
  const AVAILABLE_RECIPES = {
102
+ 'platform-parc-bound-authorization': {
103
+ name: 'PARC bound authorization',
104
+ description: 'Single-use lease authorization with exact owner scope and current PARC relationship checks',
105
+ dependencies: [],
106
+ devDependencies: [],
107
+ },
108
+ 'bounded-json-http': {
109
+ name: 'Bounded JSON HTTP transport',
110
+ description: 'Framework-independent fixed-origin transport without Nest dependencies or admission policy',
111
+ dependencies: [],
112
+ devDependencies: [],
113
+ },
114
+ 'jest-cjs-compat': {
115
+ name: 'NestJS Jest CommonJS compatibility',
116
+ description: 'Transform ESM-only Nest configuration through Jest without changing production TypeScript',
117
+ dependencies: [],
118
+ devDependencies: [],
119
+ },
120
+ 'oauth2-client-credentials': {
121
+ name: 'OAuth2 client credentials',
122
+ description: 'Bounded grant acquisition with single-flight cache and consumer-owned send policy',
123
+ dependencies: [],
124
+ devDependencies: [],
125
+ },
126
+ 'oidc-bff-session': {
127
+ name: 'Confidential OIDC BFF session',
128
+ description: 'Framework-independent verified OIDC, opaque Lua sessions and durable token retirement',
129
+ dependencies: [],
130
+ devDependencies: [],
131
+ },
132
+ 'oauth2-token-introspection': {
133
+ name: 'OAuth2 token introspection',
134
+ description: 'Bounded RFC7662 evidence transport with consumer-owned principal validation',
135
+ dependencies: [],
136
+ devDependencies: [],
137
+ },
138
+ 'oidc-resource-server': {
139
+ name: 'Dependency-free OIDC resource-server JWT verification',
140
+ description: 'Node crypto RS256 verification with explicit JWKS, audience and authorized-client policy',
141
+ dependencies: [],
142
+ devDependencies: [],
143
+ },
144
+ 'external-projection-worker': {
145
+ name: 'External Projection Worker',
146
+ description: 'PostgreSQL projection intents with atomic enqueue, canonical idempotency and fenced leases',
147
+ dependencies: ['@nestjs/common', 'typeorm', 'pg'],
148
+ devDependencies: [],
149
+ },
54
150
  'auth-jwt': {
55
151
  name: 'JWT Authentication',
56
152
  description: 'JWT-based authentication with guards and decorators',
57
153
  dependencies: ['@nestjs/jwt', '@nestjs/passport', 'passport', 'passport-jwt', 'bcrypt'],
58
154
  devDependencies: ['@types/passport-jwt', '@types/bcrypt'],
59
155
  },
60
- 'pagination': {
156
+ pagination: {
61
157
  name: 'Pagination Utilities',
62
158
  description: 'Shared pagination DTOs and utilities',
63
159
  dependencies: [],
@@ -75,7 +171,7 @@ const AVAILABLE_RECIPES = {
75
171
  dependencies: [],
76
172
  devDependencies: [],
77
173
  },
78
- 'caching': {
174
+ caching: {
79
175
  name: 'Redis Caching',
80
176
  description: 'Redis-based caching with decorators',
81
177
  dependencies: ['@nestjs/cache-manager', 'cache-manager', 'cache-manager-redis-store', 'redis'],
@@ -84,34 +180,55 @@ const AVAILABLE_RECIPES = {
84
180
  'file-upload': {
85
181
  name: 'File Upload',
86
182
  description: 'File upload service with local/S3 storage support',
87
- dependencies: ['@nestjs/platform-express', 'multer', '@aws-sdk/client-s3', '@aws-sdk/s3-request-presigner', 'uuid'],
183
+ dependencies: [
184
+ '@nestjs/platform-express',
185
+ 'multer',
186
+ '@aws-sdk/client-s3',
187
+ '@aws-sdk/s3-request-presigner',
188
+ 'uuid',
189
+ ],
88
190
  devDependencies: ['@types/multer', '@types/uuid'],
89
191
  },
90
- 'notifications': {
192
+ notifications: {
91
193
  name: 'Notifications',
92
194
  description: 'Multi-channel notification system (email, push, SMS)',
93
195
  dependencies: ['@nestjs/bull', 'bull', 'nodemailer', 'handlebars'],
94
196
  devDependencies: ['@types/nodemailer'],
95
197
  },
96
- 'webhooks': {
198
+ webhooks: {
97
199
  name: 'Webhooks',
98
200
  description: 'Webhook management with retry and signature verification',
99
201
  dependencies: ['axios', 'crypto'],
100
202
  devDependencies: [],
101
203
  },
102
- 'filtering': {
204
+ filtering: {
103
205
  name: 'Advanced Filtering',
104
206
  description: 'Query builder utilities with operators (eq, gt, lt, like, in, between)',
105
207
  dependencies: [],
106
208
  devDependencies: [],
107
209
  },
210
+ 'service-foundation': {
211
+ name: 'Service Foundation',
212
+ description: 'Standard platform service baseline: env validation, health, versioning, rate limiting, and filtering',
213
+ dependencies: [
214
+ '@nestjs/config',
215
+ 'joi',
216
+ '@nestjs/terminus',
217
+ 'pino',
218
+ 'pino-pretty',
219
+ 'nestjs-pino',
220
+ '@nestjs/throttler',
221
+ 'ioredis',
222
+ ],
223
+ devDependencies: [],
224
+ },
108
225
  'rate-limiting': {
109
226
  name: 'Rate Limiting',
110
227
  description: 'Throttling with decorators, Redis-based rate limiting, and IP tracking',
111
228
  dependencies: ['@nestjs/throttler', 'ioredis'],
112
229
  devDependencies: [],
113
230
  },
114
- 'health': {
231
+ health: {
115
232
  name: 'Health Checks & Monitoring',
116
233
  description: 'Health endpoints, structured logging, and monitoring utilities',
117
234
  dependencies: ['@nestjs/terminus', 'pino', 'pino-pretty', 'nestjs-pino'],
@@ -129,13 +246,13 @@ const AVAILABLE_RECIPES = {
129
246
  dependencies: ['@faker-js/faker'],
130
247
  devDependencies: [],
131
248
  },
132
- 'middleware': {
249
+ middleware: {
133
250
  name: 'Middleware, Guards & Interceptors',
134
251
  description: 'Common middleware, guards, and interceptors for NestJS applications',
135
252
  dependencies: [],
136
253
  devDependencies: [],
137
254
  },
138
- 'websocket': {
255
+ websocket: {
139
256
  name: 'WebSocket & Real-Time',
140
257
  description: 'Socket.IO gateway, rooms, presence tracking, and real-time events',
141
258
  dependencies: ['@nestjs/websockets', '@nestjs/platform-socket.io', 'socket.io'],
@@ -147,10 +264,15 @@ const AVAILABLE_RECIPES = {
147
264
  dependencies: [],
148
265
  devDependencies: [],
149
266
  },
150
- 'oauth2': {
267
+ oauth2: {
151
268
  name: 'OAuth2 & Social Login',
152
269
  description: 'OAuth2/OIDC with Google, GitHub, and enterprise SSO support',
153
- dependencies: ['@nestjs/passport', 'passport-google-oauth20', 'passport-github2', 'openid-client'],
270
+ dependencies: [
271
+ '@nestjs/passport',
272
+ 'passport-google-oauth20',
273
+ 'passport-github2',
274
+ 'openid-client',
275
+ ],
154
276
  devDependencies: ['@types/passport-google-oauth20', '@types/passport-github2'],
155
277
  },
156
278
  'message-queue': {
@@ -159,7 +281,7 @@ const AVAILABLE_RECIPES = {
159
281
  dependencies: ['@nestjs/microservices', 'amqplib', 'amqp-connection-manager'],
160
282
  devDependencies: ['@types/amqplib'],
161
283
  },
162
- 'elasticsearch': {
284
+ elasticsearch: {
163
285
  name: 'Elasticsearch Search',
164
286
  description: 'Full-text search with Elasticsearch, indexing, and autocomplete',
165
287
  dependencies: ['@nestjs/elasticsearch', '@elastic/elasticsearch'],
@@ -171,90 +293,142 @@ const AVAILABLE_RECIPES = {
171
293
  dependencies: ['@nestjs/cqrs'],
172
294
  devDependencies: [],
173
295
  },
296
+ 'kafka-consumer': {
297
+ name: 'Kafka Transactional Consumer',
298
+ description: 'Debezium-compatible Kafka consumer with atomic PostgreSQL receipts and handler hooks',
299
+ dependencies: ['kafkajs', 'typeorm', '@nestjs/common'],
300
+ devDependencies: [],
301
+ },
302
+ 'event-backbone': {
303
+ name: 'Event Backbone',
304
+ description: 'Postgres event store/outbox source of truth with opt-in Relay HTTP or Pulsar transport',
305
+ dependencies: [
306
+ '@nestjs/config',
307
+ '@nestjs/schedule',
308
+ '@nestjs/typeorm',
309
+ 'typeorm',
310
+ 'pg',
311
+ 'pulsar-client',
312
+ 'joi',
313
+ ],
314
+ devDependencies: [],
315
+ },
316
+ 'business-reference-identifiers': {
317
+ name: 'Business Reference Identifiers',
318
+ description: 'Human-readable sidecar references alongside canonical UUID/internal IDs',
319
+ dependencies: [],
320
+ devDependencies: [],
321
+ },
322
+ 'joi-env': {
323
+ name: 'Joi Environment Validation',
324
+ description: 'Joi-backed ConfigModule validation with platform bootstrap defaults',
325
+ dependencies: ['@nestjs/config', 'joi'],
326
+ devDependencies: [],
327
+ },
328
+ 'platform-service-runtime': {
329
+ name: 'Platform Service Runtime',
330
+ description: 'Service manifest, health contract, and authenticated idempotent Service Access registration',
331
+ dependencies: [],
332
+ devDependencies: [],
333
+ },
334
+ 'platform-context': {
335
+ name: 'Platform Request Context',
336
+ description: 'Trusted actor, business, application, machine, correlation, and authorization context',
337
+ dependencies: [],
338
+ devDependencies: [],
339
+ },
340
+ 'platform-service-access-request-context': {
341
+ name: 'Platform Service Access Request Context',
342
+ description: 'Service Access lease introspection and verified platform context before PARC',
343
+ dependencies: [],
344
+ devDependencies: [],
345
+ },
346
+ 'platform-parc-authorization': {
347
+ name: 'Platform PARC Authorization',
348
+ description: 'PARC capability decorator, orchestration guard, fail-closed client, and audit receipt',
349
+ dependencies: [],
350
+ devDependencies: [],
351
+ },
352
+ 'banklink-connector-contract': {
353
+ name: 'BankLink Connector Contract',
354
+ description: 'BankLink NestJS control-plane and Go sidecar connector boundary contract',
355
+ dependencies: [],
356
+ devDependencies: [],
357
+ },
358
+ 'oidc-dashboard': {
359
+ name: 'OIDC Dashboard SSO',
360
+ description: 'OIDC verification plus canonical platform principal resolution for internal dashboards',
361
+ dependencies: ['jose'],
362
+ devDependencies: ['@types/express'],
363
+ },
174
364
  };
175
365
  async function applyRecipe(recipeName, options) {
176
366
  const recipe = AVAILABLE_RECIPES[recipeName];
177
- if (!recipe) {
367
+ if (!Object.keys(AVAILABLE_RECIPES).includes(recipeName)) {
178
368
  console.log(chalk_1.default.red(`Unknown recipe: ${recipeName}`));
179
369
  console.log(chalk_1.default.yellow('\nAvailable recipes:'));
180
370
  Object.entries(AVAILABLE_RECIPES).forEach(([key, value]) => {
181
- console.log(chalk_1.default.cyan(` ${key.padEnd(15)} - ${value.description}`));
371
+ console.log(chalk_1.default.cyan(` ${key.padEnd(34)} - ${value.description}`));
182
372
  });
183
373
  return;
184
374
  }
185
375
  console.log(chalk_1.default.blue(`\n🧪 Applying recipe: ${recipe.name}`));
186
376
  const basePath = options.path || process.cwd();
187
- // Install dependencies if requested
188
- if (options.installDeps && recipe.dependencies.length > 0) {
189
- console.log(chalk_1.default.cyan(' Installing dependencies...'));
190
- await (0, dependency_utils_1.installDependencies)(basePath, recipe.dependencies);
191
- if (recipe.devDependencies.length > 0) {
192
- await (0, dependency_utils_1.installDependencies)(basePath, recipe.devDependencies, true);
193
- }
377
+ if (options.dryRun) {
378
+ await applyDryRunRecipe(recipeName, basePath, options);
379
+ return;
194
380
  }
195
- // Apply the specific recipe
196
- switch (recipeName) {
197
- case 'auth-jwt':
198
- await applyAuthJwtRecipe(basePath);
199
- break;
200
- case 'pagination':
201
- await applyPaginationRecipe(basePath);
202
- break;
203
- case 'soft-delete':
204
- await applySoftDeleteRecipe(basePath);
205
- break;
206
- case 'audit-log':
207
- await applyAuditLogRecipe(basePath);
208
- break;
209
- case 'caching':
210
- await applyCachingRecipe(basePath);
211
- break;
212
- case 'file-upload':
213
- await applyFileUploadRecipe(basePath);
214
- break;
215
- case 'notifications':
216
- await applyNotificationsRecipe(basePath);
217
- break;
218
- case 'webhooks':
219
- await applyWebhooksRecipe(basePath);
220
- break;
221
- case 'filtering':
222
- await applyFilteringRecipe(basePath);
223
- break;
224
- case 'rate-limiting':
225
- await applyRateLimitingRecipe(basePath);
226
- break;
227
- case 'health':
228
- await applyHealthRecipe(basePath);
229
- break;
230
- case 'api-versioning':
231
- await applyApiVersioningRecipe(basePath);
232
- break;
233
- case 'test-factories':
234
- await applyTestFactoriesRecipe(basePath);
235
- break;
236
- case 'middleware':
237
- await (0, middleware_recipe_1.applyMiddlewareRecipe)(basePath);
238
- break;
239
- case 'websocket':
240
- await (0, websocket_recipe_1.applyWebSocketRecipe)(basePath);
241
- break;
242
- case 'multi-tenancy':
243
- await (0, multi_tenancy_recipe_1.applyMultiTenancyRecipe)(basePath);
244
- break;
245
- case 'oauth2':
246
- await (0, oauth2_recipe_1.applyOAuth2Recipe)(basePath);
247
- break;
248
- case 'message-queue':
249
- await (0, message_queue_recipe_1.applyMessageQueueRecipe)(basePath);
250
- break;
251
- case 'elasticsearch':
252
- await (0, elasticsearch_recipe_1.applyElasticsearchRecipe)(basePath);
253
- break;
254
- case 'event-sourcing':
255
- await (0, event_sourcing_recipe_1.applyEventSourcingRecipe)(basePath);
256
- break;
381
+ const installAfterExternalPreflight = recipeName === 'external-projection-worker' && options.installDeps
382
+ ? () => installRecipeDependencies(basePath, recipe)
383
+ : undefined;
384
+ if (options.installDeps && !installAfterExternalPreflight) {
385
+ await installRecipeDependencies(basePath, recipe);
257
386
  }
387
+ const handlers = {
388
+ 'auth-jwt': applyAuthJwtRecipe,
389
+ pagination: applyPaginationRecipe,
390
+ 'soft-delete': applySoftDeleteRecipe,
391
+ 'audit-log': applyAuditLogRecipe,
392
+ caching: applyCachingRecipe,
393
+ 'file-upload': applyFileUploadRecipe,
394
+ notifications: applyNotificationsRecipe,
395
+ webhooks: applyWebhooksRecipe,
396
+ filtering: applyFilteringRecipe,
397
+ 'service-foundation': applyServiceFoundationRecipe,
398
+ 'rate-limiting': applyRateLimitingRecipe,
399
+ health: applyHealthRecipe,
400
+ 'api-versioning': applyApiVersioningRecipe,
401
+ 'test-factories': applyTestFactoriesRecipe,
402
+ middleware: middleware_recipe_1.applyMiddlewareRecipe,
403
+ websocket: websocket_recipe_1.applyWebSocketRecipe,
404
+ 'multi-tenancy': multi_tenancy_recipe_1.applyMultiTenancyRecipe,
405
+ oauth2: oauth2_recipe_1.applyOAuth2Recipe,
406
+ 'message-queue': message_queue_recipe_1.applyMessageQueueRecipe,
407
+ elasticsearch: elasticsearch_recipe_1.applyElasticsearchRecipe,
408
+ 'event-sourcing': event_sourcing_recipe_1.applyEventSourcingRecipe,
409
+ 'event-backbone': event_backbone_recipe_1.applyEventBackboneRecipe,
410
+ 'kafka-consumer': kafka_consumer_recipe_1.applyKafkaConsumerRecipe,
411
+ 'business-reference-identifiers': business_reference_identifiers_recipe_1.applyBusinessReferenceIdentifiersRecipe,
412
+ 'joi-env': joi_env_recipe_1.applyJoiEnvRecipe,
413
+ 'platform-service-runtime': platform_service_runtime_recipe_1.applyPlatformServiceRuntimeRecipe,
414
+ 'platform-context': platform_context_recipe_1.applyPlatformContextRecipe,
415
+ 'platform-service-access-request-context': platform_service_access_request_context_recipe_1.applyPlatformServiceAccessRequestContextRecipe,
416
+ 'platform-parc-authorization': platform_parc_authorization_recipe_1.applyPlatformParcAuthorizationRecipe,
417
+ 'platform-parc-bound-authorization': platform_parc_bound_authorization_recipe_1.applyPlatformParcBoundAuthorizationRecipe,
418
+ 'banklink-connector-contract': banklink_connector_contract_recipe_1.applyBanklinkConnectorContractRecipe,
419
+ 'oidc-dashboard': oidc_dashboard_recipe_1.applyOidcDashboardRecipe,
420
+ 'oidc-resource-server': oidc_resource_server_recipe_1.applyOidcResourceServerRecipe,
421
+ 'jest-cjs-compat': jest_cjs_compat_recipe_1.applyJestCommonJsCompatibilityRecipe,
422
+ 'oauth2-client-credentials': oauth2_client_credentials_recipe_1.applyOAuth2ClientCredentialsRecipe,
423
+ 'oauth2-token-introspection': oauth2_token_introspection_recipe_1.applyOAuth2TokenIntrospectionRecipe,
424
+ 'oidc-bff-session': oidc_bff_session_recipe_1.applyOidcBffSessionRecipe,
425
+ 'bounded-json-http': bounded_json_http_recipe_1.applyBoundedJsonHttpRecipe,
426
+ 'external-projection-worker': (target) => (0, external_projection_worker_recipe_1.applyExternalProjectionWorkerRecipe)(target, {
427
+ migrationTimestamp: options.migrationTimestamp,
428
+ beforeWrite: installAfterExternalPreflight,
429
+ }),
430
+ };
431
+ await handlers[recipeName](basePath);
258
432
  console.log(chalk_1.default.green(`\n✅ Recipe '${recipe.name}' applied successfully!`));
259
433
  if (recipe.dependencies.length > 0 && !options.installDeps) {
260
434
  console.log(chalk_1.default.yellow('\n📦 Required dependencies (run with --install-deps to auto-install):'));
@@ -264,6 +438,14 @@ async function applyRecipe(recipeName, options) {
264
438
  }
265
439
  }
266
440
  }
441
+ async function applyServiceFoundationRecipe(basePath) {
442
+ await (0, joi_env_recipe_1.applyJoiEnvRecipe)(basePath);
443
+ await applyHealthRecipe(basePath);
444
+ await applyApiVersioningRecipe(basePath);
445
+ await applyRateLimitingRecipe(basePath);
446
+ await applyFilteringRecipe(basePath);
447
+ console.log(chalk_1.default.green(' ✓ Service foundation composed from canonical recipes'));
448
+ }
267
449
  async function applyAuthJwtRecipe(basePath) {
268
450
  const sharedPath = path.join(basePath, 'src/shared');
269
451
  const authPath = path.join(sharedPath, 'auth');
@@ -3086,6 +3268,7 @@ export const loggerConfig: Params = {
3086
3268
  redact: {
3087
3269
  paths: [
3088
3270
  "req.headers.authorization",
3271
+ "req.headers['x-internal-api-key']",
3089
3272
  "req.headers.cookie",
3090
3273
  "res.headers['set-cookie']",
3091
3274
  "body.password",
@@ -3128,8 +3311,8 @@ export class LoggingModule {}
3128
3311
  // Request context
3129
3312
  const requestContextContent = `import { Injectable, NestMiddleware } from "@nestjs/common";
3130
3313
  import { Request, Response, NextFunction } from "express";
3131
- import { v4 as uuid } from "uuid";
3132
- import { AsyncLocalStorage } from "async_hooks";
3314
+ import { randomUUID } from "node:crypto";
3315
+ import { AsyncLocalStorage } from "node:async_hooks";
3133
3316
 
3134
3317
  export interface RequestContext {
3135
3318
  requestId: string;
@@ -3141,11 +3324,19 @@ export interface RequestContext {
3141
3324
 
3142
3325
  export const requestContextStorage = new AsyncLocalStorage<RequestContext>();
3143
3326
 
3327
+ interface AuthenticatedRequest extends Request {
3328
+ user?: { id?: unknown };
3329
+ }
3330
+
3144
3331
  @Injectable()
3145
3332
  export class RequestContextMiddleware implements NestMiddleware {
3146
3333
  use(req: Request, res: Response, next: NextFunction) {
3147
- const requestId = (req.headers["x-request-id"] as string) || uuid();
3148
- const userId = (req as any).user?.id;
3334
+ const requestId = (req.headers["x-request-id"] as string) || randomUUID();
3335
+ const candidateUserId = (req as AuthenticatedRequest).user?.id;
3336
+ const userId =
3337
+ typeof candidateUserId === "string" && candidateUserId.trim()
3338
+ ? candidateUserId
3339
+ : undefined;
3149
3340
 
3150
3341
  const context: RequestContext = {
3151
3342
  requestId,
@@ -3929,11 +4120,11 @@ export * from "./prisma-query-builder";
3929
4120
  console.log(chalk_1.default.green(' ✓ Prisma query builder utilities'));
3930
4121
  }
3931
4122
  function listRecipes() {
3932
- console.log(chalk_1.default.blue('\\n📚 Available Recipes:\\n'));
4123
+ console.log(chalk_1.default.blue('\n📚 Available Recipes:\n'));
3933
4124
  Object.entries(AVAILABLE_RECIPES).forEach(([key, value]) => {
3934
- console.log(chalk_1.default.cyan(` ${key.padEnd(15)}`), '-', value.description);
4125
+ console.log(chalk_1.default.cyan(` ${key.padEnd(34)}`), '-', value.description);
3935
4126
  if (value.dependencies.length > 0) {
3936
- console.log(chalk_1.default.gray(` Dependencies: ${value.dependencies.join(', ')}`));
4127
+ console.log(chalk_1.default.gray(` ${''.padEnd(34)} Dependencies: ${value.dependencies.join(', ')}`));
3937
4128
  }
3938
4129
  });
3939
4130
  console.log(chalk_1.default.yellow('\nUsage: ddd recipe <recipe-name> [--install-deps]'));
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/commands/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/commands/recipe.ts"],"names":[],"mappings":"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"}